efficient-storefront-blocks 0.87.0 → 0.89.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 +34 -0
- package/dist/chunks/{EditorPreviewCheckout-GD4IJ4WK.js → EditorPreviewCheckout-R7XG75DW.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-2UVCJZXS.js → SiteEditorProvider-YNUCDQ2D.js} +1 -1
- package/dist/chunks/chunk-BYBBZS7L.js +1 -0
- package/dist/chunks/{chunk-H4IHUSCU.js → chunk-E54FFOUS.js} +1 -1
- package/dist/chunks/chunk-G4Y7XXRV.js +1 -0
- package/dist/chunks/chunk-WRDUOJZO.js +382 -0
- package/dist/chunks/{fitment-data-5GBUMO2O.js → fitment-data-URBK335I.js} +1 -1
- package/dist/contract.js +14 -2
- package/dist/editor/components/CategorySource.d.ts +8 -1
- package/dist/editor/components/CategorySource.js +1 -1
- package/dist/editor/components/CollectionPicker.js +1 -1
- package/dist/editor/components/EditProductLink.js +1 -1
- package/dist/editor/components/FinishPicker.js +1 -1
- package/dist/editor/components/FormPicker.js +1 -1
- package/dist/editor/components/GalleryShowcaseSource.js +1 -1
- package/dist/editor/components/HeaderSettingsPanel.js +1 -1
- package/dist/editor/components/ProductHeroSource.js +1 -1
- package/dist/editor/components/ProductPicker.js +1 -1
- package/dist/editor/components/ReviewsProductSource.js +1 -1
- package/dist/editor/components/SocialLinksDoor.js +1 -1
- package/dist/editor/components/SpecTableSource.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/BundleOffer/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/FilterBlock/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/FilterBlock/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/FilterChipsBlock/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/FilterChipsBlock/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/GalleryItem/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductBuyButton/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/ProductBuyButton/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/ProductGrid/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductName/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductPicture/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/controls.d.ts +4 -0
- package/dist/editor/lib/document/blocks/commerce/controls.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/index.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/index.js +1 -1
- package/dist/editor/lib/document/config.js +1 -1
- package/dist/editor/lib/editor-words-kept.d.ts +1 -0
- package/dist/editor/lib/editor-words-kept.js +1 -0
- package/dist/editor/lib/efficient-backend.d.ts +6 -1
- package/dist/editor/lib/efficient-backend.js +1 -1
- package/dist/editor/lib/storefront-document.js +1 -1
- package/dist/editor/lib/storefront-editor-words.d.ts +33 -4
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/editor.css +1 -1
- package/dist/index.js +134 -81
- package/dist/links.js +1 -1
- package/dist/render/app/globals.css +111 -0
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/BundleCard.d.ts +2 -1
- package/dist/render/components/BundleCard.js +1 -1
- package/dist/render/components/GalleryGrid.js +1 -1
- package/dist/render/components/GalleryItem.d.ts +11 -1
- package/dist/render/components/GalleryItem.js +1 -1
- package/dist/render/components/GridCardTemplate.d.ts +7 -1
- package/dist/render/components/GridCardTemplate.js +1 -1
- package/dist/render/components/ProductGridSection.d.ts +5 -1
- package/dist/render/components/ProductGridSection.js +1 -1
- package/dist/render/components/ProductHeroPanel.js +1 -1
- package/dist/render/components/ProductRef.d.ts +8 -2
- package/dist/render/components/ProductRef.js +1 -1
- package/dist/render/components/SectionBand.d.ts +3 -2
- package/dist/render/components/SectionBand.js +1 -1
- package/dist/render/components/card-pieces/CardBuyButton.d.ts +8 -1
- package/dist/render/components/card-pieces/CardBuyButton.js +1 -1
- package/dist/render/components/card-pieces/CardName.d.ts +2 -1
- package/dist/render/components/card-pieces/CardName.js +1 -1
- package/dist/render/components/card-pieces/CardPrice.js +1 -1
- package/dist/render/components/card-pieces/CardProductBadge.d.ts +2 -1
- package/dist/render/components/card-pieces/CardProductBadge.js +1 -1
- package/dist/render/components/card-pieces/CardProductPicture.d.ts +5 -0
- package/dist/render/components/card-pieces/CardProductPicture.js +1 -1
- package/dist/render/components/card-pieces/CardSpecs.js +1 -1
- package/dist/render/components/card-pieces/HostPart.js +1 -1
- package/dist/render/components/card-pieces/ProductCardState.d.ts +25 -6
- package/dist/render/components/card-pieces/ProductCardState.js +1 -1
- package/dist/render/components/catalog/CatalogFilterContext.d.ts +4 -1
- package/dist/render/components/catalog/CatalogFilterContext.js +1 -1
- package/dist/render/components/catalog/ClearAllButton.d.ts +4 -0
- package/dist/render/components/catalog/ClearAllButton.js +1 -0
- package/dist/render/components/catalog/FilterPill.d.ts +4 -2
- package/dist/render/components/catalog/FilterPill.js +1 -1
- package/dist/render/components/catalog/ShopperChips.d.ts +13 -0
- package/dist/render/components/catalog/ShopperChips.js +1 -0
- package/dist/render/components/catalog/ShopperFilters.d.ts +20 -0
- package/dist/render/components/catalog/ShopperFilters.js +1 -0
- package/dist/render/components/catalog/ShopperScope.d.ts +72 -0
- package/dist/render/components/catalog/ShopperScope.js +3 -0
- package/dist/render/components/catalog/SortSelect.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -1
- package/dist/render/components/wheels-plp/PlpActiveChips.js +1 -1
- package/dist/render/components/wheels-plp/PlpPagination.d.ts +2 -1
- package/dist/render/components/wheels-plp/PlpPagination.js +1 -1
- package/dist/render/components/wheels-plp/PlpSidebar.js +1 -1
- package/dist/render/components/wheels-plp/usePlpFiltersInUrl.d.ts +2 -0
- package/dist/render/components/wheels-plp/usePlpFiltersInUrl.js +1 -1
- package/dist/render/lib/api/index.d.ts +6 -0
- package/dist/render/lib/api/index.js +1 -1
- package/dist/render/lib/catalog/related-cards.d.ts +4 -1
- package/dist/render/lib/catalog/relationships.d.ts +9 -2
- package/dist/render/lib/catalog/relationships.js +1 -1
- package/dist/render/lib/commerce.d.ts +2 -0
- package/dist/render/lib/commerce.js +1 -1
- package/dist/render/lib/content/article-body.js +1 -5
- package/dist/render/lib/content/filter-card-seed.d.ts +10 -0
- package/dist/render/lib/content/filter-card-seed.js +1 -0
- package/dist/render/lib/content/product-card-seed.d.ts +5 -0
- package/dist/render/lib/content/product-card-seed.js +1 -1
- package/dist/render/lib/document/blocks/commerce/BundleOffer/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/BundleOffer/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/FilterBlock/meta.d.ts +8 -0
- package/dist/render/lib/document/blocks/commerce/FilterBlock/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/FilterBlock/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/FilterBlock/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/FilterChipsBlock/meta.d.ts +8 -0
- package/dist/render/lib/document/blocks/commerce/FilterChipsBlock/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/FilterChipsBlock/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/FilterChipsBlock/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/GalleryB/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/GalleryItem/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductBuyButton/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductBuyButton/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductBuyButton/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductBuyButton/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductGrid/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductGrid/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductHero/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductName/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductPicture/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/metas.d.ts +3 -0
- package/dist/render/lib/document/blocks/commerce/metas.js +1 -1
- package/dist/render/lib/document/blocks/commerce/renders.d.ts +3 -0
- package/dist/render/lib/document/blocks/commerce/renders.js +1 -1
- package/dist/render/lib/document/card-templates.d.ts +1 -0
- package/dist/render/lib/document/card-templates.js +1 -1
- package/dist/render/lib/document/document-nodes.d.ts +24 -0
- package/dist/render/lib/document/document-nodes.js +1 -0
- package/dist/render/lib/document/lazy-draws.js +1 -1
- package/dist/render/lib/document/render-config.js +1 -1
- package/dist/render/lib/document/storefront-root.js +1 -1
- package/dist/render/lib/links/link-rules.js +1 -1
- package/dist/render/lib/sections/bundle-to-grid.d.ts +8 -0
- package/dist/render/lib/sections/bundle-to-grid.js +1 -0
- package/dist/render/lib/sections/catalog-text-size.d.ts +2 -0
- package/dist/render/lib/sections/catalog-text-size.js +1 -1
- package/dist/render/lib/sections/filter-option-rows.d.ts +37 -0
- package/dist/render/lib/sections/filter-option-rows.js +1 -0
- package/dist/render/lib/sections/gallery-toolbar.d.ts +27 -0
- package/dist/render/lib/sections/gallery-toolbar.js +1 -0
- package/dist/render/lib/sections/grid-no-hole.d.ts +3 -0
- package/dist/render/lib/sections/grid-no-hole.js +1 -1
- package/dist/render/lib/sections/product-grid-pages.d.ts +42 -0
- package/dist/render/lib/sections/product-grid-pages.js +1 -0
- package/dist/render/lib/sections/shopper-filters.d.ts +45 -0
- package/dist/render/lib/sections/shopper-filters.js +1 -0
- package/dist/render/lib/wheels/plp-filters.d.ts +6 -3
- package/dist/render/lib/wheels/plp-filters.js +1 -1
- package/dist/render/lib/wheels/plp-hydrate.d.ts +5 -3
- package/dist/render/lib/wheels/plp-hydrate.js +1 -1
- package/dist/render/lib/wheels/selected-ranges.d.ts +16 -0
- package/dist/render/lib/wheels/selected-ranges.js +1 -0
- package/dist/render/lib/wheels/set-mode.d.ts +10 -0
- package/dist/render/lib/wheels/set-mode.js +1 -1
- package/dist/render/lib/wheels/shopper-first-paint.d.ts +28 -0
- package/dist/render/lib/wheels/shopper-first-paint.js +1 -0
- package/dist/render/lib/wheels/shopper-scope.d.ts +11 -0
- package/dist/render/lib/wheels/shopper-scope.js +1 -0
- package/dist/words.d.ts +46 -6
- package/dist/words.js +6 -6
- package/package.json +4 -4
- package/dist/chunks/chunk-QLR6IVWJ.js +0 -369
- package/dist/chunks/chunk-SYK5QPNV.js +0 -1
- package/dist/chunks/chunk-XZ46W3NV.js +0 -1
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.d.ts +0 -13
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +0 -1
- /package/dist/chunks/{chunk-QLR6IVWJ.js.LEGAL.txt → chunk-WRDUOJZO.js.LEGAL.txt} +0 -0
- /package/dist/chunks/{chunk-DLWIDJS5.js → chunk-ZA3ULZOA.js} +0 -0
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
import{$ as tc,A as dn,Aa as yS,B as fn,Ca as SS,D as nS,G as _s,Ga as de,I as sS,J as Lp,Ka as kS,La as TS,M as ec,N as lS,Na as ac,O as iS,Oa as PS,P as oc,Pa as ES,Q as cS,R as dS,T as fS,U as Fp,Ua as OS,W as uS,X as Vo,Y as Qa,Z as pS,_ as At,a as ct,b as sn,c as eS,ca as mS,d as Yt,da as Bp,e as _p,f as ln,ga as hS,ha as Dp,j as Os,ja as Np,l as ya,m as Ap,na as xS,s as oS,t as tS,ta as er,u as Rp,v as Qe,va as IS,w as aS,x as rS,xa as gS,y as cn,z as Po,za as bS}from"./chunk-G4Y7XXRV.js";import{d as wS,e as Sa,f as CS,g as vS,j as un,n as Mp}from"./chunk-ZA3ULZOA.js";var Q=e=>typeof e=="string"&&e?e:void 0;var AS="en",rc=null,RS=AS,LS=null;function Fse(e,o,t){rc=e??null,RS=o||AS,LS=t??null}function ee(){return LS}function Hp(){return RS}function FS(){return rc}function _S(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=rc?rc[e]:void 0;if(typeof t=="function"){try{let a=Q(t(o??{}));if(a)return a}catch{}return _S(e,o)}return _S(Q(t)??e,o)}function wo(e,o,t,a){return i(t===1?e:o,{...a,n:t})}import{jsx as Wp,Fragment as y2,jsxs as S2}from"react/jsx-runtime";import{createContext as w2,useContext as C2}from"react";var v2={mirrorHostStyles:!0,css:null,fontHrefs:[]},BS=w2(v2);function Mse({value:e,children:o}){return Wp(BS.Provider,{value:e,children:o})}function zp(){return C2(BS)}function DS(){let{css:e,fontHrefs:o}=zp();return S2(y2,{children:[o.map(t=>Wp("link",{rel:"stylesheet",href:t},t)),e?Wp("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as k2}from"react/jsx-runtime";import{createContext as T2,useContext as P2}from"react";var NS=T2(void 0);function $se({metadata:e,children:o}){return k2(NS.Provider,{value:e,children:o})}var MS=()=>P2(NS);import{jsx as io,Fragment as QN,jsxs as Ji}from"react/jsx-runtime";import{useCallback as Ps,useEffect as Kt,useRef as lse,useState as YN}from"react";import{SettingsSwitch as ise}from"efficient-easel/panel";import{PagesIcon as cse,StylesIcon as dse}from"efficient-easel/rail";import{PaletteIcon as fse}from"efficient-shell/icons/efficient";import{Subtree as use,TreeRow as e2}from"efficient-easel/tree";import{useEasel as o2}from"efficient-easel/easel";import{useEaselStrings as t2}from"efficient-easel/strings";import{createContext as E2,useContext as O2}from"react";var $p=E2(!1),jse=()=>O2($p);import{useMemo as _2,useRef as A2}from"react";import{useEaselApi as R2}from"efficient-easel/easel";import{useSectionOps as L2}from"efficient-easel/screen/lib/document/use-section-ops";function nc(){let e=R2(),o=L2(),t=A2(o);return t.current=o,_2(()=>({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 zU}from"efficient-easel/draw";import{insertAt as $U,moveTo as GU,removeAt as UU}from"efficient-easel/fields";function wa(e,o){let t=globalThis,a=Symbol.for(e),r=t[a];return r===void 0&&(r=o(),t[a]=r),r}var Rt="dataSource",As="dataSourceOptions",F2="dataRows",dt="countKey",Rs="counts",ele="location-payment-methods",WS="shop-payment-methods";function B2(e){return typeof e.open=="function"}var D2=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;function Ls(){return wa("efficient.block-sources",()=>({sources:new Map,revision:0}))}var N2=e=>[e?.key,e?.label,e?.value].every(o=>typeof o=="string"&&o.trim()!==""),M2=e=>[e?.key,e?.label].every(o=>typeof o=="string"&&o.trim()!==""),HS=e=>typeof e=="string"&&e.trim()!=="";function H2(e){if(!e||!HS(e.label))return null;if(B2(e))return{label:e.label.trim(),open:e.open};let o=e.href;return HS(o)?{label:e.label.trim(),href:o.trim()}:null}function W2(e){if(typeof e.key!="string"||!D2.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=H2(e.edit);return{key:e.key,label:e.label.trim(),blocks:[...e.blocks],...e.sample?{sample:e.sample.map(t=>$S(t)).filter(t=>t!==null)}:{},...Array.isArray(e.choices)?{choices:e.choices.filter(N2)}:{},...Array.isArray(e.fields)?{fields:e.fields.filter(M2).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 ole(e){let o=e.map(W2),t=Ls();for(let a of o)t.sources.set(a.key,a);o.length&&(t.revision+=1)}function tle(e){let o=[...Ls().sources.values()];return e===void 0?o:o.filter(t=>t.blocks.includes(e))}function Gp(e){return Ls().sources.get(e)??null}function zS(e){return Ls().sources.get(e)?.choices??[]}function ale(){return Ls().revision}function co(e){let o=e?.[Rt];return typeof o=="string"?o.trim():""}function $S(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let o={};for(let[t,a]of Object.entries(e)){let r=Q(a);r&&(o[t]=r)}return Object.keys(o).length?o:null}function z2(e){let o=e?.[F2];return Array.isArray(o)?o.map($S).filter(t=>t!==null):null}function rle(e,o,t=[]){let a=z2(e);if(a!==null&&(a.length||!o))return{rows:a,sample:!1};if(!o)return{rows:[],sample:!1};let r=Gp(co(e))?.sample;return{rows:r?.length?r:t,sample:!0}}import{isNodeList as fH}from"efficient-easel/data";var GS=["general","commerce","service"],Ca=[{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:"Gallery",label:"Tabbed Gallery",set:"commerce"},{type:"GalleryB",label:"Customer Photo Grid",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:"PaymentBadges",label:"Payment Methods",set:"general"},{type:"CheckoutCTA",label:"Ready-to-Order Banner",set:"commerce"}]},{key:"about",title:"About & brand story",templateable:!0,sections:[{type:"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 sle(){return Object.fromEntries(Ca.map(e=>[e.key,{title:e.title,components:e.sections.map(o=>o.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var Up={Masthead:`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:'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:'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:`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:`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. It draws this section's own component (\`components/KeyFeatures\`), so for the same words it draws the same bytes: the pill eyebrow when no look is stored, the columns, each cell's link. A cell's words are the card's \`title\` (row "Feature label"), its link the card's \`href\` (row "Link"), both shown under Label only. \`scripts/test-cards-label-only.tsx\` \xA72 holds the bytes.
|
|
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. Every page holding a Key Features still renders through it and can still be edited; no document is rewritten and NO MIGRATION RUNS.`,DeliveryOptions:`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 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.
|
|
26
|
+
|
|
27
|
+
WHAT A MERCHANT LOSES: more than one highlighted option (Lewis approved ONE Highlighted card row, 2026-10-10). No stored node held two.
|
|
28
|
+
|
|
29
|
+
NO 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).
|
|
30
|
+
|
|
31
|
+
THE 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.`,Series:`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).
|
|
32
|
+
|
|
33
|
+
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.
|
|
34
|
+
|
|
35
|
+
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.
|
|
36
|
+
|
|
37
|
+
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:`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).
|
|
38
|
+
|
|
39
|
+
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.
|
|
40
|
+
|
|
41
|
+
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).
|
|
42
|
+
|
|
43
|
+
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:`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).
|
|
44
|
+
|
|
45
|
+
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.
|
|
46
|
+
|
|
47
|
+
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.
|
|
48
|
+
|
|
49
|
+
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:"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:"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:`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.
|
|
50
|
+
|
|
51
|
+
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).
|
|
52
|
+
|
|
53
|
+
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:`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.
|
|
54
|
+
|
|
55
|
+
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).
|
|
56
|
+
|
|
57
|
+
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:`Owner, 2026-10-10 (approved): the Tyre Fitment Form goes into the Fitment Form, whose answer follows the page. One vehicle section, not two.
|
|
58
|
+
|
|
59
|
+
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.
|
|
60
|
+
|
|
61
|
+
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.
|
|
62
|
+
|
|
63
|
+
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).
|
|
64
|
+
|
|
65
|
+
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.`},lle=["Grid","Spacer","TyreFitment"],ile=Array.from(new Set([...Ca.flatMap(e=>e.sections.map(o=>o.type)),...Object.keys(Up)])),lc=Object.fromEntries(Ca.flatMap(e=>e.sections.map(o=>[o.type,o.label]))),$2={Heading:"general",Text:"general",Eyebrow:"general",ImageBlock:"general",LogoBlock:"general",LocationMap:"general",Contents:"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",EmailFormBlock:"service",SocialLogosBlock:"service",PaymentLogosBlock:"service",LegalLineBlock:"service",SiteHeader:"service",SiteFooter:"service"},sc={...$2,...Object.fromEntries(Ca.flatMap(e=>e.sections.map(o=>[o.type,o.set])))};function US(e){return Object.prototype.hasOwnProperty.call(sc,e)?sc[e]:void 0}function jp(e){return Object.keys(sc).filter(o=>sc[o]===e).sort()}var cle=jp("general"),dle=jp("commerce"),fle=jp("service"),Kp="Flex",Xt="Box",ule=`${Xt}es`;function G2(e){return e==="section"?"Blank section":Xt}function Vp(e,o,t){return e===Kp?G2(o):t}var ye="content",Z="Flex",U2="Text & media",j2="Layout & structure",KS=[{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"}],K2=[...KS,{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"},{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:U2})),V2=(Ca.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:j2})),jS=[...K2,...V2],qp=[...KS,{type:"HeroGroup",label:Xt}],hle=qp.map(e=>e.type),q2=1,Y2=qp.filter(e=>e.type!=="HeroGroup");function X2(e){return e<q2?qp:Y2}var Z2={Flex:{slot:ye,choices:()=>jS},Grid:{slot:ye,choices:()=>jS},HeroGroup:{slot:ye,choices:X2}};function VS(e,o=0){let t=Z2[e];return t?{slot:t.slot,choices:t.choices(o)}:null}import{applyMark as wle,markupTools as Cle,MARKUP_TOOLS as vle,COPY_FIELD_TOOLS as kle,STOREFRONT_MARKUP as Tle,tokenizeInline as Ple,stripInline as Ele,isSafeLinkHref as ew}from"efficient-shell/markup";import{applyMark as dM,clearStyle as fM,markedAt as uM,markupTools as pM,MARKUP_TOOLS as mM,parseMarkup as hM,RETIRED_MARKS as xM,STOREFRONT_MARKUP as IM,tokenizeInline as _le}from"efficient-shell/markup";var or=["highlight","strong","quiet"],tr={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},Lt={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},ZS=Object.fromEntries(or.map(e=>[Lt[e].kind,e])),JS="data-sf-ws",J2=["accent","text","labels"],Fs={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},Q2=80,eM=120,oM=100,tM=900,aM=.5,rM=3,nM=-.1,sM=.5,lM=3,Yp={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},iM={highlight:{...Yp},strong:{...Yp},quiet:{...Yp}};function qS(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function YS(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let a=10**lM;return Math.round(Math.min(Math.max(e,o),t)*a)/a}function XS(e){return typeof e=="boolean"?e:null}function cM(e){let o=typeof e?.font=="string"&&ct.some(a=>a.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&J2.includes(e.colour)?e.colour:null;return{font:o,size:qS(e?.size,Q2,eM),weight:qS(e?.weight,oM,tM),bold:XS(e?.bold),italic:XS(e?.italic),lineGap:YS(e?.lineGap,aM,rM),textGap:YS(e?.textGap,nM,sM),colour:t}}function QS(e){let o={};for(let t of or)o[t]=e&&t in e&&e[t]?cM(e[t]):{...iM[t]};return o}function gle(e){let o=QS(e),t={};for(let a of or){let r=o[a],n=`--sf-ws-${a}`;if(r.font){let s=ct.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`]=Fs[r.colour])}return t}function ble(e){let o=e?.word_styles??void 0,t={};for(let a of or)o&&a in o&&(t[a]=o[a]??null);return QS(t)}var gM=new Set(["strong"]),ow=or.map(e=>({open:Lt[e].delimiter,close:Lt[e].delimiter,kind:Lt[e].kind,...gM.has(e)?{wordStart:!0}:{}})),Rle=[{style:Lt.highlight.kind,label:tr.highlight,title:`${tr.highlight} word style`},{style:Lt.strong.kind,label:tr.strong,title:`${tr.strong} word style`},{style:Lt.quiet.kind,label:tr.quiet,title:`${tr.quiet} word style`}],bM=new Set(ow.map(e=>e.open)),ar=[...IM.filter(e=>!bM.has(e.open)),...ow];function Xp(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function Bs(e){return hM(typeof e=="string"?e:"",ar)}var yM=mM.map(e=>e.style).filter(e=>!xM.includes(e)).filter(e=>ar.some(o=>o.kind===e));function tw(){return pM(yM)}var aw=Object.fromEntries(or.map(e=>[Lt[e].kind,Lt[e].delimiter]));function rw(e,o,t,a){let r=aw[a];if(!r)return dM(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 nw(e,o,t,a){let r=aw[a];return r?o>=r.length&&e.slice(o-r.length,o)===r&&e.slice(t,t+r.length)===r:uM(e,o,t,a)}function rr(e){return e.replace(/==(.+?)==/g,(o,t)=>t.startsWith("_")&&t.endsWith("_")?o:`==_${t}_==`)}function nr(e){return Bs(e).map(o=>Xp(o)+lw(o.children)).join(`
|
|
66
|
+
`)}function sw(e,o,t){return fM(e,o,t,ar)}function lw(e){return e.map(o=>o.kind==="text"?o.text:lw(o.children)).join("")}function no(e,o,t){return e.some(a=>(typeof a=="object"?a.value:a)===t)?t:o}var Zp="small",Jp="dot",SM=[{label:"Small",value:"small"},{label:"Display",value:"display"}],Qp=[{label:"Dot \u25CF",value:"dot"},{label:"Cross \u2715",value:"cross"},{label:"Slash /",value:"slash"},{label:"Triangle \u25BC",value:"triangle"},{label:"None",value:"none"}],ic={dot:"\u25CF",cross:"\u2715",slash:"/",triangle:"\u25BC",none:""},wM={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)]"},CM={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 Dle(e){return no(SM,Zp,e)}function Ds(e){return no(Qp,Jp,e)}function Nle(e){return wM[e]}function iw(e,o){return CM[e][o]}var Wle=[{value:"none"},{value:"dot"},{value:"cross"},{value:"slash"},{value:"triangle"}];function cw(e){return Qp.some(o=>o.value===e)?Ds(e):void 0}var vM="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 sr(e,o){return e==="row"&&cw(o)!==void 0}function zle(e,o){return sr(e,o)?vM:""}var kM="[&>*: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 $le(e,o){return sr(e,o)?kM:""}function Gle(e,o){if(!sr(e,o))return{};let t=cw(o),a=/^text-\[([\d.]+)em\]$/.exec(iw("small",t))?.[1],r=ic[t];return{"--sf-sep-mark":r===""?"none":JSON.stringify(r),...a?{"--sf-sep-k":a}:{}}}import{AUTO_RULES as EM,FOLLOW_RULES as OM,isAuto as _M,resolveViewValue as AM}from"efficient-easel/screen/lib/content/view-tiers";import{VIEW_DESKTOP_MIN as TM,VIEW_TABLET_MIN as dw}from"efficient-easel/screen/lib/content/view-tiers";var em="v1",PM=e=>e==="v2"?dw:800,cc={"view-tablet":dw,"view-desktop":TM,"view-wide":PM(em)};function Kle(e){let o=e.startsWith("max-"),t=o?e.slice(4):e;if(t in cc)return{px:cc[t],max:o};let a=/^(max|min)-\[(\d+)px\]$/.exec(e);return a?{px:Number(a[2]),max:a[1]==="max"}:void 0}function lr(){return em==="v2"?EM:OM}function ft(e,o,t,a,r=lr()){let n=AM(e,o,t,a,r),s={},l=(c,d)=>!_M(c)||d!=null&&d!==o;return l(t,n.tablet)&&(s.tablet=n.tablet),l(a,n.phone)&&(s.phone=n.phone),s}var Hs={sectionPaddingTop:0,sectionPaddingBottom:0},Ns={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},Ms={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function Qle(e,o){let t=typeof e=="string"&&e in Ns?Ns[e]:"",a=typeof o=="string"&&o in Ms?Ms[o]:"";return[t,a].filter(Boolean).join(" ")}function RM(e){return e===!0||e==="wrap"?"flex-wrap":""}var LM={start:"view-tablet:max-view-desktop:justify-start!",center:"view-tablet:max-view-desktop:justify-center!",between:"view-tablet:max-view-desktop:justify-between!",end:"view-tablet:max-view-desktop:justify-end!"},FM={start:"max-view-tablet:justify-start",center:"max-view-tablet:justify-center",between:"max-view-tablet:justify-between",end:"max-view-tablet:justify-end"},BM={start:"view-tablet:max-view-desktop:items-start!",center:"view-tablet:max-view-desktop:items-center!",end:"view-tablet:max-view-desktop:items-end!",stretch:"view-tablet:max-view-desktop:items-stretch!"},DM={start:"max-view-tablet:items-start",center:"max-view-tablet:items-center",end:"max-view-tablet:items-end",stretch:"max-view-tablet:items-stretch"},NM={wrap:"view-tablet:max-view-desktop:flex-wrap!",nowrap:"view-tablet:max-view-desktop:flex-nowrap!"};function dr(e,o){return typeof o=="string"&&Object.prototype.hasOwnProperty.call(e,o)?o:void 0}function tm(e,o,t){let a=ft("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 am(e,o,t){return[e.tablet?o[e.tablet]:"",e.phone?t[e.phone]:""].filter(Boolean).join(" ")}function MM(e,o,t){return tm(dr(Ns,e)??"start",dr(Ns,o),dr(Ns,t))}function eie(e,o,t){return am(MM(e,o,t),LM,FM)}function oie(e,o,t){let a=dr(Ms,e)??"stretch";if(a==="stretch")return"";let r=tm(a,dr(Ms,o),dr(Ms,t));return am(r,BM,DM)}function om(e){if(e===!0||e==="wrap")return"wrap";if(e===!1||e==="nowrap")return"nowrap"}function tie(e,o){let t=RM(e)===""?"nowrap":"wrap",a=om(o);return a&&a!==t?NM[a]:""}var fr="Block widths",mw=[{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]}],HM="data-sf-box-items",aie=new RegExp(`[ \\t]+[^\\s"'\`]*\\[${HM}\\][^\\s"'\`]*`,"g");var rm=[{label:"Fit content",value:"content",weights:null},{label:"Equal",value:"equal",weights:[1,1]},{label:"Custom",value:"custom",weights:[2,1]}];function nm(e){return Array.isArray(e)?"custom":e==="equal"?"equal":typeof e=="string"&&e in fc?"custom":"content"}var hw=4,fw=10;function WM(e,o){if(!Number.isInteger(o)||o<2||o>hw||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-fw*(o-1-n),l=Math.min(s,Math.max(fw,Math.round(r)));t.push(l),a+=l}),t}function uw(e,o,t){if(!Array.isArray(o))return;let a=WM(o,t),r=a?[...a,100-a.reduce((s,l)=>s+l,0)]:[],n={};for(let s=0;s<hw;s+=1)n[`--${e}-${s+1}`]=r[s]??1;return n}function rie(e,o,t){let a=uw("sf-share",e,t),r=uw("sf-share-tablet",o,t);return a||r?{...a,...r}:void 0}function zM(e,o){let t=Array.from({length:o},()=>1),a=mw.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 dc(e,o){if(typeof e!="string"||!(e in fc)||e==="equal")return e;let t=zM(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",fc={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]`},$M=`${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 GM(e){return Array.isArray(e)?$M:typeof e=="string"?fc[e]??"":""}var nie={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}},{not:{context:"parent.bgImage",set:!0}},{any:[{context:"parent.columns",in:[2,3,4,5,6]},{all:[{not:{context:"parent.columns",is:1}},{context:"parent.share",in:Object.keys(fc)}]}]}]},xw="view-tablet:max-view-desktop:flex-row!",cr=`${xw} [&>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-tablet:max-view-desktop:grow! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:grow! [&>*:nth-child(n)]:view-tablet:max-view-desktop:basis-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:basis-0!`,Iw={content:`${xw} [&>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-tablet:max-view-desktop:basis-[content]! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:basis-[content]!`,equal:cr,bigLeft:`${cr} [&>*:first-child:nth-child(n)]:view-tablet:max-view-desktop:grow-[2]! [&>[data-sf-box-items]:first-child>*:first-child:nth-child(n)]:view-tablet:max-view-desktop:grow-[2]!`,bigRight:`${cr} [&>*:last-child:nth-child(n)]:view-tablet:max-view-desktop:grow-[2]! [&>[data-sf-box-items]:last-child>*:last-child:nth-child(n)]:view-tablet:max-view-desktop:grow-[2]!`,biggerLeft:`${cr} [&>*:first-child:nth-child(n)]:view-tablet:max-view-desktop:grow-[3]! [&>[data-sf-box-items]:first-child>*:first-child:nth-child(n)]:view-tablet:max-view-desktop:grow-[3]!`,biggerRight:`${cr} [&>*:last-child:nth-child(n)]:view-tablet:max-view-desktop:grow-[3]! [&>[data-sf-box-items]:last-child>*:last-child:nth-child(n)]:view-tablet:max-view-desktop:grow-[3]!`,twoThree:`${cr} [&>*:first-child:nth-child(n)]:view-tablet:max-view-desktop:grow-[2]! [&>[data-sf-box-items]:first-child>*:first-child:nth-child(n)]:view-tablet:max-view-desktop:grow-[2]! [&>*:last-child:nth-child(n)]:view-tablet:max-view-desktop:grow-[3]! [&>[data-sf-box-items]:last-child>*:last-child:nth-child(n)]:view-tablet:max-view-desktop:grow-[3]!`},UM=`${cr} [&>*:nth-child(1):nth-child(n)]:view-tablet:max-view-desktop:grow-[var(--sf-share-tablet-1,1)]! [&>[data-sf-box-items]>*:nth-child(1):nth-child(n)]:view-tablet:max-view-desktop:grow-[var(--sf-share-tablet-1,1)]! [&>*:nth-child(2):nth-child(n)]:view-tablet:max-view-desktop:grow-[var(--sf-share-tablet-2,1)]! [&>[data-sf-box-items]>*:nth-child(2):nth-child(n)]:view-tablet:max-view-desktop:grow-[var(--sf-share-tablet-2,1)]! [&>*:nth-child(3):nth-child(n)]:view-tablet:max-view-desktop:grow-[var(--sf-share-tablet-3,1)]! [&>[data-sf-box-items]>*:nth-child(3):nth-child(n)]:view-tablet:max-view-desktop:grow-[var(--sf-share-tablet-3,1)]! [&>*:nth-child(4):nth-child(n)]:view-tablet:max-view-desktop:grow-[var(--sf-share-tablet-4,1)]! [&>[data-sf-box-items]>*:nth-child(4):nth-child(n)]:view-tablet:max-view-desktop:grow-[var(--sf-share-tablet-4,1)]!`;function jM(e){return Array.isArray(e)||typeof e=="string"&&e in Iw?e:null}function sie(e){if(e.direction!=="row"||sr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0||ww(e.columns)!==""||Cw(e.columnsTablet)!=="")return"";let o=jM(e.shareTablet);return o===null?"":typeof o=="string"?Iw[o]:UM}var KM="[&>*]:view-wide:basis-[content] [&>[data-sf-box-items]>*]:view-wide:basis-[content]";function lie(e){return GM(e)===""?KM:""}var sm="Columns",uc=1,gw=3,lm={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)]"},bw=mw.filter(e=>e.value==="content"||e.value==="equal"),yw="equal",im=1,Sw=6,pn="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!",VM={1:`${pn} [&>*]:view-wide:basis-[calc(100%/1)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc(100%/1)]!`,2:`${pn} [&>*]: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:`${pn} [&>*]: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:`${pn} [&>*]: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:`${pn} [&>*]: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:`${pn} [&>*]: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 ww(e){return typeof e=="number"?VM[e]??"":""}var qM={1:"view-tablet:max-view-desktop:flex-row! view-tablet:max-view-desktop:flex-wrap! [&>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-tablet:max-view-desktop:basis-[calc(100%/1)]! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:basis-[calc(100%/1)]!",2:"view-tablet:max-view-desktop:flex-row! view-tablet:max-view-desktop:flex-wrap! [&>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-tablet: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-tablet:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px)))/2)]!",3:"view-tablet:max-view-desktop:flex-row! view-tablet:max-view-desktop:flex-wrap! [&>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-tablet: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-tablet:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px))_*_2)/3)]!",4:"view-tablet:max-view-desktop:flex-row! view-tablet:max-view-desktop:flex-wrap! [&>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-tablet: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-tablet:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px))_*_3)/4)]!",5:"view-tablet:max-view-desktop:flex-row! view-tablet:max-view-desktop:flex-wrap! [&>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-tablet: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-tablet:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px))_*_4)/5)]!",6:"view-tablet:max-view-desktop:flex-row! view-tablet:max-view-desktop:flex-wrap! [&>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:min-w-0! [&>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>[data-sf-box-items]>*:nth-child(n)]:view-tablet:max-view-desktop:grow-0! [&>*:nth-child(n)]:view-tablet: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-tablet:max-view-desktop:basis-[calc((100%_-_var(--sf-gap-len-tablet,var(--sf-gap-len,0px))_*_5)/6)]!"};function Cw(e){return typeof e=="number"?qM[e]??"":""}function iie(e){return e.direction!=="row"||sr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":Cw(e.columnsTablet)}function cie(e){return e.direction!=="row"||sr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":ww(e.columns)}var YM="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]",XM={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)]"},ZM="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 JM(e,o){return(om(e)??om(o)??"wrap")==="nowrap"}function die(e,o,t,a){let r=lm[Number(e)];if(!r)return"max-view-wide:flex-col";let n=JM(t,a);return vw(e,o)?n?ZM:YM:n?XM[Number(e)]:r}function fie(e,o){return Number(e)in lm&&!vw(e,o)}function vw(e,o){return Number(e)in lm&&o==="content"}var kw="Block spacing",cm=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],QM="sf-box-gap-only";function uie(e){return e==="gap"?QM:""}var pw={each:"sf-box-each-tablet",gap:"sf-box-gap-only-tablet"},eH={each:"sf-box-each-phone",gap:"sf-box-gap-only-phone"};function pie(e,o,t){let a=n=>dr(pw,n),r=tm(e==="gap"?"gap":"each",a(o),a(t));return am(r,pw,eH)}var Tw={label:"Text",defaultProps:{text:"",align:"left",tone:"default",tag:"p",contained:!0}};var{text:gie,tag:bie,...oH}=Tw.defaultProps,$=oH,oe={...$,tone:"dim"},pc={justify:"start",align:"stretch",wrap:!1,blockSpacing:"gap",padV2:!0},L={...pc,direction:"column",...Hs},Eo=(e,o=e,t=e,a=o)=>({sectionPaddingTop:e,sectionPaddingRight:o,sectionPaddingBottom:e,sectionPaddingLeft:o,sectionPaddingTopPhone:t,sectionPaddingRightPhone:a,sectionPaddingBottomPhone:t,sectionPaddingLeftPhone:a}),z=(e,o,t,a)=>({sizeToken:{step:e,px:o,...a?{stepPhone:a}:{},...t?{pxPhone:t}:{}}}),Pw={case:"upper"},ut={textStyle:"body-5",...Pw},dm=(e,o)=>({...z("label",e,o),letterSpacing:.2,...Pw}),pt=(e,o)=>({...ut,...dm(e,o)});function Ho(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]=Ho(c,o,n);return{type:a.type,props:{...s,id:o(a.type,n)}}})}var va=()=>({tag:"h2",_partStyles:{text:{textStyle:"heading-2"}}}),mt=()=>({_partStyles:{text:{...ut,color:"accent",letterSpacing:.3,lineHeight:1.5}}});var fm={...L,gap:12,gapPhone:12,...Eo(32,32,28,28)},um={textStyle:"heading-3",...z("headingSmall",20),weight:500,case:"upper",lineHeight:1.5,letterSpacing:.02},ur={textStyle:"body-1",...z("body",15),lineHeight:1.6},Oe=(e,o,t,a=!1)=>({type:"Text",props:{...o,text:"",[Io]:e,_partStyles:{text:{...a?mt()._partStyles?.text??{}:{},...t}}}}),Ws={title:"title",body:"body"},mc={title:"name",body:"note"},tH=(e=Ws)=>({type:Z,props:{...fm,name:"Card"},slots:{[ye]:[Oe(e.title,{...$,tag:"p",widthFit:"fill"},um),Oe(e.body,{...oe,tag:"p",widthFit:"fill"},ur)]}}),hc=(e,o)=>Ho([tH(o)],e);function Ew(e,o){if(e!=="Cards")return o;if(o.template!==void 0)return rH(o);let t=Q(o.id)??"Cards",a=co(o)?mc:Ws;return{...o,template:hc((r,n)=>n==="0"?`${t}~card`:`${t}~card.${n.slice(2)}`,a)}}var aH=e=>{let[o,t]=e?[Ws,mc]:[mc,Ws];return new Map([[o.title,t.title],[o.body,t.body]])};function Ow(e,o){let t=null;return e.forEach((a,r)=>{let n=a?.props;if(!n)return;let s=n,l=n[Io];a.type==="Text"&&typeof l=="string"&&o.has(l)&&(s={...s,[Io]:o.get(l)});let c=n[ye];if(Array.isArray(c)){let d=Ow(c,o);d!==c&&(s={...s,[ye]:d})}s!==n&&(t??=[...e],t[r]={...a,props:s})}),t??e}function rH(e){if(!Array.isArray(e.template))return e;let o=Ow(e.template,aH(!!co(e)));return o===e.template?e:{...e,template:o}}var nH="label";function _w(e){if(e.template!==void 0)return e;let o=Q(e.id)??"CardList",t={type:Z,props:{...L,name:"Item"},slots:{[ye]:[Oe(nH,{...$,tag:"p"},ur)]}};return{...e,template:Ho([t],(a,r)=>r==="0"?`${o}~item`:`${o}~item.${r.slice(2)}`)}}var zs="ArticleBody",sH={textStyle:"heading-3",...z("headingSmall",20),weight:500,lineHeight:1.4,align:"center"},lH={...ur,align:"center"},Aw=640,iH=()=>[Oe("heading",{...$,tag:"h2",align:"center",maxWidth:Aw},sH),Oe("paragraph",{...oe,tag:"p",align:"center",maxWidth:Aw},lH)],pm=e=>Ho(iH(),e);function cH(e){return pm((o,t)=>`${e}~${t==="0"?"heading":"paragraph"}`)}function Rw(e){if(e.template!==void 0)return e;let o=typeof e.id=="string"&&e.id.trim()?e.id:zs;return{...e,template:cH(o)}}var dH="label",mm=()=>({type:"LogoBlock",props:{[Io]:dH}}),Lw=e=>{let o=Q(e.id)??"Logos";return{...e,template:Ho([mm()],()=>`${o}~logo`)}};function Fw(e){return!co(e)||e.template!==void 0?e:Lw(e)}function Kie(e){if(!co(e))return e;let o=e.template;return o!==void 0&&!(Array.isArray(o)&&o.length===0)?e:Lw(e)}var go="template",Bw="Card template",qo="CardList",Dw=["Text","ImageBlock","ButtonBlock","Flex"],Io="rowField",hm="rowLinkField";function Nw(){return{type:"slot",allow:[...Dw]}}var uH=Dw.filter(e=>e!=="ButtonBlock"),$s="items",Mw="itemFields";function rce(){return{type:"slot",allow:[...uH]}}var pH=[{block:"OrderSummary",typedRows:"rows",fields:[{key:"label",label:"Item"},{key:"meta",label:"Meta line"},{key:"amount",label:"Amount"}]},{block:"Footprint",typedRows:"offices",fields:[{key:"badge",label:"HQ"},{key:"role",label:"Role"},{key:"city",label:"City"},{key:"country",label:"Region \xB7 country"},{key:"address",label:"Address"},{key:"linkLabel",label:"Button"},{key:"href",label:"Link",kind:"link"}]},{block:"Cards",typedRows:"items",fields:[{key:"num",label:"Number"},{key:"since",label:"Corner note"},{key:"label",label:"Label"},{key:"title",label:"Card title"},{key:"value",label:"Value"},{key:"body",label:"Card body",multiline:!0},{key:"href",label:"Link",kind:"link"},{key:"count",label:"Count"},{key:"badge",label:"Highlight badge",everySource:!0}],seed:e=>Ew("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:qo,label:"Card list"}]},{block:"Logos",fields:[{key:"label",label:"Name"},{key:"kind",label:"Kind"}],seed:e=>Fw(e)},{block:qo,fields:[],typedRows:$s,seed:e=>_w(e)},{block:zs,fields:[{key:"heading",label:"Subhead"},{key:"paragraph",label:"Paragraph",multiline:!0}],seed:e=>Rw(e)}];function Ft(){return wa("efficient.card-templates",()=>new Map(pH.map(e=>[e.block,e])))}function nce(e){for(let o of e){if(typeof o.block!="string"||!o.block)throw new Error("A card template names no block.");let t=[];for(let r of o.blocks??[]){if(typeof r?.type!="string"||!r.type)throw new Error(`The card template of ${o.block} names an empty block.`);t.some(n=>n.type===r.type)||t.push({type:r.type,label:r.label||r.type})}let a=Q(o.typedRows);Ft().set(o.block,{block:o.block,fields:o.fields.map(r=>({...r})),blocks:t,typedRows:a,...o.seed?{seed:o.seed}:{}})}}function mH(e,o){let t=e?Ft().get(e)?.seed:void 0;return t?t(o):o}function Hw(e,o){if(!(o.template===void 0||Array.isArray(o.template)&&o.template.length===0))return o;let{template:t,...a}=o,r=mH(e,a);return r===a?o:r}function Ww(){for(let e of Ft().values())if(e.blocks?.length)return!0;return!1}function zw(e){return Ft().get(e)?.blocks??[]}function sce(e){for(let o of Ft().values())if(o.blocks?.some(t=>t.type===e))return!0;return!1}function $w(e){return typeof e=="string"&&Ft().get(e)?.typedRows||""}function xm(e){return typeof e=="string"&&Ft().has(e)}function hH(e,o){let t=Ft().get(e)?.fields??[];return o?t.filter(a=>(a.kind??"text")===o):t}function xH(e){return typeof e=="string"?hH(e,"list")[0]?.key??"":""}function IH(e,o){return ht(e)||xH(o)}function Gw(e,o){let t=typeof e?.type=="string"?e.type:"";if(!t)return[];let a=Ft().get(t)?.fields??[],r=Gp(co(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 Im(e,o,t){return e?t?Gw(t).find(a=>a.key===o)??null:Ft().get(e)?.fields.find(a=>a.key===o)??null:null}function ht(e,o=Io){let t=e?.[o];return typeof t=="string"?t.trim():""}function lce(e,o){return e.key||String(o+1)}function ice(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 gm="hideWhenRowEmpty";function cce(e,o){let t=e[gm];return!o||!Array.isArray(t)||!t.length?!1:t.every(a=>typeof a!="string"||!o[a]?.trim())}function dce(e,o,t=""){let a=o&&e&&typeof e=="object"?e[o]:void 0;if(!Array.isArray(a))return"";for(let r of a){let n=typeof r=="string"?r:r?.src,s=Q(typeof n=="string"?n.trim():void 0);if(s&&s!==t.trim())return s}return""}var Uw={Text:{text:Io},ImageBlock:{src:Io},ButtonBlock:{label:Io,href:hm},LogoBlock:{alt:Io},Breadcrumb:{currentCrumb:Io}};var gH=new Set(["ButtonBlock.label","LogoBlock.alt"]);function fce(e,o,t){return bm(e,o,t)&&!gH.has(`${e}.${t}`)}function bm(e,o,t){return ym(e,o,t)!==""}function ym(e,o,t){let a=Uw[e]?.[t];return a?ht(o,a):""}function Sm(e,o){return!o||!e?null:e[o]??""}function uce(e,o,t,a){if(!t)return o;let r=null;for(let[n,s]of Object.entries(Uw[e]??{})){let l=ht(o,s),c=Sm(t,l);c!==null&&(r??={...o},r[n]=a&&Im(a,l)?.mark==="accentItalic"?rr(c):c)}return r??o}function wm(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(!fH(d))continue;let f=c===go&&xm(l.type)?{owner:l,direct:!0,nested:s!==null,underBox:!1}:s&&{owner:s.owner,direct:!1,nested:s.nested,underBox:s.underBox||l.type===Z},m=a(d,f);if(m!==void 0)return m}}},r=a(t,null);return r===void 0?null:r}function Gs(e,o){let t=wm(e,o);return t&&t.owner}function pce(e,o){let t=wm(e,o);return t&&(t.direct?t.owner:null)}function mce(e,o){let t=wm(e,o);if(t!==void 0)return t===null?{inCopy:!1,nestedCopy:!1,underBox:!1}:{inCopy:!0,nestedCopy:t.nested,underBox:t.underBox}}function hce(e,o,t){if(o?.type!==qo)return[];let a=Gs(e,o.props?.id);if(!a)return bH(o.props,t);let r=IH(o.props,a.type),n=r&&Gw(a,"list").find(s=>s.key===r)?.fields||[];return t?n.filter(s=>(s.kind??"text")===t):n}function xc(e,o){return{[Io]:"",[$s]:e.map(t=>({...t})),[Mw]:o.map(t=>({...t}))}}function bH(e,o){let t=e?.[Mw];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}=r;if(typeof n!="string"||!n||typeof s!="string")return[];let d=l==="image"||l==="link"||l==="colour"?l:void 0;return[{key:n,label:s,...d?{kind:d}:{},...c===!0?{multiline:!0}:{}}]});return o?a.filter(r=>(r.kind??"text")===o):a}import{useSyncExternalStore as FU}from"react";import{isNodeList as Ic}from"efficient-easel/data";var jw="Flex";function mn(e,o){return ht(e)?typeof e?.[dt]=="string"?Cm(o?.[dt]):"":Cm(e?.[dt])}var Cm=e=>typeof e=="string"?e.trim():"",yH=e=>e.type===qo&&Array.isArray(e.props?.[$s])&&e.props[$s].some(o=>Cm(o?.[dt])!==""),SH=new Intl.NumberFormat("en-US");function wH(e){return/^\d+$/.test(e)?SH.format(Number(e)):e}function yce(e,o){let t=o?o.find(a=>a.key===e)?.value:zS(Rs).find(a=>a.key===e)?.value;return t===void 0?null:wH(t)}var CH={[dt]:"any"};function vm(e,o=!1){let t=e.props;if(!t)return{node:e,names:!1};let a=e.type==="Text"&&(mn(t)!==""||o&&mn(t,CH)!==""),r=o||yH(e),n=t;for(let[l,c]of Object.entries(t)){if(!Ic(c))continue;let d=c.map(f=>vm(f,r));d.some(f=>f.names)&&(a=!0),d.some((f,m)=>f.node!==c[m])&&(n={...n,[l]:d.map(f=>f.node)})}if(e.type!==jw)return{node:n===t?e:{...e,props:n},names:a};let s=co(n);if(a&&!s&&(n={...n,[Rt]:Rs}),!a&&s===Rs){let{[Rt]:l,...c}=n;n=c}return{node:n===t?e:{...e,props:n},names:!1}}function Kw(e,o,t){for(let a of e){if(a?.props?.id===o)return t;for(let r of Object.values(a?.props??{})){if(!Ic(r))continue;let n=Kw(r,o,a.type===jw?a:t);if(n!==void 0)return n}}}function Sce(e,o){if(!Ic(e))return!0;let t=Kw(e,o,null);if(t===void 0)return!0;if(t===null)return!1;let a=co(t.props);return!a||a===Rs}function Vw(e){let o=e?.content;if(!Ic(o))return e;let t=o.map(a=>vm(a));return t.every((a,r)=>a.node===o[r])?e:{...e,content:t.map(a=>a.node)}}function qw(e){return vm(e).node}import{jsx as w,jsxs as Da,Fragment as sa}from"react/jsx-runtime";import{cloneElement as zT,createContext as Zz,useContext as $T,useEffect as Jz,useId as GT,useRef as hl,useState as xl}from"react";import{useEasel as Pd,useSelectedHost as Ln}from"efficient-easel/easel";import{toDateKey as KIe,fromDateKey as VIe}from"efficient-shell/format";function vH(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.src=="string"}function Co(e){return typeof e=="string"?e:vH(e)?e.src:""}function Cce(e,o,t){return km(e,o.split("."),t)}function km(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,m=c.map(u=>{let x=km(u,r,t);return x!==u&&(f=!0),x});return f?{...l,[s]:m}:e}let d=km(c,r,t);return d===c?e:{...l,[s]:d}}var kH=["upload","youtube"],TH="upload",Tce={upload:"Upload",youtube:"YouTube"},PH=["background","click"],EH="background",Pce={background:"Background",click:"Click to play"};function Xw(e){return kH.includes(e)?e:TH}function Zw(e){return PH.includes(e)?e:EH}var Yw=/^[A-Za-z0-9_-]{11}$/,OH=/^(?:www\.|m\.|music\.)?(?:youtube\.com|youtube-nocookie\.com|youtu\.be)$/;function Jw(e){let o=typeof e=="string"?e.trim():"";if(!o)return null;if(Yw.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:"||!OH.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&&Yw.test(r)?r:null}function Tm(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 Qw(e){return`https://i.ytimg.com/vi/${e}/maxresdefault.jpg`}function eC(e){return`https://i.ytimg.com/vi/${e}/hqdefault.jpg`}var Pm="Play video";var Em={frame:"Video frame",image:"Image"},Ece={any:[{field:"loadingShows",is:"image"},{all:[{not:{field:"loadingShows",set:!0}},{field:"poster",set:!0}]}]};function Us(e){let o=e.loadingShows;return o==="image"?"image":o!=null&&o!==""?"frame":Co(e.poster)?"image":"frame"}function Oce(e){let[o,t]=Us(e)==="image"?[e.poster,e.videoFrame]:[e.videoFrame,e.poster];return Co(o)||Co(t)||void 0}function oC(e){if(Co(e.mediaVideo)){if(Us(e)==="frame")return Co(e.videoFrame)?void 0:Co(e.poster)?"frame-missing-image":"frame-missing-surface";if(!Co(e.poster))return Co(e.videoFrame)?"image-missing-frame":"image-missing-surface"}}var gc="videoFrames",Om="videoFramesNotOwn";function tC(e,o,t){let a=Co(e.mediaVideo);if(!a||!o||Us(e)!=="frame"||Co(e.videoFrame))return;let r=o[a],n=!!Co(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 _H(e,o){let t=Co(e),a=t&&o?o[t]:void 0;return a?.state==="ready"&&a.frame?a.frame:void 0}function _ce(e,o,t){let a=t?.[Om];if(!(Array.isArray(a)&&a.includes(e)))return _H(o,t?.[gc])}import{useSyncExternalStore as AH}from"react";function bc(){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 AH(t,r,r)}}}var Me="SiteHeader",Re="SiteFooter",_m="sections",Fce=[Me,Re],hn=e=>e===Me||e===Re,aC=e=>`${e}:${_m}`;function rC(e,o,t=[]){return{type:e,props:{id:o,[_m]:t}}}var RH=new Set(["Footer",Me,Re]);function xn(e){let o=new Set,t=!1,a=e.filter(r=>{let n=r?.type??"";return n==="Header"?(t=!0,!1):RH.has(n)?o.has(n)?(t=!0,!1):(o.add(n),!0):!0});return t?a:e}function yc(e,o){return e.some(t=>t?.type===o.type)?e:o.type===Me?[o,...e]:[...e,o]}var nC={[Me]:{max:3,takes:["Flex","Ticker"]},[Re]:{max:6,takes:["Flex","Prose","Logos","Divider"]}};function sC(e,o,t){if(!hn(e))return!0;let a=nC[e];return t<a.max&&a.takes.includes(o)}function lC(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(!hn(n?.type))continue;let s=n.props?.[_m];if(!Array.isArray(s)||!s.some(c=>c?.props?.id===a))continue;let l=nC[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 LH}from"efficient-easel/draw";function js(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function Sc(e,o,t){let a=js(t?.zone),r=a?LH(e,o,a.ownerId):null;return r&&a?{...r,slot:a.slot}:null}import{isNode as FH}from"efficient-easel/data";var iC="Footer",cC=[Me,iC,Re],pr=e=>{let o=e?.content;return Array.isArray(o)?o:[]},ka=e=>{let o=e?.zones;return o&&typeof o=="object"&&!Array.isArray(o)?o:null},In=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0},dC=e=>js(e)?.ownerId??"";function fC(e){let o=xn(pr(e)),t=o.some(a=>a?.type===Re);return o.filter(a=>a?.type===Me||a?.type===Re||a?.type===iC&&!t)}function wc(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(FH(r)){let n=In(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(dC(s))||(n.add(s),a(l),r=!0)}}return t}function uC(e,o){let t=pr(e).filter(a=>{let r=In(a);return typeof a?.type=="string"&&cC.includes(a.type)||r!==void 0&&o(r)});return t.length?wc(t,ka(e)):new Set}function Am(e,o){let t={},a={};for(let[r,n]of Object.entries(e??{}))(o.has(dC(r))?t:a)[r]=n;return{owned:t,rest:a}}function pC(e,o){if(!o)return e;let t=fC(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,...pr(e),...r]},{owned:s}=Am(ka(o),wc(t,ka(o)));return Object.keys(s).length&&(n.zones={...ka(e)??{},...s}),n}function Rm(e,o){if(!o)return{page:e,chrome:null};let t=fC(o),a=new Set(t.map(In).filter(S=>!!S)),r=[],n=[];for(let S of pr(e)){let g=In(S);g&&a.has(g)||hn(S?.type)?n.push(S):r.push(S)}let s=new Map(n.map(S=>[In(S),S])),l=new Set,c=xn(pr(o)).flatMap(S=>{let g=In(S);if(!g||!a.has(g))return[S];let v=s.get(g);return v?(l.add(v),[v]):[]});for(let S of n)l.has(S)||c.some(g=>g?.type===S.type)||(c=S.type===Me?[S,...c]:[...c,S]);c=xn(c);let d=c.length===pr(o).length&&c.every((S,g)=>S===pr(o)[g]),f=ka(e),m=wc(c,f),{owned:u,rest:x}=Am(f,m),I=Am(ka(o),wc(t,ka(o))).owned,y={...o,content:d?o.content:[...c]},P=ka(o);if(P||Object.keys(u).length){let S={};for(let[g,v]of Object.entries(P??{}))g in I?g in u&&(S[g]=u[g]):S[g]=v;for(let[g,v]of Object.entries(u))g in S||(S[g]=v);y.zones=S,P&&BH(y.zones,P)&&(y.zones=P)}let C={...e,content:r};return f&&(Object.keys(x).length||!Object.keys(I).length?C.zones=x:delete C.zones),{page:C,chrome:y}}function BH(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 mC(e,o){return t=>e(t)||t!==void 0&&cC.includes(t)&&o()}var hC=null;function Lm(e){hC=e}function xt(){return hC}var xC=null;function Fm(e){xC=e}function Cc(){return xC}var Bm=bc();function IC(e,o,t){if(!o)return;let a={...Bm.get(e)};for(let[r,n]of Object.entries(o))a[r]={...n,noted:t};Bm.set(e,a)}function gC(e,o){IC(e,o,"load")}function bC(e,o){IC(e,o,"save")}function vc(e){return Bm.use(e)}var Dm=e=>!!xt()?.sectionOf(e);function yC(e,o=Dm){return uC(e,o)}function SC(e,o,t,a=Dm){if(t)return e&&yC(o,a).has(e)?void 0:t}function wC(e,o,t=Dm){if(!e)return{};let a=[...yC(o,t)];return a.length?{[gc]:e,[Om]:a}:{[gc]:e}}import{ScreenDocumentContext as Qz}from"efficient-easel/screen/components/ScreenDocumentContext";import{readHidable as Ma,hidableText as e$}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as UT,LINK_FIELD_MARKER as o$,MEDIA_FIELD_MARKER as t$,SCAFFOLD_FIELD_MARKER as a$,TEXT_FIELD_MARKER as ra,foldMetaOf as la,textFieldIdentifier as ege}from"efficient-easel/draw";import{jsx as OC}from"react/jsx-runtime";import{useCallback as MH}from"react";import{useEasel as HH}from"efficient-easel/easel";import{SettingsAction as WH}from"efficient-easel/panel";import{CORNER_SIDES as kc,hasCornerSubset as Ks,normalizeCornerSides as Bt}from"efficient-easel/screen/lib/content/style-keys";function Nm(e){return typeof e=="number"&&Number.isFinite(e)}function Xce(e,o){if(!Nm(e))return;let t=tc(At(e));if(Object.keys(t).length===0)return;let a=t[Mm];if(typeof a!="string")return t;let r=Ks(o)?mr(a,Bt(o)??[]):a;return{...t,[DH]:r}}var DH="--sf-section-radius",Mm="--sf-card-radius";function mr(e,o){return kc.map(t=>o.includes(t)?e:"0").join(" ")}var CC=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var NH="--sf-card-box-radius";function Hm(e){return typeof e=="number"&&Number.isFinite(e)}function ede(e,o){if(!Hm(e))return;let t=tc(At(e))[Mm];if(typeof t!="string")return;let a=Ks(o)?mr(t,Bt(o)??[]):t;return{[NH]:a}}function vC(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 kC(e,o,t){let a=Sc(e,o,t),r=a?.slot??"",n=a&&Array.isArray(a.item.props[r])?a.item.props[r]:[],s=t?.index??-1,l=s>=0?n[s]:void 0,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}:Hm(l?.props?.cardCorners)?{can:!0,others:d,zone:a.zone,index:a.index,data:{...a.item,props:{...a.item.props,[r]:vC(n,c)}}}:{can:!1,reason:"unset",others:d}}function TC(e){return e.can?wo("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 PC(e){return wo("Applied to {n} card","Applied to {n} cards",e)}function EC(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as zH}from"efficient-easel/screen/lib/document/use-section-ops";var $H="apply-corners-to-siblings",GH="Apply to all cards";function UH({plan:e,onPress:o}){return OC(WH,{id:$H,label:i(GH),note:TC(e),disabled:!e.can,doneLabel:PC(e.others),onPress:o})}function _C(){let{appState:e,config:o}=HH(n=>n),t=zH(),a=kC(o,e.data.content??[],e.ui.itemSelector),r=MH(()=>{EC(a,t.replaceComponent)},[a,t]);return OC(UH,{plan:a,onPress:r})}import{isShown as WC,lazyShowWhenContext as s4}from"efficient-shell/format";var Ta="product",Tc="recordType",AC={key:Ta,label:"Product",fields:[]},jH=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,KH=/^[a-z][A-Za-z0-9]*$/,VH=["text","date","images"],Wm=new Map,RC=0;function qH(e){if(typeof e.key!="string"||!jH.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===Ta)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"||!KH.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(!VH.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 mde(e){let o=e.map(qH);for(let t of o)Wm.set(t.key,t);o.length&&(RC+=1)}function zm(){return[AC,...Wm.values()]}function YH(e){return e===Ta?AC:Wm.get(e)??null}function $m(){return RC}function Vs(e){let o=e?.[Tc];return typeof o!="string"?Ta:o.trim()||Ta}function Gm(e){return Vs(e)===Ta}function hde(e,o){let t=YH(e)?.fields??[];return o?t.filter(a=>o.includes(a.kind)):t}var Pc="product",LC="tyre",XH=[Pc,LC];function gde(e){return XH.includes(e)}var ZH="productType",JH={[Pc]:"alloy-wheel",[LC]:"tyre"},QH=["alloy-wheel","tyre"];function FC(e,o){return Gm(o)?BC(o)??JH[e]??null:null}function BC(e){if(!Gm(e))return null;let o=e?.[ZH];return typeof o=="string"&&QH.includes(o)?o:null}function bde(e){let o=e?.root;return BC(o?.props)}var Um="Main Pages",e4="Dynamic Pages",jm="dynamic",o4="dynamic";function hr(e){return e.kind===o4}var Km="lightbox";function DC(e){return e.kind===Km}function NC(e){let o=[],t=[];for(let a of e){if(hr(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??Um,rows:[a]})}if(t.length){let a=o.findIndex(r=>r.key.startsWith("system:"));o.splice(a===-1?o.length:a,0,{key:jm,label:e4,rows:t})}return o}var Ec=null,MC=null;function t4(e,o){Ec=e,MC=o}function kde(e){t4(e,null)}function Tde(){return Ec}function qs(){return hr({kind:MC})||Ec===Pc}function Pde(e){return FC(Ec??"",e)??"alloy-wheel"}function Ede(e){return qs()?Vs(e):null}import{addShowWhenFacts as a4}from"efficient-shell/format";import{showWhenOf as Vm,shownForOption as r4,truthy as qm,withRowRules as Ym,withRowsShownWhen as Ys,withShowWhen as eo}from"efficient-shell/format";var Rde=a4;function n4(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]))}function Xm(e,o,t){let a=!1,r={};for(let[n,s]of Object.entries(e)){if(!WC(Vm(s),o??{},t)){a=!0;continue}let l=l4(s,o?.[n],o??{},t);l!==s&&(a=!0),r[n]=l}return a?r:e}function l4(e,o,t,a){let r=e?.options;if(!Array.isArray(r))return e;let n=r.filter(s=>s?.value===o||!s?.showWhen||WC(s.showWhen,t,a));return n.length===r.length?e:{...e,options:n}}function zC(e,o,t,a){let r=Sc(o,t,a);return{device:e,parentType:r?.item.type,parent:r?.item.props}}function HC(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 HC(t.not,o);for(let a of[t.all,t.any])if(Array.isArray(a)&&a.some(r=>HC(r,o)))return!0;return!1}function Hde(e,o={}){return s4({parentType:()=>e.parent?.type??void 0,parent:()=>e.parent?.props??void 0,dynamicPage:()=>qs(),root:()=>e.appState?.data?.root?.props,...o})}var $C=1;function i4(e){return At(e)}function $de(e){let o=i4(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var GC=1,UC="Corners";function c4(e){return At(e)}function Kde(e,o){let t=c4(e);if(t===null)return null;let a=`${t}px`;return{borderRadius:Ks(o)?mr(a,Bt(o)??[]):a}}var Zt={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]]}},Zm=Object.keys(Zt),KC=[2,3,4,6];function Jm(e,o){return Zm.filter(t=>t===o||e===null||Zt[t].across===e)}function VC(e){return typeof e!="string"||e===""?null:Zt[e]??null}function jC(e,o){return o?6/e.acrossPhone:12/e.across}function qC(e){return[...e.lead??[],...e.desktop]}var d4="sf-wall--";function f4(e){return`${d4}${e}`}function qde(e){let o=Zt[e],t=`.${f4(e)}`,a=[],r=(n,s,l=[])=>{let c=[],d=n.length,f=l.length;l.forEach(([m,u],x)=>{c.push(`${t} > :nth-child(${x+1}){grid-column:span ${m};grid-row:span ${u}}`)}),n.forEach(([m,u],x)=>{c.push(`${t} > :nth-child(${d}n+${f+x+1}){grid-column:span ${m};grid-row:span ${u}}`)});for(let m=1;m<d;m+=1)c.push(`${t}:has(> :nth-child(${d}n+${f+m}):last-child) > :nth-last-child(-n+${m}){grid-column:span ${s};grid-row:span 1}`);return c};return a.push(`${t}{grid-template-columns:repeat(12,minmax(0,1fr))}`),a.push(...r(o.desktop,jC(o,!1),o.lead)),a.push("@media (max-width:800px){"),a.push(`${t}{grid-template-columns:repeat(6,minmax(0,1fr))}`),a.push(...r(o.phone,jC(o,!0),o.leadPhone)),a.push("}"),a.join("")}var Oc=12,YC=1,u4=3;var p4=3;function Qm(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 m4(e){return Qm(e,1,Oc)??p4}function Zde(e,o){return Qm(e,YC,u4)??(m4(o)===4?2:YC)}function Jde(e){return e==null||e===""?null:Qm(e,1,Oc)}var Qde="data-sf-span";function efe(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(VC(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}import{jsx as h4}from"react/jsx-runtime";import*as x4 from"efficient-easel/icons";function _c(e){let o=e.replace(/(^|-)([a-z])/g,(a,r,n)=>n.toUpperCase()),t=x4[`${o}Icon`];return t?h4(t,{size:16}):null}import{isNodeList as I4}from"efficient-easel/data";var gn=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],ZC="bottom-left",bn=4,g4=bn+1,XC=40,b4=30,y4=100,S4=60,nfe=100;var eh={"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 w4(e){let o=gn.indexOf(Xs(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function C4(e){return 1+w4(e).band*(g4+1)}function sfe(e){return C4(e)+1}function Xs(e){return gn.includes(e)?e:ZC}function lfe(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-XC,Math.min(XC,Math.round(o)))}function ife(e,o=S4){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(b4,Math.min(y4,Math.round(t)))}function oh(e,o){let t=Xs(o);return e.filter(a=>Xs(a?.props?.placement)===t).length}function JC(e){return`${eh[Xs(e)]} already holds ${bn} boxes. Move one somewhere else first.`}function QC(e,o){let t=e.filter(a=>a?.props?.id!==o);return gn.map(a=>{let r=oh(t,a)>=bn,n=eh[a];return r?{value:a,label:n,disabled:!0,title:JC(a)}:{value:a,label:n}})}function Ac(e,o){let t=o===void 0?ZC:Xs(o?.props?.placement);return oh(e,t)>=bn?JC(t):null}var Rc="HeroGroup";function v4(e){return gn.map(o=>{let t=oh(e,o);return{anchor:o,total:t,hidden:t-bn}}).filter(o=>o.hidden>0)}function th(e){let o=v4(e);return o.length===0?null:o.map(({anchor:t,total:a,hidden:r})=>{let n=eh[t],s=r===1?"1 is not shown":`${r} are not shown`;return`${n} holds ${a} boxes. The published page draws the first ${bn}, so ${s}. ${r===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function ev(e,o){let t=o;if(t?.type!==Rc)return null;let a=t.props?.id===void 0?"":String(t.props.id);return a?Ac(ah(e,a),t):null}function ah(e,o){let t=tv(e,o);return t&&t.ownerType===T4?t.siblings:[]}function ov(e,o){let t=tv(e,o);return t?t.ancestorTypes.filter(a=>a===Rc).length:k4}var k4=1,T4="HeroSlide";function tv(e,o){let t=(a,r,n)=>{if(r>12||!a||typeof a!="object")return null;if(I4(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,[])}import{jsx as Pa,Fragment as O4,jsxs as fv}from"react/jsx-runtime";import{useContext as _4,useEffect as A4,useId as R4,useState as uv}from"react";import{SettingsField as L4,SettingsSwitch as F4}from"efficient-easel/panel";import{AnchorIcon as B4}from"efficient-easel/icons";import{ScreenDocumentContext as D4}from"efficient-easel/screen/components/ScreenDocumentContext";import{Snippet as N4}from"efficient-shell/ui";import{slugify as M4}from"efficient-shell/format";import{slugify as P4}from"efficient-shell/format";function Zs(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}var av=e=>P4(Zs(e));var Lc="homepage";import{slugify as E4}from"efficient-shell/format";var rv=[{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 nv(e){return e.offersCommerce&&e.offersService?rv:rv.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}var rh="#popup:";function sv(e){return`${rh}${e}`}function lv(e){return e.startsWith(rh)&&e.slice(rh.length).trim()||null}function Js(e){return e===Lc?"/":`/${e}`}function iv(e){return`/journal/${e}`}function xfe(e){return`/wheels/${e}`}function Fc(e,o){return`${Js(e)}#${o}`}function cv(...e){let o=new Set,t=[];for(let a of e)for(let r of a?.content??[]){let n=Zs(r?.props?.anchor);if(!n)continue;let s=E4(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function Ife(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 dv(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}import{readHidable as H4}from"efficient-easel/draw";function pv({value:e,onChange:o,nameBox:t}){let a=H4(e).text,[r,n]=uv(!1),s=r||a.trim()!=="",l=R4();return fv(O4,{children:[Pa(L4,{label:i("Add an anchor"),labelId:l,icon:Pa(B4,{}),action:Pa(F4,{checked:s,ariaLabelledBy:l,onChange:c=>{n(c),!c&&a!==""&&o("")}})}),s&&t(e,o),s&&Pa(W4,{name:a})]})}function W4({name:e}){let o=_4(D4),t=o?.templateId?"":o?.currentSlug??"",[a,r]=uv("");A4(()=>r(un()||window.location.origin),[]);let n=M4(e);if(!n||!t)return null;let s=`${a}${Fc(t,n)}`,l=s.replace(/^https?:\/\//,""),c=l.lastIndexOf("#");return Pa("div",{className:"sf-anchor-link",children:Pa(N4,{value:s,label:i("link"),size:"sm",children:fv("span",{className:"sf-anchor-link-text",children:[Pa("span",{className:"sf-anchor-link-path",children:l.slice(0,c)}),Pa("span",{className:"sf-anchor-link-hash",children:l.slice(c)})]})})})}import{jsx as Dt,jsxs as z4}from"react/jsx-runtime";import{Fragment as $4}from"react";import{Button as Bc,Tooltip as G4}from"efficient-shell/ui";function mv({status:e,statusText:o,onRefresh:t,busy:a=!1,edit:r,hint:n,spaced:s=!0,compact:l=!1,oneLine:c=!1}){return l?Dt("div",{className:`sf-blogsource sf-blogsource--compact${c?" sf-blogsource--line":""}`,style:s?{marginTop:8}:void 0,children:Dt(G4,{content:n,className:c?"sf-name-tip":void 0,children:Dt("p",{className:"sf-blogsource-status","data-state":e,children:[o?Dt($4,{children:o},"status"):null,t?Dt(Bc,{variant:"link",size:"sm",className:"sf-blogsource-link",onClick:t,disabled:a,children:i("Refresh now")},"refresh"):null,r?Dt(Bc,{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])})})}):z4("div",{className:"sf-blogsource",style:s?{marginTop:9}:void 0,children:[Dt("p",{className:"sf-blogsource-status","data-state":e,children:o}),t?Dt(Bc,{variant:"secondary",className:"sf-blogsource-action",onClick:t,disabled:a,children:i("Refresh now")}):null,r?Dt(Bc,{variant:"secondary",className:"sf-blogsource-action",onClick:r.onClick,children:r.label}):null,Dt("p",{className:"es-field-hint",children:n})]})}import{AdjustIcon as r$,EyeIcon as n$,AnimationIcon as s$,BackgroundIcon as l$,BorderAllIcon as i$,BlockSectionIcon as c$,ColumnWidthsIcon as xx,ColumnsIcon as jT,CornerIcon as d$,DirectionDownIcon as f$,DirectionLeftIcon as u$,DirectionRightIcon as p$,DirectionUpIcon as m$,EditIcon as h$,GapIcon as x$,GridIcon as I$,GroundIcon as hx,HashIcon as KT,HeightIcon as g$,ImageIcon as b$,ListIcon as y$,LocationIcon as LT,PaddingBottomIcon as VT,PaddingLeftIcon as qT,PaddingRightIcon as YT,PaddingTopIcon as XT,PageIcon as S$,StickyIcon as w$,SearchIcon as C$,SquareIcon as v$,TypeIcon as k$,WidthIcon as T$}from"efficient-easel/icons";import{jsx as $e,Fragment as xr,jsxs as Ir}from"react/jsx-runtime";import{CaptionIcon as U4,DateIcon as j4,FlagIcon as K4,TitleIcon as V4,ButtonIcon as q4,DollarIcon as Y4,HashIcon as X4,LinkIcon as Z4,NoteIcon as J4,TagIcon as Q4,TextLinesIcon as e5}from"efficient-easel/icons";var hv={body:e5,button:q4,link:Z4,label:Q4,number:X4,price:Y4,note:J4,name:K4,date:j4,caption:U4,title:V4},xv={eyebrow:Ir(xr,{children:[$e("path",{d:"M5 6.5h5"}),$e("path",{d:"M5 12.5h14"}),$e("path",{d:"M5 18h11"})]}),heading:Ir(xr,{children:[$e("path",{d:"M6.5 5v14"}),$e("path",{d:"M17.5 5v14"}),$e("path",{d:"M6.5 12h11"})]}),intro:Ir(xr,{children:[$e("path",{d:"M4 5.5v13"}),$e("path",{d:"M8 7.5h12"}),$e("path",{d:"M8 12h12"}),$e("path",{d:"M8 16.5h8"})]}),value:Ir(xr,{children:[$e("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),$e("path",{d:"M6.5 12h7"})]}),quote:Ir(xr,{children:[$e("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),$e("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:Ir(xr,{children:[$e("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),$e("path",{d:"M8 9.5h8"}),$e("path",{d:"M12 9.5v5"})]}),meta:Ir(xr,{children:[$e("path",{d:"M4 7h16"}),$e("path",{d:"M4 14h3.5"}),$e("path",{d:"M10.5 14h3"}),$e("path",{d:"M17 14h3"})]})};function nh({noun:e,size:o=14,strokeWidth:t=1.8,className:a,style:r}){let n=hv[e];return n?$e("span",{className:a,style:{display:"inline-flex",...r},"aria-hidden":"true",children:$e(n,{size:o})}):$e("svg",{className:a,style:r,width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:xv[e]})}var Mfe=Object.keys(hv);var Hfe=Object.keys(xv);import{parseHexColor as o5}from"efficient-shell/format";var t5="#ffffff";function sh(e){return a5(e)?e:t5}function a5(e){return typeof e=="string"&&o5(e)===e.toLowerCase()}function $fe(e){return{"--bg":sh(e)}}import{parseHexColor as r5}from"efficient-shell/format";function Dc(e){return`color-mix(in srgb, var(--overlay-scrim) ${Math.round(Math.min(1,Math.max(0,e))*1e3)/10}%, transparent)`}function Qs(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 Xfe="sf-card",Ea={min:0,max:100,step:5,fallback:0,unit:"%"},n5=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],s5="68%",Zfe={desktop:20,phone:20,side:40,sidePhone:24},Jfe="sf-box-sides";function Nc(e){return typeof e=="string"&&e.trim()!==""}function Iv(e,o){let t=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(t)||t<=0)return null;let a=(Math.min(Ea.max,Math.max(Ea.min,t))/100).toFixed(2);return o!=="bottom"?{background:Dc(Number(a))}:{background:`linear-gradient(0deg, ${Dc(Number(a))} 0%, ${Dc(0)} ${s5})`}}var yn=e=>typeof e=="string"?r5(e.trim()):null,l5="swatch";function Qfe(e,o){return o?yn(Sm(o,ht(e,l5))):null}var i5={tabletClass:"sf-fill-tablet",tabletVar:"--sf-fill-tablet",phoneClass:"sf-fill-phone",phoneVar:"--sf-fill-phone"};function eue(e,o,t){return Qs(i5,yn(e),yn(o),yn(t))}var c5={tabletClass:"sf-wash-tablet",tabletVar:"--sf-wash-tablet",phoneClass:"sf-wash-phone",phoneVar:"--sf-wash-phone"};function oue(e){let o=Iv(e.darken,e.darkenStyle);if(!o)return{className:"",style:{}};let t=(m,u)=>String(Iv(m,u)?.background??"none"),a=m=>(typeof m=="number"||typeof m=="string"&&m.trim()!=="")&&Number.isFinite(Number(m))?m:void 0,r=m=>n5.some(u=>u.value===m)?m: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 Qs(c5,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 tue(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 gv(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(lh(a,o,0))return{type:typeof r=="string"?r:"",props:n??{}}}return null}function lh(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(r=>lh(r,o,t+1));let a=e.props;return a&&typeof a=="object"&&a.id===o?!0:Object.values(e).some(r=>lh(r,o,t+1))}function bv(e,o){let t=e?.content;return Array.isArray(t)?Mc(t,o,0)??[]:[]}function Mc(e,o,t){if(t>12||!e||typeof e!="object")return null;if(Array.isArray(e)){for(let r of e){let n=Mc(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=Mc(r,o,t+1);if(n)return[a,...n]}return null}for(let r of Object.values(e)){let n=Mc(r,o,t+1);if(n)return n}return null}import{SettingsDefaultReset as yo,SettingsDrill as P$,SettingsField as to,SettingsGroup as E$,SettingsGroupSub as gge,SettingsSegmented as O$,SettingsBorder as _$,SettingsSidesEach as A$,SettingsSwitch as Ix,borderSides as R$,borderStartEach as L$}from"efficient-easel/panel";import{ListField as F$}from"efficient-easel/fields";import{DisplayChips as B$}from"efficient-shell/ui";function Sn(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 Hc(e,o){return Sn(e)[o]!==!1}function ih(e,o,t){let a=Sn(o)[t];return typeof a=="boolean"?a:Hc(e,t)}function yv(e){return Object.values(Sn(e)).some(o=>o===!1)}function Sv(e){return Object.keys(Sn(e)).length>0}function wv(e,o,t){let a={...Sn(e)};return t?delete a[o]:a[o]=!1,Object.keys(a).length?a:void 0}function Cv(e,o,t){return{...Sn(e),[o]:t}}function nue(e,o,t){let a=Hc(e,t),r=ih(e,o,t);return a&&r?"":!a&&!r?"hidden":a?"max-view-tablet:hidden":"view-tablet:hidden"}import{AlignmentGrid as D$,Checkbox as Cge,ColorSwatch as N$,CornersInput as M$,DatePicker as vge,DateTimePicker as H$,FOCAL_DEFAULT as kge,IconPicker as ZT,COLUMN_COUNT_MAX as FT,COLUMN_SHARE_MIN as W$,COLUMN_SHARES_EQUAL as z$,resolveColumnShares as JT,WidthsBar as $$,useShellStrings as G$,IconButton as QT,InputNumber as BT,Slider as U$,Tooltip as gx}from"efficient-shell/ui";import{backendOf as d5}from"efficient-easel/screen/lib/session";var Ue=d5,Wc=e=>e.blocks;async function vv(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 ch="Lookup busy \u2014 try again in a moment.",zc=e=>typeof e=="number"&&Number.isFinite(e);function uue(e){return e.some(o=>{let t=o?.geocode;return t?t.pending||t.manual&&t.lat===void 0&&t.lng===void 0?!0:zc(t.lat)&&t.lat!==o.lat||zc(t.lng)&&t.lng!==o.lng:!1})}async function pue(e,o,{geocode:t=vv,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:ch}})}}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=zc(l.lat)&&l.lat!==s.lat?l.lat:s.lat,d=zc(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 Oo,jsxs as fh}from"react/jsx-runtime";import{useRef as u5}from"react";import{ColorPicker as p5,ColorPickerPanel as m5,ColorSwatch as h5,HexInput as x5,Popover as I5,Tooltip as g5,colorFill as b5,colorSwatchClasses as y5,useShellStrings as S5}from"efficient-shell/ui";import{SettingsDefaultReset as w5,SettingsField as C5}from"efficient-easel/panel";import{typedHex as dh}from"efficient-easel/pick";import{typedHex as f5}from"efficient-easel/pick";function kv(e){let o=new Set,t=[];return Qe(e).themes.forEach((a,r)=>{let n=[[i("Theme {n} main color",{n:r+1}),a.accent],[i("Theme {n} text color",{n:r+1}),a.text],[i("Theme {n} background",{n:r+1}),a.background]];for(let[s,l]of n){let c=l?f5(l):null;!c||o.has(c)||(o.add(c),t.push({name:s,value:c}))}}),t}var Tv="Not set";function v5({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,ariaLabel:s,choices:l}){return Oo(T5,{value:e,onChange:o,label:i(s??t),id:a,caption:r,inherited:n,choices:l})}function k5(){let{theme:e}=de();return kv(e).map(o=>({value:o.value,label:o.name}))}function T5({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,choices:s}){let l=k5(),c=e?null:dh(n??""),d=r!==void 0&&(!e||dh(r)!==dh(e))?r:null,f=m=>{m!==e&&o(m)};return fh("div",{className:"sf-colour",children:[s?Oo(P5,{id:a,value:e,onChange:o,label:t,presets:l,follows:c,choices:s}):Oo(p5,{id:a,value:e,onChange:f,label:t,presets:l,fallback:c??void 0,size:"md",align:"start"}),d!==null?Oo("span",{className:"sf-colour-caption",children:d}):Oo("span",{className:"sf-colour-hexwrap",children:Oo(x5,{value:e||c||"",onChange:f,label:i("{label} hex code",{label:t}),placeholder:e||c?void 0:i(Tv),className:c?"sf-colour-hex is-inherited":"sf-colour-hex",size:"md"})})]})}function P5({value:e,onChange:o,label:t,id:a,presets:r,follows:n,choices:s}){let l=S5().color,c=e||n||"",d=s.findIndex(u=>u.selected),f=d>=0,m=u5(d);return f&&(m.current=d),Oo(I5,{id:a,trigger:Oo("span",{"aria-hidden":"true",className:"absolute inset-0",style:b5(c)}),triggerLabel:l.swatch(t,c.toUpperCase()||l.none),triggerClassName:y5({size:"md"}),"aria-label":l.panel(t),align:"start",children:fh("div",{className:"sf-colour-window",children:[Oo("div",{role:"group","aria-label":t,className:"sf-colour-choices",children:s.map(u=>Oo(g5,{content:u.label,children:Oo(h5,{color:u.color,"aria-label":u.label,selected:u.selected,onClick:()=>{u.selected||u.onPick()}})},u.label))}),Oo(m5,{value:f?"":e,onChange:o,label:t,presets:r,fallback:(f?c:n)??void 0},m.current)]})})}function Yo({label:e,icon:o,changed:t,hint:a,onReset:r,resetTo:n,children:s,...l}){return fh(C5,{label:e,icon:o,htmlFor:l.id,changed:t,hint:a,action:r?Oo(w5,{words:ee()?.panel,label:e,changed:!!t,detail:n,onReset:r}):void 0,children:[v5({...l,label:e}),s]})}function wn({label:e,icon:o,value:t,inherited:a,resetTo:r,onChange:n,onReset:s,hint:l,choices:c}){let d=!!t;return Oo(Yo,{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 j$}from"efficient-easel/screen/lib/document/style-fields";import{jsx as E5}from"react/jsx-runtime";import{useEffect as O5,useState as _5}from"react";import{clearRangeOf as A5,markSelection as R5,useCaretEdit as L5}from"efficient-easel/copy";import{TextToolbar as F5}from"efficient-shell/ui";function B5(e,o,t){return R5(e,o,t,rw)}function Pv(e,o){let t=A5(o,e.length),a=sw(e,t.start,t.end);return a.text===e?null:a}function D5(e){let[o,t]=_5(null);return O5(()=>{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 N5({target:e,value:o,onChange:t,disabled:a=!1,label:r="Formatting"}){let n=L5({target:e,onChange:t}),[s,l]=D5(e),c=u=>n(x=>{let I=B5(o,u,x);return l({start:I.selectionStart,end:I.selectionEnd}),I}),d=tw(),f={};if(s)for(let u of d)f[u.style]=nw(o,s.start,s.end,u.style);let m=a?null:Pv(o,s);return E5(F5,{offered:new Set(d.map(u=>u.style)),onMark:u=>c(u),pressed:f,disabled:a,"aria-label":i(r),className:"sf-markup-bar",clear:m?{onClear:()=>n(()=>{let u=e.current,x=u&&u.ownerDocument.activeElement===u?{start:u.selectionStart??0,end:u.selectionEnd??0}:null,I=Pv(o,x)??{text:o,selectionStart:x?.start??0,selectionEnd:x?.end??0};return l({start:I.selectionStart,end:I.selectionEnd}),I})}:void 0})}var uh=N5;import{deviceField as Mt}from"efficient-easel/screen/lib/document/device-fields";import{NO_CONTROL_FIELD as K$,NoControlMark as V$,noControlField as eP}from"efficient-easel/screen/lib/document/panel-no-control-mark";var ph="__ownBox";function Ev(e){return!!e&&typeof e=="object"&&e[ph]===!0}function $c(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var Gc=void 0;import{phoneKey as aa,tabletKey as Rn}from"efficient-easel/draw";import{jsx as hh,Fragment as W5}from"react/jsx-runtime";import{createContext as z5,useContext as $5}from"react";var Uc={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},jc={Events:["posts"],SubscribeBlogs:["posts"]};var M5=["anchor"],H5=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function el(e){return M5.includes(e)||H5.test(e)}var mh={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"}}};mh.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var zue=Object.fromEntries(Object.entries(Uc).map(([e,o])=>[e,Object.keys(o)])),$ue=Object.fromEntries(Object.entries(jc).map(([e,o])=>[e,[...o]]));import{NoControlMark as G5}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Ov=z5(!1);function _v({children:e}){return hh(Ov.Provider,{value:!0,children:e})}function U5(){return $5(Ov)}function Av({name:e,children:o}){return!U5()||!e||!j5(e)||el(e)?hh(W5,{children:o}):hh(G5,{})}function j5(e){return/^[A-Za-z0-9_$]+$/u.test(e)}var xh="off",Ih="none",gh=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],bh=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function Xue(e){return no(gh,xh,e)}function Zue(e){return no(bh,Ih,e)}var Rv="sf-card-index",ol="sf-card-index",Jue="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",K5={plain:`counter(${ol})`,padded:`counter(${ol}, decimal-leading-zero)`,numero:`"N\xB0" counter(${ol}, decimal-leading-zero)`};function Que(e,o){return o==="off"?"":`.${e}{counter-reset:${ol}}.${e} .${Rv}{counter-increment:${ol}}.${e} .${Rv}::before{content:${K5[o]}}`}function epe(e){return e==="hairline"?"border border-line hover:border-accent":""}var Lv=[{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 q$}from"efficient-easel/draw";import{jsx as _o}from"react/jsx-runtime";import{SettingsDefaultReset as e3,SettingsField as yh}from"efficient-easel/panel";import{useSelectedHost as o3}from"efficient-easel/easel";import{FOCAL_DEFAULT as t3}from"efficient-shell/format";import{ImageIcon as Sh,PlayIcon as Bv}from"efficient-easel/icons";import{ImageFocusPoint as a3,MediaUploadField as r3}from"efficient-shell/ui";import{useContext as n3}from"react";import{ScreenDocumentContext as s3}from"efficient-easel/screen/components/ScreenDocumentContext";import{phoneKey as l3,tabletKey as Dv}from"efficient-easel/draw";import{usePreviewDevice as i3}from"efficient-easel/draw/client";import{formatFocal as V5,parseFocal as q5}from"efficient-shell/format";var Y5="sf-focus-phone",X5="--sf-focus-phone",Z5="sf-focus-tablet",J5="--sf-focus-tablet",tl=e=>{if(typeof e!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(e))return null;let{x:o,y:t}=q5(e);return V5(o,t)};function Fv(e,o){return Qs(Q5,null,tl(o),tl(e))}var Q5={tabletClass:Z5,tabletVar:J5,phoneClass:Y5,phoneVar:X5};import{shownTier as wh}from"efficient-easel/screen/lib/document/device-fields";import{onDesktopWords as c3}from"efficient-easel/screen/lib/document/box-fields";import{requestMediaPick as d3}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as f3}from"efficient-easel/screen/lib/host";import{useEaselSession as u3}from"efficient-easel/screen/lib/session-context";function p3(e,o,t,a=!0){let r=wh(t),n=typeof e[o]=="string"&&e[o]?String(e[o]):t3;if(r==="desktop")return{ownView:!1,followed:n,followsView:"desktop",own:void 0,focus:n,key:o};let s=r==="tablet"?Dv(o):l3(o),l=tl(e[s])??void 0,c=r==="mobile"&&a?tl(e[Dv(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 m3(e,o,t){let a=o3();if(!o||!a)return null;let r=a.values??{};if(t&&!t(r,wh(e)))return null;let n=p3(r,o,e,t?t(r,"tablet"):!0),s=a.onChange;return{...n,set:l=>s(n.key,l),clear:()=>s(n.key,Gc)}}function Nv({value:e,onChange:o,label:t,accept:a,placeholder:r,focusKey:n,focusWhen:s,frameKey:l,fieldKey:c}){let d=f3(),f=u3(),m=i(t),u=i3(),x=a.startsWith("video"),I=m3(u,x?void 0:n,s),y=!!n&&wh(u)!=="desktop",P=n3(s3),C=Ch(),S=l&&c?{video:c,frame:l}:null,g=T=>d3(d,{accept:a,title:m,...T?{file:T}:{}}).then(B=>!B||!S?B?.url??null:(C({[S.video]:B.url,[S.frame]:B.posterUrl??""}),null)),v=S?T=>T?o(T):C({[S.video]:"",[S.frame]:""}):o,k=Co(e);if(y&&(!I||!k))return null;if(P&&!P.capabilities.mediaEditing)return _o(yh,{label:m,icon:x?_o(Bv,{}):_o(Sh,{}),children:_o("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=I?.ownView&&k?_o(e3,{words:ee()?.panel,label:i("Image focus"),changed:!!I.own,detail:c3(T=>i(T),I.followed,I.followsView),onReset:I.clear}):void 0;return y&&I?_o(yh,{label:m,icon:_o(Sh,{}),action:F,children:_o("div",{style:{flex:"1 1 auto",minWidth:0},children:_o(a3,{value:I.focus,onChange:I.set,label:i("Image focus"),image:k,hint:null})})}):_o(yh,{label:m,icon:x?_o(Bv,{}):_o(Sh,{}),children:_o("div",{style:{flex:"1 1 auto",minWidth:0},children:_o(r3,{value:k,onChange:v,onPick:g,accept:x?"video/*":"image/*",kind:x?"video":"image",placeholder:r===void 0?void 0:i(r),maxSizeBytes:Ue(f).media.maxUploadBytes,...I?{focus:I.focus,onFocusChange:I.set}:{}})})})}import{jsx as Mv}from"react/jsx-runtime";import{useId as h3}from"react";import{FieldSelect as x3}from"efficient-easel/fields";import{SettingsField as I3}from"efficient-easel/panel";function g3(e){return e.map(({value:o,label:t,note:a})=>({value:o,label:t,...a?{meta:a}:{}}))}function Hv({label:e,options:o,value:t,onChange:a,emptyLabel:r,icon:n,hint:s}){let l=h3(),c=`${l}-label`,d=`${l}-button`,f=Array.isArray(t)?t:[];return Mv(I3,{label:i(e),labelId:c,icon:n,hint:s,children:Mv(x3,{id:d,multiple:!0,value:f,options:g3(o),onChange:a,placeholder:r===void 0?i("None"):i(r),ariaLabelledBy:`${c} ${d}`,inline:!0})})}import{jsx as oo,jsxs as br,Fragment as J3}from"react/jsx-runtime";import{useCallback as ok,useContext as Q3,useId as rk,useRef as tk,useState as ak}from"react";import{ThemeIcon as e6}from"efficient-easel/icons";import{Button as o6,useClickOutside as t6}from"efficient-shell/ui";import{SettingsField as a6}from"efficient-easel/panel";import{ScreenDocumentContext as r6}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as ne,jsxs as _a,Fragment as P3}from"react/jsx-runtime";import{parseHexColor as E3}from"efficient-shell/format";import{Button as kh,IconButton as O3,Tooltip as _3}from"efficient-shell/ui";import{jsx as Oa,jsxs as b3}from"react/jsx-runtime";import{AccentIcon as y3}from"efficient-easel/icons";import{Button as S3,Tooltip as w3}from"efficient-shell/ui";function vh(e){return Po(e).background}function C3(e){let o=ya(e.accent,vh(e));return o===null?null:{ratio:o,grade:fn(o)}}function v3(e){let o=vh(e),t=ya(e.accent,o);return t===null?[]:nS(e.accent).filter(a=>{let r=ya(a,o);return r!==null&&r>t&&fn(r)==="good"})}var k3={good:"Easy to read","large-only":dn["large-only"],hard:dn.hard};function Wv({value:e,onChange:o}){let t=C3(e),a=t?.grade,r=t&&t.grade!=="good"?v3(e):[];return Oa(Yo,{label:i("Main color"),icon:Oa(y3,{}),hint:t?i(k3[t.grade]):void 0,value:e.accent,onChange:n=>o({...e,accent:n}),children:r.length>0?Oa("div",{className:"w-full min-w-0",children:b3("div",{className:"sf-readability",children:[Oa("p",{className:"sf-readability-advice",children:T3(a,!0)}),Oa("div",{className:"sf-readability-suggestions",children:r.map(n=>{let s=ya(n,vh(e));return Oa(w3,{content:i("Use {colour}",{colour:n.toUpperCase()}),children:Oa(S3,{variant:"secondary",className:"sf-readability-suggestion",leftIcon:Oa("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 T3(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 A3,ChevronDownIcon as $v,ChevronUpIcon as R3,GroundIcon as L3,LayoutIcon as F3,SquareIcon as B3,TextSmallIcon as D3,TypeIcon as zv}from"efficient-easel/icons";var al=e=>i("Theme {n}",{n:e+1});function Gv({colors:e}){let o=Po(e),t=_s(e)??o.accent;return _a("span",{className:"sf-theme-page",style:{background:o.background,color:o.text},"aria-hidden":!0,children:[ne("span",{className:"sf-theme-eyebrow",style:{color:o.muted},children:i("label")}),_a("span",{className:"sf-theme-headline",children:[i("Heading")," ",ne("span",{style:{color:o.accent},children:i("main")})]}),ne("span",{className:"sf-theme-body",children:i("body text")}),_a("span",{className:"sf-theme-row",children:[ne("span",{className:"sf-theme-btn",style:{background:t,color:Lp(e,o.accent)},children:i("button")}),ne("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:i("card")})]})]})}var Th={"Text color":ne(zv,{}),"Label color":ne(D3,{}),Background:ne(L3,{}),"Panels & cards":ne(F3,{}),Borders:ne(B3,{}),"Button color":ne(A3,{}),"Button text color":ne(zv,{})};function N3({label:e,colorKey:o,value:t,onChange:a,idPrefix:r="sf-theme-ink"}){let n=`${r}-${o}`;return ne(Yo,{label:i(e),icon:Th[e],id:n,value:t,onChange:s=>a(o,s)})}function M3({value:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button`,n=e!==void 0&&E3(e)===e.toLowerCase(),s=n?e:o;return ne(Yo,{label:i("Button color"),icon:Th["Button color"],id:r,value:s,caption:n?s:i("Main"),onChange:t})}function H3({colors:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button-ink`,n=sS(e),s=Lp(e,o),l=_s(e)??o,c=fn(ya(s,l)??0);return ne(Yo,{label:i("Button text color"),icon:Th["Button text color"],hint:n&&c!=="good"?i("{grade} on the button",{grade:i(dn[c])}):void 0,id:r,value:s,caption:n?s:i("Auto"),onChange:t})}var W3=[{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 Ph({colors:e,onChange:o,idPrefix:t}){let a=Po(e);return ne(P3,{children:W3.map(r=>"colour"in r?ne(Wv,{value:e,onChange:o},"colour"):"moduleBreak"in r?ne("div",{className:"sf-theme-module-break","aria-hidden":"true"},"module-break"):"button"in r?ne(M3,{value:e.button,accent:a.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in r?ne(H3,{colors:e,accent:a.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):ne(N3,{label:r.label,colorKey:r.key,value:a[r.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},r.key))})}function Kc({index:e,colors:o,selected:t,role:a="radio",open:r,editable:n=!0,onPick:s,onEdit:l,onChangeColors:c}){let d=Po(o),f=al(e),m=e<Rp.length&&!o.brandInk?Rp[e]:null,u=fn(ya(d.text,d.background)??0),x=m?JSON.stringify(o)!==JSON.stringify(m):!1,I=r!==void 0;return _a("div",{className:`sf-theme-card${t?" is-selected":""}`,children:[ne("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:ne(Gv,{colors:o})}),_a("div",{className:"sf-theme-foot",children:[ne("span",{className:"sf-theme-name",children:f}),u!=="good"&&ne("span",{className:"sf-theme-warn",children:i(dn[u])}),n&&l&&I&&ne("span",{className:"sf-theme-edit",children:ne(_3,{content:r?i("Collapse"):i("Edit colors"),children:ne(O3,{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?ne(R3,{size:14}):ne($v,{size:14})})})}),n&&l&&!I&&ne(kh,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":i("Edit {name}",{name:f}),onClick:l,children:i("Edit")})]}),r&&_a("div",{id:`sf-theme-colours-${e}`,className:"sf-theme-colours",children:[ne(Ph,{colors:o,onChange:y=>c?.(y)}),m&&ne(kh,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!x,onClick:()=>c?.({...m}),children:x?i("Reset {name} to the preset",{name:f}):i("Not changed")})]})]})}function Uv({colors:e,name:o,nameId:t,open:a,menuId:r,labelId:n,buttonRef:s,onClick:l,onKeyDown:c,onEdit:d}){return _a("div",{className:"sf-secttheme-btn",children:[ne("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?ne(Gv,{colors:e}):ne("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),_a("div",{className:"sf-theme-foot",children:[ne("span",{id:t,className:"sf-theme-name",children:o}),d&&ne(kh,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":i("Edit {name}",{name:o}),onClick:d,children:i("Edit")}),ne("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:l,children:ne($v,{size:12,className:"sf-multi-caret","aria-hidden":"true"})})]})]})}import{useCallback as Lh,useEffect as Yv,useRef as Xc}from"react";import{currentEaselSession as G3}from"efficient-easel/screen/lib/session";import{useEaselSession as U3}from"efficient-easel/screen/lib/session-context";import{useSyncExternalStore as z3}from"react";var Kv,Eh=null,gr=null,Vc=0,Oh=new Set;function _h(e){Kv=e;for(let o of Oh)o()}function Ah(e){Eh=e,Vc+=1,gr&&clearTimeout(gr),gr=null,_h(void 0)}function qc(e){Vc+=1,_h(e)}function Jt(e=250){Eh&&(gr&&clearTimeout(gr),gr=setTimeout(()=>{gr=null;let o=Eh;if(!o)return;let t=++Vc;o().then(a=>{t===Vc&&_h(a)}).catch(()=>{})},e))}function jv(){return Kv}function $3(e){return Oh.add(e),()=>{Oh.delete(e)}}function Yc(){return z3($3,jv,jv)}var Rh=new Set;function Vv(e){return Rh.add(e),()=>{Rh.delete(e)}}async function qv(){let e=(await Promise.allSettled([...Rh].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}import{WebsiteBackendError as j3}from"efficient-easel/screen/lib/backend-error";function Xv(e=G3()){return(o,t,a)=>{let r=Ue(e).theme;return r?r.update(o,a?{siteId:a}:void 0):Promise.reject(new j3("invalid","This backend stores no site theme."))}}function Zv(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function K3(e,o=Xv()){let{themeFromDocument:t,token:a,siteId:r,patch:n}=e,s=Zv({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 Cn({themeFromDocument:e,tokenRef:o,siteId:t,onResult:a}){let r=Xc(null),n=Xc({}),s=U3(),l=Xc(a);l.current=a;let c=Xc(null),d=Lh(u=>{if(u.status==="skipped"){let x=`skipped:${u.reason}`;if(c.current===x)return;c.current=x}else c.current=null;l.current?.(u)},[]),f=Lh(async()=>{r.current&&(clearTimeout(r.current),r.current=null);let u=n.current;n.current={};let x=await K3({themeFromDocument:e,token:o?.current,siteId:t,patch:u},Xv(s));return d(x),x.status==="saved"&&Jt(),x.status==="failed"&&(n.current={...u,...n.current}),x},[e,o,t,d,s]),m=Lh((u,x=!1)=>{let I=Zv({themeFromDocument:e,token:o?.current});if(I){d(I);return}n.current={...n.current,...u},r.current&&clearTimeout(r.current),x?f():r.current=setTimeout(()=>{f()},500)},[e,o,f,d]);return Yv(()=>()=>{f()},[f]),Yv(()=>Vv(async()=>{if(!r.current&&Object.keys(n.current).length===0)return;let u=await f();if(u.status==="failed")throw u.error}),[f]),{persist:m,flush:f}}var Fh=[{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}],V3=Fh.filter(e=>e.ink);function q3(e){let o={color:e.fg};for(let{role:t,token:a}of V3)o[a]=e[t];return o}var Y3={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},Jv=Object.freeze(q3(Y3));var Aa=-1,X3="sf-section-accent",Qv="Color",ek=new Set(["CategoryBar","DocTabs"]),cme=new Set(["Flex"]),Bh=0;function It(e){return e===Aa?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:Bh}function Dh(e){return e??Aa}function Z3(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 Fh)t[`--sf-sec-${a}`]=`var(${o}-${a}, var(--theme-${a}))`;return t}function dme(e){let o=It(e.sectionAccent);return o===null?null:{className:X3,style:Z3(o)}}var n6="Follow the page",vme="Follow the slideshow",s6=e=>i("Editing {name} changes it everywhere.",{name:e});function l6({colors:e}){if(!e)return oo("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=Po(e);return br("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[oo("i",{style:{background:o.background}}),oo("i",{className:"sf-secttheme-chip-accent",style:{background:o.accent}})]})}function i6({themes:e,value:o,onPick:t,onEdit:a,menuId:r,followLabel:n}){return br("div",{className:"sf-multi-menu sf-secttheme-menu",id:r,role:"listbox",children:[n!==void 0&&br(J3,{children:[br("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(Aa),children:[oo(l6,{}),oo("span",{className:"sf-secttheme-name",children:i(n)})]}),oo("div",{className:"sf-secttheme-sep",role:"presentation"})]}),o!==null&&e[o]&&oo("p",{className:"sf-secttheme-oncard",role:"presentation",children:i("{name} is on this section",{name:al(o)})}),e.map((s,l)=>l===o?null:oo(Kc,{role:"option",index:l,colors:s,selected:!1,onPick:()=>t(l),onEdit:()=>a(l)},l))]})}function c6({index:e,colors:o,onChange:t,onDone:a}){let r=al(e),n=rk();return br("div",{className:"sf-secttheme-sheet",children:[br("div",{className:"sf-secttheme-sheet-head",children:[oo("span",{children:r}),oo(o6,{variant:"secondary",className:"sf-secttheme-done",onClick:a,children:i("Done")})]}),oo("div",{className:"sf-secttheme-rows",children:oo(Ph,{colors:o,onChange:t,idPrefix:n})}),oo("p",{className:"sf-secttheme-warn",children:s6(r)})]})}function nk({value:e,onChange:o,followLabel:t,hint:a}){let{theme:r,setTheme:n}=de(),s=Qe(r),l=Q3(r6),c=l?.tokenRef,d=l?.siteId??null,f=!l?.capabilities?.hasSiteTheme,{persist:m,flush:u}=Cn({themeFromDocument:f,tokenRef:c,siteId:d}),x=Qe(s),I=x.themes,y=It(e),P=y!==null?I[y]:void 0,C=P??(I.length?cn(x):void 0),[S,g]=ak(!1),[v,k]=ak(null),F=tk(null),T=tk(null),B=rk(),E=ok(()=>{g(!1),k(null)},[]),A=ok(()=>{!S&&v===null||(u(),E())},[S,v,E,u]);t6(F,A);let N=_=>{o(_),E()},b=_=>{if(v===null)return;let R=I.map((q,V)=>V===v?_:q),M={...x,themes:R};n(M),m({selected_preset:M.selected,theme_presets:M.themes})};return br("div",{className:"sf-secttheme",ref:F,children:[oo(a6,{label:i("Theme"),icon:oo(e6,{}),labelId:`${B}-label`,hint:a,children:oo(Uv,{colors:C,onEdit:y!==null?()=>{k(y),g(!1)}:void 0,name:P?al(y):i(t??n6),nameId:`${B}-value`,labelId:`${B}-label`,open:S,menuId:B,buttonRef:T,onClick:()=>{k(null),g(_=>!_)},onKeyDown:_=>{_.key==="Escape"&&(S||v!==null)&&(_.preventDefault(),E())}})}),S&&v===null&&oo("div",{onKeyDown:_=>{_.key==="Escape"&&(_.preventDefault(),E(),T.current?.focus())},children:oo(i6,{themes:I,value:y,onPick:N,onEdit:_=>{k(_),g(!1)},menuId:B,followLabel:t})}),v!==null&&I[v]&&oo(c6,{index:v,colors:I[v],onChange:b,onDone:()=>{u(),E(),T.current?.focus()}})]})}import{jsx as sk}from"react/jsx-runtime";import{useId as d6}from"react";import{FieldSelect as f6}from"efficient-easel/fields";import{SettingsField as u6}from"efficient-easel/panel";function p6(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 Ame({label:e,options:o,fallback:t,value:a,onChange:r,placeholder:n,bare:s=!1,icon:l}){let c=d6(),d=`${c}-label`,f=`${c}-button`,m=a??"",u=o.some(P=>P.value===m)?m:t,x=i(e),I=n===void 0?void 0:i(n),y=sk(f6,{id:f,value:u,options:p6(o),onChange:r,placeholder:I,searchPlaceholder:I,...s?{ariaLabel:x}:{ariaLabelledBy:`${d} ${f}`},searchable:!0,groupCount:!0,inline:!0});return s?y:sk(u6,{label:x,labelId:d,icon:l,children:y})}import{jsx as Sr,jsxs as K6}from"react/jsx-runtime";import{SettingsField as _k}from"efficient-easel/panel";import{LinkIcon as V6}from"efficient-easel/icons";import{LinkPicker as q6,TextLinkField as Y6}from"efficient-shell/ui";import{useEffect as Ok,useMemo as ed,useRef as X6,useState as Qc}from"react";import{currentEaselSession as m6}from"efficient-easel/screen/lib/session";function lk(){return m6().auth.token}import{currentEaselSession as Z6}from"efficient-easel/screen/lib/session";import{useScreenDocument as J6}from"efficient-easel/screen/components/ScreenDocumentContext";var h6=()=>({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 ik(e,o,t){if(!e)return"page";if(lv(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(dv(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 Nh(e,o){let t=h6(),a=e.pages.map(f=>({value:Js(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:cv(...f.docs).map(m=>({value:Fc(f.slug,m.slug),label:m.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(m=>({value:iv(m.slug),label:m.title||m.slug})),placeholder:t.choosePost};case"product":return{type:"select",options:e.products.map(m=>({value:m.href,label:m.name||m.href})),placeholder:t.chooseProduct};case"popup":return{type:"select",options:(e.popups??[]).map(m=>({value:sv(m.slug),label:m.title||m.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},c=nv(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=>ik(f,n),targetOf:f=>f,readFilter:()=>null,withFilter:f=>f}};let d=f=>{let m=o.withFilter(f,null);return o.listingPaths.includes(m)?m:f};return{kinds:c,rules:{kindOf:f=>ik(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 Q6}from"efficient-easel/screen/lib/session-context";var j=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0;function fo(e,o){if(typeof e=="string")return e||o;if(e&&typeof e=="object"&&"text"in e){let t=e.text;return Q(t)??o}return o}function ck(e,o){return j(e)??o}function Qt(e,o){return typeof e=="boolean"?e:o}function Zc(e,o){if(!Array.isArray(e))return o;let t=e.map(a=>typeof a=="string"?a:fo(a?.text,"")).map(a=>a.trim()).filter(Boolean);return t.length?t:o}var fk=["delay","scroll","exit"],uk=["all","chosen","except"],pk=["visit","days","never","once"],x6=["all","desktop","phone"],I6=["stop","continue"],mk={min:0,max:60},hk={min:10,max:90},xk={min:1,max:90},gt={autoOpen:!1,trigger:"delay",autoOpenDelaySec:15,scrollPercent:50,showOn:"all",showOnPages:[],devices:"all",hideAfter:"days",hideDays:7,afterSubmit:"stop",startDate:null,endDate:null};function Wo(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function vn(e,o,t){let a=ck(e,t);return Math.min(o.max,Math.max(o.min,Math.round(a)))}function g6(e){return typeof e.hideAfter=="string"?Wo(pk,e.hideAfter,gt.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":gt.hideAfter}function b6(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function dk(e){if(typeof e!="string")return null;let o=e.trim();return/^\d{4}-\d{2}-\d{2}$/.test(o)?o:null}function Ik(e){let o=e??{},t=gt;return{autoOpen:Qt(o.autoOpen,t.autoOpen),trigger:Wo(fk,o.trigger,t.trigger),autoOpenDelaySec:vn(o.autoOpenDelaySec,mk,t.autoOpenDelaySec),scrollPercent:vn(o.scrollPercent,hk,t.scrollPercent),showOn:Wo(uk,o.showOn,t.showOn),showOnPages:b6(o.showOnPages),devices:Wo(x6,o.devices,t.devices),hideAfter:g6(o),hideDays:vn(o.hideDays,xk,t.hideDays),afterSubmit:Wo(I6,o.afterSubmit,t.afterSubmit),startDate:dk(o.startDate),endDate:dk(o.endDate)}}import{parseHexColor as y6}from"efficient-shell/format";var bt="#000000";var Mh="popup",S6=gn,w6=["auto","full"],C6=["inside","outside","none"],v6={min:240,max:1440},k6={min:0,max:100},rl={placement:"center",fullWidth:!1,width:720,height:"auto",tintColor:bt,tintOpacity:60,outsideClick:!0,closeButton:"inside"};function T6(e,o){let t=typeof e=="string"?e.trim():"";return t&&y6(t)===t.toLowerCase()?t:o}function Hh(e,o=rl){let t=e??{},a=o;return{placement:Wo(S6,t.placement,a.placement),fullWidth:Qt(t.fullWidth,a.fullWidth),width:vn(t.width,v6,a.width),height:Wo(w6,t.height,a.height),tintColor:T6(t.tintColor,a.tintColor),tintOpacity:vn(t.tintOpacity,k6,a.tintOpacity),outsideClick:Qt(t.outsideClick,a.outsideClick),closeButton:Wo(C6,t.closeButton,a.closeButton)}}var gk="cart-drawer",ehe="cart-drawer",P6={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 ohe(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function the(e){let o=e??{},t=P6;return{kickerBadge:fo(o.kickerBadge,t.kickerBadge),kickerText:fo(o.kickerText,t.kickerText),titleLead:fo(o.titleLead,t.titleLead),titleAccent:fo(o.titleAccent,t.titleAccent),subtitleEmpty:fo(o.subtitleEmpty,t.subtitleEmpty),subtitleOne:fo(o.subtitleOne,t.subtitleOne),subtitleMany:fo(o.subtitleMany,t.subtitleMany),leadTimeValue:fo(o.leadTimeValue,t.leadTimeValue),shipsToFallback:fo(o.shipsToFallback,t.shipsToFallback),promises:Zc(o.promises,t.promises),emptyKicker:fo(o.emptyKicker,t.emptyKicker),emptyBody:fo(o.emptyBody,t.emptyBody)}}var E6=["right","left"],O6={...rl,width:520,tintOpacity:68};function ahe(e){let o=e??{};return{...Hh(o,O6),placement:Wo(E6,o.placement,"right"),height:"full",fullWidth:!1,autoOpen:Qt(o.autoOpen,!0)}}var yk="consent-banner",lhe="consent-banner";var _6=[{value:"bar",label:"Bar"},{value:"card",label:"Card"}],ihe="Layout",bk={layout:"bar"},A6=e=>_6.some(o=>o.value===e);function che(e){let o=fo((e??{}).layout,bk.layout);return{layout:A6(o)?o:bk.layout}}var dhe={...rl,placement:"bottom-center",fullWidth:!0,width:440,tintOpacity:0,outsideClick:!1,closeButton:"none"};var R6="consentWords",L6=["eyebrow","notice","accept","reject","choose"];function Wh(e){let o=(e??{})[R6];return typeof o=="string"&&L6.includes(o)?o:null}function zh(e){let o=e?.props;return o?Wh(o)!==null?!0:Object.values(o).some(t=>Array.isArray(t)&&t.some(a=>a&&typeof a=="object"&&"props"in a&&zh(a))):!1}var F6=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],phe={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"},B6={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"},mhe={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 Sk(e){let o={};for(let t of F6){let a=Yt(e[B6[t]]);a&&(o[t]=a)}return o}var wk={heading:"Join our email list",placeholder:"Email address",buttonLabel:"Subscribe"},D6={lead:"We accept"},Ck={...D6,methods:[],size:"sm",align:"start",dataSource:WS},yt="site-footer";var Ihe=yt,ghe={desktop:!0,tablet:!0,mobile:!0},bhe={desktop:!1,tablet:!1,mobile:!1},$h=1,vk=6,yhe=Array.from({length:vk-$h+1},(e,o)=>$h+o),Jc={desktop:6,tablet:3,mobile:2},N6={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}},yr=e=>Math.min(Math.max(Math.round(e),$h),vk);function She(e){if(typeof e=="number")return N6[yr(e)]??{desktop:yr(e),tablet:yr(e),mobile:yr(e)};if(e&&typeof e=="object"){let o=e;return{desktop:yr(o.desktop??Jc.desktop),tablet:yr(o.tablet??Jc.tablet),mobile:yr(o.mobile??Jc.mobile)}}return{...Jc}}var Gh="subscribe-popup",Ohe="subscribe-popup",M6=[Gh,yt,gk,yk];function Tk(e){return M6.includes(e)}var H6=["right","left"],W6={metaLabel:"Meta label",issueLabel:"Label",issueNumber:"00",kicker:"Kicker",heading:`Main heading
|
|
67
|
+
*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:gt.autoOpen,autoOpenDelaySec:gt.autoOpenDelaySec,formSlug:"",trigger:gt.trigger,scrollPercent:gt.scrollPercent,showOn:gt.showOn,showOnPages:[],hideAfter:gt.hideAfter,hideDays:gt.hideDays,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},je=fo,z6=Qt,Pk=Zc;function kk(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 $6(e,o){return Array.isArray(e)?Pk(e,[]):o}function G6(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 Ahe(e){let o=e??{},t=W6,a=Ik(o);return{metaLabel:je(o.metaLabel,t.metaLabel),issueLabel:kk(o.issueLabel,t.issueLabel),issueNumber:kk(o.issueNumber,t.issueNumber),kicker:je(o.kicker,t.kicker),heading:je(o.heading,t.heading),deck:je(o.deck,t.deck),stats:G6(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:Pk(o.interests,t.interests),frequencyLabel:je(o.frequencyLabel,t.frequencyLabel),frequencies:$6(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:Wo(H6,o.formSide,t.formSide),valuePanelOnPhone:z6(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:Sk(o)}}function U6(e,o=Math.random){for(;;){let t=`popup-${Math.floor(o()*2176782336).toString(36).padStart(6,"0")}`;if(!e.has(t))return t}}function j6(e){return{root:{props:{title:e,kind:Mh}},content:[],zones:{}}}function Ek(e,o,t){return{slug:U6(o,t),title:e,kind:Km,layout:j6(e)}}function nl(e){return e?.root?.props?.kind===Mh}function Ak(e){let o=new Map;return(t="")=>{let a=lk(),r=o.get(t);if(!r||r.token===null&&a!==null){let n=a||!Z6().usesBridgedToken?e(a??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:a}),n}return r.promise}}var eW=Ak(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}))}),oW=Ak(async(e,o)=>await Ue().blog?.posts(o?{siteId:o}:void 0)??[]);function tW({value:e,onChange:o,label:t="Link",data:a,filters:r}){let n=ed(()=>Nh(a,r),[a,r]),s=i(t);return Sr(_k,{label:s,icon:Sr(V6,{}),children:Sr(q6,{value:e,onChange:l=>o(l),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function Rk(){let{siteId:e,capabilities:o}=J6(),{offersCommerce:t,hasBlog:a}=o,[r,n]=Qc([]),[s,l]=Qc([]),[c,d]=Qc([]),[f,m]=Qc(null),u=Q6().chrome,x=u?.products?.list,I=u?.linkFilters,y=I?void 0:u?.linkRow,P=X6(!0);Ok(()=>(P.current=!0,()=>{P.current=!1}),[]),Ok(()=>{let g=!0;return eW(e??void 0).then(v=>g&&P.current&&n(v)),a&&oW(e??void 0).then(v=>g&&P.current&&l(v)),t&&x?.().then(v=>g&&P.current&&d(v)),t&&I?I.load(e).catch(()=>null).then(v=>g&&P.current&&m(()=>v)):m(null),()=>{g=!1}},[e,t,a,x,I]);let C=ed(()=>({pages:r.filter(g=>!Tk(g.slug)&&!nl(g.layout)).map(g=>({slug:g.slug,title:g.label,docs:[g.layout]})),popups:r.filter(g=>g.slug===Gh||nl(g.layout)).map(g=>({slug:g.slug,title:g.label})),posts:a?s.map(g=>({slug:g.slug,title:g.title})):[],products:t?c.map(g=>({href:g.href,name:g.name})):[],offers:{offersCommerce:t,offersService:a}}),[r,s,c,t,a]),S=ed(()=>f?f(C.pages):null,[f,C]);return{data:C,filters:S,pages:r,offersCommerce:t,HostLinkRow:y}}function Zhe({label:e,icon:o,text:t,onTextChange:a,link:r,onLinkChange:n}){let{data:s,filters:l}=Rk(),c=ed(()=>Nh(s,l),[s,l]),d=i(e);return Sr(_k,{label:d,icon:o,children:Sr(Y6,{label:d,text:t,onTextChange:a,link:r,onLinkChange:f=>n(f),kinds:c.kinds,rules:c.rules,filtersFor:c.filtersFor})})}function Lk({value:e,onChange:o,label:t="Link"}){let a=typeof e=="string"?e:"",{data:r,filters:n,pages:s,offersCommerce:l,HostLinkRow:c}=Rk(),d=r.pages.map(m=>Js(m.slug)),f=l&&c&&(a==="/"||d.includes(a))?c:void 0;return K6("div",{children:[Sr(tW,{value:a,onChange:o,label:t,data:r,filters:n}),f&&Sr(f,{value:a,onChange:o,pages:s})]})}import{UiIcon as DT}from"efficient-easel/draw/client";import{phoneKey as sl,resolveViewValue as aW,tabletKey as ll}from"efficient-easel/draw";import{SECTION_PAD_UNIT_KEY as rW,convertLength as nW,isLengthUnit as Bk,sideLengthAt as sW,withLength as Uh}from"efficient-easel/screen/lib/content/length-units";var Xo={min:10,max:200,step:10};function lW(e,o,t,a=0){let r=j(e),n=j(o);if(r===void 0&&n===void 0)return;let s=od(t),l=c=>c===void 0?void 0:s==="px"?c:Uh(c,s,a);return{paddingTop:l(r),paddingBottom:l(n)}}var od=e=>Bk(e)?e:"px",iW="sf-pad-top-phone",cW="sf-pad-bottom-phone",dW="--sf-pad-t-phone",fW="--sf-pad-b-phone",uW="sf-pad-left-phone",pW="sf-pad-right-phone",mW="--sf-pad-l-phone",hW="--sf-pad-r-phone",xW="sf-pad-top-tablet",IW="sf-pad-bottom-tablet",gW="sf-pad-left-tablet",bW="sf-pad-right-tablet",yW="--sf-pad-t-tablet",SW="--sf-pad-b-tablet",wW="--sf-pad-l-tablet",CW="--sf-pad-r-tablet";function ad(e){let o={desktop:e.unit,tablet:e.unitTablet,phone:e.unitPhone},t=lW(e.top,e.bottom,e.unit,e.frame),a=jh({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 vW=[["top","paddingTop",[xW,yW],[iW,dW]],["bottom","paddingBottom",[IW,SW],[cW,fW]],["left","paddingLeft",[gW,wW],[uW,mW]],["right","paddingRight",[bW,CW],[pW,hW]]];function axe(e,o,t){return!Bk(o)||o==="px"?e:nW(e,"px",o,t,{min:0,max:Xo.max,step:1})}function kW(e,o,t,a={},r=0){let n=(x,I)=>{if(I==="px")return`${x}px`;let y=Uh(x,I,r);return typeof y=="number"?`${y}px`:y},s={n:e,[ll("n")]:o,[sl("n")]:t,u:a.desktop,[ll("u")]:a.tablet,[sl("u")]:a.phone},l=aW("spacing",e,o,t,lr()),c=(x,I,y)=>{let P=sW(s,{side:"n"},"u",x,"side");if(!P)return;let C=I!==null&&!y&&P.unit==="px"&&typeof l[I]=="number";return n(C?l[I]:P.value,P.unit)},d=c("desktop",null,!0),f={},m=c("tablet","tablet",o!==void 0);m!==void 0&&(o!==void 0||m!==d)&&(f.tablet=m);let u=c("mobile","phone",t!==void 0);return u!==void 0&&(t!==void 0||u!==d)&&(f.phone=u),f}function jh(e,o,t={},a=e,r={},n=0){let s={},l={},c=[];for(let[d,f,...m]of vW){let u=j(e[d]),x=d==="top"||d==="bottom"?n:0;u!==void 0&&(s[f]=od(r.desktop)==="px"?u:Uh(u,od(r.desktop),x));let I=kW(j(a[d]),j(t[d]),j(o[d]),r,x);for(let[y,[P,C]]of[["tablet",m[0]],["phone",m[1]]]){let S=I[y];S!==void 0&&(c.push(P),l[C]=S)}}return{classes:c,style:{...s,...l}}}function Fk(e,o,t){let a=j(e)??t,r=j(o);return a===void 0?r:r===void 0?a:a+r}function rd(e,o={}){return{top:Fk(e.padTop,e.sectionPaddingTop,o.top),bottom:Fk(e.padBottom,e.sectionPaddingBottom,o.bottom)}}var td={top:"sectionPaddingTop",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft",right:"sectionPaddingRight"};function Dk(e,o=td,t=!0,a=o===td?rW:void 0){let r={};a&&(e[a]!==void 0&&(r.unit=e[a]),e[ll(a)]!==void 0&&(r.unitTablet=e[ll(a)]),e[sl(a)]!==void 0&&(r.unitPhone=e[sl(a)]));for(let n of t?["top","bottom","left","right"]:["top","bottom"])r[n]=e[o[n]],r[`${n}Tablet`]=e[ll(o[n])],r[`${n}Phone`]=e[sl(o[n])];return r}function Nk(e){return ad(e)}function Mk(e,o){let t=(a,r)=>typeof a!="number"?void 0:od(r)==="px"?a+o:a;return ad({...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 nd,buttonBorderOf as TW,buttonFillOpacityOf as PW,buttonPadSidesOf as EW}from"efficient-easel/draw";import{BUTTON_PAD_UNIT_KEY as Kh}from"efficient-easel/screen/lib/content/length-units";var OW="px-6 py-4",_W=4,sd=e=>{let o=new RegExp(`\\bp${e}-(?:\\[(\\d+)px\\]|(\\d+))`).exec(OW);if(!o)throw new Error(`BUTTON_PAD_CLASSES has no p${e}`);return o[1]!==void 0?Number(o[1]):Number(o[2])*_W},fxe={top:sd("y"),right:sd("x"),bottom:sd("y"),left:sd("x")},Wk="var(--btn)";function AW(e){let o=e.variant==="ghost",t=PW(e.buttonFillOpacity),a=TW(e.buttonBorder),r=Q(e.buttonColor);return{fillOpacity:t??(o?0:100),border:{width:a?.width??1,color:a?.color??r??(o?"currentColor":Wk)},changed:t!==void 0||a!==void 0}}function uxe(e){let o=AW(e);if(!o.changed)return null;let t=Q(e.buttonColor)??Wk;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 RW="var(--sf-button-radius, 0)";function pxe(e){let o=j(e.buttonCorners),t=Bt(e.buttonCornerSides);if(o===void 0&&t===null)return null;let a=o===void 0?RW:`${Math.max(0,o)}px`;return{borderRadius:t===null?a:mr(a,t)}}function mxe(e){let o=n=>EW({top:e[`${nd.top}${n}`],right:e[`${nd.right}${n}`],bottom:e[`${nd.bottom}${n}`],left:e[`${nd.left}${n}`]})??{},t={desktop:e[Kh],tablet:e[`${Kh}Tablet`],phone:e[`${Kh}Phone`]},{classes:a,style:r}=jh(o(""),o("Phone"),o("Tablet"),void 0,t);return Object.keys(r).length?{className:a.join(" "),style:r}:null}var Hk="upper";function zk(e,o,t){let a=e&&typeof e=="object"?e:{},r=Q(a.textStyle),n=r?Q(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=Q(a.case)??Hk;return`${l} \xB7 ${c[d]??c[Hk]}`}import{usePreviewParts as Y$}from"efficient-easel/draw/client";import{encodePartId as X$}from"efficient-easel/draw";import{DEFAULT_EASEL_STRINGS as Z$,useEaselStrings as J$}from"efficient-easel/strings";import{LENGTH_UNITS as LW}from"efficient-easel/screen/lib/content/length-units";var FW=["auto","fixed","screen"],BW=LW.filter(e=>e==="px"||e==="%"),DW="svh",NW="vh",MW="var(--sf-header-h, 88px)",Vh={min:40,max:2e3,step:10,fallback:600},qh={min:10,max:200,step:5,fallback:100},HW="sf-section-minh",ld="grid-cols-[minmax(0,1fr)]",$k={base:"--sf-section-minh",small:"--sf-section-minh-s"},Yh=e=>typeof e=="string"&&FW.includes(e),WW=e=>typeof e=="string"&&BW.includes(e);function il(e){let o=Yh(e.sectionHeightMode)?e.sectionHeightMode:"auto",t=o==="screen"?"%":WW(e.sectionHeightUnit)?e.sectionHeightUnit:"px",a=o==="screen"?qh.fallback:Vh.fallback,r=typeof e.sectionHeightValue=="number"?e.sectionHeightValue:a;return{mode:o,value:r,unit:t}}function jk(e){let{mode:o,value:t,unit:a}=il(e);if(o==="auto")return;if(o==="fixed"&&a==="px")return[`${t}px`,null];let r=t/100,n=s=>o==="screen"?`(100${s} - ${MW})`:`100${s}`;return[`calc(${n(NW)} * ${r})`,`calc(${n(DW)} * ${r})`]}function Kk(e){let o=jk(e);if(!o)return;let[t,a]=o;return{display:"grid",[$k.base]:t,...a?{[$k.small]:a}:{}}}var Ixe=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),kn="Height",Vk="sf-section-minh-phone",Gk={base:"--sf-section-minh-p",small:"--sf-section-minh-ps"};function Xh(e){return Yh(e.sectionHeightModePhone)}function gxe(e){return il({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone})}var qk="sf-section-minh-tablet",Uk={base:"--sf-section-minh-t",small:"--sf-section-minh-ts"};function cl(e){return Yh(e.sectionHeightModeTablet)}function Yk(e){return il({sectionHeightMode:e.sectionHeightModeTablet,sectionHeightValue:e.sectionHeightValueTablet,sectionHeightUnit:e.sectionHeightUnitTablet})}function Xk(e){let o=Kk(e),t=(l,c,d)=>jk({sectionHeightMode:l,sectionHeightValue:c,sectionHeightUnit:d})??(o?["auto",null]:void 0),a=cl(e)?t(e.sectionHeightModeTablet,e.sectionHeightValueTablet,e.sectionHeightUnitTablet):void 0,r=Xh(e)?t(e.sectionHeightModePhone,e.sectionHeightValuePhone,e.sectionHeightUnitPhone):a;if(!o&&!a&&!r)return null;let n=[HW,ld],s={...o??{}};return a&&(n.push(qk),s[Uk.base]=a[0],a[1]&&(s[Uk.small]=a[1])),r&&(n.push(Vk),s[Gk.base]=r[0],r[1]&&(s[Gk.small]=r[1])),{className:n.join(" "),style:s}}function bxe(e){return Xk(e)!==null}var zW=`grid ${ld}`,Zk="h-full",$W="view-tablet:max-view-desktop:grid",Jk="max-view-tablet:grid",GW=`${Jk} ${ld}`;function Qk(e){let o=Xk(e);if(!o)return"";if(Kk(e))return zW;let t=o.className.split(" ");if(!t.includes(qk))return GW;let a=t.includes(Vk);return[$W,a?Jk:"",ld].filter(Boolean).join(" ")}var id="Stick to top",Ra={min:0,max:200,step:4,fallback:0},UW="sf-section-stick",wxe="sf-scroll-over",jW="sf-section-stick-tablet-on",KW="sf-section-stick-tablet-off",VW="sf-section-stick-phone-on",qW="sf-section-stick-phone-off",Zh={desktop:"--sf-stick-distance",tablet:"--sf-stick-distance-tablet",phone:"--sf-stick-distance-phone"},Cxe=new Set(["CategoryBar","DocTabs","IntroBleed","Contents"]);function Jh(e){let o=j(e)??Ra.fallback;return Math.min(Ra.max,Math.max(Ra.min,Math.round(o)))}function Qh(e){return typeof e.stickTopTablet=="boolean"}function ex(e){return typeof e.stickTopPhone=="boolean"}function cd(e){let o=e.stickTop===!0,t=Jh(e.stickTopDistance),a=Qh(e),r=a?e.stickTopTablet===!0:o,n=a?Jh(e.stickTopDistanceTablet):t,s=ex(e),l=s?e.stickTopPhone===!0:r,c=s?Jh(e.stickTopDistancePhone):n;return{desktop:o,desktopDistance:t,tablet:r,tabletDistance:n,ownTablet:a,phone:l,phoneDistance:c,ownPhone:s}}function vxe(e){let o=cd(e);if(!o.desktop&&!o.tablet&&!o.phone)return null;let t=[UW],a={};return o.desktop&&(a[Zh.desktop]=`${o.desktopDistance}px`),o.ownTablet&&(t.push(o.tablet?jW:KW),o.tablet&&(a[Zh.tablet]=`${o.tabletDistance}px`)),(o.ownPhone||o.ownTablet||o.phone!==o.desktop)&&(t.push(o.phone?VW:qW),o.phone&&(a[Zh.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:a}}var YW=["column","row","tabs","accordion"];var XW={column:"Stacked",row:"One row",tabs:"Tabs",accordion:"Accordion"},eT={Flex:YW,HeroGroup:["column","row"]},ZW={Flex:"row",HeroGroup:"column"},JW={column:"flex-col",row:"flex-row",tabs:"flex-col",accordion:"flex-col"};function Tn(e,o){return eT[e].includes(o)?o:ZW[e]}function Txe(e,o){return JW[Tn(e,o)]}function oT(e){return eT[e].map(o=>({label:XW[o],value:o}))}var QW=["solid","dashed","dotted"],aT=["top","right","bottom","left"],rT="sf-section-border",nT="sf-section-border-self",ez=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,tT=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function Pn(e,{phone:o=!1,tablet:t=!1}={}){if(!e||typeof e!="object")return;let a=o?"-phone":t?"-tablet":"",r={};for(let n of aT){let s=tT(e[n])??tT(e.width);s!==void 0&&(r[`--sf-border-${n}-width${a}`]=s)}return typeof e.style=="string"&&QW.includes(e.style)&&(r[`--sf-border-style${a}`]=e.style),typeof e.color=="string"&&ez.test(e.color)&&(r[`--sf-border-color${a}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function ox(e){let{width:o,...t}=e;return typeof o!="number"?e:{...t,...Object.fromEntries(aT.map(a=>[a,t[a]??o]))}}function Exe(e,o,t){let a=Pn(e),r=Pn(t,{tablet:!0}),n=Pn(t,{phone:!0})||Pn(o,{phone:!0})?{...Pn(t,{phone:!0}),...Pn(o,{phone:!0})}:void 0;return a||r||n?{...a,...r,...n}:void 0}var dd="sf.gapContainer",ea={min:-32,max:64,step:2},cT={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},En={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},oz=new Set(["Events","GalleryB"]);function Cr(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=ea.min)return o;if(typeof o=="string"){let a=cT[e]?.[o];if(typeof a=="number")return a}return typeof t=="number"&&Number.isFinite(t)?t:En[e]}var tz="sf-gap-overlap",az="--sf-gap-overlap",dT="--sf-block-gap",rz="--sf-block-gap-rem",wr={min:0,max:ea.max,step:ea.step};function dl(e){if(typeof e!="number"||!Number.isFinite(e))return null;let o=Math.min(Math.max(Math.round(e),wr.min),wr.max);return o-o%wr.step}function _xe(e){let o=dl(e);return o===null?{}:{[dT]:`${o}px`,[rz]:`${o/16}rem`}}var nz="--sf-block-gap-phone",sz="--sf-block-gap-phone-rem",lz="--sf-block-gap-on-phone",iz="max-view-tablet:[--sf-block-gap-on-phone:var(--sf-block-gap-phone)]";function Axe(e){let o=dl(e);return o===null?{}:{[nz]:`${o}px`,[sz]:`${o/16}rem`}}function Rxe(e){return dl(e)===null?"":iz}var sT="sf-gap-zone",lT="--sf-gap-len";function fd(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=ea.min?!0:typeof o=="string"&&typeof cT[e]?.[o]=="number"}var iT="--sf-gap-len-phone",cz="--sf-gap-len-tablet",fl={min:0,max:ea.max,step:ea.step};function La(e){return typeof e=="number"&&Number.isFinite(e)&&e>=fl.min}function tx(e){return e/2}function ax(e,o,t){return La(t)&&!fd(e,o)}function rx(e,o,t,a,r){return La(o)?o:ax(e,t,r)?r:tx(Cr(e,t,a))}var dz={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function Lxe(e,o,t,a,r){let n={...La(a)?{[iT]:`${a}px`}:null,...La(r)?{[cz]:`${r}px`}:null};if(!fd(e,o)){let l=`${En[e]}px`,c=oz.has(e)?`var(--sf-card-gap, ${l})`:l;return{className:` ${sT}`,style:{[lT]:`var(${dT}, ${c})`,[iT]:`var(${lz})`,...n}}}let s=Cr(e,o);return s>=0?{className:` ${sT}`,style:{[lT]:`${s}px`,...n}}:{className:` ${tz} ${dz[t]}`,style:{gap:"0px",[az]:`${-s/2}px`}}}import{parseHexColor as fz}from"efficient-shell/format";var bo="var(--section-bg)",ul="inherit";function Nt(e,o){return e===ul?bo:e===void 0?o:ud(e)}var uz=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function ud(e){return e.replace(uz,"var(--site-$1")}var pz={"var(--section-bg)":"band","var(--site-surface)":"surface","var(--site-surface-2)":"surface2"};function nx(e,o,t){let a=Nt(e,o);if(!a||a==="transparent")return t.background.toLowerCase();let r=a.trim(),n=r.startsWith("#")?fz(r):null;if(n)return n.toLowerCase();let s=pz[r.replace(/\s+/g,"")];return(s?t[s]:t.background).toLowerCase()}var sx="transparent";function fT(e,o){let t=Nt(e,o);return!t||t===sx?"none":t===bo?"band":null}function uT(e,o,t=o){let a=n=>!n||n==="transparent",r=Nt(e,o);return r===t||a(r)&&a(t)}var pT=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],mT={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},On="var(--wheel-stage)",pd="transparent",pl="inherit";function Mxe(e,o){return ud(lx(e,o))}function lx(e,o){return e===pl?On:e==null?o:e===!0?On:e===!1?pd:e}function Hxe(e){return typeof e=="string"&&e!==pl?ud(e):On}function Wxe(e){return e!==pd&&e!=="none"&&e!==""}function hT(e,o){return e===pl||e===!0?!0:e==null?o===On:!1}var xT="inherit",md="fixed",IT=e=>typeof e!="number"&&e!==md,mz="var(--sf-heading-max, 9999px)";function $xe(e,o,t,a){if(typeof e=="number")return`${e}px`;if(e===md)return o;let r=a?`var(--size-${a}, ${o})`:o;return t==="heading"?`min(${r}, ${mz})`:r}var uo={min:1e3,max:2e3,step:50,default:1600};function hz(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}var gT="--sf-site-width",ix=`var(${gT},${uo.default}px)`,Uxe=`max-w-[${ix}]`,jxe=`max-w-[${uo.default}px]`;function bT(e){return typeof e!="number"||!Number.isFinite(e)?uo.default:Math.round(Math.min(Math.max(e,uo.min),uo.max))}function Kxe(e){let o=bT(e);return o===uo.default?{}:{[gT]:`${o}px`}}var oa={min:0,max:80,step:4,default:40},yT="--sf-site-gutter",ml={min:0,max:24,step:4},xz="--sf-site-gutter-phone",Iz="max-view-tablet:[--sf-site-gutter:var(--sf-site-gutter-phone)]!",St=`var(${yT},${oa.default}px)`,gz=`px-[${St}]`;var Fa={md:`min(24px,${St})`,sm:`min(20px,${St})`,frame:`min(24px,${St})`,tabs:`min(16px,${St})`},Vxe=[[`max-view-desktop:px-[${Fa.md}]`,"max-view-desktop:px-6"],[`max-view-desktop:px-[${Fa.tabs}]`,"max-view-desktop:px-4"],[`max-[960px]:px-[${Fa.frame}]`,"max-[960px]:px-6"],[`max-[900px]:px-[${Fa.md}]`,"max-[900px]:px-6"],[`max-view-wide:px-[${Fa.md}]`,"max-view-wide:px-6"],[`max-view-tablet:px-[${Fa.sm}]`,"max-view-tablet:px-5"],[`max-view-wide:px-[${Fa.sm}]`,"max-view-wide:px-5"],[`max-[640px]:px-[${Fa.sm}]`,"max-[640px]:px-5"],[`view-wide:px-[${St}]`,"view-wide:px-10"],[`max-view-tablet:px-[min(24px,${St})]`,"max-view-tablet:px-6"],[`max-view-wide:-mx-[min(20px,${St})]`,"max-view-wide:-mx-5"],[`max-view-tablet:-mx-[min(20px,${St})]`,"max-view-tablet:-mx-5"],[`-mx-[${St}]`,"-mx-10"],[gz,"px-10"]];var qxe="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-view-wide:px-[min(20px,var(--sf-site-gutter,40px))]",ST="[--sf-box-g:var(--sf-site-gutter,40px)] [&>*]:[--sf-site-gutter:0px]";var Yxe="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 hd(e){return typeof e!="number"||!Number.isFinite(e)?oa.default:Math.round(Math.min(Math.max(e,oa.min),oa.max))}function Xxe(e){let o=hd(e);return o===oa.default?{}:{[yT]:`${o}px`}}function xd(e){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,ml.min),ml.max))}function wT(e){return typeof e=="number"&&Number.isFinite(e)?bT(e):null}function Zxe(e){let o=xd(e);return o===null?{}:{[xz]:`${o}px`}}function Jxe(e){return xd(e)===null?"":Iz}function Id(e){return Math.min(ml.max,hd(e))}var CT=ix,Qxe=`max-w-[${CT}]`,eIe=`max-w-[min(var(--sf-page-cap,${uo.default}px),${uo.default}px)]`,vT="--sf-hero-cap",bz=`var(${vT},none)`,oIe=`max-w-[${bz}]`,yz="--sf-hero-bleed-m",Sz="--sf-hero-bleed-w",wz="--sf-hero-chrome-x",Cz="--sf-hero-chrome-cap";function tIe(e){return e===!0?{[vT]:CT,[yz]:"auto",[Sz]:"100%",[wz]:"24px",[Cz]:"none"}:{}}var cx=`calc(${ix} - ${St}*2)`,aIe=`max-w-[${cx.replace(/ /g,"_")}]`;var vz="--sf-chrome-cap",kz=`var(${vz},${cx})`,rIe="data-page-width";function nIe(e){return e==="full"?"full":null}function sIe(e){return e==="full"?null:hz(e==="content"?cx:kz)}function lIe(e){if(e==="full")return"full";if(e==="content")return"content"}var Tz=["page","full"],kT=["full","page"],vr={full:"Full",page:"Content"},dx="inherit",Pz=e=>typeof e=="string"&&Tz.includes(e),Ez=e=>e===dx;function Oz(e,o){return Ez(e.widthMode)?{mode:"full",inherited:!0}:Pz(e.widthMode)?{mode:e.widthMode,inherited:!1}:{mode:o,inherited:o==="full"}}function dIe(e){return Oz(e,"page").mode==="full"}var _z={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 fIe(e){return Object.prototype.hasOwnProperty.call(_z,e)}var so={background:"sectionBackgroundWidth",content:"sectionContentWidth",contentMax:"sectionContentMax"};function gd(e){let o=wT(e[so.contentMax]),t=_n(e[so.content])??(o===null?null:"content");return{background:_n(e[so.background]),content:t,contentMax:t==="content"?o:null}}function uIe(e){let o=gd(e);return o.content===null&&e.fullWidth===!0?{...o,content:"full"}:o}function pIe(e){return e.background!==null||e.content!==null}var mIe=e=>({[so.background]:e}),hIe=e=>e==="full"?{[so.content]:e,[so.contentMax]:void 0}:{[so.content]:e},xIe=e=>({[so.content]:"content",[so.contentMax]:e}),IIe=e=>e==="background"?{[so.background]:void 0}:{[so.content]:void 0,[so.contentMax]:void 0},TT="siteWidths",Az=e=>e==="full"||e==="content";function _n(e){return Az(e)?e:null}function PT(e,o){return{[TT]:{background:_n(e),content:_n(o)}}}function gIe(e){let o=e.editor?.metadata?.[TT];return{background:_n(o?.background),content:_n(o?.content)}}import{jsx as Rz}from"react/jsx-runtime";import{createContext as Lz,useContext as wIe}from"react";var Fz=2,CIe=Fz+1,Bz=Lz(2);function ET({tier:e,children:o}){return Rz(Bz.Provider,{value:e,children:o})}import{useEaselSession as Q$}from"efficient-easel/screen/lib/session-context";import{BOX_GAP as eG,describedAs as Na,group as Ct,iconOf as Il,sharedStyleKinds as gl}from"efficient-easel/screen/lib/document/box-fields";import{VIEW_KEY_ACCESS as bx,onDesktopWords as kr,phoneTwinFields as kd}from"efficient-easel/screen/lib/document/box-fields";import{createElement as wt}from"react";import{SettingsDefaultReset as Dz,SettingsField as Nz}from"efficient-easel/panel";import{boxFieldBuilders as Mz,describedAs as Hz,iconOf as Wz,onDesktopWords as zz}from"efficient-easel/screen/lib/document/box-fields";import{LENGTH_UNITS as $z}from"efficient-easel/screen/lib/content/length-units";import{IconPicker as Gz,Tooltip as Uz,useShellStrings as jz}from"efficient-shell/ui";var OT=e=>i(e),Kz=$z,po=Mz(OT,{paddingUnits:Kz}),Ao=po.slider,ta=po.select,bd=po.Segmented,yd=po.segmented,AIe=po.alignmentField,RIe=po.alignmentFields,LIe=po.blockAlignmentField,FIe=po.blockAlignmentFields,BIe=po.boxJustifyField,DIe=po.boxAlignField,NIe=po.boxWrapField,_T=po.directionField,Sd=po.gapField,MIe=po.placementField,HIe=po.PlacementGridView,WIe=po.positionFields,wd=po.sidesPaddingFields,Vz={width:"3.5rem",height:"2.75rem"};function fx({value:e}){return jz().iconNames[e]??e}function ux(e,o,t){return wt(Uz,{content:t,className:"sf-pick-tip",children:wt("span",{className:"sf-pick"},wt("span",{className:"sf-pick-pic"},e),wt("span",{className:"sf-pick-cap"},o))})}function qz(e){let o=t=>t.label===void 0?wt(fx,{value:t.value}):i(t.label);return e.map(t=>({value:t.value,...t.label===void 0?{}:{label:i(t.hint??t.label)},icon:ux(t.picture,o(t),t.hint===void 0?o(t):i(t.hint))}))}function AT(e,o){return wt("span",{className:"sf-pick"},wt("span",{className:"sf-pick-pic"},e),wt("span",{className:"sf-pick-cap sf-pick-cap-closed"},o))}function RT(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",...Hz({},{type:"radio",label:e,options:l}),options:l,render:c=>{let{value:d,onChange:f,field:m}=c,u=m?.options,x=qz(t.filter(v=>!u||u.some(k=>k.value===v.value))),I="follows"in c,y=I?s(r.phoneRest?r.phoneRest(c.follows):c.follows)??a:void 0,P=m?.currentValue,C=s(d)??y??s(P)??a,S=d!=null&&d!=="",g=y===void 0?void 0:t.find(v=>v.value===y);return wt(Nz,{label:i(e),icon:Wz(o),action:I?wt(Dz,{words:ee()?.panel,label:i(e),changed:S,detail:g?.label!==void 0?zz(OT,i(g.label),c.followsView):void 0,disabled:c.readOnly===!0,onReset:()=>f(void 0)}):void 0},wt(Gz,{label:i(e),value:C,options:x,onChange:f,columns:r.columns,cell:r.cell??Vz,tooltips:!1,disabled:c.readOnly===!0}))}}}import{TEXT_CONTROL_KINDS as wbe,SCALAR_TEXT_CONTROLS as Cbe}from"efficient-easel/draw";function Tr(e,o){return i("{value} from {from}",{value:e,from:o})}function oG(){let{blockGap:e}=de();return e===null?i("this container's own spacing"):Tr(`${e}px`,i("Styles"))}function tG({inherited:e,onReset:o,label:t}){return w(yo,{words:ee()?.panel,label:i(t),changed:!e,detail:oG(),onReset:o})}function aG(e){return Sd({...eG,builtIn:En[e],resolve:(o,t)=>Cr(e,o,t?.siteGap),action:(o,t)=>w(tG,{inherited:!fd(e,o),onReset:()=>t(void 0),label:"Gap"}),mark:{[dd]:e}})}function rG(e){return eo(Mt("mobile",{[dd]:e,type:"custom",render:o=>w(lG,{container:e,...o})}),oP)}function nG(e){return eo(Mt("tablet",{[dd]:e,type:"custom",render:o=>w(sG,{container:e,...o})}),oP)}var oP={not:{field:"gap",in:Array.from({length:-ea.min},(e,o)=>ea.min+o)}};function mbe(e){return{gap:Mt("desktop",aG(e)),[Rn("gap")]:nG(e),[aa("gap")]:rG(e)}}function sG({container:e,...o}){let[t]=na("gap"),{siteGap:a}=o.field??{},r=Math.max(fl.min,Cr(e,t,a));return Sd({...fl,builtIn:r,resolve:n=>La(n)?n:r,action:(n,s)=>w(yo,{words:ee()?.panel,label:i("Gap"),changed:La(n),detail:kr(l=>i(l),`${r}px`),onReset:()=>s(void 0)})}).render(o)}function lG({container:e,...o}){let[t]=na("gap"),{siteGap:a,siteGapPhone:r}=o.field??{},n=rx(e,void 0,t,a,r);return Sd({...fl,builtIn:n,resolve:s=>rx(e,s,t,a,r),action:(s,l)=>w(yo,{words:ee()?.panel,label:i("Gap"),changed:La(s),detail:Tr(`${n}px`,ax(e,t,r)?i("Styles"):i("Desktop")),onReset:()=>l(void 0)})}).render(o)}function hbe(e){return _T({offered:oT(e),fallback:Tn(e,void 0),resolve:o=>Tn(e,o)})}function xbe(e,o){return QC(o?ah(e,o):[],o)}function iG({inherited:e,onReset:o,label:t}){return w(yo,{words:ee()?.panel,label:i(t),changed:!e,detail:Tr(i("Full"),i("the page")),onReset:o})}function Pr({value:e,onChange:o,label:t,placeholder:a,hint:r,multiline:n,hideable:s=!0,markup:l=!0}){let{text:c,hidden:d}=Ma(e),f=hl(null),m=hl(null),u=S=>o(s?{text:S,hidden:d}:S),x=()=>o({text:c,hidden:!d}),I=s&&d,y=GT(),P=r?pG(r)?w("span",{className:"sf-hint-while-typing",children:i(r)}):i(r):void 0,C=d?i("Show {label} on the slide",{label:i(t)}):i("Hide {label} on the slide",{label:i(t)});return w(to,{label:i(t),icon:w(k$,{}),htmlFor:y,className:I?"is-hidden":void 0,hint:P,action:s?w(gx,{content:C,children:w(QT,{"aria-pressed":d,"aria-label":C,onClick:x,children:d?w(DT,{name:"eye-off",size:14}):w(DT,{name:"eye",size:14})})}):void 0,children:Da("div",{className:"sf-copybox",children:[l&&w(uh,{target:n?m:f,value:c,onChange:u}),n?w("textarea",{id:y,ref:m,value:c,placeholder:a===void 0?void 0:i(a),onChange:S=>u(S.target.value)}):w("input",{id:y,ref:f,type:"text",value:c,placeholder:a===void 0?void 0:i(a),onChange:S=>u(S.target.value)})]})})}function Ibe(e,o){return{...e,[a$]:o}}function gbe(e){let o=e[ra];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[ra]:{...o,offPage:!0}}}function Ed(e){return!e||typeof e!="object"?!1:e[ra]?.offPage===!0}var tP="sfPanelOnly";function bbe(e){if(!e[ra])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[tP]:!0}}function aP(e){return!!e&&typeof e=="object"&&e[tP]===!0}function ybe(e){let o=e[ra];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[ra]:{...o,identifier:!0}}}function vbe(e,o){if(!e[ra])throw new Error("inOwnBox: the field holds no authored text");let{[K$]:t,...a}=e;return{...a,[ph]:!0,render:o}}var cG=new Set(q$),Td={type:"radio",options:[{value:!0},{value:!1}]},rP={text:{type:"object",objectFields:{text:{type:"text"},hidden:Td}},textarea:{type:"object",objectFields:{text:{type:"textarea"},hidden:Td}},plainText:{type:"text"},copyText:{type:"text"},plainTextarea:{type:"textarea"},textList:{type:"array",arrayFields:{text:{type:"text"}}}},Er=(e,o)=>{let t=Na({...o,[ra]:e},{...rP[e.control],label:e.label});if(!cG.has(e.control))return t;let a=o.render;return{...eP(t,"authored-copy"),render:r=>w(Av,{name:r.name,children:a(r)})}},kbe="Everything else on this block comes from the linked post. Unlink it to edit by hand.",dG={field:"source.slug",set:!0},Tbe={not:dG},fG="Select a word, then press the highlighter.",uG=new Set([fG]),pG=e=>uG.has(e);function Pbe(e,o,t){return Er({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Pr,{value:a,onChange:r,label:e,placeholder:o,hint:t})})}function Ebe(e,o,t){return Er({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Pr,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0})})}function Obe(e,o,t){return Er({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Pr,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function _be(e,o,t){return Er({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Pr,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1})})}function Abe(e){return{type:"custom",[o$]:{label:e},...Na({},{type:"text",label:e}),render:({value:o,onChange:t})=>w(Lk,{value:e$(o),onChange:t,label:e})}}function Rbe(e,o,t){return Er({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Pr,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var nP={Design:r$,Animation:s$};function Lbe(e){return{type:"custom",render:()=>w(mG,{text:e})}}function mG({text:e}){return w("p",{className:"sf-note",children:i(e)})}function Fbe(e){return la(e)!==null&&e?.tabs!==void 0}var NT=new Map;function Od(e,o){let t=`${e}\0${o?o.join(""):""}`,a=NT.get(t)??{type:"custom",tabs:o,[UT]:{label:e,level:1},bucket:e,marker:!0,render:()=>w(sa,{})};return NT.set(t,a),a}var MT=new Map;function yx(e){let o=MT.get(e)??{type:"custom",[UT]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>w(sa,{})};return MT.set(e,o),o}function hG(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function sP(e,o){return hG(e)===o?e:{...e,marker:!0,fold:o,render:()=>w(sa,{})}}function lP(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(sa,{})}}function Sx({title:e,children:o}){let[t,a]=xl(()=>!px.has(e));return w(E$,{title:e,open:t,onToggle:r=>{a(r),r?px.delete(e):px.add(e)},children:o})}var px=new Set;function xG({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 Da("div",{className:"sf-swatches",children:[e.map(l=>{let c=a?.[l]?i(a[l]):l;return w(gx,{content:c,children:w(N$,{color:l,selected:o.toLowerCase()===l.toLowerCase(),onClick:()=>t(l),"aria-label":c})},l)}),w("span",{className:"sf-swatch-hex",children:s})]})}function Bbe(e,o,t=!1){return{type:"custom",render:({value:a,onChange:r})=>w(IG,{label:e,builtIn:o,followsBand:t,value:a,onChange:r})}}function IG({label:e,builtIn:o,followsBand:t,value:a,onChange:r}){let n=typeof a=="string"?a:void 0,{colors:s,n:l}=gP(),c={background:s.background,surface:s.surface,surface2:ec(s),band:lS(s)},d=t?bo:o,f=uT(n,o,d),m=nx(void 0,d,c),u=t?ul:void 0,x=fT(n,o),I=d===bo?i("the theme's section background"):i("Theme {n} background",{n:l});return w(wn,{label:i(e),icon:w(l$,{}),value:f?"":nx(n,o,c),inherited:m,resetTo:Tr(m.toUpperCase(),I),onChange:r,onReset:()=>r(u),choices:[{label:i("No fill"),color:"",selected:x==="none",onPick:()=>r(sx)},{label:`${i("Section band")} \xB7 ${c.band.toUpperCase()}`,color:c.band,selected:x==="band",onPick:()=>r(bo)}]})}function gG(e,o){return{type:"custom",render:({value:t,onChange:a})=>{let r=t,n=hT(r,o);return w(to,{label:i(e),icon:w(hx,{}),changed:!n,action:w(yo,{words:ee()?.panel,label:i(e),changed:!n,detail:i("the theme's image stage"),onReset:()=>a(pl)}),children:xG({swatches:pT,current:n?On:lx(r,o),onPick:a,names:mT})})}}}function _d(e=t=>t,o){return gl({_gSectionTheme:Ct(Qv),sectionAccent:{type:"custom",render:({value:t,onChange:a})=>w(nk,{value:e(t),onChange:a,followLabel:o})}})}function zo({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:m,onClear:u}){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(U$,{min:e,max:o,step:t,value:a,...a===null&&f!==void 0?{placeholderValue:f}:{},...m?{emptyLabel:i(m)}:{},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:I=>{I===null?u?.():I!==a&&r(I)}})})}function iP(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:m,onChange:u})=>{let x=typeof m=="number"?m:null,I=x===null;return w(to,{label:i(e),icon:d?Il(d):void 0,value:I?c||n===void 0?void 0:i(n):`${x}${f}`,changed:!I,action:c?zT(c,{changed:!I,onReset:()=>u(null)}):w(yo,{words:ee()?.panel,label:i(e),changed:!I,onReset:()=>u(null)}),hint:typeof s=="string"?i(s):s,children:l?l({min:t,max:a,step:r,px:x,label:e,onChange:u}):zo({min:t,max:a,step:r,value:x??t,readout:!1,ariaLabel:e,onChange:u})})}}}var Ad="Corners";function wx(e){return{type:"custom",render:({value:o,onChange:t})=>{let a=typeof o=="number"&&Number.isFinite(o)?o:null,r=a!==null;return w(to,{label:i(Ad),icon:w(d$,{}),changed:r,action:zT(e.mark,{changed:r,onReset:()=>t(null)}),hint:e.hint,children:w(bG,{tier:e,px:a,onRadius:t})})}}}function na(e){let o=Ln();return[o?.values?.[e],t=>o?.onChange(e,t)]}function cP(){return eP({type:"custom",render:()=>w(V$,{})},"always")}function Ch(){let e=Ln();return o=>e?.onChangeMany(o)}function bG({tier:e,px:o,onRadius:t}){let a=e.useFollowed(),[r,n]=na(e.sidesKey),s=Bt(r)??[...kc];return w(M$,{label:i(Ad),value:s,corners:CC,onChange:l=>{let c=Bt(l)??[];n(c.length===kc.length?null:c)},radius:o,onRadiusChange:t,radiusMin:Vo,radiusMax:Qa,radiusStep:e.step??1,radiusPlaceholder:String(a)})}function dP(){return cP()}function yG({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:a}=de(),r=typeof a=="number"?`${a}px`:i("not set");return w(yo,{words:ee()?.panel,label:i(e),changed:o,detail:a==null?i("the built-in corners"):Tr(r,i("Styles")),onReset:t})}function SG(){let{cornerRadiusPx:e}=de();return typeof e=="number"?e:Vo}function wG(){return wx({sidesKey:"sectionCornerSides",useFollowed:SG,mark:w(yG,{label:Ad}),hint:CG})}var CG="Follows Styles \u25B8 Basics \u25B8 Corners until you set a number here.";function Rd(){return gl({_gShape:Ct("Shape"),sectionCorners:wG(),sectionCornerSides:dP(),...An("sectionBorder",OG)})}var vG=()=>({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 kG(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function TG(){let e;try{let o=Qe(de().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||tS.line}function PG({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]=xl(()=>r?L$(l,s):!1),f=vG(),m=u=>kG(r&&n?u:{width:u.width,color:u.color,...n?{style:u.style}:{}});return w(to,{label:i("Border"),icon:w(i$,{}),action:r?w(A$,{each:c,label:i("Each side"),onChange:d}):void 0,children:w(_$,{label:i("Border"),value:l,each:c,onChange:u=>o(m(u)),placeholder:t,presets:a,words:f,styles:n,max:20})})}function EG({value:e,onChange:o,view:t}){let[a]=na("sectionBorder"),[r]=na(Rn("sectionBorder")),n=TG(),s=c=>c&&typeof c=="object"?c:{},l=t==="phone"?{...ox(s(a)),...ox(s(r))}:t==="tablet"?s(a):{};return w(PG,{value:e,onChange:o,placeholder:{sides:R$(l),style:l.style??"solid",color:l.color||n},presets:[n],above:l})}function OG(e){return{type:"custom",render:({value:o,onChange:t})=>w(EG,{value:o,onChange:t,view:e})}}function An(e,o){let t=(a,r)=>kd(e,o(a),bx)[r];return{[e]:t("desktop",e),[Rn(e)]:t("tablet",Rn(e)),[aa(e)]:t("phone",aa(e))}}function Dbe(e){return{type:"custom",render:()=>w(_G,{partKey:e})}}function _G({partKey:e}){let[o]=na("id"),[t]=na("_partStyles"),{textStyles:a}=de(),r=J$(),n=null;try{n=Y$().select}catch{n=null}let s=t&&typeof t=="object"?t[e]:void 0,l=Array.isArray(a)?a:null;return w(P$,{name:i("Text"),preview:zk(s,l,{noStyle:i("No style"),styleName:r.textStyles.styleName,cases:(r.copy.panel??Z$.copy.panel).cases}),onOpen:()=>{n&&typeof o=="string"&&n(X$(o,e))}})}function fP(e){let{cornerRadiusPx:o}=de(),t=typeof o=="number"?o:e,a=null;try{let{appState:n,selectedItem:s}=Pd(c=>c),l=s?.props?.id?String(s.props.id):void 0;a=l?gv(n?.data,l)?.props??null:null}catch{a=null}if(!a)return t;let r=a.sectionCorners;return Nm(r)?r:t}function AG({label:e,changed:o=!1,onReset:t=()=>{}}){let a=fP(Vo);return w(yo,{words:ee()?.panel,label:i(e),changed:o,detail:Tr(`${a}px`,i("the section")),onReset:t})}function RG(){return w(sa,{children:i("Follows the section's Corners until you set a number here.")})}function LG(){return wx({sidesKey:"cardCornerSides",useFollowed:()=>fP(Vo),mark:w(AG,{label:Ad}),hint:w(RG,{})})}function FG(){return{type:"custom",render:()=>w(_C,{})}}function Nbe(){return{_gShape:Ct("Shape"),cardCorners:LG(),cardCornerSides:dP(),cardCornersApplyAll:FG()}}function BG(){return Na({type:"custom",render:e=>w(NG,{...e})},{type:"select",label:fr,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 DG(e,o){let t=nm(e);if(t!=="custom")return i(rm.find(r=>r.value===t)?.label??"");let a=JT(dc(e,o),o);return a?[...a,100-a.reduce((r,n)=>r+n,0)].join(" / "):i("Custom")}function NG(e){let{value:o,onChange:t}=e,[a]=na("content"),r=Array.isArray(a)?a.length:0,n="follows"in e,s=o!=null,l=s?o:n?e.follows:void 0,c=nm(l),d=r>=2&&r<=FT,f=()=>[...z$[r]??[]],m=hl(null),u=C=>{let S=m.current;S&&JSON.stringify(C)===JSON.stringify(S.shares)?t(S.value):C&&t(C)},x=C=>{C===c||C==="custom"&&!d||t(C==="custom"?f():C)},I=i("The width bar works for 2 to {count} blocks.",{count:FT}),y=s&&(n||o!=="content"),P=G$().widths.hint(r,W$);return w(to,{label:i(fr),icon:w(xx,{}),changed:y,hint:c!=="custom"?void 0:d?P:I,action:w(yo,{words:ee()?.panel,label:i(fr),changed:y,disabled:e.readOnly===!0,detail:n?kr(C=>i(C),DG(e.follows,r),e.followsView):i("Fit content"),onReset:()=>t(void 0)}),children:Da("div",{className:"sf-share-row",children:[w("div",{className:"sf-share-pick",children:w(ZT,{label:i(fr),value:c,options:rm.map(C=>({value:C.value,label:C.value==="custom"&&!d?I:i(C.label),icon:ux(w("span",{className:"sf-gallery-pic sf-share-pic",children:uP(C.weights).map((S,g)=>w("i",{style:{gridColumn:`span ${S}`}},g))}),i(C.label),C.value==="custom"&&!d?I:i(C.label))})),onChange:x,columns:3,cell:pP,tooltips:!1,disabled:e.readOnly===!0})}),c==="custom"&&d?w("div",{onFocus:()=>{m.current={value:o,shares:JT(dc(l,r),r)}},onBlur:()=>{m.current=null},children:w($$,{label:i(fr),count:r,value:dc(l,r),onChange:u,readOnly:e.readOnly===!0})}):null]})})}function uP(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 Mbe(){return ta(kw,w(x$,{}),cm,cm[0].value)}function Hbe(){return Mt("mobile",RT(fr,w(xx,{}),bw.map(e=>({label:e.label,value:e.value,picture:w("span",{className:"sf-gallery-pic sf-share-pic",children:uP(e.weights).map((o,t)=>w("i",{style:{gridColumn:`span ${o}`}},t))})})),yw,{columns:2,cell:pP}))}var pP={width:"5.75rem",height:"3.25rem"};function Wbe(){return kd("share",BG(),bx)[Rn("share")]}function MG(){return Mt("mobile",Ao(sm,w(jT,{}),uc,gw,1,uc,"",{clear:{phoneFollows:!1,hint:uc}}))}var HT={read:e=>e.phoneRow,write:(e,o,t)=>({phoneRow:t}),fieldKey:()=>"phoneRow",ownField:!0};function zbe(){let e=Ao(sm,w(jT,{}),im,Sw,1,im,"",{clear:{emptyLabel:"Auto"}}),o=kd("columns",e,{...HT,tablet:bx.tablet}),t=kd("columns",e,HT,{phoneRow:MG()});return{...o,phoneRow:t.phoneRow}}function $be(e,o,t,a,r,n){return{type:"custom",render:({value:s,onChange:l})=>w(to,{label:i(e),icon:w(nh,{noun:n}),action:w(yo,{words:ee()?.panel,label:i(e),changed:!IT(s),detail:i("the Text style in Styles"),onReset:()=>l(xT),defaultAction:{onPress:()=>l(md),title:i("Keep this section's own built-in size"),icon:w(c$,{})}}),children:zo({min:o,max:t,step:a,value:typeof s=="number"?s:r,suffix:"px",ariaLabel:e,onChange:l})})}}function Gbe(){return{_gCellWidth:Ct("Cell width"),gridSpan:ta("Positions",w(xx,{}),[{label:"Auto",value:""},...Array.from({length:Oc},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function Zo(){let e=null,o=null;try{e=$T(Cx),o=Pd(t=>t).selectedItem}catch{o=null}return e??o?.props??{}}var Cx=Zz(null);function HG({min:e,max:o,step:t,px:a,label:r,onChange:n,desktopKey:s,fallback:l}){let c=Zo()[s],d=$c(void 0,c,l);return w(sa,{children:zo({min:e,max:o,step:t,value:$c(a,c,l),readout:!1,ariaLabel:r,notch:d,onChange:n})})}function WG({label:e,desktopKey:o,fallback:t,unit:a="px",changed:r=!1,onReset:n=()=>{}}){let s=Zo()[o],l=$c(void 0,s,t);return w(yo,{words:ee()?.panel,label:i(e),changed:r,detail:kr(c=>i(c),`${l}${a}`),onReset:n})}function Ld(e){return iP(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unit:e.unit,unsetLabel:"Follows Desktop",unsetMark:w(WG,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback,unit:e.unit}),restTrack:o=>w(HG,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}var zG={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},$G={Top:XT,Bottom:VT,Left:qT,Right:YT},GG=e=>{let o=$G[e];return w(o,{})};function Ube(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",a=e.group!==!1,r=P=>zG[P],n=P=>Ao(r("Top"),w(XT,{}),Xo.min,Xo.max,Xo.step,P,"px"),s=(P,C,S,g=Xo)=>Mt("mobile",Ld({label:r(P),icon:GG(P),desktopKey:C,min:g.min,max:g.max,step:g.step,fallback:S})),l=e.top??Xo.min,c=e.bottom??Xo.min,d="sectionPaddingLeft",f="sectionPaddingRight",m=e.sideBounds??Xo,u=e.side??m.min,x=e.sidePhone??u,I=e.phone===!0,y=P=>I?Mt("desktop",P):P;return gl({...a?{_gSpacing:Ct("Padding")}:{},[o]:y(n(l)),...I?{[aa(o)]:s("Top",o,l)}:{},...e.only==="top"?{}:{[t]:y(Ao(r("Bottom"),w(VT,{}),Xo.min,Xo.max,Xo.step,c,"px")),...I?{[aa(t)]:s("Bottom",t,c)}:{}},...e.sides?{[d]:y(Ao(r("Left"),w(qT,{}),m.min,m.max,m.step,u,"px")),...I?{[aa(d)]:s("Left",d,x,m)}:{},[f]:y(Ao(r("Right"),w(YT,{}),m.min,m.max,m.step,u,"px")),...I?{[aa(f)]:s("Right",f,x,m)}:{}}:{}})}function jbe(e,o){let t=Object.fromEntries(Object.entries(o).map(([n,s])=>[n,n in e&&la(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 Cd="Width";function Fd(e,o=kT,t=!0){let a=o.map(r=>({label:vr[r],value:r}));return gl({...t?{_gWidth:Ct(Cd)}:{},widthMode:{type:"custom",render:({onChange:r,field:n})=>w(to,{label:i(Cd),icon:w(T$,{}),action:t?w(iG,{inherited:n?.inherited??!1,onReset:()=>r(dx),label:Cd}):void 0,children:bd({options:a,value:n?.currentValue||e,onChange:r,ariaLabel:Cd})})}})}function Bd(){let e=(a,r)=>({type:"custom",render:({value:n,onChange:s})=>w(UG,{value:n,onChange:s,view:a,badge:r})}),o=a=>({type:"custom",render:({value:r,onChange:n,field:s})=>w(KG,{value:r,onChange:n,unit:s?.unit,view:a})}),t=a=>{let r=yd("Unit",w(KT,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");if(a==="desktop")return r;let n=r.render;return{...r,render:s=>w(VG,{props:s,draw:n,view:a})}};return gl({_gHeight:Ct(kn),...An("sectionHeightMode",a=>a==="desktop"?e(a):e(a,r=>w(qG,{view:a,onClear:()=>r(void 0)}))),...An("sectionHeightValue",o),...An("sectionHeightUnit",t)})}function UG({value:e,onChange:o,view:t,badge:a}){let r=Zo(),n=l=>["auto","fixed","screen"].includes(l),s=Dd(t,r)?.mode??"auto";return w(to,{label:kn,icon:Il(w(g$,{})),action:a?a(o):void 0,children:bd({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:n(e)?e:s,onChange:o,ariaLabel:kn})})}function mP(e,o){return e==="phone"&&cl(o)?Yk(o):il(o)}function Dd(e,o){return e==="desktop"||(e==="tablet"?cl(o):Xh(o))?null:mP(e,o)}var Ba=(e,o)=>e==="tablet"?Rn(o):aa(o);function jG(e,o,t,a){let r=Dd(e,o);return!r||e==="desktop"?null:a===void 0?{}:{[Ba(e,"sectionHeightMode")]:r.mode,...r.mode==="fixed"?{[Ba(e,"sectionHeightUnit")]:r.unit}:{},...t==="sectionHeightUnit"?{[Ba(e,"sectionHeightValue")]:r.value}:{},[Ba(e,t)]:a}}function hP(e,o,t){let a=Ln(),r=Dd(e,Zo());return!a||!r?{followed:null,write:t}:{followed:r,write:n=>a.onChangeMany(s=>{let l=jG(e,s,o,n);return l===null?{[e==="desktop"?o:Ba(e,o)]:n}:Object.keys(l).length?l:null})}}function KG({value:e,onChange:o,unit:t,view:a}){let{followed:r,write:n}=hP(a,"sectionHeightValue",o),s=(r?r.unit:t)==="%"?"%":"px",l=s==="%"?qh:Vh;return w("div",{className:"sf-field",children:zo({min:l.min,max:l.max,step:l.step,value:r?null:typeof e=="number"?e:l.fallback,...r?{placeholder:r.value}:{},suffix:s,ariaLabel:kn,onChange:n})})}function VG({props:e,draw:o,view:t}){let{followed:a,write:r}=hP(t,"sectionHeightUnit",e.onChange);return o({...e,...a?{value:void 0,storedValue:void 0,follows:a.unit}:{},onChange:r})}function qG({view:e,onClear:o}){let t=Zo(),a=Dd(e,t)===null,r=e==="phone"&&cl(t),n=mP(e,t),s=kr(l=>i(l),n.mode==="auto"?i("Auto"):`${n.value}${n.unit}`,r?"tablet":"desktop");return w(yo,{words:ee()?.panel,label:i(kn),changed:a,detail:s,onReset:o})}function vx(){let e=t=>({type:"custom",render:({value:a,onChange:r,id:n,name:s})=>w(ZG,{value:a,onChange:r,labelId:`${n??s??"stickTop"}-label`,view:t})}),o=t=>({type:"custom",render:({value:a,onChange:r})=>w(YG,{value:a,onChange:r,view:t})});return{_gStick:Ct(id),...An("stickTop",e),...An("stickTopDistance",o)}}function YG({value:e,onChange:o,view:t}){let a=Ln(),r=Zo(),n=t==="desktop"||kx(t,r)?null:xP(t,cd(r)),s=n&&a?l=>a.onChangeMany(c=>{let d=XG(t,c,l);return d===null?{[Ba(t,"stickTopDistance")]:l}:Object.keys(d).length?d:null}):o;return w("div",{className:"sf-field",children:zo({min:Ra.min,max:Ra.max,step:Ra.step,value:n?null:typeof e=="number"?e:Ra.fallback,...n?{placeholder:n.distance}:{},suffix:"px",ariaLabel:i("Distance from top"),onChange:s})})}function kx(e,o){return e==="tablet"?Qh(o):ex(o)}function xP(e,o){return e==="phone"?{on:o.tablet,distance:o.tabletDistance}:{on:o.desktop,distance:o.desktopDistance}}function XG(e,o,t){return e==="desktop"||kx(e,o)?null:t===void 0?{}:{[Ba(e,"stickTop")]:!0,[Ba(e,"stickTopDistance")]:t}}function ZG({value:e,onChange:o,labelId:t,view:a}){let r=Zo(),n=cd(r),s=a==="phone"?n.phone:a==="tablet"?n.tablet:e===!0,l=a==="phone"&&n.ownTablet,c=a==="desktop"?null:xP(a,n),d=c?.on?`${c.distance}px`:i("Off");return w(to,{label:i(id),labelId:t,icon:Il(w(w$,{})),action:Da(sa,{children:[a!=="desktop"?w(yo,{words:ee()?.panel,label:i(id),changed:kx(a,r),detail:kr(f=>i(f),d,l?"tablet":"desktop"),onReset:()=>o(void 0)}):null,w(Ix,{checked:s,onChange:o,ariaLabelledBy:t})]})})}var WT="e.g. about";function Nd(){return{_gAnchor:Ct("Anchor"),anchor:Er({control:"plainText",label:"Name",placeholder:WT},{type:"custom",render:({value:e,onChange:o})=>w(pv,{value:e,onChange:o,nameBox:(t,a)=>w(Pr,{value:t,onChange:a,label:"Name",placeholder:WT,hideable:!1,markup:!1})})})}}function Kbe(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(to,{label:i(e),icon:o,htmlFor:l,hint:t===void 0?void 0:i(t),children:w(H$,{id:l,value:Number.isFinite(c)?new Date(c):null,onChange:d=>r(d?d.toISOString():"")})})}}}function JG(e,o,t,a){return{type:"custom",...Na({},{...Td,label:e}),render:r=>{let{value:n,onChange:s,id:l,name:c}=r,d="follows"in r,f=r,m=typeof n=="boolean",u=typeof f.follows=="boolean"?f.follows:o,x=m?n:d?u:o,I=`${l??c??e}-label`,y=f.readOnly===!0,P=w(Ix,{checked:x,onChange:s,disabled:y,ariaLabelledBy:I});return w(to,{label:i(e),labelId:I,icon:t,hint:a===void 0?void 0:i(a),action:d?Da(sa,{children:[w(yo,{words:ee()?.panel,label:i(e),changed:m,detail:f.followsNoView?i(u?"On":"Off"):kr(C=>i(C),i(u?"On":"Off"),f.followsView),disabled:y,onReset:()=>s(void 0)}),P]}):P})}}}function IP(){return{type:"custom",render:({value:e,onChange:o,id:t,name:a})=>{let r=`${String(t??a??"pageBackground")}-colour`;return w(Yo,{label:i("Background"),icon:w(S$,{}),id:r,value:sh(e),onChange:o})}}}function Vbe(e,o,t){return{type:"custom",render:({value:a,onChange:r})=>w(Yo,{label:i(e),icon:t,value:a||o,onChange:r})}}function qbe(){return{type:"custom",render:e=>{let{value:o,onChange:t}=e,a=e;return w(QG,{value:typeof o=="string"?o:"",onChange:t,twin:"follows"in e?{follows:a.follows,view:a.followsView}:void 0})}}}function QG({value:e,onChange:o,twin:t}){let{hex:a,n:r}=oU(),n=Tr(a.toUpperCase(),i("Theme {n} background",{n:r}));if(t){let s=yn(t.follows);return w(wn,{label:i("Fill"),icon:w(hx,{}),value:e,inherited:s??a,resetTo:kr(l=>i(l),s?s.toUpperCase():n,t.view),onChange:o,onReset:()=>o(void 0)})}return w(wn,{label:i("Fill"),icon:w(hx,{}),value:e,inherited:a,resetTo:n,onChange:o,onReset:()=>o("")})}function eU(e,o,t){if((e?.content??[]).some(n=>n?.props?.id===o))return It(t);let a=bv(e,o);if(a.length===0)return null;let r=It(Dh(t));if(r!==null)return r;for(let n=a.length-1;n>0;n-=1){let s=It(Dh(a[n].sectionAccent));if(s!==null)return s}return It(a[0].sectionAccent)}function oU(){let{colors:e,n:o}=gP();return{hex:e.background,n:o}}function gP(){let e=Qe(de().theme),[o]=na("sectionAccent"),t=null;try{let{appState:r,selectedItem:n}=Pd(l=>l),s=n?.props?.id?String(n.props.id):void 0;t=s?eU(r?.data,s,o):null}catch{t=null}let a=t!==null&&e.themes[t]?t:e.selected;return{colors:Po(e.themes[a]),n:a+1}}var tU=[{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 aU({label:e,value:o,onChange:t,points:a=tU}){let r=a.map(n=>({...n,label:i(n.label),...n.title?{title:i(n.title)}:null}));return w(D$,{label:i(e),value:o,points:r,onChange:t})}function Ybe(){return cP()}var bP={top:w(m$,{}),right:w(p$,{}),bottom:w(f$,{}),left:w(u$,{})};function yP(e,o,t,a,r,n,s){let l=m=>o.find(u=>u.value===m),c=m=>({value:m,label:"",disabled:!0,title:a}),d=m=>{let u=o.find(I=>I.cell===m);if(!u)return c(`missing-${m}`);let x=n?.[m];return x?{value:u.value,label:u.label,icon:x}:{value:u.value,label:u.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:m,onChange:u})=>{let x=o.some(I=>I.value===m)?m:t;return w(to,{label:i(e),icon:r,value:l(x)?.label?i(l(x).label):s?i(s):"",children:aU({label:e,value:x,onChange:u,points:f})})}}}function Xbe(e,o,t){return{type:"custom",options:o,render:({value:a,onChange:r,field:n})=>w(Hv,{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 Zbe(e,o={}){return{type:"custom",render:({value:t,onChange:a})=>{let r={value:t,onChange:a,...o};return w(e,{...r})}}}var Jbe=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function Qbe(e,o,t){let a=Object.keys(Em).map(r=>({label:Em[r],value:r,picture:t[r]}));return{type:"custom",...Na({},{type:"radio",label:e,options:a.map(r=>({value:r.value,label:r.label}))}),render:({onChange:r})=>w(nU,{label:e,icon:o,options:a,onChange:r})}}function rU(e,o,t){let a=tC(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=oC(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 nU({label:e,icon:o,options:t,onChange:a}){let r=Ln(),n=r?.values??{},s=Us(n),l=$T(Qz),c=vc(l?.docId??null),d=null;try{d=Pd(m=>m.appState.data)}catch{d=null}let f=SC(r?.id,d,c);return w(to,{label:i(e),icon:Il(o),hint:rU(n,f,l?.hasUnsavedEdits??!1),children:bd({options:t,value:s,onChange:a,ariaLabel:e})})}function eye(e,o,t,a={}){let r={type:"custom",[t$]:!0,render:({value:n,onChange:s,name:l})=>w(Nv,{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?Mt("each",r):r}function sU(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 oye({value:e,onChange:o,label:t}){let a=e||{},r=Ln(),n=r?r.values!==r.node.props:!0,s=!!a.pending&&n,l=!!a.pending&&!n,c=!!Ue(Q$()).geocode,d=GT(),f=(m,u)=>o({...a,[m]:u??void 0});return Da(sa,{children:[w(to,{label:i(t),icon:w(LT,{}),action:c?w(gx,{content:i("Find from the address (OpenStreetMap)"),children:w(QT,{"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(C$,{})})}):void 0,children:c&&a.status?w(mv,{compact:!0,oneLine:!0,spaced:!1,status:s?"busy":a.ok&&!l?"found":"notfound",statusText:s?i("Finding\u2026"):l?i(ch):i(a.status),hint:sU(a)}):null}),w(to,{label:i("Enter by hand"),labelId:d,icon:w(h$,{}),action:w(Ix,{checked:!!a.manual,onChange:m=>o({...a,manual:m}),ariaLabelledBy:d})}),a.manual&&w(to,{label:i("Latitude, longitude"),icon:w(LT,{}),children:Da("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,width:"100%",minWidth:0},children:[w(BT,{value:typeof a.lat=="number"?a.lat:null,onChange:m=>f("lat",m),min:-90,max:90,step:1e-4,placeholder:i("Latitude")}),w(BT,{value:typeof a.lng=="number"?a.lng:null,onChange:m=>f("lng",m),min:-180,max:180,step:1e-4,placeholder:i("Longitude")})]})})]})}function lU(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function iU(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 cU(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 Tx={label:"Ticker items",icon:w(y$,{})};function tye(e,o,t,a){return{type:"custom",[ra]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:a},...Na({},{...rP.textList,label:e}),render:({value:r,onChange:n})=>w(Px,{label:e,icon:Il(o),items:Array.isArray(r)?r:[],placeholder:t,onChange:n,markup:a==="markup"})}}function Px({label:e,icon:o,items:t,placeholder:a,onChange:r,markup:n=!1}){let s=hl(null),[l,c]=xl(null),d=m=>m.map(u=>({text:u?.text??""})),f=m=>{let u=cU(t,m,l);u===null&&(s.current=null),c(u),r(d(m))};return w(F$,{label:i(e),icon:o,noun:i("item"),items:t,onChange:f,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?w(uh,{target:s,value:lU(t,l),onChange:m=>r(iU(t,l??-1,m)),disabled:l===null,label:l===null?i("Formatting \u2014 click a row first"):i("Formatting \u2014 row {n}",{n:l+1})}):void 0,renderRow:(m,u,x)=>w("input",{type:"text",className:n&&l===u?"sf-list-marking":void 0,value:m?.text??"",placeholder:i(a),"aria-label":i("{label} {n}",{label:i(e),n:u+1}),onChange:I=>x({text:I.target.value}),onFocus:I=>{s.current=I.currentTarget,c(u)}})})}function SP(e,o){let t=`${e.label} \u2014 row ${o+1}`;return Er({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:a,onChange:r})=>w(Pr,{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 wP(e){return{_gCards:Ct("Cards"),coverIndex:ta("Cover image",w(b$,{}),Lv,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:gG("Image background",pd),cardImage:uU()}}function CP(){return{outline:ta("Card outline",w(v$,{}),bh,Ih),indexBadge:ta("Card number",w(KT,{}),gh,xh),showBadge:JG("Product badge",!0,w(nh,{noun:"tag"}))}}function vP(e){let o=e?.defaults??{showCardSizes:!0,showCardBuy:!0,showCardPage:!0},t=r=>({...Td,label:vd.find(n=>n.id===r).label}),a=r=>Na(j$(mx),t(r));return{_gShowOnCard:Ct("Show on a card"),[mx]:Na({type:"custom",render:()=>w(dU,{rest:{showCardPrice:!0,showCardFinishes:!0,...o}})},t(mx)),showCardFinishes:a("showCardFinishes"),showCardSizes:a("showCardSizes"),showCardBuy:a("showCardBuy"),showCardPage:a("showCardPage")}}var mx="showCardPrice",vd=[{id:"showCardPrice",label:"Price"},{id:"showCardFinishes",label:"Finish swatches"},{id:"showCardSizes",label:"Sizes"},{id:"showCardBuy",label:"Buy button"},{id:"showCardPage",label:"Page button"}];function dU({rest:e}){let o=Zo(),t=Ch(),a=s=>typeof o[s]=="boolean"?o[s]:void 0,r=s=>a(s)??e[s],n=vd.some(({id:s})=>a(s)!==void 0&&a(s)!==e[s]);return w(Ex,{parts:vd,changed:n,shown:r,onPress:(s,l)=>t({[s]:l}),onReset:()=>t(Object.fromEntries(vd.map(({id:s})=>[s,void 0])))})}function aye(e,o="display"){let t=aa(o);return{[o]:Mt("desktop",{type:"custom",render:({value:a,onChange:r})=>w(Ex,{parts:e,changed:yv(a),shown:n=>Hc(a,n),onPress:(n,s)=>r(wv(a,n,s)),onReset:()=>r(void 0)})}),[t]:Mt("mobile",{type:"custom",render:({value:a,onChange:r})=>w(fU,{parts:e,desktopKey:o,value:a,onChange:r})})}}function Ex({parts:e,changed:o,shown:t,onPress:a,onReset:r,detail:n,disabledReason:s}){let l=i("Display");return w(to,{label:l,icon:w(n$,{}),changed:o,action:w(yo,{words:ee()?.panel,label:l,changed:o,detail:n,onReset:r}),children:w(B$,{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 fU({parts:e,desktopKey:o,value:t,onChange:a}){let r=Zo()[o];return w(Ex,{parts:e,changed:Sv(t),shown:n=>ih(r,t,n),onPress:(n,s)=>a(Cv(t,n,s)),onReset:()=>a(Gc),detail:i("the same as Desktop")})}function uU(){return iP("Card image",{min:Vo,max:Qa,step:$C,hint:"Rounds the picture. The card's own corner is in Styles."})}function rye(){return wx({sidesKey:"cornerSides",step:GC,useFollowed:()=>Vo,mark:w(pU,{label:UC}),hint:i("Rounds the picture. Left alone it stays square.")})}function pU({label:e,changed:o=!1,onReset:t=()=>{}}){return w(yo,{words:ee()?.panel,label:i(e),changed:o,onReset:t})}function nye(){return{type:"custom",render:({value:e,onChange:o})=>w(IU,{value:typeof e=="string"?e:"",onChange:o})}}function mU({layout:e,width:o}){return w("span",{"aria-hidden":"true",style:{display:"grid",width:o,gridTemplateColumns:"repeat(12, minmax(0, 1fr))",gridAutoRows:6,gridAutoFlow:"row dense",gap:2},children:qC(e).map(([t,a],r)=>w("i",{className:"block rounded-xs bg-current opacity-60",style:{gridColumn:`span ${t}`,gridRow:`span ${a}`}},r))})}var hU={width:"3.5rem",height:"2.5rem"},xU=200;function IU({value:e,onChange:o}){let[t,a]=xl(null),[r,n]=xl(4),s=hl(null);Jz(()=>{let u=s.current;if(!u||typeof ResizeObserver!="function")return;let x=()=>n(u.getBoundingClientRect().width>=xU?4:3);x();let I=new ResizeObserver(x);return I.observe(u),()=>I.disconnect()},[]);let l=e&&e in Zt?e:"",c=Jm(t,l),d=Jm(t,"").length,f=_c("no-symbol"),m=[{value:"",label:i("Not chosen"),icon:AT(f,i("Not chosen"))},...c.map(u=>({value:u,label:i(Zt[u].label),icon:w(mU,{layout:Zt[u],width:40})}))];return w(to,{label:i("Layout"),icon:w(I$,{}),value:l?i(Zt[l].label):void 0,children:w("div",{ref:s,style:{flex:"1 1 auto",minWidth:0},children:w(ZT,{label:i("Layout"),value:l,options:m,onChange:o,columns:r,cell:hU,header:Da("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(O$,{options:[{id:"all",label:i("All")},...KC.map(u=>({id:String(u),label:String(u)}))],value:t===null?"all":String(t),ariaLabel:i("Photos in a row"),onChange:u=>a(u==="all"?null:Number(u))}),w("span",{className:"text-2xs text-ink-faint",children:i("{n} of {total} layouts",{n:d,total:Zm.length})})]})})})})}import{decodePartId as BU}from"efficient-easel/draw";import{decodePartId as Rx,encodePartId as $d}from"efficient-easel/draw";import{LINK_FIELD_MARKER as FP,SCAFFOLD_FIELD_MARKER as RP,TEXT_FIELD_MARKER as Gd}from"efficient-easel/draw";import{readHidable as BP}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as vU}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as CU}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as kP}from"efficient-easel/draw";import{readHidable as TP}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as gU}from"efficient-easel/draw";var bU=gU,yU=["text","textarea"],SU=["textarea","plainTextarea"];function wU(e){return!e||typeof e!="object"?null:e[kP]?.control??null}function Fn(e){let o=wU(e);return o&&bU.includes(o)?o:null}function Md(e){return SU.includes(e)}function PP(e){return!e||typeof e!="object"?void 0:e[kP]?.placeholder}function Hd(e){return TP(e).text}function Ox(e,o,t){return yU.includes(e)?{text:t,hidden:TP(o).hidden}:t}function EP(e,o,t,a){return Hd(e[o])===a?null:{...e,[o]:Ox(t,e[o],a)}}function Bn(e,o){return o?`${e}[${o.index}].${o.rowKey}`:e}function vt(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 Wd(e){if(!(!e||typeof e!="object"))return e[CU]}function _x(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function OP(e,o){if(!Array.isArray(o))return[];let t=Wd(e),a=[];if(t?.control==="textList"){let n=t.itemKey??"text";return o.forEach((s,l)=>{let c=Q(s?.[n]);c&&a.push({row:{index:l,rowKey:n},text:c})}),a}let r=_x(e);return r?(o.forEach((n,s)=>{for(let[l,c]of Object.entries(r)){if(!Fn(c))continue;let d=Hd(n?.[l])||Wd(c)?.placeholder||"";d&&a.push({row:{index:s,rowKey:l},text:d})}}),a):[]}function bl(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function Ax(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 _P(e,o,t,a,r){let n=bl(e[o],t);return Hd(n)===r?null:Ax(e,o,t,Ox(a,n,r))}function AP(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var kt="data-sf-part",Tye="data-sf-region-part",Pye="data-sf-part-row";function Eye(e,o){return`${e}[${o}]`}var Oye="data-sf-part-kind",kU="data-sf-part-style-owner",TU="data-sf-part-style-kind";function _ye(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(kU),a=o.getAttribute(TU);if(t&&a)return{owner:t,kind:a};if(o.getAttribute("data-easel-block"))return null}return null}var LP=2;function Dn(e){return nr(e).replace(/\s+/gu,"")}function zd(e,o,t){let a=e[Gd];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}=BP(o);r?t.push(r):a.placeholder&&t.push(a.placeholder);return}if(!e[FP]){if(e.type==="text"||e.type==="textarea"){let r=Q(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))zd(s,r?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[r,n]of Object.entries(e.objectFields))zd(n,o[r],t)}}function Lx(e){if(!e||typeof e!="object")return!1;let o=e;return o[FP]?!1:!!o[Gd]||o.type==="text"||o.type==="textarea"}function Ud(e,o){let t=e[Gd];return t?.label?t.label:typeof e.label=="string"?e.label:o}function Fx(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function Aye(e,o,t){if(!e)return[];let a=[];for(let[r,n]of Object.entries(e)){if(!n||typeof n!="object"||el(r))continue;let s=n,l=[];zd(s,o?.[r],l),!l.length&&s[RP]!==void 0&&zd(s,s[RP],l);let c=Ud(s,r);if(t?.(r)&&Lx(s)){l.length&&a.push({key:r,label:c,texts:[],keyed:!0});continue}let d=new Set;for(let{row:u,text:x}of OP(s,o?.[r])){let I=Dn(x);I.length<LP||(d.add(I),a.push({key:r,label:c,texts:[I],row:u}))}let f=new Set(d),m=[];for(let u of l){let x=Dn(u);x.length<LP||f.has(x)||(f.add(x),m.push(x))}m.length&&a.push({key:r,label:c,texts:m})}return a}function Bx(e){return!e.offPage&&!e.hidden}var PU=vU;function DP(e,o){if(!o||typeof o!="object"||el(e)||Ev(o))return null;let t=o[Gd];return!t||!PU.includes(t.control)?null:t}function Rye(e,o){let t=DP(e,o);return t!==null&&t.identifier!==!0}function NP(e,o){if(!e)return[];let t=[];for(let[a,r]of Object.entries(e)){let n=DP(a,r);if(!n)continue;let{text:s,hidden:l}=BP(o?.[a]);if(Bx({offPage:n.offPage===!0,hidden:!!l}))continue;let c=s||n.placeholder||"",d=nr(c).replace(/\s+/gu," ").trim();t.push({key:a,label:Fx(Ud(r,a)),preview:d,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!l})}return t}function Nn(e,o){let t=Wd(e);return t?.control==="textList"?o.rowKey===(t.itemKey??"text")?SP(t,o.index):null:_x(e)?.[o.rowKey]??null}function jd(e,o,t){let a=e.node.props,{key:r,row:n}=vt(e.propKey),s=n?_P(a,r,n,e.kind,o):EP(a,r,e.kind,o);return s?(t(e.zone,e.index,{...e.node,props:s}),!0):!1}import{readHidable as zP}from"efficient-easel/draw";import{isNodeList as EU}from"efficient-easel/data";var Dx=e=>String(e+1).padStart(2,"0"),Wye=[{label:"01 \xB7",value:"two-digit"},{label:"1.",value:"plain"}],Nx="two-digit",MP=e=>e==="plain"?"plain":Nx,Kd=(e,o)=>e==="plain"?`${o+1}.`:Dx(o);var Hx="Contents",Mx="Flex",HP="Text",OU="numberForm",Xye="_contentsEntries",Zye="_kickerNumber",$P="data-sf-kicker-number",_U=e=>zP(e).text.trim(),GP=e=>av(e?.anchor),WP=e=>String(e.props?.id??""),AU=e=>!zP(e.props?.text).hidden&&!mn(e.props)&&!ht(e.props);function yl(e){return Object.values(e.props??{}).filter(EU)}function UP(e){for(let o of yl(e))for(let t of o){if(t.props?._hidden)continue;if(t.type===HP&&AU(t))return t;if(t.type===HP)continue;let a=UP(t);if(a)return a}}function jP(e){return yl(e).some(o=>o.some(t=>t&&!t.props?._hidden&&(t.type===Hx||jP(t))))}var KP=e=>e.type===Mx&&Tn(Mx,e.props?.direction)==="row";function VP(e){return yl(e).some(o=>o.some(t=>t&&!t.props?._hidden&&(t.type===Hx||!KP(t)&&VP(t))))}function RU(e){let o=[],t=(a,r)=>{for(let n of a){if(!n||n.props?._hidden)continue;if(n.type===Hx){r.open={contents:n,sections:r.waiting??[]},r.waiting=null,o.push(r.open);continue}if(KP(n)&&VP(n)){let l={inRow:!0,open:null,waiting:[]};for(let c of yl(n))t(c,l);r.inRow||(r.open=null);continue}let s=r.open?.sections??r.waiting;if(n.type===Mx&&GP(n.props)&&s&&!jP(n)){s.push({box:n,kicker:UP(n)});continue}for(let l of yl(n))t(l,r)}};return t(e,{inRow:!1,open:null,waiting:null}),o}function LU(e){return e.map(o=>({label:o.kicker?nr(_U(o.kicker.props?.text)):"",anchor:GP(o.box.props)}))}function Jye(e){let o=e?.length?RU(e):[];if(!o.length)return null;let t=new Map,a=new Map;for(let r of o){let n=WP(r.contents);n&&t.set(n,LU(r.sections));let s=MP(r.contents.props?.[OU]);r.sections.forEach((l,c)=>{let d=l.kicker?WP(l.kicker):"";d&&a.set(d,Kd(s,c))})}return{entries:t,numbers:a}}var Qye=e=>e.endsWith(".")?`${e} `:`${e} \xB7 `;var DU=`[${$P}]`,NU=["bold","italic","underline","strike","link","sup","sub"],MU=["bullet","number"];function $x(e,o){return e?[...NU,...o?MU:[]]:[]}function qP(e,o){let t=BU(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}=vt(r),d=o.components[n.type]?.fields?.[l],f=c?Nn(d,c):d,m=Fn(f);if(!m)return null;let u=n.props??{};if(Wh(u)!==null||!c&&bm(n.type,u,l)||n.type==="Text"&&l==="text"&&mn(u)||c&&!(Array.isArray(u[l])&&c.index<u[l].length))return null;let x=c?bl(u[l],c):u[l];return{node:n,selector:s,propKey:r,kind:m,stored:x,offPage:Ed(f)}}function Vd(e,o){let t=qP(e,o);if(!t)return null;let{text:a,hidden:r}=Ma(t.stored);if(!Bx({offPage:t.offPage,hidden:!!r}))return null;let n=Md(t.kind);return{partId:e,value:a,rules:ar,multiline:n,skip:DU,offered:$x(t.kind!=="plainText",n),write:s=>{let l=qP(e,o);l&&jd({node:l.node,propKey:l.propKey,kind:l.kind,zone:l.selector.zone,index:l.selector.index},s,o.replace)}}}function Gx(e,o,t){return e?.isConnected&&e.getAttribute(kt)===t?e:o?.querySelector(`[${kt}="${qd(t)}"]`)??null}function qd(e){return e.replace(/["\\]/g,"\\$&")}function YP(e){let o=e.activeElement;return o?o.tagName==="IFRAME"||!!o.closest(".es-canvas"):!1}var Wx=null,zx=new Set;function HU(){return Wx}function Ux(e){if(e!==Wx){Wx=e;for(let o of zx)o()}}function WU(e){return zx.add(e),()=>{zx.delete(e)}}function XP(){return FU(WU,HU,()=>null)}function ZP(e,o){if(e.outer)return null;let t=o.getItemById(e.ownerId);if(!t)return null;let a=$w(t.type);return!a||co(t.props)?null:{node:t,rows:a}}function jU(e,o){let t=ZP(e,o),a=o.getItemById(e.nodeId);if(!t||!a)return null;let r=ym(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:zU(e.ownerId,Bn(t.rows,{index:e.index,rowKey:r}))}function Yd(e,o){let t=jU(e,o);return t?Vd(t,o):null}function JP(e,o){return Yd(e,o)?.value}function QP(e,o){let t=Yd(e,o);return t?(t.write(e.text),!0):!1}function e0(e,o){let t=ZP(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=$U(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=GU(n,s,c);break}case"delete":l=UU(n,s);break;default:return!1}return o.replace(a.zone,a.index,{...t.node,props:{...r,[t.rows]:l}}),!0}import{jsx as be,Fragment as $E,jsxs as Ll}from"react/jsx-runtime";import{Fragment as A7,useEffect as R7,useId as L7,useMemo as GE,useRef as F7,useState as Ha}from"react";import{useScreenDocument as ZE}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as GI}from"efficient-easel/draw/client";import B7 from"efficient-easel/screen/components/SidePanelHead";import{jsx as me,Fragment as Jn,jsxs as Lr}from"react/jsx-runtime";import{useEasel as FE,useRootFields as M8}from"efficient-easel/easel";import{Inspector as H8}from"efficient-easel/fields";import{SettingsGroup as W8}from"efficient-easel/panel";import{useEffect as z8,useRef as $8,useState as WI}from"react";import{jsx as Or,Fragment as YU,jsxs as XU}from"react/jsx-runtime";import{useState as r0}from"react";import{SettingsDefaultReset as ZU,SettingsField as JU}from"efficient-easel/panel";import{useEaselStrings as QU}from"efficient-easel/strings";import{AddIcon as ej}from"efficient-easel/icons";import{Button as oj}from"efficient-shell/ui";import{iconOf as tj,noGlyph as aj}from"efficient-easel/screen/lib/document/box-fields";import{jsx as Xd,Fragment as KU,jsxs as o0}from"react/jsx-runtime";import{Button as t0,Dialog as VU}from"efficient-shell/ui";function qU(e){return wo("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 a0({count:e,onCancel:o,onConfirm:t}){return o0(VU,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Clear this site\u2019s colors?"),footer:o0(KU,{children:[Xd(t0,{variant:"secondary",onClick:o,children:i("Cancel")}),Xd(t0,{variant:"danger",onClick:t,children:i("Clear colors")})]}),children:[Xd("p",{children:qU(e)}),Xd("p",{className:"mt-2 font-medium",children:i("This cannot be undone.")})]})}var rj=aj("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"),nj="Reset color",sj={selected:0,themes:[]};function lj(e){e(sj)}function n0({value:e,onChange:o}){let t=e?.themes??[],a=t.length===0,r=Qe(e),[n,s]=r0(!1),l=QU(),[c,d]=r0(null),f=(C,S)=>{o({...r,themes:r.themes.map((g,v)=>v===C?S:g)})},m=cn(r).accent,u=new Set(r.themes.map(C=>C.brandInk).filter(Boolean)),x=aS.filter(C=>!u.has(C)).map(C=>rS(m,C)),I=[...r.themes,...x],y=C=>{if(C<r.themes.length)return o({...r,selected:C});let S=[...r.themes,I[C]];o({...r,themes:S,selected:S.length-1})},P=()=>{let C=[...r.themes,{...Po(r.themes[r.selected])}];o({...r,themes:C,selected:C.length-1}),d(C.length-1)};return XU(YU,{children:[a?null:Or(JU,{label:i(nj),icon:tj(rj),labelId:"sf-theme-reset",action:Or(ZU,{label:i("all theme colors"),words:l.panel,changed:!0,onReset:()=>s(!0)})}),n&&Or(a0,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),lj(o)}}),Or("div",{className:"sf-theme-list",role:"radiogroup","aria-label":i("Theme"),children:I.map((C,S)=>Or(Kc,{index:S,colors:C,selected:S===r.selected,open:c===S&&S<r.themes.length,editable:S<r.themes.length,onPick:()=>y(S),onEdit:()=>d(g=>g===S?null:S),onChangeColors:g=>f(S,g)},S))}),Or(oj,{variant:"secondary",leftIcon:Or(ej,{}),onClick:P,className:"sf-theme-add",children:i("Add new theme")})]})}import{jsx as Zd}from"react/jsx-runtime";import{SettingsDefaultReset as ij,SettingsField as cj}from"efficient-easel/panel";import{SquareIcon as dj}from"efficient-easel/icons";var fj="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",jx="Corners";function s0({value:e,onChange:o}){let t=e===null;return Zd(cj,{label:i(jx),icon:Zd(dj,{}),changed:!t,action:Zd(ij,{words:ee()?.panel,label:i(jx),changed:!t,detail:i("the built-in corners"),onReset:()=>o(null)}),hint:i(fj),children:Zd(zo,{min:Vo,max:Qa,step:1,value:e,...e===null?{}:{suffix:"px"},placeholder:Vo,placeholderWord:"Auto",onClear:()=>o(null),ariaLabel:i(jx),onChange:o})})}import{jsx as Sl}from"react/jsx-runtime";import{SettingsDefaultReset as uj,SettingsField as pj}from"efficient-easel/panel";import{IconPicker as mj}from"efficient-shell/ui";import{ShadowIcon as hj}from"efficient-easel/icons";var Kx={none:"None",soft:"Soft",lifted:"Lifted"},xj="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",Ij={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 l0({value:e,onChange:o}){let t=e===null,a=e??Bp;return Sl(pj,{label:i("Card shadow"),icon:Sl(hj,{}),value:i(Kx[a]),changed:!t,action:Sl(uj,{words:ee()?.panel,label:i("Card shadow"),changed:!t,detail:i(Kx[Bp]),onReset:()=>o(null)}),hint:i(xj),children:Sl(mj,{label:i("Card shadow"),value:a,options:mS.map(r=>({value:r,label:i(Kx[r]),icon:Sl("span",{className:"sf-shadow-chip border border-line bg-surface",style:{boxShadow:Ij[r]}})})),onChange:o})})}import{jsx as i0}from"react/jsx-runtime";import{ShadowIcon as gj}from"efficient-easel/icons";var bj="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 c0({value:e,onChange:o}){let t=e===null;return i0(wn,{label:i("Shadow color"),icon:i0(gj,{}),value:e??"",inherited:Np,resetTo:Np,onChange:o,onReset:()=>o(null),hint:i(bj)})}import{jsx as Qd}from"react/jsx-runtime";import{SettingsDefaultReset as yj,SettingsField as Sj}from"efficient-easel/panel";import{AlignSeparateIcon as wj}from"efficient-easel/icons";function Jd(e,o){return e==="tablet"?null:e==="mobile"?o.phone:o.desktop}var Cj="The space between the blocks inside a row, a grid or a box. Auto means each one keeps the spacing it already has.",vj="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.",Vx="Block gap",d0=En.Grid;function f0(e,o){return Jd(e,{desktop:{key:"block_gap",value:o.gap,followsPx:null},phone:{key:"block_gap_phone",value:o.phone,followsPx:o.gap===null?null:tx(o.gap)}})}function u0({value:e,onChange:o,followsPx:t=null}){let a=e===null,r=t===null?null:`${t}px`,n=t===null?d0:dl(t)??d0;return Qd(Sj,{label:i(Vx),labelId:"sf-block-gap",icon:Qd(wj,{}),changed:!a,action:Qd(yj,{words:ee()?.panel,label:i(Vx),changed:!a,detail:r??i("each block's own spacing"),onReset:()=>o(null)}),hint:i(r===null?Cj:vj),children:Qd(zo,{min:wr.min,max:wr.max,step:wr.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(Vx),onChange:o})})}import{jsx as lf}from"react/jsx-runtime";import{SettingsDefaultReset as Ej,SettingsField as Oj,SettingsSegmented as _j}from"efficient-easel/panel";import{HoverIcon as Aj}from"efficient-easel/icons";import{HOVER_MOTION as kj,hoverKindsOf as of,motionSeconds as ef}from"efficient-shell/format";var Ro="hover",tf="_gHover",Hn={none:"None",nextImage:"Show next image",rotate:"Rotate",zoom:"Zoom",lift:"Lift",mono:"Black and white"},af=of(["none","lift"]);function p0(e){let o=e[Ro];return af.includes(o)?o:"none"}var rf=of(["none","rotate"]),He={kind:Ro,angle:"hoverAngle",duration:"hoverDuration",delay:"hoverDelay"},wl="spinOnHover",Mn={min:0,max:360,step:1},m0={ProductGrid:"rotate",RelatedProducts:"rotate",AlloyWheelsListing:"none"},hwe=Object.keys(m0);function qx(e){return m0[e]??"none"}var Yx=kj.rotateFallbackDeg;function Xx(e,o){let t=e[He.kind];if(rf.includes(t))return t;let a=e[wl];return typeof a=="boolean"?a?"rotate":"none":o}function Zx(e){let o=j(e);return o===void 0?Yx:Math.min(Mn.max,Math.max(Mn.min,o))}function xwe(e,o){let t=qx(o),a=Xx(e,t);return{kind:a,angle:a==="rotate"?Zx(e[He.angle]):null,duration:ef("hover","duration",a==="rotate"?e[He.duration]:void 0),delay:ef("hover","delay",a==="rotate"?e[He.delay]:void 0)}}function h0(e){let o={field:He.kind,in:[...rf]};return{any:[{field:He.kind,is:"rotate"},{all:[{not:o},e==="rotate"?{not:{field:wl,is:!1}}:{field:wl,is:!0}]}]}}var nf=of(["none","mono"]),Jx=of(["none","nextImage","mono"]),x0={ImageBlock:"none",Manifesto:"none",Split:"none",ContactLocations:"mono"},Iwe=Object.keys(x0);function Qx(e){return x0[e]??"none"}var Cl={zoom:"hoverZoom",darken:"hoverDarken"},ia={min:100,max:150,step:1,unit:"%"},sf=["nextImage"];function Tj(e,o){if(!sf.includes(o))return null;let t=j(e[Cl.zoom]);if(t===void 0)return null;let a=Math.min(ia.max,Math.max(ia.min,t));return a===ia.min?null:String(a/100)}function Pj(e,o){if(!sf.includes(o))return null;let t=j(e[Cl.darken]);return t!==void 0&&t>0?t:null}var eI=["ImageBlock"];function oI(e,o,t=nf){let a=e[Ro];return t.includes(a)?a:o}function I0(e,o=""){let t=eI.includes(o)?Jx:nf,a=oI(e,Qx(o),t),r=a!=="none";return{kind:a,duration:ef("hover","duration",r?e[He.duration]:void 0),delay:ef("hover","delay",r?e[He.delay]:void 0),...sf.includes(a)?{zoom:Tj(e,a),darken:Pj(e,a)}:{}}}function g0(){return{field:Ro,in:[...sf]}}function b0(e){return e==="none"?{field:Ro,in:["mono","nextImage"]}:{not:{field:Ro,is:"none"}}}var tI={none:Hn.none,lift:Hn.lift,highlight:"Highlight"},Rj="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 y0({value:e,onChange:o}){let t=e===null,a=e??Dp;return lf(Oj,{label:i("Hover effect"),icon:lf(Aj,{}),value:i(tI[a]),changed:!t,action:lf(Ej,{words:ee()?.panel,label:i("Hover effect"),changed:!t,detail:i(tI[Dp]),onReset:()=>o(null)}),hint:i(Rj),children:lf(_j,{options:hS.map(r=>({id:r,label:i(tI[r])})),value:a,ariaLabel:i("Hover effect"),onChange:o})})}import{jsx as cf}from"react/jsx-runtime";import{SettingsDefaultReset as Lj,SettingsField as Fj,SettingsSegmented as Bj}from"efficient-easel/panel";import{DropIcon as Dj}from"efficient-easel/icons";var aI="Photography",S0={shot:"As shot",mono:"Black and white"},rI=[{grayscale:!1,label:S0.shot},{grayscale:!0,label:S0.mono}],Nj="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function w0({value:e,onChange:o}){let t=e===null,a=e??!1;return cf(Fj,{label:i(aI),icon:cf(Dj,{}),value:i(rI.find(r=>r.grayscale===a).label),changed:!t,action:cf(Lj,{words:ee()?.panel,label:i(aI),changed:!t,detail:i(rI.find(r=>!r.grayscale).label),onReset:()=>o(null)}),hint:i(Nj),children:cf(Bj,{options:rI.map(r=>({id:r.grayscale,label:i(r.label)})),value:a,ariaLabel:i(aI),onChange:o})})}import{jsx as nI}from"react/jsx-runtime";import{useId as Mj}from"react";import{SettingsField as Hj,SettingsSwitch as Wj}from"efficient-easel/panel";import{ShareIcon as zj}from"efficient-easel/icons";var $j="Share button",Gj="On every blog post.";function C0({value:e,onChange:o}){let t=Mj();return nI(Hj,{label:i($j),labelId:t,icon:nI(zj,{}),action:nI(Wj,{checked:e===!0,onChange:o,ariaLabelledBy:t}),hint:i(Gj)})}import{usePreviewDevice as zI}from"efficient-easel/draw/client";import{jsx as df}from"react/jsx-runtime";import{SettingsDefaultReset as Uj,SettingsField as jj}from"efficient-easel/panel";import{PaddingXIcon as Kj}from"efficient-easel/icons";var sI="Side space",v0=oa.default,Vj="The room left at the left and right edge of every page.";function k0(e,o){return Jd(e,{desktop:{key:"site_gutter",value:o.gutter,unsetPx:v0,bounds:oa},phone:{key:"site_gutter_phone",value:o.phone,unsetPx:Id(o.gutter),bounds:ml}})}function T0({value:e,onChange:o,unsetPx:t=v0,bounds:a=oa}){let r=e===null;return df(jj,{label:i(sI),labelId:"sf-side-space",icon:df(Kj,{}),changed:!r,action:df(Uj,{words:ee()?.panel,label:i(sI),changed:!r,detail:`${t}px`,onReset:()=>o(null)}),hint:i(Vj),children:df(zo,{min:a.min,max:a.max,step:a.step,value:e,suffix:"px",placeholder:t,onClear:()=>o(null),ariaLabel:i(sI),onChange:o})})}import{jsx as lI}from"react/jsx-runtime";import{BACKGROUND_WIDTHS as Vwe,SettingsBackgroundWidth as qj,SettingsContentWidth as Yj}from"efficient-easel/panel";var Xj="Background width",Zj="Content width";var ff=e=>i(vr[e==="content"?"page":"full"]),P0="The width of every section's background.",E0="The width of every section's content.";function O0({value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n,labelId:s}){return lI(qj,{value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n?i(n):void 0,labelId:s,words:{label:i(Xj),full:ff("full"),content:ff("content")},resetWords:ee()?.panel})}function _0({mode:e,px:o,max:t=uo.max,min:a=uo.min,changed:r,detail:n,fullClosed:s,onMode:l,onPx:c,onReset:d,hint:f,labelId:m}){let u=i(Zj),x=e!=="full"?lI(zo,{min:a,max:t,step:uo.step,value:Math.min(Math.max(o,a),t),onChange:c,suffix:"px",ariaLabel:u}):null;return lI(Yj,{mode:e,onMode:l,number:x,changed:r,detail:n,fullClosed:s,onReset:d,hint:f?i(f):void 0,labelId:m,words:{label:u,full:ff("full"),content:ff("content")},resetWords:ee()?.panel})}import{jsx as yE}from"react/jsx-runtime";import{TextStyleItem as m8,TextStylesGroup as h8}from"efficient-easel/text-styles";import{jsx as l8}from"react/jsx-runtime";import{useState as i8}from"react";import{TextStylesList as c8}from"efficient-easel/text-styles";import{usePreviewDevice as d8}from"efficient-easel/draw/client";import{defaultTextStyles as sE,textStyleCaseCss as JK,textStyleViewKey as QK}from"efficient-easel/text-styles/model";import{phoneKey as e8,resolveViewValue as lE,tabletKey as o8}from"efficient-easel/draw";import{VIEW_DESKTOP_MIN as Jj,VIEW_TABLET_MIN as A0}from"efficient-easel/draw";var R0=.02,uf=`(min-width: ${A0}px) and (max-width: ${Jj-R0}px)`,Wn=`(max-width: ${A0-R0}px)`;import{textStyleCaseCss as aK,textStyleCaseOfCss as rK}from"efficient-easel/draw";import{parseHexColor as B0}from"efficient-shell/format";import{COLOR_SLOTS as D0,colorRole as Qj}from"efficient-shell/markup";var N0={main:Fs.accent,text:Fs.text,background:"var(--bg)",muted:Fs.labels},eK={main:"Main",text:"Text",background:"Background",muted:"Muted"},L0={accent:"main",labels:"muted"};function Ht(e){return Object.hasOwn(L0,e)?L0[e]:e}function zn(e){if(!e)return"";if(e.startsWith("#"))return B0(e)===e.toLowerCase()?e:"";let o=Qj(Ht(e));return o?.kind==="slot"?N0[o.slot]:""}var oK="#9ca3af";function $n(e){return D0.map(o=>({name:o,label:i(eK[o]),value:e?.[o]||oK}))}function M0(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 D0){let l=N0[s].replace(/^var\((--[\w-]+)\)$/,"$1"),c=r.getPropertyValue(l).trim();if(!c)continue;let d=F0(c);!d&&n&&(n.fillStyle="#000000",n.fillStyle=c,d=F0(String(n.fillStyle))),d&&(o[s]=d)}return o}function F0(e){let o=e.trim().toLowerCase();if(o.startsWith("#"))return B0(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 pf="data-sf-spec-region";function H0(e){return e.writable===!0&&e.sized===!0}function mf(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 Gn(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 iI(e){return`@${e}`}function vl(e,o){if(!o.startsWith("@"))return null;let t=o.slice(1);return t in e?t:null}function tK(e,o){return o&&o in e?o:null}function Un(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function jn(e,o){return Un(e?.[o])??{}}function hf(e,o,t){let a=jn(e,o);return Object.hasOwn(a,t)?Un(a[t])??{}:{}}function xf(e,o,t,a){let{[t]:r,...n}=jn(e,o),s=a?{...n,[t]:a}:n,{[o]:l,...c}=e;return Object.keys(s).length?{...c,[o]:s}:c}var pI="_partStyles",mI="data-sf-part-styled",Kn="data-sf-text-style",nK=/^(heading|body)-[1-7]$/;function Ar(e){return typeof e=="string"&&nK.test(e)}var If={heading:"heading-1",heading2:"heading-2",heading3:"heading-3",body:"body-1",label:"body-5"};function sK(e){if(!e)return null;for(let[o,t]of Object.entries(If))if(t===e)return o;return null}function hI(e){if(Ar(e.textStyle))return e.textStyle;let o=Yt(e.role);return o?If[o]:void 0}var lK=[400,500,600,700],Tl=["left","center","right","justify"],cI=5,dI=1e3,iK=-5,cK=10,xI=0,II=64,gI=2,W0={size:{min:cI,max:dI,step:1},sizeTablet:{min:cI,max:dI,step:1},sizePhone:{min:cI,max:dI,step:1},padding:{min:xI,max:II,step:gI}},dK=.05,fK=.01,uK=["line","letter"],pK=.5,mK=2.5,hK=-1,xK=1,IK=0,gK=400,bK=[...new Set(Object.values(ln))];function K0(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 ICe(e){return jn(e,pI)}function Pl(e,o){return hf(e,pI,o)}function V0(e,o,t){return xf(e,pI,o,yK(t).length?t:null)}function yK(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function SK(e){return uK.includes(e)}var kl=(e,o,t)=>Math.min(t,Math.max(o,e));function wK(e,o){if(SK(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:kl(t,iK,cK)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?Vn(kl(t,pK,mK),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?Vn(kl(t,hK,xK),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:kl(t,IK,gK)}if(Object.hasOwn(W0,e)){let{min:t,max:a}=W0[e],r=Math.round(Number(o));return Number.isFinite(r)?kl(r,t,a):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"||e==="fontRole"?Yt(o)?o:null:e==="sizeToken"?bI(o)?o:null:e==="textStyle"?Ar(o)?o:null:e==="alignPhone"||e==="alignTablet"?Tl.includes(o)?o:null:o}var CK=["weight","size","sizeTablet","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding"];function qn(e){let o=null,t=a=>{o??={...e},delete o[a]};for(let a of CK){let r=e[a];r!==void 0&&!(typeof r=="number"&&Number.isFinite(r))&&t(a)}return e.align!==void 0&&!Tl.includes(e.align)&&t("align"),e.alignTablet!==void 0&&!Tl.includes(e.alignTablet)&&t("alignTablet"),e.alignPhone!==void 0&&!Tl.includes(e.alignPhone)&&t("alignPhone"),e.textStyle!==void 0&&!Ar(e.textStyle)&&t("textStyle"),e.sizeToken!==void 0&&!bI(e.sizeToken)&&t("sizeToken"),e.fontRole!==void 0&&!Yt(e.fontRole)&&t("fontRole"),o??e}function bI(e){if(!e||typeof e!="object")return!1;let{step:o,px:t,stepPhone:a,pxPhone:r,fluid:n}=e,s=c=>typeof c=="number"&&Number.isFinite(c)&&c>0,l=c=>typeof c=="string"&&bK.includes(c);return l(o)&&s(t)&&(a===void 0||l(a))&&(r===void 0||s(r))&&(n===void 0||vK(n,t))}function vK(e,o){if(!e||typeof e!="object"||Array.isArray(e))return!1;let{minPx:t,vw:a,...r}=e;return Object.keys(r).length===0&&typeof t=="number"&&Number.isFinite(t)&&t>0&&t<o&&typeof a=="number"&&Number.isFinite(a)&&a>0&&a<=100}function yI(e){return e?.pxPhone&&bI(e)?{step:e.stepPhone??e.step,px:e.pxPhone}:null}function q0({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 kK=[["font","role"],["font","fontRole"],["role","textStyle"],["line","lineHeight"],["letter","letterSpacing"]];function TK(e){let o=[];for(let[t,a]of kK)t===e?o.push(a):a===e&&o.push(t);return o}function ca(e,o,t,a){let r={...Pl(e,o)},n=a==null?null:wK(t,a);if(n===null)delete r[t];else{r[t]=n;for(let s of TK(t))delete r[s]}return V0(e,o,r)}function Y0(e,o){return V0(e,o,{})}function PK(e){return rK(e)??"none"}function EK(e){return aK(e)??""}var z0={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 OK(e,o){return Yt(e.role)||(o?.blockDrawsStyle?null:sK(e.textStyle))}function X0(e,o){return e==="Text"&&o==="text"}var _K={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 AK(e){let o=ln[e],t=_K[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function El(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=Vn(RK+e.line*dK,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=Vn(e.letter*fK,4)),o}var RK=1,_r="--sf-part-para";function LK(e){e=qn(e);let o={};if(typeof e.sizePhone=="number"&&e.sizePhone>0)o.fontSize=`${e.sizePhone}px`;else{let a=yI(e.sizeToken);if(a)o.fontSize=q0(a);else{let r=bf(e);r!==void 0&&(o.fontSize=`${r}px`)}}let t=e.alignPhone??gf(e);return t&&(o.textAlign=t),o}function gf(e){return e.alignTablet&&e.alignTablet!==e.align?e.alignTablet:void 0}function bf(e){let o=ft("textSize",e.size,e.sizeTablet,void 0).tablet;return o&&o>0?o:void 0}function FK(e){let o=qn(e),t={},a=bf(o);a!==void 0&&(t.fontSize=`${a}px`);let r=gf(o);return r&&(t.textAlign=r),t}function Z0(e,o){if(o==="desktop")return;let t=qn(e);return(o==="mobile"?gf(t):void 0)??t.align}function BK(e,o){if(o==="desktop")return e;let t=qn(e),a=bf(t),r=gf(t);if(o==="tablet"){let l=e;return a!==void 0&&(l={...l,size:a}),r&&(l={...l,align:r}),l}let n=e;if(typeof t.sizePhone=="number"&&t.sizePhone>0)n={...n,size:t.sizePhone};else{let l=yI(t.sizeToken);l?n={...n,size:void 0,sizeToken:l}:a!==void 0&&(n={...n,size:a})}let s=t.alignPhone??r;return s&&(n={...n,align:s}),n}function SI(e,o,t){return CI(BK(e,o),yf,t)}function wI(e){return e==="mobile"?"sizePhone":e==="tablet"?"sizeTablet":"size"}function J0(e,o){if(o==="desktop")return null;let t=qn(e);if(o==="mobile"){if(yI(t.sizeToken))return null;let a=bf(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 Q0(e,o){let t=wI(o);if(!Object.hasOwn(e,t))return e;let a={...e};return delete a[t],a}function gCe(e,o,t){let a=SI(Q0(e,o),o,t);return{fontFamily:a.fontFamily,fontSize:a.fontSize}}function CI(e,o,t){e=qn(e);let a=OK(e,t),r=El(e),n=e.size?`${e.size}px`:e.sizeToken?q0(e.sizeToken):a?AK(a):"";return{fontFamily:e.font?HK(e.font):e.fontRole?`var(${z0[e.fontRole]})`:a?`var(${z0[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`:"",[_r]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:EK(e.case),textAlign:e.align??"",paddingTop:$0(e.padding),paddingBottom:$0(e.padding),color:DK(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var DK=e=>zn(e),$0=e=>e===void 0?"":`${e}px`,Vn=(e,o)=>Number(e.toFixed(o));function bCe(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:NK(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(a)?Vn(a/t,3):1.2,letterEm:Number.isFinite(r)?Vn(r/t,4):0,align:MK(e.textAlign),case:PK(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0}}function NK(e){return Number.isFinite(e)?lK.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function MK(e){for(let o of Tl)if(o===e)return o;return e==="end"?"right":"left"}function yCe(e,o){let t=G0(e);if(!t)return"";for(let a of ct)if(G0(o(a.cssVar))===t)return a.key;return""}var G0=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function HK(e){let o=sn(e);return o?`var(${o.cssVar})`:""}function SCe(e,o,t,a){return!o||Rx(o)?.nodeId!==e?null:t.find(r=>a(r.getAttribute("class")))??t[0]??null}function WK(e,o){return Object.hasOwn(e,o)?Un(e[o])??{}:{}}function wCe(e,o,t=()=>yf,a=l=>l,r=GK,n="desktop",s=()=>!1){let l=0;for(let{element:c,partId:d}of e){let f=Rx(d)?.propKey;if(!f)continue;let m=WK(o,a(f)),u=SI(m,n,{blockDrawsStyle:s(f)});Ar(m.textStyle)?c.setAttribute?.(Kn,m.textStyle):c.removeAttribute?.(Kn);let x=fI.some(y=>c.style[y]),I=!1;for(let[y,P]of Object.entries(u))KK(c,y,P),P&&(I=!0);if(x||fI.some(y=>u[y]))for(let y of zK(c,r))for(let P of fI)y.style[P]=u[P]??"";I&&(l+=1)}return l}function zK(e,o){let t=Dn(e.textContent??""),a=[],r=e;for(let n=0;n<$K&&o(r);n+=1){let s=r.parentElement;if(!s||Dn(s.textContent??"")!==t)break;a.push(s),r=s}return a}var $K=8;function GK(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var yf={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0};function UK(e){if(!e||typeof e!="object")return null;let o={};return Ar(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 jK(e,o){let t=UK(e);if(!t)return{};let a=SI(t,o);return{...a.fontFamily?{fontFamily:a.fontFamily}:{},...a.fontSize?{fontSize:a.fontSize}:{}}}function eE(e){return Ar(e?.textStyle)||!!e?.role||typeof e?.size=="number"&&e.size>0}function CCe(e,o,t){if(!e||typeof e!="object")return{};let a=mf(e.role,o,ln)??{},r=o.sized?jK(Q0(e,t),t):{};return{...a,...r}}function vCe(e,o,t){t.fontFamily&&e.fontFamily===t.fontFamily&&(e.fontFamily=o.fontFamily),t.fontSize&&e.fontSize===t.fontSize&&(e.fontSize=o.fontSize)}function KK(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===_r&&(t?r.setAttribute?.(U0,""):r.removeAttribute?.(U0))}var U0="data-sf-part-para",VK=Object.keys(CI({},yf)),uI=new Set(["color","overflowWrap",_r,"fontStyle"]),fI=VK.filter(e=>!uI.has(e));function oE(e,o,t,a=l=>l,r=()=>!1,n=()=>null,s=[]){let l=new Map;for(let m of e){let u=Bn(m.key,m.row);for(let x of m.texts){let I=l.get(x);I?(I.keys.add(m.key),I.partKeys.add(u)):l.set(x,{keys:new Set([m.key]),partKeys:new Set([u])})}}let c=new Map;for(let m of new Set([...Object.keys(o),...s])){if(!qK(m))continue;let u=j0(t,m,Un(o[m])??{},!1,n(m));u&&c.set(m,u)}let d=m=>{let u=a(m),x=n(u);if(!Object.hasOwn(o,u)&&!x)return null;let I=Un(o[u])??{};return j0(t,m,I,r(m),x)},f=new Map;for(let[m,{keys:u,partKeys:x}]of l){let I=x.size===1?[...x][0]:u.size===1?[...u][0]:null;if(!I)continue;let y=d(I);y&&f.set(m,y)}for(let m of e){if(!m.keyed)continue;let u=d(Bn(m.key,m.row));u&&c.set(m.key,u)}return f.size||c.size?{rules:f,kindRules:c,drawn:new Set(l.keys())}:null}function j0(e,o,t,a,r){let n=CI(t,yf,{blockDrawsStyle:a}),s=FK(t),l=LK(t),c=Ar(t.textStyle)?t.textStyle:void 0;return!Object.values(n).some(Boolean)&&!Object.keys(s).length&&!Object.keys(l).length&&!c&&!r?null:{stamp:YK(e,o),declarations:n,...Object.keys(s).length?{tablet:s}:{},...Object.keys(l).length?{phone:l}:{},...c?{textStyle:c}:{},...r?{motion:r}:{}}}function qK(e){return e.startsWith("@")}function vI(e,o){return e?.kindRules.get(o)??null}function YK(e,o){let t=a=>a.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function tE(e){let o=[],t=new Set,a=r=>{let{stamp:n,declarations:s}=r;if(t.has(n))return;t.add(n);let l=Object.entries(s).filter(([,I])=>I!==""),c=I=>I.map(([y,P])=>`${XK(y)}: ${P}`).join("; "),d=`[${mI}="${n}"]`,f=l.filter(([I])=>!uI.has(I)),m=l.filter(([I])=>uI.has(I));f.length&&o.push(`${d}, *:has(> ${d}) { ${c(f)} }`),m.length&&o.push(`${d} { ${c(m)} }`),s[_r]&&(o.push(`*:has(> ${d}) { ${_r}: ${s[_r]} }`),o.push(...Sf(d,`*:has(> ${d})`)));let u=Object.entries(r.tablet??{}).filter(([,I])=>I!=="");u.length&&o.push(`@media ${uf} { ${d}, *:has(> ${d}) { ${c(u)} } }`);let x=Object.entries(r.phone??{}).filter(([,I])=>I!=="");x.length&&o.push(`@media ${Wn} { ${d}, *:has(> ${d}) { ${c(x)} } }`)};for(let r of e.rules.values())a(r);for(let r of e.kindRules.values())a(r);return o.join(`
|
|
68
|
+
`)}function Sf(e,o){let t=`var(${_r})`,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 XK=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function aE(e,o){if(!e)return null;let t=Dn(o),a=e.rules.get(t);if(a)return a;if(t.length<ZK||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 ZK=8;function rE(e){switch(e.id){case"heading-1":return"font-display";case"heading-2":return"font-heading2";case"heading-3":return"font-heading3";case"body-1":return"font-body";case"body-5":return"font-mono";default:return`font-${e.id}`}}var kI=e=>e==="sentence"?"none":void 0,iE=["font","color","size","sizeTablet","sizePhone","weight","italic","lineHeight","lineHeightTablet","lineHeightPhone","letterSpacing","letterSpacingTablet","letterSpacingPhone","paragraphSpacing","paragraphSpacingTablet","paragraphSpacingPhone","letterCase","largestSize","largestSizeTablet","largestSizePhone"],Yn=["desktop","tablet","phone"],Ol=(e,o)=>o==="desktop"?e:o==="tablet"?o8(e):e8(e),Rr=(e,o)=>o==="desktop"?e:QK(e,o);function EI(e,o,t,a=lr()){return lE("textSize",o,e.sizeTablet,e.sizePhone,a)[t]}var t8=[["lineSpacing","lineHeight","line"],["letterSpacing","letterSpacing","letter"]];function TI(e){for(let[o,t,a]of t8)for(let r of Yn)if(e===Rr(o,r))return{key:Ol(t,r),view:r,spacing:a};return{key:e,view:"desktop",spacing:null}}function Wt(e){let o={};for(let t of iE)e[t]!==void 0&&(o[t]=e[t]);return o}function OI(e,o){let{auto:t,...a}=e,r=new Set(o??[]),n=iE.filter(s=>r.has(s)&&e.values[s]===void 0);return n.length?{...a,auto:n}:a}function cE(e){let o=e.fonts,t=e.sizes,a=e.typography,r=IS(e.compression),n={"heading-1":{font:Q(o.heading),size:j(t.headingLarge),weight:j(a.weight),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:kI(a.case),largestSize:j(a.maxPx)},"heading-2":{font:Q(o.heading2),size:j(t.headingMedium),weight:j(a.weight2),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:kI(a.case2)},"heading-3":{font:Q(o.heading3),size:j(t.headingSmall),weight:j(a.weight3),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:kI(a.case3)},"body-1":{font:Q(o.body),size:j(t.body)},"body-5":{font:Q(o.label),size:j(t.label)}};return sE().map(({id:s,kind:l,name:c})=>({id:s,kind:l,name:c,values:Wt(n[s]??{})}))}function _I(e){return Array.isArray(e)&&e.every(o=>o&&typeof o=="object"&&typeof o.id=="string"&&(o.kind==="heading"||o.kind==="body")&&typeof o.name=="string")?e.map(o=>OI({...o,values:Wt(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function NCe(e){return _I(e)??[]}function dE(e){return _I(e)??sE().map(({id:o,kind:t,name:a})=>({id:o,kind:t,name:a,values:{}}))}function da(e,o){let t=cE(o),a=_I(e);return a?a.map(r=>{let n={...PI(t,r.id)};for(let s of r.auto??[])delete n[s];return{...r,values:Wt({...n,...r.values})}}):t}var PI=(e,o)=>e.find(t=>t.id===o)?.values??{},nE=["heading-1","heading-2","heading-3"];function fE({saved:e,old:o,cur:t,next:a,sizeOf:r,panelView:n="desktop"}){let s=cE(o),l=dE(e),c=da(l,o),d=[],f=a.map(u=>{let x=t.find(k=>k.id===u.id),I=l.find(k=>k.id===u.id);if(!x||!I){let k=a8([u],r,n)[0],F=k.values.color;return F===void 0?k:{...k,values:{...k.values,color:Ht(F)}}}let y={...I.values},P=new Set(I.auto??[]),C=u.values,S=x.values,g=[...new Set([...Object.keys(C),...Object.keys(S)])].filter(k=>JSON.stringify(C[k])!==JSON.stringify(S[k])),v=k=>TI(k).spacing==="letter";g.sort((k,F)=>Number(v(k))-Number(v(F)));for(let k of g){let{key:F,view:T,spacing:B}=TI(k),E=F,A=C[k];if(A===void 0){delete y[E],PI(s,u.id)[E]!==void 0&&(d.push([u.id,E]),P.add(E));continue}if(P.delete(E),B==="line")y[E]=Xn(A/100,3);else if(B==="letter"){let N={...c.find(R=>R.id===u.id)?.values??{}};for(let R of g)C[R]===void 0&&delete N[TI(R).key];let b=Wt({...N,...y}),_=EI(b,r({...u,values:b}),T);y[E]=_?Xn(A/_,4):0}else y[E]=A}return OI({id:u.id,kind:u.kind,name:u.name,values:Wt(y)},P)}),m=o.compression;if(d.some(([u,x])=>(x==="lineHeight"||x==="letterSpacing")&&nE.includes(u))&&er(m)!=="normal"){for(let u of nE){let x=f.find(y=>y.id===u);if(!x)continue;let I={...x.values};for(let y of["lineHeight","letterSpacing"])d.some(([P,C])=>P===u&&C===y)||I[y]===void 0&&!(x.auto??[]).includes(y)&&(I[y]=PI(s,u)[y]);x.values=Wt(I)}m="normal"}return{saved:f,old:{...o,compression:m}}}function uE(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=er(e.old.compression)),t}var Xn=(e,o)=>Number(e.toFixed(o)),pE=(e,o)=>Yn.indexOf(e)<Yn.indexOf(o)?o:e;function mE(e,o,t="desktop"){return e.map(a=>{let r={...a.values},n=o(a);for(let s of Yn){let l=Ol("lineHeight",s),c=a.values[l],d=a.values[Ol("letterSpacing",s)];delete r[l],c!==void 0&&(r[Rr("lineSpacing",s)]=Xn(c*100,1));let f=pE(s,t);d!==void 0&&(r[Rr("letterSpacing",s)]=Xn(d*EI(a.values,n,f),f===s?2:4))}return{id:a.id,kind:a.kind,name:a.name,values:r}})}function a8(e,o,t="desktop"){return e.map(a=>{let r=a.values,n={...r};for(let d of Yn)delete n[Rr("lineSpacing",d)],delete n[Rr("letterSpacing",d)];let s={id:a.id,kind:a.kind,name:a.name,values:Wt(n)},l={...s.values},c=o({...s,values:{...s.values}});for(let d of Yn){let f=r[Rr("lineSpacing",d)],m=r[Rr("letterSpacing",d)];if(typeof f=="number"&&(l[Ol("lineHeight",d)]=Xn(f/100,3)),typeof m=="number"){let u=EI(s.values,c,pE(d,t));l[Ol("letterSpacing",d)]=u?Xn(m/u,4):0}}return{...s,values:Wt(l)}})}function MCe(e){let o={fonts:Os({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:Fp({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:er(e.heading_compression),typography:bS(e)},t=e.text_styles??null,a=Array.isArray(t)?AI(da(t,o),o):o;return{fonts:Os(a.fonts),sizes:Fp(a.sizes),compression:er(a.compression),typography:a.typography,textStyles:t}}function AI(e,o){let t=u=>e.find(x=>x.id===u)?.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,m=u=>u==="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:m(a.letterCase),weight:a.weight??null,maxPx:a.largestSize??null,weight2:r.weight??null,weight3:n.weight??null,case2:m(r.letterCase),case3:m(n.letterCase)}}}function HCe(e){let o=[];for(let t of e){let a=t.values,r=`.${rE(t)}`,n=`[${Kn}="${t.id}"]`,s=`${r}, ${n}`,l=[],c=a.font!==void 0?ct.find(u=>u.key===a.font)?.cssVar:void 0;if(c&&l.push(`font-family: var(${c})`),a.size!==void 0){let u=a.largestSize!==void 0?Math.min(a.size,a.largestSize):a.size;l.push(`font-size: ${u}px`)}let d=zn(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 m=JK(a.letterCase);m&&t.kind==="body"&&l.push(`text-transform: ${m}`),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"&&m&&o.push(`${n}, ${r}:is(h1, h2, h3, h4) { text-transform: ${m} }`),a.paragraphSpacing&&(o.push(`*:has(> ${n}) { --sf-part-para: ${a.paragraphSpacing}px }`),o.push(...Sf(`:is(${s})`,`*:has(> ${n})`))),o.push(...r8(t,s,r,n))}return o.join(`
|
|
69
|
+
`)}function r8(e,o,t,a){let r=e.values,n=ft("textSize",r.size,r.sizeTablet,r.sizePhone),s=ft("textSize",r.largestSize,r.largestSizeTablet,r.largestSizePhone),l=ft("same",r.lineHeight,r.lineHeightTablet,r.lineHeightPhone),c=ft("same",r.letterSpacing,r.letterSpacingTablet,r.letterSpacingPhone),d=ft("spacing",r.paragraphSpacing,r.paragraphSpacingTablet,r.paragraphSpacingPhone),f=lE("textSize",r.size,r.sizeTablet,r.sizePhone,lr()),m=n8[e.id],u=[];for(let[x,I]of[["tablet",uf],["phone",Wn]]){let y=[],P=[],C=f[x],S=s[x],g=n[x]===void 0&&S===void 0||C===void 0?void 0:S===void 0?C:Math.min(C,S);g!==void 0&&P.push(`font-size: ${g}px`);let v=[];l[x]!==void 0&&v.push(`line-height: ${l[x]}`),c[x]!==void 0&&v.push(`letter-spacing: ${c[x]}em`),e.kind==="body"&&P.push(...v),d[x]!==void 0&&P.push(`--sf-part-para: ${d[x]}px`),P.length&&y.push(`${o} { ${P.join("; ")} }`),e.kind==="heading"&&v.length&&y.push(`${o}, ${t}:is(h1, h2, h3, h4), ${a}:is(h1, h2, h3, h4) { ${v.join("; ")} }`),d[x]!==void 0&&y.push(`*:has(> ${a}) { --sf-part-para: ${d[x]}px }`),d[x]!==void 0&&!r.paragraphSpacing&&y.push(...Sf(`:is(${o})`,`*:has(> ${a})`)),g!==void 0&&m&&y.push(`.sf-themed-content { --size-${m}: ${g}px !important }`),y.length&&u.push(`@media ${I} { ${y.join(" ")} }`)}return u}var n8={"heading-1":"headingLarge","heading-2":"headingMedium","heading-3":"headingSmall","body-1":"body","body-5":"label"};function WCe(e){return e!==!0&&e!==!1?"":`em.text-accent { font-style: ${e?"italic":"normal"} }`}function hE(e){return e?If[e]:void 0}function RI(e){let o=El(e);return Wt({font:e.font,color:e.color===void 0?void 0:Ht(e.color),size:e.size,weight:e.weight,italic:e.italic,lineHeight:o.lineHeight,letterSpacing:o.letterSpacingEm,paragraphSpacing:e.paragraphSpacing,letterCase:e.case})}function xE(e){return Object.keys(RI(e)).length>0}function IE({saved:e,old:o,styleId:t,values:a}){let r=dE(e);return{saved:s8(r,t,a),old:o}}function s8(e,o,t){return e.map(a=>a.id===o?OI({...a,values:Wt({...a.values,...t})},a.auto):a)}var f8={desktop:"desktop",tablet:"tablet",mobile:"phone"},gE=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],u8=["size","lineSpacing","letterSpacing","letterCase"],p8=500,LI=ct.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function bE({saved:e,old:o,colours:t,colourNameOf:a,sizeOf:r,onChange:n,openId:s,onOpenChange:l,readOnly:c=!1,withoutSize:d=!1}){let f=d8(),[m,u]=i8(null),x=da(e,o),I=f8[f],y=mE(x,r,I);return l8(c8,{styles:y,onChange:P=>n(fE({saved:e,old:o,cur:y,next:P,sizeOf:r,panelView:I})),fonts:LI,colours:t,colourNameOf:a,settings:d?gE.filter(P=>P!=="size"):gE,auto:u8,openId:s===void 0?m:s,onOpenChange:l??u,readOnly:c,device:I,fallback:P=>{let C=x.find(g=>g.id===(P.kind==="heading"?"heading-1":"body-1")),S={};return C?.values.font&&P.id!==C.id&&(S.font=C.values.font),P.kind==="heading"&&(S.weight=p8),S}})}var SE=["font","size","weight","emphasis"],x8=500;function I8({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 g8(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 wE(e){let{headingWeight:o,open:t,onOpenChange:a,onChange:r,withoutSize:n=!1}=e,s=I8(e);return yE(h8,{label:i("Emphasis"),children:yE(m8,{style:s,fonts:LI,settings:n?SE.filter(l=>l!=="size"):SE,auto:["size"],fallback:()=>({weight:o??x8}),open:t,onOpenChange:a,onChange:l=>g8(s,l).forEach(r)})})}import{EmptyState as G8,SliderGroup as U8,Tabs as j8,Tooltip as ike,tabButtonId as K8,tabPanelId as V8}from"efficient-shell/ui";import{ContrastIcon as q8,SettingsIcon as Y8,TypeIcon as X8}from"efficient-easel/icons";function CE(e){switch(e.status){case"saved":return null;case"failed":return{msg:i("Not saved. Try again."),tone:"error"};case"skipped":switch(e.reason){case"empty":return null;case"no-token":return{msg:i("Not saved. Reload the page."),tone:"error"};case"template":return{msg:i("Templates keep their look. Press Done."),tone:"success"}}}}import{jsx as NI}from"react/jsx-runtime";import{ListIcon as A8,PaddingTopIcon as R8}from"efficient-easel/icons";import{jsx as wf}from"react/jsx-runtime";import{SettingsDefaultReset as b8,SettingsField as y8,SettingsSegmented as S8}from"efficient-easel/panel";import{WidthIcon as w8}from"efficient-easel/icons";function vE({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 wf(y8,{label:d,labelId:r,icon:wf(w8,{}),value:l?n:void 0,changed:!l,action:wf(b8,{words:ee()?.panel,label:d,changed:!l,onReset:()=>t(void 0)}),hint:s,children:wf(S8,{options:[{label:i(vr.full),id:"full"},{label:i(vr.page),id:"content"}],value:c,ariaLabel:d,onChange:t})})}import{HEADER_TYPE as FI,FOOTER_TYPE as C8}from"efficient-easel/draw";var v8=new Set(["Hero","HeroSingle","IntroBleed"]),kE={min:56,max:140,default:88},cve={min:0,max:120,step:2,default:32},dve=`var(--sf-header-h, ${kE.default}px)`,k8="--sf-header-set-h",fve="--sf-header-h",uve=`var(${k8}, ${kE.default}px)`,pve="sf-header-clearance",mve="sf-sticky-underheader";function T8(e){return e?.find(o=>o?.type&&o.type!==FI)??null}function TE(e){let o=T8(e)?.type;return!o||!v8.has(o)}function hve(e){return!TE(e)}function xve(e){return!!e?.some(o=>o?.type===FI)}function Ive(e){return!e||e.length===0?!1:!e.some(o=>o?.type===FI||o?.type===C8)}var P8=["auto","shared","own"],BI="auto",E8="topSpace",gve="data-top-space";function O8(e){return P8.includes(e)?e:BI}function _8(e,o){let t=O8(e?.props?.[E8]);return t==="own"?!0:t==="shared"?!1:TE(o)}function bve(e,o){return _8(e,o)?"own":null}function L8(){return{type:"custom",render:({value:e,onChange:o})=>NI(vE,{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 F8=[{label:"Auto",value:"auto"},{label:"Shared",value:"shared"},{label:"Its own",value:"own"}],_ve={pageBackground:IP(),topSpace:ta("Top space",NI(R8,{}),F8,BI),widthChoice:L8()},_l=["pageBackground","topSpace","widthChoice"],B8="Record type",DI=new Map,PE=-1;function D8(e){PE!==$m()&&(DI.clear(),PE=$m());let o=zm(),t=o.some(r=>r.key===e)?"":e,a=DI.get(t);return a||(a=ta(B8,NI(A8,{}),[...o.map(r=>({label:r.label,value:r.key})),...t?[{label:t,value:t}]:[]],Ta),DI.set(t,a)),a}var EE=new WeakMap;function Ave(e,o){if(!qs()||zm().length<2||Tc in e)return e;let t=D8(Vs(o)),a=EE.get(e);if(a&&a.row===t)return a.fields;let r={[Tc]:t,...e};return EE.set(e,{row:t,fields:r}),r}import{previewFrame as Z8}from"efficient-easel/screen/lib/document/preview-dom";var OE="background";function _E(e){let o=Po(cn(e));return $n({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 AE(e){return _E(e).filter(o=>o.key!==OE)}function RE(e){let o=_E(e).filter(t=>t.key===OE);return t=>{let a=Ht(t);return o.find(r=>r.key===a)?.value??a}}import{useEasel as N8}from"efficient-easel/easel";function Cf({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=N8(T=>T),{fonts:r,setFonts:n,sizes:s,setSizes:l,headingCompression:c,setHeadingCompression:d,headingTypography:f,setHeadingTypography:m,textStyles:u,setTextStyles:x}=de(),I=t.data,y=I.root?.props??{},P=e?Os(y.fonts):r,C=e?fS:s,S=e?er(y.headingCompression):c,g=e?gS(y.headingTypography):f,v={fonts:P,sizes:C,compression:S,typography:g},k=e?y.textStyles:u,F=T=>a({type:"replaceRoot",root:{...I.root,props:{...y,...T}},recordHistory:!0});return{fonts:P,sizes:C,compression:S,typography:g,old:v,saved:k,write:(T,B)=>{let E=AI(da(T.saved,T.old),T.old);e?F({textStyles:T.saved,fonts:E.fonts,headingCompression:E.compression,headingTypography:E.typography}):(x(T.saved),n(E.fonts),l(E.sizes),d(E.compression),m(E.typography)),o(uE(T,v),B)},writeRoot:F}}var HI="sf-site-styles",J8="sf-site-styles-tabpanel",BE="text",Qn="basics",LE="this-page-group",Zn=[{id:Qn,label:"Basics",icon:me(Y8,{})},{id:"theme",label:"Theme",icon:me(q8,{})},{id:"text",label:"Text",icon:me(X8,{})}];function Q8({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=FE(d=>d),{theme:r,setTheme:n}=de(),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 me(n0,{value:e?l.theme:r,onChange:c})}function e7({themeFromDocument:e,persist:o}){let[t,a]=WI(null),{theme:r,setFonts:n,setSizes:s,setHeadingTypography:l}=de(),c=Cf({themeFromDocument:e,persist:o}),{old:d,saved:f,writeRoot:m}=c,u=c.fonts,x=c.sizes,I=c.typography,y=T=>T.values.size??r7(o7[T.id]??"body")??t7[T.kind],P=T=>c.write(T),C=AE(r),S=RE(r),g=T=>{let B={...u,accent:T};e?m({fonts:B}):n(B),o({accent_font:T})},v=T=>{s({...x,accent:T}),o({accent_size_px:T})},k=T=>{let B={...I,weightStrong:T};e?m({headingTypography:B}):l(B),o({heading_weight_strong:T})},F=T=>{let B={...I,italicStrong:T};e?m({headingTypography:B}):l(B),o({accent_italic:T})};return Lr(Jn,{children:[me(bE,{saved:f,old:d,colours:C,colourNameOf:S,sizeOf:y,onChange:P,openId:t===MI?null:t,onOpenChange:a,withoutSize:e}),me(wE,{font:u.accent,size:x.accent,weight:I.weightStrong,italic:I.italicStrong,headingWeight:I.weight,open:t===MI,onOpenChange:T=>a(T?MI:null),onChange:T=>{T.key==="font"?g(T.value):T.key==="size"?v(T.value):T.key==="weight"?k(T.value):F(T.value)},withoutSize:e})]})}var MI="accent",o7={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},t7={heading:32,body:14},a7={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 r7(e){if(typeof document>"u")return null;let o=(Z8()?.contentDocument??document).querySelector(a7[e]);if(!o)return null;let t=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(t)?t:null}function n7({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=FE(m=>m),{cornerRadiusPx:r,setCornerRadiusPx:n}=de(),s=t.data,l=s.root?.props??{},c=l.cornerRadiusPx===void 0?pS[uS(l.cornerStyle)]:At(l.cornerRadiusPx),d=e?c:r,f=m=>a({type:"replaceRoot",root:{...s.root,props:{...l,...m}},recordHistory:!0});return me(s0,{value:d,onChange:m=>{e?f({cornerRadiusPx:m}):n(m),o({corner_radius_px:m})}})}function s7(e){return{site_width:e}}function l7({persist:e}){let{siteWidth:o,setSiteWidth:t,sectionBackgroundWidth:a,setSectionBackgroundWidth:r,sectionContentWidth:n,setSectionContentWidth:s}=de();if(zI()!=="desktop")return null;let l=typeof o=="number"?o:uo.default,c=m=>{t(m),e(s7(m),m===null)},d=m=>{r(m),e({section_background_width:m},!0)},f=m=>{s(m),e({section_content_width:m},!0)};return Lr(Jn,{children:[me(O0,{value:a??"full",changed:a!==null,detail:i("Full width"),onChange:d,onReset:()=>d(null),hint:P0}),me(_0,{mode:n??"content",px:l,min:uo.min,max:uo.max,changed:typeof o=="number"||n!==null,detail:`${i("Content width")} ${uo.default}px`,onMode:f,onPx:m=>c(m),onReset:()=>{f(null),c(null)},hint:E0})]})}function i7(e){return{block_gap:e}}function c7(e){return{block_gap_phone:e}}function d7(e){return{site_gutter:e}}function f7(e){return{site_gutter_phone:e}}function DE(e,[o,t],a){o(e),a(t(e),e===null)}function u7({persist:e}){let{siteGutter:o,siteGutterPhone:t,setSiteGutter:a,setSiteGutterPhone:r}=de(),n=k0(zI(),{gutter:o,phone:t});if(!n)return null;let s=n.key==="site_gutter_phone"?[r,f7]:[a,d7];return me(T0,{value:n.value,onChange:l=>DE(l,s,e),unsetPx:n.unsetPx,bounds:n.bounds})}function p7({persist:e}){let{blockGap:o,blockGapPhone:t,setBlockGap:a,setBlockGapPhone:r}=de(),n=f0(zI(),{gap:o,phone:t});if(!n)return null;let s=n.key==="block_gap_phone"?[r,c7]:[a,i7];return me(u0,{value:n.value,onChange:l=>DE(l,s,e),followsPx:n.followsPx})}function m7({persist:e}){return Lr(Jn,{children:[me(l7,{persist:e}),me(u7,{persist:e}),me(p7,{persist:e})]})}function h7(e){return{card_shadow:e}}function x7(e){return e===null?{shadow_color:null}:{shadow_color:xS(e)}}function I7(e){return{hover_effect:e}}function g7({persist:e}){let{cardShadow:o,setCardShadow:t,shadowColor:a,setShadowColor:r,hoverEffect:n,setHoverEffect:s}=de();return Lr(Jn,{children:[me(l0,{value:o,onChange:l=>{t(l),e(h7(l),!0)}}),me(c0,{value:a,onChange:l=>{r(l),e(x7(l),l===null)}}),me(y0,{value:n,onChange:l=>{s(l),e(I7(l),!0)}})]})}function b7(e){return{photography_grayscale:e}}function y7({persist:e}){let{photographyGrayscale:o,setPhotographyGrayscale:t}=de();return me(w0,{value:o,onChange:a=>{t(a),e(b7(a),!0)}})}function S7({persist:e}){return me(Jn,{children:me(y7,{persist:e})})}function w7(e){return{share_button_on_posts:e}}function C7({persist:e}){let{shareButtonOnPosts:o,setShareButtonOnPosts:t}=de();return me(C0,{value:o,onChange:a=>{t(a),e(w7(a),!0)}})}function es(){let{websiteName:e}=de();return e?.trim()||TS}function vf({themeFromDocument:e=!1,tokenRef:o,siteId:t,onNotify:a,tab:r,onTabChange:n,initialTab:s,revealPageGroup:l=!1,onPageGroupRevealed:c}){let{persist:d}=Cn({themeFromDocument:e,tokenRef:o,siteId:t,onResult:P=>{let C=CE(P);C&&a?.(C.msg,C.tone)}}),[f,m]=WI(s??Zn[0].id),u=r!==void 0,x=u?r:f,I=u?n??(()=>{}):m,y=Zn.find(P=>P.id===x)??Zn[0];return Lr(U8,{children:[me(T7,{activeId:y.id,onSelect:I}),Lr("div",{id:V8(HI,y.id),className:J8,role:"tabpanel","aria-labelledby":K8(HI,y.id),children:[x===Qn&&Lr(Jn,{children:[me(n7,{themeFromDocument:e,persist:d}),!e&&me(g7,{persist:d}),!e&&me(m7,{persist:d}),!e&&me(S7,{persist:d}),!e&&me(C7,{persist:d}),me(v7,{reveal:l,onRevealed:c})]}),x==="theme"&&me(Q8,{themeFromDocument:e,persist:d}),x==="text"&&me(e7,{themeFromDocument:e,persist:d})]})]})}function v7({reveal:e,onRevealed:o}){let[t,a]=WI(!0),r=$8(o);return r.current=o,z8(()=>{if(!e)return;a(!0);let n=requestAnimationFrame(()=>{document.getElementById(LE)?.scrollIntoView({block:"start"}),r.current?.()});return()=>cancelAnimationFrame(n)},[e]),me(W8,{title:i("This page"),open:t,onToggle:a,id:LE,children:me(k7,{})})}function k7(){let{fields:e,values:o,readOnly:t,onChange:a}=M8(),r=Object.fromEntries(_l.filter(n=>n in e).map(n=>[n,e[n]]));return Object.keys(r).length===0?me(G8,{variant:"none",icon:!1,message:i("This page has no look of its own to set.")}):me(H8,{fields:r,values:o,onChange:a,readOnly:t,tabs:!1,idPrefix:"this-page",ariaLabel:i("This page")})}function T7({activeId:e,onSelect:o}){return me("div",{className:"es-insp-tabs",children:me(j8,{variant:"underline",block:!0,labelsFit:!0,"aria-label":i("Styles"),idPrefix:HI,value:e,onChange:o,items:Zn.map(t=>{let a=i(t.label);return{id:t.id,icon:t.icon,label:a}})})})}import{InspectorIconButton as D7}from"efficient-easel/chrome";import{Button as UE,Dialog as N7,FormField as M7,Input as jE,PopupMenu as H7,PopupMenuItem as KE,toast as VE}from"efficient-shell/ui";import{LayersTree as W7,TreeGroupLabel as z7,TreeRow as qE,TreeRowAction as Ef}from"efficient-easel/tree";import{AddIcon as $7,DuplicateIcon as G7,PageIcon as U7,SettingsIcon as j7}from"efficient-easel/icons";import{PagesIcon as K7}from"efficient-easel/rail";import{useEaselHost as V7}from"efficient-easel/screen/lib/host";import{useEaselSession as JE}from"efficient-easel/screen/lib/session-context";import{useCallback as kf,useEffect as P7,useSyncExternalStore as E7}from"react";import{useScreenDocument as WE}from"efficient-easel/screen/components/ScreenDocumentContext";var NE=new WeakMap;function Al(e){let o=NE.get(e);return o||(o={rows:null,loading:null,listeners:new Set},NE.set(e,o)),o}function $I(e,o){e.rows=o;for(let t of e.listeners)t()}var Tf=new Set;function Pf(e,o){o?Tf.add(e):Tf.delete(e)}function ME(e){let o=Al(e),t=e.listPages().then(a=>$I(o,Tf.size?a.filter(r=>!Tf.has(r.id)):a),()=>$I(o,[])).finally(()=>{o.loading===t&&(o.loading=null)});return o.loading=t,t}var HE=()=>null,O7=()=>()=>{};function Rl(){let{adapter:e,ready:o}=WE(),t=kf(l=>{let{listeners:c}=Al(e);return c.add(l),()=>c.delete(l)},[e]),a=kf(()=>Al(e).rows,[e]),r=E7(o?t:O7,o?a:HE,HE);P7(()=>{if(!o)return;let l=Al(e);l.rows===null&&!l.loading&&ME(e)},[e,o]);let n=kf(()=>o?ME(e):Promise.resolve(),[e,o]),s=kf(l=>$I(Al(e),l),[e]);return{rows:r,reload:n,setRows:s,getRows:a}}function _7(e,o){return e?.find(t=>t.slug===o)?.label?.trim()||`/${o}`}function zE(){let{currentSlug:e}=WE(),{rows:o}=Rl();return _7(o,e)}import{canDuplicatePage as q7,DuplicatePageDialog as Y7,uniqueSlug as YE}from"efficient-easel/page-copy";var XE="sf-editor-pages-collapsed-groups";function X7(){let e=JE(),{siteId:o,templateId:t}=ZE(),a=Ue(e).pages;if(!(!a.duplicate||t))return(r,n)=>a.duplicate(r.id,{...n,...o?{siteId:o}:{}})}function Z7(){try{let e=un()||(typeof window>"u"?"":window.location.origin);return e?new URL(e).host:""}catch{return""}}function QE({onNavigate:e,onClose:o,activeSurface:t,onPreviewSurface:a}){let r=JE().chrome?.pageRows,n=V7(),{adapter:s,capabilities:l,ready:c,currentSlug:d}=ZE(),f=es(),{rows:m,reload:u,setRows:x,getRows:I}=Rl(),[y,P]=Ha(""),[C,S]=Ha(!1),[g,v]=Ha(null),[k,F]=Ha(!1),[T,B]=Ha(""),E=L7(),A=X7(),[N,b]=Ha(null),[_,R]=Ha(()=>{if(typeof window>"u")return new Set;try{let H=window.localStorage.getItem(XE);return new Set(H?JSON.parse(H):[])}catch{return new Set}});R7(()=>{try{window.localStorage.setItem(XE,JSON.stringify([..._]))}catch{}},[_]);let M=H=>R(Ae=>{let re=new Set(Ae);return re.has(H)?re.delete(H):re.add(H),re}),q=GE(()=>NC(m??[]),[m]),V=y.trim().toLowerCase(),U=H=>!V||H.toLowerCase().includes(V),pe=H=>V?!0:!_.has(H),J=GE(()=>new Set((m??[]).map(H=>H.slug)),[m]),Le=()=>{if(l.pageCreationInAdminForm){n.send("storefront-editor:new-page");return}B(""),v(null),F(!0)},ze=async()=>{let H=T.trim();if(!(!H||!c||C||!s.createPage)){S(!0),v(null);try{let Ae=await s.createPage({slug:YE(H,J),title:H,layout:{}});await u(),F(!1),B(""),e(Ae.slug)}catch{v(i("Couldn\u2019t add the page \u2014 please retry."))}finally{S(!1)}}},Ce=l.hasSiteSettings&&!!s.createPage,he=async()=>{if(!(!c||C||!s.createPage)){S(!0),v(null);try{let H=await s.createPage(Ek(i("New popup"),J));await u(),e(H.slug)}catch{v(i("Couldn\u2019t add the popup \u2014 please retry."))}finally{S(!1)}}},_e=F7(null),[Ne,Je]=Ha(null),So=()=>{if(!Ce)return Le();if(Ne)return Je(null);let H=_e.current?.getBoundingClientRect();H&&Je({top:H.bottom+6,right:Math.max(8,window.innerWidth-H.right)})},ce=H=>{let Ae=m??[],re=s.deletePage;if(!c||C||!re||Ae.length<=1)return;let Fe=Ae.findIndex(qe=>qe.id===H.id),Ee=Ae.filter(qe=>qe.id!==H.id),jo=H.slug===d;Pf(H.id,!0),x(Ee),v(null),jo&&Ee[0]&&e(Ee[0].slug);let Vt=()=>{Pf(H.id,!1);let qe=I()??[];if(qe.some(Ia=>Ia.id===H.id))return;let Ko=[...qe];Ko.splice(Math.max(0,Math.min(Fe,Ko.length)),0,H),x(Ko)};VE.undoable(i("Deleted \u201C{name}\u201D",{name:H.label}),{actionLabel:i("Undo"),commit:async qe=>{await re(H.id,qe),Pf(H.id,!1)},undo:()=>{Vt(),jo&&e(H.slug)},onFail:()=>{Vt(),VE.error(i("Couldn\u2019t delete the page \u2014 please retry."))}})},ve=H=>n.send("storefront-editor:open-page",{slug:H}),Ge=H=>{if(!U(H.label))return null;let Ae=!t&&H.slug===d,re=l.canDeletePagesInline&&(m??[]).length>1,Fe=hr(H),Ee=DC(H),jo=[...Fe?[{label:i("Dynamic"),tone:"info"}]:[],...Ee?[{label:i("Lightbox"),tone:"success"}]:[],...H.draft?[{label:i("draft"),tone:"draft"}]:[]],Vt=jo.length>0?jo:void 0,qe=!!A&&q7(H),Ko=qe||l.pageCreationInAdminForm||re?Ll($E,{children:[qe&&be(Ef,{kind:"plain",label:i("Duplicate \u201C{name}\u201D",{name:H.label}),disabled:C,onClick:()=>b(H),children:be(G7,{size:13})}),l.pageCreationInAdminForm&&be(Ef,{kind:"plain",label:i("Page settings for \u201C{name}\u201D",{name:H.label}),onClick:()=>ve(H.slug),children:be(j7,{size:13})}),re&&be(Ef,{kind:"delete",label:i("Delete \u201C{name}\u201D",{name:H.label}),disabled:C,onClick:()=>ce(H),children:be(GI,{name:"trash",size:13,strokeWidth:1.7,rounded:!0})})]}):void 0;return be(qE,{icon:be(U7,{size:14}),name:H.label,selected:Ae,onSelect:()=>e(H.slug),badge:Vt,actions:Ko,rowProps:{"data-page-slug":H.slug}},H.id)},Pe=(H,Ae,re)=>{let Fe=re.filter(Boolean);if(Fe.length===0)return null;let Ee=pe(H);return Ll(A7,{children:[be(z7,{count:Fe.length,countLabel:wo("{n} page","{n} pages",Fe.length),expanded:Ee,onToggle:()=>M(H),children:Ae}),Ee&&Fe]},H)},Ye=(r?.rows??[]).filter(H=>U(H.label)).map(H=>{let Ae=t===H.key;return be(qE,{icon:H.icon,name:H.label,selected:Ae,onSelect:()=>a(H.key),badge:{label:i("Preview"),tone:"warning"},actions:be(Ef,{kind:"plain",label:i("Open the {name} in a new tab",{name:H.label}),onClick:()=>window.open(H.href,"_blank","noopener,noreferrer"),children:be(GI,{name:"external-link",size:13,strokeWidth:1.7,rounded:!0})}),rowProps:{"data-shop-surface":H.key}},H.key)}),Uo=l.hasSiteSettings&&!!r,Mo=(()=>{if(m===null)return null;let H=[],Ae=!1;for(let re of q){Uo&&!Ae&&re.key.startsWith("system:")&&(H.push(Pe("shop",r.title,Ye)),Ae=!0);let Fe=re.key===jm||re.label===Um?i(re.label):re.label;H.push(Pe(re.key,Fe,re.rows.map(Ge)))}return Uo&&!Ae&&H.push(Pe("shop",r.title,Ye)),H})();return Ll("div",{className:"sf-pages",children:[be(B7,{icon:be(K7,{}),title:i("Pages"),context:f,actions:be(D7,{buttonRef:_e,label:Ce?i("Add"):i("New page"),hasPopup:Ce?"menu":void 0,expanded:Ce?Ne!==null:void 0,onClick:So,children:be($7,{size:15})})}),Ne&&be(H7,{portal:!0,style:{top:Ne.top,right:Ne.right},onClose:()=>Je(null),children:Ll("div",{role:"menu","aria-label":i("Add"),children:[be(KE,{role:"menuitem",onClick:()=>{Je(null),Le()},children:i("Page")}),be(KE,{role:"menuitem",disabled:C,onClick:()=>{Je(null),he()},children:i("Popup")})]})}),be("div",{className:"sf-pages-find",children:be(jE,{type:"search",leftIcon:be(GI,{name:"search",size:14,rounded:!0}),placeholder:i("Search all pages\u2026"),value:y,onChange:H=>P(H.target.value),"aria-label":i("Search all pages")})}),g&&!k&&be("div",{className:"sf-note sf-note--error",role:"alert",children:g}),Mo===null?be("div",{className:"sf-note",children:i("Loading\u2026")}):Mo.some(Boolean)?be(W7,{ariaLabel:i("Pages"),className:"sf-scroll",children:Mo}):be("div",{className:"sf-note",children:y.trim()?i("No pages match your search"):i("No pages yet. Add one with + above.")}),A&&N&&be(Y7,{source:{title:N.label,slug:N.slug},taken:J,host:Z7(),duplicate:H=>A(N,H),onClose:()=>b(null),onDuplicated:H=>{b(null),u(),e(H.slug)}},N.id),be(N7,{open:k,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:Ll($E,{children:[be(UE,{variant:"secondary",onClick:()=>F(!1),children:i("Cancel")}),be(UE,{onClick:()=>{ze()},disabled:C||!T.trim(),loading:C,children:i("Add page")})]}),children:be(M7,{label:i("Page name"),htmlFor:E,hint:T.trim()?i("URL: /{slug}",{slug:YE(T,J)}):void 0,error:g??void 0,children:be(jE,{id:E,value:T,invalid:!!g,onChange:H=>B(H.target.value),onKeyDown:H=>{H.key==="Enter"&&ze()},placeholder:i("e.g. About")})})})]})}import{jsx as tO}from"react/jsx-runtime";import{createContext as Q7,useCallback as eV,useContext as oV,useMemo as tV,useState as aV}from"react";import{CanvasChromeContext as rV}from"efficient-easel/easel";import{useSelectHandler as nV}from"efficient-easel/draw/client";import{parseHexColor as J7}from"efficient-shell/format";var Of=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],os=Of[0];var Fr="right";function _f(e){return Of.includes(e??"")?e:os}function eO(e){return e==="left"?"left":Fr}function oO(e){return e&&J7(e)===e.toLowerCase()?e.toLowerCase():""}var aO="chat",Af={enabled:!0,title:"",subtitle:"",greeting:"",launcherColor:"",launcherIcon:"",launcherPosition:Fr,launcherLabel:"",showOnPhones:!0};function Jke(e){return{enabled:e.enabled,title:e.title,subtitle:e.subtitle,greeting:e.greeting,launcherColor:oO(e.launcherColor),launcherIcon:e.launcherIcon?_f(e.launcherIcon):"",launcherPosition:eO(e.launcherPosition),launcherLabel:e.launcherLabel??"",showOnPhones:e.showOnPhones!==!1}}var rO=Q7({chat:Af,setChat:()=>{},setSelected:()=>{},setSelectHandler:()=>{}});function Qke({children:e,chat:o=Af,onChatChange:t}){let[a,r]=aV(!1),n=eV(d=>t?.(d),[t]),{select:s,setSelectHandler:l}=nV(),c=tV(()=>({selected:()=>a?aO:null,select:d=>d===aO&&s()}),[a,s]);return tO(rO.Provider,{value:{chat:o,setChat:n,setSelected:r,setSelectHandler:l},children:tO(rV.Provider,{value:c,children:e})})}var Rf=()=>oV(rO);import{jsx as UI}from"react/jsx-runtime";import{DesktopIcon as sV,PhoneIcon as lV,TabletIcon as iV}from"efficient-easel/icons";import{VIEW_TIERS as cV,VIEW_TIER_LABEL as dV}from"efficient-easel/draw";var fV={desktop:UI(sV,{}),tablet:UI(iV,{}),mobile:UI(lV,{})},nO=cV.map(e=>({id:e,get label(){return i(dV[e])},icon:fV[e]}));import{PreviewDeviceContext as pse}from"efficient-easel/draw/client";import{jsx as uV}from"react/jsx-runtime";import{createContext as pV,useCallback as sO,useContext as mV,useMemo as hV,useRef as xV}from"react";var IV=Object.fromEntries(ac.map(e=>[e,{value:"",error:null}])),lO=pV({links:ES,rows:IV,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function cTe({children:e,value:o}){let t=xV(()=>{}),a=sO(()=>t.current(),[]),r=sO(s=>{t.current=s},[]),n=hV(()=>({...o,openPanel:a,setOpenHandler:r}),[o,a,r]);return uV(lO.Provider,{value:n,children:e})}var Fl=()=>mV(lO);import{jsx as gV}from"react/jsx-runtime";import{createContext as bV,useContext as yV,useMemo as SV,useState as wV}from"react";var iO=bV(null);function pTe({children:e}){let[o,t]=wV(null),a=SV(()=>({surface:o,setSurface:t}),[o]);return gV(iO.Provider,{value:a,children:e})}function cO(){return yV(iO)??{surface:null,setSurface:()=>{}}}import{createPreviewSelectionContext as CV}from"efficient-easel/draw/client";var Bl="Scrolling Bar",{Provider:xTe,useSelection:dO}=CV("selectedHeroId"),ITe="data-sf-hero-ticker";function gTe(e){return`${e}::ticker`}function bTe(e){return!e||!e.endsWith("::ticker")?null:e.slice(0,-8)||null}var fO=["","","","","",""],uO="#ticker",Dl="strip",jI={sectionAccent:Aa,line:!1};function vV(e){return(Array.isArray(e.tickerItems)?e.tickerItems:[]).map(o=>typeof o?.text=="string"?o.text:"").filter(o=>o.trim()!=="")}function KI(e){return vV(e).length>0}function wTe(e){return e.showTicker!==!1&&KI(e)}import{createPreviewSelectionContext as kV}from"efficient-easel/draw/client";var{Provider:kTe,useSelection:Lf}=kV("selectedHeroPart");var mO=["one","side","stacked"];var PTe={one:"One",side:"Side by side",stacked:"Stacked"};function Ff(e){return mO.includes(e)?e:"one"}function pO(e){return e==="one"?1:2}function VI(e,o){if(mO.includes(e))return e;let t=Ff(o);return t==="side"?"stacked":t}function Nl(e){let o=Ff(e.mediaLayout);return Math.max(pO(o),pO(VI(e.mediaLayoutPhone,o)))}var Br=["media","image","image2"],Dr={media:"Media",image:"Image",image2:"Image 2"},Ml={media:"heroMedia",image:"heroImage",image2:"heroImage2"};function Bf(e,o){return e==="image"&&Nl(o)>1?"Image 1":Dr[e]}var ATe="Video file",RTe="Upload a video file";function TV(e,o){return{field:"mediaType",is:e,default:o}}var PV=new Set(["HeroSingle"]),hO="heroPart";function EV(e,o){return{...o,[hO]:e}}function LTe(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]=eo(n[l],TV(s,a));for(let[s,l]of Object.entries(r??{}))l&&(n[s]=eo(n[s],l));for(let s of Br)for(let l of o[s]??[])n[l]=EV(s,n[l]);return n}function OV(e){let o=e?.[hO];return Br.includes(o)?o:null}function xO(e,o){let t={};for(let[a,r]of Object.entries(e))OV(r)===o&&(t[a]=r);return t}function IO(e){if(!PV.has(e.type))return[];let o=[{part:"media",label:Dr.media,depth:0}];return(e.props.mediaType??"image")!=="video"&&(o.push({part:"image",label:Bf("image",e.props),depth:1}),Nl(e.props)>1&&o.push({part:"image2",label:Bf("image2",e.props),depth:1})),o}function Hl(e,o){return`${e}::${o}`}function gO(e){if(!e)return null;let o=e.lastIndexOf("::");if(o<=0)return null;let t=e.slice(o+2);return Br.includes(t)?{nodeId:e.slice(0,o),part:t}:null}var bO="data-sf-hero-part";import{jsx as ge,jsxs as Wa,Fragment as z1}from"react/jsx-runtime";import{useEasel as cJ,useRootFields as dJ}from"efficient-easel/easel";import{Button as fJ,EmptyState as uJ}from"efficient-shell/ui";function yO({kind:e,pageName:o}){return{name:o?.trim()||i("This page"),kindLabel:hr({kind:e})?i("Template"):i("Page")}}import{headWords as j1,InspectorHead as pJ,InspectorIconButton as $1}from"efficient-easel/chrome";import{DuplicateIcon as mJ,TrashIcon as hJ}from"efficient-easel/icons";import{panelFieldsOf as xJ}from"efficient-easel/screen/lib/document/panel-fields";import{jsx as D,Fragment as ie,jsxs as fe}from"react/jsx-runtime";import{BlockBannerIcon as RV,BlockBoxIcon as LV,BlockButtonIcon as FV,BlockDividerIcon as wO,BlockFooterIcon as CO,BlockHeadingIcon as BV,BlockProductIcon as DV,BlockSocialIcon as NV,BlockTextIcon as MV,CardPaymentIcon as HV,ChatIcon as WV,AccountIcon as zV,GlobeIcon as $V,GridIcon as GV,ImageIcon as YI,MapIcon as UV,MediaIcon as jV,PageIcon as KV}from"efficient-easel/icons";import{jsx as qI,Fragment as _V,jsxs as AV}from"react/jsx-runtime";var SO=AV(_V,{children:[qI("circle",{cx:"9",cy:"20",r:"1.3"}),qI("circle",{cx:"18",cy:"20",r:"1.3"}),qI("path",{d:"M2.5 3.5h3l2.3 11.3a1.6 1.6 0 0 0 1.6 1.3h8.1a1.6 1.6 0 0 0 1.6-1.2L21 7H6"})]});var VV={header:fe(ie,{children:[D("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),D("path",{d:"M3 9.5h18"})]}),social:fe(ie,{children:[D("circle",{cx:"6",cy:"12",r:"2.5"}),D("circle",{cx:"18",cy:"6",r:"2.5"}),D("circle",{cx:"18",cy:"18",r:"2.5"}),D("path",{d:"M8.2 10.8l7.6-3.6M8.2 13.2l7.6 3.6"})]}),ticker:fe(ie,{children:[D("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),D("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),FooterLogo:fe(ie,{children:[D("path",{d:"M4 15.5h6M4 18h4"}),D("path",{d:"M14 8.5l3 7 3-7"})]}),FooterMenu:D("path",{d:"M6 7h12M6 11h12M6 15h8M6 19h8"}),FooterGroup:fe(ie,{children:[D("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",strokeDasharray:"3 2.5"}),D("path",{d:"M8 9h8M8 13h8M8 16h5"})]}),FooterText:D("path",{d:"M5 7h14M5 12h14M5 17h9"}),FooterEmailSignup:fe(ie,{children:[D("rect",{x:"3",y:"6",width:"18",height:"12",rx:"2"}),D("path",{d:"M3.5 7l8.5 6 8.5-6"})]}),SearchBlock:fe(ie,{children:[D("circle",{cx:"11",cy:"11",r:"6"}),D("path",{d:"M20 20l-4.2-4.2"})]}),CartBlock:SO,CountrySwitchBlock:fe(ie,{children:[D("circle",{cx:"12",cy:"12",r:"8.5"}),D("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:fe(ie,{children:[D("circle",{cx:"12",cy:"12",r:"8.5"}),D("path",{d:"M12 3.5v17M12 5.5l6 6M12 10.5l5.2 5.2M12 15.5l2.8 2.8"})]}),LegalLineBlock:fe(ie,{children:[D("path",{d:"M3 9h18"}),D("path",{d:"M3 14h8M14 14h2M18 14h3"})]}),Hero:fe(ie,{children:[D("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),D("path",{d:"M7 13.5h7M7 16.5h10"})]}),HeroSlide:fe(ie,{children:[D("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),D("path",{d:"M7 15h6M16 9.5h.01M9.5 12l-2.5 3"})]}),HeroSingle:fe(ie,{children:[D("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),D("path",{d:"M10.5 8.5l4 2.5-4 2.5z"}),D("path",{d:"M7 17h7"})]}),Collections:fe(ie,{children:[D("rect",{x:"3",y:"5",width:"4.6",height:"14",rx:"1.3"}),D("rect",{x:"9.7",y:"5",width:"4.6",height:"14",rx:"1.3"}),D("rect",{x:"16.4",y:"5",width:"4.6",height:"14",rx:"1.3"})]}),CollectionCard:fe(ie,{children:[D("rect",{x:"6",y:"4",width:"12",height:"16",rx:"2"}),D("path",{d:"M9 15h6M9 17.5h4"})]}),AlloyWheelsListing:fe(ie,{children:[D("path",{d:"M3 5h5M3 9h5M3 13h5M3 17h5"}),D("rect",{x:"11.5",y:"5",width:"4.2",height:"5",rx:"1"}),D("rect",{x:"17.3",y:"5",width:"4.2",height:"5",rx:"1"}),D("rect",{x:"11.5",y:"12",width:"4.2",height:"5",rx:"1"}),D("rect",{x:"17.3",y:"12",width:"4.2",height:"5",rx:"1"})]}),CatalogFilterBar:fe(ie,{children:[D("path",{d:"M3 7h9M15.5 7H21"}),D("circle",{cx:"13.5",cy:"7",r:"1.7"}),D("path",{d:"M3 12h4M10.5 12H21"}),D("circle",{cx:"8.5",cy:"12",r:"1.7"}),D("path",{d:"M3 17h9M15.5 17H21"}),D("circle",{cx:"13.5",cy:"17",r:"1.7"})]}),ProductGrid:fe(ie,{children:[D("rect",{x:"3",y:"5",width:"4.8",height:"6",rx:"1"}),D("rect",{x:"9.6",y:"5",width:"4.8",height:"6",rx:"1"}),D("rect",{x:"16.2",y:"5",width:"4.8",height:"6",rx:"1"}),D("rect",{x:"3",y:"13",width:"4.8",height:"6",rx:"1"}),D("rect",{x:"9.6",y:"13",width:"4.8",height:"6",rx:"1"}),D("rect",{x:"16.2",y:"13",width:"4.8",height:"6",rx:"1"})]}),RelatedProducts:fe(ie,{children:[D("path",{d:"M3 5h10"}),D("rect",{x:"3",y:"9.5",width:"5",height:"9",rx:"1"}),D("rect",{x:"9.5",y:"9.5",width:"5",height:"9",rx:"1"}),D("rect",{x:"16",y:"9.5",width:"5",height:"9",rx:"1"})]}),Gallery:fe(ie,{children:[D("rect",{x:"3",y:"4",width:"11",height:"16",rx:"2"}),D("rect",{x:"15.5",y:"4",width:"5.5",height:"7.5",rx:"1.5"}),D("rect",{x:"15.5",y:"12.5",width:"5.5",height:"7.5",rx:"1.5"})]}),GalleryB:fe(ie,{children:[D("rect",{x:"3.5",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),D("rect",{x:"13",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),D("rect",{x:"3.5",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"}),D("rect",{x:"13",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"})]}),GalleryItem:fe(ie,{children:[D("rect",{x:"4",y:"5",width:"16",height:"14",rx:"2"}),D("circle",{cx:"9",cy:"10",r:"1.6"}),D("path",{d:"M20 15.5l-4.5-4L7 19"})]}),Events:fe(ie,{children:[D("rect",{x:"4",y:"5",width:"16",height:"15",rx:"2"}),D("path",{d:"M4 9.5h16M8.5 3v4M15.5 3v4M8 14h2M14 14h2"})]}),PostCard:fe(ie,{children:[D("rect",{x:"4",y:"3.5",width:"16",height:"17",rx:"2"}),D("rect",{x:"6.5",y:"6",width:"11",height:"6",rx:"1"}),D("path",{d:"M6.5 14.5h11M6.5 17.5h7"})]}),Manifesto:fe(ie,{children:[D("path",{d:"M7 8h3.2v4c0 1.6-1 2.6-3 3.2"}),D("path",{d:"M14 8h3.2v4c0 1.6-1 2.6-3 3.2"})]}),Stats:fe(ie,{children:[D("path",{d:"M3.5 20h17"}),D("path",{d:"M6 20v-7M11 20V7M16 20v-5M20.5 20v-9"})]}),Logos:fe(ie,{children:[D("circle",{cx:"6",cy:"12",r:"2.6"}),D("rect",{x:"10",y:"9.4",width:"5.2",height:"5.2",rx:"1.2"}),D("path",{d:"M19 9.2l2.4 5h-4.8z"})]}),Ticker:fe(ie,{children:[D("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),D("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),SectionHeader:fe(ie,{children:[D("rect",{x:"3.5",y:"6",width:"5",height:"5",rx:"1.2"}),D("path",{d:"M11 8.5h9M3.5 15.5h17"})]}),IntroBleed:fe(ie,{children:[D("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),D("path",{d:"M3 13.5h18M7 16.8h6"})]}),Split:fe(ie,{children:[D("rect",{x:"3",y:"5",width:"8",height:"14",rx:"1.5"}),D("path",{d:"M14 8.5h6M14 12h6M14 15.5h4"})]}),Eyebrow:fe(ie,{children:[D("path",{d:"M4 8.5h4.5M11 8.5h9"}),D("path",{d:"M4 14.5h16"})]}),HeroGroup:fe(ie,{children:[D("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2"}),D("path",{d:"M7 9h8M7 12.5h10M7 16h6"})]}),Form:fe(ie,{children:[D("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),D("path",{d:"M6.5 9h11M6.5 12.5h11"}),D("rect",{x:"6.5",y:"15",width:"6.5",height:"2.6",rx:"1.3"})]}),LogoBlock:D(ie,{children:D("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:fe(ie,{children:[D("path",{d:"M12 4v6M9.5 6.5L12 4l2.5 2.5M12 20v-6M9.5 17.5L12 20l2.5-2.5"}),D("path",{d:"M5 13h14",strokeDasharray:"2 2.5"})]}),ContactRouting:fe(ie,{children:[D("rect",{x:"3",y:"4",width:"5",height:"5",rx:"1"}),D("rect",{x:"9.5",y:"4",width:"5",height:"5",rx:"1"}),D("rect",{x:"16",y:"4",width:"5",height:"5",rx:"1"}),D("path",{d:"M4 13.5h11M4 17.5h7"}),D("path",{d:"M17 15l3 2-3 2"})]}),Contents:fe(ie,{children:[D("path",{d:"M4 7h2M4 12h2M4 17h2"}),D("path",{d:"M9 7h11M9 12h9M9 17h10"})]}),CustomHTML:D("path",{d:"M9 8l-4 4 4 4M15 8l4 4-4 4"})},qV=D("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),YV={footer:CO,Footer:CO,Divider:wO,FooterDivider:wO,Banner:RV,Flex:LV,FooterSocial:NV,FooterPayment:HV,page:KV,website:$V,AccountBlock:zV,chat:WV,Heading:BV,Text:MV,ImageBlock:YI,ButtonBlock:FV,LocationMap:UV,Grid:GV,ProductRef:DV,heroMedia:jV,heroImage:YI,heroImage2:YI},XV={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",PaymentLogosBlock:"FooterPayment",SiteHeader:"header",SiteFooter:"footer"};function Nr({type:e,size:o=16,className:t}){let a=XV[e]??e,r=YV[a];return r?D(r,{size:o,className:t}):D("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:VV[a]??qV})}import{PanelHideButton as G1}from"efficient-easel/screen/components/SidePanelHead";import{useEaselSession as IJ}from"efficient-easel/screen/lib/session-context";import{jsx as Se,jsxs as Wl,Fragment as ZV}from"react/jsx-runtime";import{useEffect as JV,useId as vO,useState as QV}from"react";import{IconPicker as eq}from"efficient-shell/ui";import{SettingsDefaultReset as oq,SettingsField as zl,SettingsSegmented as tq,SettingsSwitch as kO}from"efficient-easel/panel";import{ButtonIcon as aq,ButtonIconIcon as rq,EyeIcon as nq,PhoneIcon as sq,PlacementIcon as lq,TypeIcon as iq}from"efficient-easel/icons";var cq="Chat with us",dq="We usually reply within a few minutes",fq="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function Df({label:e,value:o,placeholder:t,onCommit:a,multiline:r=!1,hint:n}){let[s,l]=QV(o);JV(()=>l(o),[o]);let c=()=>{s!==o&&a(s)};return Se(zl,{label:e,icon:Se(iq,{}),changed:o!=="",action:Se($l,{label:e,changed:o!=="",onReset:()=>a("")}),hint:n,children:r?Se("textarea",{value:s,placeholder:t,rows:3,onChange:d=>l(d.target.value),onBlur:c,"aria-label":e}):Se("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 $l({label:e,changed:o,onReset:t}){return Se(oq,{words:ee()?.panel,label:e,changed:o,onReset:t})}function uq({label:e,icon:o,checked:t,fallback:a,onChange:r,hint:n}){let s=vO();return Se(zl,{label:e,labelId:s,icon:o,changed:t!==a,action:Wl("span",{className:"inline-flex items-center gap-2",children:[Se(kO,{checked:t,onChange:r,ariaLabelledBy:s}),Se($l,{label:e,changed:t!==a,onReset:()=>r(a)})]}),hint:n})}var pq=Of.map(e=>({value:e,icon:_c(e)}));function mq(){let{theme:e}=de(),o=Qe(e).themes[0];return _s(o)??o?.accent??""}function TO(){let{chat:e,setChat:o}=Rf(),t=vO(),a=mq(),r=e.launcherIcon?_f(e.launcherIcon):os;return Wl(ZV,{children:[Se(zl,{label:i("Show the chat bubble"),labelId:t,icon:Se(nq,{}),changed:!e.enabled,action:Wl("span",{className:"inline-flex items-center gap-2",children:[Se(kO,{checked:e.enabled,onChange:n=>o({enabled:n}),ariaLabelledBy:t}),Se($l,{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.")}),Wl(Sx,{title:i("Look"),children:[Se(Yo,{label:i("Button color"),icon:Se(aq,{}),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:""})}),Se(zl,{label:i("Icon"),icon:Se(rq,{}),value:Se(fx,{value:r}),changed:r!==os,action:Se($l,{label:i("Icon"),changed:r!==os,onReset:()=>o({launcherIcon:""})}),children:Se(eq,{label:i("Icon"),value:r,options:pq,onChange:n=>o({launcherIcon:n===os?"":n})})}),Se(zl,{label:i("Position"),icon:Se(lq,{}),changed:e.launcherPosition!==Fr,action:Se($l,{label:i("Position"),changed:e.launcherPosition!==Fr,onReset:()=>o({launcherPosition:Fr})}),children:Se(tq,{options:[{label:i("Right"),id:"right"},{label:i("Left"),id:"left"}],value:e.launcherPosition,ariaLabel:i("Position"),onChange:n=>o({launcherPosition:n})})}),Se(Df,{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")}),Se(uq,{label:i("Show on phones"),icon:Se(sq,{}),checked:e.showOnPhones,fallback:Af.showOnPhones,onChange:n=>o({showOnPhones:n})})]}),Wl(Sx,{title:i("Wording"),children:[Se(Df,{label:i("Title"),value:e.title,placeholder:cq,onCommit:n=>o({title:n})}),Se(Df,{label:i("Subtitle"),value:e.subtitle,placeholder:dq,onCommit:n=>o({subtitle:n})}),Se(Df,{label:i("Greeting message"),value:e.greeting,placeholder:fq,onCommit:n=>o({greeting:n}),multiline:!0}),Se("p",{className:"es-field-hint",children:i("Leave a field blank to use the built-in wording.")})]})]})}import{jsx as Mr,Fragment as Ig,jsxs as AO}from"react/jsx-runtime";import{useEffect as Uq,useId as OO,useState as _O}from"react";import{SettingsField as jq}from"efficient-easel/panel";import{jsx as Bq}from"react/jsx-runtime";import{forwardRef as hq,createElement as XI}from"react";var PO={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 ae=(e,o,t,a)=>{let r=hq(({color:n="currentColor",size:s=24,stroke:l=2,title:c,className:d,children:f,...m},u)=>XI("svg",{ref:u,...PO[e],width:s,height:s,className:["tabler-icon",`tabler-icon-${o}`,d].filter(Boolean).join(" "),...e==="filled"?{fill:n}:{strokeWidth:l,stroke:n},...m},[c&&XI("title",{key:"svg-title"},c),...a.map(([x,I])=>XI(x,I)),...Array.isArray(f)?f:[f]]));return r.displayName=`${t}`,r};var xq=[["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"}]],ZI=ae("outline","brand-facebook","BrandFacebook",xq);var Iq=[["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"}]],JI=ae("outline","brand-instagram","BrandInstagram",Iq);var gq=[["path",{d:"M21 10.663c0 -4.224 -4.041 -7.663 -9 -7.663s-9 3.439 -9 7.663c0 3.783 3.201 6.958 7.527 7.56c1.053 .239 .932 .644 .696 2.133c-.039 .238 -.184 .932 .777 .512c.96 -.42 5.18 -3.201 7.073 -5.48c1.304 -1.504 1.927 -3.029 1.927 -4.715v-.01",key:"svg-0"}]],QI=ae("outline","brand-line","BrandLine",gq);var bq=[["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"}]],eg=ae("outline","brand-linkedin","BrandLinkedin",bq);var yq=[["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"}]],og=ae("outline","brand-pinterest","BrandPinterest",yq);var Sq=[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]],tg=ae("outline","brand-telegram","BrandTelegram",Sq);var wq=[["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"}]],ag=ae("outline","brand-tiktok","BrandTiktok",wq);var Cq=[["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"}]],rg=ae("outline","brand-wechat","BrandWechat",Cq);var vq=[["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"}]],ng=ae("outline","brand-whatsapp","BrandWhatsapp",vq);var kq=[["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"}]],sg=ae("outline","brand-x","BrandX",kq);var Tq=[["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"}]],lg=ae("outline","brand-youtube","BrandYoutube",Tq);var Pq=[["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"}]],ig=ae("filled","brand-facebook-filled","BrandFacebookFilled",Pq);var Eq=[["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"}]],cg=ae("filled","brand-instagram-filled","BrandInstagramFilled",Eq);var Oq=[["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"}]],dg=ae("filled","brand-linkedin-filled","BrandLinkedinFilled",Oq);var _q=[["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"}]],fg=ae("filled","brand-pinterest-filled","BrandPinterestFilled",_q);var Aq=[["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"}]],ug=ae("filled","brand-tiktok-filled","BrandTiktokFilled",Aq);var Rq=[["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"}]],pg=ae("filled","brand-whatsapp-filled","BrandWhatsappFilled",Rq);var Lq=[["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"}]],mg=ae("filled","brand-x-filled","BrandXFilled",Lq);var Fq=[["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"}]],hg=ae("filled","brand-youtube-filled","BrandYoutubeFilled",Fq);var x0e="outline",Nf={fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},Dq={},xg={fillRule:"evenodd"},Nq=[["path",{...Nf,d:"M21 4L3 11L7 13L9 19L12 15L17 20z"}],["path",{...xg,d:"M21 4L3 11L7 13L9 19L12 15L17 20zM15.212 8.939 10.576 13.576 11.424 14.424 16.061 9.788z"}]],Mq=[["path",{...Nf,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",{...Dq,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("")}]],Hq=[["path",{...Nf,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",{...Nf,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",{...xg,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",{...xg,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("")}]],Wq=ae("filled","brand-telegram-filled","BrandTelegramFilled",Nq),zq=ae("filled","brand-line-filled","BrandLineFilled",Mq),$q=ae("filled","brand-wechat-filled","BrandWechatFilled",Hq),Gq={instagram:{outline:JI,solid:cg},facebook:{outline:ZI,solid:ig},tiktok:{outline:ag,solid:ug},youtube:{outline:lg,solid:hg},x:{outline:sg,solid:mg},linkedin:{outline:eg,solid:dg},pinterest:{outline:og,solid:fg},whatsapp:{outline:ng,solid:pg},telegram:{outline:tg,solid:Wq},line:{outline:QI,solid:zq},wechat:{outline:rg,solid:$q}};function EO({platform:e,iconStyle:o,size:t}){let a=Gq[e][o];return Bq(a,{size:t,stroke:1.75,"aria-hidden":"true",focusable:"false"})}var Kq={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 Vq({platform:e}){let{rows:o,saveLink:t}=Fl(),{value:a,error:r}=o[e],[n,s]=_O(a),[l,c]=_O(!1),d=OO(),f=OO();Uq(()=>s(a),[a]);let m=async()=>{if(n.trim()===a){n!==a&&s(a);return}c(!0),await t(e,n),c(!1)},u=PS[e];return AO(Ig,{children:[Mr(jq,{label:i(u),htmlFor:d,icon:Mr(EO,{platform:e,iconStyle:"outline",size:18}),children:Mr("input",{id:d,type:"text",inputMode:"url",value:n,placeholder:Kq[e],onChange:x=>s(x.target.value),onBlur:()=>{m()},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&&Mr("p",{id:f,className:"sf-note sf-note--error",role:"alert",children:r})]})}function RO({unavailable:e}){let{canSave:o}=Fl();return!o&&e?Mr(Ig,{children:e}):AO(Ig,{children:[Mr("p",{className:"es-field-hint",children:i("Paste a link to each profile. A platform left empty shows nothing on the site.")}),ac.map(t=>Mr(Vq,{platform:t},t))]})}import{jsx as zr,Fragment as dX,jsxs as fX}from"react/jsx-runtime";import{useId as uX,useMemo as pX}from"react";import{useEasel as mX}from"efficient-easel/easel";import{SettingsField as hX,SettingsSwitch as xX}from"efficient-easel/panel";import{EyeIcon as IX}from"efficient-easel/icons";import{fieldShownInView as gX}from"efficient-easel/fields";import{usePreviewDevice as bX}from"efficient-easel/draw/client";import{jsx as Wr,Fragment as iY,jsxs as cY}from"react/jsx-runtime";import{createContext as dY,useContext as fY,useLayoutEffect as u_,useMemo as Xf,useRef as p_,useState as Tg}from"react";import{useEasel as m_,useSelectedFields as uY}from"efficient-easel/easel";import{fieldShownInView as pY,Inspector as mY,planFields as Pg}from"efficient-easel/fields";function LO({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 q9}from"efficient-easel/screen/lib/document/box-fields";import{deviceField as Y9,deviceMetaOf as QO}from"efficient-easel/screen/lib/document/device-fields";import{jsx as Be,Fragment as r9,jsxs as n9}from"react/jsx-runtime";import{useRef as jO}from"react";import{phoneKey as fa}from"efficient-easel/draw";import{SettingsDefaultReset as s9}from"efficient-easel/panel";import{ClockIcon as l9,DirectionDownIcon as i9,DirectionIcon as c9,DirectionLeftIcon as d9,DirectionRightIcon as f9,DirectionUpIcon as u9,DurationIcon as p9,EntranceBounceIcon as m9,EntranceFadeIcon as h9,EntranceFlipIcon as x9,EntranceGlideIcon as I9,EntranceRevealIcon as g9,EntranceRiseIcon as b9,EntranceScaleIcon as y9,EntranceSpinIcon as S9,NoSymbolIcon as w9}from"efficient-easel/icons";import{effectTiles as C9}from"efficient-easel/screen/lib/document/effect-tiles";import{deviceField as ns}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as v9,noControlField as k9}from"efficient-easel/screen/lib/document/panel-no-control-mark";import{customize as T9,describedAs as KO,group as P9,onDesktopWords as E9,phoneTwinFields as O9}from"efficient-easel/screen/lib/document/box-fields";import{ENTRANCE_FROM as _9,ENTRANCE_FROM_DEFAULT as VO,ENTRANCE_KINDS as Vf,ENTRANCE_KINDS_WITH_FROM as GO,MOTION_TIMING as A9,entranceAttrs as R9,playEntrance as L9,readEntrance as F9}from"efficient-shell/format";import{jsx as yg}from"react/jsx-runtime";import{ClockIcon as Zq,DurationIcon as Jq}from"efficient-easel/icons";import{MOTION_TIMING as WO}from"efficient-shell/format";import{useSelectedHost as Qq}from"efficient-easel/easel";import{MOTION_EASING as qq,MOTION_TIMING as FO,motionSeconds as BO}from"efficient-shell/format";var gg="none",Mf=[{label:"None",value:"none"},{label:"Marquee",value:"scroll"}];function O0e(e){return no(Mf,gg,e)}var Gl={field:"loop",is:"scroll"},Ul="left",bg=[{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"},{label:"Up",value:"up",cell:"top"},{label:"Down",value:"down",cell:"bottom"}],Yq={left:"storefront-ticker",right:"storefront-ticker-right",up:"storefront-ticker-up",down:"storefront-ticker-down"};function DO(e){return no(bg,Ul,e)}function NO(e){return e==="up"||e==="down"}function MO(e){return BO("loop","duration",e.loopDuration!=null?e.loopDuration:e.speed)}var _0e=FO.loop.duration.default,Xq=FO.loop.delay.default;function HO(e){return BO("loop","delay",e.loopDelay)}function A0e(e,o,t=Xq){return`${Yq[e]} ${o}s ${qq.loop}${t?` ${t}s`:""} infinite`}function ts(e){let{min:o,max:t,step:a,default:r}=WO[e].duration;return Ao("Duration",yg(Jq,{}),o,t,a,r,"s")}function as(e){let{min:o,max:t,step:a,default:r}=WO[e].delay;return Ao("Delay",yg(Zq,{}),o,t,a,r,"s")}function rs(e,o){let t=e.render,a=r=>{let n=Qq();return t({...r,value:o(r.value,n?.values)})};return{...e,render:r=>yg(a,{...r})}}function Hf({readsSpeed:e}){return rs(ts("loop"),(o,t)=>MO({loopDuration:o,speed:e?t?.speed:void 0}))}function Wf(){return rs(as("loop"),e=>HO({loopDelay:e}))}import{phoneKey as e9}from"efficient-easel/draw";import{readEntrance as o9}from"efficient-shell/format";var $f="sf-entrance",ke={kind:"entrance",from:"entranceFrom",duration:"entranceDuration",delay:"entranceDelay"},Gf="sectionAnimation",zO=e=>e!=null&&e!=="";function t9(e,o){let t=e[ke[o]];return o==="kind"&&!zO(t)?e[Gf]:t}function zf(e,o,t){if(t==="phone"){let a=e[e9(ke[o])];if(zO(a))return a}return t9(e,o)}function jl(e,o){return o9(zf(e,"kind",o),zf(e,"from",o),zf(e,"duration",o),zf(e,"delay",o))}function Uf(e){let o=jl(e,"desktop"),t=jl(e,"phone");return o.kind==="none"&&t.kind==="none"?null:{desktop:o,phone:t}}var a9={...Object.fromEntries([...ek].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)"},G0e=new Set(Object.keys(a9));var $O="_gEntrance";var Sg={none:"None",fade:"Fade",rise:"Rise",scale:"Scale",glide:"Glide",bounce:"Bounce",flip:"Flip",reveal:"Reveal",spin:"Spin"},B9={top:"Top",bottom:"Bottom",left:"Left",right:"Right"},D9={top:()=>Be(i9,{}),bottom:()=>Be(u9,{}),left:()=>Be(f9,{}),right:()=>Be(d9,{})},wg="Entrance",jf=Vf.filter(e=>e!=="none"),Kf=e=>({any:[{field:ke.kind,in:e},{all:[{field:ke.kind,set:!1},{field:Gf,in:e}]}]}),UO=e=>({any:[{field:fa(ke.kind),in:e},{all:[{field:fa(ke.kind),set:!1},Kf(e)]}]}),N9={any:[Kf(jf),{field:fa(ke.kind),in:jf}]},M9=[[[ke.from],Kf(GO)],[[fa(ke.from)],UO(GO)],[[ke.duration,ke.delay],Kf(jf)],[[fa(ke.duration),fa(ke.delay)],UO(jf)]],H9={none:()=>Be(w9,{}),fade:()=>Be(h9,{}),rise:()=>Be(b9,{}),scale:()=>Be(y9,{}),glide:()=>Be(I9,{}),bounce:()=>Be(m9,{}),flip:()=>Be(x9,{}),reveal:()=>Be(g9,{}),spin:()=>Be(S9,{})},qO="data-entrance-tile";function W9({kind:e}){let{attrs:o}=R9(F9(e,VO));return Be("span",{className:"sf-entrance-stage",[qO]:e,children:Be("i",{...o,children:H9[e]()})})}var z9=e=>o=>{let t=e.current?.querySelector(`[${qO}="${o}"] > i`);t&&L9(t)},YO=e=>C9({label:i(wg),options:Vf.map(o=>({value:o,label:i(Sg[o]),picture:Be(W9,{kind:o})})),fallback:"none",onPreview:e?z9(e):void 0});function XO({row:e,children:o}){return Be("div",{ref:e,style:{display:"contents"},children:o})}function $9({value:e,onChange:o}){let t=Zo(),a=jl({...t,[ke.kind]:e},"desktop").kind,r=jO(null);return Be(XO,{row:r,children:YO(r).render({value:a,onChange:n=>o(n??"none")})})}function G9({value:e,onChange:o}){let t=Zo(),a=typeof e=="string"&&Vf.includes(e),r=jl(t,"desktop").kind,n=jO(null);return n9(r9,{children:[Be(XO,{row:n,children:YO(n).render({value:a?e:r,onChange:o})}),a&&Be(s9,{words:ee()?.panel,label:i(U9),changed:a,detail:E9(s=>i(s),i(Sg[r])),onReset:()=>o(void 0)})]})}var U9="Effect",ZO={type:"select",label:wg,options:Vf.map(e=>({value:e,label:Sg[e]}))},j9=()=>KO({type:"custom",render:({value:e,onChange:o})=>Be($9,{value:e,onChange:o})},ZO),K9=()=>KO({type:"custom",render:({value:e,onChange:o})=>Be(G9,{value:e,onChange:o})},ZO),V9=_9.map(e=>({label:B9[e],value:e,picture:D9[e]()}));function Tt(){let{duration:e,delay:o}=A9.entrance,t={[$O]:P9(wg,{dot:N9}),[ke.kind]:ns("desktop",j9()),[Gf]:k9({type:"custom",render:()=>Be(v9,{})},"always"),[fa(ke.kind)]:ns("mobile",K9()),_cEntrance:T9(),...O9(ke.from,yd("From",Be(c9,{}),V9,VO)),[ke.duration]:ns("desktop",ts("entrance")),[fa(ke.duration)]:ns("mobile",Ld({label:"Duration",desktopKey:ke.duration,icon:Be(p9,{}),min:e.min,max:e.max,step:e.step,fallback:e.default,unit:"s"})),[ke.delay]:ns("desktop",as("entrance")),[fa(ke.delay)]:ns("mobile",Ld({label:"Delay",desktopKey:ke.delay,icon:Be(l9,{}),min:o.min,max:o.max,step:o.step,fallback:o.default,unit:"s"}))};return Ym(t,M9)}import{DESIGN_GROUPS as vg,SETTINGS_BUCKETS as X9}from"efficient-easel/panel";import{BUCKET_KEY as $o,DESIGN_GROUP_KEY as Kl}from"efficient-easel/screen/lib/document/field-buckets";var Vl=X9;var Z9="Editor only \u2014 not shown live",kg={"Archive link":"Content",Article:"Content",Blocks:"Content","Blog posts":"Content","Browser mock":"Content",Button:"Content","Call to action":"Content","Car prompt":"Content","Card link":"Content","Card list":"Content",Cards:"Content","Claims bars":"Content","Contact info":"Content",Content:"Content",Display:"Content","Content source":"Content",Contents:"Content",Filters:"Content","Show on a card":"Content",Footnote:"Content",Form:"Content",Founders:"Content","Gallery A":"Content","Gallery B":"Content","Gallery link":"Content",Header:"Content","Header link":"Content","Image caption":"Content","In this issue":"Content",Items:"Content","Kanban columns":"Content",Lead:"Content","Left panel":"Content",Link:"Content",Links:"Content",List:"Content","Message form":"Content",Metadata:"Content",Milestones:"Content","Mockup card":"Content","Newsletter panel":"Content",Offices:"Content",Options:"Content","Others gallery":"Content","Overlay button":"Content",Product:"Content","Product page":"Content",Products:"Content","Pull quote":"Content",Questions:"Content","Recent issues":"Content","Recent posts":"Content",Reviews:"Content","Right panel \xB7 actions":"Content","Right panel \xB7 choices":"Content","Right panel \xB7 form":"Content","Routing groups":"Content",Rows:"Content",Search:"Content",Section:"Content","Section header":"Content",Sections:"Content","Signup form":"Content",Source:"Content","Source product":"Content","Stat & note":"Content",Stats:"Content","Submit button":"Content","Success state":"Content",Wheel:"Content",Terminal:"Content",Text:"Content","Text column":"Content","Timeline entries":"Content","Top row":"Content",Total:"Content","Trailing note":"Content","\u201COther\u201D reason":"Content","Background images":"Design",Gallery:"Content",Image:"Content","Image column":"Content",Images:"Content",Logo:"Content",Map:"Content",Media:"Content","Background image":"Design",Color:"Design","Image tint":"Design",Style:"Design",Shape:"Design",Shadow:"Design",Texture:"Design",Overlay:"Design","Text style":"Design",Entrance:"Animation",Hover:"Animation",Loop:"Animation",Anchor:"Anchor",Arrangement:"Layout","Auto-slide":"Layout",Bar:"Layout","Cell width":"Size",Behavior:"Layout",Schedule:"Layout",Controls:"Layout",Diagram:"Layout",[Z9]:"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"},e_={"AlloyWheelsListing._gCards":"Design"},o_={"Text._gSpacing":"Size","Heading._gSpacing":"Size"};function Cg(e,o,t){let a=`${e}.${o}`;return o_[a]??e_[a]??kg[t]}function t_(e){return e==="Animation"?[$o.Animation]:[$o.Design,Kl[e]]}function qf(...e){let o=[];for(let t of e)for(let a of Object.values(t)){let r=QO(a),n=la(r?r.inner:a),s=n?kg[n.label]:void 0;if(s)for(let l of t_(s))o.includes(l)||o.push(l)}return o}var gEe=[...qf(wd({tablet:!0}),Fd("full"),Bd(),Nd(),vx()),...Object.keys(wd({tablet:!0})),...Object.keys(Fd("full")),...Object.keys(Bd()),...Object.keys(Nd()),...Object.keys(vx())],bEe=[...qf(_d()),...Object.keys(_d())],yEe=[...qf(Rd()),...Object.keys(Rd())],SEe=[...qf(Tt()),...Object.keys(Tt())],J9=Object.keys(wP()),Q9=new Set(["cardImage","imageBackground"]),wEe=[...t_(Cg("ProductGrid","_gCards","Cards")??"Design"),...J9.filter(e=>e.startsWith("_g")||Q9.has(e))],CEe=Object.keys(CP()),vEe=Object.keys(vP()),eY={"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)"},a_={Content:["Content"],Size:["Size"],Design:["Design","Style"],Layout:["Layout"],Position:["Position"],Anchor:["Anchor"],Animation:["Animation"]},r_={_gAnchor:"repeated the Anchor group heading above it (two tabs, 11.0.0)"};{let e={...wd({tablet:!0}),...Fd("full"),...Bd(),...Nd(),..._d(),...Rd(),...Tt()};for(let o of Object.keys(r_)){let t=la(e[o]),a=t?kg[t.label]:void 0;if(!t||t.level!==2||!a||!a_[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 oY=new Set(["_sContent","_sStyle","_sLayout","_sMedia"]),tY=new Map([[$o.Design,"Content"],[$o.Animation,"Animation"],...vg.map(e=>[Kl[e],e])]);function n_(e){let o=new Set([...Object.values($o),Kl.Content]);for(let[t,a]of Object.entries(e))if(!o.has(t)&&la(a)?.level===1)return 1;return 2}function aY(e){let o=`${e}.`;return Object.keys(eY).filter(t=>t.startsWith(o)).map(t=>t.slice(o.length))}function rY(e,o){let t=QO(e),a=q9(o);return t?Y9(t.tier,a):a}function nY(e,o){let t=la(o);return t?e==="Content"||e==="Animation"?sP(o,t.label):lP(o):o}function JO(e){return e==="Design"?vg:["Animation"]}function s_(e,o){let t=[],a=new Set(aY(o)),r=new Set,n=!1,s=null;for(let[u,x]of Object.entries(e)){let I=la(x);if(oY.has(u))throw new Error(`${o}.${u}: 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 y=tY.get(u);if(y!==void 0){if(I?.level!==1)throw new Error(`${o}.${u}: that key is reserved for the ${y} heading of the settings panel, but this field is ${I?`a level-${I.level} "${I.label}" header`:"not a header"}, so it cannot serve as one. Rename the section's own field.`);(u===$o.Design||u===$o.Animation)&&(n=!0),t.push(s={place:y,entries:[],adopted:!0});continue}if(!I){s||t.push(s={place:"Content",entries:[]}),s.entries.push([u,x]);continue}if(a.has(u)||u in r_){let C=Cg(o,u,I.label);if(I.level!==2||!C||!a_[C].includes(I.label))throw new Error(`${o}.${u}: ${a.has(u)?"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-${I.level} "${I.label}" header in the ${C??"(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(u)&&r.add(u),t.push(s={place:C,entries:[]});continue}let P=Cg(o,u,I.label);if(!P)throw new Error(`${o}.${u}: the inspector group "${I.label}" is not classified in LABEL_GROUP (lib/document/field-groups.ts), so there is no way to say which of ${[...vg,"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:P,entries:[[u,I.level===2?x:rY(x,I.label)]]})}let l=new Set(Object.entries(e).filter(([,u])=>la(u)).map(([u])=>u));for(let[u,x]of[["BLOCK_KEY_GROUP",o_],["KEY_GROUP",e_]]){let I=Object.keys(x).filter(y=>y.startsWith(`${o}.`)).filter(y=>!l.has(y.slice(o.length+1)));if(I.length)throw new Error(`${o}: ${u} (lib/document/field-groups.ts) lists ${JSON.stringify(I)}, 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(u=>!r.has(u));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(u=>u.entries.length>0).map(u=>u.place)),f=Vl.filter(u=>JO(u).some(x=>d.has(x))),m={};for(let u of f){m[$o[u]]=Od(u,u===f[0]?f:null);for(let x of JO(u)){if(!d.has(x))continue;let I=t.filter(P=>P.place===x),y=I.findIndex(P=>P.adopted);y>0&&I.unshift(...I.splice(y,1)),u==="Design"&&(m[Kl[x]]=yx(x));for(let P of I)for(let[C,S]of P.entries)m[C]=nY(x,S)}}return m}function kEe(e){return $o.Design in e?e:{[$o.Design]:Od("Design",null),[Kl.Content]:yx("Content"),...e}}function TEe(e){return Vl.some(o=>$o[o]in e)}function PEe(e){let o=Vl.filter(a=>$o[a]in e);if(o.length===0)return e;let t={...e};for(let a of o)t[$o[a]]=Od(a,a===o[0]?o:null);return t}import{jsx as sY}from"react/jsx-runtime";import{EmptyState as lY}from"efficient-shell/ui";function Hr(){return sY(lY,{variant:"none",icon:!1,message:i("These settings apply to every view.")})}import{usePreviewDevice as hY}from"efficient-easel/draw/client";import{deviceField as xY}from"efficient-easel/screen/lib/document/device-fields";var Yf=" text",l_="Text";function ql(e){let o=e.rows.filter(t=>t.shown);return o.length===0||o.length===1&&o[0].labelled}function i_(e){return e.filter(ql).map(o=>o.key)}function c_(e,o){let t=e.filter(r=>!ql(r));if(t.length!==1)return null;let a=e.filter(ql).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 d_(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 f_(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var Eg=new Map,Zf=new Set;function h_(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 IY=Object.fromEntries(Vl.map(e=>{let o=nP[e];return[e,Wr(o,{},e)]})),x_=dY(null),gY={_partBody:xY("each",{type:"custom",render:()=>Wr(bY,{})})};function bY(){return Wr(iY,{children:fY(x_)})}function Pt({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:m}=uY(),u=Xf(()=>r?{...d,...r.values}:d,[d,r?.values]),x=(ce,ve)=>r?.keys.has(ce)?r.onChange(ce,ve):m(ce,ve),I=hY(),{appState:y,config:P}=m_(ce=>ce),C=zC(I,P,y.data.content??[],y.ui.itemSelector),S=n===void 0?xO(c,t):gY,g=Xf(()=>{let ce=a?.length?Object.fromEntries(Object.entries(S).filter(([ve])=>!a.includes(ve))):S;return r?{...ce,...r.fields}:ce},[S,a,r?.fields]),v=Xm(g,u,C),[k,F]=Tg(()=>new Set(Zf)),[T,B]=Tg(()=>new Set),E=p_(null),{bandRows:A,designBands:N,looseRows:b}=Xf(()=>{let ce=new Map,ve=new Set,Ge=[];for(let Pe of Pg(v).rows){if(!Pe.fold){Pe.bucket==="Design"&&Ge.push(Pe.name);continue}let Ye=ce.get(Pe.fold.key)??[];Ye.push(Pe.name),ce.set(Pe.fold.key,Ye),Pe.bucket==="Design"&&ve.add(Pe.fold.key)}return{bandRows:ce,designBands:ve,looseRows:new Map([["",Ge]])}},[v]),_=pY({},I),R={key:Yf,rows:Array.from({length:_?o:0},()=>({shown:!0,labelled:!0}))};u_(()=>{let ce=E.current?.parentElement;if(!ce)return;let ve=h_(ce,A),Ge=new Set(i_(ve)),Pe=c_([R,...ve.filter(Ye=>N.has(Ye.key))],h_(ce,b)[0].rows);Pe&&Ge.add(Pe),B(Ye=>f_(Ye,Ge)?Ye:Ge)});let M=Xf(()=>d_(v,T),[v,T]),q=!ql(R)&&!T.has(Yf)?{key:Yf,title:l_}:void 0,V=m_(ce=>ce.selectedItem)!==null,U=r?.part??t??"",pe=`${l}:${U}:${String(I)}`,[J,Le]=Tg(()=>({tab:Eg.get(pe)})),ze=`${l}:${U}`,Ce=p_(null),he={...C,node:u},_e=Pg(v,{values:u,context:he}).buckets,Ne=LO({allTabs:V,remembered:Eg.get(pe),inherited:Ce.current?.panel===ze?Ce.current.tab:J.tab,buckets:_e,hasText:_&&o>0}),Je=!_&&!_e.includes(Ne)&&(Pg(Xm(g,u,{...C,device:"desktop"}),{values:u,context:{...he,device:"desktop"}}).buckets.includes(Ne)||Ne==="Design"&&o>0);u_(()=>{Ce.current={panel:ze,tab:Ne}});let So=Ne==="Design";return Wr(x_.Provider,{value:n??null,children:Wr(Cx.Provider,{value:r?u:null,children:cY(mY,{fields:M,values:u,onChange:x,readOnly:f,allTabs:V,showWhenContext:he,context:{itemWord:s},tab:Ne,onTab:ce=>{Eg.set(pe,ce),Le({tab:ce})},tabIcons:IY,idPrefix:l,ariaLabel:i("Section settings"),lead:So?e:null,leadFold:q,closedFolds:k,onFold:(ce,ve)=>{ve?Zf.delete(ce):Zf.add(ce),F(new Set(Zf))},children:[Wr("span",{ref:E,hidden:!0}),Je&&Wr(Hr,{})]})})})}import{useMemo as tX}from"react";import{useEasel as aX}from"efficient-easel/easel";import{useSectionOps as rX}from"efficient-easel/screen/lib/document/use-section-ops";import{jsx as zt}from"react/jsx-runtime";import{ContrastIcon as yY,NoSymbolIcon as SY,HoverLiftIcon as wY,HoverNextImageIcon as CY,HoverRotateIcon as vY,HoverZoomIcon as g_,OpacityIcon as kY,RotateIcon as TY}from"efficient-easel/icons";import{customize as PY,describedAs as EY,group as OY}from"efficient-easel/screen/lib/document/box-fields";import{effectTiles as _Y}from"efficient-easel/screen/lib/document/effect-tiles";import{deviceField as Jo}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as AY,noControlField as RY}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Og=e=>Jo("desktop",OY("Hover",{dot:e})),b_=()=>Jo("desktop",PY()),LY="What this does when a shopper points at it, or taps it on a phone.",FY="What this picture does when a shopper points at it. Black and white shows it in grey until then. A phone shows its colour.",BY="What this picture does when a shopper points at the card. Show next image fades to the card's next photo. Black and white shows it in grey until then. A phone shows the first photo in colour.",DY="What each card does when a shopper points at it, or taps it on a phone. Rotate turns the wheel picture.",NY={none:()=>zt(SY,{}),nextImage:()=>zt(CY,{}),rotate:()=>zt(vY,{}),zoom:()=>zt(g_,{}),lift:()=>zt(wY,{}),mono:()=>zt(yY,{})};function _g(e,o){let t=_Y({label:i("Hover effect"),options:e.map(a=>({value:a,label:i(Hn[a]),picture:NY[a]()})),fallback:o});return EY(t,{type:"select",label:"Hover effect",options:e.map(a=>({value:a,label:Hn[a]}))})}function y_(){return{[tf]:Og({field:Ro,in:af.filter(e=>e!=="none")}),[Ro]:Jo("desktop",{..._g(af,"none"),description:LY})}}function S_(e){let o=h0(e),t=Ao("Angle",zt(TY,{}),Mn.min,Mn.max,Mn.step,Yx,"\xB0");return{[tf]:Og(o),[He.kind]:Jo("desktop",{...rs(_g(rf,e),(a,r)=>Xx(r??{},e)),description:DY}),[wl]:RY({type:"custom",render:()=>zt(AY,{})},"always"),_cHover:b_(),[He.angle]:Jo("desktop",eo(rs(t,a=>Zx(a)),o)),[He.duration]:Jo("desktop",eo(ts("hover"),o)),[He.delay]:Jo("desktop",eo(as("hover"),o))}}function Ag(e,o=""){let t=b0(e);return{[tf]:Og(t),[He.kind]:w_(nf,e,FY),_cHover:b_(),...eI.includes(o)?MY():{},[He.duration]:Jo("desktop",eo(ts("hover"),t)),[He.delay]:Jo("desktop",eo(as("hover"),t))}}function MY(){let e=g0(),o=Ao("Zoom",zt(g_,{}),ia.min,ia.max,ia.step,ia.min,ia.unit),t=Ao("Darken on hover",zt(kY,{}),Ea.min,Ea.max,Ea.step,Ea.fallback,Ea.unit);return{[Cl.zoom]:Jo("desktop",eo(o,e)),[Cl.darken]:Jo("desktop",eo(t,e))}}function w_(e,o,t){let a=Jo("desktop",{...rs(_g(e,o),r=>oI({[Ro]:r},o,e)),description:t});return Object.assign(a,{[C_]:o})}var C_="sfPictureResting",I_=new WeakMap;function iOe(e,o,t){let a=e[He.kind],r=a?.[C_];if(!a||!r)return e;let n=o.props?.[Ro]==="nextImage",s=n?null:Gs(t.appState,o.props?.id),l=s?Im(String(s.type),ht(o.props),s):null;if(!n&&!l?.next)return e;let c=I_.get(e);return c||(c={...e,[He.kind]:w_(Jx,r,BY)},I_.set(e,c)),c}import{customize as qY}from"efficient-easel/screen/lib/document/box-fields";import{jsx as Rg}from"react/jsx-runtime";import{DirectionIcon as HY,LoopMarqueeIcon as WY,NoSymbolIcon as zY}from"efficient-easel/icons";import{customize as $Y,describedAs as GY,group as UY}from"efficient-easel/screen/lib/document/box-fields";import{effectTiles as jY}from"efficient-easel/screen/lib/document/effect-tiles";function Lg(){return yP("Direction",bg,Ul,"A marquee cannot run diagonally, so the corners are not answers.",Rg(HY,{}),bP)}var Fg=e=>UY("Loop",e?{dot:e}:void 0),KY={none:()=>Rg(zY,{}),scroll:()=>Rg(WY,{})};function VY(){let e=jY({label:i("Loop"),options:Mf.map(({value:o,label:t})=>({value:o,label:i(t),picture:KY[o]()})),fallback:gg});return GY(e,{type:"select",label:"Loop",options:Mf.map(({value:o,label:t})=>({value:o,label:t}))})}function v_(){return{_gLoop:Fg(Gl),loop:VY(),_cLoop:$Y(),scrollDirection:eo(Lg(),Gl),loopDuration:eo(Hf({readsSpeed:!1}),Gl),loopDelay:eo(Wf(),Gl)}}function YY(){let e=Ag("none");return Ys(e,Object.keys(e),qm("bgImage"))}function k_(e,o=""){switch(e){case"section":case"block":return Tt();case"box":return{...Tt(),...v_(),...YY()};case"picture":return{...Tt(),...Ag(Qx(o),o)};case"textPart":return{...Tt(),...y_()};case"cards":return{...Tt(),...S_(qx(o))};case"marquee":return{...Tt(),_gLoop:Fg(),_cLoop:qY(),scrollDirection:Lg(),loopDuration:Hf({readsSpeed:!0}),loopDelay:Wf()}}}import{phoneKey as XY}from"efficient-easel/draw";import{ENTRANCE_STATE_ATTR as ZY,entranceAttrs as JY}from"efficient-shell/format";var P_={},Bg="_partMotion",Dg=[...Object.values(ke).flatMap(e=>[e,XY(e)]),Ro,He.duration,He.delay];function FOe(e){return jn(e,Bg)}function ss(e,o){return hf(e,Bg,o)}var QY=new Set([ke.kind,Ro]);function E_(e,o,t,a){let{[t]:r,...n}=ss(e,o),s=a==null||a===""||a==="none"&&QY.has(t)?n:{...n,[t]:a};return xf(e,Bg,o,Object.keys(s).length?s:null)}function Ng(e){return{entrance:Uf(e),hover:p0(e)}}function O_(e){let o=Ng(e);return o.entrance!==null||o.hover!=="none"}function __(e,o){let{attrs:t,style:a}=JY(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(ZY)}}var eX=4;function A_(e){let o;for(let t of e)(!o||t.element.compareDocumentPosition(o.element)&eX)&&(o=t);return o}var oX="data-sf-part-host";function R_(e){let o=e?.ownerDocument.defaultView,t=e;for(;t&&!t.hasAttribute(oX)&&!t.classList.contains($f);){let a=o?.getComputedStyle(t).display??"";if(a==="contents")return null;if(a!=="inline")return t;t=t.parentElement}return null}var Jf="data-sf-part-lift",T_="sf-part-lift";function L_(e){if(e.getElementById(T_))return;let o=e.createElement("style");o.id=T_,o.textContent=K0(`[${Jf}]`).join(`
|
|
70
|
+
`),e.head.appendChild(o)}var F_=new Map,nX=e=>{let o=F_.get(e);return o||F_.set(e,o=s_(k_(e),`part:${e}`)),o},sX=new Set(Dg);function ls(e,o,t){let{getItemById:a,getSelectorForId:r}=aX(f=>f),n=rX(),s=a(e)?.props??{},l=ss(s,o),c=JSON.stringify(l),d=tX(()=>Object.fromEntries(Dg.map(f=>[f,l[f]])),[c]);return{part:o,fields:nX(t),values:d,keys:sX,onChange:(f,m)=>{let u=r(e),x=a(e);if(!u||!x)return;let I=E_(x.props??{},o,f,m);n.replaceComponent(u.zone,u.index,{...x,props:I})}}}import{Fragment as lX,createElement as iX}from"react";import{deviceField as Mg}from"efficient-easel/screen/lib/document/device-fields";var mo=()=>({type:"custom",render:()=>iX(lX)});var Hg={words:mo(),sourceNote:mo(),style:mo(),font:mo(),italic:mo(),fontSize:Mg("each",mo()),lineHeight:mo(),letterSpacing:mo(),paragraphSpacing:mo(),padding:mo(),align:Mg("each",mo()),letterCase:mo(),fixedSizeHint:Mg("each",mo()),regionNote:mo(),regionStyle:mo()},cX=["fontSize","align"];function B_(e){return cX.includes(e)}var D_={showTicker:mo(),items:mo()};var yX="root:default-zone";function N_({heroId:e}){let{appState:o,dispatch:t}=mX(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=pX(()=>{let x=n?.props.tickerItems;return Array.isArray(x)?x:fO.map(I=>({text:I}))},[n]),c=uX(),d=bX(),f=x=>gX(D_[x],d),m=ls(e,uO,"block");if(!n)return zr("p",{className:"sf-note",children:i("This ticker\u2019s hero is no longer on the page.")});let u=x=>t({type:"replace",destinationZone:yX,destinationIndex:r,data:{...n,props:{...n.props,...x}}});return zr(Pt,{motion:m,body:fX(dX,{children:[!f("showTicker")&&!f("items")&&zr(Hr,{}),f("showTicker")&&zr(hX,{label:i("Show ticker"),labelId:c,icon:zr(IX,{}),action:zr(xX,{checked:s,onChange:x=>u({showTicker:x}),ariaLabelledBy:c})}),f("items")&&zr(Px,{label:Tx.label,icon:Tx.icon,items:l,placeholder:"item",onChange:x=>u({tickerItems:x}),markup:!0})]})})}import{jsx as Y,Fragment as ei,jsxs as Qo}from"react/jsx-runtime";import{useContext as zX,useEffect as zg,useRef as $X,useState as o1}from"react";import{FieldSelect as GX,InspectorField as UX,fieldShownInView as jX}from"efficient-easel/fields";import{InertHint as d1,SettingsField as KX}from"efficient-easel/panel";import{InspectorUpLevel as lu}from"efficient-easel/chrome";import{StylesIcon as VX,TypeIcon as qX}from"efficient-easel/icons";import{useEasel as YX}from"efficient-easel/easel";import{TextPartPanel as t1}from"efficient-easel/copy";import{Button as XX,IconButton as ZX,Tooltip as JX}from"efficient-shell/ui";import{jsx as M_,jsxs as SX}from"react/jsx-runtime";import{COPY_CELLS as Qf,CopyBox as wX}from"efficient-easel/copy";import{PaddingYIcon as CX}from"efficient-easel/icons";import{onDesktopWords as vX}from"efficient-easel/screen/lib/document/box-fields";var kX=["left","center","right","justify"];function eu(e,o,t,a="desktop"){let r=El(e),n=wI(a),s=e[n]??e.size??o.sizePx,l=J0(e,a);return[{...Qf.fontSize,key:"fontSize",value:e[n],styleValue:Math.round(o.sizePx),onChange:c=>t({[n]:c??null}),...n==="size"?{}:{reset:{detail:l?vX(c=>i(c),`${l.px}px`,l.view):void 0}}},{...Qf.lineHeight,key:"lineHeight",value:r.lineHeight,styleValue:o.lineRatio,onChange:c=>t(c===void 0?{lineHeight:null,line:null}:{lineHeight:c})},{...Qf.letterSpacing,key:"letterSpacing",scale:s,value:r.letterSpacingEm,styleValue:o.letterEm,onChange:c=>t(c===void 0?{letterSpacing:null,letter:null}:{letterSpacing:c})},{...Qf.paragraphSpacing,key:"paragraphSpacing",value:e.paragraphSpacing,styleValue:0,onChange:c=>t({paragraphSpacing:c??null})},{key:"padding",name:i("Padding"),icon:M_(CX,{}),unit:"px",step:gI,shiftStep:10,min:xI,max:II,value:e.padding,styleValue:o.paddingPx,onChange:c=>t({padding:c??null})}]}function H_({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:m,typedOnCanvas:u=!1}){let x=eu(n,s,l),I=$x(a,t);return SX("div",{className:"sf-part-textbox",children:[m,M_(wX,{value:e,onChange:o,multiline:t,placeholder:d,ariaLabel:f,rules:ar,tools:I,barShows:u?"focus":"always",colors:a?c:[],colorNameOf:Ht,align:r?{value:n.align??s.align,allow:kX,onChange:y=>l({align:y})}:void 0,letterCase:r?{value:n.case==="capitalize"?"":n.case??"",onChange:y=>l({case:y||null})}:void 0,cells:r?x:void 0})]})}import{UiIcon as a1}from"efficient-easel/draw/client";import{jsx as ou,Fragment as TX,jsxs as PX}from"react/jsx-runtime";import{Button as W_,Dialog as EX}from"efficient-shell/ui";function z_({styleName:e,onCancel:o,onConfirm:t}){return ou(EX,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Update {style}?",{style:e}),footer:PX(TX,{children:[ou(W_,{variant:"secondary",onClick:o,children:i("Cancel")}),ou(W_,{variant:"primary",onClick:t,children:i("Update style")})]}),children:ou("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 QX}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewDevice as eZ}from"efficient-easel/draw/client";import{shownTier as nu}from"efficient-easel/screen/lib/document/device-fields";import{jsx as OX}from"react/jsx-runtime";import{createContext as _X,useContext as AX,useMemo as RX,useState as LX}from"react";var FX={partStyle:null,setPartStyle:()=>{}},$_=_X(FX);function v_e({children:e}){let[o,t]=LX(null),a=RX(()=>({partStyle:o,setPartStyle:t}),[o]);return OX($_.Provider,{value:a,children:e})}function G_(){return AX($_)}import{TEXT_FIELD_MARKER as oZ}from"efficient-easel/draw";import{useSectionOps as tZ}from"efficient-easel/screen/lib/document/use-section-ops";var Yl="@name",U_="@body",j_="@value",K_={[Yl]:"Name",[U_]:"Body",[j_]:"Value"},BX={TimelineTrack:{"entries.date":Yl,"entries.title":Yl,"entries.blurb":U_},Footprint:{"offices.city":Yl},Stats:{"items.label":Yl,"items.value":j_}};function DX(e){let{key:o,row:t}=vt(e);return t?`${o}.${t.rowKey}`:null}function Xl(e,o){if(!e)return o;let t=DX(o);return t?BX[e]?.[t]??o:o}import{useEaselHost as aZ}from"efficient-easel/screen/lib/host";function NX(e){let o=new Set([...Object.keys(Uc[e]??{}),...jc[e]??[]]);for(let[t,a]of Object.entries(mh[e]??{}))a.verb==="snapshot"&&o.add(t);return[...o].sort()}var MX={CollectionCard:"product",FooterMenu:"menu",Gallery:"product",GalleryItem:"product",ProductGrid:"product",ProductHero:"product",SpecTable:"product",Events:"blog",FeaturedCover:"blog",LongRead:"blog",SubscribeBlogs:"blog"},V_={product:"Synced from the product.",blog:"Synced from the blog post.",menu:"Synced from the site menu."},q_="Open",Y_={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 is(e){let o=e?.source?.slug;return Q(o)}function Zl(e){return MX[e]??null}function X_(e,o){let t=Zl(e);return t&&NX(e).includes(o)?t:null}function tu(e){let o=e?.menu?.id;return Q(o)}var Jl={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)]"},HX={tag:{label:"Tag",follows:"Labels",builtIn:Gn(Jl.tag),writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:Gn(Jl.name),writable:!0},body:{label:"Body",follows:"Body",builtIn:Gn(Jl.body),writable:!0},price:{label:"Price",follows:"Labels",builtIn:Gn(Jl.price),writable:!0},link:{label:"Link",follows:"Labels",builtIn:Gn(Jl.link),writable:!0}},Z_=HX;var WX={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}},J_=WX;var au={entry:{label:"Entry",follows:"Labels",builtIn:"13px",writable:!0},number:{label:"Entry number",follows:"Labels",builtIn:"13px",writable:!0}};var M_e=pf,Q_={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 Wg={SpecTable:Q_,FAQ:J_,Collections:Z_,Contents:au};function e1(){return wa("efficient.section-text-regions",()=>new Map)}function j_e(e){let o=e1();for(let[t,a]of Object.entries(e)){if(Object.hasOwn(Wg,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 ru(e){return e?Object.hasOwn(Wg,e)?Wg[e]:e1().get(e)??null:null}function $g(e){return e?i(e):null}function r1(e){return e.kind==="role"?_p[e.role]:e.kind==="custom"?"Custom":null}function rZ(e){let o=Yt(e.role);return o?{kind:"role",role:o}:null}function nZ(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 su(e,o,t,a){return rZ(Pl(e,o))??nZ(t,a)}function sZ(e,o){if(!e.length)return null;let t=o(e[0]);return e.every(a=>o(a)===t)?t:null}function n1(e){return[{value:Ql,label:i("No style"),description:i("Section\u2019s own")},...e.map(o=>({value:o.id,label:o.name,description:o.values.font?sn(o.values.font)?.label:void 0}))]}var Ql="";function lZ({face:e,base:o,onPick:t}){let a=e.kind==="role"?e.role:Ql,r=[{label:i("No style"),value:Ql},...eS.map(n=>({label:i(_p[n]),value:n}))];return Y(GX,{ariaLabel:i("Style"),value:a,options:r,inline:!0,onChange:n=>t(n===Ql?null:n),renderOption:n=>n.value===Ql?Qo(ei,{children:[Y("span",{className:"es-fsel-label sf-part-style-keep",children:n.label}),Y("span",{className:"sf-part-style-aside","aria-hidden":"true",children:i("Section\u2019s own")})]}):Y("span",{className:"es-fsel-label",style:{fontFamily:`var(--font-role-${n.value})`},children:n.label}),renderValue:()=>Y("span",{style:{fontFamily:o?.fontKey?`var(${sn(o.fontKey)?.cssVar})`:void 0,fontWeight:o?.weight},children:$g(r1(e))}),valueText:n=>$g(r1(e))??n?.label??""})}var f1=["regionNote","regionStyle"],iZ=Object.keys(Hg).filter(e=>!f1.includes(e));function u1(e,o){return!e.some(o)}function cZ({sectionName:e,onBack:o,textEditor:t,styleRow:a,children:r,tabs:n}){let s=Qo(ei,{children:[t,a,r]});return Qo("div",{className:"sf-part-panel",children:[Y(lu,{inline:!0,name:i(e),onSelect:o}),n?n(s):s]})}function iu({source:e,slug:o,menuId:t}){let a=aZ(),r=Y_[e],n=!r.needsSlug||!!o;return Y("div",{className:"sf-note sf-note--source",children:Qo(d1,{children:[i(V_[e]),n?Qo(ei,{children:[" ",Y(XX,{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(q_)})]}):null]})})}var s1=4,dZ=120;function l1(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 i1({region:e,sizePx:o,face:t,base:a,onFollowStyle:r,source:n,slug:s,onBack:l,shows:c,sizedStyle:d,ownLook:f}){let m=e.follows;return Qo("div",{className:"sf-note",children:[Y("p",{children:Y("strong",{children:i(e.label)})}),c("regionNote")&&!f&&Y("p",{children:o?i("Its size follows Styles \u25B8 {follows} \u2014 {px}px right now.",{follows:i(m),px:Math.round(o)}):i("Its size follows Styles \u25B8 {follows}.",{follows:i(m)})}),d?Qo(ei,{children:[d,c("regionStyle")&&Y("p",{className:"es-field-hint",children:l1(e)})]}):r?c("regionStyle")?Y(ei,{children:Y(KX,{label:i("Style"),icon:Y(VX,{}),hint:l1(e),children:Y(lZ,{face:t,base:a,onPick:r})})}):null:c("regionNote")&&Y("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")?Y(iu,{source:n,slug:s}):null,u1([...f1,"sourceNote",...d?["fontSize"]:[]],u=>c(u)&&(u!=="sourceNote"||!!n))&&Y(Hr,{}),Y(lu,{inline:!0,name:i("Page"),onSelect:l})]})}function fZ({onBack:e}){return Qo("div",{className:"sf-note",children:[Y("p",{children:Y("strong",{children:i("This part is no longer here.")})}),Y("p",{children:i("The section it belonged to has been changed or removed.")}),Y(lu,{inline:!0,name:i("Page"),onSelect:e})]})}function uZ({onBack:e,partId:o,why:t}){return Qo("div",{className:"sf-note",children:[Y("p",{children:Y("strong",{children:i("This part's settings did not open.")})}),Y("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.")}),Y("p",{className:"sf-note-detail",children:Qo("code",{children:[o," \u2014 ",t]})}),Y(lu,{inline:!0,name:i("Page"),onSelect:e})]})}function p1({nodeId:e,propKey:o,onBack:t,onEditStyle:a}){let{getItemById:r,getSelectorForId:n,config:s}=YX(G=>G),l=tZ(),c=XP(),{partStyle:d}=G_(),{fonts:f,textStyles:m}=de(),u=zX(QX),x=!u?.capabilities?.hasSiteTheme,{persist:I}=Cn({themeFromDocument:x,tokenRef:u?.tokenRef,siteId:u?.siteId??null}),y=Cf({themeFromDocument:x,persist:I}),[P,C]=o1(!1),S=eZ(),g=G=>(nu(S)!=="tablet"||B_(G))&&jX(Hg[G],S),v=$X(null),k=r(e),F=n(e),T=k?s.components[k.type]:void 0,{key:B,row:E}=vt(o),A=T?.fields?.[B],N=E?Nn(A,E):A,b=$d(e,o),_=k?.props??{},R=Fn(N),M=Ed(N),q=Lx(N),V=k?Zl(k.type):null,U=k?X_(k.type,B):null,pe=E?bl(_[B],E):_[B],J=!!E&&!(Array.isArray(_[B])&&E.index<_[B].length);zg(()=>{YP(document)||v.current?.querySelector(".es-copy [contenteditable='true'], .es-copy textarea, .sf-copybox textarea, .sf-copybox input")?.focus()},[b]);let[Le,ze]=o1(0);zg(()=>ze(0),[b]);let Ce=!!k&&!J&&(!F||!N);zg(()=>{if(!Ce||Le>=s1)return;let G=setTimeout(()=>ze(Ve=>Ve+1),dZ);return()=>clearTimeout(G)},[Ce,Le]);let he=Ce&&Le<s1,_e=ls(e,Xl(k?.type,o),"textPart");if(!k||J)return Y(fZ,{onBack:t});let Ne=ru(k.type),Je=Ne?vl(Ne,o):null;if(Ne&&Je){let G=d?.partId===b?d:null,Ve=Ne[Je],it=Ve.writable===!0&&!!F,ba=Za=>{F&&l.replaceComponent(F.zone,F.index,{...k,props:ca(_,o,"role",Za)})};if(it&&H0(Ve)){let Za=Pl(_,o),Qy=Ja=>{if(!F)return;let Op=_;for(let[g2,b2]of Object.entries(Ja))Op=ca(Op,o,g2,b2??null);l.replaceComponent(F.zone,F.index,{...k,props:Op})},h2=da(y.saved,y.old),x2=hI(Za)??"",I2=eu(Za,G?.base??c1,Qy,nu(S)).filter(Ja=>Ja.key==="fontSize"&&g(Ja.key));return Y(Pt,{motion:_e,body:Y(i1,{region:Ve,sizePx:G?.base.sizePx??null,face:su(_,o,G,f),base:G?.base??null,source:V,slug:is(_),onBack:t,shows:g,ownLook:eE(Za),sizedStyle:Y(t1,{style:g("style")?{value:x2,options:n1(h2),onChange:Ja=>Qy(Ja?{textStyle:Ja}:{textStyle:null,role:null}),onEditStyles:a}:void 0,cells:I2})})})}return Y(Pt,{motion:_e,body:Y(i1,{region:Ve,sizePx:G?.base.sizePx??null,face:su(_,o,G,f),base:G?.base??null,onFollowStyle:it?ba:void 0,source:V,slug:is(_),onBack:t,shows:g})})}if(!F||!N)return he?Y("div",{className:"sf-note","aria-busy":"true"}):Y(uZ,{onBack:t,partId:b,why:F?"no field":"no selector"});let So=G=>{l.replaceComponent(F.zone,F.index,{...k,props:G})},ce=G=>{if(Ma(G).hidden!==Ma(pe).hidden||!R){let Ve=E?Ax(_,B,E,G):{..._,[B]:G};Ve&&So(Ve);return}jd({node:k,propKey:o,kind:R,zone:F.zone,index:F.index},Ma(G).text,l.replaceComponent)},ve=pe,Ge=d?.partId===b?d:null,Pe=Ge?.styleOwner,Ye=Pe?r(Pe.owner):null,Uo=Pe&&Ye?n(Pe.owner):null,Mo=!!(Pe&&Ye&&Uo),H=Mo?Ye.props??{}:_,Ae=Mo?G=>l.replaceComponent(Uo.zone,Uo.index,{...Ye,props:G}):So,re=Mo?Pe.kind:Xl(k?.type,o),Fe=Pl(H,re),Ee=[{partKey:re,face:su(H,re,Ge,f),sizeGroup:Ge?.sizeGroup??null,base:Ge?.base??c1,style:Fe}],jo=sZ(Ee,G=>G.sizeGroup),Vt=$n(Ge?.inks),qe=(G,Ve)=>{let it=H;for(let ba of Ee)it=ca(it,ba.partKey,G,Ve);Ae(it)},Ko=G=>G?qe("textStyle",G):Ia({textStyle:null,role:null}),Ia=G=>{let Ve=H;for(let it of Ee)for(let[ba,Za]of Object.entries(G))Ve=ca(Ve,it.partKey,ba,Za??null);Ae(Ve)},nn=R==="text"||R==="textarea",{text:Es,hidden:qt}=Ma(pe),ga=N?.[oZ]?.label??o,Yy=qt?i("Show {label} on the slide",{label:i(ga)}):i("Hide {label} on the slide",{label:i(ga)}),Xy=Qo("div",{className:"sf-field-head",children:[Y(qX,{}),Y("span",{className:"sf-field-label sf-field-label--inline",children:i(ga)}),nn&&Y(JX,{content:Yy,children:Y(ZX,{"aria-pressed":qt,"aria-label":Yy,onClick:()=>ce({text:Es,hidden:!qt}),children:qt?Y(a1,{name:"eye-off",size:14}):Y(a1,{name:"eye",size:14})})})]}),Qi=!M&&q,i2=!!R&&(aP(N)||M||qt||!q),Zy=su(H,re,Ge,f),c2=Zy.kind==="role"?Zy.role:null,Ep=hI(Fe)??hE(c2),Jy=da(y.saved,y.old),d2=Object.entries(Fe).filter(([G,Ve])=>G!=="role"&&G!=="textStyle"&&Ve!==void 0).length,f2=()=>{let G=H;for(let Ve of Ee){let{role:it,textStyle:ba}=Ve.style;G=Y0(G,Ve.partKey),it&&(G=ca(G,Ve.partKey,"role",it)),ba&&(G=ca(G,Ve.partKey,"textStyle",ba))}Ae(G)},Xa=Ep,u2=xE(Ee[0].style),p2=Xa?Jy.find(G=>G.id===Xa)?.name??Xa:"",m2=()=>{C(!1),Xa&&(y.write(IE({saved:y.saved,old:y.old,styleId:Xa,values:RI(Ee[0].style)}),!0),f2())};return Qo(cZ,{sectionName:T?.label??k.type,onBack:t,tabs:G=>Y(Pt,{motion:_e,body:G}),textEditor:g("words")?Y("div",{ref:v,className:"sf-part-text",children:i2?Y(H_,{text:Es,onTextChange:G=>ce(nn?{text:G,hidden:qt}:G),multiline:Md(R),markup:R!=="plainText",styled:!1,style:Ee[0].style,base:Ee[0].base,setValue:Ia,colors:Vt,placeholder:$g(PP(N))??void 0,ariaLabel:i(ga),head:Xy,typedOnCanvas:c===b}):R?nn?Xy:null:Y(UX,{field:N,name:o,value:ve,onChange:ce,id:`sf-part-${e}-${o}`})}):void 0,children:[U&&g("sourceNote")&&Y(iu,{source:U,slug:is(_),menuId:tu(_)}),Qi&&Y(t1,{style:g("style")?{value:Ep??"",options:n1(Jy),onChange:G=>Ko(G||null),changed:d2>0,onEditStyles:a,onUpdateStyle:Xa&&u2?()=>C(!0):void 0}:void 0,font:g("font")?{value:Fe.font??"",styleValue:sn(Ee[0].base.fontKey)?.label,options:ct.map(G=>({label:G.label,value:G.key})),onChange:G=>qe("font",G||null)}:void 0,italic:g("italic")?{value:Fe.italic,styleValue:hZ(m,Ep),onChange:G=>qe("italic",G??null)}:void 0,cells:eu(Ee[0].style,Ee[0].base,Ia,nu(S)).filter(G=>g(G.key)),align:g("align")?mZ(Fe,Ee[0].base.align,nu(S),qe):void 0,letterCase:g("letterCase")?{value:Fe.case??"",styleValue:Ee[0].base.case,onChange:G=>qe("case",G||null)}:void 0}),P&&Xa&&Y(z_,{styleName:p2,onCancel:()=>C(!1),onConfirm:m2}),Qi&&jo===null&&g("fixedSizeHint")&&Y(d1,{children:i("Fixed size \u2014 the site\u2019s Text setting doesn\u2019t resize this.")}),u1(iZ,G=>g(G)&&(G==="words"||(G==="sourceNote"?!!U:G==="fixedSizeHint"?Qi&&jo===null:Qi)))&&Y(Hr,{})]})}var pZ={desktop:"align",tablet:"alignTablet",mobile:"alignPhone"};function mZ(e,o,t,a){let r=pZ[t],n=Z0(e,t);return{value:e[r]??"",styleValue:n??o,onChange:s=>a(r,s||null)}}function hZ(e,o){return!o||!Array.isArray(e)?!1:e.find(t=>t?.id===o)?.values?.italic===!0}var c1={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0};import{jsx as Et,jsxs as Zg,Fragment as CZ}from"react/jsx-runtime";import{useCallback as vZ,useRef as kZ,useState as ai}from"react";import{InspectorIconButton as TZ}from"efficient-easel/chrome";import{useEasel as PZ}from"efficient-easel/easel";import{PopupMenu as EZ,PopupMenuItem as OZ,PopupMenuLabel as xu}from"efficient-shell/ui";import{CopyToPageIcon as _Z}from"efficient-easel/icons";import{useEaselSession as AZ}from"efficient-easel/screen/lib/session-context";import{cloneNodeWithFreshIds as RZ}from"efficient-easel/screen/lib/document/section-doc";import{FOOTER_TYPE as LZ}from"efficient-easel/draw";import{currentEaselSession as xZ}from"efficient-easel/screen/lib/session";var IZ={general:!0,commerce:!0,service:!0};function Gg(e){let o=e?.sets;return o?Object.fromEntries(GS.map(t=>[t,o.includes(t)])):IZ}function Ug(e=xZ()){return Gg(e.blocks)}import{isBackendError as cs}from"efficient-easel/screen/lib/backend-error";import{isEfficientBackend as v1}from"efficient-easel/screen/lib/session";var cu=bc(),jg=cu.set;function du(e,o){jg(e,o)}function fu(e,o){let t=cu.get(e);jg(e,o??(t==="live"?"changed":t))}function uu(e,o){jg(e,o??"live")}function m1(e){return cu.get(e)}function h1(e){return cu.use(e)}function x1(e,o){return e==="live"&&o?"changed":e}function Kg({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 I1(e){return e.map(o=>o.change==="take_down"?i("{name} (taken down)",{name:o.name}):o.name)}var g1="SharedSection",gZ=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,oi=e=>{let o=e?.content;return Array.isArray(o)?o:[]},ti=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0};function b1(e){if(e?.type!==g1)return null;let o=e.props?.section;return typeof o=="string"&&gZ.test(o)?o.toLowerCase():null}function y1(e){let o=[];for(let t of oi(e)){let a=b1(t),r=ti(t);a&&r&&o.push({refId:r,section:a})}return o}function pu(e){let o=oi(e)[0];return o&&typeof o=="object"&&ti(o)?o:null}function bZ(e,o){return{type:g1,props:{id:e,section:o}}}function S1(e,o){let t=new Map,a=new Set,r=!1,n=oi(e).map(s=>{let l=b1(s),c=ti(s);if(!l||!c||a.has(l))return s;let d=pu(o.get(l)),f=ti(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 w1(e,o,t){let a=new Map,r=!1,n=oi(e).map(s=>{let l=ti(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=oi(d).slice(1),m=pu(d);return a.set(c.section,m===s?d:{...d,content:[s,...f]}),r=!0,c.reference??bZ(c.refId,c.section)});return{page:r?{...e,content:n}:e,docs:a}}var mu=null;function Vg(e){mu=e}function C1(){return!!(mu&&mu.state().lockHolder)}function $r(){return mu!==null}function Xg(e){return!!(e?.publish&&e.liveState)}function yZ(e,o){if(!Xg(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 SZ(e,o){return async(t,a)=>{try{await qv()}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"?qc({state:"live",changes:[]}):Jt(0),{version:a??null}}}function Yg(e,o,t){let a=o?{siteId:o}:void 0;return{resolve:r=>e.load({slug:r,...a}).then(n=>(n&&(du(n.id,n.live),gC(n.id,n.videoFrames)),n)),saveLayout:(r,n,s,l)=>e.save(r,{layout:n},{version:s,clientId:l??""}).then(c=>(fu(r,c.live),bC(r,c.videoFrames),Jt(),c)),rereadVersion:e.version?r=>e.version(r):void 0,publish:Xg(t)?SZ(t,a):e.publish?(r,n)=>e.publish(r,n?{version:n}:void 0).then(s=>(uu(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 wZ(e,o,t,a,r=!1){let n=null,s=new Set,l=!1,c=new Map,d=new Map,f=new Map,m=new Map,u={docId:null,lockHolder:null,conflict:null,saveFailed:!1,unpublished:!1,loadFailed:!1,sections:[]},x=new Set,I=()=>{if(!n)return!1;let E=m1(n.id);return E==="changed"||E==="never"||E===void 0&&l},y=E=>{u={...u,...E,docId:n?.id??null,unpublished:I(),sections:[...f.values()]};for(let A of x)A()},P=(E,A,N)=>{A?f.set(E,{section:E,title:c.get(E)?.title??"",problem:A,holder:N}):f.delete(E)},C=E=>E&&typeof E=="object"&&!Array.isArray(E)?E:{},S=E=>s.has(E),g=()=>new Map([...c].map(([E,A])=>[E,A.layout])),v=()=>`SharedSection-${typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():Math.random().toString(36).slice(2)}`,k=(E,A,N,b)=>{let _=C(A);c.set(E,{layout:_,version:N,savedJson:JSON.stringify(_),title:b})},F={state:()=>u,subscribe:E=>(x.add(E),()=>{x.delete(E)})},T={sectionOf:E=>d.get(E)?.section??null,heldElsewhere:E=>{let A=d.get(E)?.section;return!!(A&&f.get(A)?.problem==="lock")},adopt:(E,A)=>{k(A.id,A.layout,A.layout_updated_at,A.title),d.set(E,{section:A.id,refId:v()}),m.set(A.id,A.used_on),y({})},place:E=>{if([...d.values()].some(b=>b.section===E.id))return null;let A=pu(C(E.layout)),N=typeof A?.props?.id=="string"?A.props.id:null;return!A||!N||!A.type?null:(k(E.id,E.layout,E.layout_updated_at,E.title),d.set(N,{section:E.id,refId:v()}),m.set(E.id,E.used_on),A)},usedOn:E=>m.get(E)??null,learn:E=>{for(let A of E){m.set(A.id,A.used_on);let N=c.get(A.id);N&&(N.title=A.title);let b=f.get(A.id);b&&f.set(A.id,{...b,title:A.title})}y({})}},B=async(E,A)=>{for(let[N,b]of E){let _=c.get(N),R=JSON.stringify(b);if(!(!_||R===_.savedJson||f.get(N)?.problem==="lock"))try{let M=await e.save(N,{layout:b},{version:_.version,clientId:A??""});fu(N,M.live),_.layout=b,_.version=M.version,_.savedJson=R,P(N,null)}catch(M){cs(M,"changed-elsewhere")?P(N,"conflict"):cs(M,"lock-taken")?P(N,"lock",M.holder??void 0):P(N,"save")}}E.size&&Jt(),y({})};return{resolve:async E=>{if(Vg(E===yt?null:F),Lm(E===yt?null:T),c=new Map,d=new Map,f=new Map,m=new Map,E===yt)return t.resolve(E);let A=!1,[N,b]=await Promise.all([t.resolve(E),e.load({slug:yt,...o}).catch(()=>(A=!0,null))]);if(b&&!nl(N?.layout)){du(b.id,b.live);let U=C(b.layout);n={id:b.id,layout:U,version:b.version,savedJson:""}}else n=null;if(l=!1,!N)return y({conflict:null,saveFailed:!1,loadFailed:A}),N;let _=C(N.layout),R=y1(_),M=await Promise.all(R.map(U=>e.load({id:U.section,...o}).catch(()=>null)));R.forEach((U,pe)=>{let J=M[pe];J?(du(J.id,J.live),k(U.section,J.layout,J.version,"")):(c.delete(U.section),f.set(U.section,{section:U.section,title:"",problem:"load"}))});let q=S1(_,g());if(d=q.held,!n)return d.size&&s.add(N.id),y({conflict:null,saveFailed:!1,loadFailed:A}),d.size?{...N,layout:q.working}:N;let V=pC(q.working,n.layout);return n.savedJson=JSON.stringify(Rm(V,n.layout).chrome),s.add(N.id),y({conflict:null,saveFailed:!1,loadFailed:!1}),{...N,layout:V}},saveLayout:async(E,A,N,b)=>{if(!S(E))return t.saveLayout(E,A,N,b);let _=n,R=_?Rm(A,_.layout):{page:A,chrome:null},M=w1(R.page,d,g()),q=await t.saveLayout(E,M.page,N,b);if(await B(M.docs,b),!_)return q;let V=JSON.stringify(R.chrome);if(!R.chrome||V===_.savedJson||u.lockHolder)return q;try{let U=await e.save(_.id,{layout:R.chrome},{version:_.version,clientId:b??""});fu(_.id,U.live),Jt(),_.layout=R.chrome,_.version=U.version,_.savedJson=V,l=!0,y({conflict:null,saveFailed:!1})}catch(U){cs(U,"changed-elsewhere")?y({conflict:U.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):cs(U,"lock-taken")?y({lockHolder:U.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}}):y({saveFailed:!0})}return q},publish:t.publish?async(E,A)=>{let N=await t.publish(E,A),b=n;if(b&&S(E)&&!r&&e.publish&&I()&&!u.lockHolder){let _=await e.publish(b.id,b.version?{version:b.version}:void 0);uu(b.id,_.live),_.version!==null&&(b.version=_.version),l=!1,y({})}if(S(E)&&!r&&e.publish)for(let[_,R]of c){if(f.get(_)?.problem==="lock")continue;let M=await e.publish(_,R.version?{version:R.version}:void 0);uu(_,M.live),M.version!==null&&(R.version=M.version)}return N}:void 0,lock:a?{claim:async(E,A,N)=>{let b=await a.claim(E,A,N);if(!S(E))return b;let _=n;if(_)try{await a.claim(_.id,A,!1),u.lockHolder&&y({lockHolder:null})}catch(R){cs(R,"lock-taken")&&y({lockHolder:R.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}})}for(let R of c.keys())try{await a.claim(R,A,!1),f.get(R)?.problem==="lock"&&P(R,null)}catch(M){cs(M,"lock-taken")&&P(R,"lock",M.holder??void 0)}return c.size&&y({}),b},release:async(E,A)=>{if(await a.release(E,A),!S(E))return;let N=n;N&&!u.lockHolder&&await a.release(N.id,A).catch(()=>{});for(let b of c.keys())f.get(b)?.problem!=="lock"&&await a.release(b,A).catch(()=>{})}}:void 0,pinnedChrome:F}}function hu(e){let o=(t,a,r)=>e.save(t,a.layout?{...a,layout:Vw(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 sAe(e,o,t){return e.update(o,qw(t))}function lAe(e,o=Ue(),t=Ug(),a={}){let r=v1(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=Xg(o.site)?o.site:void 0,m=hu(o.pages),u=Yg(m,e,f),x=d?wZ(m,n,u,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},...u,...k1(u.resolve),lock:o.lock,...x,site:s?()=>o.site.get(n):void 0,siteLiveState:f?()=>f.liveState(n):void 0,siteVersions:yZ(f,n),updateSite:s&&l?I=>l(I,n):void 0,previewHref:o.preview?I=>o.preview.href(I):void 0}}function iAe(e,o=Ue(),t=Ug()){let a=v1(o),r=o.templates,n=r?hu(r.pages(e)):{list:()=>Promise.reject(new Error(qg)),load:()=>Promise.reject(new Error(qg)),save:()=>Promise.reject(new Error(qg))};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},...Yg(n,void 0),...k1(Yg(n,void 0).resolve),publish:void 0,templateName:r?()=>r.get(e).then(s=>s.name):void 0}}function k1(e){return{resolve:o=>(Vg(null),Lm(null),e(o))}}var qg="This editor's backend has no website templates.";function FZ(e,o,t){let a=RZ(e,void 0,o);return t?.(a)??a}function T1({node:e,currentSlug:o,siteId:t,tokenRef:a,runAuthed:r,onNotify:n}){let[s,l]=ai(!1),[c,d]=ai(null),f=AZ(),m=PZ(T=>T.config.components),[u,x]=ai(!1),[I,y]=ai(null),P=kZ(null),[C,S]=ai(null),g=vZ(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]),v=()=>{if(s){l(!1);return}let T=P.current?.getBoundingClientRect();T&&S({top:T.bottom+6,right:Math.max(8,window.innerWidth-T.right)}),d(null),x(!1),g(),l(!0)},k=(c??[]).filter(T=>T.slug!==o),F=async T=>{if(I)return;y(T.slug);let B=FZ(e,m,f.documentHooks?.storedNode),E=await r(()=>BZ(Ue(f).pages,T,B));y(null),l(!1),n?.(E?i("Duplicated to \u201C{name}\u201D",{name:T.label}):i("Couldn\u2019t duplicate the section \u2014 please retry"),E?"success":"error")};return Zg(CZ,{children:[Et("span",{"data-menu-toggle":!0,style:{display:"contents"},children:Et(TZ,{buttonRef:P,label:i("Duplicate to another page"),hasPopup:"menu",expanded:s,onClick:v,children:Et(_Z,{size:15})})}),s&&C&&Et(EZ,{portal:!0,style:{top:C.top,right:C.right},onClose:()=>l(!1),children:Zg("div",{role:"menu","aria-label":i("Duplicate to page"),children:[Et(xu,{children:i("Duplicate to page")}),u?Et(xu,{children:i("Couldn\u2019t load pages")}):c===null?Et(xu,{children:i("Loading\u2026")}):k.length===0?Et(xu,{children:i("No other pages")}):k.map(T=>Zg(OZ,{role:"menuitem",disabled:I!==null,onClick:()=>{F(T)},children:[Et("span",{className:"min-w-0 flex-1 truncate",children:T.label}),I===T.slug?Et("span",{className:"shrink-0 text-xs",children:i("Copying\u2026")}):T.draft&&Et("span",{className:"shrink-0 text-xs",children:i("draft")})]},T.id))]})})]})}async function BZ(e,o,t){let a=hu(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===LZ);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 gJ}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSectionOps as bJ}from"efficient-easel/screen/lib/document/use-section-ops";import{SELECTION_MODE as DRe,isSelectionMode as tb}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as yJ}from"efficient-easel/draw/client";import{jsx as ri,jsxs as DZ}from"react/jsx-runtime";import{SettingsDrill as NZ}from"efficient-easel/panel";import{UiIcon as MZ}from"efficient-easel/draw/client";var HZ="Not shown on the page";function WZ({part:e,onOpen:o}){return ri(NZ,{name:i(e.label),preview:e.offPage?i(HZ):e.preview||i("Empty"),offPage:e.offPage,status:e.hidden?ri("span",{className:"sf-entry-eye",role:"img","aria-label":i("Hidden on the page"),children:ri(MZ,{name:"eye-off",size:14})}):void 0,onOpen:()=>o(e.key)})}function Jg(e){return e.filter(o=>!o.identifier)}function P1({parts:e,onOpen:o,heading:t=!0}){let a=Jg(e);return a.length?DZ("div",{className:"sf-entries",children:[t?ri("h3",{className:"sf-entries-head",children:i("Text")}):null,a.map(r=>ri(WZ,{part:r,onOpen:o},r.key))]}):null}import{HEADER_TYPE as SJ,ROOT_ZONE as U1}from"efficient-easel/draw";import{HEADER_TYPE as Lo,FOOTER_TYPE as We,newNodeId as zZ}from"efficient-easel/draw";function Iu(){return{type:Lo,props:{id:zZ(Lo)}}}var E1=[{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"}],$Z=E1.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),GZ="FooterGroup",O1="blocks";function _1(e){return e===We?E1:e===GZ?$Z:null}function gu(){let e=(o,t)=>({type:o,props:{id:`${o}-${crypto.randomUUID()}`,...t}});return[e("FooterLogo",{widthPct:100,align:"left",tagline:""}),e("FooterEmailSignup",{...wk}),e("FooterPayment",{...Ck})]}function Qg(e){switch(e?.type){case Me:case Re:return i("On every page");case Lo:case We:return i("On every page \xB7 old style");default:return null}}var A1=()=>null,R1=()=>i("Changed on every page");function bu(e,o){let t=ev(e,o);if(t)return t;let a=lC(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 Su,Fragment as eJ,jsxs as oJ}from"react/jsx-runtime";import{useState as tJ}from"react";import{createNode as aJ,newId as rJ}from"efficient-easel/data";import{useEasel as nJ}from"efficient-easel/easel";import{Banner as sJ,Button as eb}from"efficient-shell/ui";import{useScreenDocument as lJ}from"efficient-easel/screen/components/ScreenDocumentContext";import{isNodeList as UZ}from"efficient-easel/data";var yu="Flex",jZ={FooterMenu:"MenuBlock",FooterEmailSignup:"EmailFormBlock",FooterSocial:"SocialLogosBlock",FooterPayment:"PaymentLogosBlock"},KZ=e=>{let{id:o,...t}=e;return t},L1=e=>typeof e=="string"?e:"",F1={sm:12,md:13,lg:15},VZ="md",B1=1.5,qZ={size:13,lineHeight:B1,width:280},YZ=14,XZ=40,ZZ=e=>e==="center"||e==="right"?e:"left";function JZ(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 QZ(e,o,t){let a=t(e,KZ(o));if(Array.isArray(o.template))return{...a,props:{...a.props,template:D1(o.template,String(a.props.id))}};if(o.template!==void 0)return a;let r=Hw(e,a.props);return r===a.props?a:{...a,props:r}}function D1(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))UZ(s)&&(r[n]=D1(s,o,t));return{...a,props:r}})}function N1(e,o){let t=e.props??{},a=jZ[e.type];if(a)return[QZ(a,t,o)];switch(e.type){case"FooterLogo":{let r=ZZ(t.align),n=o("LogoBlock",{...t.reverse?{reverse:t.reverse}:{},...typeof t.customColor=="string"&&t.customColor?{customColor:t.customColor}:{},heightPx:Math.round(OS*((j(t.widthPct)??100)/100)),href:"/",align:r,...JZ(t)}),s=L1(t.tagline).trim();return s?[n,o("Text",{text:s,tone:"dim",align:r,_partStyles:{text:{...qZ}}})]:[n]}case"FooterText":{let r=typeof t.size=="string"&&t.size in F1?t.size:VZ;return[o("Text",{text:L1(t.text),tone:typeof t.tone=="string"?t.tone:"default",_partStyles:{text:{size:F1[r],lineHeight:B1}}})]}case"FooterDivider":{let r=j(t.thickness),n=j(t.lengthPct);return[o("Divider",{...r!==void 0?{thickness:r}:{},...n!==void 0?{lengthPct:n}:{},...t.hideOnMobile===!0?{hideOnMobile:!0}:{}})]}case"FooterGroup":{let r=Array.isArray(t.blocks)?t.blocks:[];return[o(yu,{direction:t.direction==="horizontal"?"row":"column",gap:Cr("FooterGroup",t.gap),align:t.align==="center"||t.align==="end"||t.align==="stretch"?t.align:"start",...Hs,content:r.flatMap(n=>N1(n,o))})]}default:return[]}}function ni(e,o,t){let a=e&&Array.isArray(e.props?.blocks)?e.props.blocks:[],r=d=>o(yu,{direction:"row",wrap:!0,share:"equal",gap:XZ,content:d}),n=[],s=[];for(let d of a){let f=N1(d,o);if(d.type==="FooterDivider"){s.length&&n.push(r(s)),s=[],n.push(...f);continue}f.length<=1?s.push(...f):s.push(o(yu,{direction:"column",gap:YZ,align:"stretch",...Hs,content:f}))}(s.length||!n.length)&&n.push(r(s));let l=o(yu,{direction:"column",content:[o("LegalLineBlock")]}),c=rC(Re,t,[...n,l]);return{...c,props:{...c.props,...e?.props?.width==="full"?{fullWidth:!0}:{}}}}function M1(){let{appState:e,dispatch:o,config:t}=nJ(f=>f),{readOnly:a}=lJ(),[r,n]=tJ(!1),s=e.data.content;if(a||s.some(f=>f.type===Re))return null;let l=s.find(f=>f.type===We)??null,c=(f,m)=>aJ(t,f,m),d=()=>{let f=ni(l,c,rJ(Re));o({type:"setData",data:m=>({...m,content:[...yc(m.content,f)]}),recordHistory:!0}),n(!1)};return Su(sJ,{tone:"info",title:i("This footer uses the old layout"),action:r?oJ(eJ,{children:[Su(eb,{variant:"primary",size:"sm",onClick:d,children:i("Switch now")}),Su(eb,{variant:"secondary",size:"sm",onClick:()=>n(!1),children:i("Cancel")})]}):Su(eb,{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 ob,jsxs as iJ}from"react/jsx-runtime";import{InspectorUpLevel as H1}from"efficient-easel/chrome";function W1({nodeId:e,part:o,sectionName:t,onUpToSection:a}){let{select:r}=Lf(),n=ls(e,o,"picture");return iJ("div",{children:[o!=="media"?ob(H1,{inline:!0,name:i(Dr.media),onSelect:()=>r(Hl(e,"media"))}):ob(H1,{inline:!0,name:i(t),onSelect:a}),ob(Pt,{part:o,motion:n,itemWord:i(Dr[o])})]})}import{HintsToggle as wJ,SettingsSwitch as CJ,hintsFoldClass as vJ}from"efficient-easel/panel";import{useHints as kJ}from"efficient-easel/screen/lib/hints";var K1={kind:"header"},rb={kind:"website"},V1={kind:"website",tab:Qn,revealPageGroup:!0},q1={kind:"chat"},Y1={kind:"social"},si="Part";function TJ(e){return i("Part of {name}",{name:i(e)})}function PJ(e,o,t){let a=e.describeNode(o);return{name:t,kindLabel:a?TJ(a.label):i(si)}}function EJ(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 X1({what:e}){let o=EJ(e);return Wa("div",{className:"sf-note",children:[ge("p",{children:ge("strong",{children:o.title})}),Wa("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 ab(e){let o=Ml[e];return{name:Dr[e],kindLabel:si,icon:o,head:(t,a)=>{if(t.kind!==o)return null;let r=a.describeNode(t.nodeId);if(!r)return null;let n=j1({name:i(Bf(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?ge(W1,{nodeId:t.nodeId,part:e,sectionName:a.describeNode(t.nodeId)?.label??"Hero",onUpToSection:()=>a.onSelectNode(t.nodeId)}):null}}var OJ={header:{name:"Header",kindLabel:"Site settings",icon:"header",render:(e,o)=>{let t=o.hostPanels?.header;return t?ge(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)=>ge(vf,{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:()=>ge(TO,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>ge(RO,{unavailable:ge(X1,{what:"Social link"})})},ticker:{name:Bl,kindLabel:si,icon:"ticker",head:(e,o)=>e.kind==="ticker"?PJ(o,e.heroId,i(Bl)):null,render:e=>ge(N_,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:ab("media"),heroImage:ab("image"),heroImage2:ab("image2"),part:{name:si,kindLabel:si,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}=vt(e.propKey),n=r?Nn(t.fields[a],r):t.fields[a],s=ru(t.type),l=s?vl(s,e.propKey):null,c=s&&l?s[l].label:K_[e.propKey],d=c?i(c):AP(i(Fx(Ud(n??{},a))),r),f=j1({name:d,tier:"part",of:i(t.label)},{partOf:({name:m})=>i("Part of {name}",{name:m})});return{name:f.name,kindLabel:f.kind}},render:(e,o)=>e.kind==="part"?ge(p1,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>o.onSelectNode(e.nodeId),onEditStyle:o.onOpenSiteStyles}):null}},_J=new Set(["header","website","chat"]);function AJ(e,o){if(e==="selection")return null;let t=OJ[e];return _J.has(e)&&!o.hasSiteSettings?{...t,kindLabel:"Not part of a template",render:()=>ge(X1,{what:t.name})}:t}function Z1({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:m,siteId:u,runAuthed:x,readOnly:I,navigate:y}=gJ(),{rows:P}=Rl(),C=P?.find(re=>re.slug===m)??null,S=dJ(),g=Object.keys(S.fields).some(re=>!re.startsWith("_")&&!_l.includes(re)),{websiteName:v}=de(),k=bJ({readOnly:I}),{select:F}=yJ(),{selectedItem:T,getItemById:B,getSelectorForId:E,config:A,appState:N}=cJ(re=>re),b=xJ(A,T?{type:T.type,props:T.props}:null),_=T?NP(b??A.components[T.type]?.fields,T.props):[],R=re=>A.components[re]?.label??re,M=T?E(T.props.id):void 0,q=AJ(e.kind,c),V=IJ(),U={capabilities:c,tokenRef:d,hostPanels:V.chrome?.panels,describeNode:re=>{let Fe=B(re);if(!Fe)return null;let Ee=A.components[Fe.type];return{type:Fe.type,label:Ee?.label??Fe.type,fields:Ee?.fields??{},props:Fe.props??{}}},siteId:u,websiteName:v??null,notifyParent:f,onNotify:s,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r},pe=q?.head?.(e,U)??null,J=yO({kind:C?.kind,pageName:C?.label}),Le=pe?.name??(q?i(q.name):T?i(R(T.type)):J.name),ze=pe?.kindLabel??(q?i(q.kindLabel):T?M&&M.zone!==U1?i("Block"):i("Section"):J.kindLabel),Ce=q?q.icon:T?T.type:"page",he=q?null:T?A.components[T.type]?.fields??null:A.root?.fields??null,_e=he?n_(he):2,Ne=tb(e)&&T?Zl(T.type):null,Je=!!T&&!!M&&M.zone===U1&&T.type!==We&&T.type!==SJ,So=bu(N?.data,T),ce=()=>{So||M&&k.duplicateComponent(M.zone,M.index)},ve=()=>{M&&(k.removeComponent(M.zone,M.index),k.select(null))},Ge=T?A.components[T.type]?.defaultProps?.previewHover:void 0,Pe=tb(e)&&!!T&&!!M&&Ge!==void 0,Ye=Pe&&T.props.previewHover===!0,Uo=()=>{!T||!M||k.replaceComponent(M.zone,M.index,{...T,props:{...T.props,previewHover:!Ye}})},{shown:Mo,setShown:H}=kJ(),Ae=!!(q||T||g);return Wa("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right ${vJ(Mo)}`.trim(),children:[ge(pJ,{icon:ge(Nr,{type:Ce,size:15}),name:Le,kind:ze,actions:!n&&tb(e)&&T&&T.type!==We?Wa(z1,{children:[ge($1,{label:i("Duplicate section"),title:So??void 0,disabled:So!==null,onClick:ce,children:ge(mJ,{size:15})}),Je&&c.hasSiteSettings&&ge(T1,{node:T,currentSlug:m,siteId:u??void 0,tokenRef:d,runAuthed:x,onNotify:s}),ge($1,{label:i("Remove section"),danger:!0,onClick:ve,children:ge(hJ,{size:15})}),l?ge(G1,{side:"right",onHide:l,divider:!0}):null]}):l?ge(G1,{side:"right",onHide:l}):void 0}),Pe&&Wa("div",{className:"sf-preview-pin",children:[Wa("div",{className:"sf-preview-pin-text",children:[ge("span",{className:"sf-preview-pin-label",children:i("Preview hover state")}),ge("span",{className:"sf-preview-pin-hint",children:i("not shown live")})]}),ge(CJ,{checked:Ye,onChange:Uo,ariaLabel:i("Preview hover state")})]}),ge(ET,{tier:_e,children:Wa("div",{className:"sf-insp-body es-insp-body sf-scroll",children:[q?q.render(e,U):T?Wa(z1,{children:[T.type===We&&c.hasSiteSettings&&ge(M1,{}),ge(_v,{children:ge(Pt,{entries:ge(P1,{parts:_,heading:!1,onOpen:re=>F($d(T.props.id,re))}),entryCount:Jg(_).length,itemWord:Le})}),Ne&&ge(iu,{source:Ne,slug:is(T?.props),menuId:tu(T?.props)})]}):g?ge(Pt,{omit:_l}):ge(uJ,{variant:"none",icon:!1,message:i("Select a section or block to edit it."),children:a&&ge(fJ,{variant:"secondary",onClick:a,children:i("This page")})}),Ae&&ge(wJ,{shown:Mo,onChange:H,label:i("Show hints")})]})})]})}import{jsx as p,jsxs as O,Fragment as tA}from"react/jsx-runtime";var ao={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)"},nb="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({w:e,h:o,tone:t="dark",r:a=2,style:r}){return p("div",{style:{width:e,height:o,borderRadius:a,background:ao[t],flex:"none",...r}})}var RJ={Hero:"hero",HeroSingle:"herosingle",IntroBleed:"intro",Collections:"collections",AlloyWheelsListing:"wheelslisting",CatalogFilterBar:"catalogfilterbar",ProductGrid:"productgrid",FitmentFinder:"fitmentfinder",Gallery:"gallery",GalleryB:"gallerygrid",SpecStrip:"specstrip",ProductHero:"producthero",SpecTable:"spectable",ProcessSteps:"processsteps",DetailRows:"detailrows",FitmentTable:"fitmenttable",CompatibleTyres:"compatibletyres",TyreSizes:"tyresizes",TyreFitment:"tyrefitment",EuTyreLabel:"eutyrelabel",RelatedProducts:"productgrid",BundleOffer:"bundleoffer",OrderSummary:"ordersummary",DeliveryOptions:"deliveryoptions",PaymentBadges:"paymentbadges",CheckoutCTA:"checkoutcta",Manifesto:"manifesto",ParagraphsA:"paragraphs",Prose:"prose",StatsParagraph:"statsparagraph",Chart:"chart",Mockup:"mockup",Footprint:"footprint",Timeline:"timeline",TimelineTrack:"timelinetrack",TitleWithButtons:"titlewithbuttons",Split:"split",Cards:"cards",FAQ:"faq",Testimonials:"testimonials",Masthead:"masthead",Breadcrumb:"breadcrumb",CategoryBar:"categorybar",FeaturedCover:"featuredcover",LongRead:"longread",ArticleBody:"articlebody",Series:"series",Subscribe:"subscribe",SubscribeBlogs:"subscribe",Events:"events",DocMasthead:"docmasthead",DocTabs:"doctabs",DocBody:"docbody",DocMetaCards:"docmetacards",Banner:"banner",Stats:"stats",KeyFeatures:"keyfeatures",Logos:"logos",Ticker:"ticker",Countdown:"countdown",Reviews:"reviews",SubmitBuild:"submitbuild",ReviewForm:"reviewform",Form:"form",AppointmentBooking:"appointmentbooking",ContactRouting:"contact",ContactLocations:"contactlocations",CityPictures:"citypictures",CityMaps:"citymaps",Header:"header",Footer:"footer",SectionHeader:"sectionheader",Grid:"grid",Flex:"blanksection",Spacer:"spacer",Divider:"divider",CustomHTML:"customhtml",Heading:"heading",Text:"text",ImageBlock:"image",ButtonBlock:"button",MenuBlock:"menu",EmailFormBlock:"emailform",SocialLogosBlock:"sociallogos",PaymentLogosBlock:"paymentlogos",LegalLineBlock:"legalline",SearchBlock:"search",CartBlock:"cart",CountrySwitchBlock:"countryswitch"},K={position:"absolute",inset:0},h={ink:"var(--sf-thumb-ink)",ink2:"var(--sf-thumb-ink-2)",inkSoft:"var(--sf-thumb-ink-soft)",inkSoft2:"var(--sf-thumb-ink-soft-2)",paper:"var(--sf-thumb-paper)",paper2:"var(--sf-thumb-paper-2)",warm:"var(--sf-thumb-warm)",rust:"var(--sf-thumb-rust)",onInk:"var(--sf-thumb-on-ink)",text:"var(--sf-thumb-scene-text)",muted:"var(--sf-thumb-scene-muted)",rule:"var(--sf-thumb-scene-rule)",mark1:"var(--sf-thumb-mark-1)",mark2:"var(--sf-thumb-mark-2)",card:"var(--sf-thumb-card)",scrim:"var(--sf-thumb-scrim)"},De=(e,o,t=160)=>({background:`linear-gradient(${t}deg,${e},${o})`});function pa({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 O("span",{style:{position:"absolute",display:"block",width:e,height:e,...o},children:[p("span",{style:a("8% 26% 30% 6%",h.mark1)}),p("span",{style:a("26% 6% 8% 30%",h.mark2,"multiply")})]})}function Cu({children:e}){return p("span",{style:{fontSize:"4.64cqw",fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:h.muted},children:e})}function J1({over:e,overTone:o,head:t,headSize:a=11.5,cta:r,ctaBg:n,ctaFg:s,tone:l}){return O(tA,{children:[e&&p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:o},children:e}),p("span",{style:{fontSize:a,lineHeight:1.15,fontWeight:700,maxWidth:"78%",color:l},children:t}),r&&p("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 sb({name:e,price:o}){return O("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[p("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",...De(h.paper,h.paper2,150)},children:p(pa,{size:34,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),p("span",{style:{fontSize:"3.65cqw",fontWeight:600,color:h.text},children:e}),p("span",{style:{fontSize:"3.65cqw",color:h.muted},children:o})]})}function ua({k:e,v:o,ok:t}){return O("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:[p("span",{children:e}),O("span",{style:{display:"flex",gap:6,alignItems:"center"},children:[p("b",{style:{color:h.text,fontWeight:700},children:o}),t&&p("span",{style:{color:h.rust,fontWeight:700},children:"\u2713"})]})]})}function Te({title:e,children:o}){return O("div",{style:{...K,background:h.card,padding:"9px 10px",display:"flex",flexDirection:"column",gap:6},children:[p(Cu,{children:e}),o]})}function Q1({size:e=14}){return p("span",{style:{width:e,height:e,borderRadius:"50%",flex:"none",display:"block",background:`linear-gradient(150deg,${h.mark1},${h.mark2})`}})}function lb({filled:e=5,size:o=6}){return O("span",{style:{fontSize:o,letterSpacing:"0.06em",color:h.rust,lineHeight:1},children:["\u2605".repeat(e),p("span",{style:{color:h.mark1},children:"\u2605".repeat(5-e)})]})}function li({n:e,label:o,tone:t=h.text}){return O("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[p("b",{style:{fontSize:"8.16cqw",lineHeight:1,color:t},children:e}),p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",opacity:.62,color:t},children:o})]})}function Xe({children:e,w:o}){return p("span",{style:{fontSize:"3.98cqw",lineHeight:1.45,color:h.muted,width:o,display:"block"},children:e})}function wu({label:e,w:o="100%",filled:t}){return O("div",{style:{width:o,display:"flex",flexDirection:"column",gap:2},children:[p("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:h.muted},children:e}),p("span",{style:{height:9,borderRadius:3,border:`1px solid ${h.rule}`,background:t?h.paper:h.card}})]})}function eA({children:e}){return p("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 LJ={wheelslisting:p(Te,{title:"All wheels",children:p("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])=>O("div",{style:{display:"flex",alignItems:"center",gap:6},children:[p("span",{style:{width:20,height:15,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",...De(h.paper,h.paper2,150)},children:p(pa,{size:12,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),p("b",{style:{flex:1,fontSize:"4.31cqw",color:h.text},children:e}),p("span",{style:{fontSize:"3.65cqw",color:h.muted},children:o}),p("b",{style:{fontSize:"4.31cqw",color:h.text,width:26,textAlign:"right"},children:t})]},e))})}),catalogfilterbar:O("div",{style:{...K,background:h.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[O("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[["20 inch","6\xD7139.7","Black"].map(e=>O("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,p("span",{style:{opacity:.6},children:"\u2715"})]},e)),p("span",{style:{fontSize:"3.65cqw",color:h.rust,fontWeight:700},children:"Clear"})]}),O("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[p("span",{style:{fontSize:"3.65cqw",color:h.muted},children:"128 results"}),p("span",{style:{fontSize:"3.65cqw",color:h.muted,border:`1px solid ${h.rule}`,borderRadius:3,padding:"3px 6px"},children:"Sort: Price \u25BE"})]})]}),fitmentfinder:O("div",{style:{...K,padding:"10px 12px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center",...De(h.ink,h.inkSoft)},children:[p("span",{style:{fontSize:"5.31cqw",fontWeight:700,color:h.onInk},children:"Will it fit your rig?"}),O("div",{style:{display:"flex",gap:4},children:[["2021","Toyota","Hilux"].map(e=>O("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," ",p("span",{style:{color:h.muted},children:"\u25BE"})]},e)),p("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.08em",background:h.warm,color:h.ink,borderRadius:3,padding:"5px 7px"},children:"GO"})]})]}),compatibletyres:p(Te,{title:"Tyres that suit",children:p("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])=>O("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[p("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",background:h.ink},children:p("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"}})}),p("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:h.text,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:e}),p("span",{style:{fontSize:"3.32cqw",color:h.muted},children:o})]},e))})}),tyresizes:p(Te,{title:"Available sizes",children:p("div",{style:{flex:1,display:"flex",flexWrap:"wrap",gap:4,alignContent:"center"},children:["265/65R17","285/70R17","265/60R18","275/55R20"].map((e,o)=>p("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:O(Te,{title:"Will it fit your car?",children:[p("div",{style:{display:"flex",gap:3},children:["Make","Model","Year","Trim"].map(e=>O("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," ",p("span",{style:{color:h.muted},children:"\u25BE"})]},e))}),p("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])=>O("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",gap:6,borderTop:`1px solid ${h.rule}`,paddingTop:3},children:[p("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:h.text},children:e}),p("span",{style:{fontSize:"3.32cqw",fontWeight:t?700:400,letterSpacing:"0.06em",color:t?h.warm:h.muted},children:o})]},e))})]}),eutyrelabel:O("div",{style:{...K,background:h.card,padding:"9px 11px",display:"flex",gap:8,alignItems:"center"},children:[p("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1.5},children:[["A","42%"],["B","56%"],["C","70%"],["D","84%"]].map(([e,o],t)=>O("div",{style:{display:"flex",alignItems:"center",gap:3},children:[p("span",{style:{width:o,height:6,borderRadius:"0 2px 2px 0",background:t===1?h.rust:h.mark1}}),p("span",{style:{fontSize:"3.32cqw",fontWeight:700,color:t===1?h.rust:h.muted},children:e})]},e))}),O("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:3,alignItems:"center"},children:[p("b",{style:{fontSize:"6.63cqw",lineHeight:1,color:h.text},children:"72"}),p("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",color:h.muted},children:"dB"})]})]}),bundleoffer:O("div",{style:{...K,background:h.paper,padding:"9px 11px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[p(Cu,{children:"Buy it with"}),O("div",{style:{display:"flex",alignItems:"center",gap:5},children:[[0,1].map(e=>p("span",{style:{width:26,height:22,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",background:h.card},children:p(pa,{size:17,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})},e)),p("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:h.muted},children:"+"}),O("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1},children:[p("span",{style:{fontSize:"3.65cqw",color:h.muted,textDecoration:"line-through"},children:"$1,024"}),p("b",{style:{fontSize:"6.02cqw",color:h.rust,lineHeight:1},children:"$899"})]})]})]}),checkoutcta:O("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,...De(h.ink,h.ink2)},children:[O("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",color:h.warm,fontWeight:700},children:"READY TO ORDER"}),p("b",{style:{fontSize:"6.63cqw",color:h.onInk,lineHeight:1},children:"$1,956"}),p("span",{style:{fontSize:"3.65cqw",color:h.onInk,opacity:.65},children:"4 items \xB7 fitted free"})]}),p("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:p(Te,{title:"Who do you need?",children:p("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])=>O("div",{style:{display:"flex",alignItems:"center",gap:5},children:[p("b",{style:{flex:1,fontSize:"4.31cqw",color:h.text},children:e}),p("span",{style:{fontSize:"3.65cqw",color:h.muted},children:o}),p("span",{style:{fontSize:"4.64cqw",color:h.rust,lineHeight:1},children:"\u203A"})]},e))})}),contactlocations:p(Te,{title:"Find us",children:p("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])=>O("div",{style:{border:`1px solid ${h.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[p("b",{style:{fontSize:"4.31cqw",color:h.text},children:e}),p("span",{style:{fontSize:"3.32cqw",color:h.muted},children:o}),p("span",{style:{fontSize:"3.32cqw",color:h.rust,fontWeight:700},children:t})]},e))})}),citypictures:p(Te,{title:"Our studios",children:O("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:3,minHeight:0},children:[p("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.12em",fontWeight:700,color:h.muted},children:"A \xB7 AMERICAS"}),p("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:4,minHeight:0},children:["Los Angeles","Miami","Toronto"].map(e=>O("div",{style:{position:"relative",minHeight:0},children:[p(W,{r:3,style:{...K,background:`linear-gradient(transparent 45%,${h.scrim} 45%),${De(h.ink,h.inkSoft2).background}`}}),p("b",{style:{position:"absolute",left:5,bottom:4,fontSize:"3.65cqw",color:h.onInk},children:e})]},e))})]})}),citymaps:p(Te,{title:"Find us",children:p("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])=>O("div",{style:{position:"relative",padding:"4px 5px",display:"flex",flexDirection:"column",gap:2,minHeight:0},children:[p(W,{r:4,style:{...K,background:"none",border:`1px solid ${h.rule}`}}),p("b",{style:{position:"relative",fontSize:"4.31cqw",color:h.text},children:e}),p("span",{style:{position:"relative",fontSize:"3.32cqw",color:h.muted},children:o}),O("div",{style:{flex:1,minHeight:0,position:"relative"},children:[p(W,{r:3,style:{...K,...De(h.paper,h.paper2,150)}}),p(W,{w:"60%",h:"60%",r:8,style:{position:"absolute",left:"12%",top:"20%",background:h.mark1,opacity:.75}}),p(W,{w:6,h:6,r:3,style:{position:"absolute",left:"44%",top:"34%",background:h.rust}})]})]},e))})}),form:p(Te,{title:"Send us a message",children:O("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[O("div",{style:{display:"flex",gap:5},children:[p(wu,{label:"Name"}),p(wu,{label:"Email"})]}),p(wu,{label:"Message",filled:!0}),p(eA,{children:"SEND"})]})}),appointmentbooking:p(Te,{title:"Book a fitting",children:O("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[p("div",{style:{display:"flex",gap:3},children:["Mon","Tue","Wed","Thu"].map((e,o)=>p("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))}),p("div",{style:{display:"flex",gap:3},children:["8:00","10:30","13:00","15:30"].map((e,o)=>p("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:p(Te,{title:"Leave a review",children:O("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[p(lb,{filled:4,size:14}),p(wu,{label:"Your review",filled:!0}),p(eA,{children:"POST"})]})}),submitbuild:p(Te,{title:"Show us your build",children:O("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:[p("span",{style:{fontSize:"6.63cqw",lineHeight:1,color:h.rust,fontWeight:300},children:"+"}),p("span",{style:{fontSize:"3.65cqw",color:h.muted},children:"Drop a photo of your rig"})]})}),masthead:O("div",{style:{...K,background:h.paper,display:"flex",flexDirection:"column",justifyContent:"center",padding:"0 13px",gap:5},children:[p("span",{style:{height:1.5,background:h.text}}),p("span",{style:{fontSize:"7.65cqw",fontWeight:800,letterSpacing:"0.02em",color:h.text,lineHeight:1},children:"THE TRACK"}),O("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"3.65cqw",letterSpacing:"0.1em",textTransform:"uppercase",color:h.muted},children:[p("span",{children:"Issue 14"}),p("span",{children:"Spring 2026"})]}),p("span",{style:{height:1,background:h.rule}})]}),featuredcover:O("div",{style:{...K,overflow:"hidden",...De(h.ink,h.inkSoft2)},children:[p(pa,{size:92,style:{right:-18,top:-14}}),p("div",{style:{position:"absolute",inset:0,background:`linear-gradient(0deg,${h.scrim},transparent 62%)`}}),O("div",{style:{position:"absolute",left:12,right:12,bottom:11,display:"flex",flexDirection:"column",gap:3},children:[p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:h.warm},children:"FEATURE"}),p("span",{style:{fontSize:"6.16cqw",lineHeight:1.15,fontWeight:700,color:h.onInk},children:"Four days on the Madigan Line"})]})]}),longread:O("div",{style:{...K,background:h.card,padding:"10px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.14em",fontWeight:700,color:h.rust},children:"12 MIN READ"}),p("span",{style:{fontSize:"6.02cqw",lineHeight:1.15,fontWeight:700,color:h.text},children:"What breaks first, and why"}),p(Xe,{children:"Every failure starts in the same place:"}),p(Xe,{w:"80%",children:"the bolt nobody re-torqued."})]}),articlebody:O("div",{style:{...K,background:h.card,padding:"10px 22px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center",alignItems:"center",textAlign:"center"},children:[p("span",{style:{fontSize:"4.97cqw",lineHeight:1.2,fontWeight:700,color:h.text},children:"Why offset beats width"}),p(Xe,{w:"100%",children:"A wider wheel adds grip only if the offset still"}),p(Xe,{w:"88%",children:"clears the arch, so the offset is chosen first."}),p(Xe,{w:"80%",children:"Width follows from the space left."})]}),series:p(Te,{title:"Recurring columns",children:p("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])=>O("div",{style:{display:"flex",alignItems:"center",gap:6},children:[p("span",{style:{width:3,height:12,borderRadius:2,background:h.rust,flex:"none"}}),p("b",{style:{flex:1,fontSize:"4.64cqw",color:h.text},children:e}),p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:h.muted},children:o})]},e))})}),events:p(Te,{title:"Latest posts",children:p("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])=>O("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[p("span",{style:{width:24,height:18,borderRadius:3,flex:"none",...De(e,o,150)}}),O("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[p("b",{style:{fontSize:"4.31cqw",color:h.text},children:t}),p("span",{style:{fontSize:"3.65cqw",color:h.muted},children:"4 Sep \xB7 Shed Notes"})]})]},t))})}),docmasthead:O("div",{style:{...K,background:h.card,padding:"12px 14px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:h.muted},children:"POLICY"}),p("span",{style:{fontSize:"6.49cqw",fontWeight:700,color:h.text,lineHeight:1.1},children:"Returns & refunds"}),p("span",{style:{fontSize:"3.65cqw",color:h.muted},children:"Version 3 \xB7 Updated 4 Sep 2026"}),p("span",{style:{height:2,width:26,background:h.rust,borderRadius:1}})]}),docbody:p("div",{style:{...K,background:h.card,padding:"9px 13px",display:"flex",flexDirection:"column",gap:3,justifyContent:"center"},children:[["1.","You may return an unfitted wheel within 30 days."],["2.","Fitted wheels are covered by the structural warranty."],["3.","Freight on a change of mind is yours."]].map(([e,o])=>O("div",{style:{display:"flex",gap:5},children:[p("b",{style:{fontSize:"3.98cqw",color:h.rust,flex:"none"},children:e}),p(Xe,{children:o})]},e))}),docmetacards:p(Te,{title:"At a glance",children:p("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])=>O("div",{style:{border:`1px solid ${h.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[p("b",{style:{fontSize:"5.31cqw",color:h.text,lineHeight:1},children:e}),p("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:h.muted},children:o})]},o))})}),doctabs:O("div",{style:{...K,background:h.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:0,padding:"0 11px"},children:[p("div",{style:{display:"flex",gap:0},children:["Returns","Warranty","Shipping"].map((e,o)=>p("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))}),p("span",{style:{height:1,background:h.rule}}),O("div",{style:{paddingTop:6,display:"flex",flexDirection:"column",gap:2},children:[p(Xe,{children:"Unfitted wheels come back within 30 days, no questions."}),p(Xe,{w:"58%",children:"Freight on a change of mind is yours."})]})]}),paragraphs:O("div",{style:{...K,background:h.card,padding:"11px 14px",display:"flex",gap:10,alignItems:"center"},children:[p("span",{style:{flex:1,fontSize:"5.86cqw",lineHeight:1.2,fontWeight:700,color:h.text},children:"The right wheel is the boring one."}),O("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[p(Xe,{children:"Forged, correctly offset, rated for what you actually"}),p(Xe,{children:"carry. Everything else is a photograph."})]})]}),keyfeatures:p(Te,{title:"Key features",children:p("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=>O("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[p("span",{style:{fontSize:"4.64cqw",color:h.rust,fontWeight:700,lineHeight:1},children:"\u2713"}),p("span",{style:{fontSize:"4.31cqw",color:h.text},children:e})]},e))})}),statsparagraph:O("div",{style:{...K,background:h.paper,padding:"10px 12px",display:"flex",gap:10,alignItems:"center"},children:[O("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:5},children:[p(li,{n:"27k",label:"Rigs"}),p(li,{n:"4.9",label:"Rating"})]}),O("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[p(Xe,{children:"Twelve years of fitting the same three questions, and the"}),p(Xe,{children:"answer has not moved: load rating, offset, then looks."})]})]}),chart:O(Te,{title:"Load vs weight",children:[p("div",{style:{flex:1,display:"flex",alignItems:"flex-end",gap:5,paddingBottom:2},children:[38,62,84,71,96].map((e,o)=>p("span",{style:{flex:1,height:`${e}%`,borderRadius:"2px 2px 0 0",background:o===4?h.rust:h.mark1}},o))}),p("span",{style:{height:1,background:h.rule,marginTop:-4}})]}),mockup:p("div",{style:{...K,overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",...De(h.inkSoft,h.ink)},children:O("div",{style:{width:"72%",height:"74%",borderRadius:4,overflow:"hidden",background:h.card,boxShadow:`0 6px 14px ${h.scrim}`},children:[p("div",{style:{height:9,background:h.paper,display:"flex",alignItems:"center",gap:2,padding:"0 4px"},children:[0,1,2].map(e=>p("span",{style:{width:2.5,height:2.5,borderRadius:"50%",background:h.mark1}},e))}),O("div",{style:{padding:5,display:"flex",flexDirection:"column",gap:3},children:[p("span",{style:{height:4,width:"56%",borderRadius:1,background:h.mark2}}),p("span",{style:{height:14,borderRadius:2,...De(h.paper,h.paper2,150)}}),p("span",{style:{height:3,width:"38%",borderRadius:1,background:h.rust}})]})]})}),manifesto:p("div",{style:{...K,overflow:"hidden",display:"flex",alignItems:"center",padding:"0 16px",...De(h.ink,h.ink2)},children:O("span",{style:{fontSize:"6.63cqw",lineHeight:1.2,fontWeight:700,color:h.onInk},children:["We build for the ",p("span",{style:{color:h.warm},children:"last"})," ten percent of the track."]})}),timeline:p(Te,{title:"Our story",children:p("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)=>O("div",{style:{display:"flex",gap:7,alignItems:"flex-start",position:"relative"},children:[t<2&&p("span",{style:{position:"absolute",left:3,top:8,bottom:-8,width:1,background:h.rule}}),p("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",marginTop:1,background:h.rust,zIndex:1}}),O("div",{style:{display:"flex",flexDirection:"column",gap:0,minWidth:0},children:[p("b",{style:{fontSize:"4.64cqw",color:h.text},children:e}),p(Xe,{children:o})]})]},e))})}),timelinetrack:O("div",{style:{...K,padding:"0 12px",display:"flex",flexDirection:"column",gap:10,justifyContent:"center",...De(h.ink,h.inkSoft)},children:[p("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:h.warm},children:"Milestones"}),O("div",{style:{position:"relative",display:"flex",justifyContent:"space-between",paddingTop:7},children:[p("span",{style:{position:"absolute",left:0,right:0,top:3,height:1,background:h.mark2,opacity:.55}}),["1998","2009","2016","2024"].map((e,o)=>O("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:3,position:"relative"},children:[p("span",{style:{position:"absolute",top:-7,width:6,height:6,borderRadius:"50%",background:o===3?h.warm:h.mark1}}),p("span",{style:{fontSize:"4.31cqw",fontWeight:700,color:o===3?h.warm:h.onInk,opacity:o===3?1:.75},children:e})]},e))]})]}),footprint:O("div",{style:{...K,overflow:"hidden",...De(h.paper,h.paper2,150)},children:[p("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}}),p("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])=>p("span",{style:{position:"absolute",left:e,top:o,width:7,height:7,borderRadius:"50% 50% 50% 0",transform:"rotate(-45deg)",background:h.rust}},e)),p("span",{style:{position:"absolute",left:11,bottom:9,fontSize:"4.64cqw",fontWeight:700,color:h.text},children:"3 fitting bays"})]}),banner:O("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,background:h.rust},children:[O("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[p("b",{style:{fontSize:"6.02cqw",color:h.onInk},children:"End of season \xB7 20% off"}),p("span",{style:{fontSize:"3.98cqw",color:h.onInk,opacity:.8},children:"Fitted free, this month only."})]}),p("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:O("div",{style:{...K,background:h.paper,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:7,padding:"0 14px",textAlign:"center"},children:[p("span",{style:{fontSize:"6.49cqw",lineHeight:1.15,fontWeight:700,color:h.text},children:"Not sure what fits?"}),O("div",{style:{display:"flex",gap:5},children:[p("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"}),p("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:p("div",{style:{...K,overflow:"hidden",background:h.ink,display:"flex",alignItems:"center"},children:p("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:O("div",{style:{...K,padding:"10px 12px",display:"flex",flexDirection:"column",alignItems:"center",gap:6,justifyContent:"center",...De(h.ink,h.ink2)},children:[p("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.16em",textTransform:"uppercase",color:h.muted},children:"Back online in"}),p("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[["23","Hours"],["59","Minutes"],["48","Seconds"]].map(([e,o],t)=>O("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[t>0&&p("b",{style:{fontSize:"9.5cqw",lineHeight:1,color:h.warm},children:":"}),O("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:[p("b",{style:{fontSize:"11.5cqw",lineHeight:1,color:h.onInk,fontVariantNumeric:"tabular-nums"},children:e}),p("span",{style:{fontSize:"3.2cqw",letterSpacing:"0.1em",textTransform:"uppercase",opacity:.62,color:h.onInk},children:o})]})]},o))})]}),breadcrumb:p("div",{style:{...K,background:h.card,display:"flex",alignItems:"center",padding:"0 13px"},children:O("span",{style:{fontSize:"4.64cqw",color:h.muted},children:["Home ",p("span",{style:{opacity:.5},children:"/"})," Wheels ",p("span",{style:{opacity:.5},children:"/"})," ",p("span",{style:{color:h.text,fontWeight:700},children:"20 inch"})]})}),categorybar:O("div",{style:{...K,background:h.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[p("div",{style:{display:"flex",gap:5},children:["All","Wheels","Tyres","Lift"].map((e,o)=>p("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))}),p("span",{style:{height:1,background:h.rule}})]}),intro:O("div",{style:{...K,overflow:"hidden",background:h.card},children:[p("div",{style:{position:"absolute",inset:0,...De(h.ink,h.inkSoft2)}}),p(pa,{size:64,style:{right:8,top:6}}),O("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:[p("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:h.text},children:"Since 1998"}),p(Xe,{children:"One shed, one lathe, one idea."}),p(Xe,{w:"66%",children:"It turned out to be right."})]})]}),gallerygrid:p(Te,{title:"From our customers",children:p("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)=>p("div",{style:{borderRadius:3,...De(e,o,140+t*22)}},t))})}),gallery:O(Te,{title:"Gallery",children:[p("div",{style:{display:"flex",gap:8,alignItems:"center",marginTop:-2},children:["On the truck","Studio","Close-ups"].map((e,o)=>p("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))}),p("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)=>p("div",{style:{borderRadius:3,...De(e,o,150+t*20)}},t))})]}),ordersummary:O(Te,{title:"Order summary",children:[O("div",{style:{display:"flex",gap:6,alignItems:"center",paddingBottom:4},children:[p("span",{style:{width:26,height:26,borderRadius:4,position:"relative",overflow:"hidden",flex:"none",...De(h.paper,h.paper2,150)},children:p(pa,{size:18,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),O("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[p("b",{style:{fontSize:"4.31cqw",color:h.text},children:"Ridge Grappler"}),p("span",{style:{fontSize:"3.65cqw",color:h.muted},children:"20\xD79 +12 \xB7 qty 4"})]})]}),O("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",justifyContent:"center"},children:[p(ua,{k:"Subtotal",v:"$1,956"}),p(ua,{k:"Fitting",v:"Free"}),O("div",{style:{display:"flex",justifyContent:"space-between",paddingTop:5,fontSize:"4.64cqw"},children:[p("b",{style:{color:h.text},children:"Total"}),p("b",{style:{color:h.text,fontSize:"6.02cqw"},children:"$1,956"})]})]})]}),deliveryoptions:p(Te,{title:"Delivery",children:p("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])=>O("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:[p("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",border:`1.5px solid ${a?h.rust:h.mark1}`,background:a?h.rust:"transparent"}}),p("span",{style:{flex:1,fontSize:"4.31cqw",fontWeight:600,color:h.text},children:e}),p("span",{style:{fontSize:"3.98cqw",color:h.muted},children:o}),p("b",{style:{fontSize:"4.31cqw",color:h.text},children:t})]},e))})}),paymentbadges:O("div",{style:{...K,background:h.paper,display:"flex",flexDirection:"column",gap:8,justifyContent:"center",padding:"0 12px"},children:[p(Cu,{children:"Ways to pay"}),p("div",{style:{display:"flex",gap:5},children:[["VISA",h.ink],["MC",h.rust],["AMEX",h.inkSoft],["PayPal",h.ink2]].map(([e,o])=>p("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:O("div",{style:{...K,padding:"10px 12px",display:"flex",flexDirection:"column",gap:9,justifyContent:"center",...De(h.ink,h.ink2)},children:[p("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:h.warm},children:"By the numbers"}),O("div",{style:{display:"flex",gap:8},children:[p(li,{n:"27k",label:"Rigs fitted",tone:h.onInk}),p(li,{n:"12",label:"Years",tone:h.onInk}),p(li,{n:"4.9",label:"Avg rating",tone:h.warm})]})]}),testimonials:O("div",{style:{...K,overflow:"hidden",background:h.paper,padding:"10px 11px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center"},children:[p("span",{style:{position:"absolute",right:10,top:2,fontSize:"22.4cqw",lineHeight:1,fontWeight:800,color:h.rust,opacity:.16},children:"\u201D"}),p(lb,{filled:5,size:7}),p("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"}),O("div",{style:{display:"flex",alignItems:"center",gap:5},children:[p(Q1,{}),p("span",{style:{fontSize:"3.98cqw",color:h.muted},children:"Dave M. \xB7 Hilux N80"})]})]}),reviews:O(Te,{title:"Reviews",children:[p("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)=>p("div",{style:{flex:1,borderRadius:3,...De(e,o,140+t*15)}},t))}),p("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])=>O("div",{style:{display:"flex",gap:5,alignItems:"flex-start"},children:[p(Q1,{size:12}),O("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[O("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[p("b",{style:{fontSize:"3.98cqw",color:h.text},children:e}),p(lb,{filled:o})]}),p(Xe,{children:t})]})]},e))})]}),logos:O("div",{style:{...K,display:"flex",flexDirection:"column",gap:9,justifyContent:"center",padding:"0 12px",...De(h.ink,h.inkSoft)},children:[p("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:h.warm},children:"As fitted by"}),p("div",{style:{display:"grid",gridTemplateColumns:"repeat(4,1fr)",gap:8},children:["ARB","TJM","IRONMAN","OPPOSITE"].map(e=>p("span",{style:{textAlign:"center",fontSize:"4.31cqw",fontWeight:800,letterSpacing:"0.08em",color:h.onInk,opacity:.82},children:e},e))})]}),prose:O("div",{style:{...K,background:h.paper,padding:"11px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[p("span",{style:{fontSize:"5.86cqw",fontWeight:700,color:h.text},children:"Why offset matters"}),O("div",{style:{display:"flex",gap:6},children:[p("span",{style:{fontSize:"15.3cqw",lineHeight:.78,fontWeight:800,color:h.rust,marginTop:1},children:"T"}),O("div",{style:{display:"flex",flexDirection:"column"},children:[p(Xe,{children:"he number on the back of your wheel decides whether the"}),p(Xe,{w:"76%",children:"tyre sits under the guard or an inch outside it."})]})]})]}),cards:p(Te,{title:"What you get",children:p("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])=>O("div",{style:{border:`1px solid ${h.rule}`,borderRadius:4,padding:6,display:"flex",flexDirection:"column",gap:2},children:[p("span",{style:{width:11,height:11,borderRadius:3,background:h.rust,opacity:.9}}),p("b",{style:{fontSize:"3.98cqw",color:h.text},children:e}),p(Xe,{children:o})]},e))})}),faq:p(Te,{title:"Questions",children:p("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])=>O("div",{style:{borderBottom:`1px solid ${h.rule}`,padding:"4px 2px"},children:[O("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6},children:[p("b",{style:{fontSize:"4.31cqw",color:h.text},children:e}),p("span",{style:{fontSize:"4.64cqw",color:h.muted,lineHeight:1},children:o?"\u2212":"+"})]}),o&&p(Xe,{w:"90%",children:"Use the fitment finder \u2014 it reads your build, not just the model."})]},e))})}),hero:O("div",{style:{...K,overflow:"hidden",...De(h.ink,h.ink2)},children:[p("div",{style:{...K,background:`linear-gradient(90deg,${h.scrim},transparent 70%)`}}),p("div",{style:{position:"relative",height:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",padding:"12px 14px",gap:5},children:p(J1,{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})}),p(pa,{size:104,style:{right:-24,bottom:-30}})]}),herosingle:O("div",{style:{...K,display:"flex",background:h.paper,overflow:"hidden"},children:[p("div",{style:{flex:1,padding:12,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:p(J1,{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})}),p("div",{style:{flex:1,position:"relative",...De(h.inkSoft,h.inkSoft2)},children:p(pa,{size:74,style:{right:-14,top:16}})})]}),productgrid:p(Te,{title:"Best sellers",children:O("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[p(sb,{name:"Ridge 19",price:"$365"}),p(sb,{name:"Ridge 29",price:"$410"}),p(sb,{name:"Ridge 39",price:"$455"})]})}),collections:p(Te,{title:"Shop by category",children:p("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])=>p("div",{style:{borderRadius:4,display:"flex",alignItems:"flex-end",padding:5,color:h.onInk,...De(o,t)},children:p("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.04em"},children:e})},e))})}),producthero:O("div",{style:{...K,display:"flex",background:h.card,overflow:"hidden"},children:[p("div",{style:{flex:1.1,position:"relative",...De(h.paper,h.paper2,150)},children:p(pa,{size:78,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),O("div",{style:{flex:1,padding:"10px 10px 10px 8px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:h.rust},children:"NITTO"}),p("b",{style:{fontSize:"6.29cqw",color:h.text},children:"Ridge Grappler"}),p("span",{style:{fontSize:"6.63cqw",fontWeight:700,color:h.text},children:"$489"}),p("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:p(Te,{title:"Specifications",children:O("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[p(ua,{k:"Diameter",v:'20"'}),p(ua,{k:"Width",v:"9.0J"}),p(ua,{k:"Offset",v:"+12"}),p(ua,{k:"Load",v:"1250 kg"})]})}),fitmenttable:p(Te,{title:"Will it fit?",children:O("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[p(ua,{k:"Hilux N80",v:"20\xD79 +12",ok:!0}),p(ua,{k:"Ranger PX3",v:"20\xD79 +12",ok:!0}),p(ua,{k:"LC79",v:"17\xD78 \u221210",ok:!0})]})}),processsteps:O("div",{style:{...K,background:h.paper,padding:10,display:"flex",flexDirection:"column",gap:7,justifyContent:"center"},children:[p(Cu,{children:"How it works"}),p("div",{style:{display:"flex",gap:6},children:["Pick your rig","Match the fit","We fit it"].map((e,o)=>O("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2},children:[p("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}),p("span",{style:{fontSize:"3.98cqw",color:h.text,fontWeight:600},children:e})]},e))})]}),detailrows:p("div",{style:{...K,background:h.card,display:"flex",flexDirection:"column",overflow:"hidden"},children:[["Forged, not cast","Half the weight, twice the road.",!1],["Fits your load","Rated to 1250 kg a corner.",!0]].map(([e,o,t])=>{let a=p("div",{style:{flex:1,...De(t?h.rust:h.inkSoft,t?h.warm:h.inkSoft2)}},"art"),r=O("div",{style:{flex:1.1,padding:8,display:"flex",flexDirection:"column",gap:2,justifyContent:"center"},children:[p("b",{style:{fontSize:"4.64cqw",color:h.text},children:e}),p("span",{style:{fontSize:"3.98cqw",color:h.muted,lineHeight:1.3},children:o})]},"tx");return p("div",{style:{flex:1,display:"flex",minHeight:0},children:t?[r,a]:[a,r]},e)})}),specstrip:p("div",{style:{...K,background:h.ink,color:h.onInk,display:"flex",alignItems:"center",justifyContent:"space-around",padding:"0 8px"},children:[["5 yr","Warranty"],["Free","Fitting"],["48 hr","Dispatch"]].map(([e,o])=>O("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:1},children:[p("b",{style:{fontSize:"5.69cqw",letterSpacing:"0.02em"},children:e}),p("span",{style:{fontSize:"3.65cqw",color:h.mark2,letterSpacing:"0.1em",textTransform:"uppercase"},children:o})]},o))})},oA={subscribe:O("div",{style:{...K,padding:13,display:"flex",flexDirection:"column"},children:[O("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8},children:[O("div",{style:{display:"flex",alignItems:"center",gap:6},children:[p(W,{w:8,h:8,r:2,tone:"accent"}),p(W,{w:38,h:7,r:3,tone:"dark"}),p(W,{w:16,h:7,r:3,tone:"accent"})]}),p(W,{w:38,h:4,r:2,tone:"soft"})]}),p("div",{style:{height:1,background:ao.line,marginBottom:10}}),O("div",{style:{flex:1,display:"flex",gap:10,border:`1px solid ${ao.line}`,borderRadius:7,padding:10},children:[O("div",{style:{flex:1.1,display:"flex",flexDirection:"column",justifyContent:"center",gap:5},children:[p(W,{w:"46%",h:3,r:2,tone:"accent"}),p(W,{w:"84%",h:8,r:4,tone:"dark"}),p(W,{w:"56%",h:8,r:4,tone:"accent"}),p(W,{w:"96%",h:3,r:2,tone:"soft",style:{marginTop:2}}),O("div",{style:{display:"flex",gap:5,marginTop:4},children:[p("div",{style:{flex:1,height:13,borderRadius:5,border:`1px solid ${ao.line}`,background:ao.block}}),p(W,{w:34,h:13,r:5,tone:"accent"})]})]}),O("div",{style:{flex:1,background:ao.block,borderRadius:6,padding:8,display:"flex",flexDirection:"column",gap:6},children:[p(W,{w:"52%",h:4,r:2,tone:"accent"}),Array.from({length:3}).map((e,o)=>O("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,borderTop:o?`1px solid ${ao.line}`:"none",paddingTop:o?4:0},children:[p(W,{w:34,h:4,r:2,tone:"dark"}),p(W,{w:16,h:3,r:2,tone:"soft"})]},o))]})]})]}),split:O("div",{style:{...K,display:"flex"},children:[p("div",{style:{width:"44%",background:nb}}),O("div",{style:{flex:1,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[p(W,{w:"44%",h:5,r:3,tone:"accent"}),p(W,{w:"88%",h:8,r:4,tone:"dark"}),p(W,{w:"70%",h:8,r:4,tone:"dark"}),p(W,{w:"94%",h:5,r:2,tone:"soft",style:{marginTop:2}}),p(W,{w:"80%",h:5,r:2,tone:"soft"}),p(W,{w:"40%",h:13,r:6,tone:"accent",style:{marginTop:5}})]})]}),sectionheader:O(tA,{children:[p(W,{w:"18%",h:6,r:3,tone:"accent",style:{position:"absolute",top:15,right:16}}),O("div",{style:{...K,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:10},children:[O("div",{style:{display:"flex",alignItems:"center",gap:9},children:[p(W,{w:16,h:16,r:4,tone:"accent"}),p(W,{w:"20%",h:9,r:4,tone:"dark"})]}),p(W,{w:"62%",h:10,r:5,tone:"dark"}),p(W,{w:"42%",h:6,r:3,tone:"soft"})]})]}),header:p("div",{style:{...K,padding:14,display:"flex",flexDirection:"column",justifyContent:"center"},children:O("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[p(W,{w:"22%",h:12,r:4,tone:"dark"}),O("div",{style:{display:"flex",gap:9,alignItems:"center"},children:[p(W,{w:26,h:6,r:3,tone:"soft"}),p(W,{w:26,h:6,r:3,tone:"soft"}),p(W,{w:26,h:6,r:3,tone:"soft"}),p(W,{w:18,h:14,r:5,tone:"accent"})]})]})}),footer:O("div",{style:{...K,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:12},children:[O("div",{style:{display:"flex",gap:14},children:[O("div",{style:{flex:1.4,display:"flex",flexDirection:"column",gap:6},children:[p(W,{w:"60%",h:9,r:4,tone:"dark"}),p(W,{w:"90%",h:5,r:2,tone:"soft"}),p(W,{w:"70%",h:5,r:2,tone:"soft"})]}),[0,1].map(e=>O("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[p(W,{w:"50%",h:6,r:3,tone:"dark"}),p(W,{w:"80%",h:5,r:2,tone:"soft"}),p(W,{w:"66%",h:5,r:2,tone:"soft"})]},e))]}),p("div",{style:{height:1,background:ao.line}}),O("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[p(W,{w:"30%",h:5,r:2,tone:"soft"}),p(W,{w:"16%",h:5,r:2,tone:"soft"})]})]}),grid:p("div",{style:{...K,padding:14,display:"grid",gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr 1fr",gap:9},children:Array.from({length:4}).map((e,o)=>p("div",{style:{borderRadius:6,background:ao.block}},o))}),blanksection:p("div",{style:{...K,padding:14,display:"flex"},children:O("div",{style:{flex:1,border:`1px dashed ${ao.line}`,borderRadius:7,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:[p(W,{w:14,h:2,r:1,tone:"tint"}),p(W,{w:2,h:14,r:1,tone:"tint",style:{position:"absolute"}})]})}),spacer:O("div",{style:{...K,padding:14,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[p(W,{w:"100%",h:6,r:3,tone:"soft"}),p(W,{w:16,h:22,r:3,tone:"block",style:{alignSelf:"center"}}),p(W,{w:"100%",h:6,r:3,tone:"soft"})]}),divider:p("div",{style:{...K,padding:14,display:"flex",alignItems:"center"},children:p(W,{w:"100%",h:3,r:2,tone:"dark"})}),customhtml:O("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center",gap:8,background:nb},children:[p(W,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(-14deg)"}}),p(W,{w:16,h:10,r:3,tone:"accent"}),p(W,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(14deg)"}})]}),heading:p("div",{style:{...K,padding:14,display:"flex",alignItems:"center"},children:p(W,{w:"64%",h:13,r:4,tone:"dark"})}),text:O("div",{style:{...K,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[p(W,{w:"100%",h:6,r:3,tone:"soft"}),p(W,{w:"96%",h:6,r:3,tone:"soft"}),p(W,{w:"100%",h:6,r:3,tone:"soft"}),p(W,{w:"58%",h:6,r:3,tone:"soft"})]}),image:p("div",{style:{position:"absolute",inset:14,borderRadius:7,background:nb}}),button:p("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center"},children:p(W,{w:"34%",h:16,r:8,tone:"accent"})}),menu:O("div",{style:{...K,padding:"14px 22%",display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[p(W,{w:"48%",h:7,r:3,tone:"dark"}),p(W,{w:"82%",h:5,r:2,tone:"soft"}),p(W,{w:"66%",h:5,r:2,tone:"soft"}),p(W,{w:"74%",h:5,r:2,tone:"soft"}),p(W,{w:"58%",h:5,r:2,tone:"soft"})]}),emailform:O("div",{style:{...K,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[p(W,{w:"56%",h:8,r:3,tone:"dark"}),O("div",{style:{display:"flex",gap:6},children:[p("div",{style:{flex:1,height:16,borderRadius:5,border:`1px solid ${ao.line}`}}),p(W,{w:"30%",h:16,r:5,tone:"accent"})]})]}),sociallogos:p("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center",gap:9},children:[0,1,2,3].map(e=>p(W,{w:16,h:16,r:8,tone:"dark"},e))}),paymentlogos:O("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center",gap:7},children:[p(W,{w:22,h:6,r:2,tone:"soft"}),[0,1,2,3].map(e=>p(W,{w:20,h:13,r:3,tone:"dark"},e))]}),search:p("div",{style:{...K,padding:"0 18%",display:"flex",alignItems:"center"},children:O("div",{style:{flex:1,height:22,borderRadius:11,border:`1px solid ${ao.line}`,display:"flex",alignItems:"center",gap:7,padding:"0 9px"},children:[p("div",{style:{width:9,height:9,borderRadius:5,border:`2px solid ${ao.dark}`}}),p(W,{w:"46%",h:5,r:2,tone:"soft"})]})}),cart:O("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center",gap:7},children:[p("div",{style:{width:22,height:18,borderRadius:"3px 3px 6px 6px",border:`2px solid ${ao.dark}`}}),p("div",{style:{padding:"2px 6px",borderRadius:6,border:`1.5px solid ${ao.dark}`},children:p(W,{w:7,h:7,r:2,tone:"dark"})})]}),countryswitch:O("div",{style:{...K,padding:14,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:5},children:[O("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",border:`1px solid ${ao.line}`},children:[p(W,{w:22,h:6,r:2,tone:"dark"}),p(W,{w:6,h:4,r:1,tone:"soft"})]}),O("div",{style:{width:"46%",display:"flex",flexDirection:"column",gap:4,padding:6,border:`1px solid ${ao.line}`},children:[p(W,{w:"80%",h:4,r:2,tone:"accent"}),p(W,{w:"64%",h:4,r:2,tone:"soft"}),p(W,{w:"72%",h:4,r:2,tone:"soft"})]})]}),legalline:O("div",{style:{...K,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[p("div",{style:{height:1,background:ao.line}}),O("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[p(W,{w:"38%",h:5,r:2,tone:"soft"}),O("div",{style:{display:"flex",gap:5},children:[p(W,{w:14,h:5,r:2,tone:"soft"}),p(W,{w:14,h:5,r:2,tone:"soft"}),p(W,{w:14,h:5,r:2,tone:"soft"})]})]})]}),fallback:p("div",{style:{position:"absolute",inset:14,borderRadius:8,background:ao.block}})};function aA({type:e}){let o=RJ[e]??"",t=LJ[o]??oA[o]??oA.fallback;return p("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 Pp}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as ds,jsxs as rA}from"react/jsx-runtime";import FJ from"efficient-easel/screen/components/SidePanelHead";import{StylesIcon as BJ}from"efficient-easel/rail";import{Tooltip as DJ}from"efficient-shell/ui";import{HintsToggle as NJ,hintsFoldClass as MJ}from"efficient-easel/panel";import{useHints as HJ}from"efficient-easel/screen/lib/hints";function nA({tokenRef:e,siteId:o,onClose:t,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}){let c=es(),{shown:d,setShown:f}=HJ();return rA("div",{className:`sf-styles ${MJ(d)}`.trim(),children:[ds(FJ,{icon:ds(BJ,{}),title:i("Styles"),context:ds(DJ,{content:i("{name} \u2014 renamed in the Console: {place}.",{name:c,place:i("Storefront \u25B8 Sites \u25B8 Settings")}),className:"sf-name-tip",children:ds("span",{className:"sf-name-text",children:c})})}),rA("div",{className:"sf-insp-body es-insp-body sf-scroll",children:[ds(vf,{tokenRef:e,siteId:o,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}),ds(NJ,{shown:d,onChange:f,label:i("Show hints")})]})]})}import{jsx as lo,jsxs as Ur,Fragment as KJ}from"react/jsx-runtime";import{Fragment as bA,useEffect as yA,useRef as pb}from"react";import{useTreeDrag as SA}from"efficient-easel/drag";import{GlobeIcon as VJ,ImageIcon as qJ,LocationIcon as YJ,MapIcon as XJ,TextLinesIcon as ZJ,TrashIcon as wA}from"efficient-easel/icons";import{Subtree as CA,TreeRow as di,TreeRowAction as vA,TreeSeam as kA}from"efficient-easel/tree";import{useEaselStrings as JJ}from"efficient-easel/strings";import{createPreviewSelectionContext as WJ}from"efficient-easel/draw/client";var{Provider:mLe,useSelection:sA}=WJ("selectedLocationPartId");function lA(e,o,t){return`${e}::${o}::${t}`}function iA(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 QJ}from"efficient-easel/screen/lib/screen-parts";import{useSyncExternalStore as zJ}from"react";var $J={level:"groups"},dA=$J,ib=new Set;function Ot(e){dA=e;for(let o of ib)o()}function GJ(e){return ib.add(e),()=>{ib.delete(e)}}var cA=()=>dA;function fA(){return zJ(GJ,cA,cA)}function vu(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 gLe(e){return UJ[ii(e)]}var UJ={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4"};function ii(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 ci=e=>String(e?.group??""),cb=new WeakMap,jJ=0;function ku(e){let o=cb.get(e);return o||(o=`loc${++jJ}`,cb.set(e,o)),o}var uA=(e,o)=>o||e||"Ungrouped",pA={photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
71
|
+
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""};function Gr(e){return vu(e,ci,o=>String(o?.groupName??"")).map(o=>({key:o.key,name:o.name,cards:o.items.map(t=>t.item)}))}var db=e=>e.flatMap(o=>o.cards),mA=(e,o,t)=>Math.min(Math.max(e,o),t);function Tu(e,o,t){let a=0;for(let r=0;r<e.length;r++)if(ci(e[r])===o){if(a===t)return r;a++}return-1}function fb(e,o,t){let a=Gr(e);if(o<0||o>=a.length)return e;let[r]=a.splice(o,1),n=mA(o<t?t-1:t,0,a.length);return a.splice(n,0,r),db(a)}function ub(e,o,t,a,r){let n=Gr(e),s=n.find(m=>m.key===o),l=n.find(m=>m.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&&cb.set(d,ku(c));let f=mA(s===l&&t<r?r-1:r,0,l.cards.length);return l.cards.splice(f,0,d),db(n)}function hA(e,o){let t=Gr(e),a=t.find(n=>n.key===o),r={...pA,group:o,groupName:a?.name??""};return a?(a.cards.push(r),db(t)):[...e,r]}function xA(e){let o=new Set(Gr(e).map(r=>r.key)),t=o.size+1,a=`Group ${t}`;for(;o.has(a);)a=`Group ${++t}`;return{cards:[...e,{...pA,group:a,groupName:""}],key:a}}function IA(e,o){return e.filter(t=>ci(t)!==o)}function gA(e,o,t){let a=Tu(e,o,t);return a<0?e:e.filter((r,n)=>n!==a)}function SLe(e,o,t){let a=e.flatMap((s,l)=>ci(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 wLe(e,o,t){return o.flatMap(a=>{let r=e.filter(n=>ci(n)===a);return r.length?r:t(a)})}var Eu="ContactLocations",Pu=e=>({parentId:`locations-${e}`,slot:"groups"}),mb=(e,o)=>({parentId:`locations-${e}`,slot:`cities:${o}`});function TA(e,o){let{readOnly:t,selected:a}=o,r=JJ().tree,n=o.data?.content??[],s=QJ(e),l=pb(null);yA(()=>{let g=a?.type===Eu?String(a.props.id):null;g&&g!==l.current&&Ot({level:"groups"}),l.current=g},[a?.props.id]);let{selectedLocationPartId:c,setSelectedLocationPartId:d,setSelectHandler:f}=sA(),m=fA(),u=(g,v)=>{let k=n[g];k&&o.replace(g,{type:k.type,props:{...k.props,locations:v}})},x=g=>{let v=n[g]?.props?.locations;return Array.isArray(v)?v:[]},I=SA({keyOf:g=>`group:${g.si}:${g.index}`,readOnly:!!t,canDrop:(g,v)=>v.parentId===Pu(g.si).parentId&&v.slot==="groups",onDrop:(g,v)=>{u(g.si,fb(x(g.si),g.index,v.index)),m.level==="city"&&Ot({level:"groups"})},onStep:(g,v)=>{u(g.si,fb(x(g.si),g.index,v<0?g.index-1:g.index+2)),m.level==="city"&&Ot({level:"groups"})}}),y=SA({keyOf:g=>`city:${g.si}:${g.group}:${g.index}`,readOnly:!!t,canDrop:(g,v)=>v.parentId===Pu(g.si).parentId&&v.slot.startsWith("cities:"),onDrop:(g,v)=>{let k=v.slot.slice(7);u(g.si,ub(x(g.si),g.group,g.index,k,v.index)),Ot({level:"group",key:k})},onStep:(g,v)=>{u(g.si,ub(x(g.si),g.group,g.index,g.group,v<0?g.index-1:g.index+2)),m.level==="city"&&Ot({level:"group",key:g.group})}}),P=pb(n);P.current=n;let C=pb(()=>{});yA(()=>{f(g=>{let v=iA(g);if(!v)return;let k=P.current.findIndex(F=>F.props?.id===v.nodeId);k<0||C.current(k,{level:v.part,index:v.index})})},[f]);let S=(g,v)=>{l.current=n[g]?.props?.id??null,o.select(g),Ot(v),e.reveal();let k=n[g]?.props?.id;typeof k=="string"&&(v.level==="city"||v.level==="image"||v.level==="map")?d(lA(k,v.index,v.level)):d(null),typeof k=="string"&&o.scrollTo(k)};return C.current=S,{renderLocationTree:(g,v,{rowClick:k,isCollapsed:F,toggleCollapse:T})=>{let B=x(v),E=Gr(B),A=String(g.props.id),N=s&&a?.props.id===A,b=R=>lo(kA,{...t?{}:I.seam({place:{...Pu(v),index:R}})},`seam:${A}:groups:${R}`),_=(R,M)=>lo(kA,{...t?{}:y.seam({place:{...mb(v,R),index:M}})},`seam:${A}:cities:${R}:${M}`);return Ur(KJ,{children:[lo(di,{icon:lo(ZJ,{size:13}),name:i("Texts"),words:r,onSelect:()=>S(v,{level:"texts"}),selected:N&&m.level==="texts",rowProps:{onClick:k(()=>S(v,{level:"texts"}))}}),E.map((R,M)=>{let q=`${A}::grp::${R.key}`,V=F(q),U=N&&m.level==="group"&&m.key===R.key,pe=R.name||R.key?uA(R.key,R.name):i("Ungrouped"),J={...mb(v,R.key),index:R.cards.length},Le=y.row({item:{si:v,group:R.key,index:-1},place:J,into:J,canDrag:!1},{onClick:k(()=>S(v,{level:"group",key:R.key}))}),ze=I.row({item:{si:v,index:M},place:{...Pu(v),index:M}},Le.rowProps);return Ur(bA,{children:[M===0&&b(0),lo(di,{icon:lo(VJ,{size:13}),name:pe,words:r,onSelect:()=>S(v,{level:"group",key:R.key}),selected:U,draggable:ze.draggable,dragging:ze.dragging,drop:ze.drop??Le.drop,fold:{open:!V,label:i("group"),onToggle:()=>T(q)},actions:lo(vA,{kind:"delete",label:wo("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",R.cards.length,{label:pe}),onClick:()=>{u(v,IA(B,R.key)),Ot({level:"groups"})},children:lo(wA,{size:15})}),rowProps:ze.rowProps,count:R.cards.length,countLabel:wo("{n} city","{n} cities",R.cards.length)}),!V&&Ur(CA,{children:[R.cards.map((Ce,he)=>{let _e=Tu(B,R.key,he),Ne=N&&m.level==="city"&&m.index===_e,Je=String(Ce?.name??"")||i("City"),So=`${A}::city::${ku(Ce)}`,ce=F(So),{rowProps:ve,...Ge}=y.row({item:{si:v,group:R.key,index:he},place:{...mb(v,R.key),index:he}},{onClick:k(()=>S(v,{level:"city",index:_e}))});return Ur(bA,{children:[he===0&&_(R.key,0),lo(di,{icon:lo(YJ,{size:13}),name:Je,words:r,onSelect:()=>S(v,{level:"city",index:_e}),selected:Ne,...Ge,fold:{open:!ce,label:Je,onToggle:()=>T(So)},actions:lo(vA,{kind:"delete",label:i("Delete {name}",{name:Je}),onClick:()=>{u(v,gA(B,R.key,he)),Ot({level:"group",key:R.key})},children:lo(wA,{size:15})}),rowProps:ve}),!ce&&Ur(CA,{children:[lo(di,{icon:lo(qJ,{size:13}),name:i("Image"),words:r,onSelect:()=>S(v,{level:"image",index:_e}),selected:N&&m.level==="image"&&m.index===_e,rowProps:{onClick:k(()=>S(v,{level:"image",index:_e}))}}),lo(di,{icon:lo(XJ,{size:13}),name:i("Map"),words:r,onSelect:()=>S(v,{level:"map",index:_e}),selected:N&&m.level==="map"&&m.index===_e,rowProps:{onClick:k(()=>S(v,{level:"map",index:_e}))}})]}),_(R.key,he+1)]},ku(Ce))}),Ur("button",{type:"button",className:"sf-add-card",onClick:()=>{let Ce=hA(B,R.key);u(v,Ce);let he=Gr(Ce).find(_e=>_e.key===R.key);Ot(he&&he.cards.length?{level:"city",index:Tu(Ce,R.key,he.cards.length-1)}:{level:"group",key:R.key})},children:[lo("span",{className:"sf-plus sf-plus--sm",children:"+"}),i("Add city")]})]}),b(M+1)]},q)}),Ur("button",{type:"button",className:"sf-add-card",onClick:()=>{let{cards:R,key:M}=xA(B);u(v,R),S(v,{level:"group",key:M})},children:[lo("span",{className:"sf-plus sf-plus--sm",children:"+"}),i("Add group")]})]})},sectionPressed:g=>{g?.type===Eu&&Ot({level:"groups"})}}}import{useEffect as mQ,useRef as hQ}from"react";import{createNode as Ib,newId as gb}from"efficient-easel/data";import{useEaselApi as xQ}from"efficient-easel/easel";import{useScreenDocument as IQ}from"efficient-easel/screen/components/ScreenDocumentContext";import{useEaselSession as gQ}from"efficient-easel/screen/lib/session-context";import{useEffect as NA,useRef as fQ}from"react";import{useEasel as uQ}from"efficient-easel/easel";import{ROOT_ZONE as xb}from"efficient-easel/draw";import{readHidable as aQ}from"efficient-easel/draw";var eQ="inline",oQ=[{label:"In this section",value:"inline"},{label:"In its own box",value:"own-box"}];var vo={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"}},fs="SectionHeader";function PA(e){return e in vo}function EA(e){return no(oQ,eQ,e)}var tQ=new Set(["Flex"]);function MLe(e){return!!e?.type&&tQ.has(e.type)}var OA={not:{field:"headPlacement",is:"own-box"}},HLe={not:OA};function WLe(e,o,t){return Ys(e,t,OA)}var $t=Z,Gt=ye;function us(e){if(e.theme)return Qe(e.theme);let o=e.site?.themePresets;return o?Qe({selected:e.site?.selectedPreset??0,themes:[...o]}):void 0}function rQ(e,o){return o===0?`${e}~box`:`${e}~box-${o+1}`}var AA=new Set(["id"]),jr={},RA=[],fi=["Breadcrumb","DocBody","Form","SubmitBuild","Footprint","Stats","Logos","FitmentFinder","DocMasthead","Timeline","TimelineTrack"];function Fo(e){for(let[o,t]of Object.entries(e)){if(o in jr&&jr[o]!==t)throw new Error(`lib/sections/section-to-box: "${o}" already has a row`);jr[o]=t}}function ui(e){return jr[e]}function nQ(e){return e in jr&&RA.includes(e)}function LA(e,o=fi){return e in jr&&(o.includes(e)||nQ(e))}function ZLe(e){let o=vo[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 hb=e=>aQ(e),ro=e=>hb(e).text.trim()!=="";function sQ(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 lQ=e=>e==="heading"?va():e==="eyebrow"?mt():{};function iQ(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 cQ(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 _A(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 dQ(e){let o=new Set([...AA,"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}function Ou(e,o,t={}){let a=e.props,r=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=(k,F)=>{s.push({key:k,home:F}),d.add(k)},m=a._partStyles??{},u=dQ(o),x=0,I=(k,F)=>({type:k,props:{...F,id:`${n}~${k}-${++x}`}}),y=(k,F,T,B,E,A,N)=>{if(E){for(let _ of k??[]){let R=typeof _=="string"?_:_[0];T[R]!==void 0&&N(R,`nothing \u2014 the ${B} has no parts, so it is not drawn`)}return}let b=typeof F=="function"?F(a,t):F??{};return _A(k??[],b,T,(_,R,M)=>N(_,M?`nothing \u2014 the old value draws nothing (${B}: no ${R})`:`${A}${B}: ${R}`),t)},P=k=>Ho(k,F=>`${n}~${F}-${++x}`),C=(k,F,T)=>{let B=k.of?k.of(F):Array.isArray(F[k.key])?F[k.key]:[],E=typeof k.props=="function"?k.props(a,t):k.props??{},A=B.map((M,q)=>{let V=M??{},U=k.item?.(V,q,a)??{},pe=S(U.reverse?[...k.parts].reverse():k.parts,V,!1,`item ${q+1}: `);return k.flat?U.props?pe.map(J=>({...J,props:{...J.props,...U.props,id:J.props.id}})):pe:[I($t,{name:`${k.name} ${q+1}`,...E,...U.props??{},[Gt]:pe})]});if(k.groups){let M=k.groups;return T(k.key,B.length?`one Box per item (${B.length}), in a Box per group`:"nothing \u2014 the list is empty"),vu(B.map(q=>q??{}),M.of,M.of).map((q,V)=>{let U=q.items.map(he=>he.item),pe=M.parts?S(M.parts,M.head?.(U,a)??{},!1,`group ${V+1}: `):[],J=q.items.map(he=>A[he.index]),Le=M.perRow?.(U.length,a),ze=Number.isInteger(Le)&&Le>=1?Le:1,Ce=[];if(M.perRow&&ze<J.length)for(let he=0;he*ze<J.length;he++)Ce.push(J.slice(he*ze,(he+1)*ze).flat());return I($t,{name:`${M.name} ${V+1}`,...M.props??{},[Gt]:[...pe,I($t,{name:`${M.itemsName} ${V+1}`,...M.itemsProps?.(U.length,a)??{},[Gt]:Ce.length?Ce.map((he,_e)=>I($t,{name:`${M.rowName??`${M.itemsName} row`} ${_e+1}`,...M.rowProps??{},[Gt]:he})):J.flat()})]})})}let N=k.perRow?.(a),b=k.perRow?Number.isInteger(N)&&N>=1?N:1:0;if(T(k.key,(B.length?k.flat?`each item's parts (${B.length} items), in order`:`one Box per item (${B.length}), its parts inside`:"nothing \u2014 the list is empty")+(b&&B.length?`, in rows of ${b}`:"")),!b)return A.flat();let _=typeof k.rowProps=="function"?k.rowProps(a,t):k.rowProps??{},R=[];for(let M=0;M*b<A.length;M++){let q=A.slice(M*b,(M+1)*b).flat(),V=k.rowFiller?b-A.slice(M*b,(M+1)*b).length:0;R.push(I($t,{name:`${k.rowName??`${k.name} row`} ${M+1}`,..._,[Gt]:[...q,...Array.from({length:V},(U,pe)=>I($t,{name:`Empty ${pe+1}`,...k.rowFiller,[Gt]:[]}))]}))}return R},S=(k,F,T,B)=>{let E=[],A=(b,_)=>T?f(b,_):void 0,N=b=>T?m[b]:void 0;for(let b of k)if(!(b.when&&!b.when(a,T?void 0:F)))switch(b.kind){case"text":{let _=hb(F[b.key]);if(!_.text.trim()&&!(T&&t.press&&o.pressKeepsEmpty?.includes(b.key))){A(b.key,"nothing \u2014 empty words draw nothing, so no block");break}let R=lQ(b.role??"body"),{_partStyles:M,...q}=R,V=iQ(R,b.styleFrom?{...b.style,...b.styleFrom(a,t)}:b.style,N(b.key),b.props?.align);if(b.was&&T){let U=V._partStyles?.text??{};c.push({key:b.key,was:b.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)}:{}})}E.push(I("Text",{text:b.mark==="accentLead"?sQ(_.text):b.mark==="accentItalic"?rr(_.text):_.text,...q,...b.props??{},...V,..._.hidden?{_hidden:!0}:{}})),A(b.key,`${B}Text block: its words${_.hidden?", hidden":""}`);break}case"button":{let _=hb(F[b.key]);if(!_.text.trim()){A(b.key,"nothing \u2014 no words, no button"),A(b.href,"nothing \u2014 no button to link"),typeof b.variant=="object"&&A(b.variant.key,"nothing \u2014 no button to style");break}let R=typeof F[b.href]=="string"&&F[b.href]?F[b.href]:"#",M={...b.style??{},...N(b.key)??{}};E.push(I("ButtonBlock",{label:_.text,href:R,...typeof b.props=="function"?b.props(F,t):b.props??{},...cQ(b.variant,F),...Object.keys(M).length?{_partStyles:{label:M}}:{},..._.hidden?{_hidden:!0}:{}})),A(b.key,`${B}Button block: its words`),A(b.href,`${B}Button block: its link`),typeof b.variant=="object"&&A(b.variant.key,`${B}Button block: its Style`);break}case"image":{let _=F[b.key];if(typeof _!="string"||!_){A(b.key,"nothing \u2014 no picture, no block"),b.alt&&A(b.alt,"nothing \u2014 no picture to describe");break}let R=b.alt&&typeof F[b.alt]=="string"?F[b.alt]:"";E.push(I("ImageBlock",{src:_,alt:R,...b.props??{}})),A(b.key,`${B}Image block: its picture`),b.alt&&A(b.alt,`${B}Image block: its alt text`);break}case"list":{E.push(...C(b,F,A));break}case"group":{let _=S(b.parts,F,T,B),R=y(b.box,b.props,F,`${b.name} Box`,!_.length&&!b.keepEmpty,B,A);R&&E.push(I($t,{name:b.name,...R,[Gt]:_}));break}case"block":{let _=b.parts?S(b.parts,F,T,B):[],R=y(b.box,b.props,F,`${b.type} block`,!!b.parts&&!_.length&&!b.keepEmpty,B,A);R&&E.push(I(b.type,{...R,...b.slot?{[b.slot]:_}:{}}));break}case"core":{let _=b.as??e.type,R={...b.headless?{}:{headPlacement:"own-box"},...b.props??{}},M=b.keep==="rest"?Object.keys(F).filter(V=>!u.has(V)&&!(V in R)):b.keep;for(let V of M)F[V]!==void 0&&(R[V]=F[V],A(V,`the ${_} block inside the Box`));if(b.keep==="rest"){for(let U of Object.keys(b.props??{}))F[U]!==void 0&&!u.has(U)&&A(U,`nothing \u2014 the ${_} block inside the Box has the row's own value`);F.headPlacement!==void 0&&A("headPlacement",`the ${_} block inside the Box: own-box`);let V=Object.fromEntries(Object.entries(m).filter(([U])=>!u.has(U)));Object.keys(V).length&&(R._partStyles=V)}for(let[V,U]of Object.entries(b.rename??{}))F[V]!==void 0&&(R[U]=F[V],A(V,`the ${_} block inside the Box: ${U}`));if(b.derive){Object.assign(R,b.derive.props(F,t));for(let V of b.derive.reads)F[V]!==void 0&&A(V,`the ${_} block inside the Box`)}let q=typeof b.slots=="function"?b.slots(F,t):b.slots??{};for(let[V,U]of Object.entries(q))R[V]=U.flatMap(pe=>"kind"in pe?C(pe,F,A):P([pe]));E.push(I(_,R));break}}return E},g=(k,F)=>{let T=F===0?"Box":`${k.name} Box`,B=S(k.parts,a,!0,F===0?"":`${T}: `),E=typeof k.boxProps=="function"?k.boxProps(a,t):k.boxProps??{},A=_A(k.box??[],E,a,(N,b,_)=>f(N,_?`nothing \u2014 the old value draws nothing (${T}: no ${b})`:`${T}: ${b}`),t);return{type:$t,props:{name:k.name,...A,[Gt]:B,id:rQ(n,F)}}},v=[o,...o.also??[]].map(g);a._partStyles!==void 0&&f("_partStyles","each old part's style moved to its new part");for(let[k,F]of Object.entries(o.reads??{}))a[k]!==void 0&&f(k,F);for(let[k,F]of Object.entries(o.drop??{}))k in a&&(l.push({key:k,why:F}),d.add(k));for(let k of Object.keys(a))AA.has(k)||d.has(k)||l.push({key:k,why:"not in the row \u2014 not carried"});return{node:v[0],nodes:v,carried:s,dropped:l,siteWrites:[...o.site?.(e,t)??[]],restyled:c}}function FA(e,o=RA,t={}){if(!Array.isArray(e))return[];let a=[];return e.forEach((r,n)=>{let s=r&&typeof r.type=="string"&&o.includes(r.type)?jr[r.type]:void 0;if(!s)return;let l=Ou(r,s,t);l.skipped===void 0&&a.push({index:n,node:l.node,nodes:l.nodes})}),a}var pi={};function BA(e){return pi=e?.theme?{theme:e.theme}:{},pi}function DA(e){pi===e&&(pi={})}function _u(){return pi}function HA(e){let o=uQ(s=>s.appState.data.content),{theme:t,themeRow:a,themeFromDocument:r}=de(),n=fQ(new Set);NA(()=>{let s=MA({theme:t,themeRow:a,themeFromDocument:r});s&&pQ(FA(o,void 0,s),e,n.current)},[o,e,t,a,r]),NA(()=>{let s=BA(MA({theme:t,themeRow:a,themeFromDocument:r}));return()=>DA(s)},[t,a,r])}function MA(e){return e.themeFromDocument||e.themeRow==="none"?{}:e.themeRow==="read"?{theme:e.theme}:null}function pQ(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(xb,a,r[0]),r.slice(1).forEach((s,l)=>{o.insertNode(xb,a+1+l,s),o.replaceComponent(xb,a+1+l,s)}))}}import{ROOT_ZONE as ps,missingPinnedTypes as bQ,pinnedDuplicateIds as bb}from"efficient-easel/draw";function WA(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function zA(e,o){let t=e.some(l=>l?.type===Re),a=e[e.length-1],r=!t&&a?.type===We?a:null,n=e.filter(l=>l?.type===We&&l!==r).map(l=>String(l.props?.id??"")).filter(Boolean),s=o.hasChromeDoc&&!t&&!r;return{remove:n,seedHeader:!e.some(l=>l?.type===Lo),seedFooter:s,seedSiteHeader:s&&!e.some(l=>l?.type===Me)}}async function $A(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(yc(a,t)),!0)}function GA(e,o){let{adapter:t,capabilities:a,currentSlug:r,docId:n,data:s,saveStatus:l,siteId:c,tokenRef:d}=IQ(),f=gQ(),{hasSiteSettings:m,hasPinnedChrome:u}=a;HA(e);let x=!!a.editsPinnedInPlace&&r!==yt,I=r===yt,y=xQ().getState,P=hQ(null);mQ(()=>{if(!WA({docId:n,saveStatus:l,seededDocId:P.current})||(P.current=n,!u))return;let C=y().appState.data,S=C.content,g=s?.content??[],v=(B,E)=>B.some(A=>A?.type===E);if(!m){let B=new Set(bb(S)),E=B.size?S.filter(N=>!B.has(N.props.id)):S;if(B.size&&e.setDocument({...C,content:E}),I)return;let A=bQ(E,g);if(A.includes(We)){let N=E.length,b=e.insertSection(We,N);e.replaceComponent(ps,N,{type:We,props:{id:b,blocks:gu()}})}A.includes(Lo)&&e.insertNode(ps,0,Iu());return}if(I){let B=xn(S);if(B!==S&&e.setDocument({...C,content:[...B]}),!B.find(E=>E.type===We)&&!v(g,We)&&!v(B,Re)&&!v(g,Re)){let E=(N,b)=>Ib(o,N,b),A={type:We,props:{blocks:gu()}};e.insertNode(ps,B.length,ni(A,E,gb(Re)))}return}if(x){let B=!!t?.pinnedChrome?.state().docId,E=zA(S,{hasChromeDoc:B}),A=new Set([...E.remove,...bb(S.filter(b=>!E.remove.includes(String(b.props.id))))]),N=A.size?S.filter(b=>!A.has(String(b.props.id))):S;if(N.length!==S.length&&e.setDocument({...C,content:N}),E.seedFooter&&!v(g,We)&&!v(g,Re)){let b=(R,M)=>Ib(o,R,M),_={type:We,props:{blocks:gu()}};e.insertNode(ps,N.length,ni(_,b,gb(Re)))}if(E.seedHeader&&!v(g,Lo)){let b=N[0]?.type===Me?1:0;e.insertNode(ps,b,Iu())}if(E.seedSiteHeader&&!v(g,Me)&&!v(g,We)&&!v(g,Re)){let b=n;$A({blocks:Wc(f),make:(_,R)=>Ib(o,_,R),id:gb(Me),siteId:c??null,token:d.current,latest:()=>y().appState.data.content,stillOpen:()=>P.current===b,write:_=>{let R=y().appState.data;e.setDocument({...R,content:[..._]})}})}return}let k=S.filter(B=>B.type!==We),F=new Set(bb(k)),T=F.size?k.filter(B=>!F.has(B.props.id)):k;T.length!==S.length&&e.setDocument({...C,content:T}),!v(T,Lo)&&!v(g,Lo)&&e.insertNode(ps,0,Iu())},[n,l,s,y,e,m,u,I,x,t,f,c,d])}import{useEffect as wB,useMemo as $te,useRef as CB}from"react";import{useEasel as Gte}from"efficient-easel/easel";import{useEaselHost as Ute}from"efficient-easel/screen/lib/host";import{FIELD_DESCRIPTION_MARKER as Dte}from"efficient-easel/screen/lib/host";import{isNode as ky}from"efficient-easel/data";var UA=[{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"}],RFe={label:"Scrolling Bar",defaultProps:{items:[],tone:"scrim",borders:!0,size:Zp,separator:Jp,scrollDirection:Ul}};var jA=()=>[{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"},{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"}],BFe={label:"Spec Strip",defaultProps:{cells:[{text:"",tone:"normal"},{text:"",tone:"normal"}],fill:"dark"}};var Kr={direction:"row",share:"content",align:"center"},mi={top:14,bottom:14,topPhone:12,bottomPhone:12},Au={wrap:"nowrap",loop:"scroll",sectionAccent:Bh,gap:60,gapPhone:32,separator:"dot",sectionBorder:{top:1,bottom:1}},KA={gap:120,gapPhone:64},Ru={...ut,sizeToken:{step:"label",px:14,pxPhone:12},letterSpacing:.25,lineHeight:1.5},VA={textStyle:"heading-3",letterSpacing:.005,case:"upper",lineHeight:1},hi={top:16,bottom:16,topPhone:12,bottomPhone:12},xi={justify:"between",wrap:"wrap",gap:32,separator:"none"},Ii={...ut,letterSpacing:.1,lineHeight:1.5};function ho(e,o,t,a={}){return{type:e,props:{...o(e),id:t(e),...a}}}function qA(e,o,t){return ho(Z,e,o,{...t,sectionPaddingTop:void 0,sectionPaddingBottom:void 0})}var Lu={Manifesto:(e,o)=>({type:Z,props:{...e(Z),id:o(Z),direction:"row",share:"equal",sectionHeightMode:"screen",name:"Brand Text",content:[ho(Z,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:40,sectionPaddingRight:40,content:[ho("Text",e,o,mt()),ho("Text",e,o,va()),ho("Text",e,o),ho("Stats",e,o)]}),qA(e,o,{direction:"column",name:"Picture",content:[]})]}}),Split:(e,o)=>({type:Z,props:{...e(Z),id:o(Z),direction:"row",share:"equal",sectionHeightMode:"screen",sectionHeightValue:70,name:"Image & Text Split",content:[ho(Z,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:60,sectionPaddingRight:60,content:[ho("Text",e,o,mt()),ho("Text",e,o,va()),ho("Text",e,o),ho("ButtonBlock",e,o)]}),qA(e,o,{direction:"column",name:"Image",content:[ho("ImageBlock",e,o)]})]}}),Subscribe:(e,o)=>({type:Z,props:{...e(Z),id:o(Z),direction:"column",name:"Subscribe",content:[ho("Text",e,o,va()),ho("Text",e,o),ho("Form",e,o)]}}),Ticker:(e,o)=>YA("Scrolling Bar",Au,mi,UA.map(t=>({text:t.text,style:Ru,muted:!0})),e,o),SpecStrip:(e,o,t)=>YA("Spec Strip",t?.theme?{...xi,sectionAccent:oc(Qe(t.theme))}:{...xi,sectionBorder:{top:1}},hi,jA().map(a=>({text:a.text??"",style:Ii,muted:a.tone==="muted"})),e,o)};function YA(e,o,t,a,r,n){return ho(Z,r,n,{...Kr,...o,blockSpacing:"gap",padV2:!0,name:e,sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom,sectionPaddingTopPhone:t.topPhone,sectionPaddingBottomPhone:t.bottomPhone,content:a.map(s=>ho("Text",r,n,{text:s.text,...s.muted?{tone:"dim"}:{},_partStyles:{text:s.style}}))})}function XA(e){return Lu[e]??null}import{phoneKey as kQ}from"efficient-easel/draw";var ZA={label:"Button",defaultProps:{label:"",href:"#",variant:"primary",align:"left",contained:!0}};import{jsx as yQ}from"react/jsx-runtime";var Fu={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}},JA=new Set(Object.keys(Fu)),eR=new Set(["Flex","Text","Heading","ImageBlock"]),SQ=new Set(["Divider"]),wQ=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),QA=new Set(["ProductGrid"]);function yb(e,o,t=!1){let a=e.render;e.render=r=>{if(o?.(r))return a(r);let n=ad(Dk(r,td,t)),s=a(r),l=Qk(r);return n?yQ("div",{className:l?`${n.className} ${l}`:n.className,style:n.style,children:s}):s}}var JFe={name:"sectionPadding",applies:(e,o,t)=>o.isSection(e)&&!wQ.has(e)&&!!t&&typeof t.render=="function",panel(e,o,t){JA.has(o)||QA.has(o)||(e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})})},draw(e,o){if(JA.has(o)){let t=e.render,a=Fu[o];e.render=r=>{let n=rd(r,a);return t({...r,padTop:n.top,padBottom:n.bottom})};return}if(QA.has(o)){yb(e);return}eR.has(o)||SQ.has(o)||yb(e,o==="Flex"?t=>Nc(t.bgImage):void 0,!0)}},CQ=["Heading","Text","ImageBlock"],vQ=["LogoBlock"],QFe={name:"blockPadding",applies:(e,o,t)=>(CQ.includes(e)||vQ.includes(e))&&!!t&&typeof t.render=="function",panel(e,o,t){e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})}},draw(e,o){eR.has(o)||yb(e,void 0,!0)}};import{parseHexColor as TQ}from"efficient-shell/format";import{convertLength as PQ,isLengthUnit as EQ}from"efficient-easel/screen/lib/content/length-units";var Sb=e=>EQ(e)?e:"px",za=(e,o,t,a)=>o===t?e:PQ(e,o,t,a,{min:0,max:200,step:4}),Vr={textFit:"line",textFitPhone:"wrap"},qr={...$,[dt]:""},{label:gBe,href:bBe,...OQ}=ZA.defaultProps,Ze=OQ,ma={buttonFillOpacity:0,buttonBorder:{width:0},buttonPaddingTop:0,buttonPaddingRight:0,buttonPaddingBottom:0,buttonPaddingLeft:0},te={...pc,sectionAccent:0},se=["gridSpan","sectionHeightMode","sectionHeightValue","sectionHeightUnit","sectionHeightModeTablet","sectionHeightValueTablet","sectionHeightUnitTablet","sectionHeightModePhone","sectionHeightValuePhone","sectionHeightUnitPhone","sectionCorners","sectionCornerSides","sectionBorder","sectionBorderTablet","sectionBorderPhone","sectionAccent","stickTop","stickTopDistance","stickTopTablet","stickTopDistanceTablet","stickTopPhone","stickTopDistancePhone","anchor","sectionAnimation","_hidden",...Object.values(ke).flatMap(e=>[e,kQ(e)]),"widthFit","widthFitTablet","widthFitPhone","width","widthTablet","widthPhone","minWidth","minWidthTablet","minWidthPhone","maxWidth","maxWidthTablet","maxWidthPhone",...Object.values(so)],ms="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",le={sectionSurface:"read by nothing in src/ (searched 2026-10-24): a retired theme key that draws nothing today, so dropping it changes nothing",widthMode:ms,fullWidth:ms,pageWidth:ms,backgroundWidth:ms,contentWidth:ms,contentMax:ms},xe=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 ue(e,o){let t=j(e.sectionPaddingTop)??0,a=j(e.sectionPaddingBottom)??0,r=j(e.sectionPaddingTopTablet),n=j(e.sectionPaddingBottomTablet),s=Sb(e.sectionPaddingUnit),l=Sb(e.sectionPaddingUnitTablet),c=Sb(e.sectionPaddingUnitPhone),d=(m,u,x,I)=>{let y=j(m);if(y!==void 0)return y+za(I,"px",c,"mobile");let P=u===void 0?{n:x,unit:s}:{n:u,unit:l};return za(P.n,P.unit,c,"mobile")+za(I,"px",c,"mobile")},f=(m,u,x,I,y)=>u!==void 0?{[m]:u+za(y??I,"px",l,"tablet")}:y===void 0?{}:{[m]:za(x,s,l,"tablet")+za(y,"px",l,"tablet")};return{sectionPaddingTop:t+za(o.top,"px",s,"desktop"),sectionPaddingBottom:a+za(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 we=e=>[...["sectionPaddingTop","sectionPaddingBottom","sectionPaddingTopTablet","sectionPaddingBottomTablet","sectionPaddingTopPhone","sectionPaddingBottomPhone"].map(o=>[o,o,(t,a)=>ue(a,typeof e=="function"?e(a):e)[o]]),["sectionPaddingUnit","sectionPaddingUnit"],["sectionPaddingUnitTablet","sectionPaddingUnitTablet"],["sectionPaddingUnitPhone","sectionPaddingUnitPhone"]];function ko(e,o){let t=rd(e,Fu[o]);return{sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom}}var $a=e=>[["padTop","sectionPaddingTop",(o,t)=>ko(t,e).sectionPaddingTop],["padBottom","sectionPaddingBottom",(o,t)=>ko(t,e).sectionPaddingBottom],["sectionPaddingTop","sectionPaddingTop",(o,t)=>ko(t,e).sectionPaddingTop],["sectionPaddingBottom","sectionPaddingBottom",(o,t)=>ko(t,e).sectionPaddingBottom]],_Q={kind:"heading-case-upper",styles:["heading-1","heading-2","heading-3"]},yBe=e=>o=>ro(o.props[e])?[_Q]:[],Ie=(e,o)=>({kind:"text",key:e,role:"eyebrow",props:$,...o?{style:o}:{}}),oR=e=>e.background!=="transparent",AQ=(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},gi={align:"right",alignPhone:"left"},RQ=(e,o,t)=>{let a=r=>AQ(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}},bi=(e,o,t,a={})=>RQ(e,o,{...qr,...gi,...a,_partStyles:{text:{...ut,color:"labels",...t,case:ut.case,...gi}}}),yi=(e,o)=>typeof e=="number"&&Number.isInteger(e)&&e>=0?e:us(o)?.selected??0,tR="var(--site-surface)",aR="var(--site-surface-2)",Bu=(e,o)=>us(o)?.themes[yi(e.sectionAccent??0,o)],Bo=e=>(o,t)=>{let a=Bu(o,t)?.[e];return a?{fillColor:a}:{}},rR=e=>e.startsWith("#")&&TQ(e)!==null,Du=(e,o,t)=>{let a=e?.trim();if(a&&rR(a))return{fillColor:a};if(a===tR)return Bo("surface")(o,t);let r=a===aR?Bu(o,t):void 0;return r?{fillColor:ec(r)}:{}},Nu=e=>{let o=e?.trim();return!o||o==="transparent"||o===bo||o===tR||o===aR||rR(o)?void 0:"it paints a colour that no Box Fill can hold"},Yr=(e,o)=>{let t=us(o)?.themes;return t&&oR(e)?iS(t,yi(e.sectionAccent,o)):-1},Ga=(e,o,t)=>{let a=Yr(o,t);return a>=0?a:e},Xr=(e,o)=>{let t=Yr(e,o);return t>=0?{sectionAccent:t}:{}},Ua=(e,o)=>oR(e.props)&&Yr(e.props,o)<0?[{kind:"band-preset",page:yi(e.props.sectionAccent,o)}]:[],hs=e=>hd(e.site?.siteGutter),Si=Object.fromEntries(["Top","Right","Bottom","Left","TopPhone","RightPhone","BottomPhone","LeftPhone"].map(e=>[`sectionPadding${e}`,0])),wi=e=>({top:0,right:0,bottom:0,left:0,...e}),wb=(e,o,t,a=[])=>({kind:"group",name:e,keepEmpty:!0,props:(r,n)=>({...L,...Si,...Bo("surface")(r,n),...typeof t=="function"?t(r,n):t}),box:[[o,"bgImage"],He.kind,He.duration,He.delay],parts:a});import{phoneKey as VR,readHidable as Gb}from"efficient-easel/draw";import{jsx as Ai,Fragment as bee,jsxs as _R}from"react/jsx-runtime";import{jsx as Ab,jsxs as nee}from"react/jsx-runtime";import{jsx as LQ}from"react/jsx-runtime";function nR(){return LQ("span",{className:"block h-px w-[30px] bg-current"})}import{jsxs as Pi,jsx as Ke}from"react/jsx-runtime";import{Fragment as yR}from"react";import{Fragment as YQ,jsx as Ob}from"react/jsx-runtime";import{Fragment as dR,jsx as vi,jsxs as zQ}from"react/jsx-runtime";import{createContext as Eb,useContext as ki,useEffect as $Q,useId as GQ,useMemo as UQ,useRef as jQ}from"react";import{armEntrance as KQ}from"efficient-shell/format";import{jsx as DQ}from"react/jsx-runtime";import{useEffect as cR,useRef as iR,useState as NQ}from"react";import{armEntrance as MQ,entranceAttrs as HQ,playEntrance as WQ}from"efficient-shell/format";import{jsx as Ci}from"react/jsx-runtime";import{createContext as lR,useContext as ja}from"react";var sR={stretchedRow:!1,fillingColumn:!1},Ka=lR(null),PBe=()=>ja(Ka)!==null,EBe=()=>ja(Ka),OBe=()=>ja(Ka)?.id??null,Mu=lR(!1);function FQ(){let e=ja(Ka)?.stretchedRow===!0,o=ja(Mu);return e&&!o}var BQ=()=>ja(Mu);function Cb(){let e=ja(Ka),o=FQ(),t=BQ();return{fill:t?` ${Zk}`:"",inner:a=>{let r=o||t?Ci(Mu.Provider,{value:!0,children:a}):a;return e?.columnsRow?Ci(Ka.Provider,{value:{...e,columnsRow:!1},children:r}):r}}}function _Be({className:e,style:o,attrs:t,children:a}){let{fill:r,inner:n}=Cb();return Ci("div",{className:`${e}${r}`,...o?{style:o}:{},...t,children:n(a)})}function ABe({children:e}){let o=ja(Ka),t=o===null?null:o.id===void 0?sR:{...sR,id:o.id};return Ci(Ka.Provider,{value:t,children:Ci(Mu.Provider,{value:!1,children:e})})}function kb({desktop:e,phone:o,editing:t,boxClass:a,boxAttrs:r,boxStyle:n,children:s}){let l=iR(null),c=Cb(),d=Tb(l),f=d?o:e,{attrs:m,style:u}=HQ(f),x=iR(vb.seed(e,o)),I=JSON.stringify(e),y=JSON.stringify(o);return cR(()=>{let P=l.current;if(P){if(t){let C=vb.next(x.current,e,o,d);x.current=C.seen,C.play&&WQ(P);return}return MQ(P)}},[I,y,d,t]),DQ("div",{ref:l,className:`${$f}${c.fill}${a?` ${a}`:""}`,...r,...m,...Object.keys(u).length||n?{style:{...n,...u}}:{},children:c.inner(s)})}var vb={seed(e,o){return{desktop:JSON.stringify(e),phone:JSON.stringify(o)}},next(e,o,t,a){let r=vb.seed(o,t);return{play:a?r.phone!==e.phone:r.desktop!==e.desktop,seen:r}}};function Tb(e,o=!0){let[t,a]=NQ(!1);return cR(()=>{if(!o)return;let r=e.current?.ownerDocument?.defaultView??(typeof window>"u"?null:window);if(!r?.matchMedia)return;let n=r.matchMedia(Wn),s=()=>a(n.matches);return s(),n.addEventListener("change",s),()=>n.removeEventListener("change",s)},[e,o]),t}var Hu=Eb(null),uR=Eb(null),pR=Eb(null);function VBe({needles:e,styles:o,motions:t=P_,type:a,children:r}){let n=GQ(),s=JSON.stringify([n,e,o,t,a]),l=UQ(()=>{let d=Object.keys(t).filter(f=>O_(t[f]));return oE(e,o,n,f=>Xl(a,f),f=>X0(a,f),f=>d.includes(f)?Ng(t[f]):null,d)},[s]);if(!l)return vi(dR,{children:r});let c=tE(l);return zQ(dR,{children:[c&&vi("style",{href:`${VQ}${n}-${qQ(c)}`,precedence:hR,dangerouslySetInnerHTML:{__html:c.replace(/</g,"\\3c ")}}),vi(Hu.Provider,{value:l,children:r})]})}var Pb=new WeakMap;function fR(e,o){let t=A_(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)?(L_(e.ownerDocument),e.setAttribute(Jf,"")):e.removeAttribute(Jf)}function mR(e){let o=jQ(null),t=e?.motion?.entrance??null,a=e?.motion?.hover==="lift",r=Tb(o,t!==null),n=JSON.stringify(t);return $Q(()=>{let s=o.current,l=R_(s?.parentElement??null);if(!t&&!a||!s||!l)return;let c=t?()=>{let m=__(l,r?t.phone:t.desktop),u=KQ(l);return()=>{u?.(),m()}}:null,d=Pb.get(l)??[];Pb.set(l,d);let f={element:s,arm:c,lift:a};return d.push(f),fR(l,d),()=>{let m=d.indexOf(f);m<0||(d.splice(m,1),f.undo?.(),f.undo=void 0,fR(l,d),d.length||Pb.delete(l))}},[n,a,r]),o}var hR="sf-part-styles",VQ=`${hR}-`;function qQ(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 xR(e){let o=ki(Hu),t=ki(uR),a=aE(o,e);return a&&a.stamp!==t?a:null}function qBe(e){return vI(ki(Hu),e)}function IR({stamp:e,children:o}){return vi(uR.Provider,{value:e,children:o})}function YBe({children:e}){let o=ki(Hu);return vi(pR.Provider,{value:o,children:e})}function XBe(e){return vI(ki(pR),e)}function Ti({value:e,children:o}){let t=xR(e),a=mR(t);return t?Ob(IR,{stamp:t.stamp,children:Ob("span",{ref:a,[mI]:t.stamp,...t.textStyle?{[Kn]:t.textStyle}:{},children:o})}):Ob(YQ,{children:o})}import{jsx as _b,Fragment as XQ}from"react/jsx-runtime";function gR({className:e=""}){return _b("sup",{className:`text-accent tracking-normal text-[length:min(1em,max(0.75em,11px))] ${e}`,children:"\xAE"})}function Wu(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(_b(gR,{},`r${r}`))}),_b(XQ,{children:t})}var aDe=gR;function et(e,o=!1,t){let a=ree(o),r=Bs(e);if(r.length===1){let[s]=r,l=Xp(s),c=l?tee(l,s.children):s.children;return Pi(Ti,{value:e,children:[t,zu(c,a)]})}let n=[];return r.forEach((s,l)=>{if(s.bullet){n.push(Ke("span",{"data-sf-bullet":"",className:ZQ,children:zu(s.children,a)},l));return}if(s.number!=null){n.push(Pi("span",{"data-sf-number":s.number,className:JQ,children:[Pi("span",{className:QQ,children:[s.number,"."]}),zu(s.children,a)]},l));return}l>0&&!eee(r[l-1])&&n.push(Ke("br",{},`br${l}`)),n.push(Ke(yR,{children:zu(s.children,a)},l))}),Pi(Ti,{value:e,children:[t,n]})}var ZQ="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",JQ="relative block pl-[2em]",QQ="absolute left-0 w-[1.6em] text-right tabular-nums";function eee(e){return e.bullet||e.number!=null}var oee="text-accent underline underline-offset-[0.18em]";function tee(e,o){let[t,...a]=o;return t?.kind==="text"?[{kind:"text",text:`${e}${t.text}`},...a]:[{kind:"text",text:e},...o]}function aee(e){return zn(e)||void 0}function zu(e,o){let t=[],a=!1;return e.forEach((r,n)=>{if(r.kind==="text"){t.push(Ke("span",{children:Wu(r.text)},n)),a=!0;return}a||t.push(Ke("span",{},`e${n}`)),t.push(SR(r,n,o)),a=!1}),a||t.push(Ke("span",{},"end")),t}function bR(e,o){return e.length===1&&e[0].kind==="text"?Wu(e[0].text):e.map((t,a)=>t.kind==="text"?Ke(yR,{children:Wu(t.text)},a):SR(t,a,o))}function ree(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function uDe(e){return Ke(Ti,{value:e,children:Ke("span",{children:e})})}function SR(e,o,t){if(e.kind==="link")return Ke("a",{href:e.href,className:oee,children:bR(e.children,t)},o);let a=bR(e.children,t),r=ZS[e.kind];if(r)return Ke("span",{[JS]: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=aee(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 wR(e,o=!0){let t=e.split(`
|
|
72
|
+
`);return Ke(Ti,{value:e,children:t.map((a,r)=>Pi("span",{children:[et(a,o),r<t.length-1?Ke("br",{}):null]},r))})}function CR(e){return e.split(/\n\s*\n/).map(o=>o.trim()).filter(Boolean)}var Rb={labelUpTo800:"max-view-wide:text-[length:var(--size-label,12px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,14px)]"};function see(e,o){return`font-mono text-[length:var(--size-label,${e}px)] uppercase tracking-[0.3em] text-accent`}var lee=`inline-block w-fit bg-accent px-3.5 py-1.5 font-mono ${Rb.labelSmall} font-semibold uppercase tracking-[0.16em] text-bg`,iee=`flex items-center gap-3.5 font-mono ${Rb.labelLarge} uppercase tracking-[0.3em] opacity-80 ${Rb.labelUpTo800} max-view-wide:tracking-[0.25em]`;function vR({text:e,look:o="plain",size:t=13,scaled:a=!0,className:r="",classNameAfter:n=""}){if(o==="line")return nee("div",{className:[r,iee,n].filter(Boolean).join(" "),children:[Ab(nR,{}),Ab("span",{children:et(e)})]});let s=o==="filled"?lee:see(t,a);return Ab("span",{className:[r,s,n].filter(Boolean).join(" "),children:et(e)})}import{jsx as To,Fragment as Fb}from"react/jsx-runtime";import{createContext as _i,useContext as Ut}from"react";import{isNodeList as cee}from"efficient-easel/data";var dee=new Set(["Flex","Grid"]);function kR(e){return typeof e=="string"&&dee.has(e)}var fee="contentWidth",uee="full",pee="content";function mee(e){let o=e?.[fee];return o===uee?!1:o===pee?!0:void 0}function TR(e,o){return e&&!o}function PR(e){return e.loop==="scroll"&&e.direction!=="tabs"&&e.direction!=="accordion"&&!Nc(typeof e.bgImage=="string"?e.bgImage:null)&&!NO(e.scrollDirection)}function hee(e,o){return kR(e)&&PR(o)?gd({}):gd(o)}function wDe(e){return e!=="full"}function CDe(e,o,t){if(!Array.isArray(e)||typeof o!="string")return;let a=(r,n,s,l)=>{for(let c of r){let d=c?.props??{};if(d.id===o)return n;let f=kR(c?.type),m=(l?hee(c?.type,d).content:null)==="content"?!0:s,u=f&&(n.inBox?mee(d)??m:m),x={insideGutter:n.insideGutter||u||f&&PR(d),inBox:n.inBox||f};for(let I of Object.values(d)){if(!cee(I))continue;let y=a(I,x,m,!1);if(y!==void 0)return y}}};return a(e,{insideGutter:!1,inBox:!1},t,!0)}var Ei=_i(!1);function ADe(){return Ut(Ei)}function ER({children:e}){return To(Ei.Provider,{value:!0,children:e})}var Lb=_i(!1);function RDe({children:e}){return To(Lb.Provider,{value:!0,children:e})}var Bb=_i(!1);function xee(){return Ut(Bb)}function LDe({atTop:e,nested:o}){return To(Fb,{children:xee()?o:e})}var Oi=_i(void 0);function FDe({children:e}){return To(Oi.Provider,{value:null,children:e})}function Iee(){return Ut(Oi)===void 0&&!Ut(Bb)&&!Ut(Ei)}function BDe({own:e,followed:o}){return To(Fb,{children:Iee()?e():o()})}var OR=_i(null);function DDe({value:e,children:o}){return To(OR.Provider,{value:e,children:o})}function NDe({draw:e}){return To(Fb,{children:e(Ut(OR))})}function MDe(){return Ut(Oi)??null}function HDe({contained:e,framedClass:o,fillClass:t,columnClass:a,style:r,tabLabel:n,pad:s,border:l,outerAttrs:c,box:d=!1,edge:f=!1,outerStyle:m,outerClass:u,bleed:x=!1,children:I}){let y=Ut(Ei),P=Ut(Lb),C=TR(e,y),S=C&&!P,g=s&&!S?Mk(s.values,s.frame):null,v=l&&!S?l:null,k=d&&!x?ST:null,F=[S?o:t,S?k:null,g?.className,v?nT:null].filter(Boolean).join(" "),T=gee(x&&S,g||v?{...r,...g?.style,...v}:r),B=Ut(Oi),E=d&&f&&B===void 0?{gutter:C,...s?{pad:s.values}:{}}:null,A=d?To(Bb.Provider,{value:!0,children:To(Oi.Provider,{value:E,children:I})}):I,N=C?To(Ei.Provider,{value:!0,children:A}):A,b=s&&S?Nk(s.values):null,_=c&&Object.keys(c).length>0?c:null,R=To("div",{...b?null:_,className:!b&&u?F?`${F} ${u}`:u:F,style:b||!m?T:{...T,...m},"data-tab-label":n,children:P?To(Lb.Provider,{value:!1,children:C&&!x?To("div",{className:k?`${a} ${k}`:a,children:N}):N}):N}),M=b?To("div",{..._,className:u?`${b.className} ${u}`:b.className,style:m?{...b.style,...m}:b.style,children:R}):R;return l&&S?To("div",{className:rT,style:{display:"contents",...l},children:M}):M}function gee(e,o){return e?{...o,paddingLeft:0,paddingRight:0}:o}var AR={headingMediumUpTo800:"max-view-wide:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]"},yee="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[72px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",See="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[72px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",wee="sf-card grid grid-cols-1 gap-px border border-line bg-line view-tablet:[grid-template-columns:repeat(var(--cd-cols),minmax(0,1fr))]",Va={phone:{tl:"max-view-tablet:[border-top-left-radius:inherit]",tr:"max-view-tablet:[border-top-right-radius:inherit]",bl:"max-view-tablet:[border-bottom-left-radius:inherit]",br:"max-view-tablet:[border-bottom-right-radius:inherit]"},wide:{tl:"view-tablet:[border-top-left-radius:inherit]",tr:"view-tablet:[border-top-right-radius:inherit]",bl:"view-tablet:[border-bottom-left-radius:inherit]",br:"view-tablet:[border-bottom-right-radius:inherit]"}};function jDe(e,o,t){let a=$u(t),r=o-1,n=Math.floor(r/a)*a,s=[];return e===0&&s.push(Va.phone.tl,Va.phone.tr,Va.wide.tl),e===r&&s.push(Va.phone.bl,Va.phone.br),e===a-1&&o>=a&&s.push(Va.wide.tr),e===n&&s.push(Va.wide.bl),e===r&&o%a===0&&s.push(Va.wide.br),s.join(" ")}function $u(e){return Math.min(4,Math.max(2,e??3))}function KDe({look:e,eyebrow:o,title:t,columns:a,omitHead:r=!1,editing:n=!1,cards:s}={}){let l=$u(a),c=!!(o??"").trim()||!!(t??"").trim();return!n&&!c&&!s?null:Ai("section",{className:"relative z-[2] bg-surface",children:_R("div",{className:r?See:yee,children:[r?null:_R(bee,{children:[(o??"").trim()&&Ai(vR,{text:o??"",look:e,className:"mb-4 block"}),(t??"").trim()&&Ai("h2",{className:`mb-9 font-heading2 ${AR.headingMedium} font-medium uppercase leading-none tracking-[-0.02em] text-fg max-view-wide:mb-7 ${AR.headingMediumUpTo800}`,children:wR(t??"",!1)})]}),s?Ai("div",{className:wee,style:{"--cd-cols":String(l),overflowY:"visible"},children:Ai(ER,{children:s})}):null]})})}var YDe={eyebrow:"Label",title:"Section *heading.*"},Cee={template:Nw()},RR={label:"Cards",fields:Cee,defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var JDe={eyebrow:"Highlight",title:"Key *features.*"},QDe=()=>[{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")}],LR={label:"Key Features",defaultProps:{eyebrow:"",title:"",items:[],columns:3}};function Is(e){if(e==="ProductGrid")return"shelf";let o=vo[e]?.headStyle;return o==="editorial"||o==="simple"||o==="essay"?o:"standard"}var Uu={standard:64,editorial:60,simple:36,essay:28,shelf:20},vee={SectionHeader:"accent",FAQ:"accent",FitmentFinder:"accent",FitmentTable:"accent",SpecTable:"accent",RelatedProducts:"accent",Collections:"accentNum"};function kee(e){if(e==="SectionHeader")return{num:"num",title:"title",description:"description",link:!0};let o=vo[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 ju(e,o,t){let a=`editorial:${e}|${o}|${t}`,r=Gu.get(a);if(r)return r;let n=NR({num:e,title:o,description:t,link:!1});return Gu.set(a,n),n}var Nb={top:0,right:0,bottom:1,left:0},Do=(e,o,t,a)=>({sizeToken:{step:e,px:a,fluid:{minPx:o,vw:t}}}),Ku=(e,o,t={})=>Ie(e,{...z("label",o),...t}),Vu=(e,o)=>({kind:"text",key:e,role:"heading",props:$,style:{textStyle:"heading-2",...o}}),Mb=800,Hb=(e,o,t,a)=>({kind:"text",key:e,props:{...oe,align:"right",alignPhone:"left",...t?{maxWidth:t,maxWidthPhone:Mb}:{}},style:{textStyle:"body-5",fontRole:"heading",alignPhone:"left",...z("body",o),...a}}),DR={...Ze,align:"right",alignPhone:"left",...ma,icon:"arrow-right",iconPosition:"after"},Db=e=>({kind:"button",key:"linkText",href:"linkHref",variant:"ghost",props:DR,style:{...pt(e),color:"labels"}}),FR=(e,o,t)=>{let a=t.role==="heading"?{tag:"h2"}:{};return{kind:"block",type:"Text",when:r=>r[e]===void 0,props:{...$,...a,...t.props,text:o,_partStyles:{text:{...t.role==="eyebrow"?Tee(mt()):{},...t.style}}}}},Tee=e=>e._partStyles.text??{},xs={widthFitPhone:"fill"};function Wb(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),...xs}):{...o,...xs}}}return{...e,parts:e.parts.map(Wb)}}function Pee(e,o){let t=vee[e],a=t==="accent",r=Ku(o.num,14,{color:a?"accent":"labels"}),n=t==="accentNum"&&r.kind==="text"?{...r,mark:"accentLead"}:r,s=Vu(o.title,a?{...Do("headingMedium",36,5,64),case:"upper",lineHeight:.95,letterSpacing:-.025}:{...z("headingMedium",56,36),case:"none",lineHeight:1,letterSpacing:-.03}),l=e==="Collections";return{kind:"group",name:"Header",props:{...L,direction:"row",align:"end",justify:"between",gap:40,gapPhone:12,share:"content",sectionBorder:Nb,sectionPaddingBottom:24,sectionPaddingBottomPhone:20},parts:[{kind:"group",name:"Title",props:{...L,...xs,direction:"row",align:"end",gap:40,gapPhone:12,share:"content"},parts:[{kind:"group",name:"Number",props:{...L,...xs,align:"start",gap:12},parts:[{kind:"image",key:"logoSrc",alt:"logoAlt",props:{aspect:"auto",contained:!1}},n,...l?[FR(o.num,"==01== / Collections",n)]:[]]},{kind:"group",name:"Heading",props:{...L,...xs},parts:[s,...l?[FR(o.title,`Three ranges,
|
|
73
|
+
one standard.`,s)]:[]]}]},{kind:"group",name:"Words",props:{...L,...xs,gap:12,maxWidth:340,maxWidthPhone:Mb},parts:[...o.description?[Hb(o.description,14,void 0,{lineHeight:1.5})]:[],...o.link?[Db(14)]:[],...l?[{kind:"block",type:"ButtonBlock",props:{...DR,variant:"ghost",label:"View all",href:"/wheels",_partStyles:{label:Db(14).style}}}]:[]]}]}}function NR(e){return{kind:"group",name:"Header",props:{...L,direction:"row",align:"end",justify:"between",gap:40,gapPhone:14,share:"content",sectionBorder:Nb,sectionPaddingBottom:32},parts:[{kind:"group",name:"Title",props:{...L,direction:"row",align:"end",gap:40,gapPhone:14,share:"content"},parts:[{kind:"group",name:"Number",props:{...L,sectionPaddingBottom:8},parts:[{...Ku(e.num,13),props:{...$,...Vr}}]},Vu(e.title,{...Do("headingMedium",40,5.5,80),case:"upper",weight:500,lineHeight:1,letterSpacing:-.03})]},{kind:"group",name:"Words",props:{...L,sectionPaddingBottom:4,maxWidth:360,maxWidthPhone:Mb},parts:e.description?[Hb(e.description,14,void 0,{lineHeight:1.5})]:[]}]}}function BR(e,o){return{kind:"group",name:"Header",props:{...L,gap:16,gapPhone:16},parts:[Ku(e.num,13),Vu(e.title,o)]}}var MR=[["para",{...pt(13),weight:400,lineHeight:1,letterSpacing:.22}],["sm",{...z("headingMedium",40,28),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["md",{...z("headingMedium",48,32),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["lg",{...z("headingMedium",56,36),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["xl",{...z("headingMedium",64,40),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}]],Eee=e=>MR.some(([o])=>o===e.titleSize)?e.titleSize:"lg";function Oee(e){return{kind:"group",name:"Header",props:{...L,direction:"row",align:"center",justify:"between",gap:16,share:"content",stickTop:!0,sectionBorder:Nb,sectionPaddingTop:12,sectionPaddingBottom:12},parts:[{kind:"group",name:"Title",props:{...L,direction:"row",align:"end",gap:24,share:"content"},parts:[Ku(e.num,13,{color:"labels",letterSpacing:.22,lineHeight:1}),...MR.map(([o,t])=>({...Vu(e.title,t),when:a=>Eee(a)===o}))]},{kind:"group",name:"Words",props:{...L,direction:"row",align:"center",justify:"end",gap:20,share:"content"},parts:[...e.description?[Hb(e.description,13,340,{lineHeight:1.4})]:[],...e.link?[Db(13)]:[]]}]}}function qu(e){return Is(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 Gu=new Map;function ot(e){let o=Gu.get(e);if(o)return o;let t=kee(e),a=Is(e),r=a==="editorial"?NR(t):a==="simple"?BR(t,{...z("headingMedium",44,32),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02}):a==="essay"?BR(t,{...z("headingMedium",38,28,"headingSmall"),case:"upper",lineHeight:1,letterSpacing:-.02}):a==="shelf"?Oee(t):Pee(e,t);return Gu.set(e,r),r}var Zr={Series:"transparent",StatsParagraph:"transparent",TimelineTrack:bo,Stats:void 0};var qa=(e,o,t,a)=>({sectionBorder:{top:e,right:o,bottom:t,left:a}}),qR=e=>o=>$u(j(o.columns)??j(e.columns)),YR=e=>({kind:"group",name:"Grid",props:{...L,gap:0,...qa(1,0,0,1)},parts:[e]}),XR={...L,direction:"row",gap:0,share:"equal"},ZR="its head sits in a Box of its own above it (own-box): the row draws the head inline",JR=e=>EA(e.headPlacement)==="own-box",QR="inline is the head the row draws; an own-box node is skipped (`skip`)",_ee=e=>({kind:"group",name:"Heading",props:e,parts:[Ie("eyebrow"),{kind:"text",key:"title",role:"heading",props:$,style:{textStyle:"heading-3",case:"upper"},was:{size:44}}]}),HR={top:72,bottom:72,topPhone:72,bottomPhone:72},Aee={...fm,...qa(0,1,1,0)},Ree={name:"Cards",boxProps:(e,o)=>({...te,direction:"column",gap:36,gapPhone:28,...Bo("surface")(e,o),...ue(e,HR)}),box:[...se,...we(HR)],skip:e=>JR(e)?ZR:typeof e.dataSource=="string"&&e.dataSource?"its cards come from a source: they are drawn from the card template on Cards":e.template!==void 0?"its cards are drawn from its own card template (an emptied one draws none): the shape the other rows land on":e.cardStyle==="label-only"?"Label only is Key Features' look: no live node holds it, so it has no row of its own yet":void 0,parts:[ot("Cards"),YR({kind:"list",key:"items",name:"Card",perRow:qR(RR.defaultProps),rowName:"Row",rowProps:XR,props:(e,o)=>({...Aee,...Bo("background")(e,o)}),parts:[{kind:"text",key:"title",props:$,style:um},{kind:"text",key:"body",props:oe,style:ur}]})],drop:{...le,...xe,columns:"the rows of N: one Row Box per `columns` cards, which the Box draws as N equal blocks",cardStyle:"the standard card is what the row draws; a Label only node is skipped (0 live nodes)",dataSource:"an empty source is typed cards, what the row draws; a sourced node is skipped (0 live nodes)",dataSourceOptions:"read only with a source; a sourced node is skipped (0 live nodes)",template:"an empty card template is typed cards, what the row draws; a node with a template is skipped",highlightedCard:"read only with a card template; a node with a template is skipped",highlightBadge:"read only with a card template; a node with a template is skipped",headPlacement:QR,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)"}},WR={top:76,bottom:76,topPhone:76,bottomPhone:76},Lee={...L,direction:"row",align:"center",gap:16,sectionPaddingTop:32,sectionPaddingRight:28,sectionPaddingBottom:32,sectionPaddingLeft:28,...qa(0,1,1,0)},zR={textStyle:"body-1",color:"text"},$R=(e,o)=>typeof o?.href=="string"&&o.href.trim()!=="",Fee={name:"Key Features",boxProps:e=>({...te,direction:"column",gap:44,...qa(1,0,1,0),...ue(e,WR)}),box:[...se,...we(WR)],parts:[_ee({...L,direction:"row",align:"end",gap:20,wrap:!0,share:"content"}),YR({kind:"list",key:"items",name:"Feature",perRow:qR(LR.defaultProps),rowName:"Row",rowProps:XR,props:Lee,parts:[{kind:"button",key:"label",href:"href",when:$R,variant:"ghost",props:{...Ze,...ma,icon:"none"},style:zR},{kind:"text",key:"label",when:(e,o)=>!$R(e,o),props:$,style:zR,was:{size:17}}]})],drop:{...le,...xe,columns:"the rows of N: one Row Box per `columns` cells, which the Box draws as N equal blocks",eyebrowLook:"needs the eyebrow's Filled look on a Text block: Filled is Key Features' own default (lib/sections/section-eyebrow-look), so 20 of 21 published nodes draw it with nothing stored; the row draws the Plain start look (the stored-node export, 2026-10-24)"}},GR={top:120,bottom:120,topPhone:80,bottomPhone:80,topTablet:80,bottomTablet:80},Yu=e=>{let o=Nt(typeof e.background=="string"?e.background:void 0,Zr.Series);return o&&o!=="transparent"?o:void 0},zb=e=>Yu(e)===bo,Bee={...L,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},UR={...L,direction:"row",justify:"between",gap:12,share:"content",phoneRow:2,[VR("share")]:"content"},Dee=e=>{let o=Yu(e)?1:2;return{...L,direction:"row",columns:4,columnsTablet:2,gap:o,gapPhone:o}},$b={...pt(12),letterSpacing:.22,lineHeight:1.5},jR=e=>ro(e.viewLabel)&&!Gb(e.viewLabel).hidden,ha=e=>Gb(e).text?.trim?.()??"",eL=e=>Object.fromEntries(Object.entries(e).filter(([,o])=>Q(o)!==void 0)),oL=e=>e.map(([o,t,a])=>({key:o,label:t,...a?{multiline:!0}:{}})),Nee=oL([["num","Number"],["since","Corner note"],["title","Card title"],["body","Card body",!0],["count","Count"],["countLabel","Count word"]]),Mee=oL([["label","Label"],["value","Value"],["body","Card body",!0]]),tL=(e,o,t,a,r)=>({kind:"group",name:e,props:o,parts:[{kind:"core",as:qo,headless:!0,keep:[],derive:{reads:["cards"],props:n=>xc(a(n),t)},slots:(n,s)=>({[go]:[r(n,s)]})}]}),aL=e=>Array.isArray(e.cards)?e.cards:[],Hee={name:"Recurring Columns",boxProps:(e,o)=>({...te,direction:"column",gap:60,gapPhone:60,...qa(0,0,1,0),...zb(e)?Xr(e,o):{},...Du(Yu(e),e,o),...ue(e,GR)}),box:[...se.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>zb(o)?Ga(e,o,t):e],...we(GR)],skip:e=>Nu(Yu(e))??(JR(e)?ZR:void 0),site:(e,o)=>zb(e.props)?Ua(e,o):[],parts:[ot("Series"),tL("Cards",Dee,Nee,e=>aL(e).map(o=>eL({num:ha(o.num),since:ha(o.since),title:ha(o.title),body:ha(o.desc),count:ha(o.entries),countLabel:ha(o.entriesLabel)})),(e,o)=>({type:Z,props:{...Bee,...Bo("background")(e,o),name:"Card"},slots:{[ye]:[{type:Z,props:{...L,name:"Words",gap:16,gapPhone:16},slots:{[ye]:[{type:Z,props:{...UR,name:"Top"},slots:{[ye]:[Oe("num",$,z("label",13),!0),Oe("since",$,z("label",13),!0)]}},Oe("title",{...$,tag:"h3"},{textStyle:"heading-3",...z("headingSmall",28),weight:500,case:"upper",lineHeight:1.04,letterSpacing:-.02}),Oe("body",oe,{textStyle:"body-5",fontRole:"heading",...z("body",14),lineHeight:1.6})]}},{type:Z,props:{...UR,name:"Footer",align:"center",gap:0,gapPhone:0,sectionPaddingTop:16,sectionPaddingTopPhone:16,...qa(1,0,0,0),...jR(e)?{}:{[gm]:["count","countLabel"]}},slots:{[ye]:[{type:Z,props:{...L,name:"Count",direction:"row",align:"center",gap:12,gapPhone:12,share:"content",[VR("share")]:"content"},slots:{[ye]:[Oe("count",$,$b),Oe("countLabel",oe,$b)]}},...jR(e)?[{type:Z,props:{...L,name:"View",maxWidthPhone:266},slots:{[ye]:[{type:"Text",props:{...$,text:Gb(e.viewLabel).text,_partStyles:{text:{...mt()._partStyles.text,...$b}}}}]}}]:[]]}}]}}))],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:{...le,...xe,headPlacement:QR}},KR={top:60,bottom:60,topPhone:40,bottomPhone:40},Wee={...L,direction:"row",columns:3,gap:40,gapPhone:16},zee={...L,gap:8,gapPhone:8,...Eo(24),...qa(1,1,1,1)},$ee={name:"Document Detail Cards",boxProps:e=>({...te,direction:"column",gap:40,gapPhone:16,...qa(0,0,1,0),...ue(e,KR)}),box:[...se,...we(KR)],parts:[tL("Cards",Wee,Mee,e=>aL(e).map(o=>eL({label:ha(o.label),value:ha(o.value),body:ha(o.desc)})),(e,o)=>({type:Z,props:{...zee,...Bo("surface")(e,o),name:"Card"},slots:{[ye]:[Oe("label",$,{...z("label",12),lineHeight:1.5},!0),{type:Z,props:{...L,name:"Words",gap:14,gapPhone:14},slots:{[ye]:[Oe("value",$,{textStyle:"heading-3",...z("headingSmall",20),weight:500,letterSpacing:-.015,lineHeight:1.5}),Oe("body",oe,{textStyle:"body-5",fontRole:"accent",...z("body",14),italic:!0,lineHeight:1.5})]}}]}}))],drop:{...le,...xe}},rL={Cards:Ree,KeyFeatures:Fee,Series:Hee,DocMetaCards:$ee};import{phoneKey as Kee}from"efficient-easel/draw";import{newId as Vee}from"efficient-easel/data";import{phoneKey as Gee}from"efficient-easel/draw";import{isNode as Ri}from"efficient-easel/data";var gs="cardStyle";function nL(e){let{widthPhone:o,...t}=e;return e.widthFitPhone==="fixed"?{...t,widthFitPhone:"fill"}:{...e}}var Xu={table:{items:{gap:0,gapPhone:0,columnsTablet:2},grid:{gap:0},row:{gap:0,[Gee("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}}}},tt={table:{...Xu.table,listCard:nL(Xu.table.card)},list:{...Xu.list,listCard:nL(Xu.list.card)}},_Ne=[{label:"Table",value:"table"},{label:"List",value:"list"}],ANe=e=>e==="table"||e==="list",Uee=e=>[...new Set([...Object.keys(tt.table[e]),...Object.keys(tt.list[e])])];function Li(e,o,t){let a={...e};for(let r of Uee(o))delete a[r];return{...a,...structuredClone(tt[t][o])}}function jee(e,o,t){let a=e.props??{},r=Array.isArray(a[go])?a[go]:[],n=r.findIndex(c=>Ri(c)&&c.type===t);if(n<0)return e;let s=r[n],l=r.map((c,d)=>d===n?{...s,props:Li(s.props??{},"listCard",o)}:c);return{...e,props:{...a,[go]:l}}}function RNe(e,o,t,a){let r=Array.isArray(e[a])?e[a]:[];if(r.some(s=>Ri(s)&&s.type===qo)){let s=r.map(l=>Ri(l)&&l.type===qo?jee(l,o,t):l);return{...Li(e,"items",o),[gs]:o,[a]:s}}let n=r.map(s=>{if(!Ri(s)||s.type!==t)return s;let l=s.props??{},c=(Array.isArray(l[a])?l[a]:[]).map(d=>Ri(d)&&d.type===t?{...d,props:Li(d.props??{},"card",o)}:d);return{...s,props:{...Li(l,"row",o),[a]:c}}});return{...Li(e,"grid",o),[gs]:o,[a]:n}}var Ub=e=>typeof e=="string"?e.trim():"";function sL(e){let o=`${Ub(e.prefix)}${Ub(e.value)}`,t=Ub(e.suffix);return e.emphasizeAll===!0?o?`==_${o}_==`:"":`${o}${t?`==_${t}_==`:""}`}var cL={textStyle:"heading-2",...Do("headingMedium",56,7,96),weight:500,case:"none",lineHeight:.9,letterSpacing:-.04},jb={kind:"block",type:"Text",props:{...qr,_partStyles:{text:cL}},box:[["value","text",(e,o)=>sL(o)]],when:(e,o)=>o!==void 0&&typeof o.value=="string"&&sL(o)!==""},lL=e=>ro(e?.supSuffix),dL={textStyle:"body-1",fontRole:"heading",...z("body",16),lineHeight:1.5,letterSpacing:-.01},fL={color:"labels",...z("label",12),lineHeight:1.5,letterSpacing:.24},uL={...L,direction:"row",align:"start",gap:32,gapPhone:32,share:"content",phoneRow:2,[Kee("share")]:"content"},pL={textStyle:"body-5",...z("label",13),weight:500,color:"accent",letterSpacing:.18,lineHeight:1,padding:12},Vb=e=>Nt(e.background,Zr.StatsParagraph),Fi=e=>Vb(e)===bo,Kb=e=>({...e,sectionAccent:e.sectionAccent??0}),qee=(e,o)=>Fi(e)?Bo("background")(e,o):{},Yee={name:"Stats with Text",skip:e=>Vb(e)&&Vb(e)!=="transparent"&&!Fi(e)?"it paints a colour of its own, not the section band":void 0,boxProps:(e,o)=>({...te,direction:"column",gap:60,gapPhone:60,sectionBorder:{bottom:1},...ko(e,"StatsParagraph"),...Fi(e)?Xr(Kb(e),o):{}}),box:[...se.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Fi(o)?Ga(e,Kb(o),t):e],...$a("StatsParagraph")],site:(e,o)=>Fi(e.props)?Ua({props:Kb(e.props)},o):[],parts:[ot("StatsParagraph"),{kind:"group",name:"Stats",props:{...L,...tt.table.grid,[gs]:"table"},parts:[{kind:"list",key:"stats",name:"Stat",perRow:()=>4,rowName:"Stats row",rowProps:{...L,direction:"row",share:"equal",phoneRow:2,...tt.table.row},props:(e,o)=>({...L,...tt.table.card,...qee(e,o)}),parts:[{...jb,when:(e,o)=>!lL(o)&&jb.when(e,o)},{kind:"group",name:"Figure",props:uL,when:(e,o)=>lL(o),parts:[jb,{kind:"text",key:"supSuffix",props:$,style:pL}]},{kind:"group",name:"Words",props:{...L,gap:4,gapPhone:4},parts:[{kind:"text",key:"label",props:$,style:dL},Ie("sub",fL)]}]}]}],drop:{...le,...xe,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"}},Xee=new Set(["value","label",dt]),iL={top:48,bottom:48,topPhone:48,bottomPhone:48},Zee=e=>{let o=Nt(typeof e.background=="string"?e.background:void 0,Zr.Stats);return!!o&&o!=="transparent"},Jee={name:"Stats",skip:e=>Zee(e)?"it paints a colour inside its padding, and a Box paints its Fill over the padding too":ro(e.dataSource)?"its figures come from a source":Array.isArray(e.items)&&e.items.some(o=>ro(o?.[dt]))?"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=>!Xee.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=>({...te,direction:"column",gap:24,gapPhone:24,...ue(e,iL)}),box:[...se,...we(iL)],parts:[Ie("heading",{color:"labels",...z("label",12),letterSpacing:.2}),{kind:"group",name:"Stats",props:{...L,...tt.list.grid,[gs]:"list"},parts:[{kind:"list",key:"items",name:"Stat",perRow:e=>j(e.columns)??4,rowName:"Stats row",rowProps:{...L,direction:"row",share:"equal",phoneRow:2,...tt.list.row},props:{...L,...tt.list.card},parts:[{kind:"text",key:"value",props:qr,style:{textStyle:"heading-2",...z("headingMedium",48,36),weight:500,case:"none",lineHeight:1,letterSpacing:-.03}},Ie("label",{color:"labels",...z("label",12),letterSpacing:.2})]}]}],drop:{...le,...xe,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"}},mL={StatsParagraph:Yee,Stats:Jee};function hL(){return{eyebrow:i("By the numbers"),title:i("What we count."),desc:i("A few numbers that matter to us."),stats:[],background:"transparent"}}var Qee=[{key:"figure",label:"Figure"},{key:"superscript",label:"Superscript"},{key:"label",label:"Label"},{key:"body",label:"Text",multiline:!0}];function xL(){let e=(o,t,a,r="")=>({key:Vee("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 eoe(e){return{type:Z,props:{...L,name:"Card",...structuredClone(tt[e].listCard)},slots:{[ye]:[{type:Z,props:{...uL,name:"Figure"},slots:{[ye]:[Oe("figure",qr,cL),Oe("superscript",$,pL)]}},{type:Z,props:{...L,name:"Words",gap:4,gapPhone:4},slots:{[ye]:[Oe("label",{...$,widthFit:"fill"},dL),Oe("body",{...$,widthFit:"fill"},fL,!0)]}}]}}}function qb(e,o,t=4){return{type:Z,props:{...L,name:"Stats",direction:"row",columns:t,...structuredClone(tt[o].items),[gs]:o},slots:{[ye]:[{type:qo,props:xc(e,Qee),slots:{[go]:[eoe(o)]}}]}}}var IL={heading:"Trusted by *teams worldwide*"},gL=()=>[{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")}],ooe={logos:{type:"slot",allow:["LogoBlock"]},template:{type:"slot",allow:["LogoBlock"]}},XNe={label:"Logos",fields:ooe,defaultProps:{items:[],contained:!0}};import{phoneKey as toe}from"efficient-easel/draw";var yL={contained:!1},SL=(e,o)=>({logos:[{kind:"list",key:e,name:"Logo",flat:!0,parts:[{kind:"block",type:"LogoBlock",box:["src",[o,"alt"]],when:(t,a)=>ro(a?.src)||ro(a?.[o])}]}]}),Yb=e=>{let o=j(e.bandPadding)??40;return{top:o,bottom:o,topPhone:o,bottomPhone:o}},aoe={...Ie("heading",{color:"labels",letterSpacing:.2}),props:{...$,align:"center"}},roe={name:"Logos",boxProps:e=>({...te,direction:"column",gap:32,...ue(e,Yb(e))}),box:[...se,...we(Yb),["bandPadding","sectionPaddingTop",(e,o)=>ue(o,Yb(o)).sectionPaddingTop]],parts:[aoe,{kind:"core",keep:["columns","logoHeight","grayscale"],rename:{logosPerRow:"columns"},props:yL,slots:SL("items","alt")}],drop:{...le,...xe,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"}},bL={top:24,bottom:24,topPhone:24,bottomPhone:24},noe={name:"Payment Methods",boxProps:e=>({...te,direction:"column",...ue(e,bL)}),box:[...se,...we(bL)],parts:[{kind:"group",name:"Methods",props:{...L,align:"center",gap:20,gapPhone:20,sectionBorder:{top:1,bottom:1},sectionPaddingTop:32,sectionPaddingBottom:32},parts:[{...Ie("heading",{color:"labels"}),props:{...$,align:"center"}},{kind:"core",keep:[],as:"Logos",derive:{reads:[Rt,As],props:e=>ro(e[Rt])?{[Rt]:e[Rt],...e[As]!==void 0?{[As]:e[As]}:{}}:{}},props:{...yL,look:"cards",grayscale:!1},slots:e=>({...SL("badges","label"),...ro(e[Rt])?{[go]:[mm()]}:{}})},{kind:"group",name:"Reassurance",props:{...L,direction:"row",wrap:!0,justify:"center",gap:24,gapPhone:24,phoneRow:2,[toe("share")]:"content"},parts:[{kind:"list",key:"assurances",name:"Line",flat:!0,parts:[{kind:"text",key:"text",props:{...$,align:"center"},style:{size:13,color:"labels",lineHeight:1.5}}]}]}]}],drop:{...le,...xe,contained:"the Box draws the site frame now; the Logos block inside it fills the Box's column (`contained: false`)"}},wL={Logos:roe,PaymentBadges:noe},CL=()=>({heading:IL.heading,items:gL()});import{mixHex as loe}from"efficient-shell/format";var l2e="none",i2e=[{label:"Nothing",value:"none"},{label:"Section above",value:"above"},{label:"Section below",value:"below"}];function vL(e){return e==="above"||e==="below"?e:null}var c2e="sf-ticker-join";function soe(e){return e==="above"?"sf-ticker-join-above":"sf-ticker-join-below"}function d2e(e){return`absolute inset-x-0 ${soe(e)}`}var kL=e=>e.size==="display",ioe=(e,o)=>{let t=Bu(e,o),a=e.tone!=="plain"&&t?.text&&t.background?loe(t.text,t.background,.3):null;return a?{color:a}:{}},coe=(e,o)=>e.tone!=="plain"&&It(e.sectionAccent)===null?Bo("background")(e,o):{},TL=(e,o)=>({kind:"list",key:"items",name:"Item",flat:!0,when:o,parts:[{kind:"text",key:"text",props:oe,style:e,styleFrom:ioe}]}),doe={name:"Scrolling Bar",boxProps:(e,o)=>({...te,...Kr,...Au,...ic[Ds(e.separator)]===""?KA:{},...ue(e,mi),...coe(e,o)}),box:[["scrollDirection","scrollDirection",e=>DO(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=>Ds(e)],["join","join",e=>vL(e)??void 0],["borders","sectionBorder",e=>e===!1?void 0:{top:1,bottom:1}],...se,["tone","sectionAccent",(e,o)=>It(o.sectionAccent)??Aa],...we(mi)],parts:[TL(Ru,e=>!kL(e)),TL(VA,kL)],drop:{...le,...xe,size:"each item's Text style: Small \u2192 Body 5, Display \u2192 Heading 3"}},PL=e=>e?.tone==="muted",EL=e=>oc(us(e)),foe={name:"Spec Strip",boxProps:(e,o)=>({...te,...Kr,...xi,...e.fill==="none"?{sectionBorder:{top:1}}:{sectionAccent:EL(o)},...ue(e,hi)}),box:[...se.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>o.fill==="none"?e:EL(t)],...we(hi)],parts:[{kind:"list",key:"cells",name:"Cell",flat:!0,parts:[{kind:"text",key:"text",props:$,style:Ii,when:(e,o)=>!PL(o)},{kind:"text",key:"text",props:oe,style:Ii,when:(e,o)=>PL(o)}]}],drop:{...le,...xe,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"}},OL={Ticker:doe,SpecStrip:foe};var _L={direction:"column",justify:"between",gap:14,gapPhone:14,sectionPaddingLeft:14,sectionPaddingRight:14,sectionPaddingLeftPhone:0,sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},Xb={name:"Year and title",direction:"column",gap:14,gapPhone:14};var xa={text:"Button label",href:"#"},Bi=e=>e.replace(/\*([^*]+)\*/g,"==$1=="),xo={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 Zu={eyebrow:xo.eyebrow,title:`Section heading
|
|
74
|
+
*Highlight line*`,intro:xo.body,imageCaption:xo.imageCaption,imageMeta:xo.imageMeta,cta:xa.text},AL=()=>[{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.")}],T2e={label:"Story Timeline",defaultProps:{layout:"split",eyebrow:"",title:"",intro:"",imageSrc:"",imageCaption:"",imageMeta:"",ctaText:"",ctaHref:"",entries:[],padTop:120,padBottom:120}};var Ju={eyebrow:xo.eyebrow,title:xo.headingAccent,intro:xo.body,cta:xa.text},RL=()=>[{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}],A2e={label:"Milestone Timeline",defaultProps:{eyebrow:"",title:"",intro:"",entries:[],ctaText:"",ctaHref:"",background:ul,padTop:120,padBottom:120}};var ML={buttonBorder:{width:0}},op=(e,o,t={})=>({textStyle:"body-5",...z("label",e),letterSpacing:o,lineHeight:1.5,weight:400,...t}),bs=(e,o,t={})=>({...op(e,o),...ut,...t}),tp=(e,o,t)=>({...e,case:"upper",weight:500,letterSpacing:o,lineHeight:t}),Di=(e,o,t={})=>({textStyle:"body-1",fontRole:"heading",...e,weight:400,case:"none",lineHeight:o,...t}),at=(e,o,t={})=>({kind:"text",key:e,props:$,style:o,...t});function HL(e,o){return e.kind==="text"?o.includes(e.key)?{...e,mark:"accentItalic"}:e:e.kind==="group"?{...e,parts:e.parts.map(t=>HL(t,o))}:e}var LL=(e,o)=>o?.future===!0,Qu=e=>CR(typeof e?.body=="string"?e.body:""),oy=e=>Nt(typeof e.background=="string"?e.background:void 0,Zr.TimelineTrack),Zb=e=>oy(e)===bo?e:{...e,background:"transparent"},uoe={name:"Milestone Timeline",skip:e=>Nu(oy(e)),boxProps:(e,o)=>{let t=Yr(Zb(e),o);return{...te,direction:"column",gap:60,gapPhone:36,sectionBorder:{bottom:1},...ko(e,"TimelineTrack"),...Du(oy(e),e,o),...t>=0?{sectionAccent:t}:{}}},box:[...se.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Ga(e,Zb(o),t)],...$a("TimelineTrack")],parts:[Wb(HL(ju("eyebrow","title","intro"),["title","intro"])),{kind:"group",name:"Track",props:{...L,gap:48,gapPhone:48},parts:[{kind:"group",name:"Years",props:{...L,direction:"row",share:"equal",gap:0,line:!0},parts:[{kind:"list",key:"entries",name:"Year",props:{...L,..._L},item:e=>({props:e.future===!0?{upcoming:!0}:{}}),parts:[{kind:"group",name:Xb.name,props:{...L,...Xb},parts:[at("date",op(13,.22,{color:"accent"}),{when:(e,o)=>!LL(e,o)}),at("date",op(13,.22,{color:"labels"}),{when:LL}),at("title",{textStyle:"heading-3",...tp(z("headingSmall",20),-.02,1.1)},{role:"heading"})]},at("blurb",Di(z("body",13),1.55),{props:oe,mark:"accentItalic"})]}]},{kind:"group",name:"Button row",props:{...L,sectionBorder:{top:1,right:0,bottom:0,left:0},sectionPaddingTop:32},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:{...Ze,align:"right",...ML},style:bs(13,.3)}]}]}],site:(e,o)=>Ua({props:Zb(e.props)},o),drop:{...le,...xe,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"}},ay=e=>typeof e.layout=="string"?e.layout:"split",ep=e=>ay(e)==="split",ty=e=>!ep(e),WL=e=>ay(e)==="spine",poe=e=>ty(e)&&!WL(e),FL=(e,o,t,a)=>({kind:"group",name:"Picture",keepEmpty:!0,box:[["imageSrc","bgImage"]],props:{...L,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",...Eo(12,16),...t},when:r=>a(r)&&typeof r.imageSrc=="string"&&r.imageSrc.trim()!=="",parts:[{kind:"group",name:"Caption",props:{...L,direction:"row",justify:"between",align:"center",gap:12,gapPhone:12,share:"content",phoneRow:2},parts:[at("imageCaption",bs(11,.24,{color:"text"})),at("imageMeta",bs(11,.24,{color:"accent"}),{props:{...$,align:"right"}})]}]}),BL=(e={})=>({kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:{...Ze,...e,...ML},style:bs(13,.3)}),Jb=()=>[at("title",{textStyle:"heading-3",...tp(z("headingSmall",24,20),-.02,1.5)},{role:"heading",mark:"accentItalic"}),{kind:"block",type:"Text",props:{...$,_partStyles:{text:Di(z("body",17,16),1.6)}},box:[["body","text",(e,o)=>rr(Qu(o)[0]??"")]],when:(e,o)=>Qu(o).length>0},{kind:"block",type:"Text",props:{...oe,_partStyles:{text:Di(z("body",17,16),1.6,{paragraphSpacing:14})}},box:[["body","text",(e,o)=>rr(Qu(o).slice(1).join(`
|
|
75
|
+
|
|
76
|
+
`))]],when:(e,o)=>Qu(o).length>1}],Qb=()=>at("date",op(13,.24,{color:"accent"})),ey=(e,o,t={})=>at(e,o,{...t,props:{...$,...t.props??{},align:"center"}}),DL=Do("headingMedium",40,5,76),NL={sectionBorder:{bottom:1}},moe={name:"Story Timeline",skip:e=>ay(e)==="track"?'display "track": not converted (it draws the Milestone rail; a Track story is not stored anywhere)':void 0,boxProps:e=>ep(e)?{...te,direction:"row",share:[40],gap:80,gapPhone:48,align:"start",...NL,...ko(e,"Timeline")}:{...te,direction:"column",gap:48,gapPhone:48,align:"center",...NL,...ko(e,"Timeline")},box:[...se,...$a("Timeline")],parts:[{kind:"group",name:"Heading",props:{...L,gap:24,gapPhone:24},when:ep,parts:[at("eyebrow",bs(12,.3,{color:"accent"}),{role:"eyebrow"}),at("title",{textStyle:"heading-2",...tp(DL,-.03,.94)},{role:"heading",mark:"accentItalic"}),at("intro",Di(z("body",14),1.6),{props:{...oe,maxWidth:360},mark:"accentItalic"}),FL(667,419,{},()=>!0),BL()]},{kind:"group",name:"Chapters",props:{...L,gap:48,gapPhone:48,line:!1},when:ep,parts:[{kind:"list",key:"entries",name:"Chapter",props:{...L,direction:"row",gap:24,gapPhone:8,share:[12],align:"start"},parts:[Qb(),{kind:"group",name:"Words",props:{...L,gap:14,gapPhone:14},parts:Jb()}]}]},{kind:"group",name:"Heading",props:{...L,gap:24,gapPhone:24,align:"center",maxWidth:760,widthFit:"fill"},when:ty,parts:[ey("eyebrow",bs(12,.3,{color:"accent"}),{role:"eyebrow"}),ey("title",{textStyle:"heading-2",...tp(DL,-.03,.94)},{role:"heading",mark:"accentItalic"}),ey("intro",Di(z("body",14),1.6),{props:{...oe,maxWidth:520},mark:"accentItalic"}),BL({align:"center"})]},FL(506,192,{maxWidth:900,widthFit:"fill"},ty),{kind:"group",name:"Chapters",props:{...L,gap:48,gapPhone:48,line:!0,maxWidth:760,widthFit:"fill",sectionPaddingTop:16},when:WL,parts:[{kind:"list",key:"entries",name:"Chapter",props:{...L,gap:8,gapPhone:8},parts:[Qb(),{kind:"group",name:"Words",props:{...L,gap:14,gapPhone:14},parts:Jb()}]}]},{kind:"group",name:"Chapters",props:{...L,gap:56,gapPhone:56,maxWidth:1e3,widthFit:"fill",sectionPaddingTop:16,mirrorCards:"even"},when:poe,parts:[{kind:"list",key:"entries",name:"Chapter",props:{...L,direction:"row",gap:64,gapPhone:0,share:[50],align:"start"},parts:[{kind:"group",name:"Entry",props:{...L,gap:8,gapPhone:8},parts:[Qb(),{kind:"group",name:"Words",props:{...L,gap:14,gapPhone:14},parts:Jb()}]},{kind:"group",name:"Spacer",props:{...L},keepEmpty:!0,parts:[]}]}]}],drop:{...le,...xe,layout:"the Box's own arrangement replaces it: Split a row of two Boxes; Spine and Alternating a centred column (Track is skipped)"}},zL=()=>({eyebrow:Zu.eyebrow,title:Bi(Zu.title),intro:Zu.intro,ctaText:xa.text,ctaHref:xa.href,entries:AL()}),$L=()=>({eyebrow:Ju.eyebrow,title:Bi(Ju.title),intro:Ju.intro,ctaText:xa.text,ctaHref:xa.href,entries:RL()}),GL={TimelineTrack:uoe,Timeline:moe};import{tabletKey as boe}from"efficient-easel/draw";import{slugify as Y2e}from"efficient-shell/format";import{rootIsDark as hoe}from"efficient-shell/format";function K2e(e="auto"){return e==="light"?!0:e==="dark"?!1:!hoe({whenUnset:!0})}function UL(e,o){return Number.isFinite(e)&&Number.isFinite(o)&&!(e===0&&o===0)}function ry(e){let o=Number.parseFloat(e??"");return Number.isFinite(o)?o:0}var xoe=["tall","square","wide"],Ioe="tall";function jL(e){return xoe.includes(String(e??""))?String(e):Ioe}var Z2e={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"},J2e=[{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
77
|
+
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
|
|
78
|
+
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""}],goe=/^https?:\/\//i;function Q2e(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:ry(e.lat),lng:ry(e.lng),mapsUrl:goe.test(o)?o:""}}function ny(e){let o=String(e??"").split(" \xB7 ");return{state:(o[0]??"").trim(),country:(o[1]??"").trim()}}var eMe="other",oMe={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 KL(e){let o=String(e??"").replace(/[^+\d]/g,"");return o?`tel:${o}`:void 0}var rt=e=>typeof e=="string"?e:e==null?"":String(e),ly=e=>Array.isArray(e.locations)?e.locations.map(o=>o??{}):[],ys=e=>rt(e.group),oF=e=>`loc-${e}`,tF=e=>rt(e.state).trim()||ny(rt(e.region)).state,aF=e=>rt(e.country).trim()||ny(rt(e.region)).country,VL=e=>[tF(e),aF(e)].filter(Boolean).join(" \xB7 "),yoe=e=>ly(e).some(o=>rt(o.photo).trim()!==""),Soe=e=>ly(e).some(o=>UL(Number(o.lat),Number(o.lng))),woe=(e,o)=>ly(e).filter(t=>ys(t)===ys(o)).length,Coe=(e,o)=>woe(e,o)===1?"wide":jL(e.imageShape),sy={top:100,bottom:100,topPhone:60,bottomPhone:60},qL=48,_t=(e,o={})=>({...pt(e),...o}),iy={top:1,right:1,bottom:1,left:1},cy={...L,direction:"row",share:"equal",gap:0},voe=e=>o=>o>ii(o)?{...L,gap:0}:{...cy,...o>1?{phoneRow:e}:{}},koe={kind:"group",name:"Gallery",props:{...L,gap:20,_hidden:!0},when:yoe,parts:[{kind:"group",name:"Gallery head",props:{...L,direction:"row",justify:"between",align:"end",gap:24,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},parts:[Ie("galleryKicker",_t(12,{color:"accent",letterSpacing:.3})),{kind:"text",key:"galleryHint",props:{...oe,align:"right",alignPhone:"left"},style:_t(11,{letterSpacing:.22,alignPhone:"left"})}]},{kind:"group",name:"Groups",props:{...L,gap:24},parts:[{kind:"list",key:"locations",name:"City picture",props:{...L,darken:85,darkenStyle:"bottom",placement:"bottom-left",sectionBorder:iy,...Eo(12,12)},item:(e,o,t)=>({props:{...rt(e.photo).trim()?{bgImage:rt(e.photo),hover:"mono"}:{},link:`#${oF(o)}`,boxShape:Coe(t,e)}}),parts:[{kind:"text",key:"name",props:$,style:_t(11,{letterSpacing:.22,color:"text"})}],groups:{of:ys,name:"Group",props:{...L,gap:10},head:e=>({label:ys(e[0]??{})}),parts:[Ie("label",_t(11,{color:"accent",letterSpacing:.3}))],itemsName:"Cities",itemsProps:voe(2),perRow:ii,rowName:"Row",rowProps:{...cy,phoneRow:2}}}]}]},Toe={kind:"group",name:"Words",props:{...L,gap:12,gapPhone:12,...Eo(28,28),sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},parts:[{kind:"group",name:"Name row",props:{...L,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:{...L,gap:6,gapPhone:6},parts:[{kind:"text",key:"name",role:"heading",props:$,style:{textStyle:"heading-3",...z("headingSmall",30),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02}},{kind:"block",type:"Text",props:{...$,_partStyles:{text:_t(12,{color:"accent",letterSpacing:.24,lineHeight:1.5})}},box:["region","state","country"].map(e=>[e,"text",(o,t)=>VL(t)]),when:(e,o)=>VL(o??{})!==""}]},{kind:"group",name:"Time zone",props:{...L,sectionBorder:iy,...Eo(6,10)},parts:[{kind:"text",key:"timezone",props:{...oe,textFit:"line"},style:_t(12,{letterSpacing:.22,lineHeight:1.5})}]}]},{kind:"text",key:"address",props:oe,style:{textStyle:"body-5",fontRole:"heading",...z("body",14),lineHeight:1.5}},{kind:"block",type:"ButtonBlock",props:{...Ze,...ma,variant:"ghost",arrow:!1,_partStyles:{label:_t(13,{letterSpacing:.18,color:"text",lineHeight:24/13})}},box:[["phone","label"],["phone","href",e=>KL(rt(e))??"#"]],when:(e,o)=>rt(o?.phone).trim()!==""},{kind:"text",key:"hours",props:oe,style:_t(12,{letterSpacing:.18,lineHeight:1.7})}]},Poe={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)=>tF(t)]),...["region","country"].map(e=>[e,"country",(o,t)=>aF(t)])]},Eoe={kind:"group",name:"Map",props:{...L,sectionBorder:{top:1,right:0,bottom:0,left:0}},parts:[Poe]},Ooe={kind:"list",key:"locations",name:"City",props:(e,o)=>({...L,gap:0,justify:"between",sectionBorder:iy,jumpHighlight:!0,sectionAccent:Yr(e,o)>=0?yi(e.sectionAccent,o):-1}),item:(e,o)=>({props:{anchor:oF(o)}}),parts:[Toe,Eoe],groups:{of:ys,name:"Group",props:{...L,gap:20},head:e=>{let o=e[0]??{};return{key:ys(o),groupName:rt(o.groupName),count:`${e.length} location${e.length===1?"":"s"}`}},parts:[{kind:"group",name:"Group head",props:{...L,direction:"row",justify:"between",align:"end",gap:16,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},when:(e,o)=>rt(o?.key).trim()!=="",parts:[Ie("key",_t(13,{color:"accent",letterSpacing:.3})),{kind:"text",key:"groupName",role:"heading",props:$,style:{textStyle:"heading-3",...z("headingSmall",24),case:"upper",weight:500,letterSpacing:-.01}},{kind:"text",key:"count",props:oe,style:_t(12,{letterSpacing:.22})}]}],itemsName:"Cities",itemsProps:e=>({...cy,columns:ii(e),[boe("columns")]:1})}},YL=_t(10,{letterSpacing:.25}),_oe={kind:"block",type:$t,props:{...L,name:"Credit",direction:"row",justify:"end",align:"center",gap:6,share:"content",wrap:!0},when:Soe,slot:Gt,keepEmpty:!0,parts:[{kind:"block",type:"Text",props:{...oe,text:"Location coordinates \xA9",_partStyles:{text:YL}}},{kind:"block",type:"ButtonBlock",props:{...Ze,...ma,variant:"ghost",arrow:!1,label:"OpenStreetMap contributors",href:"https://www.openstreetmap.org/copyright",_partStyles:{label:{...YL,color:"labels"}}}}]},XL=(e,o)=>Object.fromEntries(o.filter(t=>e[t]!==void 0).map(t=>[t,e[t]])),ZL=["sectionPaddingTop","sectionPaddingTopTablet","sectionPaddingTopPhone"],JL=["sectionPaddingBottom","sectionPaddingBottomTablet","sectionPaddingBottomPhone"],QL=e=>e.map(o=>[o,o,(t,a)=>ue(a,sy)[o]]),eF=["sectionAccent","sectionAccent",Ga],Aoe=["gridSpan","_hidden",...Object.values(so)],Roe={name:"City pictures",skip:e=>co(e)?`fed by the data source "${co(e)}": its cities are read as the page is served, not stored on the node`:void 0,boxProps:(e,o)=>({...te,direction:"column",gap:40,anchor:"studios",...XL(ue(e,sy),ZL),sectionPaddingBottom:qL,sectionPaddingBottomPhone:qL,...Xr(e,o)}),box:[...se.filter(e=>e!=="sectionAccent"&&e!=="anchor"),eF,["anchor","anchor",e=>Zs(e).trim()?e:"studios"],...QL(ZL)],parts:[ju("sectionNumber","heading","tagline"),koe],also:[{name:"City maps",boxProps:(e,o)=>({...te,direction:"column",gap:40,sectionBorder:{bottom:1},sectionPaddingTop:0,sectionPaddingTopPhone:0,...XL(ue(e,sy),JL),...Xr(e,o)}),box:[...Aoe,eF,...QL(JL)],parts:[Ooe,_oe]}],reads:{mapTheme:"City maps Box: each Map block's Map theme",imageShape:"City pictures Box: each picture Box's Box shape"},site:Ua,drop:{...le,...xe,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)"}},rF={ContactLocations:Roe};var ap=dm(11),Loe={textStyle:"body-1",...z("body",18),weight:500,lineHeight:1.2},nF=()=>({type:Z,props:{...L,gap:8,gapPhone:8,...Eo(20,24,20,20),name:"Office"},slots:{[ye]:[Oe("badge",{...$,tag:"p",widthFit:"fill"},ap,!0),Oe("role",{...$,tag:"p",widthFit:"fill"},ap,!0),Oe("city",{...$,tag:"p",widthFit:"fill"},Loe),Oe("country",{...oe,tag:"p",widthFit:"fill"},ap),Oe("address",{...oe,tag:"p",widthFit:"fill"},ap),{type:"ButtonBlock",props:{variant:"link",label:"",href:"",[Io]:"linkLabel",[hm]:"href"}}]}});var Foe=["Collections","Events","FAQ","Footprint","GalleryB","LongRead","ProcessSteps","ProductGrid","RelatedProducts"];var Ya=(e,o)=>()=>({top:e,topPhone:o}),sF=e=>o=>{let t=ko(o,e).sectionPaddingTop;return{top:t,topPhone:t}},Boe={Collections:Ya(120,70),Events:Ya(120,70),FAQ:Ya(120,70),GalleryB:Ya(120,70),FitmentTable:Ya(120,80),SpecTable:Ya(120,80),LongRead:Ya(120,80),RelatedProducts:Ya(0,0),Footprint:sF("Footprint"),ProcessSteps:sF("ProcessSteps"),ProductGrid:e=>({top:j(e.padTop)??120,topPhone:0})};function Doe(e,o={}){let t=vo[e],a=Boe[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=ot(e),s=qu(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:lc[e]??e,boxProps:d=>{let f=a(d);return{...te,direction:"column",gap:Uu[Is(e)],sectionPaddingTop:f.top,sectionPaddingTopPhone:f.topPhone}},box:[...se,...r?[[r,"sectionPaddingTop",(d,f)=>a(f).top]]:[]],parts:[n,{kind:"core",keep:"rest",...r?{props:{[r]:0}}:{},...o.slots?{slots:o.slots}:{}},...o.partsAfter??[]],...Object.keys(s).length?{reads:s}:{},...Object.keys(c).length?{drop:c}:{},...o.pressHeading?{pressKeepsEmpty:[t.title]}:{}}}var Noe={Footprint:{slots:{[go]:[nF()]},pressHeading:!0}},lF=Object.fromEntries(Foe.map(e=>[e,Doe(e,Noe[e])]));import{BLOCK_WIDTH_LIMIT as Moe}from"efficient-easel/draw";var rp={eyebrow:xo.eyebrow,title:xo.headingAccent,deck:"Add a sentence or two introducing this document."},AMe={label:"Document masthead",defaultProps:{eyebrow:"",title:"",deck:"",meta:[]}};var xF={minWidth:Moe.min},iF=(e,o,t)=>({...Ie(e,{...o,...gi}),props:{...$,align:"right",...Vr,...t}}),IF={top:1,bottom:0},fy=(e,o,t,a)=>({kind:"group",name:e,props:{...L,sectionPaddingBottom:o,sectionPaddingBottomPhone:t},parts:[a]}),cF={widthFit:"fill",...xF},dF={top:100,bottom:60,topPhone:60,bottomPhone:40},Hoe={...z("label",13),letterSpacing:.22,lineHeight:1.8},fF={textStyle:"heading-1",...Do("headingLarge",56,8,128),case:"upper",weight:500,lineHeight:.88,letterSpacing:-.04},uF=e=>e.titleLevel===2,Woe=()=>({name:"Page Header",boxProps:e=>({...te,direction:"column",gap:0,sectionBorder:{bottom:1},...ue(e,dF)}),box:[...se,...we(dF)],parts:[{kind:"group",name:"Header",props:{...L,direction:"row",align:"end",justify:"between",gap:40,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[fy("Eyebrow",12,0,{...Ie("eyebrow",z("label",13)),props:{...$,...Vr}}),{kind:"text",key:"title",role:"heading",props:{...$,tag:"h1",...cF},style:fF,mark:"accentItalic",when:e=>!uF(e)},{kind:"text",key:"title",role:"heading",props:{...$,tag:"h2",...cF},style:fF,mark:"accentItalic",when:uF},{kind:"group",name:"Details",props:{...L,align:"stretch",gap:0,gapPhone:0,sectionPaddingBottom:12,sectionPaddingBottomPhone:0},parts:[{kind:"list",key:"meta",name:"Detail",flat:!0,parts:[bi("label","value",Hoe,Vr)]}]}]},{kind:"group",name:"Deck",props:{...L,maxWidth:760,sectionBorder:IF,sectionPaddingTop:28},parts:[{kind:"text",key:"deck",props:oe,style:{textStyle:"body-1",fontRole:"accent",...z("body",22,19),italic:!0,lineHeight:1.5}}]}],drop:{...le,...xe,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"}}),gF=()=>({eyebrow:rp.eyebrow,title:Bi(rp.title),deck:rp.deck,meta:[{label:xo.label,value:xo.value},{label:xo.label,value:xo.value}]}),pF={top:80,bottom:40,topPhone:60,bottomPhone:32},zoe={...z("label",13),letterSpacing:.18,lineHeight:1.8},mF={...z("label",13),letterSpacing:.22,lineHeight:1.9},$oe=()=>({name:"Issue Header",boxProps:e=>({...te,direction:"column",gap:0,sectionBorder:{bottom:1},...ue(e,pF)}),box:[...se,...we(pF)],parts:[{kind:"group",name:"Top",props:{...L,direction:"row",align:"end",justify:"between",gap:60,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[fy("Eyebrow",14,14,Ie("eyebrow",z("label",14))),{kind:"group",name:"Issue",props:{...L,align:"end",gap:0,gapPhone:0,sectionPaddingBottom:14},parts:[{kind:"list",key:"issueMeta",name:"Issue line",flat:!0,parts:[bi("lead","rest",zoe)]}]}]},{kind:"group",name:"Bottom",props:{...L,direction:"row",align:"start",justify:"between",gap:60,gapPhone:16,share:"content",sectionBorder:IF,sectionPaddingTop:32},parts:[{kind:"text",key:"lead",props:{...$,maxWidth:720,...xF},style:{textStyle:"body-1",fontRole:"heading3",...z("headingSmall",20),lineHeight:1.5,letterSpacing:-.005,paragraphSpacing:16}},{kind:"group",name:"In this issue",props:{...L,align:"stretch",gap:0},parts:[fy("Heading",6,6,{kind:"text",key:"issueHeading",props:{...$,align:"right",...Vr},style:{textStyle:"body-1",fontRole:"heading",...z("body",18),weight:400,letterSpacing:-.01,lineHeight:1.9,...gi}}),{kind:"group",name:"Lines",props:{...L,align:"stretch",gap:0},parts:[{kind:"list",key:"issueList",name:"Line",flat:!0,parts:[iF("text",{color:"labels",...mF})]}]},iF("issueTotal",mF)]}]}],drop:{...le,...xe}}),hF={top:24,bottom:24,topPhone:16,bottomPhone:16},dy={color:"labels",...z("label",13),letterSpacing:.2},bF=e=>(Array.isArray(e.items)?e.items:[]).filter(o=>o&&typeof o.label=="string"&&o.label.trim()!==""),uy=(e,o)=>o!==void 0&&bF(e).at(-1)===o,yF=(e,o)=>o!==void 0&&bF(e).includes(o),Goe=(e,o)=>yF(e,o)&&!uy(e,o)&&ro(o?.href),Uoe=()=>({name:"Breadcrumb",skip:e=>ro(e.meta)?'a trailing note after "\xB7" needs a second mark; none live':void 0,boxProps:e=>({...te,...Kr,wrap:"wrap",gap:16,gapPhone:16,separator:"slash",sectionBorder:{bottom:1},...ue(e,hF)}),box:[...se,...we(hF)],parts:[{kind:"list",key:"items",name:"Crumb",flat:!0,parts:[{kind:"button",key:"label",href:"href",variant:"ghost",when:Goe,props:{...Ze,...ma,icon:"none"},style:dy},{...Ie("label",dy),when:(e,o)=>yF(e,o)&&!uy(e,o)&&!ro(o?.href)},{...Ie("label",{...dy,color:"text"}),when:uy}]}],drop:{...le,...xe,meta:"a node that stores a note is skipped (`skip`); an empty one draws nothing"}}),SF={DocMasthead:Woe(),Masthead:$oe(),Breadcrumb:Uoe()};import{jsx as Jr,jsxs as my}from"react/jsx-runtime";import{slugify as joe}from"efficient-shell/format";import{jsx as py,jsxs as wF}from"react/jsx-runtime";var zMe="sticky top-[120px]";var CF=(e,o)=>e?{[pf]:o}:{},vF=(e,o)=>mf(e?.[iI(o)]?.role,au[o],ln),kF=120;function TF({title:e,entries:o,stickyTop:t,sticky:a=!0,editing:r=!1,partStyles:n,numberForm:s=Nx,hideClass:l=""}){let c=s==="plain";return wF("aside",{className:`${a?"sticky ":""}flex flex-col self-start max-[900px]:static${l?` ${l}`:""}`,style:a?{top:t}:void 0,children:[e&&py("h4",{className:"mb-[18px] font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-accent",children:et(e)}),o.map((d,f)=>{let m=py("span",{...CF(r,"number"),style:vF(n,"number"),className:"text-accent",children:Kd(s,f)});return wF("a",{href:`#${d.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${f===0?" border-t":""}`,children:[c&&m,py("span",{...CF(r,"entry"),style:vF(n,"entry"),children:et(d.label||"Section")}),!c&&m]},`${f}-${d.anchor}`)})]})}function Koe(e,o){return joe(e)||`section-${o+1}`}var hy=e=>typeof e=="string"&&e.trim()!=="";function xy(e){return(e??[]).filter(o=>hy(o.heading)||hy(o.label)||hy(o.body))}function Iy(e){let o=new Set;return e.map((t,a)=>{let r=Koe(t.label||t.heading||"",a),n=r,s=2;for(;o.has(n);)n=`${r}-${s++}`;return o.add(n),n})}function gy(e){let o=[];for(let t of e.replace(/\r\n?/g,`
|
|
79
|
+
`).split(/\n[ \t]*\n/))t.split(`
|
|
80
|
+
`).map(a=>a.replace(/\s+$/,"")).filter(a=>a.trim()!=="").forEach((a,r)=>{let n=Bs(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+=`
|
|
81
|
+
${a}`:o.push({type:"p",text:a})});return o}var Voe=()=>[{label:i("First section"),heading:i("Your *first* section."),body:i(`Write the opening paragraph here.
|
|
82
|
+
|
|
83
|
+
- Start a line with a dash for a bullet.
|
|
84
|
+
- 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.")}],qoe=kF;function rHe({tocTitle:e,sections:o,editing:t=!1,stickyTop:a=qoe}){let r=xy(o);if(r.length===0&&!t)return null;let n=r.length===0&&t?Voe():r,s=Iy(n);return Jr("section",{className:"relative z-[2] bg-bg",children:my("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:[Jr(TF,{title:e,entries:n.map((l,c)=>({label:l.label||"Section",anchor:s[c]})),stickyTop:a}),Jr("div",{className:"flex flex-col gap-16",children:n.map((l,c)=>my("article",{id:s[c],className:"flex flex-col gap-[18px]",style:{scrollMarginTop:a},children:[my("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-accent",children:[Dx(c)," \xB7 ",et(l.label||"Section")]}),l.heading&&Jr("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:et(l.heading)}),gy(l.body??"").map((d,f)=>d.type==="ul"?Jr("ul",{className:"flex max-w-[680px] list-none flex-col gap-2.5 pl-0",children:d.items.map((m,u)=>Jr("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:et(m)},u))},f):Jr("p",{className:"max-w-[680px] font-serif text-[length:var(--size-body,17px)] leading-[1.7] text-fg-dim",children:et(d.text)},f))]},s[c]))})]})})}import{VIEW_DESKTOP_MIN as by,VIEW_TABLET_MIN as Yoe}from"efficient-easel/draw";var np=cc["view-wide"],PF=960,Xoe=Yoe,EF={min:np,max:1600,step:10},OF="stackBelow";function iHe(e){if(!(typeof e!="number"||!Number.isFinite(e))&&!(e<EF.min||e>EF.max))return Math.round(e)}var Zoe=e=>`sf-stack-${e}`,Joe=e=>`sf-stack-${e}-gutter`,Qoe=e=>`sf-stack-${e}-outer`,Ss=e=>`${e-.02}px`;function cHe(e){let o=`.${Zoe(e)}`,t=`.${Joe(e)}`,a=`.${Qoe(e)}`,r=[];if(e>np){let n=`${o}>.sf-block-size,${o}>[data-easel-block]>[data-sf-part-host]>.sf-block-size`,s=Math.min(e,by);r.push(`@media (min-width:${np}px) and (max-width:${Ss(e)}){${o}${o}{flex-direction:column}.sf-gap-overlap${o}{--sf-gap-overlap-eff:calc(var(--sf-gap-overlap) / 2)}${n}{width:min(var(--sf-bw-p,100%),100%);flex-grow:0}}`,`@media (min-width:${np}px) and (max-width:${Ss(s)}){.sf-gap-zone${o}{gap:var(--sf-gap-len-tablet,var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2)))}}`),e>by&&r.push(`@media (min-width:${by}px) and (max-width:${Ss(e)}){.sf-gap-zone${o}{gap:var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2))}}`)}return r.push(`@media (max-width:${Ss(e)}){${t}${t}{padding-inline:min(24px,var(--sf-site-gutter,40px))}}`),e<PF&&r.push(`@media (min-width:${e}px) and (max-width:${Ss(PF)}){${t}${t}{padding-inline:var(--sf-site-gutter,40px)}}`),r.push(`@media (min-width:${Xoe}px) and (max-width:${Ss(e)}){`+["top","bottom","left","right"].map(n=>`.sf-pad-${n}-phone:has(>${a}),.sf-pad-${n}-phone${a}{padding-${n}:var(--sf-pad-${n[0]}-phone)!important}`).join("")+"}"),r.join("")}var _F={top:80,bottom:80,topPhone:60,bottomPhone:60},AF=18,RF=18,LF=8,ete=10,yy=e=>typeof e=="string"&&e.trim()!=="",FF=e=>xy(e.sections),ote=e=>gy(typeof e.body=="string"?e.body:"").map(o=>o.type==="ul"?{kind:"ul",text:o.items.map(t=>`- ${t}`).join(`
|
|
85
|
+
`)}:{kind:"p",text:o.text}),Sy={...pt(12),letterSpacing:.3,color:"accent",lineHeight:1.5},BF={textStyle:"body-1",fontRole:"accent",...z("body",17)},tte=[Ie("label",Sy),{...Ie("title",Sy),when:(e,o)=>!yy(o?.label)},{kind:"block",type:"Text",when:(e,o)=>!yy(o?.label)&&!yy(o?.title),props:{...$,text:"Section",_partStyles:{text:Sy}}},{kind:"group",name:"Heading",props:{...L,sectionPaddingBottom:LF,sectionPaddingBottomPhone:LF},parts:[{kind:"group",name:"Heading line",props:{...L,sectionBorder:{bottom:1},sectionPaddingBottom:RF,sectionPaddingBottomPhone:RF},parts:[{kind:"text",key:"heading",role:"heading",props:$,style:{textStyle:"heading-2",...Do("headingMedium",28,3.5,44),case:"upper",weight:500,lineHeight:1.04,letterSpacing:-.025}}]}]},{kind:"list",key:"body",name:"Body",flat:!0,of:ote,parts:[{kind:"text",key:"text",props:oe,style:{...BF,lineHeight:1.7},when:(e,o)=>o?.kind==="p"},{kind:"text",key:"text",props:oe,style:{...BF,lineHeight:1.65,paragraphSpacing:ete},when:(e,o)=>o?.kind==="ul"}]}],ate=900,rte={name:"Document Text",boxProps:e=>({...te,direction:"row",gap:80,gapPhone:40,[OF]:ate,sectionBorder:{bottom:1},...ue(e,_F)}),box:["anchor","sectionAccent","_hidden",...Object.values(so),...we(_F)],parts:[{kind:"block",type:"Contents",props:e=>({title:e.tocTitle??"",sticky:!0,widthFit:"fixed",width:240,widthFitPhone:"fill"})},{kind:"group",name:"Sections",props:{...L,gap:64,gapPhone:64,widthFit:"fill"},parts:[{kind:"list",key:"sections",name:"Section",of:e=>FF(e),props:{...L,gap:AF,gapPhone:AF},item:(e,o,t)=>({props:{anchor:Iy(FF(t))[o]??`section-${o+1}`}}),parts:tte}]}],reads:{tocTitle:"the Contents block's Heading"},drop:{...le,stickyTop:"the Contents block draws DocBody's default (120px); 0 live nodes store it"}},DF={DocBody:rte};var bHe="[--intro-edge:60px] max-[960px]:[--intro-edge:24px]",nte="overlay",ste=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function NF(e){return no(ste,nte,e)}var yHe={desktop:40,mobile:45,min:20,max:80,step:5};function SHe(e,o){return`${typeof e=="number"?e:o}%`}var MF=(e,o)=>{let t=j(e),a=j(o);return{...t===void 0?{}:{size:t},...a===void 0?{}:{sizePhone:a}}},lte=e=>NF(e.layout)==="stacked",HF=e=>Math.min(Math.max(j(e.overlay)??60,0),100),sp=e=>j(e)??100,ite={textStyle:"heading-1",sizeToken:{...Do("headingLarge",48,7,96).sizeToken,pxPhone:36},weight:500,lineHeight:.95,letterSpacing:-.03},cte=[Ie("eyebrow",z("label",14)),...[!0,!1].map(e=>({kind:"text",key:"title",role:"heading",props:$,style:{...ite,case:e?"upper":"none"},styleFrom:o=>MF(o.titleSizeDesktop,o.titleSizeMobile),when:o=>o.uppercase===!0===e})),{kind:"text",key:"body",props:{...oe,maxWidth:560},style:{textStyle:"body-1",...z("body",17,16),lineHeight:1.6,paragraphSpacing:24},styleFrom:e=>MF(e.bodySizeDesktop,e.bodySizeMobile)},{kind:"group",name:"Button",props:{...L,align:"start",sectionPaddingTop:8,sectionPaddingTopPhone:8},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:Ze}]}],WF=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)`,dte=()=>({name:"Scroll-Over Text",skip:e=>lte(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=>({...te,direction:"column",justify:"center",align:"start",gap:24,gapPhone:24,share:"content",...Si,placement:"left",darken:HF(e),darkenStyle:"even",sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:sp(e.heightDesktop),sectionHeightModePhone:"fixed",sectionHeightUnitPhone:"%",sectionHeightValuePhone:sp(e.heightMobile)}),box:[...se.filter(e=>!String(typeof e=="string"?e:e[0]).startsWith("sectionHeight")),["imageSrc","bgImage"],["imageSrcMobile","bgImagePhone"],["overlay","darken",(e,o)=>HF(o)],["heightDesktop","sectionHeightValue",e=>sp(e)],["heightMobile","sectionHeightValuePhone",e=>sp(e)]],parts:cte,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:WF("Button color"),buttonTextColor:WF("Button text color"),...le}}),GF={textStyle:"heading-2",...z("headingMedium",56,36),weight:400,lineHeight:1.05,letterSpacing:-.03},fte={textStyle:"body-1",...z("body",16),lineHeight:1.7},UF=e=>({kind:"text",key:"body",props:{...oe,maxWidth:520},style:{...fte,paragraphSpacing:e}}),ip={top:0,bottom:0,topPhone:0,bottomPhone:0},wy=(e,o)=>typeof e.sectionHeightMode=="string"&&e.sectionHeightMode!=="auto"?{}:{sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:o,sectionHeightModePhone:"auto"},ute=(e,o)=>{let t=wy(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"}},jF={boxShapePhone:"landscape"},KF="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)",pte=(e,o)=>({[e]:o,[`${e}Phone`]:o}),mte={textStyle:"heading-2",...z("headingMedium",40),weight:500,case:"none",lineHeight:1,letterSpacing:-.02},zF=e=>(Array.isArray(e.stats)?e.stats:[]).filter(o=>o&&(String(o.value??"").trim()!==""||String(o.label??"").trim()!=="")),hte=()=>({name:"Brand Text",boxProps:(e,o)=>({...te,...Bo("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...ue(e,ip),...wy(e,100)}),box:[...se,...we(ip)],parts:[{kind:"group",name:"Words",props:(e,o)=>({...L,justify:"center",gap:28,gapPhone:28,sectionBorder:wi({right:1}),sectionBorderPhone:wi({}),...Si,sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60,sectionPaddingRight:hs(o)}),parts:[Ie("eyebrow",z("label",14)),{kind:"text",key:"heading",role:"heading",props:$,style:{...GF,case:"none"},mark:"accentItalic"},UF(28),{kind:"group",name:"Stats",props:{...L,sectionPaddingTop:16,sectionPaddingTopPhone:16},parts:[{kind:"group",name:"Figures",props:e=>({...L,direction:"row",share:"equal",gap:24,gapPhone:24,maxWidth:520,phoneRow:Math.min(Math.max(zF(e).length,1),3),...pte("sectionBorder",wi({top:1})),sectionPaddingTop:28,sectionPaddingTopPhone:28}),parts:[{kind:"list",key:"stats",name:"Stat",of:zF,props:{...L,gap:4,gapPhone:4},parts:[{kind:"text",key:"value",props:qr,style:mte},Ie("label",{...z("label",13),color:"labels",letterSpacing:.2})]}]}]}]},wb("Picture","imageSrc",jF)],drop:{...le,grayscale:KF,...xe}}),lp=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}},xte=e=>e.textAlign==="center"?"center":e.textAlign==="right"?"end":"stretch",Ite=e=>Math.min(Math.max(j(e.overlay)??60,0),100),VF=e=>typeof e=="string"&&e.trim()!=="",gte={...Ze,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},$F=e=>({...wb("Picture","imageSrc",(o,t)=>({...VF(o.imageSrc)?{darken:40,darkenStyle:"even"}:{},placement:"center",...jF,sectionBorder:wi(e?{left:1}:{right:1}),...qF(e?"left":"right",hs(t))}),[{kind:"button",key:"imageBtnText",href:"imageBtnHref",variant:"ghost",props:gte,style:{...pt(13,12),letterSpacing:.18}}]),when:o=>o.reverse===!0===e}),qF=(e,o)=>{let t=Math.max(60-o,0);return{sectionPaddingLeft:e==="left"?60:t,sectionPaddingRight:e==="right"?60:t}},bte={kind:"group",name:"Words",props:(e,o)=>{let t=e.reverse===!0;return{...L,justify:"center",align:xte(e),placement:e.textAlign==="center"?"center":e.textAlign==="right"?"right":"left",...ute(e,72),gap:24,gapPhone:24,...VF(e.textBgSrc)?{darken:Ite(e),darkenStyle:"even"}:{},...Si,sectionPaddingTop:100,sectionPaddingBottom:100,...qF(t?"right":"left",hs(o)),sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60}},box:[["textBgSrc","bgImage"]],parts:[{...Ie("eyebrow",z("label",14)),styleFrom:lp},{kind:"text",key:"title",role:"heading",props:$,style:GF,styleFrom:e=>({case:e.uppercase===!0?"upper":"none",...lp(e)})},{...UF(24),styleFrom:lp},{kind:"group",name:"Button",props:{...L,sectionPaddingTop:8,sectionPaddingTopPhone:8},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:e=>{let o=lp(e);return{...Ze,...o.align?{align:o.align}:{},...o.alignPhone?{alignPhone:o.alignPhone}:{}}}}]}]},yte=()=>({name:"Image & Text Split",boxProps:(e,o)=>({...te,...Bo("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...ue(e,ip),...wy(e,72)}),box:[...se,...we(ip)],parts:[$F(!1),bte,$F(!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:KF,...le,...xe}}),YF={IntroBleed:dte(),Manifesto:hte(),Split:yte()};var JF={headPlacement:void 0},XF={top:0,bottom:0,topPhone:0,bottomPhone:0},Ste=()=>({name:"Form",boxProps:e=>({...te,direction:"column",...ue(e,XF)}),box:[...se,...we(XF)],parts:[{kind:"core",keep:"rest",props:JF}],drop:{...le,...xe}}),ZF={top:120,bottom:120,topPhone:60,bottomPhone:60},wte=()=>({name:"Photo Submission Form",boxProps:e=>({...te,direction:"column",gap:24,...ue(e,ZF)}),box:[...se,...we(ZF)],parts:[Ie("eyebrow"),{kind:"text",key:"title",role:"heading",props:$,style:{textStyle:"heading-2"},mark:"accentItalic"},{kind:"text",key:"body",role:"body",props:oe},{kind:"core",as:"Form",keep:["formSlug"],rename:{buttonText:"submitText",consent:"finePrint"},props:JF}],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:{...le,...xe,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'}}),QF={Form:Ste(),SubmitBuild:wte()};var eB={top:80,bottom:80,topPhone:60,bottomPhone:60},Cte=()=>{let e=qu("FitmentFinder");return{name:"Fitment Form",boxProps:o=>({...te,direction:"column",gap:Uu[Is("FitmentFinder")],...ue(o,eB)}),box:[...se,...we(eB)],parts:[ot("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:{...le,...xe,layout:'the section shape; "bar" is skipped (above), so here it is the stacked shape this Box draws'}}},oB={FitmentFinder:Cte()};var tB={top:72,bottom:72,topPhone:72,bottomPhone:72},vte={name:"Editorial Text",boxProps:e=>({...te,direction:"column",gap:28,gapPhone:28,sectionBorder:{top:1},...ue(e,tB)}),box:[["topBorder","sectionBorder",e=>e===!1?void 0:{top:1}],...se,...we(tB)],parts:[ot("Prose"),{kind:"text",key:"body",props:oe,style:{textStyle:"body-1",...z("body",16),lineHeight:1.7,paragraphSpacing:18}}],drop:{...le,...xe,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)"}},aB={buttonPaddingTop:20,buttonPaddingBottom:20,buttonPaddingLeft:28,buttonPaddingRight:28},rB=(e,o)=>o?.variant==="primary",nB=(e,o)=>({kind:"list",key:"buttons",name:"Button",flat:!0,when:e,parts:[{kind:"button",key:"label",href:"href",when:rB,variant:"primary",style:{letterSpacing:.3},props:{...Ze,...aB,...o}},{kind:"button",key:"label",href:"href",when:(t,a)=>!rB(t,a),variant:"ghost",style:{letterSpacing:.3},props:{...Ze,...aB,...o}}]}),cp=e=>ro(e.title),kte={name:"Call-to-Action Heading",boxProps:e=>({...te,direction:"row",align:"center",justify:cp(e)?"between":"end",gap:60,gapPhone:60,share:"content",sectionBorder:{bottom:1},...ko(e,"TitleWithButtons")}),box:[...se,...$a("TitleWithButtons")],parts:[{kind:"group",name:"Title",props:{...L,maxWidth:1e3,widthFitPhone:"fill"},parts:[{kind:"text",key:"title",role:"heading",props:$,style:{textStyle:"heading-1",...Do("headingLarge",48,7,108),case:"upper",lineHeight:.94,letterSpacing:-.035}}]},{kind:"group",name:"Buttons",props:e=>({...L,gap:14,gapPhone:14,widthFitPhone:"fill",...cp(e)?{minWidth:280,minWidthPhone:0}:{}}),parts:[nB(cp,{widthFit:"fill",iconPosition:"end"}),nB(e=>!cp(e),{})]}],drop:{...le,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 Tte(e){let{siteGutter:o,siteGutterPhone:t}=e.site??{},a=hs(e),r=Math.min(20,xd(t)??Id(o));return{sectionPaddingLeft:a,sectionPaddingRight:a,sectionPaddingLeftPhone:r,sectionPaddingRightPhone:r}}var sB={top:40,bottom:64,topPhone:24,bottomPhone:36},Pte={name:"Section Header",boxProps:(e,o)=>({...te,direction:"column",gap:0,...ue(e,sB),...Tte(o)}),box:[...se,...we(sB)],parts:[ot("SectionHeader")],drop:{...le,...xe,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"}},lB={...L,direction:"row",share:[67],gap:30},iB={...L,sectionPaddingLeft:30,sectionPaddingLeftPhone:0},cB=(e,o,t)=>({kind:"group",name:e,props:o,parts:[t]}),Ete={name:"Lead Text",boxProps:e=>({...te,direction:"column",gap:40,gapPhone:40,sectionBorder:{bottom:1},...ko(e,"ParagraphsA")}),box:[...se,...$a("ParagraphsA")],parts:[{kind:"group",name:"Numbers",props:{...lB,gapPhone:24,sectionBorder:{bottom:1},sectionPaddingBottom:40,sectionPaddingBottomPhone:40},parts:[{kind:"group",name:"Eyebrow",props:{...L,sectionPaddingTop:5,sectionPaddingBottom:1,sectionPaddingTopPhone:5,sectionPaddingBottomPhone:1},parts:[Ie("eyebrow",{color:"labels",...z("label",12),letterSpacing:.24})]},cB("Stats column",L,{kind:"group",name:"Stats",props:{...iB,gap:0,gapPhone:0},parts:[{kind:"list",key:"stats",name:"Stat",flat:!0,parts:[bi("value","label",{...z("label",13),letterSpacing:.18,lineHeight:1.8})]}]})]},{kind:"group",name:"Words",props:{...lB,gapPhone:28},parts:[{kind:"group",name:"Lead",props:L,parts:[{kind:"group",name:"Measure",props:{...L,maxWidth:780},parts:[{kind:"text",key:"lead",props:$,style:{textStyle:"heading-3",...z("headingSmall",22,20),weight:400,case:"none",lineHeight:1.45,letterSpacing:-.005}}]}]},cB("Note column",{...L,justify:"end",widthFit:"fill"},{kind:"group",name:"Founders",props:{...iB,gap:8,gapPhone:8},parts:[{kind:"group",name:"Note",props:{...L,gap:6,gapPhone:6},parts:[{kind:"text",key:"foundersHeading",props:$,style:{textStyle:"body-1",fontRole:"heading",...z("body",18,16),weight:500,letterSpacing:-.01,lineHeight:1.7}},{kind:"text",key:"foundersBody",props:oe,style:{textStyle:"body-5",fontRole:"heading",...z("body",14,12),lineHeight:1.7}}]},Ie("attribution",{...z("label",12,10),letterSpacing:.24,lineHeight:1.7})]})]}],drop:{...le}},dB={top:24,bottom:24,topPhone:24,bottomPhone:24},Ote={name:"Banner",boxProps:e=>({...te,direction:"column",gap:0,...ue(e,dB)}),box:[...se,"contained",...we(dB)],parts:[{kind:"group",name:"Card",keepEmpty:!0,props:{...L,gap:28,placement:"top-left",darken:60,darkenStyle:"even",sectionBorder:{width:1},...Eo(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:{...L,gap:20},parts:[Ie("eyebrow"),{kind:"text",key:"title",role:"heading",props:{...$,maxWidth:680},style:{weight:500,lineHeight:1.05,letterSpacing:-.03,case:"none"}},{kind:"text",key:"body",props:{...oe,maxWidth:680},style:{textStyle:"body-1",lineHeight:1.6},was:{size:16}}]},{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:Ze}]}],drop:{...le,...xe}},Cy={Prose:vte,TitleWithButtons:kte,SectionHeader:Pte,ParagraphsA:Ete,Banner:Ote};function JHe(){Fo(Cy),Fo(mL),Fo(wL),Fo(rL),Fo(OL),Fo(GL),Fo(rF),Fo(lF),Fo(SF),Fo(DF),Fo(YF),Fo(QF),Fo(oB)}import{isNodeList as Ni}from"efficient-easel/data";var d4e=Object.keys(Cy),_te={Logos:CL,DocMasthead:gF,Timeline:zL,TimelineTrack:$L};function dp(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]=Ni(n)?n.map(s=>dp(s,o,t)):n;return a.id=t(e.type),{type:e.type,props:a}}var fB=e=>({...e?.theme?{theme:e.theme}:{},press:!0});function vy(e,o,t=0,a=()=>({})){return(r,n,s)=>{let{nodes:l}=Ou({type:e,props:{...r(e),...a(),id:n(e)}},o,fB(s));return dp(l[t],r,n)}}var Ate={Stats:Rte};function Rte(){let e=ui("StatsParagraph");return e?(o,t,a)=>{let{nodes:r}=Ou({type:"StatsParagraph",props:{...o("StatsParagraph"),...hL(),id:t("StatsParagraph")}},e,fB(a)),n=r[0],s=Ni(n.props.content)?n.props.content.filter(f=>f.props?.cardStyle===void 0):[],l=pB(qb(xL(),"table")),c=s.map(uB),d=dp({...n,props:{...n.props,content:[...c,l]}},o,t);return{...d,props:{...d.props,name:"Stats section"}}}:null}function uB(e){if(e.props?.name==="Words"){let o=Ni(e.props.content)?e.props.content.map(Lte):e.props.content;return{...e,props:{...e.props,widthFitPhone:"fill",content:o}}}return Ni(e.props?.content)?{...e,props:{...e.props,content:e.props.content.map(uB)}}:e}function Lte(e){return e.type!=="Text"?e:{...e,props:ca({...e.props,alignTablet:"left"},"text","alignTablet","left")}}var pB=e=>Ho([e],(o,t)=>`${o}-seed-${t}`)[0];function Fte(e,o){if(!LA(e,o))return null;let t=Ate[e];if(t)return t();let a=ui(e);return a?vy(e,a,0,_te[e]):null}function Bte(e){return(o,t,a)=>{let r=n=>{if(n.type==="Stats"){let c=dp(pB(qb([],"list")),o,t);return{...c,props:{...c.props,name:"Numbers"}}}let s=!1,l={};for(let[c,d]of Object.entries(n.props))if(Ni(d)){let f=d.map(r);s||=f.some((m,u)=>m!==d[u]),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=fi){let t=XA(e);return t?Bte(t):Fte(e,o)}function Mi(e,o){let t=e.components[o]?.label;return typeof t=="string"&&t.trim()?t.trim():o}function Nte(e){return e.length>3&&e.endsWith("s")?e.slice(0,-1):e}function Ty(e,o,t,a){e.forEach((r,n)=>{if(ky(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(ky)&&Ty(l,r,s,a)}})}function Mte(e){let o=[];Ty(Array.isArray(e.content)?e.content:[],null,"",o);for(let t of Object.values(e.zones??{}))Array.isArray(t)&&Ty(t,null,"",o);return o}function xB(e,o){return Mte(e).find(t=>String(t.node.props.id)===o)}function IB(e,o,t){if(!t)return null;let a=xB(o,t);if(!a)return null;let r=Mi(e,a.node.type),n=a.parent?`${Mi(e,a.parent.type)} \xB7 ${Nte(a.slot)} ${a.index+1}`:r;return{blockId:t,type:a.node.type,label:n,path:""}}var Hte=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 Wte(e){if(!e||typeof e!="object")return null;let o=e;if(typeof o.type!="string")return null;let t=o.type==="custom"?o[Dte]: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=Hte(n));for(let s of["arrayFields","objectFields"]){let l=t?.[s]??o[s];l&&typeof l=="object"&&(a[s]=gB(l))}return a}function gB(e){let o={};for(let[t,a]of Object.entries(e??{})){let r=Wte(a);r&&(o[t]=r)}return o}function bB(e){let o={};for(let[t,a]of Object.entries(e.components))a&&(o[t]={label:Mi(e,t),fields:gB(a.fields),...yB(t)?{retired:!0}:{}});return o}function yB(e){return Object.prototype.hasOwnProperty.call(Up,e)}function mB(e,o){let t=e.components[o]?.defaultProps;return t&&typeof t=="object"?structuredClone(t):{}}function zte(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 Py(e,o){return e.findIndex(t=>ky(t)&&String(t.props.id)===o)}function hB(e,o,t){let a=o||t;if(!a)return e.length;let r=Py(e,a);if(r<0)throw new Error(`there is no top-level block ${a}`);return o?r+1:r}function SB(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=xB(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 m=zte(f.node.props,l.path)??d(`there is no ${l.path} in that block`);Object.assign(m,structuredClone(l.props));break}case"insert_block":{e.components[l.type]??d(`there is no block type ${l.type}`),yB(l.type)&&d(`${Mi(e,l.type)} is retired: it is no longer added (a page that holds one keeps it)`);let f=ws(l.type),m=Object.keys(l.props??{}).filter(x=>x!=="id");f&&m.length&&d(`${Mi(e,l.type)} is laid down as a Box of blocks: insert it with no props, then change its blocks`);let u=f?f(x=>mB(e,x),a,r):{type:l.type,props:{...mB(e,l.type),...structuredClone(l.props),id:a(l.type)}};s.splice(hB(s,l.after,l.before),0,u);break}case"remove_block":{let f=Py(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=Py(s,l.block_id);f<0&&d(`there is no top-level block ${l.block_id}`);let[m]=s.splice(f,1);s.splice(hB(s,l.after,l.before),0,m);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 Ey=e=>Q(e.requestId)??null;function vB(){let e=Ute(),{appState:o,selectedItem:t,dispatch:a,history:r,config:n}=Gte(u=>u),s=n,l=CB({appState:o,dispatch:a,history:r,blockConfig:s});l.current={appState:o,dispatch:a,history:r,blockConfig:s};let c=CB(new Map),d=t?.props?.id,f=$te(()=>IB(s,o.data,d),[s,o.data,d]),m=f?JSON.stringify(f):"";wB(()=>{e.connected&&e.send("storefront-editor:selection",{selection:f})},[e,m]),wB(()=>e.subscribe(u=>{let{appState:x,dispatch:I,history:y,blockConfig:P}=l.current;switch(u.type){case"storefront-editor:request-document":{let C=Ey(u);if(!C)return;e.send("storefront-editor:document",{requestId:C,document:x.data,blocks:bB(P)});return}case"storefront-editor:apply-page-edits":{let C=Ey(u);if(!C)return;let S=Array.isArray(u.ops)?u.ops:[],g=S.length?SB(P,x.data,S,v=>`${v}-${crypto.randomUUID()}`,_u()):{ok:!1,reason:"no changes"};g.ok&&(I({type:"setData",data:g.document,recordHistory:!0}),c.current.set(C,JSON.stringify(g.document.content??[]))),e.send("storefront-editor:page-edits-result",{requestId:C,applied:g.ok,reason:g.ok?null:g.reason});return}case"storefront-editor:undo-page-edits":{let C=Ey(u);if(!C)return;let S=c.current.get(C),g=S!==void 0&&S===JSON.stringify(x.data.content??[]);g&&y.hasPast&&(y.back(),c.current.delete(C)),e.send("storefront-editor:page-edits-result",{requestId:C,applied:g&&y.hasPast,reason:g?null:"the page has changed since"});return}case"storefront-editor:set-right-panel":typeof u.shown=="boolean"&&I({type:"setUi",ui:{rightSideBarVisible:u.shown}});return;default:return}}),[e])}import{useEffect as PB,useState as EB}from"react";var fp=new Map;async function jte(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 kB(e,o){let t=fp.get(o);return t||(t=jte(e,o),fp.set(o,t),t.catch(()=>{fp.get(o)===t&&fp.delete(o)})),t}var Kte=/^(localhost|(?:[a-z0-9-]+\.)+localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|::1)$/i;function Oy(e){return!!e&&Kte.test(e)}function TB(e){let{pageSlug:o,siteSlug:t,hostname:a}=e,r=o===Lc?"/":`/${encodeURIComponent(o)}`;if(!Oy(a))return r;let n=t?.trim();return n?`${r}?site=${encodeURIComponent(n)}`:r}function OB(e){let{pageSlug:o,siteId:t,token:a}=e,[r,n]=EB(null),[s,l]=EB(null),c=un();PB(()=>l(c?new URL(c).hostname:window.location.hostname),[c]),PB(()=>{if(!Oy(s)||!t||!a){n(null);return}let f=!1;return kB(a,t).then(m=>{f||n(m)}),()=>{f=!0}},[s,t,a]);let d=TB({pageSlug:o,siteSlug:r,hostname:s});return c?`${c}${d}`:d}import{jsx as Hi}from"react/jsx-runtime";import{useEffect as Vte,useRef as _B,useState as qte}from"react";import{ExternalIcon as AB}from"efficient-easel/icons";import{EaselIconButton as Yte}from"efficient-easel/chrome";import{Tooltip as Xte,iconButtonClasses as Zte}from"efficient-shell/ui";import{useSettledPress as Jte}from"efficient-easel/easel";import{useScreenDocument as Qte}from"efficient-easel/screen/components/ScreenDocumentContext";async function eae({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 RB({liveHref:e,pageId:o,draftLink:t}){let{flushSave:a}=Qte(),r=_B(a);r.current=a;let n=Jte(),[s,l]=qte(!1),c=_B(null);if(Vte(()=>()=>c.current?.(),[]),t&&o){let d=()=>new Promise((m,u)=>{c.current=()=>m(!1),n.run(()=>{c.current=null,r.current().then(m,u)})}),f=()=>{s||n.waiting||(l(!0),eae({pageId:o,liveHref:e,draftLink:t,ready:d}).finally(()=>l(!1)))};return Hi(Yte,{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:Hi(AB,{})})}return Hi(Xte,{content:i("Preview the live site (opens in a new tab)"),side:"bottom",children:Hi("a",{className:Zte({className:"es-iconbtn"}),href:e,target:"_blank",rel:"noopener noreferrer","aria-label":i("Preview the live site in a new tab"),children:Hi(AB,{})})})}import{createElement as nae,useCallback as sae,useEffect as YB,useRef as XB,useState as lae}from"react";import{ClockIcon as iae}from"efficient-shell/icons/efficient";import{useScreenDocument as cae}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSyncExternalStore as oae}from"react";import{useScreenDocument as tae}from"efficient-easel/screen/components/ScreenDocumentContext";var aae=()=>()=>{},LB=()=>null;function up(e){return oae(e?e.subscribe:aae,e?e.state:LB,e?e.state:LB)}function pp(){let{adapter:e}=tae();return e?.pinnedChrome}import{useSyncExternalStore as DB}from"react";var Wi=!1,Cs=null,_y=new Set;function $i(){for(let e of _y)e()}function NB(e){return _y.add(e),()=>{_y.delete(e)}}function MB(){Wi||(Wi=!0,$i())}function HB(){Wi&&(Wi=!1,$i())}function FB(){return Wi}function WB(){return DB(NB,FB,FB)}function BB(){return Cs}function mp(){Cs&&(Cs=null,$i())}function zB(){return DB(NB,BB,BB)}var zi=class extends Error{constructor(){super("The editor's last changes could not be saved, so nothing was restored."),this.name="HeldEditsNotSaved"}};async function $B(e,o,t,{flushSave:a,reload:r}){if(!await a())throw new zi;let n=await e.restore(o,t);return qc(n.liveState),r(),n}async function GB({access:e,version:o,page:t,...a}){let r=await $B(e,o.id,t?{page:t.id}:{},a);Cs={title:rae(o,t??null),undo:r.undo},$i()}async function UB({access:e,...o}){let t=Cs?.undo;t&&(await $B(e,t,{},o),Cs=null,$i())}function jB(e){return e.name?e.name:e.kind==="draft_before_restore"?i("Draft before restore"):i("Version {n}",{n:e.number})}function rae(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 KB(e){let o=e.changes.filter(a=>a.kind==="page").length,t=[...o?[wo("{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(Hp(),{type:"conjunction"}).format(t)}catch{return t.join(", ")}}function VB(e){return e.change==="take_down"?i("{name} (taken down)",{name:e.name}):e.name}function qB(e,o=new Date){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let a=Hp(),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 ZB(e){let{docId:o,capabilities:t,hasUnsavedEdits:a,onPublish:r,adapter:n}=cae(),s=x1(h1(o??null),a),l=up(pp()),c=n.siteLiveState;YB(()=>{if(c)return Ah(c),Jt(0),()=>Ah(null)},[c]);let d=Yc(),[f,m]=lae(!1),u=XB(e);u.current=e;let x=XB(!0);YB(()=>(x.current=!0,()=>{x.current=!1}),[]);let I=sae(()=>{m(!0),r(u.current).then(()=>{mp()}).finally(()=>{x.current&&m(!1)})},[r]);if(t.canPublish){if(c){let y=d===void 0?void 0:a||d.state==="changed"?"changed":"live",P=Kg({live:y,onPress:I,busy:f,goingLive:I1(d?.changes??[])});return n.siteVersions?{...P,menuItems:dae()}:P}return Kg({live:s,onPress:I,busy:f,pinnedUnpublished:l?.unpublished??!1})}}function dae(){return[{key:"version-history",label:i("Version history"),icon:nae(iae),onSelect:MB}]}import{jsx as X,jsxs as Go,Fragment as ji}from"react/jsx-runtime";import{useCallback as fae,useEffect as uae,useId as eD,useRef as pae,useState as nt}from"react";import{useSettledAction as mae}from"efficient-easel/easel";import{Avatar as hae,Banner as Gi,Button as Qr,ColoredBadge as Ay,Dialog as oD,Drawer as xae,DropdownMenu as Iae,FormField as tD,iconButtonClasses as gae,Inline as Ry,Input as bae,ListRow as yae,Select as Sae,SortableList as wae,Stack as Ui}from"efficient-shell/ui";import{EditIcon as Cae,EyeIcon as JB,MenuIcon as vae,MoreIcon as kae,PageIcon as aD,RevertIcon as QB,StylesIcon as Tae}from"efficient-shell/icons/efficient";import{useScreenDocument as rD}from"efficient-easel/screen/components/ScreenDocumentContext";var Pae={page:aD,menu:vae};function Eae(e,o){return e.pages.find(t=>t.id===o)??e.pages[0]??null}function Oae(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 _ae({version:e,page:o,waiting:t,busy:a,error:r,onCancel:n,onConfirm:s,onPage:l}){let c=eD();if(!e)return null;let d=e.kind==="draft_before_restore",f=e.number,m=KB(e),u=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}):m?i("The whole website goes back to version {n} as a draft: {what}.",{n:f,what:m}):i("The whole website goes back to version {n} as a draft.",{n:f}),I=e.deletedPictures??0;return X(oD,{open:!0,onClose:()=>{a||n()},size:"sm",title:u,footer:Go(ji,{children:[X(Qr,{variant:"secondary",onClick:n,disabled:a,children:i("Cancel")}),X(Qr,{onClick:s,loading:a,disabled:a,children:i("Restore as draft")})]}),children:Go(Ui,{gap:4,children:[o&&e.pages.length>1?X(tD,{label:i("Page"),htmlFor:c,children:X(Sae,{id:c,value:o.id,options:e.pages.map(y=>({value:y.id,label:y.name})),onChange:l,disabled:a})}):null,X("p",{children:x}),X("p",{children:i("Your live website does not change until you press Publish.")}),I>0?X(Gi,{tone:"warning",children:wo("{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.",I)}):null,t?X(Gi,{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?X(Gi,{tone:"danger",children:r}):null]})})}function Aae({version:e,onCancel:o,onSave:t}){let a=eD(),[r,n]=nt(null),[s,l]=nt(""),[c,d]=nt(!1),[f,m]=nt(null);if(e!==r&&(n(e),l(e?.name??""),m(null)),!e)return null;let u=s.trim()===e.name,x=async()=>{if(!(c||u)){d(!0),m(null);try{await t(s.trim())}catch{m(i("The name was not saved. Try again."))}finally{d(!1)}}};return X(oD,{open:!0,onClose:()=>{c||o()},size:"sm",title:i("Name this version"),footer:Go(ji,{children:[X(Qr,{variant:"secondary",onClick:o,disabled:c,children:i("Cancel")}),X(Qr,{onClick:()=>{x()},loading:c,disabled:c||u,children:i("Save")})]}),children:X(tD,{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:X(bae,{id:a,value:s,invalid:!!f,onChange:I=>l(I.target.value),onKeyDown:I=>{I.key==="Enter"&&x()}})})})}function Rae({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:X(JB,{}),onSelect:a}],...c?[{key:"restore",label:l?i("Put these drafts back"):i("Restore whole website"),icon:X(QB,{}),onSelect:r}]:[],...c&&!l&&e.pages.length?[{key:"restore-page",label:i("Restore one page only"),icon:X(aD,{}),onSelect:n}]:[],...l?[]:[{type:"divider",key:"divider"},{key:"name",label:i("Name this version"),icon:X(Cae,{}),onSelect:s}]];return X(yae,{title:Go("span",{className:"sf-version-title",children:[X("span",{children:jB(e)}),e.live?X(Ay,{tone:"success",size:"xs",children:i("Live")}):null,e.name?X(Ay,{tone:"neutral",size:"xs",children:i("Version {n}",{n:e.number})}):null,l?X(Ay,{tone:"warning",size:"xs",children:i("Not published")}):null]}),expanded:o,onToggle:t,actions:X(Iae,{align:"end","aria-label":i("More"),items:f,triggerClassName:gae({variant:"ghost",size:"sm"}),trigger:X(kae,{})}),below:Go(Ui,{gap:3,children:[Go(Ry,{gap:2,align:"center",wrap:!0,className:"sf-version-meta",children:[X(hae,{name:e.createdBy,size:"xs"}),X("span",{children:e.createdBy}),X("span",{"aria-hidden":"true",children:"\xB7"}),X("span",{children:qB(e.createdAt)}),d?Go(ji,{children:[X("span",{"aria-hidden":"true",children:"\xB7"}),X("span",{children:wo("{n} change","{n} changes",d)})]}):null]}),o?Go(Ui,{gap:3,children:[d?X(Ui,{gap:2,children:e.changes.map(m=>{let u=Pae[m.kind]??Tae;return Go(Ry,{gap:2,align:"center",children:[X(u,{size:16}),X("span",{children:VB(m)})]},`${m.kind}:${m.id}`)})}):null,Go(Ry,{gap:2,children:[l?null:X(Qr,{variant:"secondary",size:"sm",leftIcon:X(JB,{}),onClick:a,children:i("Preview")}),c?X(Qr,{variant:"secondary",size:"sm",leftIcon:X(QB,{}),onClick:r,children:i("Restore")}):null]})]}):null]})})}function Lae({open:e,onClose:o,access:t,waiting:a}){let{flushSave:r,reloadFromServer:n,docId:s}=rD(),[l,c]=nt(null),[d,f]=nt(!1),[m,u]=nt(null),[x,I]=nt(null),[y,P]=nt(!1),[C,S]=nt(null),[g,v]=nt(null),[k,F]=nt(!1),T=pae(0),B=fae(()=>{let b=++T.current;f(!1),t.list().then(_=>{b===T.current&&c(_)},()=>{b===T.current&&f(!0)})},[t]);uae(()=>{e&&B()},[e,B]);let E=b=>{F(!1),Oae(t,b.id).catch(()=>F(!0))},A=async()=>{if(!(!x||y)){P(!0),S(null);try{await GB({access:t,version:x.version,page:x.page,flushSave:r,reload:n}),I(null),o()}catch(b){S(b instanceof zi?i("Your last changes did not save, so nothing was restored. Try again."):i("The version was not restored. Nothing changed. Try again."))}finally{P(!1)}}},N=mae({onPress:()=>{A()},busy:y});return Go(ji,{children:[X(xae,{open:e,onClose:o,side:"right",size:"md",title:i("Version history"),description:Go(ji,{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:X("span",{className:"sf-version-foot",children:i("The newest 30 are kept. Named versions are always kept.")}),children:Go(Ui,{gap:3,children:[k?X(Gi,{tone:"danger",onDismiss:()=>F(!1),children:i("The preview did not open. Try again.")}):null,d?X(Gi,{tone:"danger",action:X(Qr,{variant:"secondary",size:"sm",onClick:B,children:i("Try again")}),children:i("Version history did not load.")}):l===null?X("p",{className:"sf-version-foot",children:i("Loading versions")}):l.length===0?X("p",{className:"sf-version-foot",children:i("No versions yet. Every Publish from now on keeps one.")}):X(wae,{"aria-label":i("Versions"),spacing:"comfortable",children:l.map(b=>X(Rae,{version:b,expanded:m===b.id,onToggle:()=>u(_=>_===b.id?null:b.id),onPreview:()=>E(b),onRestore:()=>{S(null),I({version:b,page:null})},onRestorePage:()=>{S(null),I({version:b,page:Eae(b,s)})},onName:()=>v(b)},b.id))})]})}),X(_ae,{version:x?.version??null,page:x?.page??null,waiting:a,busy:N.busy===!0,error:C,onCancel:()=>I(null),onConfirm:N.onPress,onPage:b=>I(_=>_&&{..._,page:_.version.pages.find(R=>R.id===b)??_.page})}),X(Aae,{version:g,onCancel:()=>v(null),onSave:async b=>{await t.name(g.id,b),v(null),B()}})]})}function nD(){let{adapter:e,hasUnsavedEdits:o}=rD(),t=e.siteVersions,a=WB(),r=Yc();return t?X(Lae,{open:a,onClose:HB,access:t,waiting:o||r?.state==="changed"}):null}import{useEaselSession as a2}from"efficient-easel/screen/lib/session-context";import{buildPaletteSections as h5e,categoryLabel as x5e,paletteWithoutPinned as I5e,pinnedSection as g5e}from"efficient-easel/screen/lib/document/palette-sections";var Fae={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 sD(e){return Fae[e]?.label}var lD=Kp;import{currentEaselSession as sN}from"efficient-easel/screen/lib/session";import{blockTypesIn as aN}from"efficient-easel/screen/lib/document/block-types-in";import{jsx as st,jsxs as ZD}from"react/jsx-runtime";import{createContext as Rre,useContext as Lre,useEffect as Fre,useRef as Bre,useState as JD}from"react";import{jsx as vs,jsxs as SD}from"react/jsx-runtime";import{useEffect as ks,useRef as ere,useState as on}from"react";import{jsx as en}from"react/jsx-runtime";import{Component as Mae,createContext as Hae,lazy as E5e,Suspense as O5e,useContext as Wae}from"react";var Bae="hrefRewrite";function Dae(){return wa("efficient.link-href-rewrites",()=>({rewrites:new Map,count:0,missed:new Set}))}function Nae(){return typeof process<"u"&&!0}function w5e(e){let o=e?.[Bae];return typeof o=="string"?o.trim():""}function iD(e){if(!e)return null;let o=Dae(),t=o.rewrites.get(e);return!t&&!Nae()&&o.missed.add(e),t??null}var zae={Link:SS,Image:yS},cD=Hae(zae);function L5e({runtime:e,children:o}){return en(cD.Provider,{value:e,children:o})}function Fy(){return Wae(cD)}function F5e(){return Fy().pagePath??null}function B5e({hrefRewrite:e,...o}){let{Link:t}=Fy(),a=iD(e);return a?en(Ly,{name:a.name,href:o.href,fallback:en(t,{...o}),children:en($ae,{Link:t,rewrite:a.rewrite,...o})},a.key):en(t,{...o})}function $ae({Link:e,rewrite:o,...t}){let a=Q(o(t.href)),r=a&&ew(a)?a:t.href;return en(e,{...t,href:r})}var Ly=class extends Mae{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 dD(e){let{Image:o}=Fy();return en(o,{...e})}import{jsx as fD,Fragment as Gae,jsxs as Uae}from"react/jsx-runtime";import{useEffect as jae,useRef as uD,useState as Kae}from"react";var Vae="#t=0.001",qae=2;function Yae(e,o){if(e.readyState<qae||!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 pD({src:e,objectPosition:o="50% 50%",onError:t}){let a=uD(null),r=uD(null),[n,s]=Kae(!1);return jae(()=>{let l=a.current,c=r.current;if(n||!l||!c)return;let d=()=>{Yae(l,c)&&s(!0)};return d(),l.addEventListener("loadeddata",d),l.addEventListener("seeked",d),()=>{l.removeEventListener("loadeddata",d),l.removeEventListener("seeked",d)}},[n]),Uae(Gae,{children:[fD("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&&fD("video",{ref:a,src:`${e}${Vae}`,muted:!0,playsInline:!0,preload:"auto",className:"hidden",onError:t})]})}import{imageCopyUrl as hD,imageSrcSet as Xae}from"efficient-shell/image-copies";var mD;function By(){return mD===void 0?{}:{host:mD}}var z5e="(max-width: 800px) 100vw, min(100vw, 1600px)",$5e="(max-width: 960px) 100vw, 50vw";function xD(e,{fallbackWidth:o=1280,maxWidth:t}={}){let a=Xae(e,{...By(),...t===void 0?{}:{maxWidth:t}});return a?{src:hD(e,o,By()),srcSet:a}:{src:e}}function G5e(e){let o=hD(e,1920,By());return o===e?`url(${e})`:`url("${o}")`}import{jsx as ID}from"react/jsx-runtime";import{createContext as Zae,useContext as Jae,useMemo as V5e}from"react";var gD=Zae(null);function bD({children:e}){return ID(gD.Provider,{value:"below",children:e})}function Ki(){return Jae(gD)}function Qae(){return Ki()==="below"?{loading:"lazy"}:{}}function yD(e){let o=Qae();return ID("img",{...e,...o})}var q5e="laterSlideIds";var ore=.5;function Vi({videoSrc:e,posterSrc:o,showVideo:t=!0,playbackRate:a=ore,objectPosition:r="50% 50%",objectPositionPhone:n,objectPositionTablet:s,quiet:l=!1,slideShown:c,laterSlide:d=!1,laterOfLead:f=!1}){let m=Fv(n,s),u=Ki(),[x,I]=on(!1),y=u==="below"&&!x,P=u==="first",C=o||"",S=e||"",[g,v]=on(!1),[k,F]=on(!1),[T,B]=on(!1),[E,A]=on(!1),N=c??!0,[b,_]=on(!1),R=u!=="first"&&!f,[M,q]=on(!1),V=ere(null);ks(()=>{if(!R)return;if(document.readyState==="complete"){q(!0);return}let J=()=>q(!0);return window.addEventListener("load",J,{once:!0}),()=>window.removeEventListener("load",J)},[R]),ks(()=>{v(!1),F(!1),B(!1),A(!1)},[e,o]),ks(()=>{N&&_(!0)},[N]),ks(()=>{let J=V.current;J&&(N?J.play()?.catch(()=>{}):J.pause())},[N,b,M]),ks(()=>{if(!d||R&&!M)return;let J=()=>I(!0);if(typeof window.requestIdleCallback=="function"){let ze=window.requestIdleCallback(J,{timeout:2e3});return()=>window.cancelIdleCallback(ze)}let Le=setTimeout(J,800);return()=>clearTimeout(Le)},[d,R,M]),ks(()=>{let J=V.current;if(!J)return;let Le=()=>{J.playbackRate=a};return Le(),J.addEventListener("loadedmetadata",Le),()=>J.removeEventListener("loadedmetadata",Le)},[e,a]);let U=wS(C),pe=C&&U&&!k?xD(C):{src:C};return SD("div",{className:"absolute inset-0 z-[1]",children:[vs("div",{className:"absolute inset-0",style:{background:"var(--site-surface)"}}),C&&(U?vs("img",{src:pe.src,...pe.srcSet?{srcSet:pe.srcSet,sizes:"100vw"}:{},alt:"",...y?{loading:"lazy"}:{},...P?{fetchPriority:"high"}:{},className:`absolute inset-0 z-[2] h-full w-full object-cover ${m.className}`.trim(),style:{display:g?"none":"block",objectPosition:r,...m.style},onError:()=>pe.srcSet?F(!0):v(!0)},C):vs(dD,{src:C,alt:"",fill:!0,...y?{}:x?{loading:"eager"}:{priority:!0},sizes:"100vw",className:`z-[2] object-cover ${m.className}`.trim(),style:{display:g?"none":"block",objectPosition:r,...m.style},onError:()=>v(!0)},C)),t&&!l&&S&&b&&(!R||M)&&!T&&SD("video",{ref:V,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:()=>B(!0),children:[CS(S)&&vs("source",{src:S.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),vs("source",{src:S,type:"video/mp4"})]},S),t&&l&&S&&b&&(!R||M)&&!E&&(!C||g)&&vs(pD,{src:S,objectPosition:r,onError:()=>A(!0)},S)]})}import{Fragment as ED,jsx as No,jsxs as My}from"react/jsx-runtime";import{MOTION_TIMING as tre}from"efficient-shell/format";var kD="grayscale(1) contrast(1.03)",s3e="Black and white";function are(e){return e===!0?{filter:kD}:{}}function rre(e){let{filter:o}=are(e);return o?{style:{filter:o}}:{}}var an="sf-photo-grayscale",Ny="data-sf-photo-host",wD={duration:"--sf-photo-hover-duration",delay:"--sf-photo-hover-delay"},gp=`@media (hover:hover){.${an}{filter:${kD};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))}.${an}:hover,[data-sf-photo-host]:hover .${an}{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${an}{transition:none}}`;function TD(e){let o=tre.hover,t={...e.duration!==o.duration.default?{[wD.duration]:`${e.duration}s`}:{},...e.delay!==o.delay.default?{[wD.delay]:`${e.delay}s`}:{}};return Object.keys(t).length?t:void 0}function PD(e,o,t){if(e===!0)return rre(!0);if(t?.kind==="mono"){let a=TD(t);return{className:an,sheet:gp,...a?{style:a}:{}}}return e===!1?{}:o===!0?{className:an}:{}}var tn="sf-photo-next",CD="data-sf-repeat",Dy="sf-photo-zoom",nre="--sf-photo-zoom",l3e="sf-photo-wash",hp="sf-photo-wash-rest",qi="sf-photo-wash-hover",xp="sf-photo-frame",Ip=(e,o)=>{let t=`:not([${CD}]:not(:hover) .${e})`;return`${o},[${CD}]:hover .${e}${t},[${Ny}]:hover .${e}${t}`},vD=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))`,sre=`.${tn}{opacity:0}.${qi}{opacity:0}@media (hover:hover){.${tn},.${hp},.${qi}{transition:${vD("opacity")}}${Ip(tn,`.${tn}:hover,.${xp}:hover .${tn}`)},${Ip(qi,`.${xp}:hover .${qi}`)}{opacity:1}${Ip(hp,`.${xp}:hover .${hp}`)}{opacity:0}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.${Dy}{transition:${vD("transform")}}${Ip(Dy,`.${xp}:hover .${Dy}`)}{transform:scale(var(${nre}))}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${tn},.${hp},.${qi}{transition:none}}`;function i3e(e){if(e?.kind!=="nextImage")return null;let o=TD(e);return{className:tn,sheet:sre,...o?{style:o}:{}}}function c3e(e){return e===!0?{[an]:gp}:{}}import{hidableText as lre}from"efficient-easel/draw";var ire={one:"max-[719px]:grid-cols-1 max-[719px]:grid-rows-1",side:"max-[719px]:grid-cols-2 max-[719px]:grid-rows-1",stacked:"max-[719px]:grid-cols-1 max-[719px]:grid-rows-2"},cre={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 OD(e){let o=e.isVideo&&Xw(e.videoSource)==="youtube",t=e.isVideo&&Zw(e.videoPlayback)==="click",a=o?Jw(lre(e.youtubeUrl)):null,r=Ff(e.mediaLayout);return{fromYouTube:o,onClick:t,youTubeId:a,backgroundFile:e.isVideo&&!o&&!t,desktopLayout:r,phoneLayout:VI(e.mediaLayoutPhone,r),twoPictures:!e.isVideo&&Nl(e)>1}}function Yi(e,o){return Uf(ss({_partMotion:e},o))}function Ts(e,o){return PD(void 0,void 0,I0(ss({_partMotion:e},o)))}function _D(e){return Br.some(o=>Ts(e,o).className)?{hostAttrs:{[Ny]:""},sheet:gp}:{}}function bp({treatment:e,children:o}){return e.className?No("div",{className:`absolute inset-0 ${e.className}`,...e.style?{style:e.style}:{},children:o}):No(ED,{children:o})}function yp({color:e,opacity:o,passClicks:t=!0}){return o>0?No("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 Sp({part:e,editing:o,marked:t=!0,entrance:a,className:r,children:n}){let s=o&&t?{[bO]:e}:void 0;return a?No(kb,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:r,boxAttrs:s,children:n}):No("div",{className:r,...s,children:n})}function AD({partMotion:e,editing:o,children:t}){let a=Yi(e,"media"),r=Ts(e,"media"),n=r.className?No("div",{className:`absolute inset-0 z-[1] ${r.className}`,...r.style?{style:r.style}:{},children:t}):t;return a?No(kb,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:"absolute inset-0 z-[1]",children:n}):No(ED,{children:n})}function RD({desktopLayout:e,phoneLayout:o,editing:t,marked:a=!0,partMotion:r,first:n,second:s,laterSlide:l=!1}){return My("div",{className:`absolute inset-0 z-[1] grid ${ire[o]} ${cre[e]}`,"data-hero-layout":e,"data-hero-layout-phone":o,children:[No(Sp,{part:"image",editing:t,marked:a,entrance:Yi(r,"image"),className:"relative overflow-hidden",children:My(bp,{treatment:Ts(r,"image"),children:[No(Vi,{posterSrc:Sa(n.src),showVideo:!1,laterSlide:l,objectPosition:n.objectPosition,objectPositionPhone:n.objectPositionPhone,objectPositionTablet:n.objectPositionTablet}),No(yp,{color:n.tintColor,opacity:n.tintOpacity})]})}),No(Sp,{part:"image2",editing:t,marked:a,entrance:Yi(r,"image2"),className:`relative overflow-hidden${o==="one"?" max-[719px]:hidden":""}${e==="one"?" view-tablet:hidden":""}`,children:My(bp,{treatment:Ts(r,"image2"),children:[No(Vi,{posterSrc:Sa(s.src),showVideo:!1,laterSlide:l,objectPosition:s.objectPosition,objectPositionPhone:s.objectPositionPhone,objectPositionTablet:s.objectPositionTablet}),No(yp,{color:s.tintColor,opacity:s.tintOpacity})]})})]})}import{jsx as rn,Fragment as dre,jsxs as fre}from"react/jsx-runtime";import{useEffect as ure,useState as pre}from"react";import{PlaySolidIcon as mre}from"efficient-shell/icons/efficient-looks";function LD({youTubeId:e,ownPoster:o,background:t,editing:a}){let[r,n]=pre("large");return ure(()=>n("large"),[e]),e?fre(dre,{children:[!o&&r!=="none"&&rn(yD,{src:r==="large"?Qw(e):eC(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&&rn("div",{className:"pointer-events-none absolute inset-0 z-[3] overflow-hidden [container-type:size]","aria-hidden":"true",children:rn("iframe",{src:Tm(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 FD({youTubeId:e,fileSrc:o,playing:t,onPlay:a,editing:r}){return!e&&!o?null:t&&!r?e?rn("iframe",{src:Tm(e,"click"),title:Pm,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"}):rn("video",{src:o,controls:!0,autoPlay:!0,playsInline:!0,className:"absolute inset-0 z-[6] h-full w-full bg-overlay-scrim object-contain"}):rn("button",{type:"button","aria-label":Pm,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:rn(mre,{size:28})})}function BD(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 DD=["top","middle","bottom"],ND=["left","center","right"],MD="bottom",HD="left",hre={top:"Top",middle:"Middle",bottom:"Bottom"},xre={left:"Left",center:"Center",right:"Right"},A3e="Up and down",R3e="Sideways",Ire={top:"flex-start",middle:"center",bottom:"flex-end"},gre={left:"flex-start",center:"center",right:"flex-end"},bre="--sf-hero-phone-y",yre="--sf-hero-phone-x";function Sre(e){return DD.includes(e)?e:MD}function wre(e){return ND.includes(e)?e:HD}function WD(e,o){let t=Sre(e),a=wre(o),r={};return t!==MD&&(r[bre]=Ire[t]),a!==HD&&(r[yre]=gre[a]),r}function L3e(){return DD.map(e=>({label:hre[e],value:e}))}function F3e(){return ND.map(e=>({label:xre[e],value:e}))}import{hexToRgb as Cre}from"efficient-shell/format";var vre=!0;var kre=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function zD(e){let o=Cre(e);return o?`${o.r},${o.g},${o.b}`:null}function $D(e){return e==null?vre:e!==!1}function GD(e){let o=(e?zD(e):null)??zD(bt);return`linear-gradient(180deg, ${kre.map(([t,a])=>`rgba(${o},${a}) ${t}%`).join(", ")})`}import{hexToRgb as UD}from"efficient-shell/format";var jD="bottom";var Tre=[{label:"Bottom",value:"bottom",cell:"bottom"},{label:"Top",value:"top",cell:"top"},{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"}],Pre={bottom:180,top:0,left:270,right:90},Ere=[[.55,0],[.15,18],[null,35],[null,55],[.85,100]],Ore=[[null,33],[.6,67],[.94,100]];function _re(e,o){let{r:t,g:a,b:r}=UD(e)??UD(bt);return`rgba(${t},${a},${r},${o})`}function KD(e){return no(Tre,jD,e)}function VD(e=bt,o=jD){let t=KD(o),a=(t==="top"||t==="bottom"?Ere:Ore).map(([r,n])=>`${r===null?"transparent":_re(e,r)} ${n}%`);return`linear-gradient(${Pre[t]}deg, ${a.join(", ")})`}function qD(e,o){let t=Q(e.overlayColor),a=Q(e.overlayPosition),r=Q(o)??bt;return!t&&!a?{own:!1,color:r,position:null}:{own:!0,color:t??r,position:KD(a)}}import{jsx as Are}from"react/jsx-runtime";var YD="sf-photo-hover";function XD({sheet:e,name:o=YD}){return e?Are("style",{href:o,precedence:YD,dangerouslySetInnerHTML:{__html:e}}):null}var Dre=Rre({});function s6e({name:e,process:o,mediaType:t="video",mediaSrc:a,videoSpeed:r,poster:n,objectPosition:s,objectPositionPhone:l,objectPositionTablet:c,tintColor:d=bt,tintOpacity:f=0,groups:m,editing:u=!1,themeClassName:x,themeStyle:I,overlayColor:y,overlayPosition:P,mediaLayout:C,mediaLayoutPhone:S,mediaImage2:g,objectPosition2:v,objectPosition2Phone:k,objectPosition2Tablet:F,tintColor2:T=bt,tintOpacity2:B=0,videoSource:E,youtubeUrl:A,videoPlayback:N,partMotion:b,laterSlide:_=!1}){let{alignment:R="left",textureOpacity:M,textureOn:q,textureColor:V,quietVideo:U,phoneUpDown:pe,phoneSideways:J,holdReel:Le,reelHeld:ze,shownSlide:Ce,ratioMin:he}=Lre(Dre),_e=Ki(),Ne=_&&_e==="first",Je=Bre(null),[So,ce]=JD(Ce===void 0?void 0:!1);Fre(()=>{let ga=Je.current;ce(Ce===void 0||!ga?void 0:BD(ga.closest(".hero-track"),"data-slide-name")[Ce]===ga)});let ve=t==="video",Ge=ve?Sa(a):void 0,Pe=ve?Sa(n):Sa(a)??Sa(n),Ye=typeof r=="number"?r/100:1,{fromYouTube:Uo,onClick:Mo,youTubeId:H,backgroundFile:Ae,desktopLayout:re,phoneLayout:Fe,twoPictures:Ee}=OD({isVideo:ve,videoSource:E,videoPlayback:N,youtubeUrl:A,mediaLayout:C,mediaLayoutPhone:S}),[jo,Vt]=JD(!1);jo&&ze===!1&&Vt(!1);let qe=!jo,Ko=qD({overlayColor:y,overlayPosition:P},V),Ia=ve?null:Yi(b,"image"),nn=_D(b),Es=st(bp,{treatment:ve?{}:Ts(b,"image"),children:st(Vi,{videoSrc:Ae?Ge:void 0,posterSrc:Pe,showVideo:Ae,playbackRate:Ye,objectPosition:s,objectPositionPhone:ve?void 0:l,objectPositionTablet:ve?void 0:c,quiet:U,slideShown:So,laterSlide:_,laterOfLead:Ne})}),qt=ZD("section",{ref:Je,className:`${he?"relative min-h-full w-full overflow-clip":"relative h-full w-full overflow-hidden"}${x?` ${x}`:""}`,style:I,"data-slide-name":e??"","data-slide-process":o??"","data-slide-media":Ae&&Ge?"video":"still",...nn.hostAttrs,children:[st(XD,{sheet:nn.sheet}),st(AD,{partMotion:b,editing:u,children:Ee?st(RD,{laterSlide:_,desktopLayout:re,phoneLayout:Fe,editing:u,marked:!1,partMotion:b,first:{src:a,objectPosition:s,objectPositionPhone:l,objectPositionTablet:c,tintColor:d,tintOpacity:f},second:{src:g,objectPosition:v,objectPositionPhone:k,objectPositionTablet:F,tintColor:T,tintOpacity:B}}):Uo||Ia?ZD(Sp,{part:ve?"media":"image",editing:u,marked:!1,entrance:Ia,className:"absolute inset-0 z-[1]",children:[Es,Uo&&st(LD,{youTubeId:H,ownPoster:!!Pe,background:!Mo,editing:u})]}):Es}),Mo&&st(FD,{youTubeId:H,fileSrc:Uo?void 0:Ge,playing:jo,onPlay:()=>{Vt(!0),Le?.()},editing:u}),qe&&!Ee&&st(yp,{color:d,opacity:f,passClicks:!1}),qe&&$D(q)&&st("div",{className:"absolute inset-0 z-[2]",style:{background:Ko.own?VD(Ko.color,Ko.position??void 0):GD(Ko.color),...M!==void 0?{opacity:M/100}:null}}),qe&&st("div",{className:[he?"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",u?"sf-hero-group-layer-edit":""].filter(Boolean).join(" "),style:{...Jv,...WD(pe,J)},children:m&&st(m,{className:"sf-hero-group-zone",minEmptyHeight:160})})]});return Ne?st(bD,{children:qt}):qt}var QD=Array.from({length:3},(e,o)=>({name:`Slide ${o+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{newNodeId as oN}from"efficient-easel/draw";var Nre="ImageBlock",Mre=3,wp=(e,o,t={})=>({type:e,props:{...o?.(e)??{},id:oN(e),...t}}),Hre=e=>({...e?.(Z)??{},direction:"column",[ye]:[wp(Nre,e),wp(Z,e,{direction:"column",[ye]:[wp("Text",e,va()),wp("Text",e)]})]}),jt={Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>QD.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${Xt.toLowerCase()}`,seeds:()=>[],addBlocked:Ac,notice:th},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${Xt.toLowerCase()}`,seeds:()=>[],addBlocked:Ac,notice:th},ProcessSteps:{slot:"boxes",childType:Z,addLabel:`Add ${Xt.toLowerCase()}`,seeds:e=>Array.from({length:Mre},()=>Hre(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}},eN=1,Wre={slot:Dl,childType:Z,addLabel:`Add ${Xt.toLowerCase()}`,seeds:()=>[],addBlocked:e=>e.length>=eN?"This Hero has its Scrolling Bar already. Delete it to add another.":null,notice:e=>e.length>eN?`This Hero holds ${e.length} Scrolling Bars. Keep one and delete the others.`:null},tN={Hero:{[Dl]:Wre}};function h6e(e){for(let[o,t]of Object.entries(e)){if(o in jt&&jt[o]!==t)throw new Error(`lib/document/slot-specs: "${o}" already has a slot spec`);jt[o]=t}}function x6e(e,o){let t=jt[e];return t?{slot:t.slot,children:t.seeds(o).map(a=>({type:t.childType,props:{id:oN(t.childType),...a}}))}:null}var rN=()=>({}),nN=new Map;function zre(e){let o=nN.get(e);if(o)return o;let t=new Set,a=jt[e];if(a)for(let s of a.seeds(rN))for(let l of aN({type:a.childType,props:s}))t.add(l);let r=ws(e);if(r){let s=0;for(let l of aN(r(rN,c=>`${c}-${s+=1}`)))t.add(l)}t.delete(e);let n=[...t].sort();return nN.set(e,n),n}function $re(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let o=Gg(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=US(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)&&zre(c).every(l);return s.set(c,f),f};return{sets:o,offers:l}}var Gre="block-offer";function Hy(e=sN()){return e.cache(Gre,()=>$re(Wc(e)))}function lN(e,o=sN()){let t=Hy(o);return t?t.offers(e):!0}function Ure(e){let o=Lu.Ticker(e.nodeDefaults,e.newNodeId),{sectionBorder:t,...a}=o.props,r=jI.line?{sectionBorder:t}:{};return{...o,props:{...a,...r,sectionAccent:jI.sectionAccent}}}var jre={Hero:{[Dl]:{newChild:Ure,childLabel:lc.Ticker}}},iN=Object.fromEntries(Object.entries(tN).map(([e,o])=>[e,Object.fromEntries(Object.entries(o).map(([t,a])=>[t,{...a,...jre[e]?.[t]}]))]));function cN(e,o=0,t,a){let r=Vre(qre(e,o,a),t),n=r?Hy():null;return r&&n?Kre(r,n):r}function Kre(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 Vre(e,o){if(!e||e.source!=="container"||!o||!Ww())return e;let t=Gs({data:o.data},o.id),a=typeof t?.type=="string"?zw(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 qre(e,o,t){let a=t?iN[e]?.[t]:void 0;if(a)return{source:"section",slot:a.slot,choices:null,spec:a};let r=jt[e];if(r)return{source:"section",slot:r.slot,choices:null,spec:r};let n=VS(e,o);if(n)return{source:"container",slot:n.slot,choices:n.choices,spec:null};let s=_1(e);return s?{source:"footer",slot:O1,choices:s,spec:null}:null}function dN(e,o=[go]){return xm(e.type)?o.map(t=>t===go?{slot:t,label:i(Bw),rung:!0}:{slot:t,label:t,rung:!1}):null}import{useSyncExternalStore as Yre}from"react";var Wy=null,zy=new Set;function fN(e){if(Wy!==e){Wy=e;for(let o of zy)o()}}function Xre(e){return zy.add(e),()=>{zy.delete(e)}}function G6e(){return Yre(Xre,()=>Wy,()=>null)}function uN(e){return js(e)?.ownerId??null}function pN(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 mN=(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};var hN="sf-editor-left-view";function xN(){if(typeof window>"u")return"pages";try{let e=window.localStorage.getItem(hN);return e==="sections"||e==="styles"?e:"pages"}catch{return"pages"}}function IN(e){if(!(typeof window>"u"))try{window.localStorage.setItem(hN,e)}catch{}}function gN(e,o){return e==="styles"&&!o?"sections":e}function bN(e,o){return e?"sections":o}var Zre=new Set(["BookingBox","SubmitBox"]);function Jre(e){return typeof e=="string"&&Zre.has(e)}var Qre=mC(Jre,C1);function yN(e,o){return Qre(e)||zh(o)}import{copyNode as ene}from"efficient-easel/data";function SN(e){let o=typeof e?.props?.id=="string"?e.props.id:null,t=xt(),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 wN={usedOn:e=>{let o=xt(),t=o?.sectionOf(e.props.id)??null;return!o||!t?null:o.usedOn(t)??[]},openPage:e=>Cc()?.openPage(e),adopt:(e,o)=>xt()?.adopt(e.props.id,o),nodeOf:e=>xt()?.place(e)??null,detach:e=>{let o=Cc()?.config;return o?ene(e,o):e},removed:()=>Cc()?.reload()};import{sharedSectionsOf as mse}from"efficient-easel/screen/lib/shared-sections";import{scrollPreviewToSection as hse,scrollPreviewToTop as XN}from"efficient-easel/screen/lib/document/preview-dom";import{jsx as Uy,Fragment as Rne,jsxs as Lne}from"react/jsx-runtime";import{useContext as Fne,useEffect as Bne,useMemo as Vy,useRef as FN}from"react";import{EaselCanvas as Dne,repeatCopyAt as Nne,useEasel as Mne}from"efficient-easel/easel";import{jsx as PN,Fragment as pne,jsxs as mne}from"react/jsx-runtime";import{useEffect as EN,useLayoutEffect as hne}from"react";var Cp="data-theme",CN="light";function one(e){return e.getAttribute(Cp)===CN?"light":"dark"}function tne(e,o){return one(e)===o?!1:(o==="light"?e.setAttribute(Cp,CN):e.removeAttribute(Cp),!0)}function ane(e){return Mp(e).getItem(Ap)}function nWe(e,o){Mp(e).setItem(Ap,o)}function rne(e,o,t=new Date().getHours()){return oS({mode:o.mode,override:ane(e),switchShown:o.switchShown,hour:t})}function vN(e,o){let t=e.documentElement;if(!t)return()=>{};let a=()=>tne(t,rne(e,o));a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[Cp]}),()=>n.disconnect()}var nne="style";function sne(e,o){let t=dS(o),a=!1;for(let r of cS){let n=t[r]??"";e.style.getPropertyValue(r)!==n&&(n?e.style.setProperty(r,n):e.style.removeProperty(r),a=!0)}return a}function kN(e,o){let t=e.body;if(!t)return()=>{};let a=()=>sne(t,o);a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[nne]}),()=>n.disconnect()}import{VIEW_DESKTOP_MIN as lne,VIEW_TABLET_MIN as ine}from"efficient-easel/screen/lib/content/view-tiers";var cne={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"},lt=cne,dne=e=>e.flatMap(o=>[`[${o}] p`,`[${o}] li`]).join(","),fne=String.raw`(function (doc) {
|
|
86
|
+
if (doc.__sfFitWords) return;
|
|
87
|
+
var win = doc.defaultView;
|
|
88
|
+
var SELECTOR = "h1,h2,h3,h4,h5,h6,[class*='font-heading'],[class*='font-display']";
|
|
89
|
+
// Body text a block asked to shrink (its Text group's Shrink), beside
|
|
90
|
+
// the headings: what this script may fit at all. modeOf() decides each one.
|
|
91
|
+
var SHRINK_BODY = ${JSON.stringify(dne([lt.fit,lt.fitTablet,lt.fitPhone]))};
|
|
92
|
+
var CANDIDATES = SELECTOR + "," + SHRINK_BODY;
|
|
93
|
+
var MIN_SCALE = 0.3, MIN_PX = 16, SLACK = 1, PHONE_BELOW = 800;
|
|
94
|
+
var TABLET_MIN = ${ine}, DESKTOP_MIN = ${lne};
|
|
95
|
+
|
|
96
|
+
// A block's own answer (lib/content/block-size, the wrapper's attributes):
|
|
97
|
+
// the fit "wrap" | "shrink" | "line" and the floor, each with a tablet and a
|
|
98
|
+
// phone twin. From 1100 the desktop's; 720-1099 the tablet's where it has one;
|
|
99
|
+
// under 720 the phone's, else the tablet's, else the desktop's. With no
|
|
100
|
+
// tablet answer the phone's is read under 800, as before (the edge moves with
|
|
101
|
+
// F1). With none, a heading shrinks and body text wraps, as always.
|
|
102
|
+
// A holder with any tablet attribute takes the three views (720 and 1100)
|
|
103
|
+
// for its fit AND its floor together; one with none keeps the 800 edge.
|
|
104
|
+
var TABLET_ATTRS = [${JSON.stringify(lt.fitTablet)}, ${JSON.stringify(lt.minTablet)}];
|
|
105
|
+
function own(el, attr, tabletAttr, phoneAttr) {
|
|
106
|
+
var holder = el.closest("[" + attr + "],[" + tabletAttr + "],[" + phoneAttr + "]");
|
|
107
|
+
if (!holder) return null;
|
|
108
|
+
var w = win.innerWidth, d = holder.getAttribute(attr);
|
|
109
|
+
if (w >= DESKTOP_MIN) return d;
|
|
110
|
+
var t = holder.getAttribute(tabletAttr), p = holder.getAttribute(phoneAttr);
|
|
111
|
+
if (w < TABLET_MIN) return p || t || d;
|
|
112
|
+
if (holder.hasAttribute(TABLET_ATTRS[0]) || holder.hasAttribute(TABLET_ATTRS[1])) return t || d;
|
|
113
|
+
return (w < PHONE_BELOW && p) || d;
|
|
114
|
+
}
|
|
115
|
+
function modeOf(el) {
|
|
116
|
+
var mode = own(el, ${JSON.stringify(lt.fit)}, ${JSON.stringify(lt.fitTablet)}, ${JSON.stringify(lt.fitPhone)});
|
|
117
|
+
if (mode === "wrap" || mode === "shrink") return mode;
|
|
118
|
+
if (mode === "line") return "wrap"; // One line: the block keeps its words whole, nothing shrinks
|
|
119
|
+
return el.matches(SELECTOR) ? "shrink" : "wrap";
|
|
120
|
+
}
|
|
121
|
+
function floorOf(el, set) {
|
|
122
|
+
var min = parseFloat(own(el, ${JSON.stringify(lt.min)}, ${JSON.stringify(lt.minTablet)}, ${JSON.stringify(lt.minPhone)}));
|
|
123
|
+
return min >= 0 ? min : Math.max(set * MIN_SCALE, MIN_PX);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function measure(el) {
|
|
127
|
+
var widest = 0, current = 0, last = null, split = false, lastBlock = null;
|
|
128
|
+
function blockOf(n) {
|
|
129
|
+
for (var p = n.parentElement; p && p !== el; p = p.parentElement) {
|
|
130
|
+
var d = win.getComputedStyle(p).display;
|
|
131
|
+
if (d.indexOf("inline") !== 0 && d !== "contents") return p;
|
|
132
|
+
}
|
|
133
|
+
return el;
|
|
134
|
+
}
|
|
135
|
+
function close() { if (current > widest) widest = current; current = 0; last = null; }
|
|
136
|
+
var walker = doc.createTreeWalker(el, 5), range = doc.createRange(), node;
|
|
137
|
+
while ((node = walker.nextNode())) {
|
|
138
|
+
if (node.nodeType === 1) {
|
|
139
|
+
if (node.tagName === "BR" || node.tagName === "WBR") close();
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
var block = blockOf(node);
|
|
143
|
+
if (block !== lastBlock) close();
|
|
144
|
+
lastBlock = block;
|
|
145
|
+
var re = /(\S+)|(\s+)/g, m;
|
|
146
|
+
while ((m = re.exec(node.data))) {
|
|
147
|
+
if (m[2]) { close(); continue; }
|
|
148
|
+
range.setStart(node, m.index);
|
|
149
|
+
range.setEnd(node, m.index + m[0].length);
|
|
150
|
+
var rects = range.getClientRects();
|
|
151
|
+
for (var i = 0; i < rects.length; i++) {
|
|
152
|
+
var r = rects[i];
|
|
153
|
+
if (r.width <= 0) continue;
|
|
154
|
+
current += r.width;
|
|
155
|
+
if (last && r.top > last.top + last.height / 2) split = true;
|
|
156
|
+
last = r;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
close();
|
|
161
|
+
return { widest: widest, split: split };
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
function lineWidth(el) {
|
|
165
|
+
var cs = win.getComputedStyle(el);
|
|
166
|
+
return el.getBoundingClientRect().width - parseFloat(cs.paddingLeft) - parseFloat(cs.paddingRight)
|
|
167
|
+
- parseFloat(cs.borderLeftWidth) - parseFloat(cs.borderRightWidth);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
// ⚠️ THE HEADING ELEMENT IS NEVER TOUCHED — no style="", no data-*. This
|
|
171
|
+
// runs before React hydrates, and React 19 in development reports ANY
|
|
172
|
+
// attribute that differs from what it rendered ("a tree hydrated but some
|
|
173
|
+
// attributes didn't match"): first our inline font-size on the hero (which
|
|
174
|
+
// React owns via --heading-size), then, when that moved to a data-sf-fit
|
|
175
|
+
// attribute, the attribute itself. So the fitted size lives only in this
|
|
176
|
+
// script's own stylesheet, in <head>, addressed to each heading by its
|
|
177
|
+
// POSITION (":root>*:nth-child(2)>…"). A position goes stale when the page's
|
|
178
|
+
// structure changes, so the rules are rewritten in the MutationObserver
|
|
179
|
+
// callback, which runs before the next paint. !important so the size also
|
|
180
|
+
// beats a part's own inline size.
|
|
181
|
+
var head = doc.head || doc.documentElement;
|
|
182
|
+
var fitEl = doc.createElement("style");
|
|
183
|
+
fitEl.id = "storefront-fit-words-sizes";
|
|
184
|
+
head.appendChild(fitEl);
|
|
185
|
+
// heading -> [[element, fitted size]]: the heading and each Text part inside
|
|
186
|
+
// it that holds its own size (a span [data-sf-part-styled]), e.g.
|
|
187
|
+
// [[h2, "43.8px"], [span, "43.8px"]]. Sizing the heading alone leaves such
|
|
188
|
+
// a part at its own size, and the word still breaks (card C25, Spec Table).
|
|
189
|
+
var fitted = new Map();
|
|
190
|
+
|
|
191
|
+
function pathOf(el) {
|
|
192
|
+
var parts = [];
|
|
193
|
+
for (var e = el; e && e.parentElement; e = e.parentElement) {
|
|
194
|
+
var i = 1, s = e;
|
|
195
|
+
while ((s = s.previousElementSibling)) i++;
|
|
196
|
+
parts.unshift("*:nth-child(" + i + ")");
|
|
197
|
+
}
|
|
198
|
+
return ":root>" + parts.join(">");
|
|
199
|
+
}
|
|
200
|
+
function writeRules() {
|
|
201
|
+
var css = "";
|
|
202
|
+
fitted.forEach(function (sizes, el) {
|
|
203
|
+
if (!el.isConnected) { fitted.delete(el); return; }
|
|
204
|
+
for (var i = 0; i < sizes.length; i++) css += pathOf(sizes[i][0]) + "{font-size:" + sizes[i][1] + " !important}";
|
|
205
|
+
});
|
|
206
|
+
if (fitEl.textContent !== css) fitEl.textContent = css;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
function unfit(el) {
|
|
210
|
+
if (fitted.delete(el)) writeRules();
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
function fits(el) {
|
|
214
|
+
var m = measure(el);
|
|
215
|
+
return !m.split && m.widest <= lineWidth(el) + SLACK;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
function fit(el) {
|
|
219
|
+
unfit(el);
|
|
220
|
+
if (modeOf(el) !== "shrink") return; // the block's own Wrap
|
|
221
|
+
if (lineWidth(el) <= 0) return; // hidden, or not laid out yet
|
|
222
|
+
if (fits(el)) return;
|
|
223
|
+
var set = parseFloat(win.getComputedStyle(el).fontSize);
|
|
224
|
+
if (!set) return;
|
|
225
|
+
var floor = floorOf(el, set);
|
|
226
|
+
if (floor >= set) return;
|
|
227
|
+
function size(px) { return Math.floor(px * 10) / 10 + "px"; }
|
|
228
|
+
// The SEARCH tries sizes on the element's own style and then puts that
|
|
229
|
+
// attribute back byte for byte (or removes it, if it had none), so nothing
|
|
230
|
+
// is left for React to see. A trial in a stylesheet instead restyles the
|
|
231
|
+
// whole page per step: a full pass on the Hartes home took 75–160ms at 4x
|
|
232
|
+
// CPU that way.
|
|
233
|
+
// Every trial scales the heading AND each part inside it that holds its
|
|
234
|
+
// own size, by the same ratio, so a part keeps its proportion to the
|
|
235
|
+
// heading.
|
|
236
|
+
var carriers = [el].concat(Array.prototype.slice.call(el.querySelectorAll("[data-sf-part-styled]")));
|
|
237
|
+
var base = carriers.map(function (c) { return parseFloat(win.getComputedStyle(c).fontSize) || set; });
|
|
238
|
+
var saved = carriers.map(function (c) { return c.hasAttribute("style") ? c.getAttribute("style") : null; });
|
|
239
|
+
function attempt(px) {
|
|
240
|
+
for (var i = 0; i < carriers.length; i++) carriers[i].style.setProperty("font-size", size(base[i] * px / set), "important");
|
|
241
|
+
}
|
|
242
|
+
function done() {
|
|
243
|
+
for (var i = 0; i < carriers.length; i++) {
|
|
244
|
+
if (saved[i] !== null) carriers[i].setAttribute("style", saved[i]); else carriers[i].removeAttribute("style");
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
attempt(floor);
|
|
248
|
+
if (!fits(el)) { done(); return; } // even the floor does not fit: leave it as set
|
|
249
|
+
var lo = floor, hi = set;
|
|
250
|
+
for (var i = 0; i < 8; i++) {
|
|
251
|
+
var mid = (lo + hi) / 2;
|
|
252
|
+
attempt(mid);
|
|
253
|
+
if (fits(el)) lo = mid; else hi = mid;
|
|
254
|
+
}
|
|
255
|
+
done();
|
|
256
|
+
fitted.set(el, carriers.map(function (c, i) { return [c, size(base[i] * lo / set)]; }));
|
|
257
|
+
writeRules();
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
// What each heading measured right after we last fitted it, so the
|
|
261
|
+
// ResizeObserver below can tell a real change (a font swap, a rotate, a
|
|
262
|
+
// container that moved) from the size change our own write just caused.
|
|
263
|
+
var seen = new WeakMap();
|
|
264
|
+
function remember(el) {
|
|
265
|
+
var b = el.getBoundingClientRect();
|
|
266
|
+
seen.set(el, b.width + "x" + b.height);
|
|
267
|
+
}
|
|
268
|
+
function fitAndRemember(el) { fit(el); remember(el); }
|
|
269
|
+
|
|
270
|
+
// ⚠️ A ResizeObserver, NOT fonts.ready or a resize event, and the reason is
|
|
271
|
+
// WHEN it runs: after layout, BEFORE paint. The web font arriving re-wraps a
|
|
272
|
+
// fitted heading, and fonts.ready resolves only after that frame is painted —
|
|
273
|
+
// measured on the Hartes hero: a 42px jump in 2 of 3 loads. A size change
|
|
274
|
+
// reported here is fitted in the same frame, so the broken state is never
|
|
275
|
+
// drawn. It also covers a container that resizes.
|
|
276
|
+
var ro = new win.ResizeObserver(function (entries) {
|
|
277
|
+
for (var i = 0; i < entries.length; i++) {
|
|
278
|
+
var el = entries[i].target;
|
|
279
|
+
var b = el.getBoundingClientRect();
|
|
280
|
+
if (seen.get(el) === b.width + "x" + b.height) continue; // our own write
|
|
281
|
+
fitAndRemember(el);
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
// Its own set, not seen: fitAndRemember has written seen by the
|
|
285
|
+
// time watch runs, so a seen test observed no heading at all, and a
|
|
286
|
+
// heading fitted in the fallback face was never fitted again when the web
|
|
287
|
+
// font arrived (hartesmetal.com.au, "FusionForge." with its "." alone).
|
|
288
|
+
var watched = new WeakSet();
|
|
289
|
+
function watch(el) { if (!watched.has(el)) { watched.add(el); ro.observe(el); } }
|
|
290
|
+
|
|
291
|
+
function fitAll() {
|
|
292
|
+
var els = doc.querySelectorAll(CANDIDATES);
|
|
293
|
+
for (var i = 0; i < els.length; i++) {
|
|
294
|
+
if (modeOf(els[i]) === "shrink") { fitAndRemember(els[i]); watch(els[i]); }
|
|
295
|
+
else unfit(els[i]); // Wrap here (a phone value may differ from the desktop's)
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
var queued = 0, all = false, touched = new Set();
|
|
300
|
+
function run() {
|
|
301
|
+
queued = 0;
|
|
302
|
+
if (all) { all = false; touched.clear(); fitAll(); return; }
|
|
303
|
+
var els = Array.from(touched);
|
|
304
|
+
touched.clear();
|
|
305
|
+
for (var i = 0; i < els.length; i++) {
|
|
306
|
+
if (!els[i].isConnected) continue;
|
|
307
|
+
if (modeOf(els[i]) === "shrink") { fitAndRemember(els[i]); watch(els[i]); }
|
|
308
|
+
else unfit(els[i]);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
function schedule() { if (!queued) queued = win.requestAnimationFrame(run); }
|
|
312
|
+
function scheduleAll() { all = true; schedule(); }
|
|
313
|
+
|
|
314
|
+
fitAll();
|
|
315
|
+
// A backstop only: a font that changes widths without changing any
|
|
316
|
+
// heading's box is not seen by the ResizeObserver.
|
|
317
|
+
if (doc.fonts && doc.fonts.ready) doc.fonts.ready.then(scheduleAll, function () {});
|
|
318
|
+
|
|
319
|
+
// …and the viewport WIDTH, which the ResizeObserver cannot stand in for: a
|
|
320
|
+
// heading sized to its own text (fit-content, a flex item) keeps the SAME box
|
|
321
|
+
// when the phone turns to 844, so nothing reports a change and it would stay
|
|
322
|
+
// shrunk. The probe's rotate check caught exactly that.
|
|
323
|
+
var lastWidth = win.innerWidth;
|
|
324
|
+
function onResize() {
|
|
325
|
+
if (win.innerWidth === lastWidth) return; // a phone's toolbar changing HEIGHT is not our business
|
|
326
|
+
lastWidth = win.innerWidth;
|
|
327
|
+
scheduleAll();
|
|
328
|
+
}
|
|
329
|
+
win.addEventListener("resize", onResize);
|
|
330
|
+
|
|
331
|
+
var mo = new win.MutationObserver(function (records) {
|
|
332
|
+
// Positions first: a node added or removed anywhere can shift the
|
|
333
|
+
// nth-child path of a fitted heading, and this callback runs before paint.
|
|
334
|
+
if (fitted.size) {
|
|
335
|
+
for (var q = 0; q < records.length; q++) if (records[q].type === "childList") { writeRules(); break; }
|
|
336
|
+
}
|
|
337
|
+
for (var i = 0; i < records.length; i++) {
|
|
338
|
+
var r = records[i];
|
|
339
|
+
// A block's text fit (Wrap / Shrink / One line) or Min font size changed in the editor:
|
|
340
|
+
// only a data-fit attribute moved, so every heading is measured again.
|
|
341
|
+
if (r.type === "attributes") { scheduleAll(); continue; }
|
|
342
|
+
var target = r.target.nodeType === 1 ? r.target : r.target.parentElement;
|
|
343
|
+
var owner = target && target.closest(CANDIDATES);
|
|
344
|
+
if (owner) touched.add(owner);
|
|
345
|
+
for (var j = 0; j < r.addedNodes.length; j++) {
|
|
346
|
+
var n = r.addedNodes[j];
|
|
347
|
+
if (n.nodeType !== 1) continue;
|
|
348
|
+
if (n.matches(CANDIDATES)) touched.add(n);
|
|
349
|
+
var inner = n.querySelectorAll(CANDIDATES);
|
|
350
|
+
for (var k = 0; k < inner.length; k++) touched.add(inner[k]);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
if (touched.size) schedule();
|
|
354
|
+
});
|
|
355
|
+
mo.observe(doc.body, {
|
|
356
|
+
childList: true,
|
|
357
|
+
subtree: true,
|
|
358
|
+
characterData: true,
|
|
359
|
+
attributes: true,
|
|
360
|
+
attributeFilter: ${JSON.stringify(Object.values(lt))},
|
|
361
|
+
});
|
|
362
|
+
|
|
363
|
+
doc.__sfFitWords = function stop() {
|
|
364
|
+
win.removeEventListener("resize", onResize);
|
|
365
|
+
ro.disconnect();
|
|
366
|
+
mo.disconnect();
|
|
367
|
+
if (queued) win.cancelAnimationFrame(queued);
|
|
368
|
+
fitted.clear();
|
|
369
|
+
fitEl.remove();
|
|
370
|
+
delete doc.__sfFitWords;
|
|
371
|
+
};
|
|
372
|
+
// For the probe and for debugging: which headings are fitted, at what size,
|
|
373
|
+
// and the sheet that holds it (disable it to read a heading's set size).
|
|
374
|
+
doc.__sfFitWords.fitted = fitted;
|
|
375
|
+
doc.__sfFitWords.sheet = fitEl;
|
|
376
|
+
// …and the two questions a block's own answer changes, for the guard
|
|
377
|
+
// (scripts/test-block-size.tsx §5): which mode an element is in, and its floor.
|
|
378
|
+
doc.__sfFitWords.modeOf = modeOf;
|
|
379
|
+
doc.__sfFitWords.floorOf = floorOf;
|
|
380
|
+
})(document);`,une="storefront-fit-words";function TN(e){let o=e.createElement("script");return o.id=une,o.textContent=fne,(e.head??e.documentElement).appendChild(o),()=>{e.__sfFitWords?.(),o.remove()}}var xne=`
|
|
381
|
+
[${kt}][${kt}] { cursor: text; }
|
|
382
|
+
`;function ON({children:e,document:o}){let{theme:t,themeMode:a,themeSwitchShown:r}=de(),n=Qe(t);return EN(()=>{if(o)return vN(o,{mode:a,switchShown:r})},[o,a,r]),EN(()=>{if(o)return kN(o,n)},[o,n]),hne(()=>{if(o)return TN(o)},[o]),mne(pne,{children:[PN(DS,{}),PN("style",{children:xne}),e]})}import{jsx as $y}from"react/jsx-runtime";import{useEffect as Ine,useState as gne}from"react";import{Banner as bne}from"efficient-shell/ui";var vp={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."},yne={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."},Sne=vp.load,wne=vp.lock,Cne=vp.conflict,vne=vp.save;function kne(e){if(!e)return null;if(e.loadFailed)return i(Sne);if(e.lockHolder)return i(wne,{name:e.lockHolder.name||i("Somebody else")});if(e.conflict)return i(Cne);if(e.saveFailed)return i(vne);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(yne[o.problem],{section:t,name:a})}function Tne({report:e}){let o=kne(up(e)),[t,a]=gne(null);return Ine(()=>{o||a(null)},[o]),!o||t===o?null:$y("aside",{className:"sf-canvas-notice",children:$y(bne,{tone:"warning",onDismiss:()=>a(o),children:o})})}function _N(){return $y(Tne,{report:pp()})}import{jsx as kp}from"react/jsx-runtime";import{useState as AN}from"react";import{Banner as Pne,Button as Ene}from"efficient-shell/ui";import{UndoIcon as One}from"efficient-shell/icons/efficient";import{useScreenDocument as _ne}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSettledAction as Ane}from"efficient-easel/easel";function RN(){let e=zB(),{adapter:o,flushSave:t,reloadFromServer:a}=_ne(),r=o.siteVersions,[n,s]=AN(!1),[l,c]=AN(!1),d=async()=>{if(!(!r||n)){s(!0),c(!1);try{await UB({access:r,flushSave:t,reload:a})}catch{c(!0)}finally{s(!1)}}},f=Ane({onPress:()=>{d()},busy:n});return e?kp("aside",{className:"sf-canvas-notice",children:kp(Pne,{tone:l?"danger":"info",title:e.title,onDismiss:mp,action:r&&e.undo?kp(Ene,{variant:"secondary",size:"sm",leftIcon:kp(One,{}),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 Hne,REPEAT_ATTRIBUTE as jy,REPEAT_INDEX_ATTRIBUTE as Ky}from"efficient-easel/draw";import{usePreviewParts as Wne}from"efficient-easel/draw/client";var LN=null;function Gy(e){LN=e}function LWe(){return LN}import{ScreenDocumentContext as zne}from"efficient-easel/screen/components/ScreenDocumentContext";function BN(e){let{mirrorHostStyles:o}=zp(),t=MS(),{sectionBackgroundWidth:a,themeFromDocument:r}=de(),n=kS(),s=Fne(zne),l=vc(s?.docId??null),c=Mne(C=>C.appState.data),d=wC(l,c),f=JSON.stringify(d),m=Vy(()=>d,[f]),u=Vy(()=>({...e.metadata??t??{},...PT(r?null:a,n),...m}),[e.metadata,t,a,n,r,m]);Bne(()=>(Gy(n),()=>Gy(null)),[n]);let x=FN(null),I=$ne(x),{onDocument:y}=e,P=C=>{x.current=C,y?.(C)};return Lne(Rne,{children:[Uy(RN,{}),Uy(_N,{}),Uy(Dne,{...e,onDocument:P,typing:I,metadata:u,height:"fill",mirrorStyles:o,frameWrapper:ON})]})}function $ne(e){let o=nc(),t=Wne(),a=FN({parts:t});return a.current={parts:t},Vy(()=>{let r=(n,s)=>{let l=Vd(n,o),c,d=null,f=s??(l?null:Gx(null,e.current,n)),m=!l&&f?Nne(f):null,u=m?Hne(n):null;if(m&&f&&u?.propKey){l=Yd({...m,nodeId:u.nodeId,key:u.propKey},o),c=u.propKey;let P=f.closest(`[${jy}][${Ky}]`),C=`[${jy}="${qd(P?.getAttribute(jy)??"")}"][${Ky}="${qd(P?.getAttribute(Ky)??"")}"]`;d=()=>(f.ownerDocument??e.current)?.querySelector(C)??null}if(!l)return null;let x=f,I=()=>(x=Gx(x,d?d():x?.ownerDocument??e.current,n),x),y=I();return y?{element:I,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?$n(M0(y)):void 0,colorNameOf:Ht}}:null};return{at:n=>{let s=n.closest(`[${kt}]`),l=s?.getAttribute(kt);return s&&l?r(l,s):null},atSelection:()=>{let n=a.current.parts.selectedPartId;return n?r(n,null):null},onCopyText:n=>QP(n,o),copyValue:n=>JP(n,o),onChange:n=>{if(!n.typing){Ux(null);return}let s=n.element.closest(`[${kt}]`)?.getAttribute(kt)??null;Ux(s),s&&a.current.parts.selectedPartId!==s&&a.current.parts.select(s)}}},[o,e])}var Gne=vS.mediaFields,Une=/video|poster|focal|phone/i;function DN(e){return(Gne[e]??[]).find(o=>!o.includes("[]")&&!Une.test(o))??null}var NN={adds:{kind:"block",type:"ImageBlock"},takes:e=>DN(e.type)!==null,replace:(e,o)=>{let t=DN(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 MN={Hero:"Full-screen opener with rotating slides.",HeroSingle:"Full-screen image or video with a headline.",IntroBleed:"Full-bleed intro image the next section scrolls over.",Collections:"Product collections in a tidy grid.",AlloyWheelsListing:"A full product-listing page: filter rail, sortable card grid and pagination, from the live catalog. Choose which product types it shows.",CatalogFilterBar:"Filters the collection grids below it \u2014 a sticky row of Pills (the default), or Columns, one per filter you switch on.",ProductGrid:"Hand-picked products in a tidy grid.",FitmentFinder:"A vehicle picker \u2014 make, model, year and trim resolve the OEM stock fitment live.",Gallery:"Two image galleries with tabs and filters.",GalleryB:"Customer photos in a card grid with a click-to-open lightbox.",SpecStrip:"A thin one-line spec strip \u2014 small-caps items spread across the width, as a dark band or a bare hairline row.",ProductHero:"A product hero \u2014 image beside price, bullets and a buy button.",SpecTable:"A spec sheet \u2014 labeled rows of product specifications.",ProcessSteps:"A heading over columns, 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 Tp}from"react/jsx-runtime";import{useState as jne}from"react";import{Button as Kne,Tooltip as Vne,toast as HN}from"efficient-shell/ui";import{TemplateIcon as qne}from"efficient-easel/icons";import{useSettledAction as Yne}from"efficient-easel/easel";import{useScreenDocument as Xne}from"efficient-easel/screen/components/ScreenDocumentContext";function zN({enabled:e,reason:o,onSaved:t}){let{flushSave:a}=Xne(),[r,n]=jne(!1),s=async()=>{if(!r){n(!0);try{await a()?t():HN.error(i(WN))}catch{HN.error(i(WN))}finally{n(!1)}}},l=Yne({onPress:()=>{s()},busy:r});return Tp(Vne,{side:"bottom",content:e?i("Save this website as a platform template"):i(o),children:Tp("span",{className:"sf-tip-disabled",tabIndex:e?void 0:0,children:Tp(Kne,{variant:"secondary",disabled:!e||l.busy,loading:l.busy,onClick:l.onPress,rightIcon:Tp(qne,{size:15}),children:i("Save as Template")})})})}var WN="Your last changes did not save, so the template was not made. Try again.";var Zne="Save your page changes first";function $N(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:Zne}:{visible:!0,enabled:!0}:{visible:!1,hiddenReason:"no-site"}:{visible:!1,hiddenReason:"not-operator"}:{visible:!1,hiddenReason:"no-console"}}var GN="storefront-editor:save-as-template";var Xi="ContactLocations",Jne="CityPictures",Qne="CityMaps",ese=[{key:Jne,label:"City pictures",desc:"A wall of city photos, grouped by region. Each photo links to its city's card."},{key:Qne,label:"City maps",desc:"A card per city, grouped by region: address, phone, hours and a map."}];function UN(e=fi){let o=Ca.find(t=>t.sections.some(a=>a.type===Xi))?.key;return!e.includes(Xi)||!o?[]:ese.map(({key:t,label:a,desc:r},n)=>({key:t,label:a,cat:o,after:Xi,desc:r,alias:"locations offices stores branches",insert:s=>{let l=ui(Xi);return l?vy(Xi,l,n)(s.nodeDefaults,s.newNodeId):null}}))}var ose="plain",jN=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],tse="line",ase={KeyFeatures:"filled"};function Zi(e){return ase[e]??ose}function bze(e,o){return no(jN,Zi(o),e)}function yze(e){return no(jN,tse,e)}function VN(e,{nodeDefaults:o,newNodeId:t,sectionLabel:a,blockIsOffered:r}){let n=ws(e);if(n)return n(o,t,_u());if(PA(e)&&r(Z)&&r(fs))return{type:Z,props:{...o(Z),id:t(Z),direction:"column",name:`${a(e)} section`,content:[{type:fs,props:{...o(fs),id:t(fs),...vo[e]?.headStyle?{headStyle:vo[e].headStyle}:{},...vo[e]?.headRowGap?{rowGap:vo[e].headRowGap}:{},...vo[e]?.headDescriptionSize?{descriptionSize:vo[e].headDescriptionSize}:{},...Zi(e)!==Zi(fs)?{eyebrowLook:Zi(e)}:{}}},{type:e,props:{...o(e),id:t(e),headPlacement:"own-box",...KN(e,t)}}]}};if(jt[e]?.fixed===!0)return{type:e,props:{...o(e),id:t(e),layout:"boxes"}};let s=KN(e,t);return Object.keys(s).length?{type:e,props:{...o(e),id:t(e),...s}}:null}function KN(e,o){return e==="Cards"?{template:hc(t=>o(t))}:e===zs?{template:pm(t=>o(t))}:{}}import{useEffect as rse,useState as nse}from"react";import{useEaselSession as sse}from"efficient-easel/screen/lib/session-context";function qN(){let e=sse().chrome?.products?.list,[o,t]=nse(null);return rse(()=>{if(!e)return;let a=!1;return e().then(r=>{a||t(r)}),()=>{a=!0}},[e]),o}function r2({mode:e,open:o}){let{setSelectedHeroId:t,setSelectHandler:a}=dO(),r=t2().tree,n=e,s=n.kind==="ticker"?n.heroId:null,l=Ps(c=>{c&&(o({kind:"ticker",heroId:c}),hse(c))},[o]);return Kt(()=>{t(s)},[s,t]),Kt(()=>{a(l)},[a,l]),{partRows:(c,{rowClick:d})=>{let f=String(c.props.id);return c.type==="Hero"&&KI(c.props)&&io(e2,{icon:io(Nr,{type:"ticker",size:13}),name:i(Bl),onSelect:()=>l(f),selected:s===f,rowProps:{onClick:d(()=>l(f))},words:r})}}}function n2({mode:e,select:o}){let{setSelectedHeroPart:t,setSelectHandler:a}=Lf(),r=t2().tree,{appState:n}=o2(u=>u),s=n.data.content??[],l=lse(s);l.current=s;let c=e,d=Br.find(u=>Ml[u]===c.kind),f=d&&"nodeId"in c?Hl(String(c.nodeId),d):null,m=Ps(u=>{let x=gO(u);if(!x)return;let I=l.current.findIndex(P=>String(P.props.id)===x.nodeId);if(I<0)return;let y={kind:Ml[x.part],nodeId:x.nodeId};o({index:I},y)},[o]);return Kt(()=>{t(f)},[f,t]),Kt(()=>{a(m)},[a,m]),{partRows:(u,{rowClick:x})=>{let I=String(u.props.id),y=IO(u);if(y.length===0)return null;let P=g=>{let v=Hl(I,g.part);return io(e2,{icon:io(Nr,{type:g.part==="media"?"heroMedia":"heroImage",size:13}),name:i(g.label),onSelect:()=>m(v),selected:f===v,rowProps:{onClick:x(()=>m(v))},words:r},v)},[C,...S]=y;return Ji(QN,{children:[P(C),S.length>0&&io(use,{children:S.map(P)})]})}}}function s2(e,o){return{partRows:(t,a)=>Ji(QN,{children:[e.partRows?.(t,a),o.partRows?.(t,a)]})}}function xse(e){let{adapter:o,capabilities:t,currentSlug:a,siteId:r,docId:n,hasUnsavedEdits:s,bridgeCapabilities:l,notifyParent:c,token:d}=Pp(),{hasPreviewLink:f}=t,m=Ue(a2()).preview?.draftLink,u=ZB(e.data),x=$N({hasTrustedConsole:!!d,canCreatePlatformTemplate:l.canCreatePlatformTemplate,capabilities:t,siteId:r,hasUnsavedEdits:s}),I=Ps(()=>{!r||!a||c(GN,{siteId:r,slug:a})},[c,r,a]),y=OB({pageSlug:a,siteId:r,token:d}),P=o.previewHref?.(a)??y;return{barLead:()=>x.visible&&io(zN,{enabled:x.enabled,reason:x.enabled?"":x.disabledReason,onSaved:I}),barView:()=>f&&a&&io(RB,{liveHref:P,pageId:n??null,draftLink:m}),mainAction:u}}function Ise(e,o){let{capabilities:t,templateId:a,siteId:r,tokenRef:n,navigate:s}=Pp(),{hasSiteTheme:l,explainsSiteSettings:c}=t,d=g=>o.setView(g),[f,m]=YN(Zn[0].id),[u,x]=YN(!1),{surface:I,setSurface:y}=cO(),P=()=>{if(l){d("styles"),o.reveal(),XN();return}e.show(rb),e.reveal(),XN()},C={id:"pages",label:i("Pages"),icon:io(cse,{}),panel:({onHide:g})=>io(QE,{activeSurface:I,onPreviewSurface:y,onNavigate:v=>{y(null),s(a?{kind:"template",id:a,pageSlug:v}:{kind:"page",slug:v,siteId:r??void 0})},onClose:g})},S=[];return!l&&c&&S.push({id:"appearance",label:i("Appearance"),icon:io(fse,{}),active:e.kind==="website",onSelect:P}),l&&S.push({id:"styles",label:i("Styles"),icon:io(dse,{}),panel:({onHide:g,notify:v})=>io(nA,{tokenRef:n,siteId:r??void 0,onClose:g,onNotify:v,tab:f,onTabChange:m,revealPageGroup:u,onPageGroupRevealed:()=>x(!1)})}),{railLead:[C],railTrail:S,resolveLeftView:g=>gN(g,l),openSettings:P,openStyles:()=>{m(BE),d("styles")},openPageStyles:l?()=>{m(Qn),x(!0),d("styles"),o.reveal()}:c?()=>{e.show(V1),e.reveal()}:void 0}}function gse(){let{navigate:e,siteId:o,reloadFromServer:t,docId:a}=Pp(),r=o2(s=>s.config),n=a2();Kt(()=>(Fm({openPage:s=>e({kind:"page",slug:s.slug,siteId:o??void 0}),reload:()=>{t()},config:r}),()=>Fm(null)),[e,o,t,r]),Kt(()=>{let s=xt();if(!s||!a)return;let l=!1;return mse(n).list().then(c=>{l||s.learn(c)}).catch(()=>{}),()=>{l=!0}},[a,n])}function l2(){let e=nc();return Ps(o=>{e0(o,e)},[e])}function bse(e,o,t,a){let{kind:r,open:n}=e,{selected:s,zoneOf:l}=o;Kt(()=>{fN(s?.type==="BookingBox"&&s.props.region==="confirm"?uN(l(String(s.props.id))):null)},[s?.props.id]);let c=TA(e,o),{capabilities:{hasSiteSettings:d}}=Pp();gse();let{chat:f,setChat:m,setSelected:u,setSelectHandler:x}=Rf(),I=Ps(()=>n(q1),[n]),y=r==="chat";Kt(()=>{u(y)},[y,u]),Kt(()=>{x(I)},[x,I]);let{setOpenHandler:P}=Fl(),C=Ps(()=>n(Y1),[n]);Kt(()=>{P(C)},[P,C]);let S=s2(r2(e),n2(e)),g=xse(o),v=Ise(e,a),k=t.device,F=l2();return{...S,...g,...v,hasOwnRows:T=>T.type===Eu,ownRows:c.renderLocationTree,sectionPressed:c.sectionPressed,onCopyItem:F,wrap:T=>io($p.Provider,{value:!0,children:Ji(pse.Provider,{value:k,children:[T,io(nD,{})]})}),addPanelRow:T=>d?Ji("div",{className:"sf-addside-sitewide",children:[io("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:io(Nr,{type:"chat",size:16})}),Ji("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{T(),I()},children:[i("Live chat"),io("span",{className:"sf-addside-sitewide-desc",children:i("A chat bubble on every page")})]}),io(ise,{checked:f.enabled,onChange:B=>m({enabled:B}),ariaLabel:i("Show the chat bubble on the whole site")})]}):void 0}}var ZN=null,qy=new WeakMap;function yse(e){let o=FS();if(!e||!o)return e;ZN!==o&&(ZN=o,qy=new WeakMap);let t=qy.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},qy.set(e,t)),t}var Sse={isLockedBlock:(e,o)=>yN(e,o)||!!(o&&xt()?.heldElsewhere(o.props.id)),duplicateBlocked:bu,nestDepth:(e,o,t)=>o===Rc?ov(e,t):0,newSectionNode:VN,canAddTo:(e,o,t,a)=>yse(cN(e,o,a,t)),blockIsOffered:lN,slotsOf:dN,resolveOnInsert:!0},wse=new Proxy(MN,{get:(e,o)=>{let t=Reflect.get(e,o);return typeof t=="string"?i(t):t}}),Cse={labelAtLevel:(e,o,t)=>i(Vp(e,o,t)),descriptions:wse,categoryLabel:e=>{let o=sD(e);return o===void 0?void 0:i(o)},firstSection:lD,blockRowName:pN,rowName:mN,plainText:nr,Icon:Nr,Thumbnail:aA,useProducts:qN,presets:UN()},vse={desktop:2e3,tablet:800,mobile:390},JN="desktop",kse={options:nO,initial:JN,fluid:JN,widths:vse},Tse={read:xN,write:e=>IN(e),forSelection:(e,o)=>bN(e,o)},Pse={first:Lo,last:We,firstGroup:Me,lastGroup:Re,isSectionGroup:hn,sectionGroupZone:aC,panelOf:e=>e===Lo?K1:null,get sharedReach(){return $r()?Ose:void 0},get shared(){return xt()?wN:void 0},get groupTab(){return $r()?A1:void 0},get groupBadge(){return $r()?Qg({type:Re})??void 0:void 0},get changeNotice(){return $r()?R1():void 0},get band(){return $r()?Ese:void 0},get groupAccepts(){return $r()?sC:void 0}},Ese={foldable:!0},Ose=e=>Qg(e)??SN(e);function _se(e){return{...s2(r2(e),n2(e)),onCopyItem:l2(),openSettings:()=>e.show(rb)}}function Ase(e,o){GA(e,o),vB()}var K$e={useOwnerName:es,useDocumentLabel:zE,useBridges:bse,useStandaloneBridges:_se,useDocumentPass:Ase,blockRules:Sse,blockLook:Cse,devices:kse,leftView:Tse,pinned:Pse,Canvas:BN,canvasDrag:{media:NN},Inspector:Z1};export{wa as a,Q as b,Rt as c,F2 as d,dt as e,Rs as f,ele as g,WS as h,B2 as i,ole as j,tle as k,Gp as l,zS as m,ale as n,co as o,z2 as p,rle as q,sle as r,lle as s,ile as t,lc as u,Xt as v,ye as w,Z as x,jS as y,hle as z,VS as A,gle as B,ble as C,ar as D,rw as E,nr as F,no as G,Zp as H,Jp as I,SM as J,ic as K,Dle as L,Ds as M,Nle as N,iw as O,Wle as P,cw as Q,sr as R,zle as S,$le as T,Gle as U,cc as V,Kle as W,ft as X,Ms as Y,Qle as Z,RM as _,MM as $,eie as aa,oie as ba,om as ca,tie as da,HM as ea,rie as fa,GM as ga,nie as ha,jM as ia,sie as ja,lie as ka,im as la,Sw as ma,ww as na,Cw as oa,iie as pa,cie as qa,JM as ra,die as sa,fie as ta,vw as ua,QM as va,uie as wa,pie as xa,Tw as ya,$ as za,oe as Aa,pc as Ba,L as Ca,Eo as Da,z as Ea,pt as Fa,Ho as Ga,ur as Ha,Oe as Ia,mc as Ja,rH as Ka,_w as La,Kie as Ma,go as Na,qo as Oa,Io as Pa,hm as Qa,Nw as Ra,$s as Sa,Mw as Ta,rce as Ua,nce as Va,mH as Wa,Hw as Xa,zw as Ya,sce as Za,xm as _a,hH as $a,IH as ab,Gw as bb,Im as cb,ht as db,lce as eb,ice as fb,gm as gb,cce as hb,dce as ib,fce as jb,Sm as kb,uce as lb,Gs as mb,pce as nb,mce as ob,hce as pb,Gg as qb,Ue as rb,Wc as sb,Vm as tb,r4 as ub,qm as vb,Ym as wb,Ys as xb,eo as yb,Rde as zb,n4 as Ab,vo as Bb,EA as Cb,MLe as Db,OA as Eb,HLe as Fb,WLe as Gb,j as Hb,vu as Ib,gLe as Jb,$t as Kb,Gt as Lb,Fo as Mb,ZLe as Nb,O0e as Ob,Gl as Pb,Ul as Qb,DO as Rb,NO as Sb,MO as Tb,_0e as Ub,Xq as Vb,HO as Wb,A0e as Xb,$O as Yb,UA as Zb,RFe as _b,Fse as $b,ee as ac,i as bc,wo as cc,jA as dc,BFe as ec,Jv as fc,Aa as gc,ek as hc,cme as ic,Dh as jc,Z3 as kc,dme as lc,uo as mc,hz as nc,ix as oc,bT as pc,Kxe as qc,St as rc,qxe as sc,Yxe as tc,hd as uc,Xxe as vc,xd as wc,Zxe as xc,Jxe as yc,CT as zc,vT as Ac,wz as Bc,Cz as Cc,tIe as Dc,rIe as Ec,nIe as Fc,sIe as Gc,lIe as Hc,kT as Ic,vr as Jc,Oz as Kc,dIe as Lc,_z as Mc,fIe as Nc,so as Oc,gd as Pc,uIe as Qc,pIe as Rc,mIe as Sc,hIe as Tc,xIe as Uc,IIe as Vc,_n as Wc,gIe as Xc,jl as Yc,Uf as Zc,G0e as _c,tf as $c,He as ad,hwe as bd,xwe as cd,Iwe as dd,I0 as ed,ad as fd,axe as gd,kW as hd,Dk as id,ZA as jd,Dc as kd,Xfe as ld,Ea as md,n5 as nd,Zfe as od,Jfe as pd,Nc as qd,Iv as rd,yn as sd,l5 as td,Qfe as ud,eue as vd,oue as wd,tue as xd,FW as yd,Vh as zd,ld as Ad,il as Bd,Ixe as Cd,Xh as Dd,gxe as Ed,cl as Fd,Yk as Gd,Xk as Hd,bxe as Id,Zk as Jd,Qk as Kd,Fu as Ld,eR as Md,JFe as Nd,QFe as Od,ul as Pd,Nt as Qd,te as Rd,se as Sd,le as Td,xe as Ud,ue as Vd,we as Wd,yBe as Xd,Si as Yd,wi as Zd,M0 as _d,Bn as $d,el as ae,Ox as be,Rx as ce,$d as de,kt as ee,Tye as fe,Pye as ge,Eye as he,Oye as ie,kU as je,TU as ke,_ye as le,Dn as me,Fx as ne,Aye as oe,Rye as pe,pf as qe,mf as re,Gn as se,iI as te,tK as ue,Wn as ve,pI as we,mI as xe,Kn as ye,Ar as ze,ICe as Ae,Pl as Be,X0 as Ce,gCe as De,CI as Ee,bCe as Fe,yCe as Ge,SCe as He,WK as Ie,wCe as Je,UK as Ke,jK as Le,CCe as Me,vCe as Ne,VK as Oe,Ka as Pe,PBe as Qe,EBe as Re,OBe as Se,Mu as Te,FQ as Ue,BQ as Ve,_Be as We,ABe as Xe,kb as Ye,vb as Ze,Yl as _e,U_ as $e,j_ as af,Xl as bf,P_ as cf,Bg as df,FOe as ef,ss as ff,Ng as gf,__ as hf,A_ as if,oX as jf,R_ as kf,Jf as lf,L_ as mf,VBe as nf,mR as of,qBe as pf,YBe as qf,XBe as rf,Ti as sf,Wu as tf,aDe as uf,et as vf,uDe as wf,wR as xf,CR as yf,vR as zf,rT as Af,Exe as Bf,kR as Cf,fee as Df,uee as Ef,pee as Ff,mee as Gf,TR as Hf,PR as If,hee as Jf,wDe as Kf,CDe as Lf,ADe as Mf,ER as Nf,RDe as Of,xee as Pf,LDe as Qf,FDe as Rf,Iee as Sf,BDe as Tf,DDe as Uf,NDe as Vf,MDe as Wf,HDe as Xf,jDe as Yf,$u as Zf,KDe as _f,YDe as $f,Cee as ag,RR as bg,JDe as cg,QDe as dg,LR as eg,Zr as fg,gs as gg,_Ne as hg,ANe as ig,RNe as jg,IL as kg,gL as lg,ooe as mg,XNe as ng,l2e as og,i2e as pg,vL as qg,c2e as rg,d2e as sg,xa as tg,xo as ug,Zu as vg,AL as wg,T2e as xg,Ju as yg,RL as zg,A2e as Ag,av as Bg,K2e as Cg,UL as Dg,ry as Eg,jL as Fg,Z2e as Gg,J2e as Hg,Q2e as Ig,ny as Jg,eMe as Kg,oMe as Lg,KL as Mg,Doe as Ng,rp as Og,AMe as Pg,Dx as Qg,Wye as Rg,Nx as Sg,MP as Tg,zMe as Ug,kF as Vg,TF as Wg,rHe as Xg,np as Yg,EF as Zg,OF as _g,iHe as $g,Zoe as ah,Joe as bh,Qoe as ch,cHe as dh,bHe as eh,nte as fh,ste as gh,NF as hh,yHe as ih,SHe as jh,JHe as kh,w5e as lh,L5e as mh,Fy as nh,F5e as oh,B5e as ph,dD as qh,z5e as rh,$5e as sh,xD as th,G5e as uh,Fv as vh,kE as wh,cve as xh,dve as yh,k8 as zh,fve as Ah,uve as Bh,pve as Ch,mve as Dh,T8 as Eh,hve as Fh,xve as Gh,Ive as Hh,gve as Ih,_8 as Jh,bve as Kh,Qae as Lh,yD as Mh,q5e as Nh,Vi as Oh,Ta as Ph,mde as Qh,YH as Rh,$m as Sh,Vs as Th,hde as Uh,gde as Vh,ZH as Wh,FC as Xh,bde as Yh,hr as Zh,t4 as _h,kde as $h,Tde as ai,qs as bi,Pde as ci,Ede as di,Xm as ei,HC as fi,Hde as gi,mO as hi,PTe as ii,VI as ji,Dr as ki,ATe as li,RTe as mi,TV as ni,LTe as oi,Hl as pi,gO as qi,bO as ri,s3e as si,Ny as ti,PD as ui,tn as vi,Dy as wi,nre as xi,l3e as yi,hp as zi,qi as Ai,xp as Bi,i3e as Ci,c3e as Di,vH as Ei,Cce as Fi,kH as Gi,TH as Hi,Tce as Ii,PH as Ji,EH as Ki,Pce as Li,Ece as Mi,Oce as Ni,_ce as Oi,OD as Pi,Yi as Qi,Ts as Ri,_D as Si,bp as Ti,yp as Ui,Sp as Vi,AD as Wi,RD as Xi,LD as Yi,FD as Zi,BD as _i,MD as $i,HD as aj,A3e as bj,R3e as cj,L3e as dj,F3e as ej,bt as fj,vre as gj,jD as hj,Tre as ij,VD as jj,qD as kj,XD as lj,Dre as mj,s6e as nj,gn as oj,ZC as pj,XC as qj,b4 as rj,y4 as sj,S4 as tj,nfe as uj,w4 as vj,sfe as wj,Xs as xj,lfe as yj,ife as zj,Rc as Aj,ov as Bj,uO as Cj,wTe as Dj,h6e as Ej,x6e as Fj,$re as Gj,cne as Hj,nue as Ij,XW as Jj,Tn as Kj,Txe as Lj,Zt as Mj,VC as Nj,jC as Oj,f4 as Pj,qde as Qj,Oc as Rj,YC as Sj,u4 as Tj,p4 as Uj,m4 as Vj,Zde as Wj,Jde as Xj,Qde as Yj,efe as Zj,Me as _j,Re as $j,Fce as ak,rC as bk,yc as ck,Xce as dk,ede as ek,id as fk,wxe as gk,Cxe as hk,vxe as ik,LWe as jk,v_e as kk,G_ as lk,Bl as mk,xTe as nk,dO as ok,ITe as pk,gTe as qk,bTe as rk,mLe as sk,sA as tk,lA as uk,iA as vk,OT as wk,Kz as xk,Ao as yk,ta as zk,bd as Ak,yd as Bk,AIe as Ck,RIe as Dk,FIe as Ek,BIe as Fk,DIe as Gk,NIe as Hk,MIe as Ik,WIe as Jk,wd as Kk,fx as Lk,qz as Mk,AT as Nk,RT as Ok,$de as Pk,Kde as Qk,_c as Rk,Lc as Sk,Js as Tk,iv as Uk,xfe as Vk,Ife as Wk,mv as Xk,nh as Yk,a5 as Zk,$fe as _k,uue as $k,pue as al,k5 as bl,Yo as cl,wn as dl,xh as el,Ih as fl,gh as gl,Xue as hl,Zue as il,Rv as jl,Jue as kl,Que as ll,epe as ml,Nv as nl,Hv as ol,Jt as pl,Vv as ql,n6 as rl,vme as sl,nk as tl,Ame as ul,lk as vl,fk as wl,uk as xl,pk as yl,mk as zl,hk as Al,xk as Bl,Mh as Cl,v6 as Dl,k6 as El,rl as Fl,Hh as Gl,gk as Hl,ehe as Il,P6 as Jl,ohe as Kl,the as Ll,ahe as Ml,yk as Nl,lhe as Ol,_6 as Pl,ihe as Ql,che as Rl,R6 as Sl,Wh as Tl,F6 as Ul,phe as Vl,B6 as Wl,mhe as Xl,D6 as Yl,yt as Zl,Ihe as _l,ghe as $l,bhe as am,yhe as bm,Jc as cm,She as dm,Gh as em,Ohe as fm,Tk as gm,W6 as hm,Ahe as im,nl as jm,eW as km,Zhe as lm,OW as mm,fxe as nm,AW as om,uxe as pm,pxe as qm,mxe as rm,dd as sm,dl as tm,_xe as um,Axe as vm,Rxe as wm,sT as xm,lT as ym,iT as zm,Lxe as Am,On as Bm,pd as Cm,Mxe as Dm,Hxe as Em,Wxe as Fm,xT as Gm,$xe as Hm,Ma as Im,la as Jm,Tr as Km,mbe as Lm,hbe as Mm,xbe as Nm,Ibe as Om,gbe as Pm,bbe as Qm,ybe as Rm,vbe as Sm,kbe as Tm,dG as Um,Tbe as Vm,Pbe as Wm,Ebe as Xm,Obe as Ym,_be as Zm,Abe as _m,Rbe as $m,Lbe as an,mG as bn,Fbe as cn,Sx as dn,Bbe as en,_d as fn,zo as gn,na as hn,cP as in,Ch as jn,dP as kn,Rd as ln,Dbe as mn,Nbe as nn,BG as on,Mbe as pn,Hbe as qn,Wbe as rn,zbe as sn,$be as tn,Gbe as un,Zo as vn,Ube as wn,jbe as xn,Cd as yn,Fd as zn,Bd as An,vx as Bn,Nd as Cn,Kbe as Dn,JG as En,Vbe as Fn,qbe as Gn,Ybe as Hn,yP as In,Xbe as Jn,Zbe as Kn,Jbe as Ln,Qbe as Mn,eye as Nn,oye as On,Tx as Pn,tye as Qn,wP as Rn,CP as Sn,vP as Tn,aye as Un,Ex as Vn,uU as Wn,rye as Xn,nye as Yn,iOe as Zn,k_ as _n,$o as $n,Kl as ao,Z9 as bo,t_ as co,gEe as do,bEe as eo,yEe as fo,SEe as go,s_ as ho,kEe as io,TEe as jo,PEe as ko,O0 as lo,_0 as mo,_f as no,eO as oo,oO as po,aO as qo,Af as ro,Jke as so,Qke as to,Rf as uo,IV as vo,cTe as wo,Fl as xo,pTe as yo,cO as zo,mn as Ao,wH as Bo,yce as Co,Sce as Do,sAe as Eo,lAe as Fo,iAe as Go,kTe as Ho,Lf as Io,jse as Jo,OU as Ko,Xye as Lo,Zye as Mo,$P as No,Jye as Oo,Qye as Po,rE as Qo,NCe as Ro,MCe as So,HCe as To,WCe as Uo,vE as Vo,_ve as Wo,Ave as Xo,SO as Yo,x0e as Zo,EO as _o,Jl as $o,HX as ap,WX as bp,M_e as cp,j_e as dp,ru as ep,We as fp,gu as gp,Ot as hp,fA as ip,ci as jp,uA as kp,pA as lp,SLe as mp,wLe as np,kB as op,Oy as pp,TB as qp,cN as rp,G6e as sp,mN as tp,yN as up,Cp as vp,one as wp,tne as xp,nWe as yp,Mse as zp,$se as Ap,ose as Bp,jN as Cp,tse as Dp,Zi as Ep,bze as Fp,yze as Gp,K$e as Hp};
|