efficient-storefront-blocks 0.85.0 → 0.87.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 +24 -0
- package/dist/chunks/{EditorPreviewCheckout-4XHYYAT2.js → EditorPreviewCheckout-GD4IJ4WK.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-X4YKBAJ4.js → SiteEditorProvider-2UVCJZXS.js} +1 -1
- package/dist/chunks/{chunk-NFXV7HDB.js → chunk-H4IHUSCU.js} +1 -1
- package/dist/chunks/chunk-QLR6IVWJ.js +369 -0
- package/dist/chunks/chunk-SYK5QPNV.js +1 -0
- package/dist/chunks/{chunk-VG4SUIRK.js → chunk-XZ46W3NV.js} +1 -1
- package/dist/chunks/{fitment-data-2I2FDPXW.js → fitment-data-5GBUMO2O.js} +1 -1
- package/dist/contract.js +20 -2
- package/dist/editor/lib/document/blocks/commerce/FitmentPicker/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/FitmentPicker/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/FitmentTable/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductBuy/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/ProductBuy/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/ProductEyebrow/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/ProductEyebrow/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.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/ProductName/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/ProductPicture/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/ProductPicture/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/ProductSpecs/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/ProductSpecs/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/RelatedProducts/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/SpecTable/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/StockFitment/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/StockFitment/fields.js +1 -0
- 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/blocks/commerce/page-rules.d.ts +5 -0
- package/dist/editor/lib/document/blocks/commerce/page-rules.js +1 -1
- package/dist/editor/lib/document/blocks/service/ArticleBody/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/service/ArticleBody/fields.js +1 -0
- package/dist/editor/lib/document/blocks/service/SiteFooter/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/SiteHeader/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/index.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/index.js +1 -1
- package/dist/editor/lib/document/box-header.d.ts +1 -1
- package/dist/editor/lib/document/box-header.js +1 -1
- package/dist/editor/lib/document/config.js +1 -1
- package/dist/editor/lib/document/section-text-regions.js +1 -1
- package/dist/editor/lib/efficient-block-sources.js +1 -1
- package/dist/editor/lib/storefront-editor-words.d.ts +19 -7
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/fitment.js +1 -1
- package/dist/index.js +44 -40
- package/dist/links.js +1 -1
- package/dist/render/app/fonts/fallbacks.css +8 -0
- package/dist/render/app/fonts/jost/OFL.txt +93 -0
- package/dist/render/app/fonts/jost/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/jost/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/jost/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/jost/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/jost/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/jost/latin.woff2 +0 -0
- package/dist/render/app/globals.css +11 -11
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/ArticleBody.d.ts +7 -0
- package/dist/render/components/ArticleBody.js +1 -0
- package/dist/render/components/BoxHeaderBar.d.ts +2 -1
- package/dist/render/components/BoxHeaderBar.js +1 -1
- package/dist/render/components/Events.js +1 -1
- package/dist/render/components/FitmentTable.d.ts +1 -1
- package/dist/render/components/FitmentTable.js +1 -1
- package/dist/render/components/FooterMenu.d.ts +5 -1
- package/dist/render/components/FooterMenu.js +1 -1
- package/dist/render/components/GridCardTemplate.d.ts +34 -0
- package/dist/render/components/GridCardTemplate.js +1 -0
- package/dist/render/components/MenuLinkBlock.d.ts +5 -1
- package/dist/render/components/MenuLinkBlock.js +1 -1
- package/dist/render/components/ProductCardChrome.d.ts +1 -1
- package/dist/render/components/ProductCardChrome.js +1 -1
- package/dist/render/components/ProductGridSection.d.ts +6 -15
- package/dist/render/components/ProductGridSection.js +1 -1
- package/dist/render/components/ProductRef.js +1 -1
- package/dist/render/components/PublishedHeader.js +1 -1
- package/dist/render/components/SectionBand.d.ts +2 -1
- package/dist/render/components/SectionBand.js +1 -1
- package/dist/render/components/SectionBandChoice.d.ts +2 -1
- package/dist/render/components/SectionBandChoice.js +1 -1
- package/dist/render/components/SectionGroupBody.d.ts +2 -2
- package/dist/render/components/SectionGroupBody.js +1 -1
- package/dist/render/components/SpecTable.d.ts +3 -1
- package/dist/render/components/SpecTable.js +1 -1
- package/dist/render/components/StorefrontProviders.d.ts +1 -1
- package/dist/render/components/StorefrontProviders.js +1 -1
- package/dist/render/components/TyreCard.js +1 -1
- package/dist/render/components/TyreFitVerdicts.d.ts +2 -1
- package/dist/render/components/TyreFitVerdicts.js +1 -1
- package/dist/render/components/TyrePlpCard.js +1 -1
- package/dist/render/components/TyreSizeGrid.d.ts +17 -0
- package/dist/render/components/TyreSizeGrid.js +1 -0
- package/dist/render/components/card-pieces/CardEyebrow.d.ts +3 -1
- package/dist/render/components/card-pieces/CardEyebrow.js +1 -1
- package/dist/render/components/card-pieces/CardName.d.ts +3 -1
- package/dist/render/components/card-pieces/CardName.js +1 -1
- package/dist/render/components/card-pieces/CardPrice.d.ts +2 -6
- package/dist/render/components/card-pieces/CardPrice.js +1 -1
- package/dist/render/components/card-pieces/CardProductPicture.d.ts +8 -0
- package/dist/render/components/card-pieces/CardProductPicture.js +1 -0
- package/dist/render/components/card-pieces/card-text-region.d.ts +18 -0
- package/dist/render/components/card-pieces/card-text-region.js +1 -0
- package/dist/render/components/fitment/FitmentPickerGrid.d.ts +5 -1
- package/dist/render/components/fitment/FitmentPickerGrid.js +1 -1
- package/dist/render/components/fitment/FitmentPickerPart.d.ts +8 -0
- package/dist/render/components/fitment/FitmentPickerPart.js +1 -0
- package/dist/render/components/fitment/StockFitmentPart.d.ts +11 -0
- package/dist/render/components/fitment/StockFitmentPart.js +1 -0
- package/dist/render/components/fitment/fitment-answer-source.d.ts +12 -0
- package/dist/render/components/fitment/fitment-answer-source.js +1 -0
- package/dist/render/components/fitment/useVehicleFit.d.ts +2 -1
- package/dist/render/components/fitment/useVehicleFit.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.d.ts +5 -0
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.d.ts +10 -12
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.d.ts +1 -0
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -1
- package/dist/render/components/pdp-dynamic/FitmentTableBlock.d.ts +3 -1
- package/dist/render/components/pdp-dynamic/FitmentTableBlock.js +1 -1
- package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -1
- package/dist/render/components/wheels-plp/PlpCard.d.ts +1 -1
- package/dist/render/components/wheels-plp/PlpCard.js +1 -1
- package/dist/render/lib/content/article-body-seed.d.ts +9 -0
- package/dist/render/lib/content/article-body-seed.js +1 -0
- package/dist/render/lib/content/article-body.d.ts +8 -0
- package/dist/render/lib/content/article-body.js +5 -0
- package/dist/render/lib/content/article-page-seed.d.ts +12 -0
- package/dist/render/lib/content/article-page-seed.js +1 -0
- package/dist/render/lib/content/field-usage.d.ts +1 -0
- package/dist/render/lib/content/field-usage.js +1 -1
- package/dist/render/lib/content/product-card-seed.d.ts +29 -0
- package/dist/render/lib/content/product-card-seed.js +1 -0
- package/dist/render/lib/content/tab-strip.d.ts +17 -0
- package/dist/render/lib/content/tab-strip.js +1 -0
- package/dist/render/lib/document/blocks/commerce/FitmentPicker/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/FitmentPicker/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/FitmentPicker/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/FitmentPicker/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/FitmentTable/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentTable/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductBuy/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductBuy/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductBuy/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductBuy/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductEyebrow/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductEyebrow/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductEyebrow/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductEyebrow/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductGrid/meta.d.ts +4 -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/ProductName/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductName/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductName/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductName/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductPicture/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductPicture/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductPicture/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductPicture/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductPrice/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductSpecs/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductSpecs/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductSpecs/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductSpecs/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/RelatedProducts/meta.d.ts +0 -4
- package/dist/render/lib/document/blocks/commerce/RelatedProducts/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/RelatedProducts/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/SpecTable/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/StockFitment/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/StockFitment/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/StockFitment/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/StockFitment/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/metas.d.ts +7 -0
- package/dist/render/lib/document/blocks/commerce/metas.js +1 -1
- package/dist/render/lib/document/blocks/commerce/renders.d.ts +7 -0
- package/dist/render/lib/document/blocks/commerce/renders.js +1 -1
- package/dist/render/lib/document/blocks/service/ArticleBody/meta.d.ts +8 -0
- package/dist/render/lib/document/blocks/service/ArticleBody/meta.js +1 -0
- package/dist/render/lib/document/blocks/service/ArticleBody/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/service/ArticleBody/render.js +1 -0
- package/dist/render/lib/document/blocks/service/SiteFooter/render.js +1 -1
- package/dist/render/lib/document/blocks/service/SiteHeader/render.js +1 -1
- package/dist/render/lib/document/blocks/service/metas.d.ts +1 -0
- package/dist/render/lib/document/blocks/service/metas.js +1 -1
- package/dist/render/lib/document/blocks/service/renders.d.ts +1 -0
- package/dist/render/lib/document/blocks/service/renders.js +1 -1
- package/dist/render/lib/document/blocks/text-part-shapes.json +0 -16
- package/dist/render/lib/document/card-templates.js +1 -1
- package/dist/render/lib/document/footer-page-blocks.js +1 -1
- package/dist/render/lib/document/lazy-draws.js +1 -1
- package/dist/render/lib/font-table.json +209 -1
- package/dist/render/lib/menu-link.d.ts +2 -0
- package/dist/render/lib/menu-link.js +1 -1
- package/dist/render/lib/next-fonts.js +1 -1
- package/dist/render/lib/sections/grid-no-hole.d.ts +1 -0
- package/dist/render/lib/sections/grid-no-hole.js +1 -1
- package/dist/render/lib/sections/product-card-text-regions.d.ts +3 -0
- package/dist/render/lib/sections/product-card-text-regions.js +1 -0
- package/dist/render/lib/sections/product-grid-columns.d.ts +17 -0
- package/dist/render/lib/sections/product-grid-columns.js +1 -0
- package/dist/render/lib/sections/related-to-grid.d.ts +8 -0
- package/dist/render/lib/sections/related-to-grid.js +1 -0
- package/dist/render/lib/storefront-page-groups.d.ts +0 -4
- package/dist/render/lib/storefront-page-groups.js +1 -1
- package/dist/render/lib/tyres/tyre-vehicle-fitment.d.ts +1 -0
- package/dist/render/lib/tyres/tyre-vehicle-fitment.js +1 -1
- package/dist/render/lib/wheels/plp-filters.js +1 -1
- package/dist/render/lib/wheels/vehicle-memory.d.ts +13 -0
- package/dist/render/lib/wheels/vehicle-memory.js +1 -1
- package/dist/words.d.ts +69 -8
- package/dist/words.js +6 -6
- package/package.json +4 -4
- package/dist/chunks/chunk-NNBMZAW4.js +0 -340
- package/dist/chunks/chunk-Y5LB56KB.js +0 -1
- /package/dist/chunks/{chunk-KKKMX6LH.js → chunk-DLWIDJS5.js} +0 -0
- /package/dist/chunks/{chunk-NNBMZAW4.js.LEGAL.txt → chunk-QLR6IVWJ.js.LEGAL.txt} +0 -0
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
import{$ as Xi,A as an,Aa as sS,B as rn,Ca as lS,D as Uy,G as vs,Ga as ue,I as jy,J as gp,Ka as fS,La as uS,M as Yi,N as Ky,Na as Zi,O as qy,Oa as pS,P as Vy,Pa as mS,Q as Yy,R as Xy,T as Zy,U as bp,Ua as hS,W as Jy,X as $o,Y as Ka,Z as Qy,_ as Ot,a as rt,b as en,c as Hy,ca as eS,d as Ut,da as yp,e as hp,f as on,ga as oS,ha as Sp,j as Cs,ja as wp,l as ua,m as xp,na as tS,s as Wy,t as zy,ta as qa,u as Ip,v as io,va as aS,w as Gy,x as $y,xa as rS,y as tn,z as To,za as nS}from"./chunk-SYK5QPNV.js";import{d as iS,e as pa,f as cS,g as dS,j as nn,n as Cp}from"./chunk-DLWIDJS5.js";var J=e=>typeof e=="string"&&e?e:void 0;var IS="en",Ji=null,gS=IS,bS=null;function fne(e,o,t){Ji=e??null,gS=o||IS,bS=t??null}function ee(){return bS}function vp(){return gS}function yS(){return Ji}function xS(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=Ji?Ji[e]:void 0;if(typeof t=="function"){try{let a=J(t(o??{}));if(a)return a}catch{}return xS(e,o)}return xS(J(t)??e,o)}function yo(e,o,t,a){return i(t===1?e:o,{...a,n:t})}import{jsx as kp,Fragment as EN,jsxs as ON}from"react/jsx-runtime";import{createContext as _N,useContext as RN}from"react";var AN={mirrorHostStyles:!0,css:null,fontHrefs:[]},SS=_N(AN);function hne({value:e,children:o}){return kp(SS.Provider,{value:e,children:o})}function Tp(){return RN(SS)}function wS(){let{css:e,fontHrefs:o}=Tp();return ON(EN,{children:[o.map(t=>kp("link",{rel:"stylesheet",href:t},t)),e?kp("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as LN}from"react/jsx-runtime";import{createContext as FN,useContext as BN}from"react";var CS=FN(void 0);function bne({metadata:e,children:o}){return LN(CS.Provider,{value:e,children:o})}var vS=()=>BN(CS);import{jsx as so,Fragment as lN,jsxs as Ki}from"react/jsx-runtime";import{useCallback as Ss,useEffect as $t,useRef as Mre,useState as aN}from"react";import{SettingsSwitch as Hre}from"efficient-easel/panel";import{PagesIcon as Wre,StylesIcon as zre}from"efficient-easel/rail";import{PaletteIcon as Gre}from"efficient-shell/icons/efficient";import{Subtree as $re,TreeRow as iN}from"efficient-easel/tree";import{useEasel as cN}from"efficient-easel/easel";import{useEaselStrings as dN}from"efficient-easel/strings";import{createContext as DN,useContext as NN}from"react";var Pp=DN(!1),wne=()=>NN(Pp);import{useMemo as MN,useRef as HN}from"react";import{useEaselApi as WN}from"efficient-easel/easel";import{useSectionOps as zN}from"efficient-easel/screen/lib/document/use-section-ops";function Qi(){let e=WN(),o=zN(),t=HN(o);return t.current=o,MN(()=>({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 M$}from"efficient-easel/draw";import{insertAt as H$,moveTo as W$,removeAt as z$}from"efficient-easel/fields";function ma(e,o){let t=globalThis,a=Symbol.for(e),r=t[a];return r===void 0&&(r=o(),t[a]=r),r}var _t="dataSource",ks="dataSourceOptions",GN="dataRows",nt="countKey",Ts="counts",Rne="location-payment-methods",TS="shop-payment-methods";function $N(e){return typeof e.open=="function"}var UN=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;function Ps(){return ma("efficient.block-sources",()=>({sources:new Map,revision:0}))}var jN=e=>[e?.key,e?.label,e?.value].every(o=>typeof o=="string"&&o.trim()!==""),KN=e=>[e?.key,e?.label].every(o=>typeof o=="string"&&o.trim()!==""),kS=e=>typeof e=="string"&&e.trim()!=="";function qN(e){if(!e||!kS(e.label))return null;if($N(e))return{label:e.label.trim(),open:e.open};let o=e.href;return kS(o)?{label:e.label.trim(),href:o.trim()}:null}function VN(e){if(typeof e.key!="string"||!UN.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=qN(e.edit);return{key:e.key,label:e.label.trim(),blocks:[...e.blocks],...e.sample?{sample:e.sample.map(t=>ES(t)).filter(t=>t!==null)}:{},...Array.isArray(e.choices)?{choices:e.choices.filter(jN)}:{},...Array.isArray(e.fields)?{fields:e.fields.filter(KN).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 Ane(e){let o=e.map(VN),t=Ps();for(let a of o)t.sources.set(a.key,a);o.length&&(t.revision+=1)}function Lne(e){let o=[...Ps().sources.values()];return e===void 0?o:o.filter(t=>t.blocks.includes(e))}function Ep(e){return Ps().sources.get(e)??null}function PS(e){return Ps().sources.get(e)?.choices??[]}function Fne(){return Ps().revision}function co(e){let o=e?.[_t];return typeof o=="string"?o.trim():""}function ES(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let o={};for(let[t,a]of Object.entries(e)){let r=J(a);r&&(o[t]=r)}return Object.keys(o).length?o:null}function YN(e){let o=e?.[GN];return Array.isArray(o)?o.map(ES).filter(t=>t!==null):null}function Bne(e,o,t=[]){let a=YN(e);if(a!==null&&(a.length||!o))return{rows:a,sample:!1};if(!o)return{rows:[],sample:!1};let r=Ep(co(e))?.sample;return{rows:r?.length?r:t,sample:!0}}import{isNodeList as xM}from"efficient-easel/data";var OS=["general","commerce","service"],ha=[{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:"TyreFitment",label:"Tyre Fitment Form",set:"commerce"},{type:"EuTyreLabel",label:"EU Tyre Label",set:"commerce"},{type:"BundleOffer",label:"Bundle Products",set:"commerce"}]},{key:"checkout",title:"Checkout & ordering",templateable:!0,sections:[{type:"OrderSummary",label:"Order Table",set:"general"},{type:"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:"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 Nne(){return Object.fromEntries(ha.map(e=>[e.key,{title:e.title,components:e.sections.map(o=>o.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var Op={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.`},Mne=["Grid","Spacer"],Hne=Array.from(new Set([...ha.flatMap(e=>e.sections.map(o=>o.type)),...Object.keys(Op)])),oc=Object.fromEntries(ha.flatMap(e=>e.sections.map(o=>[o.type,o.label]))),XN={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",ArticleBody:"service",ProductPrice:"commerce",ProductSize:"commerce",ProductColour:"commerce",ProductPicture:"commerce",ProductEyebrow:"commerce",ProductName:"commerce",ProductSpecs:"commerce",ProductBuy:"commerce",FitmentPicker:"commerce",StockFitment:"commerce",RelatedProducts:"commerce",EmailFormBlock:"service",SocialLogosBlock:"service",PaymentLogosBlock:"service",LegalLineBlock:"service",SiteHeader:"service",SiteFooter:"service"},ec={...XN,...Object.fromEntries(ha.flatMap(e=>e.sections.map(o=>[o.type,o.set])))};function _S(e){return Object.prototype.hasOwnProperty.call(ec,e)?ec[e]:void 0}function _p(e){return Object.keys(ec).filter(o=>ec[o]===e).sort()}var Wne=_p("general"),zne=_p("commerce"),Gne=_p("service"),Rp="Flex",jt="Box",$ne=`${jt}es`;function ZN(e){return e==="section"?"Blank section":jt}function Ap(e,o,t){return e===Rp?ZN(o):t}var ve="content",j="Flex",JN="Text & media",QN="Layout & structure",AS=[{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"}],e2=[...AS,{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:JN})),o2=(ha.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:QN})),RS=[...e2,...o2],Lp=[...AS,{type:"HeroGroup",label:jt}],Kne=Lp.map(e=>e.type),t2=1,a2=Lp.filter(e=>e.type!=="HeroGroup");function r2(e){return e<t2?Lp:a2}var n2={Flex:{slot:ve,choices:()=>RS},Grid:{slot:ve,choices:()=>RS},HeroGroup:{slot:ve,choices:r2}};function LS(e,o=0){let t=n2[e];return t?{slot:t.slot,choices:t.choices(o)}:null}import{applyMark as Qne,markupTools as ese,MARKUP_TOOLS as ose,COPY_FIELD_TOOLS as tse,STOREFRONT_MARKUP as ase,tokenizeInline as rse,stripInline as nse,isSafeLinkHref as WS}from"efficient-shell/markup";import{applyMark as g2,clearStyle as b2,markedAt as y2,markupTools as S2,MARKUP_TOOLS as w2,parseMarkup as C2,RETIRED_MARKS as v2,STOREFRONT_MARKUP as k2,tokenizeInline as lse}from"efficient-shell/markup";var Va=["highlight","strong","quiet"],Ya={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},Rt={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},NS=Object.fromEntries(Va.map(e=>[Rt[e].kind,e])),MS="data-sf-ws",s2=["accent","text","labels"],Es={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},l2=80,i2=120,c2=100,d2=900,f2=.5,u2=3,p2=-.1,m2=.5,h2=3,Fp={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},x2={highlight:{...Fp},strong:{...Fp},quiet:{...Fp}};function FS(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function BS(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let a=10**h2;return Math.round(Math.min(Math.max(e,o),t)*a)/a}function DS(e){return typeof e=="boolean"?e:null}function I2(e){let o=typeof e?.font=="string"&&rt.some(a=>a.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&s2.includes(e.colour)?e.colour:null;return{font:o,size:FS(e?.size,l2,i2),weight:FS(e?.weight,c2,d2),bold:DS(e?.bold),italic:DS(e?.italic),lineGap:BS(e?.lineGap,f2,u2),textGap:BS(e?.textGap,p2,m2),colour:t}}function HS(e){let o={};for(let t of Va)o[t]=e&&t in e&&e[t]?I2(e[t]):{...x2[t]};return o}function Yne(e){let o=HS(e),t={};for(let a of Va){let r=o[a],n=`--sf-ws-${a}`;if(r.font){let s=rt.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`]=Es[r.colour])}return t}function Xne(e){let o=e?.word_styles??void 0,t={};for(let a of Va)o&&a in o&&(t[a]=o[a]??null);return HS(t)}var T2=new Set(["strong"]),zS=Va.map(e=>({open:Rt[e].delimiter,close:Rt[e].delimiter,kind:Rt[e].kind,...T2.has(e)?{wordStart:!0}:{}})),cse=[{style:Rt.highlight.kind,label:Ya.highlight,title:`${Ya.highlight} word style`},{style:Rt.strong.kind,label:Ya.strong,title:`${Ya.strong} word style`},{style:Rt.quiet.kind,label:Ya.quiet,title:`${Ya.quiet} word style`}],P2=new Set(zS.map(e=>e.open)),Xa=[...k2.filter(e=>!P2.has(e.open)),...zS];function Bp(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function Os(e){return C2(typeof e=="string"?e:"",Xa)}var E2=w2.map(e=>e.style).filter(e=>!v2.includes(e)).filter(e=>Xa.some(o=>o.kind===e));function GS(){return S2(E2)}var $S=Object.fromEntries(Va.map(e=>[Rt[e].kind,Rt[e].delimiter]));function US(e,o,t,a){let r=$S[a];if(!r)return g2(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 jS(e,o,t,a){let r=$S[a];return r?o>=r.length&&e.slice(o-r.length,o)===r&&e.slice(t,t+r.length)===r:y2(e,o,t,a)}function tc(e){return e.replace(/==(.+?)==/g,(o,t)=>t.startsWith("_")&&t.endsWith("_")?o:`==_${t}_==`)}function Za(e){return Os(e).map(o=>Bp(o)+qS(o.children)).join(`
|
|
54
|
+
`)}function KS(e,o,t){return b2(e,o,t,Xa)}function qS(e){return e.map(o=>o.kind==="text"?o.text:qS(o.children)).join("")}function ao(e,o,t){return e.some(a=>(typeof a=="object"?a.value:a)===t)?t:o}var Dp="small",Np="dot",O2=[{label:"Small",value:"small"},{label:"Display",value:"display"}],Mp=[{label:"Dot \u25CF",value:"dot"},{label:"Cross \u2715",value:"cross"},{label:"Slash /",value:"slash"},{label:"Triangle \u25BC",value:"triangle"},{label:"None",value:"none"}],ac={dot:"\u25CF",cross:"\u2715",slash:"/",triangle:"\u25BC",none:""},_2={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)]"},R2={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 pse(e){return ao(O2,Dp,e)}function _s(e){return ao(Mp,Np,e)}function mse(e){return _2[e]}function VS(e,o){return R2[e][o]}var Ise=[{value:"none"},{value:"dot"},{value:"cross"},{value:"slash"},{value:"triangle"}];function YS(e){return Mp.some(o=>o.value===e)?_s(e):void 0}var A2="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 Ja(e,o){return e==="row"&&YS(o)!==void 0}function gse(e,o){return Ja(e,o)?A2:""}var L2="[&>*: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 bse(e,o){return Ja(e,o)?L2:""}function yse(e,o){if(!Ja(e,o))return{};let t=YS(o),a=/^text-\[([\d.]+)em\]$/.exec(VS("small",t))?.[1],r=ac[t];return{"--sf-sep-mark":r===""?"none":JSON.stringify(r),...a?{"--sf-sep-k":a}:{}}}import{AUTO_RULES as D2,FOLLOW_RULES as N2,isAuto as M2,resolveViewValue as H2}from"efficient-easel/screen/lib/content/view-tiers";import{VIEW_DESKTOP_MIN as F2,VIEW_TABLET_MIN as XS}from"efficient-easel/screen/lib/content/view-tiers";var Hp="v1",B2=e=>e==="v2"?XS:800,rc={"view-tablet":XS,"view-desktop":F2,"view-wide":B2(Hp)};function Cse(e){let o=e.startsWith("max-"),t=o?e.slice(4):e;if(t in rc)return{px:rc[t],max:o};let a=/^(max|min)-\[(\d+)px\]$/.exec(e);return a?{px:Number(a[2]),max:a[1]==="max"}:void 0}function Qa(){return Hp==="v2"?D2:N2}function st(e,o,t,a,r=Qa()){let n=H2(e,o,t,a,r),s={},l=(c,d)=>!M2(c)||d!=null&&d!==o;return l(t,n.tablet)&&(s.tablet=n.tablet),l(a,n.phone)&&(s.phone=n.phone),s}var Ls={sectionPaddingTop:0,sectionPaddingBottom:0},Rs={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},As={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function _se(e,o){let t=typeof e=="string"&&e in Rs?Rs[e]:"",a=typeof o=="string"&&o in As?As[o]:"";return[t,a].filter(Boolean).join(" ")}function W2(e){return e===!0||e==="wrap"?"flex-wrap":""}var z2={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!"},G2={start:"max-view-tablet:justify-start",center:"max-view-tablet:justify-center",between:"max-view-tablet:justify-between",end:"max-view-tablet:justify-end"},$2={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!"},U2={start:"max-view-tablet:items-start",center:"max-view-tablet:items-center",end:"max-view-tablet:items-end",stretch:"max-view-tablet:items-stretch"},j2={wrap:"view-tablet:max-view-desktop:flex-wrap!",nowrap:"view-tablet:max-view-desktop:flex-nowrap!"};function tr(e,o){return typeof o=="string"&&Object.prototype.hasOwnProperty.call(e,o)?o:void 0}function Wp(e,o,t){let a=st("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 zp(e,o,t){return[e.tablet?o[e.tablet]:"",e.phone?t[e.phone]:""].filter(Boolean).join(" ")}function K2(e,o,t){return Wp(tr(Rs,e)??"start",tr(Rs,o),tr(Rs,t))}function Rse(e,o,t){return zp(K2(e,o,t),z2,G2)}function Ase(e,o,t){let a=tr(As,e)??"stretch";if(a==="stretch")return"";let r=Wp(a,tr(As,o),tr(As,t));return zp(r,$2,U2)}function q2(e){if(e===!0||e==="wrap")return"wrap";if(e===!1||e==="nowrap")return"nowrap"}function Lse(e,o){let t=W2(e)===""?"nowrap":"wrap",a=q2(o);return a&&a!==t?j2[a]:""}var ar="Block widths",ew=[{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]}],V2="data-sf-box-items",Fse=new RegExp(`[ \\t]+[^\\s"'\`]*\\[${V2}\\][^\\s"'\`]*`,"g");var Gp=[{label:"Fit content",value:"content",weights:null},{label:"Equal",value:"equal",weights:[1,1]},{label:"Custom",value:"custom",weights:[2,1]}];function $p(e){return Array.isArray(e)?"custom":e==="equal"?"equal":typeof e=="string"&&e in sc?"custom":"content"}var ow=4,ZS=10;function Y2(e,o){if(!Number.isInteger(o)||o<2||o>ow||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-ZS*(o-1-n),l=Math.min(s,Math.max(ZS,Math.round(r)));t.push(l),a+=l}),t}function JS(e,o,t){if(!Array.isArray(o))return;let a=Y2(o,t),r=a?[...a,100-a.reduce((s,l)=>s+l,0)]:[],n={};for(let s=0;s<ow;s+=1)n[`--${e}-${s+1}`]=r[s]??1;return n}function Bse(e,o,t){let a=JS("sf-share",e,t),r=JS("sf-share-tablet",o,t);return a||r?{...a,...r}:void 0}function X2(e,o){let t=Array.from({length:o},()=>1),a=ew.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 nc(e,o){if(typeof e!="string"||!(e in sc)||e==="equal")return e;let t=X2(e,o),a=t.reduce((r,n)=>r+n,0);return t.slice(0,-1).map(r=>Math.round(r/a*100))}var er="[&>*]: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",sc={equal:er,bigLeft:`${er} [&>*:first-child]:view-wide:grow-[2] [&>[data-sf-box-items]:first-child>*:first-child]:view-wide:grow-[2]`,bigRight:`${er} [&>*:last-child]:view-wide:grow-[2] [&>[data-sf-box-items]:last-child>*:last-child]:view-wide:grow-[2]`,biggerLeft:`${er} [&>*:first-child]:view-wide:grow-[3] [&>[data-sf-box-items]:first-child>*:first-child]:view-wide:grow-[3]`,biggerRight:`${er} [&>*:last-child]:view-wide:grow-[3] [&>[data-sf-box-items]:last-child>*:last-child]:view-wide:grow-[3]`,twoThree:`${er} [&>*: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]`},Z2=`${er} [&>*: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 J2(e){return Array.isArray(e)?Z2:typeof e=="string"?sc[e]??"":""}var Dse={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(sc)}]}]}]},tw="view-tablet:max-view-desktop:flex-row!",or=`${tw} [&>*: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!`,aw={content:`${tw} [&>*: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:or,bigLeft:`${or} [&>*: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:`${or} [&>*: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:`${or} [&>*: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:`${or} [&>*: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:`${or} [&>*: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]!`},Q2=`${or} [&>*: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 eM(e){return Array.isArray(e)||typeof e=="string"&&e in aw?e:null}function Nse(e){if(e.direction!=="row"||Ja(e.direction,e.separator)||e.loop==="scroll"||e.line===!0||iw(e.columns)!==""||cw(e.columnsTablet)!=="")return"";let o=eM(e.shareTablet);return o===null?"":typeof o=="string"?aw[o]:Q2}var oM="[&>*]:view-wide:basis-[content] [&>[data-sf-box-items]>*]:view-wide:basis-[content]";function Mse(e){return J2(e)===""?oM:""}var Up="Columns",lc=1,rw=3,jp={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)]"},nw=ew.filter(e=>e.value==="content"||e.value==="equal"),sw="equal",Kp=1,lw=6,sn="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!",tM={1:`${sn} [&>*]:view-wide:basis-[calc(100%/1)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc(100%/1)]!`,2:`${sn} [&>*]: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:`${sn} [&>*]: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:`${sn} [&>*]: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:`${sn} [&>*]: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:`${sn} [&>*]: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 iw(e){return typeof e=="number"?tM[e]??"":""}var aM={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"?aM[e]??"":""}function Hse(e){return e.direction!=="row"||Ja(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":cw(e.columnsTablet)}function Wse(e){return e.direction!=="row"||Ja(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":iw(e.columns)}var rM="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]",nM={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)]"},sM="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 lM(e){return e===!1||e==="nowrap"}function zse(e,o,t){let a=jp[Number(e)];if(!a)return"max-view-wide:flex-col";let r=lM(t);return dw(e,o)?r?sM:rM:r?nM[Number(e)]:a}function Gse(e,o){return Number(e)in jp&&!dw(e,o)}function dw(e,o){return Number(e)in jp&&o==="content"}var fw="Block spacing",qp=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],iM="sf-box-gap-only";function $se(e){return e==="gap"?iM:""}var QS={each:"sf-box-each-tablet",gap:"sf-box-gap-only-tablet"},cM={each:"sf-box-each-phone",gap:"sf-box-gap-only-phone"};function Use(e,o,t){let a=n=>tr(QS,n),r=Wp(e==="gap"?"gap":"each",a(o),a(t));return zp(r,QS,cM)}var uw={label:"Text",defaultProps:{text:"",align:"left",tone:"default",tag:"p",contained:!0}};var{text:Yse,tag:Xse,...dM}=uw.defaultProps,z=dM,te={...z,tone:"dim"},ic={justify:"start",align:"stretch",wrap:!1,blockSpacing:"gap",padV2:!0},A={...ic,direction:"column",...Ls},Po=(e,o=e,t=e,a=o)=>({sectionPaddingTop:e,sectionPaddingRight:o,sectionPaddingBottom:e,sectionPaddingLeft:o,sectionPaddingTopPhone:t,sectionPaddingRightPhone:a,sectionPaddingBottomPhone:t,sectionPaddingLeftPhone:a}),$=(e,o,t,a)=>({sizeToken:{step:e,px:o,...a?{stepPhone:a}:{},...t?{pxPhone:t}:{}}}),pw={case:"upper"},lt={textStyle:"body-5",...pw},Vp=(e,o)=>({...$("label",e,o),letterSpacing:.2,...pw}),it=(e,o)=>({...lt,...Vp(e,o)});function ct(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]=ct(c,o,n);return{type:a.type,props:{...s,id:o(a.type,n)}}})}var Uo=()=>({tag:"h2",_partStyles:{text:{textStyle:"heading-2"}}}),So=()=>({_partStyles:{text:{...lt,color:"accent",letterSpacing:.3,lineHeight:1.5}}});var Yp={...A,gap:12,gapPhone:12,...Po(32,32,28,28)},Xp={textStyle:"heading-3",...$("headingSmall",20),weight:500,case:"upper",lineHeight:1.5,letterSpacing:.02},Fs={textStyle:"body-1",...$("body",15),lineHeight:1.6},Be=(e,o,t,a=!1)=>({type:"Text",props:{...o,text:"",[xo]:e,_partStyles:{text:{...a?So()._partStyles?.text??{}:{},...t}}}}),Bs={title:"title",body:"body"},cc={title:"name",body:"note"},fM=(e=Bs)=>({type:j,props:{...Yp,name:"Card"},slots:{[ve]:[Be(e.title,{...z,tag:"p",widthFit:"fill"},Xp),Be(e.body,{...te,tag:"p",widthFit:"fill"},Fs)]}}),dc=(e,o)=>ct([fM(o)],e);function mw(e,o){if(e!=="Cards")return o;if(o.template!==void 0)return pM(o);let t=J(o.id)??"Cards",a=co(o)?cc:Bs;return{...o,template:dc((r,n)=>n==="0"?`${t}~card`:`${t}~card.${n.slice(2)}`,a)}}var uM=e=>{let[o,t]=e?[Bs,cc]:[cc,Bs];return new Map([[o.title,t.title],[o.body,t.body]])};function hw(e,o){let t=null;return e.forEach((a,r)=>{let n=a?.props;if(!n)return;let s=n,l=n[xo];a.type==="Text"&&typeof l=="string"&&o.has(l)&&(s={...s,[xo]:o.get(l)});let c=n[ve];if(Array.isArray(c)){let d=hw(c,o);d!==c&&(s={...s,[ve]:d})}s!==n&&(t??=[...e],t[r]={...a,props:s})}),t??e}function pM(e){if(!Array.isArray(e.template))return e;let o=hw(e.template,uM(!!co(e)));return o===e.template?e:{...e,template:o}}var mM="label";function xw(e){if(e.template!==void 0)return e;let o=J(e.id)??"CardList",t={type:j,props:{...A,name:"Item"},slots:{[ve]:[Be(mM,{...z,tag:"p"},Fs)]}};return{...e,template:ct([t],(a,r)=>r==="0"?`${o}~item`:`${o}~item.${r.slice(2)}`)}}var hM="label",Zp=()=>({type:"LogoBlock",props:{[xo]:hM}}),Iw=e=>{let o=J(e.id)??"Logos";return{...e,template:ct([Zp()],()=>`${o}~logo`)}};function gw(e){return!co(e)||e.template!==void 0?e:Iw(e)}function yle(e){if(!co(e))return e;let o=e.template;return o!==void 0&&!(Array.isArray(o)&&o.length===0)?e:Iw(e)}var Io="template",bw="Card template",jo="CardList",yw=["Text","ImageBlock","ButtonBlock","Flex"],xo="rowField",Jp="rowLinkField";function Sw(){return{type:"slot",allow:[...yw]}}var IM=yw.filter(e=>e!=="ButtonBlock"),Ds="items",ww="itemFields";function Rle(){return{type:"slot",allow:[...IM]}}var gM=[{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=>mw("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:jo,label:"Card list"}]},{block:"Logos",fields:[{key:"label",label:"Name"},{key:"kind",label:"Kind"}],seed:e=>gw(e)},{block:jo,fields:[],typedRows:Ds,seed:e=>xw(e)}];function At(){return ma("efficient.card-templates",()=>new Map(gM.map(e=>[e.block,e])))}function Ale(e){for(let o of e){if(typeof o.block!="string"||!o.block)throw new Error("A card template names no block.");let t=[];for(let r of o.blocks??[]){if(typeof r?.type!="string"||!r.type)throw new Error(`The card template of ${o.block} names an empty block.`);t.some(n=>n.type===r.type)||t.push({type:r.type,label:r.label||r.type})}let a=J(o.typedRows);At().set(o.block,{block:o.block,fields:o.fields.map(r=>({...r})),blocks:t,typedRows:a,...o.seed?{seed:o.seed}:{}})}}function bM(e,o){let t=e?At().get(e)?.seed:void 0;return t?t(o):o}function Cw(e,o){if(!(o.template===void 0||Array.isArray(o.template)&&o.template.length===0))return o;let{template:t,...a}=o,r=bM(e,a);return r===a?o:r}function vw(){for(let e of At().values())if(e.blocks?.length)return!0;return!1}function kw(e){return At().get(e)?.blocks??[]}function Lle(e){for(let o of At().values())if(o.blocks?.some(t=>t.type===e))return!0;return!1}function Tw(e){return typeof e=="string"&&At().get(e)?.typedRows||""}function Qp(e){return typeof e=="string"&&At().has(e)}function yM(e,o){let t=At().get(e)?.fields??[];return o?t.filter(a=>(a.kind??"text")===o):t}function SM(e){return typeof e=="string"?yM(e,"list")[0]?.key??"":""}function wM(e,o){return dt(e)||SM(o)}function Pw(e,o){let t=typeof e?.type=="string"?e.type:"";if(!t)return[];let a=At().get(t)?.fields??[],r=Ep(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 em(e,o,t){return e?t?Pw(t).find(a=>a.key===o)??null:At().get(e)?.fields.find(a=>a.key===o)??null:null}function dt(e,o=xo){let t=e?.[o];return typeof t=="string"?t.trim():""}function Fle(e,o){return e.key||String(o+1)}function Ble(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 om="hideWhenRowEmpty";function Dle(e,o){let t=e[om];return!o||!Array.isArray(t)||!t.length?!1:t.every(a=>typeof a!="string"||!o[a]?.trim())}function Nle(e,o,t=""){let a=o&&e&&typeof e=="object"?e[o]:void 0;if(!Array.isArray(a))return"";for(let r of a){let n=typeof r=="string"?r:r?.src,s=J(typeof n=="string"?n.trim():void 0);if(s&&s!==t.trim())return s}return""}var Ew={Text:{text:xo},ImageBlock:{src:xo},ButtonBlock:{label:xo,href:Jp},LogoBlock:{alt:xo},Breadcrumb:{currentCrumb:xo}};var CM=new Set(["ButtonBlock.label","LogoBlock.alt"]);function Mle(e,o,t){return tm(e,o,t)&&!CM.has(`${e}.${t}`)}function tm(e,o,t){return am(e,o,t)!==""}function am(e,o,t){let a=Ew[e]?.[t];return a?dt(o,a):""}function rm(e,o){return!o||!e?null:e[o]??""}function Hle(e,o,t,a){if(!t)return o;let r=null;for(let[n,s]of Object.entries(Ew[e]??{})){let l=dt(o,s),c=rm(t,l);c!==null&&(r??={...o},r[n]=a&&em(a,l)?.mark==="accentItalic"?tc(c):c)}return r??o}function nm(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(!xM(d))continue;let u=c===Io&&Qp(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===j},m=a(d,u);if(m!==void 0)return m}}},r=a(t,null);return r===void 0?null:r}function Ns(e,o){let t=nm(e,o);return t&&t.owner}function Wle(e,o){let t=nm(e,o);return t&&(t.direct?t.owner:null)}function zle(e,o){let t=nm(e,o);if(t!==void 0)return t===null?{inCopy:!1,nestedCopy:!1,underBox:!1}:{inCopy:!0,nestedCopy:t.nested,underBox:t.underBox}}function Gle(e,o,t){if(o?.type!==jo)return[];let a=Ns(e,o.props?.id);if(!a)return vM(o.props,t);let r=wM(o.props,a.type),n=r&&Pw(a,"list").find(s=>s.key===r)?.fields||[];return t?n.filter(s=>(s.kind??"text")===t):n}function fc(e,o){return{[xo]:"",[Ds]:e.map(t=>({...t})),[ww]:o.map(t=>({...t}))}}function vM(e,o){let t=e?.[ww];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 R$}from"react";import{isNodeList as uc}from"efficient-easel/data";var Ow="Flex";function ln(e,o){return dt(e)?typeof e?.[nt]=="string"?sm(o?.[nt]):"":sm(e?.[nt])}var sm=e=>typeof e=="string"?e.trim():"",kM=e=>e.type===jo&&Array.isArray(e.props?.[Ds])&&e.props[Ds].some(o=>sm(o?.[nt])!==""),TM=new Intl.NumberFormat("en-US");function PM(e){return/^\d+$/.test(e)?TM.format(Number(e)):e}function qle(e,o){let t=o?o.find(a=>a.key===e)?.value:PS(Ts).find(a=>a.key===e)?.value;return t===void 0?null:PM(t)}var EM={[nt]:"any"};function lm(e,o=!1){let t=e.props;if(!t)return{node:e,names:!1};let a=e.type==="Text"&&(ln(t)!==""||o&&ln(t,EM)!==""),r=o||kM(e),n=t;for(let[l,c]of Object.entries(t)){if(!uc(c))continue;let d=c.map(u=>lm(u,r));d.some(u=>u.names)&&(a=!0),d.some((u,m)=>u.node!==c[m])&&(n={...n,[l]:d.map(u=>u.node)})}if(e.type!==Ow)return{node:n===t?e:{...e,props:n},names:a};let s=co(n);if(a&&!s&&(n={...n,[_t]:Ts}),!a&&s===Ts){let{[_t]:l,...c}=n;n=c}return{node:n===t?e:{...e,props:n},names:!1}}function _w(e,o,t){for(let a of e){if(a?.props?.id===o)return t;for(let r of Object.values(a?.props??{})){if(!uc(r))continue;let n=_w(r,o,a.type===Ow?a:t);if(n!==void 0)return n}}}function Vle(e,o){if(!uc(e))return!0;let t=_w(e,o,null);if(t===void 0)return!0;if(t===null)return!1;let a=co(t.props);return!a||a===Ts}function Rw(e){let o=e?.content;if(!uc(o))return e;let t=o.map(a=>lm(a));return t.every((a,r)=>a.node===o[r])?e:{...e,content:t.map(a=>a.node)}}function Aw(e){return lm(e).node}import{jsx as w,jsxs as Pa,Fragment as ea}from"react/jsx-runtime";import{cloneElement as aT,createContext as YW,useContext as XW,useEffect as ZW,useId as rT,useRef as il,useState as cl}from"react";import{useEasel as qh,useSelectedHost as kn}from"efficient-easel/easel";import{toDateKey as oxe,fromDateKey as txe}from"efficient-shell/format";function OM(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.src=="string"}function xa(e){return typeof e=="string"?e:OM(e)?e.src:""}function Xle(e,o,t){return im(e,o.split("."),t)}function im(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 u=!1,m=c.map(f=>{let x=im(f,r,t);return x!==f&&(u=!0),x});return u?{...l,[s]:m}:e}let d=im(c,r,t);return d===c?e:{...l,[s]:d}}var _M=["upload","youtube"],RM="upload",Qle={upload:"Upload",youtube:"YouTube"},AM=["background","click"],LM="background",eie={background:"Background",click:"Click to play"};function Fw(e){return _M.includes(e)?e:RM}function Bw(e){return AM.includes(e)?e:LM}var Lw=/^[A-Za-z0-9_-]{11}$/,FM=/^(?:www\.|m\.|music\.)?(?:youtube\.com|youtube-nocookie\.com|youtu\.be)$/;function Dw(e){let o=typeof e=="string"?e.trim():"";if(!o)return null;if(Lw.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:"||!FM.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&&Lw.test(r)?r:null}function cm(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 Nw(e){return`https://i.ytimg.com/vi/${e}/maxresdefault.jpg`}function Mw(e){return`https://i.ytimg.com/vi/${e}/hqdefault.jpg`}var dm="Play video";var fm={frame:"Video frame",image:"Image"},oie={any:[{field:"loadingShows",is:"image"},{all:[{not:{field:"loadingShows",set:!0}},{field:"poster",set:!0}]}]};function um(e){let o=e.loadingShows;return o==="image"?"image":o!=null&&o!==""?"frame":xa(e.poster)?"image":"frame"}function tie(e){return xa(um(e)==="image"?e.poster:e.videoFrame)||void 0}import{readHidable as Oa,hidableText as JW}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as nT,LINK_FIELD_MARKER as QW,MEDIA_FIELD_MARKER as ez,SCAFFOLD_FIELD_MARKER as oz,TEXT_FIELD_MARKER as Jt,foldMetaOf as oa,textFieldIdentifier as ixe}from"efficient-easel/draw";import{jsx as jw}from"react/jsx-runtime";import{useCallback as MM}from"react";import{useEasel as HM}from"efficient-easel/easel";import{SettingsAction as WM}from"efficient-easel/panel";import{CORNER_SIDES as pc,hasCornerSubset as Ms,normalizeCornerSides as Lt}from"efficient-easel/screen/lib/content/style-keys";function pm(e){return typeof e=="number"&&Number.isFinite(e)}function sie(e,o){if(!pm(e))return;let t=Xi(Ot(e));if(Object.keys(t).length===0)return;let a=t[mm];if(typeof a!="string")return t;let r=Ms(o)?rr(a,Lt(o)??[]):a;return{...t,[BM]:r}}var BM="--sf-section-radius",mm="--sf-card-radius";function rr(e,o){return pc.map(t=>o.includes(t)?e:"0").join(" ")}var Hw=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var DM="--sf-card-box-radius";function hm(e){return typeof e=="number"&&Number.isFinite(e)}function die(e,o){if(!hm(e))return;let t=Xi(Ot(e))[mm];if(typeof t!="string")return;let a=Ms(o)?rr(t,Lt(o)??[]):t;return{[DM]:a}}function Ww(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}})}import{locateNode as NM}from"efficient-easel/draw";function Hs(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function mc(e,o,t){let a=Hs(t?.zone),r=a?NM(e,o,a.ownerId):null;return r&&a?{...r,slot:a.slot}:null}function zw(e,o,t){let a=mc(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]:Ww(n,c)}}}:{can:!1,reason:"unset",others:d}}function Gw(e){return e.can?yo("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 $w(e){return yo("Applied to {n} card","Applied to {n} cards",e)}function Uw(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as zM}from"efficient-easel/screen/lib/document/use-section-ops";var GM="apply-corners-to-siblings",$M="Apply to all cards";function UM({plan:e,onPress:o}){return jw(WM,{id:GM,label:i($M),note:Gw(e),disabled:!e.can,doneLabel:$w(e.others),onPress:o})}function Kw(){let{appState:e,config:o}=HM(n=>n),t=zM(),a=zw(o,e.data.content??[],e.ui.itemSelector),r=MM(()=>{Uw(a,t.replaceComponent)},[a,t]);return jw(UM,{plan:a,onPress:r})}import{isShown as tC,lazyShowWhenContext as sH}from"efficient-shell/format";var Ia="product",hc="recordType",qw={key:Ia,label:"Product",fields:[]},jM=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,KM=/^[a-z][A-Za-z0-9]*$/,qM=["text","date","images"],xm=new Map,Vw=0;function VM(e){if(typeof e.key!="string"||!jM.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===Ia)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"||!KM.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(!qM.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 Tie(e){let o=e.map(VM);for(let t of o)xm.set(t.key,t);o.length&&(Vw+=1)}function Im(){return[qw,...xm.values()]}function YM(e){return e===Ia?qw:xm.get(e)??null}function gm(){return Vw}function Ws(e){let o=e?.[hc];return typeof o!="string"?Ia:o.trim()||Ia}function bm(e){return Ws(e)===Ia}function Pie(e,o){let t=YM(e)?.fields??[];return o?t.filter(a=>o.includes(a.kind)):t}var xc="product",Yw="tyre",XM=[xc,Yw];function _ie(e){return XM.includes(e)}var ZM="productType",JM={[xc]:"alloy-wheel",[Yw]:"tyre"},QM=["alloy-wheel","tyre"];function Xw(e,o){return bm(o)?Zw(o)??JM[e]??null:null}function Zw(e){if(!bm(e))return null;let o=e?.[ZM];return typeof o=="string"&&QM.includes(o)?o:null}function Rie(e){let o=e?.root;return Zw(o?.props)}var ym="Main Pages",eH="Dynamic Pages",Sm="dynamic",oH="dynamic";function nr(e){return e.kind===oH}var wm="lightbox";function Jw(e){return e.kind===wm}function Qw(e){let o=[],t=[];for(let a of e){if(nr(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??ym,rows:[a]})}if(t.length){let a=o.findIndex(r=>r.key.startsWith("system:"));o.splice(a===-1?o.length:a,0,{key:Sm,label:eH,rows:t})}return o}var Ic=null,eC=null;function tH(e,o){Ic=e,eC=o}function Nie(e){tH(e,null)}function Mie(){return Ic}function zs(){return nr({kind:eC})||Ic===xc}function Hie(e){return Xw(Ic??"",e)??"alloy-wheel"}function Wie(e){return zs()?Ws(e):null}import{addShowWhenFacts as aH}from"efficient-shell/format";import{showWhenOf as Cm,shownForOption as rH,truthy as vm,withRowRules as km,withRowsShownWhen as Gs,withShowWhen as Ze}from"efficient-shell/format";var Uie=aH;function nH(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 Tm(e,o,t){let a=!1,r={};for(let[n,s]of Object.entries(e)){if(!tC(Cm(s),o??{},t)){a=!0;continue}let l=lH(s,o?.[n],o??{},t);l!==s&&(a=!0),r[n]=l}return a?r:e}function lH(e,o,t,a){let r=e?.options;if(!Array.isArray(r))return e;let n=r.filter(s=>s?.value===o||!s?.showWhen||tC(s.showWhen,t,a));return n.length===r.length?e:{...e,options:n}}function aC(e,o,t,a){let r=mc(o,t,a);return{device:e,parentType:r?.item.type,parent:r?.item.props}}function oC(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 oC(t.not,o);for(let a of[t.all,t.any])if(Array.isArray(a)&&a.some(r=>oC(r,o)))return!0;return!1}function Zie(e,o={}){return sH({parentType:()=>e.parent?.type??void 0,parent:()=>e.parent?.props??void 0,dynamicPage:()=>zs(),root:()=>e.appState?.data?.root?.props,...o})}var rC=1;function iH(e){return Ot(e)}function ece(e){let o=iH(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var nC=1,sC="Corners";function cH(e){return Ot(e)}function rce(e,o){let t=cH(e);if(t===null)return null;let a=`${t}px`;return{borderRadius:Ms(o)?rr(a,Lt(o)??[]):a}}var Kt={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]]}},Pm=Object.keys(Kt),iC=[2,3,4,6];function Em(e,o){return Pm.filter(t=>t===o||e===null||Kt[t].across===e)}function cC(e){return typeof e!="string"||e===""?null:Kt[e]??null}function lC(e,o){return o?6/e.acrossPhone:12/e.across}function dC(e){return[...e.lead??[],...e.desktop]}var dH="sf-wall--";function fH(e){return`${dH}${e}`}function sce(e){let o=Kt[e],t=`.${fH(e)}`,a=[],r=(n,s,l=[])=>{let c=[],d=n.length,u=l.length;l.forEach(([m,f],x)=>{c.push(`${t} > :nth-child(${x+1}){grid-column:span ${m};grid-row:span ${f}}`)}),n.forEach(([m,f],x)=>{c.push(`${t} > :nth-child(${d}n+${u+x+1}){grid-column:span ${m};grid-row:span ${f}}`)});for(let m=1;m<d;m+=1)c.push(`${t}:has(> :nth-child(${d}n+${u+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,lC(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,lC(o,!0),o.leadPhone)),a.push("}"),a.join("")}var gc=12,fC=1,uH=3;var pH=3;function Om(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 mH(e){return Om(e,1,gc)??pH}function cce(e,o){return Om(e,fC,uH)??(mH(o)===4?2:fC)}function dce(e){return e==null||e===""?null:Om(e,1,gc)}var fce="data-sf-span";function uce(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(cC(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}import{jsx as hH}from"react/jsx-runtime";import*as xH from"efficient-easel/icons";function bc(e){let o=e.replace(/(^|-)([a-z])/g,(a,r,n)=>n.toUpperCase()),t=xH[`${o}Icon`];return t?hH(t,{size:16}):null}import{isNodeList as IH}from"efficient-easel/data";var cn=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],pC="bottom-left",dn=4,gH=dn+1,uC=40,bH=30,yH=100,SH=60,Ice=100;var _m={"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 wH(e){let o=cn.indexOf($s(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function CH(e){return 1+wH(e).band*(gH+1)}function gce(e){return CH(e)+1}function $s(e){return cn.includes(e)?e:pC}function bce(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-uC,Math.min(uC,Math.round(o)))}function yce(e,o=SH){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(bH,Math.min(yH,Math.round(t)))}function Rm(e,o){let t=$s(o);return e.filter(a=>$s(a?.props?.placement)===t).length}function mC(e){return`${_m[$s(e)]} already holds ${dn} boxes. Move one somewhere else first.`}function hC(e,o){let t=e.filter(a=>a?.props?.id!==o);return cn.map(a=>{let r=Rm(t,a)>=dn,n=_m[a];return r?{value:a,label:n,disabled:!0,title:mC(a)}:{value:a,label:n}})}function yc(e,o){let t=o===void 0?pC:$s(o?.props?.placement);return Rm(e,t)>=dn?mC(t):null}var Sc="HeroGroup";function vH(e){return cn.map(o=>{let t=Rm(e,o);return{anchor:o,total:t,hidden:t-dn}}).filter(o=>o.hidden>0)}function Am(e){let o=vH(e);return o.length===0?null:o.map(({anchor:t,total:a,hidden:r})=>{let n=_m[t],s=r===1?"1 is not shown":`${r} are not shown`;return`${n} holds ${a} boxes. The published page draws the first ${dn}, so ${s}. ${r===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function xC(e,o){let t=o;if(t?.type!==Sc)return null;let a=t.props?.id===void 0?"":String(t.props.id);return a?yc(Lm(e,a),t):null}function Lm(e,o){let t=gC(e,o);return t&&t.ownerType===TH?t.siblings:[]}function IC(e,o){let t=gC(e,o);return t?t.ancestorTypes.filter(a=>a===Sc).length:kH}var kH=1,TH="HeroSlide";function gC(e,o){let t=(a,r,n)=>{if(r>12||!a||typeof a!="object")return null;if(IH(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 PH}from"react/jsx-runtime";var Fm="sf-hint-keep";function bC({children:e}){return PH("span",{className:Fm,children:e})}import{jsx as ga,Fragment as _H,jsxs as EC}from"react/jsx-runtime";import{useContext as RH,useEffect as AH,useId as LH,useState as OC}from"react";import{SettingsField as FH,SettingsSwitch as BH}from"efficient-easel/panel";import{AnchorIcon as DH}from"efficient-easel/icons";import{ScreenDocumentContext as NH}from"efficient-easel/screen/components/ScreenDocumentContext";import{Snippet as MH}from"efficient-shell/ui";import{slugify as HH}from"efficient-shell/format";import{slugify as EH}from"efficient-shell/format";function Us(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}var yC=e=>EH(Us(e));var wc="homepage";import{slugify as OH}from"efficient-shell/format";var SC=[{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 wC(e){return e.offersCommerce&&e.offersService?SC:SC.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}var Bm="#popup:";function CC(e){return`${Bm}${e}`}function vC(e){return e.startsWith(Bm)&&e.slice(Bm.length).trim()||null}function js(e){return e===wc?"/":`/${e}`}function kC(e){return`/journal/${e}`}function _ce(e){return`/wheels/${e}`}function Cc(e,o){return`${js(e)}#${o}`}function TC(...e){let o=new Set,t=[];for(let a of e)for(let r of a?.content??[]){let n=Us(r?.props?.anchor);if(!n)continue;let s=OH(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function Rce(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 PC(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}import{readHidable as WH}from"efficient-easel/draw";function _C({value:e,onChange:o,nameBox:t}){let a=WH(e).text,[r,n]=OC(!1),s=r||a.trim()!=="",l=LH();return EC(_H,{children:[ga(FH,{label:i("Add an anchor"),labelId:l,icon:ga(DH,{}),action:ga(BH,{checked:s,ariaLabelledBy:l,onChange:c=>{n(c),!c&&a!==""&&o("")}})}),s&&t(e,o),s&&ga(zH,{name:a})]})}function zH({name:e}){let o=RH(NH),t=o?.templateId?"":o?.currentSlug??"",[a,r]=OC("");AH(()=>r(nn()||window.location.origin),[]);let n=HH(e);if(!n||!t)return null;let s=`${a}${Cc(t,n)}`,l=s.replace(/^https?:\/\//,""),c=l.lastIndexOf("#");return ga("div",{className:"sf-anchor-link",children:ga(MH,{value:s,label:i("link"),size:"sm",children:EC("span",{className:"sf-anchor-link-text",children:[ga("span",{className:"sf-anchor-link-path",children:l.slice(0,c)}),ga("span",{className:"sf-anchor-link-hash",children:l.slice(c)})]})})})}import{AdjustIcon as tz,EyeIcon as az,AnimationIcon as rz,BackgroundIcon as nz,BorderAllIcon as sz,BlockSectionIcon as lz,ColumnWidthsIcon as Vh,ColumnsIcon as sT,CornerIcon as iz,DirectionDownIcon as cz,DirectionLeftIcon as dz,DirectionRightIcon as fz,DirectionUpIcon as uz,EditIcon as pz,GapIcon as mz,GridIcon as hz,GroundIcon as Kh,HashIcon as lT,HeightIcon as xz,ImageIcon as Iz,ListIcon as gz,LocationIcon as Yk,PaddingBottomIcon as iT,PaddingLeftIcon as cT,PaddingRightIcon as dT,PaddingTopIcon as fT,PageIcon as bz,StickyIcon as yz,SearchIcon as Sz,SquareIcon as wz,TypeIcon as Cz,WidthIcon as vz}from"efficient-easel/icons";import{jsx as ze,Fragment as sr,jsxs as lr}from"react/jsx-runtime";import{CaptionIcon as GH,DateIcon as $H,FlagIcon as UH,TitleIcon as jH,ButtonIcon as KH,DollarIcon as qH,HashIcon as VH,LinkIcon as YH,NoteIcon as XH,TagIcon as ZH,TextLinesIcon as JH}from"efficient-easel/icons";var RC={body:JH,button:KH,link:YH,label:ZH,number:VH,price:qH,note:XH,name:UH,date:$H,caption:GH,title:jH},AC={eyebrow:lr(sr,{children:[ze("path",{d:"M5 6.5h5"}),ze("path",{d:"M5 12.5h14"}),ze("path",{d:"M5 18h11"})]}),heading:lr(sr,{children:[ze("path",{d:"M6.5 5v14"}),ze("path",{d:"M17.5 5v14"}),ze("path",{d:"M6.5 12h11"})]}),intro:lr(sr,{children:[ze("path",{d:"M4 5.5v13"}),ze("path",{d:"M8 7.5h12"}),ze("path",{d:"M8 12h12"}),ze("path",{d:"M8 16.5h8"})]}),value:lr(sr,{children:[ze("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),ze("path",{d:"M6.5 12h7"})]}),quote:lr(sr,{children:[ze("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),ze("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:lr(sr,{children:[ze("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),ze("path",{d:"M8 9.5h8"}),ze("path",{d:"M12 9.5v5"})]}),meta:lr(sr,{children:[ze("path",{d:"M4 7h16"}),ze("path",{d:"M4 14h3.5"}),ze("path",{d:"M10.5 14h3"}),ze("path",{d:"M17 14h3"})]})};function Dm({noun:e,size:o=14,strokeWidth:t=1.8,className:a,style:r}){let n=RC[e];return n?ze("span",{className:a,style:{display:"inline-flex",...r},"aria-hidden":"true",children:ze(n,{size:o})}):ze("svg",{className:a,style:r,width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:AC[e]})}var qce=Object.keys(RC);var Vce=Object.keys(AC);import{parseHexColor as QH}from"efficient-shell/format";var e4="#ffffff";function Nm(e){return o4(e)?e:e4}function o4(e){return typeof e=="string"&&QH(e)===e.toLowerCase()}function Zce(e){return{"--bg":Nm(e)}}import{parseHexColor as t4}from"efficient-shell/format";function vc(e){return`color-mix(in srgb, var(--overlay-scrim) ${Math.round(Math.min(1,Math.max(0,e))*1e3)/10}%, transparent)`}function Ks(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 nde="sf-card",ba={min:0,max:100,step:5,fallback:0,unit:"%"},a4=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],r4="68%",sde={desktop:20,phone:20,side:40,sidePhone:24},lde="sf-box-sides";function kc(e){return typeof e=="string"&&e.trim()!==""}function LC(e,o){let t=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(t)||t<=0)return null;let a=(Math.min(ba.max,Math.max(ba.min,t))/100).toFixed(2);return o!=="bottom"?{background:vc(Number(a))}:{background:`linear-gradient(0deg, ${vc(Number(a))} 0%, ${vc(0)} ${r4})`}}var fn=e=>typeof e=="string"?t4(e.trim()):null,n4="swatch";function ide(e,o){return o?fn(rm(o,dt(e,n4))):null}var s4={tabletClass:"sf-fill-tablet",tabletVar:"--sf-fill-tablet",phoneClass:"sf-fill-phone",phoneVar:"--sf-fill-phone"};function cde(e,o,t){return Ks(s4,fn(e),fn(o),fn(t))}var l4={tabletClass:"sf-wash-tablet",tabletVar:"--sf-wash-tablet",phoneClass:"sf-wash-phone",phoneVar:"--sf-wash-phone"};function dde(e){let o=LC(e.darken,e.darkenStyle);if(!o)return{className:"",style:{}};let t=(m,f)=>String(LC(m,f)?.background??"none"),a=m=>(typeof m=="number"||typeof m=="string"&&m.trim()!=="")&&Number.isFinite(Number(m))?m:void 0,r=m=>a4.some(f=>f.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,u=s??e.darkenStyle;return Ks(l4,String(o.background),n!==void 0||s!==void 0?t(d,u):null,l!==void 0||c!==void 0?t(l??d,c??u):null)}function fde(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 FC(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(Mm(a,o,0))return{type:typeof r=="string"?r:"",props:n??{}}}return null}function Mm(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(r=>Mm(r,o,t+1));let a=e.props;return a&&typeof a=="object"&&a.id===o?!0:Object.values(e).some(r=>Mm(r,o,t+1))}function BC(e,o){let t=e?.content;return Array.isArray(t)?Tc(t,o,0)??[]:[]}function Tc(e,o,t){if(t>12||!e||typeof e!="object")return null;if(Array.isArray(e)){for(let r of e){let n=Tc(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=Tc(r,o,t+1);if(n)return[a,...n]}return null}for(let r of Object.values(e)){let n=Tc(r,o,t+1);if(n)return n}return null}import{SettingsDefaultReset as bo,SettingsDrill as kz,SettingsField as Qe,SettingsGroup as Tz,SettingsGroupSub as Txe,SettingsSegmented as Pz,SettingsBorder as Ez,SettingsSidesEach as Oz,SettingsSwitch as Yh,borderSides as _z,borderStartEach as Rz}from"efficient-easel/panel";import{ListField as Az}from"efficient-easel/fields";import{DisplayChips as Lz}from"efficient-shell/ui";function un(e){if(!e||typeof e!="object"||Array.isArray(e))return{};let o={};for(let[t,a]of Object.entries(e))typeof a=="boolean"&&(o[t]=a);return o}function Pc(e,o){return un(e)[o]!==!1}function Hm(e,o,t){let a=un(o)[t];return typeof a=="boolean"?a:Pc(e,t)}function DC(e){return Object.values(un(e)).some(o=>o===!1)}function NC(e){return Object.keys(un(e)).length>0}function MC(e,o,t){let a={...un(e)};return t?delete a[o]:a[o]=!1,Object.keys(a).length?a:void 0}function HC(e,o,t){return{...un(e),[o]:t}}function mde(e,o,t){let a=Pc(e,t),r=Hm(e,o,t);return a&&r?"":!a&&!r?"hidden":a?"max-view-tablet:hidden":"view-tablet:hidden"}import{AlignmentGrid as Fz,Checkbox as Rxe,ColorSwatch as Bz,CornersInput as Dz,DatePicker as Axe,DateTimePicker as Nz,FOCAL_DEFAULT as Lxe,IconPicker as uT,COLUMN_COUNT_MAX as Xk,COLUMN_SHARE_MIN as Mz,COLUMN_SHARES_EQUAL as Hz,resolveColumnShares as pT,WidthsBar as Wz,useShellStrings as zz,IconButton as mT,InputNumber as Zk,Slider as Gz,Tooltip as ud}from"efficient-shell/ui";import{backendOf as i4}from"efficient-easel/screen/lib/session";var $e=i4,Ec=e=>e.blocks;async function WC(e){let o=e.trim();if(!o)return null;let t=$e().geocode;if(!t)throw new Error("geocode_unavailable");return t.locate(o)}var Wm="Lookup busy \u2014 try again in a moment.",Oc=e=>typeof e=="number"&&Number.isFinite(e);function Sde(e){return e.some(o=>{let t=o?.geocode;return t?t.pending||t.manual&&t.lat===void 0&&t.lng===void 0?!0:Oc(t.lat)&&t.lat!==o.lat||Oc(t.lng)&&t.lng!==o.lng:!1})}async function wde(e,o,{geocode:t=WC,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:Wm}})}}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=Oc(l.lat)&&l.lat!==s.lat?l.lat:s.lat,d=Oc(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 Eo,jsxs as Gm}from"react/jsx-runtime";import{useRef as d4}from"react";import{ColorPicker as f4,ColorPickerPanel as u4,ColorSwatch as p4,HexInput as m4,Popover as h4,Tooltip as x4,colorFill as I4,colorSwatchClasses as g4,useShellStrings as b4}from"efficient-shell/ui";import{SettingsDefaultReset as y4,SettingsField as S4}from"efficient-easel/panel";import{typedHex as zm}from"efficient-easel/pick";import{typedHex as c4}from"efficient-easel/pick";function zC(e){let o=new Set,t=[];return io(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?c4(l):null;!c||o.has(c)||(o.add(c),t.push({name:s,value:c}))}}),t}var GC="Not set";function w4({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,ariaLabel:s,choices:l}){return Eo(v4,{value:e,onChange:o,label:i(s??t),id:a,caption:r,inherited:n,choices:l})}function C4(){let{theme:e}=ue();return zC(e).map(o=>({value:o.value,label:o.name}))}function v4({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,choices:s}){let l=C4(),c=e?null:zm(n??""),d=r!==void 0&&(!e||zm(r)!==zm(e))?r:null,u=m=>{m!==e&&o(m)};return Gm("div",{className:"sf-colour",children:[s?Eo(k4,{id:a,value:e,onChange:o,label:t,presets:l,follows:c,choices:s}):Eo(f4,{id:a,value:e,onChange:u,label:t,presets:l,fallback:c??void 0,size:"md",align:"start"}),d!==null?Eo("span",{className:"sf-colour-caption",children:d}):Eo("span",{className:"sf-colour-hexwrap",children:Eo(m4,{value:e||c||"",onChange:u,label:i("{label} hex code",{label:t}),placeholder:e||c?void 0:i(GC),className:c?"sf-colour-hex is-inherited":"sf-colour-hex",size:"md"})})]})}function k4({value:e,onChange:o,label:t,id:a,presets:r,follows:n,choices:s}){let l=b4().color,c=e||n||"",d=s.findIndex(f=>f.selected),u=d>=0,m=d4(d);return u&&(m.current=d),Eo(h4,{id:a,trigger:Eo("span",{"aria-hidden":"true",className:"absolute inset-0",style:I4(c)}),triggerLabel:l.swatch(t,c.toUpperCase()||l.none),triggerClassName:g4({size:"md"}),"aria-label":l.panel(t),align:"start",children:Gm("div",{className:"sf-colour-window",children:[Eo("div",{role:"group","aria-label":t,className:"sf-colour-choices",children:s.map(f=>Eo(x4,{content:f.label,children:Eo(p4,{color:f.color,"aria-label":f.label,selected:f.selected,onClick:()=>{f.selected||f.onPick()}})},f.label))}),Eo(u4,{value:u?"":e,onChange:o,label:t,presets:r,fallback:(u?c:n)??void 0},m.current)]})})}function Ko({label:e,icon:o,changed:t,hint:a,onReset:r,resetTo:n,children:s,...l}){return Gm(S4,{label:e,icon:o,htmlFor:l.id,changed:t,hint:a,action:r?Eo(y4,{words:ee()?.panel,label:e,changed:!!t,detail:n,onReset:r}):void 0,children:[w4({...l,label:e}),s]})}function pn({label:e,icon:o,value:t,inherited:a,resetTo:r,onChange:n,onReset:s,hint:l,choices:c}){let d=!!t;return Eo(Ko,{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 $z}from"efficient-easel/screen/lib/document/style-fields";import{jsx as T4}from"react/jsx-runtime";import{useEffect as P4,useState as E4}from"react";import{clearRangeOf as O4,markSelection as _4,useCaretEdit as R4}from"efficient-easel/copy";import{TextToolbar as A4}from"efficient-shell/ui";function L4(e,o,t){return _4(e,o,t,US)}function $C(e,o){let t=O4(o,e.length),a=KS(e,t.start,t.end);return a.text===e?null:a}function F4(e){let[o,t]=E4(null);return P4(()=>{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 B4({target:e,value:o,onChange:t,disabled:a=!1,label:r="Formatting"}){let n=R4({target:e,onChange:t}),[s,l]=F4(e),c=f=>n(x=>{let I=L4(o,f,x);return l({start:I.selectionStart,end:I.selectionEnd}),I}),d=GS(),u={};if(s)for(let f of d)u[f.style]=jS(o,s.start,s.end,f.style);let m=a?null:$C(o,s);return T4(A4,{offered:new Set(d.map(f=>f.style)),onMark:f=>c(f),pressed:u,disabled:a,"aria-label":i(r),className:"sf-markup-bar",clear:m?{onClear:()=>n(()=>{let f=e.current,x=f&&f.ownerDocument.activeElement===f?{start:f.selectionStart??0,end:f.selectionEnd??0}:null,I=$C(o,x)??{text:o,selectionStart:x?.start??0,selectionEnd:x?.end??0};return l({start:I.selectionStart,end:I.selectionEnd}),I})}:void 0})}var $m=B4;import{deviceField as Bt}from"efficient-easel/screen/lib/document/device-fields";import{NO_CONTROL_FIELD as Uz,NoControlMark as jz,noControlField as hT}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Um="__ownBox";function UC(e){return!!e&&typeof e=="object"&&e[Um]===!0}function _c(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var Rc=void 0;import{phoneKey as Zt,tabletKey as vn}from"efficient-easel/draw";import{jsx as Km,Fragment as M4}from"react/jsx-runtime";import{createContext as H4,useContext as W4}from"react";var Ac={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},Lc={Events:["posts"],SubscribeBlogs:["posts"]};var D4=["anchor"],N4=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function qs(e){return D4.includes(e)||N4.test(e)}var jm={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"}}};jm.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var Xde=Object.fromEntries(Object.entries(Ac).map(([e,o])=>[e,Object.keys(o)])),Zde=Object.fromEntries(Object.entries(Lc).map(([e,o])=>[e,[...o]]));import{NoControlMark as z4}from"efficient-easel/screen/lib/document/panel-no-control-mark";var jC=H4(!1);function KC({children:e}){return Km(jC.Provider,{value:!0,children:e})}function G4(){return W4(jC)}function qC({name:e,children:o}){return!G4()||!e||!$4(e)||qs(e)?Km(M4,{children:o}):Km(z4,{})}function $4(e){return/^[A-Za-z0-9_$]+$/u.test(e)}var qm="off",Vm="none",Ym=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],Xm=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function nfe(e){return ao(Ym,qm,e)}function sfe(e){return ao(Xm,Vm,e)}var VC="sf-card-index",Vs="sf-card-index",lfe="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",U4={plain:`counter(${Vs})`,padded:`counter(${Vs}, decimal-leading-zero)`,numero:`"N\xB0" counter(${Vs}, decimal-leading-zero)`};function ife(e,o){return o==="off"?"":`.${e}{counter-reset:${Vs}}.${e} .${VC}{counter-increment:${Vs}}.${e} .${VC}::before{content:${U4[o]}}`}function cfe(e){return e==="hairline"?"border border-line hover:border-accent":""}var YC=[{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 Kz}from"efficient-easel/draw";import{jsx as Oo}from"react/jsx-runtime";import{SettingsDefaultReset as J4,SettingsField as Zm}from"efficient-easel/panel";import{useSelectedHost as Q4}from"efficient-easel/easel";import{FOCAL_DEFAULT as e5}from"efficient-shell/format";import{ImageIcon as Jm,PlayIcon as ZC}from"efficient-easel/icons";import{ImageFocusPoint as o5,MediaUploadField as t5}from"efficient-shell/ui";import{useContext as a5}from"react";import{ScreenDocumentContext as r5}from"efficient-easel/screen/components/ScreenDocumentContext";import{phoneKey as n5,tabletKey as JC}from"efficient-easel/draw";import{usePreviewDevice as s5}from"efficient-easel/draw/client";import{formatFocal as j4,parseFocal as K4}from"efficient-shell/format";var q4="sf-focus-phone",V4="--sf-focus-phone",Y4="sf-focus-tablet",X4="--sf-focus-tablet",Ys=e=>{if(typeof e!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(e))return null;let{x:o,y:t}=K4(e);return j4(o,t)};function XC(e,o){return Ks(Z4,null,Ys(o),Ys(e))}var Z4={tabletClass:Y4,tabletVar:X4,phoneClass:q4,phoneVar:V4};import{shownTier as Qm}from"efficient-easel/screen/lib/document/device-fields";import{onDesktopWords as l5}from"efficient-easel/screen/lib/document/box-fields";import{requestMediaPick as i5}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as c5}from"efficient-easel/screen/lib/host";import{useEaselSession as d5}from"efficient-easel/screen/lib/session-context";function f5(e,o,t,a=!0){let r=Qm(t),n=typeof e[o]=="string"&&e[o]?String(e[o]):e5;if(r==="desktop")return{ownView:!1,followed:n,followsView:"desktop",own:void 0,focus:n,key:o};let s=r==="tablet"?JC(o):n5(o),l=Ys(e[s])??void 0,c=r==="mobile"&&a?Ys(e[JC(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 u5(e,o,t){let a=Q4();if(!o||!a)return null;let r=a.values??{};if(t&&!t(r,Qm(e)))return null;let n=f5(r,o,e,t?t(r,"tablet"):!0),s=a.onChange;return{...n,set:l=>s(n.key,l),clear:()=>s(n.key,Rc)}}function QC({value:e,onChange:o,label:t,accept:a,placeholder:r,focusKey:n,focusWhen:s,frameKey:l,fieldKey:c}){let d=c5(),u=d5(),m=i(t),f=s5(),x=a.startsWith("video"),I=u5(f,x?void 0:n,s),y=!!n&&Qm(f)!=="desktop",v=a5(r5),C=eh(),S=l&&c?{video:c,frame:l}:null,g=P=>i5(d,{accept:a,title:m,...P?{file:P}:{}}).then(B=>!B||!S?B?.url??null:(C({[S.video]:B.url,[S.frame]:B.posterUrl??""}),null)),k=S?P=>P?o(P):C({[S.video]:"",[S.frame]:""}):o,T=xa(e);if(y&&(!I||!T))return null;if(v&&!v.capabilities.mediaEditing)return Oo(Zm,{label:m,icon:x?Oo(ZC,{}):Oo(Jm,{}),children:Oo("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&&T?Oo(J4,{words:ee()?.panel,label:i("Image focus"),changed:!!I.own,detail:l5(P=>i(P),I.followed,I.followsView),onReset:I.clear}):void 0;return y&&I?Oo(Zm,{label:m,icon:Oo(Jm,{}),action:F,children:Oo("div",{style:{flex:"1 1 auto",minWidth:0},children:Oo(o5,{value:I.focus,onChange:I.set,label:i("Image focus"),image:T,hint:null})})}):Oo(Zm,{label:m,icon:x?Oo(ZC,{}):Oo(Jm,{}),children:Oo("div",{style:{flex:"1 1 auto",minWidth:0},children:Oo(t5,{value:T,onChange:k,onPick:g,accept:x?"video/*":"image/*",kind:x?"video":"image",placeholder:r===void 0?void 0:i(r),maxSizeBytes:$e(u).media.maxUploadBytes,...I?{focus:I.focus,onFocusChange:I.set}:{}})})})}import{jsx as ev}from"react/jsx-runtime";import{useId as p5}from"react";import{FieldSelect as m5}from"efficient-easel/fields";import{SettingsField as h5}from"efficient-easel/panel";function x5(e){return e.map(({value:o,label:t,note:a})=>({value:o,label:t,...a?{meta:a}:{}}))}function ov({label:e,options:o,value:t,onChange:a,emptyLabel:r,icon:n,hint:s}){let l=p5(),c=`${l}-label`,d=`${l}-button`,u=Array.isArray(t)?t:[];return ev(h5,{label:i(e),labelId:c,icon:n,hint:s,children:ev(m5,{id:d,multiple:!0,value:u,options:x5(o),onChange:a,placeholder:r===void 0?i("None"):i(r),ariaLabelledBy:`${c} ${d}`,inline:!0})})}import{jsx as Je,jsxs as cr,Fragment as X5}from"react/jsx-runtime";import{useCallback as Iv,useContext as Z5,useId as yv,useRef as gv,useState as bv}from"react";import{ThemeIcon as J5}from"efficient-easel/icons";import{Button as Q5,useClickOutside as e3}from"efficient-shell/ui";import{SettingsField as o3}from"efficient-easel/panel";import{ScreenDocumentContext as t3}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as ne,jsxs as Sa,Fragment as k5}from"react/jsx-runtime";import{parseHexColor as T5}from"efficient-shell/format";import{Button as th,IconButton as P5,Tooltip as E5}from"efficient-shell/ui";import{jsx as ya,jsxs as I5}from"react/jsx-runtime";import{AccentIcon as g5}from"efficient-easel/icons";import{Button as b5,Tooltip as y5}from"efficient-shell/ui";function oh(e){return To(e).background}function S5(e){let o=ua(e.accent,oh(e));return o===null?null:{ratio:o,grade:rn(o)}}function w5(e){let o=oh(e),t=ua(e.accent,o);return t===null?[]:Uy(e.accent).filter(a=>{let r=ua(a,o);return r!==null&&r>t&&rn(r)==="good"})}var C5={good:"Easy to read","large-only":an["large-only"],hard:an.hard};function tv({value:e,onChange:o}){let t=S5(e),a=t?.grade,r=t&&t.grade!=="good"?w5(e):[];return ya(Ko,{label:i("Main color"),icon:ya(g5,{}),hint:t?i(C5[t.grade]):void 0,value:e.accent,onChange:n=>o({...e,accent:n}),children:r.length>0?ya("div",{className:"w-full min-w-0",children:I5("div",{className:"sf-readability",children:[ya("p",{className:"sf-readability-advice",children:v5(a,!0)}),ya("div",{className:"sf-readability-suggestions",children:r.map(n=>{let s=ua(n,oh(e));return ya(y5,{content:i("Use {colour}",{colour:n.toUpperCase()}),children:ya(b5,{variant:"secondary",className:"sf-readability-suggestion",leftIcon:ya("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 v5(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 O5,ChevronDownIcon as rv,ChevronUpIcon as _5,GroundIcon as R5,LayoutIcon as A5,SquareIcon as L5,TextSmallIcon as F5,TypeIcon as av}from"efficient-easel/icons";var Xs=e=>i("Theme {n}",{n:e+1});function nv({colors:e}){let o=To(e),t=vs(e)??o.accent;return Sa("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")}),Sa("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")}),Sa("span",{className:"sf-theme-row",children:[ne("span",{className:"sf-theme-btn",style:{background:t,color:gp(e,o.accent)},children:i("button")}),ne("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:i("card")})]})]})}var ah={"Text color":ne(av,{}),"Label color":ne(F5,{}),Background:ne(R5,{}),"Panels & cards":ne(A5,{}),Borders:ne(L5,{}),"Button color":ne(O5,{}),"Button text color":ne(av,{})};function B5({label:e,colorKey:o,value:t,onChange:a,idPrefix:r="sf-theme-ink"}){let n=`${r}-${o}`;return ne(Ko,{label:i(e),icon:ah[e],id:n,value:t,onChange:s=>a(o,s)})}function D5({value:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button`,n=e!==void 0&&T5(e)===e.toLowerCase(),s=n?e:o;return ne(Ko,{label:i("Button color"),icon:ah["Button color"],id:r,value:s,caption:n?s:i("Main"),onChange:t})}function N5({colors:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button-ink`,n=jy(e),s=gp(e,o),l=vs(e)??o,c=rn(ua(s,l)??0);return ne(Ko,{label:i("Button text color"),icon:ah["Button text color"],hint:n&&c!=="good"?i("{grade} on the button",{grade:i(an[c])}):void 0,id:r,value:s,caption:n?s:i("Auto"),onChange:t})}var M5=[{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 rh({colors:e,onChange:o,idPrefix:t}){let a=To(e);return ne(k5,{children:M5.map(r=>"colour"in r?ne(tv,{value:e,onChange:o},"colour"):"moduleBreak"in r?ne("div",{className:"sf-theme-module-break","aria-hidden":"true"},"module-break"):"button"in r?ne(D5,{value:e.button,accent:a.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in r?ne(N5,{colors:e,accent:a.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):ne(B5,{label:r.label,colorKey:r.key,value:a[r.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},r.key))})}function Fc({index:e,colors:o,selected:t,role:a="radio",open:r,editable:n=!0,onPick:s,onEdit:l,onChangeColors:c}){let d=To(o),u=Xs(e),m=e<Ip.length&&!o.brandInk?Ip[e]:null,f=rn(ua(d.text,d.background)??0),x=m?JSON.stringify(o)!==JSON.stringify(m):!1,I=r!==void 0;return Sa("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":u,className:"sf-theme-pick",onClick:s,children:ne(nv,{colors:o})}),Sa("div",{className:"sf-theme-foot",children:[ne("span",{className:"sf-theme-name",children:u}),f!=="good"&&ne("span",{className:"sf-theme-warn",children:i(an[f])}),n&&l&&I&&ne("span",{className:"sf-theme-edit",children:ne(E5,{content:r?i("Collapse"):i("Edit colors"),children:ne(P5,{size:"sm","aria-expanded":r,"aria-controls":`sf-theme-colours-${e}`,"aria-label":r?i("Collapse {name}",{name:u}):i("Edit colors for {name}",{name:u}),onClick:l,children:r?ne(_5,{size:14}):ne(rv,{size:14})})})}),n&&l&&!I&&ne(th,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":i("Edit {name}",{name:u}),onClick:l,children:i("Edit")})]}),r&&Sa("div",{id:`sf-theme-colours-${e}`,className:"sf-theme-colours",children:[ne(rh,{colors:o,onChange:y=>c?.(y)}),m&&ne(th,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!x,onClick:()=>c?.({...m}),children:x?i("Reset {name} to the preset",{name:u}):i("Not changed")})]})]})}function sv({colors:e,name:o,nameId:t,open:a,menuId:r,labelId:n,buttonRef:s,onClick:l,onKeyDown:c,onEdit:d}){return Sa("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(nv,{colors:e}):ne("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),Sa("div",{className:"sf-theme-foot",children:[ne("span",{id:t,className:"sf-theme-name",children:o}),d&&ne(th,{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(rv,{size:12,className:"sf-multi-caret","aria-hidden":"true"})})]})]})}import{useCallback as dh,useEffect as fv,useRef as Mc}from"react";import{currentEaselSession as z5}from"efficient-easel/screen/lib/session";import{useEaselSession as G5}from"efficient-easel/screen/lib/session-context";import{useSyncExternalStore as H5}from"react";var iv,nh=null,ir=null,Bc=0,sh=new Set;function lh(e){iv=e;for(let o of sh)o()}function ih(e){nh=e,Bc+=1,ir&&clearTimeout(ir),ir=null,lh(void 0)}function Dc(e){Bc+=1,lh(e)}function qt(e=250){nh&&(ir&&clearTimeout(ir),ir=setTimeout(()=>{ir=null;let o=nh;if(!o)return;let t=++Bc;o().then(a=>{t===Bc&&lh(a)}).catch(()=>{})},e))}function lv(){return iv}function W5(e){return sh.add(e),()=>{sh.delete(e)}}function Nc(){return H5(W5,lv,lv)}var ch=new Set;function cv(e){return ch.add(e),()=>{ch.delete(e)}}async function dv(){let e=(await Promise.allSettled([...ch].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}import{WebsiteBackendError as $5}from"efficient-easel/screen/lib/backend-error";function uv(e=z5()){return(o,t,a)=>{let r=$e(e).theme;return r?r.update(o,a?{siteId:a}:void 0):Promise.reject(new $5("invalid","This backend stores no site theme."))}}function pv(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function U5(e,o=uv()){let{themeFromDocument:t,token:a,siteId:r,patch:n}=e,s=pv({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 mn({themeFromDocument:e,tokenRef:o,siteId:t,onResult:a}){let r=Mc(null),n=Mc({}),s=G5(),l=Mc(a);l.current=a;let c=Mc(null),d=dh(f=>{if(f.status==="skipped"){let x=`skipped:${f.reason}`;if(c.current===x)return;c.current=x}else c.current=null;l.current?.(f)},[]),u=dh(async()=>{r.current&&(clearTimeout(r.current),r.current=null);let f=n.current;n.current={};let x=await U5({themeFromDocument:e,token:o?.current,siteId:t,patch:f},uv(s));return d(x),x.status==="saved"&&qt(),x.status==="failed"&&(n.current={...f,...n.current}),x},[e,o,t,d,s]),m=dh((f,x=!1)=>{let I=pv({themeFromDocument:e,token:o?.current});if(I){d(I);return}n.current={...n.current,...f},r.current&&clearTimeout(r.current),x?u():r.current=setTimeout(()=>{u()},500)},[e,o,u,d]);return fv(()=>()=>{u()},[u]),fv(()=>cv(async()=>{if(!r.current&&Object.keys(n.current).length===0)return;let f=await u();if(f.status==="failed")throw f.error}),[u]),{persist:m,flush:u}}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}],j5=fh.filter(e=>e.ink);function K5(e){let o={color:e.fg};for(let{role:t,token:a}of j5)o[a]=e[t];return o}var q5={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},mv=Object.freeze(K5(q5));var wa=-1,V5="sf-section-accent",hv="Color",xv=new Set(["CategoryBar","DocTabs"]),gue=new Set(["Flex"]),uh=0;function ft(e){return e===wa?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:uh}function ph(e){return e??wa}function Y5(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 bue(e){let o=ft(e.sectionAccent);return o===null?null:{className:V5,style:Y5(o)}}var a3="Follow the page",Lue="Follow the slideshow",r3=e=>i("Editing {name} changes it everywhere.",{name:e});function n3({colors:e}){if(!e)return Je("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=To(e);return cr("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[Je("i",{style:{background:o.background}}),Je("i",{className:"sf-secttheme-chip-accent",style:{background:o.accent}})]})}function s3({themes:e,value:o,onPick:t,onEdit:a,menuId:r,followLabel:n}){return cr("div",{className:"sf-multi-menu sf-secttheme-menu",id:r,role:"listbox",children:[n!==void 0&&cr(X5,{children:[cr("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(wa),children:[Je(n3,{}),Je("span",{className:"sf-secttheme-name",children:i(n)})]}),Je("div",{className:"sf-secttheme-sep",role:"presentation"})]}),o!==null&&e[o]&&Je("p",{className:"sf-secttheme-oncard",role:"presentation",children:i("{name} is on this section",{name:Xs(o)})}),e.map((s,l)=>l===o?null:Je(Fc,{role:"option",index:l,colors:s,selected:!1,onPick:()=>t(l),onEdit:()=>a(l)},l))]})}function l3({index:e,colors:o,onChange:t,onDone:a}){let r=Xs(e),n=yv();return cr("div",{className:"sf-secttheme-sheet",children:[cr("div",{className:"sf-secttheme-sheet-head",children:[Je("span",{children:r}),Je(Q5,{variant:"secondary",className:"sf-secttheme-done",onClick:a,children:i("Done")})]}),Je("div",{className:"sf-secttheme-rows",children:Je(rh,{colors:o,onChange:t,idPrefix:n})}),Je("p",{className:"sf-secttheme-warn",children:r3(r)})]})}function Sv({value:e,onChange:o,followLabel:t,hint:a}){let{theme:r,setTheme:n}=ue(),s=io(r),l=Z5(t3),c=l?.tokenRef,d=l?.siteId??null,u=!l?.capabilities?.hasSiteTheme,{persist:m,flush:f}=mn({themeFromDocument:u,tokenRef:c,siteId:d}),x=io(s),I=x.themes,y=ft(e),v=y!==null?I[y]:void 0,C=v??(I.length?tn(x):void 0),[S,g]=bv(!1),[k,T]=bv(null),F=gv(null),P=gv(null),B=yv(),E=Iv(()=>{g(!1),T(null)},[]),R=Iv(()=>{!S&&k===null||(f(),E())},[S,k,E,f]);e3(F,R);let N=_=>{o(_),E()},b=_=>{if(k===null)return;let L=I.map((Z,V)=>V===k?_:Z),H={...x,themes:L};n(H),m({selected_preset:H.selected,theme_presets:H.themes})};return cr("div",{className:"sf-secttheme",ref:F,children:[Je(o3,{label:i("Theme"),icon:Je(J5,{}),labelId:`${B}-label`,hint:a,children:Je(sv,{colors:C,onEdit:y!==null?()=>{T(y),g(!1)}:void 0,name:v?Xs(y):i(t??a3),nameId:`${B}-value`,labelId:`${B}-label`,open:S,menuId:B,buttonRef:P,onClick:()=>{T(null),g(_=>!_)},onKeyDown:_=>{_.key==="Escape"&&(S||k!==null)&&(_.preventDefault(),E())}})}),S&&k===null&&Je("div",{onKeyDown:_=>{_.key==="Escape"&&(_.preventDefault(),E(),P.current?.focus())},children:Je(s3,{themes:I,value:y,onPick:N,onEdit:_=>{T(_),g(!1)},menuId:B,followLabel:t})}),k!==null&&I[k]&&Je(l3,{index:k,colors:I[k],onChange:b,onDone:()=>{f(),E(),P.current?.focus()}})]})}import{jsx as wv}from"react/jsx-runtime";import{useId as i3}from"react";import{FieldSelect as c3}from"efficient-easel/fields";import{SettingsField as d3}from"efficient-easel/panel";function f3(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 Wue({label:e,options:o,fallback:t,value:a,onChange:r,placeholder:n,bare:s=!1,icon:l}){let c=i3(),d=`${c}-label`,u=`${c}-button`,m=a??"",f=o.some(v=>v.value===m)?m:t,x=i(e),I=n===void 0?void 0:i(n),y=wv(c3,{id:u,value:f,options:f3(o),onChange:r,placeholder:I,searchPlaceholder:I,...s?{ariaLabel:x}:{ariaLabelledBy:`${d} ${u}`},searchable:!0,groupCount:!0,inline:!0});return s?y:wv(d3,{label:x,labelId:d,icon:l,children:y})}import{jsx as fr,jsxs as U3}from"react/jsx-runtime";import{SettingsField as Kv}from"efficient-easel/panel";import{LinkIcon as j3}from"efficient-easel/icons";import{LinkPicker as K3,TextLinkField as q3}from"efficient-shell/ui";import{useEffect as jv,useMemo as Gc,useRef as V3,useState as zc}from"react";import{currentEaselSession as u3}from"efficient-easel/screen/lib/session";function Cv(){return u3().auth.token}import{currentEaselSession as Y3}from"efficient-easel/screen/lib/session";import{useScreenDocument as X3}from"efficient-easel/screen/components/ScreenDocumentContext";var p3=()=>({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 vv(e,o,t){if(!e)return"page";if(vC(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(PC(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 mh(e,o){let t=p3(),a=e.pages.map(u=>({value:js(u.slug),label:u.title})),r=o?.pageOptions?o.pageOptions(a):a,n=r.map(u=>u.value),s=e.pages.map(u=>({label:u.title,options:TC(...u.docs).map(m=>({value:Cc(u.slug,m.slug),label:m.name}))})).filter(u=>u.options.length>0),l=u=>{switch(u){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:kC(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:CC(m.slug),label:m.title||m.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},c=wC(e.offers).map(u=>({value:u.value,label:i(u.label),target:l(u.value),...u.value==="anchor"?{hint:t.sectionHint}:{},...u.value==="blog"||u.value==="product"||u.value==="popup"?{hideWhenEmpty:!0}:{}}));if(!o)return{kinds:c,rules:{kindOf:u=>vv(u,n),targetOf:u=>u,readFilter:()=>null,withFilter:u=>u}};let d=u=>{let m=o.withFilter(u,null);return o.listingPaths.includes(m)?m:u};return{kinds:c,rules:{kindOf:u=>vv(u,n,{listingPaths:o.listingPaths,targetOf:d}),targetOf:d,readFilter:o.readFilter,withFilter:o.withFilter},filtersFor:u=>o.listingPaths.includes(u)?o.filtersFor(u):null}}import{useEaselSession as Z3}from"efficient-easel/screen/lib/session-context";var K=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 J(t)??o}return o}function kv(e,o){return K(e)??o}function Vt(e,o){return typeof e=="boolean"?e:o}function Hc(e,o){if(!Array.isArray(e))return o;let t=e.map(a=>typeof a=="string"?a:fo(a?.text,"")).map(a=>a.trim()).filter(Boolean);return t.length?t:o}var Pv=["delay","scroll","exit"],Ev=["all","chosen","except"],Ov=["visit","days","never","once"],m3=["all","desktop","phone"],h3=["stop","continue"],_v={min:0,max:60},Rv={min:10,max:90},Av={min:1,max:90},ut={autoOpen:!1,trigger:"delay",autoOpenDelaySec:15,scrollPercent:50,showOn:"all",showOnPages:[],devices:"all",hideAfter:"days",hideDays:7,afterSubmit:"stop",startDate:null,endDate:null};function No(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function hn(e,o,t){let a=kv(e,t);return Math.min(o.max,Math.max(o.min,Math.round(a)))}function x3(e){return typeof e.hideAfter=="string"?No(Ov,e.hideAfter,ut.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":ut.hideAfter}function I3(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function Tv(e){if(typeof e!="string")return null;let o=e.trim();return/^\d{4}-\d{2}-\d{2}$/.test(o)?o:null}function Lv(e){let o=e??{},t=ut;return{autoOpen:Vt(o.autoOpen,t.autoOpen),trigger:No(Pv,o.trigger,t.trigger),autoOpenDelaySec:hn(o.autoOpenDelaySec,_v,t.autoOpenDelaySec),scrollPercent:hn(o.scrollPercent,Rv,t.scrollPercent),showOn:No(Ev,o.showOn,t.showOn),showOnPages:I3(o.showOnPages),devices:No(m3,o.devices,t.devices),hideAfter:x3(o),hideDays:hn(o.hideDays,Av,t.hideDays),afterSubmit:No(h3,o.afterSubmit,t.afterSubmit),startDate:Tv(o.startDate),endDate:Tv(o.endDate)}}import{parseHexColor as g3}from"efficient-shell/format";var pt="#000000";var hh="popup",b3=cn,y3=["auto","full"],S3=["inside","outside","none"],w3={min:240,max:1440},C3={min:0,max:100},Zs={placement:"center",fullWidth:!1,width:720,height:"auto",tintColor:pt,tintOpacity:60,outsideClick:!0,closeButton:"inside"};function v3(e,o){let t=typeof e=="string"?e.trim():"";return t&&g3(t)===t.toLowerCase()?t:o}function xh(e,o=Zs){let t=e??{},a=o;return{placement:No(b3,t.placement,a.placement),fullWidth:Vt(t.fullWidth,a.fullWidth),width:hn(t.width,w3,a.width),height:No(y3,t.height,a.height),tintColor:v3(t.tintColor,a.tintColor),tintOpacity:hn(t.tintOpacity,C3,a.tintOpacity),outsideClick:Vt(t.outsideClick,a.outsideClick),closeButton:No(S3,t.closeButton,a.closeButton)}}var Fv="cart-drawer",cpe="cart-drawer",k3={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 dpe(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function fpe(e){let o=e??{},t=k3;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:Hc(o.promises,t.promises),emptyKicker:fo(o.emptyKicker,t.emptyKicker),emptyBody:fo(o.emptyBody,t.emptyBody)}}var T3=["right","left"],P3={...Zs,width:520,tintOpacity:68};function upe(e){let o=e??{};return{...xh(o,P3),placement:No(T3,o.placement,"right"),height:"full",fullWidth:!1,autoOpen:Vt(o.autoOpen,!0)}}var Dv="consent-banner",xpe="consent-banner";var E3=[{value:"bar",label:"Bar"},{value:"card",label:"Card"}],Ipe="Layout",Bv={layout:"bar"},O3=e=>E3.some(o=>o.value===e);function gpe(e){let o=fo((e??{}).layout,Bv.layout);return{layout:O3(o)?o:Bv.layout}}var bpe={...Zs,placement:"bottom-center",fullWidth:!0,width:440,tintOpacity:0,outsideClick:!1,closeButton:"none"};var _3="consentWords",R3=["eyebrow","notice","accept","reject","choose"];function Ih(e){let o=(e??{})[_3];return typeof o=="string"&&R3.includes(o)?o:null}function gh(e){let o=e?.props;return o?Ih(o)!==null?!0:Object.values(o).some(t=>Array.isArray(t)&&t.some(a=>a&&typeof a=="object"&&"props"in a&&gh(a))):!1}var A3=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],wpe={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"},L3={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"},Cpe={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 Nv(e){let o={};for(let t of A3){let a=Ut(e[L3[t]]);a&&(o[t]=a)}return o}var Mv={heading:"Join our email list",placeholder:"Email address",buttonLabel:"Subscribe"},F3={lead:"We accept"},Hv={...F3,methods:[],size:"sm",align:"start",dataSource:TS},mt="site-footer";var Tpe=mt,Ppe={desktop:!0,tablet:!0,mobile:!0},Epe={desktop:!1,tablet:!1,mobile:!1},bh=1,Wv=6,Ope=Array.from({length:Wv-bh+1},(e,o)=>bh+o),Wc={desktop:6,tablet:3,mobile:2},B3={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}},dr=e=>Math.min(Math.max(Math.round(e),bh),Wv);function _pe(e){if(typeof e=="number")return B3[dr(e)]??{desktop:dr(e),tablet:dr(e),mobile:dr(e)};if(e&&typeof e=="object"){let o=e;return{desktop:dr(o.desktop??Wc.desktop),tablet:dr(o.tablet??Wc.tablet),mobile:dr(o.mobile??Wc.mobile)}}return{...Wc}}var yh="subscribe-popup",Mpe="subscribe-popup",D3=[yh,mt,Fv,Dv];function Gv(e){return D3.includes(e)}var N3=["right","left"],M3={metaLabel:"Meta label",issueLabel:"Label",issueNumber:"00",kicker:"Kicker",heading:`Main heading
|
|
55
|
+
*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:ut.autoOpen,autoOpenDelaySec:ut.autoOpenDelaySec,formSlug:"",trigger:ut.trigger,scrollPercent:ut.scrollPercent,showOn:ut.showOn,showOnPages:[],hideAfter:ut.hideAfter,hideDays:ut.hideDays,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},Ue=fo,H3=Vt,$v=Hc;function zv(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 W3(e,o){return Array.isArray(e)?$v(e,[]):o}function z3(e,o){return Array.isArray(e)?e.map(t=>{let a=t??{};return{label:Ue(a.label,""),value:Ue(a.value,"")}}).filter(t=>t.label||t.value):o}function Wpe(e){let o=e??{},t=M3,a=Lv(o);return{metaLabel:Ue(o.metaLabel,t.metaLabel),issueLabel:zv(o.issueLabel,t.issueLabel),issueNumber:zv(o.issueNumber,t.issueNumber),kicker:Ue(o.kicker,t.kicker),heading:Ue(o.heading,t.heading),deck:Ue(o.deck,t.deck),stats:z3(o.stats,t.stats),formLabel:Ue(o.formLabel,t.formLabel),formHeading:Ue(o.formHeading,t.formHeading),formIntro:Ue(o.formIntro,t.formIntro),firstNameLabel:Ue(o.firstNameLabel,t.firstNameLabel),firstNamePlaceholder:Ue(o.firstNamePlaceholder,t.firstNamePlaceholder),emailLabel:Ue(o.emailLabel,t.emailLabel),emailPlaceholder:Ue(o.emailPlaceholder,t.emailPlaceholder),interestsLabel:Ue(o.interestsLabel,t.interestsLabel),interests:$v(o.interests,t.interests),frequencyLabel:Ue(o.frequencyLabel,t.frequencyLabel),frequencies:W3(o.frequencies,t.frequencies),submitText:Ue(o.submitText,t.submitText),finePrint:Ue(o.finePrint,t.finePrint),dismissText:Ue(o.dismissText,t.dismissText),emailInvalidText:Ue(o.emailInvalidText,t.emailInvalidText),submitErrorText:Ue(o.submitErrorText,t.submitErrorText),successHeading:Ue(o.successHeading,t.successHeading),successBody:Ue(o.successBody,t.successBody),keepBrowsingText:Ue(o.keepBrowsingText,t.keepBrowsingText),formSlug:typeof o.formSlug=="string"?o.formSlug.trim():t.formSlug,autoOpen:a.autoOpen,autoOpenDelaySec:a.autoOpenDelaySec,trigger:a.trigger,scrollPercent:a.scrollPercent,showOn:a.showOn,showOnPages:a.showOnPages,hideAfter:a.hideAfter,hideDays:a.hideDays,formSide:No(N3,o.formSide,t.formSide),valuePanelOnPhone:H3(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:Nv(o)}}function G3(e,o=Math.random){for(;;){let t=`popup-${Math.floor(o()*2176782336).toString(36).padStart(6,"0")}`;if(!e.has(t))return t}}function $3(e){return{root:{props:{title:e,kind:hh}},content:[],zones:{}}}function Uv(e,o,t){return{slug:G3(o,t),title:e,kind:wm,layout:$3(e)}}function Js(e){return e?.root?.props?.kind===hh}function qv(e){let o=new Map;return(t="")=>{let a=Cv(),r=o.get(t);if(!r||r.token===null&&a!==null){let n=a||!Y3().usesBridgedToken?e(a??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:a}),n}return r.promise}}var J3=qv(async(e,o)=>{let t=o?{siteId:o}:void 0,{pages:a}=$e();return a.linkTargets?a.linkTargets(t):(await a.list(t)).map(r=>({id:r.id,slug:r.slug,label:r.label,layout:null}))}),Q3=qv(async(e,o)=>await $e().blog?.posts(o?{siteId:o}:void 0)??[]);function e6({value:e,onChange:o,label:t="Link",data:a,filters:r}){let n=Gc(()=>mh(a,r),[a,r]),s=i(t);return fr(Kv,{label:s,icon:fr(j3,{}),children:fr(K3,{value:e,onChange:l=>o(l),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function Vv(){let{siteId:e,capabilities:o}=X3(),{offersCommerce:t,hasBlog:a}=o,[r,n]=zc([]),[s,l]=zc([]),[c,d]=zc([]),[u,m]=zc(null),f=Z3().chrome,x=f?.products?.list,I=f?.linkFilters,y=I?void 0:f?.linkRow,v=V3(!0);jv(()=>(v.current=!0,()=>{v.current=!1}),[]),jv(()=>{let g=!0;return J3(e??void 0).then(k=>g&&v.current&&n(k)),a&&Q3(e??void 0).then(k=>g&&v.current&&l(k)),t&&x?.().then(k=>g&&v.current&&d(k)),t&&I?I.load(e).catch(()=>null).then(k=>g&&v.current&&m(()=>k)):m(null),()=>{g=!1}},[e,t,a,x,I]);let C=Gc(()=>({pages:r.filter(g=>!Gv(g.slug)&&!Js(g.layout)).map(g=>({slug:g.slug,title:g.label,docs:[g.layout]})),popups:r.filter(g=>g.slug===yh||Js(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=Gc(()=>u?u(C.pages):null,[u,C]);return{data:C,filters:S,pages:r,offersCommerce:t,HostLinkRow:y}}function sme({label:e,icon:o,text:t,onTextChange:a,link:r,onLinkChange:n}){let{data:s,filters:l}=Vv(),c=Gc(()=>mh(s,l),[s,l]),d=i(e);return fr(Kv,{label:d,icon:o,children:fr(q3,{label:d,text:t,onTextChange:a,link:r,onLinkChange:u=>n(u),kinds:c.kinds,rules:c.rules,filtersFor:c.filtersFor})})}function Yv({value:e,onChange:o,label:t="Link"}){let a=typeof e=="string"?e:"",{data:r,filters:n,pages:s,offersCommerce:l,HostLinkRow:c}=Vv(),d=r.pages.map(m=>js(m.slug)),u=l&&c&&(a==="/"||d.includes(a))?c:void 0;return U3("div",{children:[fr(e6,{value:a,onChange:o,label:t,data:r,filters:n}),u&&fr(u,{value:a,onChange:o,pages:s})]})}import{UiIcon as Jk}from"efficient-easel/draw/client";import{phoneKey as Qs,resolveViewValue as o6,tabletKey as el}from"efficient-easel/draw";import{SECTION_PAD_UNIT_KEY as t6,convertLength as a6,isLengthUnit as Zv,sideLengthAt as r6,withLength as Sh}from"efficient-easel/screen/lib/content/length-units";var qo={min:10,max:200,step:10};function n6(e,o,t,a=0){let r=K(e),n=K(o);if(r===void 0&&n===void 0)return;let s=$c(t),l=c=>c===void 0?void 0:s==="px"?c:Sh(c,s,a);return{paddingTop:l(r),paddingBottom:l(n)}}var $c=e=>Zv(e)?e:"px",s6="sf-pad-top-phone",l6="sf-pad-bottom-phone",i6="--sf-pad-t-phone",c6="--sf-pad-b-phone",d6="sf-pad-left-phone",f6="sf-pad-right-phone",u6="--sf-pad-l-phone",p6="--sf-pad-r-phone",m6="sf-pad-top-tablet",h6="sf-pad-bottom-tablet",x6="sf-pad-left-tablet",I6="sf-pad-right-tablet",g6="--sf-pad-t-tablet",b6="--sf-pad-b-tablet",y6="--sf-pad-l-tablet",S6="--sf-pad-r-tablet";function jc(e){let o={desktop:e.unit,tablet:e.unitTablet,phone:e.unitPhone},t=n6(e.top,e.bottom,e.unit,e.frame),a=wh({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 w6=[["top","paddingTop",[m6,g6],[s6,i6]],["bottom","paddingBottom",[h6,b6],[l6,c6]],["left","paddingLeft",[x6,y6],[d6,u6]],["right","paddingRight",[I6,S6],[f6,p6]]];function ume(e,o,t){return!Zv(o)||o==="px"?e:a6(e,"px",o,t,{min:0,max:qo.max,step:1})}function C6(e,o,t,a={},r=0){let n=(x,I)=>{if(I==="px")return`${x}px`;let y=Sh(x,I,r);return typeof y=="number"?`${y}px`:y},s={n:e,[el("n")]:o,[Qs("n")]:t,u:a.desktop,[el("u")]:a.tablet,[Qs("u")]:a.phone},l=o6("spacing",e,o,t,Qa()),c=(x,I,y)=>{let v=r6(s,{side:"n"},"u",x,"side");if(!v)return;let C=I!==null&&!y&&v.unit==="px"&&typeof l[I]=="number";return n(C?l[I]:v.value,v.unit)},d=c("desktop",null,!0),u={},m=c("tablet","tablet",o!==void 0);m!==void 0&&(o!==void 0||m!==d)&&(u.tablet=m);let f=c("mobile","phone",t!==void 0);return f!==void 0&&(t!==void 0||f!==d)&&(u.phone=f),u}function wh(e,o,t={},a=e,r={},n=0){let s={},l={},c=[];for(let[d,u,...m]of w6){let f=K(e[d]),x=d==="top"||d==="bottom"?n:0;f!==void 0&&(s[u]=$c(r.desktop)==="px"?f:Sh(f,$c(r.desktop),x));let I=C6(K(a[d]),K(t[d]),K(o[d]),r,x);for(let[y,[v,C]]of[["tablet",m[0]],["phone",m[1]]]){let S=I[y];S!==void 0&&(c.push(v),l[C]=S)}}return{classes:c,style:{...s,...l}}}function Xv(e,o,t){let a=K(e)??t,r=K(o);return a===void 0?r:r===void 0?a:a+r}function Kc(e,o={}){return{top:Xv(e.padTop,e.sectionPaddingTop,o.top),bottom:Xv(e.padBottom,e.sectionPaddingBottom,o.bottom)}}var Uc={top:"sectionPaddingTop",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft",right:"sectionPaddingRight"};function Jv(e,o=Uc,t=!0,a=o===Uc?t6:void 0){let r={};a&&(e[a]!==void 0&&(r.unit=e[a]),e[el(a)]!==void 0&&(r.unitTablet=e[el(a)]),e[Qs(a)]!==void 0&&(r.unitPhone=e[Qs(a)]));for(let n of t?["top","bottom","left","right"]:["top","bottom"])r[n]=e[o[n]],r[`${n}Tablet`]=e[el(o[n])],r[`${n}Phone`]=e[Qs(o[n])];return r}function Qv(e){return jc(e)}function ek(e,o){let t=(a,r)=>typeof a!="number"?void 0:$c(r)==="px"?a+o:a;return jc({...e,frame:o,top:t(e.top,e.unit),bottom:t(e.bottom,e.unit),topTablet:t(e.topTablet,e.unitTablet),bottomTablet:t(e.bottomTablet,e.unitTablet),topPhone:t(e.topPhone,e.unitPhone),bottomPhone:t(e.bottomPhone,e.unitPhone)})}import{BUTTON_PAD_KEYS as qc,buttonBorderOf as v6,buttonFillOpacityOf as k6,buttonPadSidesOf as T6}from"efficient-easel/draw";import{BUTTON_PAD_UNIT_KEY as Ch}from"efficient-easel/screen/lib/content/length-units";var P6="px-6 py-4",E6=4,Vc=e=>{let o=new RegExp(`\\bp${e}-(?:\\[(\\d+)px\\]|(\\d+))`).exec(P6);if(!o)throw new Error(`BUTTON_PAD_CLASSES has no p${e}`);return o[1]!==void 0?Number(o[1]):Number(o[2])*E6},yme={top:Vc("y"),right:Vc("x"),bottom:Vc("y"),left:Vc("x")},tk="var(--btn)";function O6(e){let o=e.variant==="ghost",t=k6(e.buttonFillOpacity),a=v6(e.buttonBorder),r=J(e.buttonColor);return{fillOpacity:t??(o?0:100),border:{width:a?.width??1,color:a?.color??r??(o?"currentColor":tk)},changed:t!==void 0||a!==void 0}}function Sme(e){let o=O6(e);if(!o.changed)return null;let t=J(e.buttonColor)??tk;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 _6="var(--sf-button-radius, 0)";function wme(e){let o=K(e.buttonCorners),t=Lt(e.buttonCornerSides);if(o===void 0&&t===null)return null;let a=o===void 0?_6:`${Math.max(0,o)}px`;return{borderRadius:t===null?a:rr(a,t)}}function Cme(e){let o=n=>T6({top:e[`${qc.top}${n}`],right:e[`${qc.right}${n}`],bottom:e[`${qc.bottom}${n}`],left:e[`${qc.left}${n}`]})??{},t={desktop:e[Ch],tablet:e[`${Ch}Tablet`],phone:e[`${Ch}Phone`]},{classes:a,style:r}=wh(o(""),o("Phone"),o("Tablet"),void 0,t);return Object.keys(r).length?{className:a.join(" "),style:r}:null}var ok="upper";function ak(e,o,t){let a=e&&typeof e=="object"?e:{},r=J(a.textStyle),n=r?J(o?.find(u=>u?.id===r)?.name):void 0,s=r?/^(heading|body)-(\d+)$/.exec(r):null,l=r?n||(s?t.styleName({kind:s[1],n:Number(s[2])}):r):t.noStyle,{cases:c}=t,d=J(a.case)??ok;return`${l} \xB7 ${c[d]??c[ok]}`}import{usePreviewParts as qz}from"efficient-easel/draw/client";import{encodePartId as Vz}from"efficient-easel/draw";import{DEFAULT_EASEL_STRINGS as Yz,useEaselStrings as Xz}from"efficient-easel/strings";import{LENGTH_UNITS as R6}from"efficient-easel/screen/lib/content/length-units";var A6=["auto","fixed","screen"],L6=R6.filter(e=>e==="px"||e==="%"),F6="svh",B6="vh",D6="var(--sf-header-h, 88px)",vh={min:40,max:2e3,step:10,fallback:600},kh={min:10,max:200,step:5,fallback:100},N6="sf-section-minh",Yc="grid-cols-[minmax(0,1fr)]",rk={base:"--sf-section-minh",small:"--sf-section-minh-s"},Th=e=>typeof e=="string"&&A6.includes(e),M6=e=>typeof e=="string"&&L6.includes(e);function ol(e){let o=Th(e.sectionHeightMode)?e.sectionHeightMode:"auto",t=o==="screen"?"%":M6(e.sectionHeightUnit)?e.sectionHeightUnit:"px",a=o==="screen"?kh.fallback:vh.fallback,r=typeof e.sectionHeightValue=="number"?e.sectionHeightValue:a;return{mode:o,value:r,unit:t}}function lk(e){let{mode:o,value:t,unit:a}=ol(e);if(o==="auto")return;if(o==="fixed"&&a==="px")return[`${t}px`,null];let r=t/100,n=s=>o==="screen"?`(100${s} - ${D6})`:`100${s}`;return[`calc(${n(B6)} * ${r})`,`calc(${n(F6)} * ${r})`]}function ik(e){let o=lk(e);if(!o)return;let[t,a]=o;return{display:"grid",[rk.base]:t,...a?{[rk.small]:a}:{}}}var Tme=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),xn="Height",ck="sf-section-minh-phone",nk={base:"--sf-section-minh-p",small:"--sf-section-minh-ps"};function Ph(e){return Th(e.sectionHeightModePhone)}function Pme(e){return ol({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone})}var dk="sf-section-minh-tablet",sk={base:"--sf-section-minh-t",small:"--sf-section-minh-ts"};function tl(e){return Th(e.sectionHeightModeTablet)}function fk(e){return ol({sectionHeightMode:e.sectionHeightModeTablet,sectionHeightValue:e.sectionHeightValueTablet,sectionHeightUnit:e.sectionHeightUnitTablet})}function uk(e){let o=ik(e),t=(l,c,d)=>lk({sectionHeightMode:l,sectionHeightValue:c,sectionHeightUnit:d})??(o?["auto",null]:void 0),a=tl(e)?t(e.sectionHeightModeTablet,e.sectionHeightValueTablet,e.sectionHeightUnitTablet):void 0,r=Ph(e)?t(e.sectionHeightModePhone,e.sectionHeightValuePhone,e.sectionHeightUnitPhone):a;if(!o&&!a&&!r)return null;let n=[N6,Yc],s={...o??{}};return a&&(n.push(dk),s[sk.base]=a[0],a[1]&&(s[sk.small]=a[1])),r&&(n.push(ck),s[nk.base]=r[0],r[1]&&(s[nk.small]=r[1])),{className:n.join(" "),style:s}}function Eme(e){return uk(e)!==null}var H6=`grid ${Yc}`,pk="h-full",W6="view-tablet:max-view-desktop:grid",mk="max-view-tablet:grid",z6=`${mk} ${Yc}`;function hk(e){let o=uk(e);if(!o)return"";if(ik(e))return H6;let t=o.className.split(" ");if(!t.includes(dk))return z6;let a=t.includes(ck);return[W6,a?mk:"",Yc].filter(Boolean).join(" ")}var Xc="Stick to top",Ca={min:0,max:200,step:4,fallback:0},G6="sf-section-stick",Rme="sf-scroll-over",$6="sf-section-stick-tablet-on",U6="sf-section-stick-tablet-off",j6="sf-section-stick-phone-on",K6="sf-section-stick-phone-off",Eh={desktop:"--sf-stick-distance",tablet:"--sf-stick-distance-tablet",phone:"--sf-stick-distance-phone"},Ame=new Set(["CategoryBar","DocTabs","IntroBleed","Contents"]);function Oh(e){let o=K(e)??Ca.fallback;return Math.min(Ca.max,Math.max(Ca.min,Math.round(o)))}function _h(e){return typeof e.stickTopTablet=="boolean"}function Rh(e){return typeof e.stickTopPhone=="boolean"}function Zc(e){let o=e.stickTop===!0,t=Oh(e.stickTopDistance),a=_h(e),r=a?e.stickTopTablet===!0:o,n=a?Oh(e.stickTopDistanceTablet):t,s=Rh(e),l=s?e.stickTopPhone===!0:r,c=s?Oh(e.stickTopDistancePhone):n;return{desktop:o,desktopDistance:t,tablet:r,tabletDistance:n,ownTablet:a,phone:l,phoneDistance:c,ownPhone:s}}function Lme(e){let o=Zc(e);if(!o.desktop&&!o.tablet&&!o.phone)return null;let t=[G6],a={};return o.desktop&&(a[Eh.desktop]=`${o.desktopDistance}px`),o.ownTablet&&(t.push(o.tablet?$6:U6),o.tablet&&(a[Eh.tablet]=`${o.tabletDistance}px`)),(o.ownPhone||o.ownTablet||o.phone!==o.desktop)&&(t.push(o.phone?j6:K6),o.phone&&(a[Eh.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:a}}var q6=["column","row","tabs","accordion"];var V6={column:"Stacked",row:"One row",tabs:"Tabs",accordion:"Accordion"},xk={Flex:q6,HeroGroup:["column","row"]},Y6={Flex:"row",HeroGroup:"column"},X6={column:"flex-col",row:"flex-row",tabs:"flex-col",accordion:"flex-col"};function In(e,o){return xk[e].includes(o)?o:Y6[e]}function Bme(e,o){return X6[In(e,o)]}function Ik(e){return xk[e].map(o=>({label:V6[o],value:o}))}var Z6=["solid","dashed","dotted"],bk=["top","right","bottom","left"],yk="sf-section-border",Sk="sf-section-border-self",J6=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,gk=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function gn(e,{phone:o=!1,tablet:t=!1}={}){if(!e||typeof e!="object")return;let a=o?"-phone":t?"-tablet":"",r={};for(let n of bk){let s=gk(e[n])??gk(e.width);s!==void 0&&(r[`--sf-border-${n}-width${a}`]=s)}return typeof e.style=="string"&&Z6.includes(e.style)&&(r[`--sf-border-style${a}`]=e.style),typeof e.color=="string"&&J6.test(e.color)&&(r[`--sf-border-color${a}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function Ah(e){let{width:o,...t}=e;return typeof o!="number"?e:{...t,...Object.fromEntries(bk.map(a=>[a,t[a]??o]))}}function Nme(e,o,t){let a=gn(e),r=gn(t,{tablet:!0}),n=gn(t,{phone:!0})||gn(o,{phone:!0})?{...gn(t,{phone:!0}),...gn(o,{phone:!0})}:void 0;return a||r||n?{...a,...r,...n}:void 0}var Jc="sf.gapContainer",Yt={min:-32,max:64,step:2},kk={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},bn={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},Q6=new Set(["Events","GalleryB"]);function pr(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=Yt.min)return o;if(typeof o=="string"){let a=kk[e]?.[o];if(typeof a=="number")return a}return typeof t=="number"&&Number.isFinite(t)?t:bn[e]}var eW="sf-gap-overlap",oW="--sf-gap-overlap",Tk="--sf-block-gap",tW="--sf-block-gap-rem",ur={min:0,max:Yt.max,step:Yt.step};function al(e){if(typeof e!="number"||!Number.isFinite(e))return null;let o=Math.min(Math.max(Math.round(e),ur.min),ur.max);return o-o%ur.step}function Hme(e){let o=al(e);return o===null?{}:{[Tk]:`${o}px`,[tW]:`${o/16}rem`}}var aW="--sf-block-gap-phone",rW="--sf-block-gap-phone-rem",nW="--sf-block-gap-on-phone",sW="max-view-tablet:[--sf-block-gap-on-phone:var(--sf-block-gap-phone)]";function Wme(e){let o=al(e);return o===null?{}:{[aW]:`${o}px`,[rW]:`${o/16}rem`}}function zme(e){return al(e)===null?"":sW}var wk="sf-gap-zone",Ck="--sf-gap-len";function Qc(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=Yt.min?!0:typeof o=="string"&&typeof kk[e]?.[o]=="number"}var vk="--sf-gap-len-phone",lW="--sf-gap-len-tablet",rl={min:0,max:Yt.max,step:Yt.step};function va(e){return typeof e=="number"&&Number.isFinite(e)&&e>=rl.min}function Lh(e){return e/2}function Fh(e,o,t){return va(t)&&!Qc(e,o)}function Bh(e,o,t,a,r){return va(o)?o:Fh(e,t,r)?r:Lh(pr(e,t,a))}var iW={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function Gme(e,o,t,a,r){let n={...va(a)?{[vk]:`${a}px`}:null,...va(r)?{[lW]:`${r}px`}:null};if(!Qc(e,o)){let l=`${bn[e]}px`,c=Q6.has(e)?`var(--sf-card-gap, ${l})`:l;return{className:` ${wk}`,style:{[Ck]:`var(${Tk}, ${c})`,[vk]:`var(${nW})`,...n}}}let s=pr(e,o);return s>=0?{className:` ${wk}`,style:{[Ck]:`${s}px`,...n}}:{className:` ${eW} ${iW[t]}`,style:{gap:"0px",[oW]:`${-s/2}px`}}}import{parseHexColor as cW}from"efficient-shell/format";var go="var(--section-bg)",Dh="inherit";function Ft(e,o){return e===Dh?go:e===void 0?o:ed(e)}var dW=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function ed(e){return e.replace(dW,"var(--site-$1")}var fW={"var(--section-bg)":"band","var(--site-surface)":"surface","var(--site-surface-2)":"surface2"};function Nh(e,o,t){let a=Ft(e,o);if(!a||a==="transparent")return t.background.toLowerCase();let r=a.trim(),n=r.startsWith("#")?cW(r):null;if(n)return n.toLowerCase();let s=fW[r.replace(/\s+/g,"")];return(s?t[s]:t.background).toLowerCase()}var Mh="transparent";function Pk(e,o){let t=Ft(e,o);return!t||t===Mh?"none":t===go?"band":null}function Ek(e,o,t=o){let a=n=>!n||n==="transparent",r=Ft(e,o);return r===t||a(r)&&a(t)}var Ok=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],_k={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},yn="var(--wheel-stage)",od="transparent",nl="inherit";function qme(e,o){return ed(Hh(e,o))}function Hh(e,o){return e===nl?yn:e==null?o:e===!0?yn:e===!1?od:e}function Vme(e){return typeof e=="string"&&e!==nl?ed(e):yn}function Yme(e){return e!==od&&e!=="none"&&e!==""}function Rk(e,o){return e===nl||e===!0?!0:e==null?o===yn:!1}var Ak="inherit",td="fixed",Lk=e=>typeof e!="number"&&e!==td,uW="var(--sf-heading-max, 9999px)";function Zme(e,o,t,a){if(typeof e=="number")return`${e}px`;if(e===td)return o;let r=a?`var(--size-${a}, ${o})`:o;return t==="heading"?`min(${r}, ${uW})`:r}var uo={min:1e3,max:2e3,step:50,default:1600};function pW(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}var Fk="--sf-site-width",Wh=`var(${Fk},${uo.default}px)`,Qme=`max-w-[${Wh}]`,ehe=`max-w-[${uo.default}px]`;function Bk(e){return typeof e!="number"||!Number.isFinite(e)?uo.default:Math.round(Math.min(Math.max(e,uo.min),uo.max))}function ohe(e){let o=Bk(e);return o===uo.default?{}:{[Fk]:`${o}px`}}var Xt={min:0,max:80,step:4,default:40},Dk="--sf-site-gutter",sl={min:0,max:24,step:4},mW="--sf-site-gutter-phone",hW="max-view-tablet:[--sf-site-gutter:var(--sf-site-gutter-phone)]!",ht=`var(${Dk},${Xt.default}px)`,xW=`px-[${ht}]`;var ka={md:`min(24px,${ht})`,sm:`min(20px,${ht})`,frame:`min(24px,${ht})`,tabs:`min(16px,${ht})`},the=[[`max-view-desktop:px-[${ka.md}]`,"max-view-desktop:px-6"],[`max-view-desktop:px-[${ka.tabs}]`,"max-view-desktop:px-4"],[`max-[960px]:px-[${ka.frame}]`,"max-[960px]:px-6"],[`max-[900px]:px-[${ka.md}]`,"max-[900px]:px-6"],[`max-view-wide:px-[${ka.md}]`,"max-view-wide:px-6"],[`max-view-tablet:px-[${ka.sm}]`,"max-view-tablet:px-5"],[`max-view-wide:px-[${ka.sm}]`,"max-view-wide:px-5"],[`max-[640px]:px-[${ka.sm}]`,"max-[640px]:px-5"],[`view-wide:px-[${ht}]`,"view-wide:px-10"],[`max-view-tablet:px-[min(24px,${ht})]`,"max-view-tablet:px-6"],[`max-view-wide:-mx-[min(20px,${ht})]`,"max-view-wide:-mx-5"],[`max-view-tablet:-mx-[min(20px,${ht})]`,"max-view-tablet:-mx-5"],[`-mx-[${ht}]`,"-mx-10"],[xW,"px-10"]];var ahe="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))]",Nk="[--sf-box-g:var(--sf-site-gutter,40px)] [&>*]:[--sf-site-gutter:0px]";var rhe="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 ad(e){return typeof e!="number"||!Number.isFinite(e)?Xt.default:Math.round(Math.min(Math.max(e,Xt.min),Xt.max))}function nhe(e){let o=ad(e);return o===Xt.default?{}:{[Dk]:`${o}px`}}function rd(e){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,sl.min),sl.max))}function Mk(e){return typeof e=="number"&&Number.isFinite(e)?Bk(e):null}function she(e){let o=rd(e);return o===null?{}:{[mW]:`${o}px`}}function lhe(e){return rd(e)===null?"":hW}function nd(e){return Math.min(sl.max,ad(e))}var Hk=Wh,ihe=`max-w-[${Hk}]`,che=`max-w-[min(var(--sf-page-cap,${uo.default}px),${uo.default}px)]`,Wk="--sf-hero-cap",IW=`var(${Wk},none)`,dhe=`max-w-[${IW}]`,gW="--sf-hero-bleed-m",bW="--sf-hero-bleed-w",yW="--sf-hero-chrome-x",SW="--sf-hero-chrome-cap";function fhe(e){return e===!0?{[Wk]:Hk,[gW]:"auto",[bW]:"100%",[yW]:"24px",[SW]:"none"}:{}}var zh=`calc(${Wh} - ${ht}*2)`,uhe=`max-w-[${zh.replace(/ /g,"_")}]`;var wW="--sf-chrome-cap",CW=`var(${wW},${zh})`,phe="data-page-width";function mhe(e){return e==="full"?"full":null}function hhe(e){return e==="full"?null:pW(e==="content"?zh:CW)}function xhe(e){if(e==="full")return"full";if(e==="content")return"content"}var vW=["page","full"],zk=["full","page"],mr={full:"Full",page:"Content"},Gh="inherit",kW=e=>typeof e=="string"&&vW.includes(e),TW=e=>e===Gh;function PW(e,o){return TW(e.widthMode)?{mode:"full",inherited:!0}:kW(e.widthMode)?{mode:e.widthMode,inherited:!1}:{mode:o,inherited:o==="full"}}function bhe(e){return PW(e,"page").mode==="full"}var EW={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 yhe(e){return Object.prototype.hasOwnProperty.call(EW,e)}var ro={background:"sectionBackgroundWidth",content:"sectionContentWidth",contentMax:"sectionContentMax"};function sd(e){let o=Mk(e[ro.contentMax]),t=Sn(e[ro.content])??(o===null?null:"content");return{background:Sn(e[ro.background]),content:t,contentMax:t==="content"?o:null}}function She(e){let o=sd(e);return o.content===null&&e.fullWidth===!0?{...o,content:"full"}:o}function whe(e){return e.background!==null||e.content!==null}var Che=e=>({[ro.background]:e}),vhe=e=>e==="full"?{[ro.content]:e,[ro.contentMax]:void 0}:{[ro.content]:e},khe=e=>({[ro.content]:"content",[ro.contentMax]:e}),The=e=>e==="background"?{[ro.background]:void 0}:{[ro.content]:void 0,[ro.contentMax]:void 0},Gk="siteWidths",OW=e=>e==="full"||e==="content";function Sn(e){return OW(e)?e:null}function $k(e,o){return{[Gk]:{background:Sn(e),content:Sn(o)}}}function Phe(e){let o=e.editor?.metadata?.[Gk];return{background:Sn(o?.background),content:Sn(o?.content)}}import{jsx as _W}from"react/jsx-runtime";import{createContext as RW,useContext as Rhe}from"react";var AW=2,Ahe=AW+1,LW=RW(2);function Uk({tier:e,children:o}){return _W(LW.Provider,{value:e,children:o})}import{useEaselSession as Zz}from"efficient-easel/screen/lib/session-context";import{BOX_GAP as Jz,describedAs as Ea,group as gt,iconOf as dl,sharedStyleKinds as fl}from"efficient-easel/screen/lib/document/box-fields";import{VIEW_KEY_ACCESS as Xh,onDesktopWords as hr,phoneTwinFields as pd}from"efficient-easel/screen/lib/document/box-fields";import{createElement as xt}from"react";import{SettingsDefaultReset as FW,SettingsField as BW}from"efficient-easel/panel";import{boxFieldBuilders as DW,describedAs as NW,iconOf as MW,onDesktopWords as HW}from"efficient-easel/screen/lib/document/box-fields";import{LENGTH_UNITS as WW}from"efficient-easel/screen/lib/content/length-units";import{IconPicker as zW,Tooltip as GW,useShellStrings as $W}from"efficient-shell/ui";var jk=e=>i(e),UW=WW,po=DW(jk,{paddingUnits:UW}),_o=po.slider,It=po.select,ld=po.Segmented,wn=po.segmented,Whe=po.alignmentField,zhe=po.alignmentFields,Ghe=po.blockAlignmentField,$he=po.blockAlignmentFields,Uhe=po.boxJustifyField,jhe=po.boxAlignField,Khe=po.boxWrapField,Kk=po.directionField,id=po.gapField,qhe=po.placementField,Vhe=po.PlacementGridView,Yhe=po.positionFields,cd=po.sidesPaddingFields,jW={width:"3.5rem",height:"2.75rem"};function $h({value:e}){return $W().iconNames[e]??e}function ll(e,o,t){return xt(GW,{content:t,className:"sf-pick-tip",children:xt("span",{className:"sf-pick"},xt("span",{className:"sf-pick-pic"},e),xt("span",{className:"sf-pick-cap"},o))})}function KW(e){let o=t=>t.label===void 0?xt($h,{value:t.value}):i(t.label);return e.map(t=>({value:t.value,...t.label===void 0?{}:{label:i(t.hint??t.label)},icon:ll(t.picture,o(t),t.hint===void 0?o(t):i(t.hint))}))}function qk(e,o){return xt("span",{className:"sf-pick"},xt("span",{className:"sf-pick-pic"},e),xt("span",{className:"sf-pick-cap sf-pick-cap-closed"},o))}function Vk(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",...NW({},{type:"radio",label:e,options:l}),options:l,render:c=>{let{value:d,onChange:u,field:m}=c,f=m?.options,x=KW(t.filter(k=>!f||f.some(T=>T.value===k.value))),I="follows"in c,y=I?s(r.phoneRest?r.phoneRest(c.follows):c.follows)??a:void 0,v=m?.currentValue,C=s(d)??y??s(v)??a,S=d!=null&&d!=="",g=y===void 0?void 0:t.find(k=>k.value===y);return xt(BW,{label:i(e),icon:MW(o),action:I?xt(FW,{words:ee()?.panel,label:i(e),changed:S,detail:g?.label!==void 0?HW(jk,i(g.label),c.followsView):void 0,disabled:c.readOnly===!0,onReset:()=>u(void 0)}):void 0},xt(zW,{label:i(e),value:C,options:x,onChange:u,columns:r.columns,cell:r.cell??jW,tooltips:!1,disabled:c.readOnly===!0}))}}}import{TEXT_CONTROL_KINDS as _Ie,SCALAR_TEXT_CONTROLS as RIe}from"efficient-easel/draw";function xr(e,o){return i("{value} from {from}",{value:e,from:o})}function Qz(){let{blockGap:e}=ue();return e===null?i("this container's own spacing"):xr(`${e}px`,i("Styles"))}function eG({inherited:e,onReset:o,label:t}){return w(bo,{words:ee()?.panel,label:i(t),changed:!e,detail:Qz(),onReset:o})}function oG(e){return id({...Jz,builtIn:bn[e],resolve:(o,t)=>pr(e,o,t?.siteGap),action:(o,t)=>w(eG,{inherited:!Qc(e,o),onReset:()=>t(void 0),label:"Gap"}),mark:{[Jc]:e}})}function tG(e){return Ze(Bt("mobile",{[Jc]:e,type:"custom",render:o=>w(nG,{container:e,...o})}),xT)}function aG(e){return Ze(Bt("tablet",{[Jc]:e,type:"custom",render:o=>w(rG,{container:e,...o})}),xT)}var xT={not:{field:"gap",in:Array.from({length:-Yt.min},(e,o)=>Yt.min+o)}};function wIe(e){return{gap:Bt("desktop",oG(e)),[vn("gap")]:aG(e),[Zt("gap")]:tG(e)}}function rG({container:e,...o}){let[t]=Qt("gap"),{siteGap:a}=o.field??{},r=Math.max(rl.min,pr(e,t,a));return id({...rl,builtIn:r,resolve:n=>va(n)?n:r,action:(n,s)=>w(bo,{words:ee()?.panel,label:i("Gap"),changed:va(n),detail:hr(l=>i(l),`${r}px`),onReset:()=>s(void 0)})}).render(o)}function nG({container:e,...o}){let[t]=Qt("gap"),{siteGap:a,siteGapPhone:r}=o.field??{},n=Bh(e,void 0,t,a,r);return id({...rl,builtIn:n,resolve:s=>Bh(e,s,t,a,r),action:(s,l)=>w(bo,{words:ee()?.panel,label:i("Gap"),changed:va(s),detail:xr(`${n}px`,Fh(e,t,r)?i("Styles"):i("Desktop")),onReset:()=>l(void 0)})}).render(o)}function CIe(e){return Kk({offered:Ik(e),fallback:In(e,void 0),resolve:o=>In(e,o)})}function vIe(e,o){return hC(o?Lm(e,o):[],o)}function sG({inherited:e,onReset:o,label:t}){return w(bo,{words:ee()?.panel,label:i(t),changed:!e,detail:xr(i("Full"),i("the page")),onReset:o})}function Ir({value:e,onChange:o,label:t,placeholder:a,hint:r,multiline:n,hideable:s=!0,markup:l=!0}){let{text:c,hidden:d}=Oa(e),u=il(null),m=il(null),f=S=>o(s?{text:S,hidden:d}:S),x=()=>o({text:c,hidden:!d}),I=s&&d,y=rT(),v=r?fG(r)?w("span",{className:"sf-hint-keep sf-hint-while-typing",children:i(r)}):w(bC,{children: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(Qe,{label:i(t),icon:w(Cz,{}),htmlFor:y,className:I?"is-hidden":void 0,hint:v,action:s?w(ud,{content:C,children:w(mT,{"aria-pressed":d,"aria-label":C,onClick:x,children:d?w(Jk,{name:"eye-off",size:14}):w(Jk,{name:"eye",size:14})})}):void 0,children:Pa("div",{className:"sf-copybox",children:[l&&w($m,{target:n?m:u,value:c,onChange:f}),n?w("textarea",{id:y,ref:m,value:c,placeholder:a===void 0?void 0:i(a),onChange:S=>f(S.target.value)}):w("input",{id:y,ref:u,type:"text",value:c,placeholder:a===void 0?void 0:i(a),onChange:S=>f(S.target.value)})]})})}function kIe(e,o){return{...e,[oz]:o}}function TIe(e){let o=e[Jt];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[Jt]:{...o,offPage:!0}}}function hd(e){return!e||typeof e!="object"?!1:e[Jt]?.offPage===!0}var IT="sfPanelOnly";function PIe(e){if(!e[Jt])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[IT]:!0}}function gT(e){return!!e&&typeof e=="object"&&e[IT]===!0}function EIe(e){let o=e[Jt];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[Jt]:{...o,identifier:!0}}}function AIe(e,o){if(!e[Jt])throw new Error("inOwnBox: the field holds no authored text");let{[Uz]:t,...a}=e;return{...a,[Um]:!0,render:o}}var lG=new Set(Kz),md={type:"radio",options:[{value:!0},{value:!1}]},bT={text:{type:"object",objectFields:{text:{type:"text"},hidden:md}},textarea:{type:"object",objectFields:{text:{type:"textarea"},hidden:md}},plainText:{type:"text"},copyText:{type:"text"},plainTextarea:{type:"textarea"},textList:{type:"array",arrayFields:{text:{type:"text"}}}},gr=(e,o)=>{let t=Ea({...o,[Jt]:e},{...bT[e.control],label:e.label});if(!lG.has(e.control))return t;let a=o.render;return{...hT(t,"authored-copy"),render:r=>w(qC,{name:r.name,children:a(r)})}},LIe="Everything else on this block comes from the linked post. Unlink it to edit by hand.",iG={field:"source.slug",set:!0},FIe={not:iG},cG="Select a word, then press the highlighter.",dG=new Set([cG]),fG=e=>dG.has(e);function BIe(e,o,t){return gr({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Ir,{value:a,onChange:r,label:e,placeholder:o,hint:t})})}function DIe(e,o,t){return gr({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Ir,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0})})}function NIe(e,o,t){return gr({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Ir,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function MIe(e,o,t){return gr({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Ir,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1})})}function HIe(e){return{type:"custom",[QW]:{label:e},...Ea({},{type:"text",label:e}),render:({value:o,onChange:t})=>w(Yv,{value:JW(o),onChange:t,label:e})}}function WIe(e,o,t){return gr({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>w(Ir,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var yT={Design:tz,Animation:rz};function zIe(e){return{type:"custom",render:()=>w(uG,{text:e})}}function uG({text:e}){return w("p",{className:"sf-note",children:i(e)})}function GIe(e){return oa(e)!==null&&e?.tabs!==void 0}var Qk=new Map;function xd(e,o){let t=`${e}\0${o?o.join(""):""}`,a=Qk.get(t)??{type:"custom",tabs:o,[nT]:{label:e,level:1},bucket:e,marker:!0,render:()=>w(ea,{})};return Qk.set(t,a),a}var eT=new Map;function Zh(e){let o=eT.get(e)??{type:"custom",[nT]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>w(ea,{})};return eT.set(e,o),o}function pG(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function ST(e,o){return pG(e)===o?e:{...e,marker:!0,fold:o,render:()=>w(ea,{})}}function wT(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(ea,{})}}function Jh({title:e,children:o}){let[t,a]=cl(()=>!Uh.has(e));return w(Tz,{title:e,open:t,onToggle:r=>{a(r),r?Uh.delete(e):Uh.add(e)},children:o})}var Uh=new Set;function mG({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 Pa("div",{className:"sf-swatches",children:[e.map(l=>{let c=a?.[l]?i(a[l]):l;return w(ud,{content:c,children:w(Bz,{color:l,selected:o.toLowerCase()===l.toLowerCase(),onClick:()=>t(l),"aria-label":c})},l)}),w("span",{className:"sf-swatch-hex",children:s})]})}function $Ie(e,o,t=!1){return{type:"custom",render:({value:a,onChange:r})=>w(hG,{label:e,builtIn:o,followsBand:t,value:a,onChange:r})}}function hG({label:e,builtIn:o,followsBand:t,value:a,onChange:r}){let n=typeof a=="string"?a:void 0,{colors:s,n:l}=LT(),c={background:s.background,surface:s.surface,surface2:Yi(s),band:Ky(s)},d=t?go:o,u=Ek(n,o,d),m=Nh(void 0,d,c),f=t?Dh:void 0,x=Pk(n,o),I=d===go?i("the theme's section background"):i("Theme {n} background",{n:l});return w(pn,{label:i(e),icon:w(nz,{}),value:u?"":Nh(n,o,c),inherited:m,resetTo:xr(m.toUpperCase(),I),onChange:r,onReset:()=>r(f),choices:[{label:i("No fill"),color:"",selected:x==="none",onPick:()=>r(Mh)},{label:`${i("Section band")} \xB7 ${c.band.toUpperCase()}`,color:c.band,selected:x==="band",onPick:()=>r(go)}]})}function xG(e,o){return{type:"custom",render:({value:t,onChange:a})=>{let r=t,n=Rk(r,o);return w(Qe,{label:i(e),icon:w(Kh,{}),changed:!n,action:w(bo,{words:ee()?.panel,label:i(e),changed:!n,detail:i("the theme's image stage"),onReset:()=>a(nl)}),children:mG({swatches:Ok,current:n?yn:Hh(r,o),onPick:a,names:_k})})}}}function Id(e=t=>t,o){return fl({_gSectionTheme:gt(hv),sectionAccent:{type:"custom",render:({value:t,onChange:a})=>w(Sv,{value:e(t),onChange:a,followLabel:o})}})}function Mo({min:e,max:o,step:t,value:a,onChange:r,suffix:n="",readout:s=!0,notch:l,ariaLabel:c,disabled:d=!1,placeholder:u,placeholderWord:m,onClear:f}){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(Gz,{min:e,max:o,step:t,value:a,...a===null&&u!==void 0?{placeholderValue:u}:{},...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?f?.():I!==a&&r(I)}})})}function CT(e,o){let{min:t,max:a,step:r=1,unsetLabel:n,hint:s,restTrack:l,unsetMark:c,icon:d,unit:u="px"}=o;return{type:"custom",render:({value:m,onChange:f})=>{let x=typeof m=="number"?m:null,I=x===null;return w(Qe,{label:i(e),icon:d?dl(d):void 0,value:I?c||n===void 0?void 0:i(n):`${x}${u}`,changed:!I,action:c?aT(c,{changed:!I,onReset:()=>f(null)}):w(bo,{words:ee()?.panel,label:i(e),changed:!I,onReset:()=>f(null)}),hint:typeof s=="string"?i(s):s,children:l?l({min:t,max:a,step:r,px:x,label:e,onChange:f}):Mo({min:t,max:a,step:r,value:x??t,readout:!1,ariaLabel:e,onChange:f})})}}}var gd="Corners";function Qh(e){return{type:"custom",render:({value:o,onChange:t})=>{let a=typeof o=="number"&&Number.isFinite(o)?o:null,r=a!==null;return w(Qe,{label:i(gd),icon:w(iz,{}),changed:r,action:aT(e.mark,{changed:r,onReset:()=>t(null)}),hint:e.hint,children:w(IG,{tier:e,px:a,onRadius:t})})}}}function Qt(e){let o=kn();return[o?.values?.[e],t=>o?.onChange(e,t)]}function vT(){return hT({type:"custom",render:()=>w(jz,{})},"always")}function eh(){let e=kn();return o=>e?.onChangeMany(o)}function IG({tier:e,px:o,onRadius:t}){let a=e.useFollowed(),[r,n]=Qt(e.sidesKey),s=Lt(r)??[...pc];return w(Dz,{label:i(gd),value:s,corners:Hw,onChange:l=>{let c=Lt(l)??[];n(c.length===pc.length?null:c)},radius:o,onRadiusChange:t,radiusMin:$o,radiusMax:Ka,radiusStep:e.step??1,radiusPlaceholder:String(a)})}function kT(){return vT()}function gG({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:a}=ue(),r=typeof a=="number"?`${a}px`:i("not set");return w(bo,{words:ee()?.panel,label:i(e),changed:o,detail:a==null?i("the built-in corners"):xr(r,i("Styles")),onReset:t})}function bG(){let{cornerRadiusPx:e}=ue();return typeof e=="number"?e:$o}function yG(){return Qh({sidesKey:"sectionCornerSides",useFollowed:bG,mark:w(gG,{label:gd}),hint:SG})}var SG="Follows Styles \u25B8 Basics \u25B8 Corners until you set a number here.";function bd(){return fl({_gShape:gt("Shape"),sectionCorners:yG(),sectionCornerSides:kT(),...Cn("sectionBorder",PG)})}var wG=()=>({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 CG(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function vG(){let e;try{let o=io(ue().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||zy.line}function kG({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]=cl(()=>r?Rz(l,s):!1),u=wG(),m=f=>CG(r&&n?f:{width:f.width,color:f.color,...n?{style:f.style}:{}});return w(Qe,{label:i("Border"),icon:w(sz,{}),action:r?w(Oz,{each:c,label:i("Each side"),onChange:d}):void 0,children:w(Ez,{label:i("Border"),value:l,each:c,onChange:f=>o(m(f)),placeholder:t,presets:a,words:u,styles:n,max:20})})}function TG({value:e,onChange:o,view:t}){let[a]=Qt("sectionBorder"),[r]=Qt(vn("sectionBorder")),n=vG(),s=c=>c&&typeof c=="object"?c:{},l=t==="phone"?{...Ah(s(a)),...Ah(s(r))}:t==="tablet"?s(a):{};return w(kG,{value:e,onChange:o,placeholder:{sides:_z(l),style:l.style??"solid",color:l.color||n},presets:[n],above:l})}function PG(e){return{type:"custom",render:({value:o,onChange:t})=>w(TG,{value:o,onChange:t,view:e})}}function Cn(e,o){let t=(a,r)=>pd(e,o(a),Xh)[r];return{[e]:t("desktop",e),[vn(e)]:t("tablet",vn(e)),[Zt(e)]:t("phone",Zt(e))}}function UIe(e){return{type:"custom",render:()=>w(EG,{partKey:e})}}function EG({partKey:e}){let[o]=Qt("id"),[t]=Qt("_partStyles"),{textStyles:a}=ue(),r=Xz(),n=null;try{n=qz().select}catch{n=null}let s=t&&typeof t=="object"?t[e]:void 0,l=Array.isArray(a)?a:null;return w(kz,{name:i("Text"),preview:ak(s,l,{noStyle:i("No style"),styleName:r.textStyles.styleName,cases:(r.copy.panel??Yz.copy.panel).cases}),onOpen:()=>{n&&typeof o=="string"&&n(Vz(o,e))}})}function TT(e){let{cornerRadiusPx:o}=ue(),t=typeof o=="number"?o:e,a=null;try{let{appState:n,selectedItem:s}=qh(c=>c),l=s?.props?.id?String(s.props.id):void 0;a=l?FC(n?.data,l)?.props??null:null}catch{a=null}if(!a)return t;let r=a.sectionCorners;return pm(r)?r:t}function OG({label:e,changed:o=!1,onReset:t=()=>{}}){let a=TT($o);return w(bo,{words:ee()?.panel,label:i(e),changed:o,detail:xr(`${a}px`,i("the section")),onReset:t})}function _G(){return w(ea,{children:i("Follows the section's Corners until you set a number here.")})}function RG(){return Qh({sidesKey:"cardCornerSides",useFollowed:()=>TT($o),mark:w(OG,{label:gd}),hint:w(_G,{})})}function AG(){return{type:"custom",render:()=>w(Kw,{})}}function jIe(){return{_gShape:gt("Shape"),cardCorners:RG(),cardCornerSides:kT(),cardCornersApplyAll:AG()}}function LG(){return Ea({type:"custom",render:e=>w(BG,{...e})},{type:"select",label:ar,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 FG(e,o){let t=$p(e);if(t!=="custom")return i(Gp.find(r=>r.value===t)?.label??"");let a=pT(nc(e,o),o);return a?[...a,100-a.reduce((r,n)=>r+n,0)].join(" / "):i("Custom")}function BG(e){let{value:o,onChange:t}=e,[a]=Qt("content"),r=Array.isArray(a)?a.length:0,n="follows"in e,s=o!=null,l=s?o:n?e.follows:void 0,c=$p(l),d=r>=2&&r<=Xk,u=()=>[...Hz[r]??[]],m=il(null),f=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"?u():C)},I=i("The width bar works for 2 to {count} blocks.",{count:Xk}),y=s&&(n||o!=="content"),v=zz().widths.hint(r,Mz);return w(Qe,{label:i(ar),icon:w(Vh,{}),changed:y,hint:c!=="custom"?void 0:d?v:I,action:w(bo,{words:ee()?.panel,label:i(ar),changed:y,disabled:e.readOnly===!0,detail:n?hr(C=>i(C),FG(e.follows,r),e.followsView):i("Fit content"),onReset:()=>t(void 0)}),children:Pa("div",{className:"sf-share-row",children:[w("div",{className:"sf-share-pick",children:w(uT,{label:i(ar),value:c,options:Gp.map(C=>({value:C.value,label:C.value==="custom"&&!d?I:i(C.label),icon:ll(w("span",{className:"sf-gallery-pic sf-share-pic",children:PT(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:ET,tooltips:!1,disabled:e.readOnly===!0})}),c==="custom"&&d?w("div",{onFocus:()=>{m.current={value:o,shares:pT(nc(l,r),r)}},onBlur:()=>{m.current=null},children:w(Wz,{label:i(ar),count:r,value:nc(l,r),onChange:f,readOnly:e.readOnly===!0})}):null]})})}function PT(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 KIe(){return It(fw,w(mz,{}),qp,qp[0].value)}function qIe(){return Bt("mobile",Vk(ar,w(Vh,{}),nw.map(e=>({label:e.label,value:e.value,picture:w("span",{className:"sf-gallery-pic sf-share-pic",children:PT(e.weights).map((o,t)=>w("i",{style:{gridColumn:`span ${o}`}},t))})})),sw,{columns:2,cell:ET}))}var ET={width:"5.75rem",height:"3.25rem"};function VIe(){return pd("share",LG(),Xh)[vn("share")]}function DG(){return Bt("mobile",_o(Up,w(sT,{}),lc,rw,1,lc,"",{clear:{phoneFollows:!1,hint:lc}}))}var oT={read:e=>e.phoneRow,write:(e,o,t)=>({phoneRow:t}),fieldKey:()=>"phoneRow",ownField:!0};function YIe(){let e=_o(Up,w(sT,{}),Kp,lw,1,Kp,"",{clear:{emptyLabel:"Auto"}}),o=pd("columns",e,{...oT,tablet:Xh.tablet}),t=pd("columns",e,oT,{phoneRow:DG()});return{...o,phoneRow:t.phoneRow}}function XIe(e,o,t,a,r,n){return{type:"custom",render:({value:s,onChange:l})=>w(Qe,{label:i(e),icon:w(Dm,{noun:n}),action:w(bo,{words:ee()?.panel,label:i(e),changed:!Lk(s),detail:i("the Text style in Styles"),onReset:()=>l(Ak),defaultAction:{onPress:()=>l(td),title:i("Keep this section's own built-in size"),icon:w(lz,{})}}),children:Mo({min:o,max:t,step:a,value:typeof s=="number"?s:r,suffix:"px",ariaLabel:e,onChange:l})})}}function ZIe(){return{_gCellWidth:gt("Cell width"),gridSpan:It("Positions",w(Vh,{}),[{label:"Auto",value:""},...Array.from({length:gc},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function Vo(){let e=null,o=null;try{e=XW(ex),o=qh(t=>t).selectedItem}catch{o=null}return e??o?.props??{}}var ex=YW(null);function NG({min:e,max:o,step:t,px:a,label:r,onChange:n,desktopKey:s,fallback:l}){let c=Vo()[s],d=_c(void 0,c,l);return w(ea,{children:Mo({min:e,max:o,step:t,value:_c(a,c,l),readout:!1,ariaLabel:r,notch:d,onChange:n})})}function MG({label:e,desktopKey:o,fallback:t,unit:a="px",changed:r=!1,onReset:n=()=>{}}){let s=Vo()[o],l=_c(void 0,s,t);return w(bo,{words:ee()?.panel,label:i(e),changed:r,detail:hr(c=>i(c),`${l}${a}`),onReset:n})}function yd(e){return CT(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unit:e.unit,unsetLabel:"Follows Desktop",unsetMark:w(MG,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback,unit:e.unit}),restTrack:o=>w(NG,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}var HG={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},WG={Top:fT,Bottom:iT,Left:cT,Right:dT},zG=e=>{let o=WG[e];return w(o,{})};function JIe(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",a=e.group!==!1,r=v=>HG[v],n=v=>_o(r("Top"),w(fT,{}),qo.min,qo.max,qo.step,v,"px"),s=(v,C,S,g=qo)=>Bt("mobile",yd({label:r(v),icon:zG(v),desktopKey:C,min:g.min,max:g.max,step:g.step,fallback:S})),l=e.top??qo.min,c=e.bottom??qo.min,d="sectionPaddingLeft",u="sectionPaddingRight",m=e.sideBounds??qo,f=e.side??m.min,x=e.sidePhone??f,I=e.phone===!0,y=v=>I?Bt("desktop",v):v;return fl({...a?{_gSpacing:gt("Padding")}:{},[o]:y(n(l)),...I?{[Zt(o)]:s("Top",o,l)}:{},...e.only==="top"?{}:{[t]:y(_o(r("Bottom"),w(iT,{}),qo.min,qo.max,qo.step,c,"px")),...I?{[Zt(t)]:s("Bottom",t,c)}:{}},...e.sides?{[d]:y(_o(r("Left"),w(cT,{}),m.min,m.max,m.step,f,"px")),...I?{[Zt(d)]:s("Left",d,x,m)}:{},[u]:y(_o(r("Right"),w(dT,{}),m.min,m.max,m.step,f,"px")),...I?{[Zt(u)]:s("Right",u,x,m)}:{}}:{}})}function QIe(e,o){let t=Object.fromEntries(Object.entries(o).map(([n,s])=>[n,n in e&&oa(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 dd="Width";function Sd(e,o=zk,t=!0){let a=o.map(r=>({label:mr[r],value:r}));return fl({...t?{_gWidth:gt(dd)}:{},widthMode:{type:"custom",render:({onChange:r,field:n})=>w(Qe,{label:i(dd),icon:w(vz,{}),action:t?w(sG,{inherited:n?.inherited??!1,onReset:()=>r(Gh),label:dd}):void 0,children:ld({options:a,value:n?.currentValue||e,onChange:r,ariaLabel:dd})})}})}function wd(){let e=(a,r)=>({type:"custom",render:({value:n,onChange:s})=>w(GG,{value:n,onChange:s,view:a,badge:r})}),o=a=>({type:"custom",render:({value:r,onChange:n,field:s})=>w(UG,{value:r,onChange:n,unit:s?.unit,view:a})}),t=a=>{let r=wn("Unit",w(lT,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");if(a==="desktop")return r;let n=r.render;return{...r,render:s=>w(jG,{props:s,draw:n,view:a})}};return fl({_gHeight:gt(xn),...Cn("sectionHeightMode",a=>a==="desktop"?e(a):e(a,r=>w(KG,{view:a,onClear:()=>r(void 0)}))),...Cn("sectionHeightValue",o),...Cn("sectionHeightUnit",t)})}function GG({value:e,onChange:o,view:t,badge:a}){let r=Vo(),n=l=>["auto","fixed","screen"].includes(l),s=Cd(t,r)?.mode??"auto";return w(Qe,{label:xn,icon:dl(w(xz,{})),action:a?a(o):void 0,children:ld({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:n(e)?e:s,onChange:o,ariaLabel:xn})})}function OT(e,o){return e==="phone"&&tl(o)?fk(o):ol(o)}function Cd(e,o){return e==="desktop"||(e==="tablet"?tl(o):Ph(o))?null:OT(e,o)}var Ta=(e,o)=>e==="tablet"?vn(o):Zt(o);function $G(e,o,t,a){let r=Cd(e,o);return!r||e==="desktop"?null:a===void 0?{}:{[Ta(e,"sectionHeightMode")]:r.mode,...r.mode==="fixed"?{[Ta(e,"sectionHeightUnit")]:r.unit}:{},...t==="sectionHeightUnit"?{[Ta(e,"sectionHeightValue")]:r.value}:{},[Ta(e,t)]:a}}function _T(e,o,t){let a=kn(),r=Cd(e,Vo());return!a||!r?{followed:null,write:t}:{followed:r,write:n=>a.onChangeMany(s=>{let l=$G(e,s,o,n);return l===null?{[e==="desktop"?o:Ta(e,o)]:n}:Object.keys(l).length?l:null})}}function UG({value:e,onChange:o,unit:t,view:a}){let{followed:r,write:n}=_T(a,"sectionHeightValue",o),s=(r?r.unit:t)==="%"?"%":"px",l=s==="%"?kh:vh;return w("div",{className:"sf-field",children:Mo({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:xn,onChange:n})})}function jG({props:e,draw:o,view:t}){let{followed:a,write:r}=_T(t,"sectionHeightUnit",e.onChange);return o({...e,...a?{value:void 0,storedValue:void 0,follows:a.unit}:{},onChange:r})}function KG({view:e,onClear:o}){let t=Vo(),a=Cd(e,t)===null,r=e==="phone"&&tl(t),n=OT(e,t),s=hr(l=>i(l),n.mode==="auto"?i("Auto"):`${n.value}${n.unit}`,r?"tablet":"desktop");return w(bo,{words:ee()?.panel,label:i(xn),changed:a,detail:s,onReset:o})}function ox(){let e=t=>({type:"custom",render:({value:a,onChange:r,id:n,name:s})=>w(YG,{value:a,onChange:r,labelId:`${n??s??"stickTop"}-label`,view:t})}),o=t=>({type:"custom",render:({value:a,onChange:r})=>w(qG,{value:a,onChange:r,view:t})});return{_gStick:gt(Xc),...Cn("stickTop",e),...Cn("stickTopDistance",o)}}function qG({value:e,onChange:o,view:t}){let a=kn(),r=Vo(),n=t==="desktop"||tx(t,r)?null:RT(t,Zc(r)),s=n&&a?l=>a.onChangeMany(c=>{let d=VG(t,c,l);return d===null?{[Ta(t,"stickTopDistance")]:l}:Object.keys(d).length?d:null}):o;return w("div",{className:"sf-field",children:Mo({min:Ca.min,max:Ca.max,step:Ca.step,value:n?null:typeof e=="number"?e:Ca.fallback,...n?{placeholder:n.distance}:{},suffix:"px",ariaLabel:i("Distance from top"),onChange:s})})}function tx(e,o){return e==="tablet"?_h(o):Rh(o)}function RT(e,o){return e==="phone"?{on:o.tablet,distance:o.tabletDistance}:{on:o.desktop,distance:o.desktopDistance}}function VG(e,o,t){return e==="desktop"||tx(e,o)?null:t===void 0?{}:{[Ta(e,"stickTop")]:!0,[Ta(e,"stickTopDistance")]:t}}function YG({value:e,onChange:o,labelId:t,view:a}){let r=Vo(),n=Zc(r),s=a==="phone"?n.phone:a==="tablet"?n.tablet:e===!0,l=a==="phone"&&n.ownTablet,c=a==="desktop"?null:RT(a,n),d=c?.on?`${c.distance}px`:i("Off");return w(Qe,{label:i(Xc),labelId:t,icon:dl(w(yz,{})),action:Pa(ea,{children:[a!=="desktop"?w(bo,{words:ee()?.panel,label:i(Xc),changed:tx(a,r),detail:hr(u=>i(u),d,l?"tablet":"desktop"),onReset:()=>o(void 0)}):null,w(Yh,{checked:s,onChange:o,ariaLabelledBy:t})]})})}var tT="e.g. about";function vd(){return{_gAnchor:gt("Anchor"),anchor:gr({control:"plainText",label:"Name",placeholder:tT},{type:"custom",render:({value:e,onChange:o})=>w(_C,{value:e,onChange:o,nameBox:(t,a)=>w(Ir,{value:t,onChange:a,label:"Name",placeholder:tT,hideable:!1,markup:!1})})})}}function ege(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(Qe,{label:i(e),icon:o,htmlFor:l,hint:t===void 0?void 0:i(t),children:w(Nz,{id:l,value:Number.isFinite(c)?new Date(c):null,onChange:d=>r(d?d.toISOString():"")})})}}}function XG(e,o,t,a){return{type:"custom",...Ea({},{...md,label:e}),render:r=>{let{value:n,onChange:s,id:l,name:c}=r,d="follows"in r,u=r,m=typeof n=="boolean",f=typeof u.follows=="boolean"?u.follows:o,x=m?n:d?f:o,I=`${l??c??e}-label`,y=u.readOnly===!0,v=w(Yh,{checked:x,onChange:s,disabled:y,ariaLabelledBy:I});return w(Qe,{label:i(e),labelId:I,icon:t,hint:a===void 0?void 0:i(a),action:d?Pa(ea,{children:[w(bo,{words:ee()?.panel,label:i(e),changed:m,detail:hr(C=>i(C),i(f?"On":"Off"),u.followsView),disabled:y,onReset:()=>s(void 0)}),v]}):v})}}}function AT(){return{type:"custom",render:({value:e,onChange:o,id:t,name:a})=>{let r=`${String(t??a??"pageBackground")}-colour`;return w(Ko,{label:i("Background"),icon:w(bz,{}),id:r,value:Nm(e),onChange:o})}}}function oge(e,o,t){return{type:"custom",render:({value:a,onChange:r})=>w(Ko,{label:i(e),icon:t,value:a||o,onChange:r})}}function tge(){return{type:"custom",render:e=>{let{value:o,onChange:t}=e,a=e;return w(ZG,{value:typeof o=="string"?o:"",onChange:t,twin:"follows"in e?{follows:a.follows,view:a.followsView}:void 0})}}}function ZG({value:e,onChange:o,twin:t}){let{hex:a,n:r}=QG(),n=xr(a.toUpperCase(),i("Theme {n} background",{n:r}));if(t){let s=fn(t.follows);return w(pn,{label:i("Fill"),icon:w(Kh,{}),value:e,inherited:s??a,resetTo:hr(l=>i(l),s?s.toUpperCase():n,t.view),onChange:o,onReset:()=>o(void 0)})}return w(pn,{label:i("Fill"),icon:w(Kh,{}),value:e,inherited:a,resetTo:n,onChange:o,onReset:()=>o("")})}function JG(e,o,t){if((e?.content??[]).some(n=>n?.props?.id===o))return ft(t);let a=BC(e,o);if(a.length===0)return null;let r=ft(ph(t));if(r!==null)return r;for(let n=a.length-1;n>0;n-=1){let s=ft(ph(a[n].sectionAccent));if(s!==null)return s}return ft(a[0].sectionAccent)}function QG(){let{colors:e,n:o}=LT();return{hex:e.background,n:o}}function LT(){let e=io(ue().theme),[o]=Qt("sectionAccent"),t=null;try{let{appState:r,selectedItem:n}=qh(l=>l),s=n?.props?.id?String(n.props.id):void 0;t=s?JG(r?.data,s,o):null}catch{t=null}let a=t!==null&&e.themes[t]?t:e.selected;return{colors:To(e.themes[a]),n:a+1}}var e$=[{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 o$({label:e,value:o,onChange:t,points:a=e$}){let r=a.map(n=>({...n,label:i(n.label),...n.title?{title:i(n.title)}:null}));return w(Fz,{label:i(e),value:o,points:r,onChange:t})}function age(){return vT()}var FT={top:w(uz,{}),right:w(fz,{}),bottom:w(cz,{}),left:w(dz,{})};function BT(e,o,t,a,r,n,s){let l=m=>o.find(f=>f.value===m),c=m=>({value:m,label:"",disabled:!0,title:a}),d=m=>{let f=o.find(I=>I.cell===m);if(!f)return c(`missing-${m}`);let x=n?.[m];return x?{value:f.value,label:f.label,icon:x}:{value:f.value,label:f.label}},u=[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:f})=>{let x=o.some(I=>I.value===m)?m:t;return w(Qe,{label:i(e),icon:r,value:l(x)?.label?i(l(x).label):s?i(s):"",children:o$({label:e,value:x,onChange:f,points:u})})}}}function rge(e,o,t){return{type:"custom",options:o,render:({value:a,onChange:r,field:n})=>w(ov,{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 nge(e,o={}){return{type:"custom",render:({value:t,onChange:a})=>{let r={value:t,onChange:a,...o};return w(e,{...r})}}}var sge=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function lge(e,o,t){let a=Object.keys(fm).map(r=>({label:fm[r],value:r,picture:t[r]}));return{type:"custom",...Ea({},{type:"radio",label:e,options:a.map(r=>({value:r.value,label:r.label}))}),render:({onChange:r})=>w(t$,{label:e,icon:o,options:a,onChange:r})}}function t$({label:e,icon:o,options:t,onChange:a}){let r=kn()?.values??{},n=um(r),s=n==="frame"&&!!xa(r.mediaVideo)&&!xa(r.videoFrame);return w(Qe,{label:i(e),icon:dl(o),hint:s?i("This video has no frame yet. The slide shows its background colour until one is made."):void 0,children:ld({options:t,value:n,onChange:a,ariaLabel:e})})}function ige(e,o,t,a={}){let r={type:"custom",[ez]:!0,render:({value:n,onChange:s,name:l})=>w(QC,{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?Bt("each",r):r}function a$(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 cge({value:e,onChange:o,label:t}){let a=e||{},r=kn(),n=r?r.values!==r.node.props:!0,s=!!a.pending&&n,l=!!a.pending&&!n,c=s?"var(--ink-faint)":a.ok&&!l?"var(--status-success-soft-ink)":"var(--status-danger-soft-ink)",d=!!$e(Zz()).geocode,u=rT(),m=(f,x)=>o({...a,[f]:x??void 0});return Pa(ea,{children:[w(Qe,{label:i(t),icon:w(Yk,{}),action:d?w(ud,{content:i("Find from the address (OpenStreetMap)"),children:w(mT,{"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(Sz,{})})}):void 0,children:d&&a.status?w(ud,{content:a$(a),className:"sf-name-tip",children:w("div",{className:`es-field-hint ${Fm}`,style:{margin:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0,color:c},children:s?i("Finding\u2026"):l?i(Wm):i(a.status)})}):null}),w(Qe,{label:i("Enter by hand"),labelId:u,icon:w(pz,{}),action:w(Yh,{checked:!!a.manual,onChange:f=>o({...a,manual:f}),ariaLabelledBy:u})}),a.manual&&w(Qe,{label:i("Latitude, longitude"),icon:w(Yk,{}),children:Pa("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,width:"100%",minWidth:0},children:[w(Zk,{value:typeof a.lat=="number"?a.lat:null,onChange:f=>m("lat",f),min:-90,max:90,step:1e-4,placeholder:i("Latitude")}),w(Zk,{value:typeof a.lng=="number"?a.lng:null,onChange:f=>m("lng",f),min:-180,max:180,step:1e-4,placeholder:i("Longitude")})]})})]})}function r$(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function n$(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 s$(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 ax={label:"Ticker items",icon:w(gz,{})};function dge(e,o,t,a){return{type:"custom",[Jt]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:a},...Ea({},{...bT.textList,label:e}),render:({value:r,onChange:n})=>w(rx,{label:e,icon:dl(o),items:Array.isArray(r)?r:[],placeholder:t,onChange:n,markup:a==="markup"})}}function rx({label:e,icon:o,items:t,placeholder:a,onChange:r,markup:n=!1}){let s=il(null),[l,c]=cl(null),d=m=>m.map(f=>({text:f?.text??""})),u=m=>{let f=s$(t,m,l);f===null&&(s.current=null),c(f),r(d(m))};return w(Az,{label:i(e),icon:o,noun:i("item"),items:t,onChange:u,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?w($m,{target:s,value:r$(t,l),onChange:m=>r(n$(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,f,x)=>w("input",{type:"text",className:n&&l===f?"sf-list-marking":void 0,value:m?.text??"",placeholder:i(a),"aria-label":i("{label} {n}",{label:i(e),n:f+1}),onChange:I=>x({text:I.target.value}),onFocus:I=>{s.current=I.currentTarget,c(f)}})})}function DT(e,o){let t=`${e.label} \u2014 row ${o+1}`;return gr({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:a,onChange:r})=>w(Ir,{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 NT(e){return{_gCards:gt("Cards"),coverIndex:It("Cover image",w(Iz,{}),YC,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:xG("Image background",od),cardImage:c$()}}function MT(){return{outline:It("Card outline",w(wz,{}),Xm,Vm),indexBadge:It("Card number",w(lT,{}),Ym,qm),showBadge:XG("Product badge",!0,w(Dm,{noun:"tag"}))}}function HT(e){let o=e?.defaults??{showCardSizes:!0,showCardBuy:!0,showCardPage:!0},t=r=>({...md,label:fd.find(n=>n.id===r).label}),a=r=>Ea($z(jh),t(r));return{_gShowOnCard:gt("Show on a card"),[jh]:Ea({type:"custom",render:()=>w(l$,{rest:{showCardPrice:!0,showCardFinishes:!0,...o}})},t(jh)),showCardFinishes:a("showCardFinishes"),showCardSizes:a("showCardSizes"),showCardBuy:a("showCardBuy"),showCardPage:a("showCardPage")}}var jh="showCardPrice",fd=[{id:"showCardPrice",label:"Price"},{id:"showCardFinishes",label:"Finish swatches"},{id:"showCardSizes",label:"Sizes"},{id:"showCardBuy",label:"Buy button"},{id:"showCardPage",label:"Page button"}];function l$({rest:e}){let o=Vo(),t=eh(),a=s=>typeof o[s]=="boolean"?o[s]:void 0,r=s=>a(s)??e[s],n=fd.some(({id:s})=>a(s)!==void 0&&a(s)!==e[s]);return w(nx,{parts:fd,changed:n,shown:r,onPress:(s,l)=>t({[s]:l}),onReset:()=>t(Object.fromEntries(fd.map(({id:s})=>[s,void 0])))})}function fge(e,o="display"){let t=Zt(o);return{[o]:Bt("desktop",{type:"custom",render:({value:a,onChange:r})=>w(nx,{parts:e,changed:DC(a),shown:n=>Pc(a,n),onPress:(n,s)=>r(MC(a,n,s)),onReset:()=>r(void 0)})}),[t]:Bt("mobile",{type:"custom",render:({value:a,onChange:r})=>w(i$,{parts:e,desktopKey:o,value:a,onChange:r})})}}function nx({parts:e,changed:o,shown:t,onPress:a,onReset:r,detail:n,disabledReason:s}){let l=i("Display");return w(Qe,{label:l,icon:w(az,{}),changed:o,action:w(bo,{words:ee()?.panel,label:l,changed:o,detail:n,onReset:r}),children:w(Lz,{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 i$({parts:e,desktopKey:o,value:t,onChange:a}){let r=Vo()[o];return w(nx,{parts:e,changed:NC(t),shown:n=>Hm(r,t,n),onPress:(n,s)=>a(HC(t,n,s)),onReset:()=>a(Rc),detail:i("the same as Desktop")})}function c$(){return CT("Card image",{min:$o,max:Ka,step:rC,hint:"Rounds the picture. The card's own corner is in Styles."})}function uge(){return Qh({sidesKey:"cornerSides",step:nC,useFollowed:()=>$o,mark:w(d$,{label:sC}),hint:i("Rounds the picture. Left alone it stays square.")})}function d$({label:e,changed:o=!1,onReset:t=()=>{}}){return w(bo,{words:ee()?.panel,label:i(e),changed:o,onReset:t})}function pge(){return{type:"custom",render:({value:e,onChange:o})=>w(m$,{value:typeof e=="string"?e:"",onChange:o})}}function f$({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:dC(e).map(([t,a],r)=>w("i",{className:"block rounded-xs bg-current opacity-60",style:{gridColumn:`span ${t}`,gridRow:`span ${a}`}},r))})}var u$={width:"3.5rem",height:"2.5rem"},p$=200;function m$({value:e,onChange:o}){let[t,a]=cl(null),[r,n]=cl(4),s=il(null);ZW(()=>{let f=s.current;if(!f||typeof ResizeObserver!="function")return;let x=()=>n(f.getBoundingClientRect().width>=p$?4:3);x();let I=new ResizeObserver(x);return I.observe(f),()=>I.disconnect()},[]);let l=e&&e in Kt?e:"",c=Em(t,l),d=Em(t,"").length,u=bc("no-symbol"),m=[{value:"",label:i("Not chosen"),icon:qk(u,i("Not chosen"))},...c.map(f=>({value:f,label:i(Kt[f].label),icon:w(f$,{layout:Kt[f],width:40})}))];return w(Qe,{label:i("Layout"),icon:w(hz,{}),value:l?i(Kt[l].label):void 0,children:w("div",{ref:s,style:{flex:"1 1 auto",minWidth:0},children:w(uT,{label:i("Layout"),value:l,options:m,onChange:o,columns:r,cell:u$,header:Pa("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(Pz,{options:[{id:"all",label:i("All")},...iC.map(f=>({id:String(f),label:String(f)}))],value:t===null?"all":String(t),ariaLabel:i("Photos in a row"),onChange:f=>a(f==="all"?null:Number(f))}),w("span",{className:"text-2xs text-ink-faint",children:i("{n} of {total} layouts",{n:d,total:Pm.length})})]})})})})}import{decodePartId as A$}from"efficient-easel/draw";import{decodePartId as cx,encodePartId as Od}from"efficient-easel/draw";import{LINK_FIELD_MARKER as YT,SCAFFOLD_FIELD_MARKER as qT,TEXT_FIELD_MARKER as _d}from"efficient-easel/draw";import{readHidable as XT}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as S$}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as y$}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as WT}from"efficient-easel/draw";import{readHidable as zT}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as h$}from"efficient-easel/draw";var x$=h$,I$=["text","textarea"],g$=["textarea","plainTextarea"];function b$(e){return!e||typeof e!="object"?null:e[WT]?.control??null}function Tn(e){let o=b$(e);return o&&x$.includes(o)?o:null}function kd(e){return g$.includes(e)}function GT(e){return!e||typeof e!="object"?void 0:e[WT]?.placeholder}function Td(e){return zT(e).text}function sx(e,o,t){return I$.includes(e)?{text:t,hidden:zT(o).hidden}:t}function $T(e,o,t,a){return Td(e[o])===a?null:{...e,[o]:sx(t,e[o],a)}}function Pn(e,o){return o?`${e}[${o.index}].${o.rowKey}`:e}function bt(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 Pd(e){if(!(!e||typeof e!="object"))return e[y$]}function lx(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function UT(e,o){if(!Array.isArray(o))return[];let t=Pd(e),a=[];if(t?.control==="textList"){let n=t.itemKey??"text";return o.forEach((s,l)=>{let c=J(s?.[n]);c&&a.push({row:{index:l,rowKey:n},text:c})}),a}let r=lx(e);return r?(o.forEach((n,s)=>{for(let[l,c]of Object.entries(r)){if(!Tn(c))continue;let d=Td(n?.[l])||Pd(c)?.placeholder||"";d&&a.push({row:{index:s,rowKey:l},text:d})}}),a):[]}function ul(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function ix(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 jT(e,o,t,a,r){let n=ul(e[o],t);return Td(n)===r?null:ix(e,o,t,sx(a,n,r))}function KT(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var yt="data-sf-part",Fge="data-sf-region-part",Bge="data-sf-part-row";function Dge(e,o){return`${e}[${o}]`}var Nge="data-sf-part-kind",w$="data-sf-part-style-owner",C$="data-sf-part-style-kind";function Mge(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(w$),a=o.getAttribute(C$);if(t&&a)return{owner:t,kind:a};if(o.getAttribute("data-easel-block"))return null}return null}var VT=2;function En(e){return Za(e).replace(/\s+/gu,"")}function Ed(e,o,t){let a=e[_d];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}=XT(o);r?t.push(r):a.placeholder&&t.push(a.placeholder);return}if(!e[YT]){if(e.type==="text"||e.type==="textarea"){let r=J(o);r&&t.push(r);return}if(e.arrayFields&&Array.isArray(o)){for(let r of o)for(let[n,s]of Object.entries(e.arrayFields))Ed(s,r?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[r,n]of Object.entries(e.objectFields))Ed(n,o[r],t)}}function dx(e){if(!e||typeof e!="object")return!1;let o=e;return o[YT]?!1:!!o[_d]||o.type==="text"||o.type==="textarea"}function Rd(e,o){let t=e[_d];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 Hge(e,o,t){if(!e)return[];let a=[];for(let[r,n]of Object.entries(e)){if(!n||typeof n!="object"||qs(r))continue;let s=n,l=[];Ed(s,o?.[r],l),!l.length&&s[qT]!==void 0&&Ed(s,s[qT],l);let c=Rd(s,r);if(t?.(r)&&dx(s)){l.length&&a.push({key:r,label:c,texts:[],keyed:!0});continue}let d=new Set;for(let{row:f,text:x}of UT(s,o?.[r])){let I=En(x);I.length<VT||(d.add(I),a.push({key:r,label:c,texts:[I],row:f}))}let u=new Set(d),m=[];for(let f of l){let x=En(f);x.length<VT||u.has(x)||(u.add(x),m.push(x))}m.length&&a.push({key:r,label:c,texts:m})}return a}function ux(e){return!e.offPage&&!e.hidden}var v$=S$;function ZT(e,o){if(!o||typeof o!="object"||qs(e)||UC(o))return null;let t=o[_d];return!t||!v$.includes(t.control)?null:t}function Wge(e,o){let t=ZT(e,o);return t!==null&&t.identifier!==!0}function JT(e,o){if(!e)return[];let t=[];for(let[a,r]of Object.entries(e)){let n=ZT(a,r);if(!n)continue;let{text:s,hidden:l}=XT(o?.[a]);if(ux({offPage:n.offPage===!0,hidden:!!l}))continue;let c=s||n.placeholder||"",d=Za(c).replace(/\s+/gu," ").trim();t.push({key:a,label:fx(Rd(r,a)),preview:d,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!l})}return t}function On(e,o){let t=Pd(e);return t?.control==="textList"?o.rowKey===(t.itemKey??"text")?DT(t,o.index):null:lx(e)?.[o.rowKey]??null}function Ad(e,o,t){let a=e.node.props,{key:r,row:n}=bt(e.propKey),s=n?jT(a,r,n,e.kind,o):$T(a,r,e.kind,o);return s?(t(e.zone,e.index,{...e.node,props:s}),!0):!1}import{readHidable as tP}from"efficient-easel/draw";import{isNodeList as k$}from"efficient-easel/data";var px=e=>String(e+1).padStart(2,"0"),Vge=[{label:"01 \xB7",value:"two-digit"},{label:"1.",value:"plain"}],mx="two-digit",QT=e=>e==="plain"?"plain":mx,Ld=(e,o)=>e==="plain"?`${o+1}.`:px(o);var xx="Contents",hx="Flex",eP="Text",T$="numberForm",rbe="_contentsEntries",nbe="_kickerNumber",aP="data-sf-kicker-number",P$=e=>tP(e).text.trim(),rP=e=>yC(e?.anchor),oP=e=>String(e.props?.id??""),E$=e=>!tP(e.props?.text).hidden&&!ln(e.props)&&!dt(e.props);function pl(e){return Object.values(e.props??{}).filter(k$)}function nP(e){for(let o of pl(e))for(let t of o){if(t.props?._hidden)continue;if(t.type===eP&&E$(t))return t;if(t.type===eP)continue;let a=nP(t);if(a)return a}}function sP(e){return pl(e).some(o=>o.some(t=>t&&!t.props?._hidden&&(t.type===xx||sP(t))))}var lP=e=>e.type===hx&&In(hx,e.props?.direction)==="row";function iP(e){return pl(e).some(o=>o.some(t=>t&&!t.props?._hidden&&(t.type===xx||!lP(t)&&iP(t))))}function O$(e){let o=[],t=(a,r)=>{for(let n of a){if(!n||n.props?._hidden)continue;if(n.type===xx){r.open={contents:n,sections:r.waiting??[]},r.waiting=null,o.push(r.open);continue}if(lP(n)&&iP(n)){let l={inRow:!0,open:null,waiting:[]};for(let c of pl(n))t(c,l);r.inRow||(r.open=null);continue}let s=r.open?.sections??r.waiting;if(n.type===hx&&rP(n.props)&&s&&!sP(n)){s.push({box:n,kicker:nP(n)});continue}for(let l of pl(n))t(l,r)}};return t(e,{inRow:!1,open:null,waiting:null}),o}function _$(e){return e.map(o=>({label:o.kicker?Za(P$(o.kicker.props?.text)):"",anchor:rP(o.box.props)}))}function sbe(e){let o=e?.length?O$(e):[];if(!o.length)return null;let t=new Map,a=new Map;for(let r of o){let n=oP(r.contents);n&&t.set(n,_$(r.sections));let s=QT(r.contents.props?.[T$]);r.sections.forEach((l,c)=>{let d=l.kicker?oP(l.kicker):"";d&&a.set(d,Ld(s,c))})}return{entries:t,numbers:a}}var lbe=e=>e.endsWith(".")?`${e} `:`${e} \xB7 `;var L$=`[${aP}]`,F$=["bold","italic","underline","strike","link","sup","sub"],B$=["bullet","number"];function bx(e,o){return e?[...F$,...o?B$:[]]:[]}function cP(e,o){let t=A$(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}=bt(r),d=o.components[n.type]?.fields?.[l],u=c?On(d,c):d,m=Tn(u);if(!m)return null;let f=n.props??{};if(Ih(f)!==null||!c&&tm(n.type,f,l)||n.type==="Text"&&l==="text"&&ln(f)||c&&!(Array.isArray(f[l])&&c.index<f[l].length))return null;let x=c?ul(f[l],c):f[l];return{node:n,selector:s,propKey:r,kind:m,stored:x,offPage:hd(u)}}function Fd(e,o){let t=cP(e,o);if(!t)return null;let{text:a,hidden:r}=Oa(t.stored);if(!ux({offPage:t.offPage,hidden:!!r}))return null;let n=kd(t.kind);return{partId:e,value:a,rules:Xa,multiline:n,skip:L$,offered:bx(t.kind!=="plainText",n),write:s=>{let l=cP(e,o);l&&Ad({node:l.node,propKey:l.propKey,kind:l.kind,zone:l.selector.zone,index:l.selector.index},s,o.replace)}}}function yx(e,o,t){return e?.isConnected&&e.getAttribute(yt)===t?e:o?.querySelector(`[${yt}="${Bd(t)}"]`)??null}function Bd(e){return e.replace(/["\\]/g,"\\$&")}function dP(e){let o=e.activeElement;return o?o.tagName==="IFRAME"||!!o.closest(".es-canvas"):!1}var Ix=null,gx=new Set;function D$(){return Ix}function Sx(e){if(e!==Ix){Ix=e;for(let o of gx)o()}}function N$(e){return gx.add(e),()=>{gx.delete(e)}}function fP(){return R$(N$,D$,()=>null)}function uP(e,o){if(e.outer)return null;let t=o.getItemById(e.ownerId);if(!t)return null;let a=Tw(t.type);return!a||co(t.props)?null:{node:t,rows:a}}function G$(e,o){let t=uP(e,o),a=o.getItemById(e.nodeId);if(!t||!a)return null;let r=am(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:M$(e.ownerId,Pn(t.rows,{index:e.index,rowKey:r}))}function Dd(e,o){let t=G$(e,o);return t?Fd(t,o):null}function pP(e,o){return Dd(e,o)?.value}function mP(e,o){let t=Dd(e,o);return t?(t.write(e.text),!0):!1}function hP(e,o){let t=uP(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=H$(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=W$(n,s,c);break}case"delete":l=z$(n,s);break;default:return!1}return o.replace(a.zone,a.index,{...t.node,props:{...r,[t.rows]:l}}),!0}import{jsx as Ce,Fragment as aE,jsxs as Pl}from"react/jsx-runtime";import{Fragment as A8,useEffect as L8,useId as F8,useMemo as rE,useRef as B8,useState as _a}from"react";import{useScreenDocument as uE}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as wI}from"efficient-easel/draw/client";import D8 from"efficient-easel/screen/components/SidePanelHead";import{jsx as se,Fragment as $n,jsxs as Cr}from"react/jsx-runtime";import{useEasel as Y0,useRootFields as DK}from"efficient-easel/easel";import{Inspector as NK}from"efficient-easel/fields";import{SettingsGroup as MK}from"efficient-easel/panel";import{useEffect as HK,useRef as WK,useState as df}from"react";import{jsx as br,Fragment as K$,jsxs as q$}from"react/jsx-runtime";import{useState as bP}from"react";import{SettingsDefaultReset as V$,SettingsField as Y$}from"efficient-easel/panel";import{useEaselStrings as X$}from"efficient-easel/strings";import{AddIcon as Z$}from"efficient-easel/icons";import{Button as J$}from"efficient-shell/ui";import{iconOf as Q$,noGlyph as eU}from"efficient-easel/screen/lib/document/box-fields";import{jsx as Nd,Fragment as $$,jsxs as xP}from"react/jsx-runtime";import{Button as IP,Dialog as U$}from"efficient-shell/ui";function j$(e){return yo("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 gP({count:e,onCancel:o,onConfirm:t}){return xP(U$,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Clear this site\u2019s colors?"),footer:xP($$,{children:[Nd(IP,{variant:"secondary",onClick:o,children:i("Cancel")}),Nd(IP,{variant:"danger",onClick:t,children:i("Clear colors")})]}),children:[Nd("p",{children:j$(e)}),Nd("p",{className:"mt-2 font-medium",children:i("This cannot be undone.")})]})}var oU=eU("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"),tU="Reset color",aU={selected:0,themes:[]};function rU(e){e(aU)}function yP({value:e,onChange:o}){let t=e?.themes??[],a=t.length===0,r=io(e),[n,s]=bP(!1),l=X$(),[c,d]=bP(null),u=(C,S)=>{o({...r,themes:r.themes.map((g,k)=>k===C?S:g)})},m=tn(r).accent,f=new Set(r.themes.map(C=>C.brandInk).filter(Boolean)),x=Gy.filter(C=>!f.has(C)).map(C=>$y(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})},v=()=>{let C=[...r.themes,{...To(r.themes[r.selected])}];o({...r,themes:C,selected:C.length-1}),d(C.length-1)};return q$(K$,{children:[a?null:br(Y$,{label:i(tU),icon:Q$(oU),labelId:"sf-theme-reset",action:br(V$,{label:i("all theme colors"),words:l.panel,changed:!0,onReset:()=>s(!0)})}),n&&br(gP,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),rU(o)}}),br("div",{className:"sf-theme-list",role:"radiogroup","aria-label":i("Theme"),children:I.map((C,S)=>br(Fc,{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=>u(S,g)},S))}),br(J$,{variant:"secondary",leftIcon:br(Z$,{}),onClick:v,className:"sf-theme-add",children:i("Add new theme")})]})}import{jsx as Md}from"react/jsx-runtime";import{SettingsDefaultReset as nU,SettingsField as sU}from"efficient-easel/panel";import{SquareIcon as lU}from"efficient-easel/icons";var iU="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",wx="Corners";function SP({value:e,onChange:o,showHint:t=!0}){let a=e===null;return Md(sU,{label:i(wx),icon:Md(lU,{}),changed:!a,action:Md(nU,{words:ee()?.panel,label:i(wx),changed:!a,detail:i("the built-in corners"),onReset:()=>o(null)}),hint:t?i(iU):void 0,children:Md(Mo,{min:$o,max:Ka,step:1,value:e,...e===null?{}:{suffix:"px"},placeholder:$o,placeholderWord:"Auto",onClear:()=>o(null),ariaLabel:i(wx),onChange:o})})}import{jsx as ml}from"react/jsx-runtime";import{SettingsDefaultReset as cU,SettingsField as dU}from"efficient-easel/panel";import{IconPicker as fU}from"efficient-shell/ui";import{ShadowIcon as uU}from"efficient-easel/icons";var Cx={none:"None",soft:"Soft",lifted:"Lifted"},pU="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",mU={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 wP({value:e,onChange:o,showHint:t=!0}){let a=e===null,r=e??yp;return ml(dU,{label:i("Card shadow"),icon:ml(uU,{}),value:i(Cx[r]),changed:!a,action:ml(cU,{words:ee()?.panel,label:i("Card shadow"),changed:!a,detail:i(Cx[yp]),onReset:()=>o(null)}),hint:t?i(pU):void 0,children:ml(fU,{label:i("Card shadow"),value:r,options:eS.map(n=>({value:n,label:i(Cx[n]),icon:ml("span",{className:"sf-shadow-chip border border-line bg-surface",style:{boxShadow:mU[n]}})})),onChange:o})})}import{jsx as CP}from"react/jsx-runtime";import{ShadowIcon as hU}from"efficient-easel/icons";var xU="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 vP({value:e,onChange:o,showHint:t=!0}){let a=e===null;return CP(pn,{label:i("Shadow color"),icon:CP(hU,{}),value:e??"",inherited:wp,resetTo:wp,onChange:o,onReset:()=>o(null),hint:t?i(xU):void 0})}import{jsx as Wd}from"react/jsx-runtime";import{SettingsDefaultReset as IU,SettingsField as gU}from"efficient-easel/panel";import{AlignSeparateIcon as bU}from"efficient-easel/icons";function Hd(e,o){return e==="tablet"?null:e==="mobile"?o.phone:o.desktop}var yU="The space between the blocks inside a row, a grid or a box. Auto means each one keeps the spacing it already has.",SU="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",kP=bn.Grid;function TP(e,o){return Hd(e,{desktop:{key:"block_gap",value:o.gap,followsPx:null},phone:{key:"block_gap_phone",value:o.phone,followsPx:o.gap===null?null:Lh(o.gap)}})}function PP({value:e,onChange:o,showHint:t=!0,followsPx:a=null}){let r=e===null,n=a===null?null:`${a}px`,s=a===null?kP:al(a)??kP;return Wd(gU,{label:i(vx),labelId:"sf-block-gap",icon:Wd(bU,{}),changed:!r,action:Wd(IU,{words:ee()?.panel,label:i(vx),changed:!r,detail:n??i("each block's own spacing"),onReset:()=>o(null)}),hint:t?i(n===null?yU:SU):void 0,children:Wd(Mo,{min:ur.min,max:ur.max,step:ur.step,value:e,...e===null&&a===null?{}:{suffix:"px"},placeholder:s,...a===null?{placeholderWord:"Auto"}:a===s?{}:{placeholderWord:String(a)},onClear:()=>o(null),ariaLabel:i(vx),onChange:o})})}import{jsx as qd}from"react/jsx-runtime";import{SettingsDefaultReset as TU,SettingsField as PU,SettingsSegmented as EU}from"efficient-easel/panel";import{HoverIcon as OU}from"efficient-easel/icons";import{HOVER_MOTION as wU,motionSeconds as zd}from"efficient-shell/format";var Ho="hover",Gd="_gHover",CU=["none","nextImage","rotate","zoom","lift","mono"],xl={none:"None",nextImage:"Show next image",rotate:"Rotate",zoom:"Zoom",lift:"Lift",mono:"Black and white"};function $d(e){return CU.filter(o=>e.includes(o))}var kx=$d(["none","lift"]);function EP(e){let o=e[Ho];return kx.includes(o)?o:"none"}var Ud=$d(["none","rotate"]),De={kind:Ho,angle:"hoverAngle",duration:"hoverDuration",delay:"hoverDelay"},hl="spinOnHover",_n={min:0,max:360,step:1},OP={ProductGrid:"rotate",RelatedProducts:"rotate",AlloyWheelsListing:"none"},Cye=Object.keys(OP);function Tx(e){return OP[e]??"none"}var Px=wU.rotateFallbackDeg;function Ex(e,o){let t=e[De.kind];if(Ud.includes(t))return t;let a=e[hl];return typeof a=="boolean"?a?"rotate":"none":o}function Ox(e){let o=K(e);return o===void 0?Px:Math.min(_n.max,Math.max(_n.min,o))}function vye(e,o){let t=Tx(o),a=Ex(e,t);return{kind:a,angle:a==="rotate"?Ox(e[De.angle]):null,duration:zd("hover","duration",a==="rotate"?e[De.duration]:void 0),delay:zd("hover","delay",a==="rotate"?e[De.delay]:void 0)}}function _P(e){let o={field:De.kind,in:[...Ud]};return{any:[{field:De.kind,is:"rotate"},{all:[{not:o},e==="rotate"?{not:{field:hl,is:!1}}:{field:hl,is:!0}]}]}}var jd=$d(["none","mono"]),_x=$d(["none","nextImage","mono"]),RP={ImageBlock:"none",Manifesto:"none",Split:"none",ContactLocations:"mono"},kye=Object.keys(RP);function Rx(e){return RP[e]??"none"}var Il={zoom:"hoverZoom",darken:"hoverDarken"},ta={min:100,max:150,step:1,unit:"%"},Kd=["nextImage"];function vU(e,o){if(!Kd.includes(o))return null;let t=K(e[Il.zoom]);if(t===void 0)return null;let a=Math.min(ta.max,Math.max(ta.min,t));return a===ta.min?null:String(a/100)}function kU(e,o){if(!Kd.includes(o))return null;let t=K(e[Il.darken]);return t!==void 0&&t>0?t:null}var Ax=["ImageBlock"];function Lx(e,o,t=jd){let a=e[Ho];return t.includes(a)?a:o}function AP(e,o=""){let t=Ax.includes(o)?_x:jd,a=Lx(e,Rx(o),t),r=a!=="none";return{kind:a,duration:zd("hover","duration",r?e[De.duration]:void 0),delay:zd("hover","delay",r?e[De.delay]:void 0),...Kd.includes(a)?{zoom:vU(e,a),darken:kU(e,a)}:{}}}function LP(){return{field:Ho,in:[...Kd]}}function FP(e){return e==="none"?{field:Ho,in:["mono","nextImage"]}:{not:{field:Ho,is:"none"}}}var Fx={none:xl.none,lift:xl.lift,highlight:"Highlight"},_U="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 BP({value:e,onChange:o,showHint:t=!0}){let a=e===null,r=e??Sp;return qd(PU,{label:i("Hover effect"),icon:qd(OU,{}),value:i(Fx[r]),changed:!a,action:qd(TU,{words:ee()?.panel,label:i("Hover effect"),changed:!a,detail:i(Fx[Sp]),onReset:()=>o(null)}),hint:t?i(_U):void 0,children:qd(EU,{options:oS.map(n=>({id:n,label:i(Fx[n])})),value:r,ariaLabel:i("Hover effect"),onChange:o})})}import{jsx as Vd}from"react/jsx-runtime";import{SettingsDefaultReset as RU,SettingsField as AU,SettingsSegmented as LU}from"efficient-easel/panel";import{DropIcon as FU}from"efficient-easel/icons";var Bx="Photography",DP={shot:"As shot",mono:"Black and white"},Dx=[{grayscale:!1,label:DP.shot},{grayscale:!0,label:DP.mono}],BU="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function NP({value:e,onChange:o,showHint:t=!0}){let a=e===null,r=e??!1;return Vd(AU,{label:i(Bx),icon:Vd(FU,{}),value:i(Dx.find(n=>n.grayscale===r).label),changed:!a,action:Vd(RU,{words:ee()?.panel,label:i(Bx),changed:!a,detail:i(Dx.find(n=>!n.grayscale).label),onReset:()=>o(null)}),hint:t?i(BU):void 0,children:Vd(LU,{options:Dx.map(n=>({id:n.grayscale,label:i(n.label)})),value:r,ariaLabel:i(Bx),onChange:o})})}import{jsx as Nx}from"react/jsx-runtime";import{useId as DU}from"react";import{SettingsField as NU,SettingsSwitch as MU}from"efficient-easel/panel";import{ShareIcon as HU}from"efficient-easel/icons";var WU="Share button",zU="On every blog post.";function MP({value:e,onChange:o,showHint:t=!0}){let a=DU();return Nx(NU,{label:i(WU),labelId:a,icon:Nx(HU,{}),action:Nx(MU,{checked:e===!0,onChange:o,ariaLabelledBy:a}),hint:t?i(zU):void 0})}import{usePreviewDevice as gI}from"efficient-easel/draw/client";import{jsx as Yd}from"react/jsx-runtime";import{SettingsDefaultReset as GU,SettingsField as $U}from"efficient-easel/panel";import{PaddingXIcon as UU}from"efficient-easel/icons";var Mx="Side space",HP=Xt.default,jU="The room left at the left and right edge of every page.";function WP(e,o){return Hd(e,{desktop:{key:"site_gutter",value:o.gutter,unsetPx:HP,bounds:Xt},phone:{key:"site_gutter_phone",value:o.phone,unsetPx:nd(o.gutter),bounds:sl}})}function zP({value:e,onChange:o,showHint:t=!0,unsetPx:a=HP,bounds:r=Xt}){let n=e===null;return Yd($U,{label:i(Mx),labelId:"sf-side-space",icon:Yd(UU,{}),changed:!n,action:Yd(GU,{words:ee()?.panel,label:i(Mx),changed:!n,detail:`${a}px`,onReset:()=>o(null)}),hint:t?i(jU):void 0,children:Yd(Mo,{min:r.min,max:r.max,step:r.step,value:e,suffix:"px",placeholder:a,onClear:()=>o(null),ariaLabel:i(Mx),onChange:o})})}import{jsx as Hx}from"react/jsx-runtime";import{BACKGROUND_WIDTHS as oSe,SettingsBackgroundWidth as KU,SettingsContentWidth as qU}from"efficient-easel/panel";var VU="Background width",YU="Content width";var Xd=e=>i(mr[e==="content"?"page":"full"]),GP="The width of every section's background.",$P="The width of every section's content.";function UP({value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n,labelId:s}){return Hx(KU,{value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n?i(n):void 0,labelId:s,words:{label:i(VU),full:Xd("full"),content:Xd("content")},resetWords:ee()?.panel})}function jP({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:u,labelId:m}){let f=i(YU),x=e!=="full"?Hx(Mo,{min:a,max:t,step:uo.step,value:Math.min(Math.max(o,a),t),onChange:c,suffix:"px",ariaLabel:f}):null;return Hx(qU,{mode:e,onMode:l,number:x,changed:r,detail:n,fullClosed:s,onReset:d,hint:u?i(u):void 0,labelId:m,words:{label:f,full:Xd("full"),content:Xd("content")},resetWords:ee()?.panel})}import{jsx as B0}from"react/jsx-runtime";import{TextStyleItem as uK,TextStylesGroup as pK}from"efficient-easel/text-styles";import{jsx as nK}from"react/jsx-runtime";import{useState as sK}from"react";import{TextStylesList as lK}from"efficient-easel/text-styles";import{usePreviewDevice as iK}from"efficient-easel/draw/client";import{defaultTextStyles as S0,textStyleCaseCss as Xj,textStyleViewKey as Zj}from"efficient-easel/text-styles/model";import{phoneKey as Jj,resolveViewValue as w0,tabletKey as Qj}from"efficient-easel/draw";import{VIEW_DESKTOP_MIN as XU,VIEW_TABLET_MIN as KP}from"efficient-easel/draw";var qP=.02,Zd=`(min-width: ${KP}px) and (max-width: ${XU-qP}px)`,Rn=`(max-width: ${KP-qP}px)`;import{textStyleCaseCss as oj,textStyleCaseOfCss as tj}from"efficient-easel/draw";import{parseHexColor as XP}from"efficient-shell/format";import{COLOR_SLOTS as ZP,colorRole as ZU}from"efficient-shell/markup";var JP={main:Es.accent,text:Es.text,background:"var(--bg)",muted:Es.labels},JU={main:"Main",text:"Text",background:"Background",muted:"Muted"},VP={accent:"main",labels:"muted"};function Dt(e){return Object.hasOwn(VP,e)?VP[e]:e}function An(e){if(!e)return"";if(e.startsWith("#"))return XP(e)===e.toLowerCase()?e:"";let o=ZU(Dt(e));return o?.kind==="slot"?JP[o.slot]:""}var QU="#9ca3af";function Ln(e){return ZP.map(o=>({name:o,label:i(JU[o]),value:e?.[o]||QU}))}function QP(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 ZP){let l=JP[s].replace(/^var\((--[\w-]+)\)$/,"$1"),c=r.getPropertyValue(l).trim();if(!c)continue;let d=YP(c);!d&&n&&(n.fillStyle="#000000",n.fillStyle=c,d=YP(String(n.fillStyle))),d&&(o[s]=d)}return o}function YP(e){let o=e.trim().toLowerCase();if(o.startsWith("#"))return XP(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 Jd="data-sf-spec-region";function e0(e){return e.writable===!0&&e.sized===!0}function Qd(e,o,t){if(!e)return;let a=t[e];if(a)return{fontFamily:`var(--font-role-${e})`,fontSize:`var(--size-${a}, ${o.builtIn})`}}function Fn(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 Wx(e){return`@${e}`}function gl(e,o){if(!o.startsWith("@"))return null;let t=o.slice(1);return t in e?t:null}function ej(e,o){return o&&o in e?o:null}function Bn(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Dn(e,o){return Bn(e?.[o])??{}}function ef(e,o,t){let a=Dn(e,o);return Object.hasOwn(a,t)?Bn(a[t])??{}:{}}function of(e,o,t,a){let{[t]:r,...n}=Dn(e,o),s=a?{...n,[t]:a}:n,{[o]:l,...c}=e;return Object.keys(s).length?{...c,[o]:s}:c}var jx="_partStyles",Kx="data-sf-part-styled",Nn="data-sf-text-style",aj=/^(heading|body)-[1-7]$/;function Sr(e){return typeof e=="string"&&aj.test(e)}var tf={heading:"heading-1",heading2:"heading-2",heading3:"heading-3",body:"body-1",label:"body-5"};function rj(e){if(!e)return null;for(let[o,t]of Object.entries(tf))if(t===e)return o;return null}function qx(e){if(Sr(e.textStyle))return e.textStyle;let o=Ut(e.role);return o?tf[o]:void 0}var nj=[400,500,600,700],yl=["left","center","right","justify"],zx=5,Gx=1e3,sj=-5,lj=10,Vx=0,Yx=64,Xx=2,o0={size:{min:zx,max:Gx,step:1},sizeTablet:{min:zx,max:Gx,step:1},sizePhone:{min:zx,max:Gx,step:1},padding:{min:Vx,max:Yx,step:Xx}},ij=.05,cj=.01,dj=["line","letter"],fj=.5,uj=2.5,pj=-1,mj=1,hj=0,xj=400,Ij=[...new Set(Object.values(on))];function l0(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 kSe(e){return Dn(e,jx)}function Sl(e,o){return ef(e,jx,o)}function i0(e,o,t){return of(e,jx,o,gj(t).length?t:null)}function gj(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function bj(e){return dj.includes(e)}var bl=(e,o,t)=>Math.min(t,Math.max(o,e));function yj(e,o){if(bj(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:bl(t,sj,lj)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?Mn(bl(t,fj,uj),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?Mn(bl(t,pj,mj),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:bl(t,hj,xj)}if(Object.hasOwn(o0,e)){let{min:t,max:a}=o0[e],r=Math.round(Number(o));return Number.isFinite(r)?bl(r,t,a):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"||e==="fontRole"?Ut(o)?o:null:e==="sizeToken"?Zx(o)?o:null:e==="textStyle"?Sr(o)?o:null:e==="alignPhone"||e==="alignTablet"?yl.includes(o)?o:null:o}var Sj=["weight","size","sizeTablet","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding"];function Hn(e){let o=null,t=a=>{o??={...e},delete o[a]};for(let a of Sj){let r=e[a];r!==void 0&&!(typeof r=="number"&&Number.isFinite(r))&&t(a)}return e.align!==void 0&&!yl.includes(e.align)&&t("align"),e.alignTablet!==void 0&&!yl.includes(e.alignTablet)&&t("alignTablet"),e.alignPhone!==void 0&&!yl.includes(e.alignPhone)&&t("alignPhone"),e.textStyle!==void 0&&!Sr(e.textStyle)&&t("textStyle"),e.sizeToken!==void 0&&!Zx(e.sizeToken)&&t("sizeToken"),e.fontRole!==void 0&&!Ut(e.fontRole)&&t("fontRole"),o??e}function Zx(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"&&Ij.includes(c);return l(o)&&s(t)&&(a===void 0||l(a))&&(r===void 0||s(r))&&(n===void 0||wj(n,t))}function wj(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 Jx(e){return e?.pxPhone&&Zx(e)?{step:e.stepPhone??e.step,px:e.pxPhone}:null}function c0({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 Cj=[["font","role"],["font","fontRole"],["role","textStyle"],["line","lineHeight"],["letter","letterSpacing"]];function vj(e){let o=[];for(let[t,a]of Cj)t===e?o.push(a):a===e&&o.push(t);return o}function aa(e,o,t,a){let r={...Sl(e,o)},n=a==null?null:yj(t,a);if(n===null)delete r[t];else{r[t]=n;for(let s of vj(t))delete r[s]}return i0(e,o,r)}function d0(e,o){return i0(e,o,{})}function kj(e){return tj(e)??"none"}function Tj(e){return oj(e)??""}var t0={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 Pj(e,o){return Ut(e.role)||(o?.blockDrawsStyle?null:rj(e.textStyle))}function f0(e,o){return e==="Text"&&o==="text"}var Ej={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 Oj(e){let o=on[e],t=Ej[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function wl(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=Mn(_j+e.line*ij,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=Mn(e.letter*cj,4)),o}var _j=1,yr="--sf-part-para";function Rj(e){e=Hn(e);let o={};if(typeof e.sizePhone=="number"&&e.sizePhone>0)o.fontSize=`${e.sizePhone}px`;else{let a=Jx(e.sizeToken);if(a)o.fontSize=c0(a);else{let r=rf(e);r!==void 0&&(o.fontSize=`${r}px`)}}let t=e.alignPhone??af(e);return t&&(o.textAlign=t),o}function af(e){return e.alignTablet&&e.alignTablet!==e.align?e.alignTablet:void 0}function rf(e){let o=st("textSize",e.size,e.sizeTablet,void 0).tablet;return o&&o>0?o:void 0}function Aj(e){let o=Hn(e),t={},a=rf(o);a!==void 0&&(t.fontSize=`${a}px`);let r=af(o);return r&&(t.textAlign=r),t}function u0(e,o){if(o==="desktop")return;let t=Hn(e);return(o==="mobile"?af(t):void 0)??t.align}function Lj(e,o){if(o==="desktop")return e;let t=Hn(e),a=rf(t),r=af(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=Jx(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 Qx(e,o,t){return oI(Lj(e,o),nf,t)}function eI(e){return e==="mobile"?"sizePhone":e==="tablet"?"sizeTablet":"size"}function p0(e,o){if(o==="desktop")return null;let t=Hn(e);if(o==="mobile"){if(Jx(t.sizeToken))return null;let a=rf(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 m0(e,o){let t=eI(o);if(!Object.hasOwn(e,t))return e;let a={...e};return delete a[t],a}function TSe(e,o,t){let a=Qx(m0(e,o),o,t);return{fontFamily:a.fontFamily,fontSize:a.fontSize}}function oI(e,o,t){e=Hn(e);let a=Pj(e,t),r=wl(e),n=e.size?`${e.size}px`:e.sizeToken?c0(e.sizeToken):a?Oj(a):"";return{fontFamily:e.font?Nj(e.font):e.fontRole?`var(${t0[e.fontRole]})`:a?`var(${t0[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`:"",[yr]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:Tj(e.case),textAlign:e.align??"",paddingTop:a0(e.padding),paddingBottom:a0(e.padding),color:Fj(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var Fj=e=>An(e),a0=e=>e===void 0?"":`${e}px`,Mn=(e,o)=>Number(e.toFixed(o));function PSe(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:Bj(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(a)?Mn(a/t,3):1.2,letterEm:Number.isFinite(r)?Mn(r/t,4):0,align:Dj(e.textAlign),case:kj(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0}}function Bj(e){return Number.isFinite(e)?nj.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function Dj(e){for(let o of yl)if(o===e)return o;return e==="end"?"right":"left"}function ESe(e,o){let t=r0(e);if(!t)return"";for(let a of rt)if(r0(o(a.cssVar))===t)return a.key;return""}var r0=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function Nj(e){let o=en(e);return o?`var(${o.cssVar})`:""}function OSe(e,o,t,a){return!o||cx(o)?.nodeId!==e?null:t.find(r=>a(r.getAttribute("class")))??t[0]??null}function Mj(e,o){return Object.hasOwn(e,o)?Bn(e[o])??{}:{}}function _Se(e,o,t=()=>nf,a=l=>l,r=zj,n="desktop",s=()=>!1){let l=0;for(let{element:c,partId:d}of e){let u=cx(d)?.propKey;if(!u)continue;let m=Mj(o,a(u)),f=Qx(m,n,{blockDrawsStyle:s(u)});Sr(m.textStyle)?c.setAttribute?.(Nn,m.textStyle):c.removeAttribute?.(Nn);let x=$x.some(y=>c.style[y]),I=!1;for(let[y,v]of Object.entries(f))Uj(c,y,v),v&&(I=!0);if(x||$x.some(y=>f[y]))for(let y of Hj(c,r))for(let v of $x)y.style[v]=f[v]??"";I&&(l+=1)}return l}function Hj(e,o){let t=En(e.textContent??""),a=[],r=e;for(let n=0;n<Wj&&o(r);n+=1){let s=r.parentElement;if(!s||En(s.textContent??"")!==t)break;a.push(s),r=s}return a}var Wj=8;function zj(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var nf={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0};function Gj(e){if(!e||typeof e!="object")return null;let o={};return Sr(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 $j(e,o){let t=Gj(e);if(!t)return{};let a=Qx(t,o);return{...a.fontFamily?{fontFamily:a.fontFamily}:{},...a.fontSize?{fontSize:a.fontSize}:{}}}function h0(e){return Sr(e?.textStyle)||!!e?.role||typeof e?.size=="number"&&e.size>0}function RSe(e,o,t){if(!e||typeof e!="object")return{};let a=Qd(e.role,o,on)??{},r=o.sized?$j(m0(e,t),t):{};return{...a,...r}}function ASe(e,o,t){t.fontFamily&&e.fontFamily===t.fontFamily&&(e.fontFamily=o.fontFamily),t.fontSize&&e.fontSize===t.fontSize&&(e.fontSize=o.fontSize)}function Uj(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===yr&&(t?r.setAttribute?.(n0,""):r.removeAttribute?.(n0))}var n0="data-sf-part-para",jj=Object.keys(oI({},nf)),Ux=new Set(["color","overflowWrap",yr,"fontStyle"]),$x=jj.filter(e=>!Ux.has(e));function x0(e,o,t,a=l=>l,r=()=>!1,n=()=>null,s=[]){let l=new Map;for(let m of e){let f=Pn(m.key,m.row);for(let x of m.texts){let I=l.get(x);I?(I.keys.add(m.key),I.partKeys.add(f)):l.set(x,{keys:new Set([m.key]),partKeys:new Set([f])})}}let c=new Map;for(let m of new Set([...Object.keys(o),...s])){if(!Kj(m))continue;let f=s0(t,m,Bn(o[m])??{},!1,n(m));f&&c.set(m,f)}let d=m=>{let f=a(m),x=n(f);if(!Object.hasOwn(o,f)&&!x)return null;let I=Bn(o[f])??{};return s0(t,m,I,r(m),x)},u=new Map;for(let[m,{keys:f,partKeys:x}]of l){let I=x.size===1?[...x][0]:f.size===1?[...f][0]:null;if(!I)continue;let y=d(I);y&&u.set(m,y)}for(let m of e){if(!m.keyed)continue;let f=d(Pn(m.key,m.row));f&&c.set(m.key,f)}return u.size||c.size?{rules:u,kindRules:c,drawn:new Set(l.keys())}:null}function s0(e,o,t,a,r){let n=oI(t,nf,{blockDrawsStyle:a}),s=Aj(t),l=Rj(t),c=Sr(t.textStyle)?t.textStyle:void 0;return!Object.values(n).some(Boolean)&&!Object.keys(s).length&&!Object.keys(l).length&&!c&&!r?null:{stamp:qj(e,o),declarations:n,...Object.keys(s).length?{tablet:s}:{},...Object.keys(l).length?{phone:l}:{},...c?{textStyle:c}:{},...r?{motion:r}:{}}}function Kj(e){return e.startsWith("@")}function tI(e,o){return e?.kindRules.get(o)??null}function qj(e,o){let t=a=>a.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function I0(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,v])=>`${Vj(y)}: ${v}`).join("; "),d=`[${Kx}="${n}"]`,u=l.filter(([I])=>!Ux.has(I)),m=l.filter(([I])=>Ux.has(I));u.length&&o.push(`${d}, *:has(> ${d}) { ${c(u)} }`),m.length&&o.push(`${d} { ${c(m)} }`),s[yr]&&(o.push(`*:has(> ${d}) { ${yr}: ${s[yr]} }`),o.push(...sf(d,`*:has(> ${d})`)));let f=Object.entries(r.tablet??{}).filter(([,I])=>I!=="");f.length&&o.push(`@media ${Zd} { ${d}, *:has(> ${d}) { ${c(f)} } }`);let x=Object.entries(r.phone??{}).filter(([,I])=>I!=="");x.length&&o.push(`@media ${Rn} { ${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(`
|
|
56
|
+
`)}function sf(e,o){let t=`var(${yr})`,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 Vj=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function g0(e,o){if(!e)return null;let t=En(o),a=e.rules.get(t);if(a)return a;if(t.length<Yj||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 Yj=8;function b0(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 aI=e=>e==="sentence"?"none":void 0,C0=["font","color","size","sizeTablet","sizePhone","weight","italic","lineHeight","lineHeightTablet","lineHeightPhone","letterSpacing","letterSpacingTablet","letterSpacingPhone","paragraphSpacing","paragraphSpacingTablet","paragraphSpacingPhone","letterCase","largestSize","largestSizeTablet","largestSizePhone"],Wn=["desktop","tablet","phone"],Cl=(e,o)=>o==="desktop"?e:o==="tablet"?Qj(e):Jj(e),wr=(e,o)=>o==="desktop"?e:Zj(e,o);function sI(e,o,t,a=Qa()){return w0("textSize",o,e.sizeTablet,e.sizePhone,a)[t]}var eK=[["lineSpacing","lineHeight","line"],["letterSpacing","letterSpacing","letter"]];function rI(e){for(let[o,t,a]of eK)for(let r of Wn)if(e===wr(o,r))return{key:Cl(t,r),view:r,spacing:a};return{key:e,view:"desktop",spacing:null}}function Nt(e){let o={};for(let t of C0)e[t]!==void 0&&(o[t]=e[t]);return o}function lI(e,o){let{auto:t,...a}=e,r=new Set(o??[]),n=C0.filter(s=>r.has(s)&&e.values[s]===void 0);return n.length?{...a,auto:n}:a}function v0(e){let o=e.fonts,t=e.sizes,a=e.typography,r=aS(e.compression),n={"heading-1":{font:J(o.heading),size:K(t.headingLarge),weight:K(a.weight),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:aI(a.case),largestSize:K(a.maxPx)},"heading-2":{font:J(o.heading2),size:K(t.headingMedium),weight:K(a.weight2),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:aI(a.case2)},"heading-3":{font:J(o.heading3),size:K(t.headingSmall),weight:K(a.weight3),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:aI(a.case3)},"body-1":{font:J(o.body),size:K(t.body)},"body-5":{font:J(o.label),size:K(t.label)}};return S0().map(({id:s,kind:l,name:c})=>({id:s,kind:l,name:c,values:Nt(n[s]??{})}))}function iI(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=>lI({...o,values:Nt(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function jSe(e){return iI(e)??[]}function k0(e){return iI(e)??S0().map(({id:o,kind:t,name:a})=>({id:o,kind:t,name:a,values:{}}))}function ra(e,o){let t=v0(o),a=iI(e);return a?a.map(r=>{let n={...nI(t,r.id)};for(let s of r.auto??[])delete n[s];return{...r,values:Nt({...n,...r.values})}}):t}var nI=(e,o)=>e.find(t=>t.id===o)?.values??{},y0=["heading-1","heading-2","heading-3"];function T0({saved:e,old:o,cur:t,next:a,sizeOf:r,panelView:n="desktop"}){let s=v0(o),l=k0(e),c=ra(l,o),d=[],u=a.map(f=>{let x=t.find(T=>T.id===f.id),I=l.find(T=>T.id===f.id);if(!x||!I){let T=oK([f],r,n)[0],F=T.values.color;return F===void 0?T:{...T,values:{...T.values,color:Dt(F)}}}let y={...I.values},v=new Set(I.auto??[]),C=f.values,S=x.values,g=[...new Set([...Object.keys(C),...Object.keys(S)])].filter(T=>JSON.stringify(C[T])!==JSON.stringify(S[T])),k=T=>rI(T).spacing==="letter";g.sort((T,F)=>Number(k(T))-Number(k(F)));for(let T of g){let{key:F,view:P,spacing:B}=rI(T),E=F,R=C[T];if(R===void 0){delete y[E],nI(s,f.id)[E]!==void 0&&(d.push([f.id,E]),v.add(E));continue}if(v.delete(E),B==="line")y[E]=zn(R/100,3);else if(B==="letter"){let N={...c.find(L=>L.id===f.id)?.values??{}};for(let L of g)C[L]===void 0&&delete N[rI(L).key];let b=Nt({...N,...y}),_=sI(b,r({...f,values:b}),P);y[E]=_?zn(R/_,4):0}else y[E]=R}return lI({id:f.id,kind:f.kind,name:f.name,values:Nt(y)},v)}),m=o.compression;if(d.some(([f,x])=>(x==="lineHeight"||x==="letterSpacing")&&y0.includes(f))&&qa(m)!=="normal"){for(let f of y0){let x=u.find(y=>y.id===f);if(!x)continue;let I={...x.values};for(let y of["lineHeight","letterSpacing"])d.some(([v,C])=>v===f&&C===y)||I[y]===void 0&&!(x.auto??[]).includes(y)&&(I[y]=nI(s,f)[y]);x.values=Nt(I)}m="normal"}return{saved:u,old:{...o,compression:m}}}function P0(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=qa(e.old.compression)),t}var zn=(e,o)=>Number(e.toFixed(o)),E0=(e,o)=>Wn.indexOf(e)<Wn.indexOf(o)?o:e;function O0(e,o,t="desktop"){return e.map(a=>{let r={...a.values},n=o(a);for(let s of Wn){let l=Cl("lineHeight",s),c=a.values[l],d=a.values[Cl("letterSpacing",s)];delete r[l],c!==void 0&&(r[wr("lineSpacing",s)]=zn(c*100,1));let u=E0(s,t);d!==void 0&&(r[wr("letterSpacing",s)]=zn(d*sI(a.values,n,u),u===s?2:4))}return{id:a.id,kind:a.kind,name:a.name,values:r}})}function oK(e,o,t="desktop"){return e.map(a=>{let r=a.values,n={...r};for(let d of Wn)delete n[wr("lineSpacing",d)],delete n[wr("letterSpacing",d)];let s={id:a.id,kind:a.kind,name:a.name,values:Nt(n)},l={...s.values},c=o({...s,values:{...s.values}});for(let d of Wn){let u=r[wr("lineSpacing",d)],m=r[wr("letterSpacing",d)];if(typeof u=="number"&&(l[Cl("lineHeight",d)]=zn(u/100,3)),typeof m=="number"){let f=sI(s.values,c,E0(d,t));l[Cl("letterSpacing",d)]=f?zn(m/f,4):0}}return{...s,values:Nt(l)}})}function KSe(e){let o={fonts:Cs({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:bp({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:qa(e.heading_compression),typography:nS(e)},t=e.text_styles??null,a=Array.isArray(t)?cI(ra(t,o),o):o;return{fonts:Cs(a.fonts),sizes:bp(a.sizes),compression:qa(a.compression),typography:a.typography,textStyles:t}}function cI(e,o){let t=f=>e.find(x=>x.id===f)?.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,u=o.typography,m=f=>f==="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:{...u,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 qSe(e){let o=[];for(let t of e){let a=t.values,r=`.${b0(t)}`,n=`[${Nn}="${t.id}"]`,s=`${r}, ${n}`,l=[],c=a.font!==void 0?rt.find(f=>f.key===a.font)?.cssVar:void 0;if(c&&l.push(`font-family: var(${c})`),a.size!==void 0){let f=a.largestSize!==void 0?Math.min(a.size,a.largestSize):a.size;l.push(`font-size: ${f}px`)}let d=An(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 u=[];a.lineHeight!==void 0&&u.push(`line-height: ${a.lineHeight}`),a.letterSpacing!==void 0&&u.push(`letter-spacing: ${a.letterSpacing}em`),t.kind==="body"&&l.push(...u);let m=Xj(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"&&u.length&&o.push(`${s}, ${r}:is(h1, h2, h3, h4), ${n}:is(h1, h2, h3, h4) { ${u.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(...tK(t,s,r,n))}return o.join(`
|
|
57
|
+
`)}function tK(e,o,t,a){let r=e.values,n=st("textSize",r.size,r.sizeTablet,r.sizePhone),s=st("textSize",r.largestSize,r.largestSizeTablet,r.largestSizePhone),l=st("same",r.lineHeight,r.lineHeightTablet,r.lineHeightPhone),c=st("same",r.letterSpacing,r.letterSpacingTablet,r.letterSpacingPhone),d=st("spacing",r.paragraphSpacing,r.paragraphSpacingTablet,r.paragraphSpacingPhone),u=w0("textSize",r.size,r.sizeTablet,r.sizePhone,Qa()),m=aK[e.id],f=[];for(let[x,I]of[["tablet",Zd],["phone",Rn]]){let y=[],v=[],C=u[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&&v.push(`font-size: ${g}px`);let k=[];l[x]!==void 0&&k.push(`line-height: ${l[x]}`),c[x]!==void 0&&k.push(`letter-spacing: ${c[x]}em`),e.kind==="body"&&v.push(...k),d[x]!==void 0&&v.push(`--sf-part-para: ${d[x]}px`),v.length&&y.push(`${o} { ${v.join("; ")} }`),e.kind==="heading"&&k.length&&y.push(`${o}, ${t}:is(h1, h2, h3, h4), ${a}:is(h1, h2, h3, h4) { ${k.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&&f.push(`@media ${I} { ${y.join(" ")} }`)}return f}var aK={"heading-1":"headingLarge","heading-2":"headingMedium","heading-3":"headingSmall","body-1":"body","body-5":"label"};function VSe(e){return e!==!0&&e!==!1?"":`em.text-accent { font-style: ${e?"italic":"normal"} }`}function _0(e){return e?tf[e]:void 0}function dI(e){let o=wl(e);return Nt({font:e.font,color:e.color===void 0?void 0:Dt(e.color),size:e.size,weight:e.weight,italic:e.italic,lineHeight:o.lineHeight,letterSpacing:o.letterSpacingEm,paragraphSpacing:e.paragraphSpacing,letterCase:e.case})}function R0(e){return Object.keys(dI(e)).length>0}function A0({saved:e,old:o,styleId:t,values:a}){let r=k0(e);return{saved:rK(r,t,a),old:o}}function rK(e,o,t){return e.map(a=>a.id===o?lI({...a,values:Nt({...a.values,...t})},a.auto):a)}var cK={desktop:"desktop",tablet:"tablet",mobile:"phone"},L0=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],dK=["size","lineSpacing","letterSpacing","letterCase"],fK=500,fI=rt.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function F0({saved:e,old:o,colours:t,colourNameOf:a,sizeOf:r,onChange:n,openId:s,onOpenChange:l,readOnly:c=!1,withoutSize:d=!1}){let u=iK(),[m,f]=sK(null),x=ra(e,o),I=cK[u],y=O0(x,r,I);return nK(lK,{styles:y,onChange:v=>n(T0({saved:e,old:o,cur:y,next:v,sizeOf:r,panelView:I})),fonts:fI,colours:t,colourNameOf:a,settings:d?L0.filter(v=>v!=="size"):L0,auto:dK,openId:s===void 0?m:s,onOpenChange:l??f,readOnly:c,device:I,fallback:v=>{let C=x.find(g=>g.id===(v.kind==="heading"?"heading-1":"body-1")),S={};return C?.values.font&&v.id!==C.id&&(S.font=C.values.font),v.kind==="heading"&&(S.weight=fK),S}})}var D0=["font","size","weight","emphasis"],mK=500;function hK({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 xK(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 N0(e){let{headingWeight:o,open:t,onOpenChange:a,onChange:r,withoutSize:n=!1}=e,s=hK(e);return B0(pK,{label:i("Emphasis"),children:B0(uK,{style:s,fonts:fI,settings:n?D0.filter(l=>l!=="size"):D0,auto:["size"],fallback:()=>({weight:o??mK}),open:t,onOpenChange:a,onChange:l=>xK(s,l).forEach(r)})})}import{Button as zK,EmptyState as GK,SliderGroup as $K,Tabs as UK,Tooltip as xCe,tabButtonId as jK,tabPanelId as KK}from"efficient-shell/ui";import{ContrastIcon as qK,NoteIcon as VK,SettingsIcon as YK,TypeIcon as XK}from"efficient-easel/icons";function M0(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 hI}from"react/jsx-runtime";import{ListIcon as OK,PaddingTopIcon as _K}from"efficient-easel/icons";import{jsx as lf}from"react/jsx-runtime";import{SettingsDefaultReset as IK,SettingsField as gK,SettingsSegmented as bK}from"efficient-easel/panel";import{WidthIcon as yK}from"efficient-easel/icons";function H0({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 lf(gK,{label:d,labelId:r,icon:lf(yK,{}),value:l?n:void 0,changed:!l,action:lf(IK,{words:ee()?.panel,label:d,changed:!l,onReset:()=>t(void 0)}),hint:s,children:lf(bK,{options:[{label:i(mr.full),id:"full"},{label:i(mr.page),id:"content"}],value:c,ariaLabel:d,onChange:t})})}import{HEADER_TYPE as uI,FOOTER_TYPE as SK}from"efficient-easel/draw";var wK=new Set(["Hero","HeroSingle","IntroBleed"]),W0={min:56,max:140,default:88},Iwe={min:0,max:120,step:2,default:32},gwe=`var(--sf-header-h, ${W0.default}px)`,CK="--sf-header-set-h",bwe="--sf-header-h",ywe=`var(${CK}, ${W0.default}px)`,Swe="sf-header-clearance",wwe="sf-sticky-underheader";function vK(e){return e?.find(o=>o?.type&&o.type!==uI)??null}function z0(e){let o=vK(e)?.type;return!o||!wK.has(o)}function Cwe(e){return!z0(e)}function vwe(e){return!!e?.some(o=>o?.type===uI)}function kwe(e){return!e||e.length===0?!1:!e.some(o=>o?.type===uI||o?.type===SK)}var kK=["auto","shared","own"],pI="auto",TK="topSpace",Twe="data-top-space";function PK(e){return kK.includes(e)?e:pI}function EK(e,o){let t=PK(e?.props?.[TK]);return t==="own"?!0:t==="shared"?!1:z0(o)}function Pwe(e,o){return EK(e,o)?"own":null}function RK(){return{type:"custom",render:({value:e,onChange:o})=>hI(H0,{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 AK=[{label:"Auto",value:"auto"},{label:"Shared",value:"shared"},{label:"Its own",value:"own"}],Mwe={pageBackground:AT(),topSpace:It("Top space",hI(_K,{}),AK,pI),widthChoice:RK()},vl=["pageBackground","topSpace","widthChoice"],LK="Record type",mI=new Map,G0=-1;function FK(e){G0!==gm()&&(mI.clear(),G0=gm());let o=Im(),t=o.some(r=>r.key===e)?"":e,a=mI.get(t);return a||(a=It(LK,hI(OK,{}),[...o.map(r=>({label:r.label,value:r.key})),...t?[{label:t,value:t}]:[]],Ia),mI.set(t,a)),a}var $0=new WeakMap;function Hwe(e,o){if(!zs()||Im().length<2||hc in e)return e;let t=FK(Ws(o)),a=$0.get(e);if(a&&a.row===t)return a.fields;let r={[hc]:t,...e};return $0.set(e,{row:t,fields:r}),r}import{previewFrame as ZK}from"efficient-easel/screen/lib/document/preview-dom";var U0="background";function j0(e){let o=To(tn(e));return Ln({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 K0(e){return j0(e).filter(o=>o.key!==U0)}function q0(e){let o=j0(e).filter(t=>t.key===U0);return t=>{let a=Dt(t);return o.find(r=>r.key===a)?.value??a}}import{useEasel as BK}from"efficient-easel/easel";function cf({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=BK(P=>P),{fonts:r,setFonts:n,sizes:s,setSizes:l,headingCompression:c,setHeadingCompression:d,headingTypography:u,setHeadingTypography:m,textStyles:f,setTextStyles:x}=ue(),I=t.data,y=I.root?.props??{},v=e?Cs(y.fonts):r,C=e?Zy:s,S=e?qa(y.headingCompression):c,g=e?rS(y.headingTypography):u,k={fonts:v,sizes:C,compression:S,typography:g},T=e?y.textStyles:f,F=P=>a({type:"replaceRoot",root:{...I.root,props:{...y,...P}},recordHistory:!0});return{fonts:v,sizes:C,compression:S,typography:g,old:k,saved:T,write:(P,B)=>{let E=cI(ra(P.saved,P.old),P.old);e?F({textStyles:P.saved,fonts:E.fonts,headingCompression:E.compression,headingTypography:E.typography}):(x(P.saved),n(E.fonts),l(E.sizes),d(E.compression),m(E.typography)),o(P0(P,k),B)},writeRoot:F}}var II="sf-site-styles",JK="sf-site-styles-tabpanel",bI=!1,QK="Show hints";function yI({shown:e,onChange:o}){return se("div",{className:"sf-hints",children:se(zK,{type:"button",variant:"ghost","aria-pressed":e,leftIcon:se(VK,{size:13}),onClick:()=>o(!e),children:i(QK)})})}var X0="text",Un="basics",V0="this-page-group",Gn=[{id:Un,label:"Basics",icon:se(YK,{})},{id:"theme",label:"Theme",icon:se(qK,{})},{id:"text",label:"Text",icon:se(XK,{})}];function e8({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=Y0(d=>d),{theme:r,setTheme:n}=ue(),s=t.data,l=s.root?.props??{},c=d=>{if(e){let u={...l,theme:d};a({type:"replaceRoot",root:{...s.root,props:u},recordHistory:!0})}else n(d);o({selected_preset:d.selected,theme_presets:d.themes})};return se(yP,{value:e?l.theme:r,onChange:c})}function o8({themeFromDocument:e,persist:o}){let[t,a]=df(null),{theme:r,setFonts:n,setSizes:s,setHeadingTypography:l}=ue(),c=cf({themeFromDocument:e,persist:o}),{old:d,saved:u,writeRoot:m}=c,f=c.fonts,x=c.sizes,I=c.typography,y=P=>P.values.size??n8(t8[P.id]??"body")??a8[P.kind],v=P=>c.write(P),C=K0(r),S=q0(r),g=P=>{let B={...f,accent:P};e?m({fonts:B}):n(B),o({accent_font:P})},k=P=>{s({...x,accent:P}),o({accent_size_px:P})},T=P=>{let B={...I,weightStrong:P};e?m({headingTypography:B}):l(B),o({heading_weight_strong:P})},F=P=>{let B={...I,italicStrong:P};e?m({headingTypography:B}):l(B),o({accent_italic:P})};return Cr($n,{children:[se(F0,{saved:u,old:d,colours:C,colourNameOf:S,sizeOf:y,onChange:v,openId:t===xI?null:t,onOpenChange:a,withoutSize:e}),se(N0,{font:f.accent,size:x.accent,weight:I.weightStrong,italic:I.italicStrong,headingWeight:I.weight,open:t===xI,onOpenChange:P=>a(P?xI:null),onChange:P=>{P.key==="font"?g(P.value):P.key==="size"?k(P.value):P.key==="weight"?T(P.value):F(P.value)},withoutSize:e})]})}var xI="accent",t8={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},a8={heading:32,body:14},r8={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 n8(e){if(typeof document>"u")return null;let o=(ZK()?.contentDocument??document).querySelector(r8[e]);if(!o)return null;let t=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(t)?t:null}function s8({themeFromDocument:e,persist:o,showHint:t}){let{appState:a,dispatch:r}=Y0(f=>f),{cornerRadiusPx:n,setCornerRadiusPx:s}=ue(),l=a.data,c=l.root?.props??{},d=c.cornerRadiusPx===void 0?Qy[Jy(c.cornerStyle)]:Ot(c.cornerRadiusPx),u=e?d:n,m=f=>r({type:"replaceRoot",root:{...l.root,props:{...c,...f}},recordHistory:!0});return se(SP,{value:u,onChange:f=>{e?m({cornerRadiusPx:f}):s(f),o({corner_radius_px:f})},showHint:t})}function l8(e){return{site_width:e}}function i8({persist:e,showHint:o}){let{siteWidth:t,setSiteWidth:a,sectionBackgroundWidth:r,setSectionBackgroundWidth:n,sectionContentWidth:s,setSectionContentWidth:l}=ue();if(gI()!=="desktop")return null;let c=typeof t=="number"?t:uo.default,d=f=>{a(f),e(l8(f),f===null)},u=f=>{n(f),e({section_background_width:f},!0)},m=f=>{l(f),e({section_content_width:f},!0)};return Cr($n,{children:[se(UP,{value:r??"full",changed:r!==null,detail:i("Full width"),onChange:u,onReset:()=>u(null),hint:o?GP:void 0}),se(jP,{mode:s??"content",px:c,min:uo.min,max:uo.max,changed:typeof t=="number"||s!==null,detail:`${i("Content width")} ${uo.default}px`,onMode:m,onPx:f=>d(f),onReset:()=>{m(null),d(null)},hint:o?$P:void 0})]})}function c8(e){return{block_gap:e}}function d8(e){return{block_gap_phone:e}}function f8(e){return{site_gutter:e}}function u8(e){return{site_gutter_phone:e}}function Z0(e,[o,t],a){o(e),a(t(e),e===null)}function p8({persist:e,showHint:o}){let{siteGutter:t,siteGutterPhone:a,setSiteGutter:r,setSiteGutterPhone:n}=ue(),s=WP(gI(),{gutter:t,phone:a});if(!s)return null;let l=s.key==="site_gutter_phone"?[n,u8]:[r,f8];return se(zP,{value:s.value,onChange:c=>Z0(c,l,e),showHint:o,unsetPx:s.unsetPx,bounds:s.bounds})}function m8({persist:e,showHint:o}){let{blockGap:t,blockGapPhone:a,setBlockGap:r,setBlockGapPhone:n}=ue(),s=TP(gI(),{gap:t,phone:a});if(!s)return null;let l=s.key==="block_gap_phone"?[n,d8]:[r,c8];return se(PP,{value:s.value,onChange:c=>Z0(c,l,e),showHint:o,followsPx:s.followsPx})}function h8({persist:e,showHint:o=!0}){return Cr($n,{children:[se(i8,{persist:e,showHint:o}),se(p8,{persist:e,showHint:o}),se(m8,{persist:e,showHint:o})]})}function x8(e){return{card_shadow:e}}function I8(e){return e===null?{shadow_color:null}:{shadow_color:tS(e)}}function g8(e){return{hover_effect:e}}function b8({persist:e,showHint:o=!0}){let{cardShadow:t,setCardShadow:a,shadowColor:r,setShadowColor:n,hoverEffect:s,setHoverEffect:l}=ue();return Cr($n,{children:[se(wP,{value:t,onChange:c=>{a(c),e(x8(c),!0)},showHint:o}),se(vP,{value:r,onChange:c=>{n(c),e(I8(c),c===null)},showHint:o}),se(BP,{value:s,onChange:c=>{l(c),e(g8(c),!0)},showHint:o})]})}function y8(e){return{photography_grayscale:e}}function S8({persist:e,showHint:o}){let{photographyGrayscale:t,setPhotographyGrayscale:a}=ue();return se(NP,{value:t,onChange:r=>{a(r),e(y8(r),!0)},showHint:o})}function w8({persist:e,showHint:o=!0}){return se($n,{children:se(S8,{persist:e,showHint:o})})}function C8(e){return{share_button_on_posts:e}}function v8({persist:e,showHint:o=!0}){let{shareButtonOnPosts:t,setShareButtonOnPosts:a}=ue();return se(MP,{value:t,onChange:r=>{a(r),e(C8(r),!0)},showHint:o})}function jn(){let{websiteName:e}=ue();return e?.trim()||uS}function ff({themeFromDocument:e=!1,tokenRef:o,siteId:t,onNotify:a,tab:r,onTabChange:n,initialTab:s,revealPageGroup:l=!1,onPageGroupRevealed:c}){let{persist:d}=mn({themeFromDocument:e,tokenRef:o,siteId:t,onResult:S=>{let g=M0(S);g&&a?.(g.msg,g.tone)}}),[u,m]=df(s??Gn[0].id),f=r!==void 0,x=f?r:u,I=f?n??(()=>{}):m,y=Gn.find(S=>S.id===x)??Gn[0],[v,C]=df(bI);return Cr($K,{children:[se(P8,{activeId:y.id,onSelect:I}),Cr("div",{id:KK(II,y.id),className:JK,role:"tabpanel","aria-labelledby":jK(II,y.id),children:[x===Un&&Cr($n,{children:[se(s8,{themeFromDocument:e,persist:d,showHint:v}),!e&&se(b8,{persist:d,showHint:v}),!e&&se(h8,{persist:d,showHint:v}),!e&&se(w8,{persist:d,showHint:v}),!e&&se(v8,{persist:d,showHint:v}),se(k8,{reveal:l,onRevealed:c}),se(yI,{shown:v,onChange:C})]}),x==="theme"&&se(e8,{themeFromDocument:e,persist:d}),x==="text"&&se(o8,{themeFromDocument:e,persist:d})]})]})}function k8({reveal:e,onRevealed:o}){let[t,a]=df(!0),r=WK(o);return r.current=o,HK(()=>{if(!e)return;a(!0);let n=requestAnimationFrame(()=>{document.getElementById(V0)?.scrollIntoView({block:"start"}),r.current?.()});return()=>cancelAnimationFrame(n)},[e]),se(MK,{title:i("This page"),open:t,onToggle:a,id:V0,children:se(T8,{})})}function T8(){let{fields:e,values:o,readOnly:t,onChange:a}=DK(),r=Object.fromEntries(vl.filter(n=>n in e).map(n=>[n,e[n]]));return Object.keys(r).length===0?se(GK,{variant:"none",icon:!1,message:i("This page has no look of its own to set.")}):se(NK,{fields:r,values:o,onChange:a,readOnly:t,tabs:!1,idPrefix:"this-page",ariaLabel:i("This page")})}function P8({activeId:e,onSelect:o}){return se("div",{className:"es-insp-tabs",children:se(UK,{variant:"underline",block:!0,labelsFit:!0,"aria-label":i("Styles"),idPrefix:II,value:e,onChange:o,items:Gn.map(t=>{let a=i(t.label);return{id:t.id,icon:t.icon,label:a}})})})}import{InspectorIconButton as N8}from"efficient-easel/chrome";import{Button as nE,Dialog as M8,FormField as H8,Input as sE,PopupMenu as W8,PopupMenuItem as lE,toast as iE}from"efficient-shell/ui";import{LayersTree as z8,TreeGroupLabel as G8,TreeRow as cE,TreeRowAction as hf}from"efficient-easel/tree";import{AddIcon as $8,DuplicateIcon as U8,PageIcon as j8,SettingsIcon as K8}from"efficient-easel/icons";import{PagesIcon as q8}from"efficient-easel/rail";import{useEaselHost as V8}from"efficient-easel/screen/lib/host";import{useEaselSession as pE}from"efficient-easel/screen/lib/session-context";import{useCallback as uf,useEffect as E8,useSyncExternalStore as O8}from"react";import{useScreenDocument as oE}from"efficient-easel/screen/components/ScreenDocumentContext";var J0=new WeakMap;function kl(e){let o=J0.get(e);return o||(o={rows:null,loading:null,listeners:new Set},J0.set(e,o)),o}function SI(e,o){e.rows=o;for(let t of e.listeners)t()}var pf=new Set;function mf(e,o){o?pf.add(e):pf.delete(e)}function Q0(e){let o=kl(e),t=e.listPages().then(a=>SI(o,pf.size?a.filter(r=>!pf.has(r.id)):a),()=>SI(o,[])).finally(()=>{o.loading===t&&(o.loading=null)});return o.loading=t,t}var eE=()=>null,_8=()=>()=>{};function Tl(){let{adapter:e,ready:o}=oE(),t=uf(l=>{let{listeners:c}=kl(e);return c.add(l),()=>c.delete(l)},[e]),a=uf(()=>kl(e).rows,[e]),r=O8(o?t:_8,o?a:eE,eE);E8(()=>{if(!o)return;let l=kl(e);l.rows===null&&!l.loading&&Q0(e)},[e,o]);let n=uf(()=>o?Q0(e):Promise.resolve(),[e,o]),s=uf(l=>SI(kl(e),l),[e]);return{rows:r,reload:n,setRows:s,getRows:a}}function R8(e,o){return e?.find(t=>t.slug===o)?.label?.trim()||`/${o}`}function tE(){let{currentSlug:e}=oE(),{rows:o}=Tl();return R8(o,e)}import{canDuplicatePage as Y8,DuplicatePageDialog as X8,uniqueSlug as dE}from"efficient-easel/page-copy";var fE="sf-editor-pages-collapsed-groups";function Z8(){let e=pE(),{siteId:o,templateId:t}=uE(),a=$e(e).pages;if(!(!a.duplicate||t))return(r,n)=>a.duplicate(r.id,{...n,...o?{siteId:o}:{}})}function J8(){try{let e=nn()||(typeof window>"u"?"":window.location.origin);return e?new URL(e).host:""}catch{return""}}function mE({onNavigate:e,onClose:o,activeSurface:t,onPreviewSurface:a}){let r=pE().chrome?.pageRows,n=V8(),{adapter:s,capabilities:l,ready:c,currentSlug:d}=uE(),u=jn(),{rows:m,reload:f,setRows:x,getRows:I}=Tl(),[y,v]=_a(""),[C,S]=_a(!1),[g,k]=_a(null),[T,F]=_a(!1),[P,B]=_a(""),E=F8(),R=Z8(),[N,b]=_a(null),[_,L]=_a(()=>{if(typeof window>"u")return new Set;try{let M=window.localStorage.getItem(fE);return new Set(M?JSON.parse(M):[])}catch{return new Set}});L8(()=>{try{window.localStorage.setItem(fE,JSON.stringify([..._]))}catch{}},[_]);let H=M=>L(re=>{let be=new Set(re);return be.has(M)?be.delete(M):be.add(M),be}),Z=rE(()=>Qw(m??[]),[m]),V=y.trim().toLowerCase(),U=M=>!V||M.toLowerCase().includes(V),Pe=M=>V?!0:!_.has(M),Se=rE(()=>new Set((m??[]).map(M=>M.slug)),[m]),qe=()=>{if(l.pageCreationInAdminForm){n.send("storefront-editor:new-page");return}B(""),k(null),F(!0)},He=async()=>{let M=P.trim();if(!(!M||!c||C||!s.createPage)){S(!0),k(null);try{let re=await s.createPage({slug:dE(M,Se),title:M,layout:{}});await f(),F(!1),B(""),e(re.slug)}catch{k(i("Couldn\u2019t add the page \u2014 please retry."))}finally{S(!1)}}},he=l.hasSiteSettings&&!!s.createPage,xe=async()=>{if(!(!c||C||!s.createPage)){S(!0),k(null);try{let M=await s.createPage(Uv(i("New popup"),Se));await f(),e(M.slug)}catch{k(i("Couldn\u2019t add the popup \u2014 please retry."))}finally{S(!1)}}},we=B8(null),[Xe,Ve]=_a(null),de=()=>{if(!he)return qe();if(Xe)return Ve(null);let M=we.current?.getBoundingClientRect();M&&Ve({top:M.bottom+6,right:Math.max(8,window.innerWidth-M.right)})},Re=M=>{let re=m??[],be=s.deletePage;if(!c||C||!be||re.length<=1)return;let We=re.findIndex(lo=>lo.id===M.id),Fe=re.filter(lo=>lo.id!==M.id),da=M.slug===d;mf(M.id,!0),x(Fe),k(null),da&&Fe[0]&&e(Fe[0].slug);let Jr=()=>{mf(M.id,!1);let lo=I()??[];if(lo.some(ws=>ws.id===M.id))return;let Ga=[...lo];Ga.splice(Math.max(0,Math.min(We,Ga.length)),0,M),x(Ga)};iE.undoable(i("Deleted \u201C{name}\u201D",{name:M.label}),{actionLabel:i("Undo"),commit:async lo=>{await be(M.id,lo),mf(M.id,!1)},undo:()=>{Jr(),da&&e(M.slug)},onFail:()=>{Jr(),iE.error(i("Couldn\u2019t delete the page \u2014 please retry."))}})},to=M=>n.send("storefront-editor:open-page",{slug:M}),Ae=M=>{if(!U(M.label))return null;let re=!t&&M.slug===d,be=l.canDeletePagesInline&&(m??[]).length>1,We=nr(M),Fe=Jw(M),da=[...We?[{label:i("Dynamic"),tone:"info"}]:[],...Fe?[{label:i("Lightbox"),tone:"success"}]:[],...M.draft?[{label:i("draft"),tone:"draft"}]:[]],Jr=da.length>0?da:void 0,lo=!!R&&Y8(M),Ga=lo||l.pageCreationInAdminForm||be?Pl(aE,{children:[lo&&Ce(hf,{kind:"plain",label:i("Duplicate \u201C{name}\u201D",{name:M.label}),disabled:C,onClick:()=>b(M),children:Ce(U8,{size:13})}),l.pageCreationInAdminForm&&Ce(hf,{kind:"plain",label:i("Page settings for \u201C{name}\u201D",{name:M.label}),onClick:()=>to(M.slug),children:Ce(K8,{size:13})}),be&&Ce(hf,{kind:"delete",label:i("Delete \u201C{name}\u201D",{name:M.label}),disabled:C,onClick:()=>Re(M),children:Ce(wI,{name:"trash",size:13,strokeWidth:1.7,rounded:!0})})]}):void 0;return Ce(cE,{icon:Ce(j8,{size:14}),name:M.label,selected:re,onSelect:()=>e(M.slug),badge:Jr,actions:Ga,rowProps:{"data-page-slug":M.slug}},M.id)},Ge=(M,re,be)=>{let We=be.filter(Boolean);if(We.length===0)return null;let Fe=Pe(M);return Pl(A8,{children:[Ce(G8,{count:We.length,countLabel:yo("{n} page","{n} pages",We.length),expanded:Fe,onToggle:()=>H(M),children:re}),Fe&&We]},M)},Bo=(r?.rows??[]).filter(M=>U(M.label)).map(M=>{let re=t===M.key;return Ce(cE,{icon:M.icon,name:M.label,selected:re,onSelect:()=>a(M.key),badge:{label:i("Preview"),tone:"warning"},actions:Ce(hf,{kind:"plain",label:i("Open the {name} in a new tab",{name:M.label}),onClick:()=>window.open(M.href,"_blank","noopener,noreferrer"),children:Ce(wI,{name:"external-link",size:13,strokeWidth:1.7,rounded:!0})}),rowProps:{"data-shop-surface":M.key}},M.key)}),Go=l.hasSiteSettings&&!!r,Do=(()=>{if(m===null)return null;let M=[],re=!1;for(let be of Z){Go&&!re&&be.key.startsWith("system:")&&(M.push(Ge("shop",r.title,Bo)),re=!0);let We=be.key===Sm||be.label===ym?i(be.label):be.label;M.push(Ge(be.key,We,be.rows.map(Ae)))}return Go&&!re&&M.push(Ge("shop",r.title,Bo)),M})();return Pl("div",{className:"sf-pages",children:[Ce(D8,{icon:Ce(q8,{}),title:i("Pages"),context:u,actions:Ce(N8,{buttonRef:we,label:he?i("Add"):i("New page"),hasPopup:he?"menu":void 0,expanded:he?Xe!==null:void 0,onClick:de,children:Ce($8,{size:15})})}),Xe&&Ce(W8,{portal:!0,style:{top:Xe.top,right:Xe.right},onClose:()=>Ve(null),children:Pl("div",{role:"menu","aria-label":i("Add"),children:[Ce(lE,{role:"menuitem",onClick:()=>{Ve(null),qe()},children:i("Page")}),Ce(lE,{role:"menuitem",disabled:C,onClick:()=>{Ve(null),xe()},children:i("Popup")})]})}),Ce("div",{className:"sf-pages-find",children:Ce(sE,{type:"search",leftIcon:Ce(wI,{name:"search",size:14,rounded:!0}),placeholder:i("Search all pages\u2026"),value:y,onChange:M=>v(M.target.value),"aria-label":i("Search all pages")})}),g&&!T&&Ce("div",{className:"sf-note sf-note--error",role:"alert",children:g}),Do===null?Ce("div",{className:"sf-note",children:i("Loading\u2026")}):Do.some(Boolean)?Ce(z8,{ariaLabel:i("Pages"),className:"sf-scroll",children:Do}):Ce("div",{className:"sf-note",children:y.trim()?i("No pages match your search"):i("No pages yet. Add one with + above.")}),R&&N&&Ce(X8,{source:{title:N.label,slug:N.slug},taken:Se,host:J8(),duplicate:M=>R(N,M),onClose:()=>b(null),onDuplicated:M=>{b(null),f(),e(M.slug)}},N.id),Ce(M8,{open:T,onClose:()=>F(!1),size:"sm",title:i("Add a page"),description:i("Give the new template page a name. It starts blank \u2014 add sections once it opens."),footer:Pl(aE,{children:[Ce(nE,{variant:"secondary",onClick:()=>F(!1),children:i("Cancel")}),Ce(nE,{onClick:()=>{He()},disabled:C||!P.trim(),loading:C,children:i("Add page")})]}),children:Ce(H8,{label:i("Page name"),htmlFor:E,hint:P.trim()?i("URL: /{slug}",{slug:dE(P,Se)}):void 0,error:g??void 0,children:Ce(sE,{id:E,value:P,invalid:!!g,onChange:M=>B(M.target.value),onKeyDown:M=>{M.key==="Enter"&&He()},placeholder:i("e.g. About")})})})]})}import{jsx as IE}from"react/jsx-runtime";import{createContext as e7,useCallback as o7,useContext as t7,useMemo as a7,useState as r7}from"react";import{CanvasChromeContext as n7}from"efficient-easel/easel";import{useSelectHandler as s7}from"efficient-easel/draw/client";import{parseHexColor as Q8}from"efficient-shell/format";var xf=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],Kn=xf[0];var vr="right";function If(e){return xf.includes(e??"")?e:Kn}function hE(e){return e==="left"?"left":vr}function xE(e){return e&&Q8(e)===e.toLowerCase()?e.toLowerCase():""}var gE="chat",gf={enabled:!0,title:"",subtitle:"",greeting:"",launcherColor:"",launcherIcon:"",launcherPosition:vr,launcherLabel:"",showOnPhones:!0};function sve(e){return{enabled:e.enabled,title:e.title,subtitle:e.subtitle,greeting:e.greeting,launcherColor:xE(e.launcherColor),launcherIcon:e.launcherIcon?If(e.launcherIcon):"",launcherPosition:hE(e.launcherPosition),launcherLabel:e.launcherLabel??"",showOnPhones:e.showOnPhones!==!1}}var bE=e7({chat:gf,setChat:()=>{},setSelected:()=>{},setSelectHandler:()=>{}});function lve({children:e,chat:o=gf,onChatChange:t}){let[a,r]=r7(!1),n=o7(d=>t?.(d),[t]),{select:s,setSelectHandler:l}=s7(),c=a7(()=>({selected:()=>a?gE:null,select:d=>d===gE&&s()}),[a,s]);return IE(bE.Provider,{value:{chat:o,setChat:n,setSelected:r,setSelectHandler:l},children:IE(n7.Provider,{value:c,children:e})})}var bf=()=>t7(bE);import{jsx as CI}from"react/jsx-runtime";import{DesktopIcon as l7,PhoneIcon as i7,TabletIcon as c7}from"efficient-easel/icons";import{VIEW_TIERS as d7,VIEW_TIER_LABEL as f7}from"efficient-easel/draw";var u7={desktop:CI(l7,{}),tablet:CI(c7,{}),mobile:CI(i7,{})},yE=d7.map(e=>({id:e,get label(){return i(f7[e])},icon:u7[e]}));import{PreviewDeviceContext as Ure}from"efficient-easel/draw/client";import{jsx as p7}from"react/jsx-runtime";import{createContext as m7,useCallback as SE,useContext as h7,useMemo as x7,useRef as I7}from"react";var g7=Object.fromEntries(Zi.map(e=>[e,{value:"",error:null}])),wE=m7({links:mS,rows:g7,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function Ive({children:e,value:o}){let t=I7(()=>{}),a=SE(()=>t.current(),[]),r=SE(s=>{t.current=s},[]),n=x7(()=>({...o,openPanel:a,setOpenHandler:r}),[o,a,r]);return p7(wE.Provider,{value:n,children:e})}var El=()=>h7(wE);import{jsx as b7}from"react/jsx-runtime";import{createContext as y7,useContext as S7,useMemo as w7,useState as C7}from"react";var CE=y7(null);function Sve({children:e}){let[o,t]=C7(null),a=w7(()=>({surface:o,setSurface:t}),[o]);return b7(CE.Provider,{value:a,children:e})}function vE(){return S7(CE)??{surface:null,setSurface:()=>{}}}import{createPreviewSelectionContext as v7}from"efficient-easel/draw/client";var Ol="Scrolling Bar",{Provider:vve,useSelection:kE}=v7("selectedHeroId"),kve="data-sf-hero-ticker";function Tve(e){return`${e}::ticker`}function Pve(e){return!e||!e.endsWith("::ticker")?null:e.slice(0,-8)||null}var TE=["","","","","",""],PE="#ticker",_l="strip",vI={sectionAccent:wa,line:!1};function k7(e){return(Array.isArray(e.tickerItems)?e.tickerItems:[]).map(o=>typeof o?.text=="string"?o.text:"").filter(o=>o.trim()!=="")}function kI(e){return k7(e).length>0}function _ve(e){return e.showTicker!==!1&&kI(e)}import{createPreviewSelectionContext as T7}from"efficient-easel/draw/client";var{Provider:Lve,useSelection:yf}=T7("selectedHeroPart");var OE=["one","side","stacked"];var Bve={one:"One",side:"Side by side",stacked:"Stacked"};function Sf(e){return OE.includes(e)?e:"one"}function EE(e){return e==="one"?1:2}function TI(e,o){if(OE.includes(e))return e;let t=Sf(o);return t==="side"?"stacked":t}function Rl(e){let o=Sf(e.mediaLayout);return Math.max(EE(o),EE(TI(e.mediaLayoutPhone,o)))}var kr=["media","image","image2"],qn={media:"Media",image:"Image",image2:"Image 2"},Al={media:"heroMedia",image:"heroImage",image2:"heroImage2"};function wf(e,o){return e==="image"&&Rl(o)>1?"Image 1":qn[e]}var Hve="Video file",Wve="Upload a video file";function P7(e,o){return{field:"mediaType",is:e,default:o}}var E7=new Set(["HeroSingle"]),_E="heroPart";function O7(e,o){return{...o,[_E]:e}}function zve(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]=Ze(n[l],P7(s,a));for(let[s,l]of Object.entries(r??{}))l&&(n[s]=Ze(n[s],l));for(let s of kr)for(let l of o[s]??[])n[l]=O7(s,n[l]);return n}function _7(e){let o=e?.[_E];return kr.includes(o)?o:null}function RE(e,o){let t={};for(let[a,r]of Object.entries(e))_7(r)===o&&(t[a]=r);return t}function AE(e){if(!E7.has(e.type))return[];let o=[{part:"media",label:qn.media,depth:0}];return(e.props.mediaType??"image")!=="video"&&(o.push({part:"image",label:wf("image",e.props),depth:1}),Rl(e.props)>1&&o.push({part:"image2",label:wf("image2",e.props),depth:1})),o}function Ll(e,o){return`${e}::${o}`}function LE(e){if(!e)return null;let o=e.lastIndexOf("::");if(o<=0)return null;let t=e.slice(o+2);return kr.includes(t)?{nodeId:e.slice(0,o),part:t}:null}var FE="data-sf-hero-part";import{jsx as ye,jsxs as Lr,Fragment as p1}from"react/jsx-runtime";import{useState as VX}from"react";import{useEasel as YX,useRootFields as XX}from"efficient-easel/easel";import{Button as ZX,EmptyState as JX}from"efficient-shell/ui";function BE({kind:e,pageName:o}){return{name:o?.trim()||i("This page"),kindLabel:nr({kind:e})?i("Template"):i("Page")}}import{headWords as I1,InspectorHead as QX,InspectorIconButton as m1}from"efficient-easel/chrome";import{DuplicateIcon as eZ,TrashIcon as oZ}from"efficient-easel/icons";import{panelFieldsOf as tZ}from"efficient-easel/screen/lib/document/panel-fields";import{jsx as D,Fragment as fe,jsxs as pe}from"react/jsx-runtime";import{BlockBannerIcon as L7,BlockBoxIcon as F7,BlockButtonIcon as B7,BlockDividerIcon as NE,BlockFooterIcon as ME,BlockHeadingIcon as D7,BlockProductIcon as N7,BlockSocialIcon as M7,BlockTextIcon as H7,CardPaymentIcon as W7,ChatIcon as z7,AccountIcon as G7,GlobeIcon as $7,GridIcon as U7,ImageIcon as EI,MapIcon as j7,MediaIcon as K7,PageIcon as q7}from"efficient-easel/icons";import{jsx as PI,Fragment as R7,jsxs as A7}from"react/jsx-runtime";var DE=A7(R7,{children:[PI("circle",{cx:"9",cy:"20",r:"1.3"}),PI("circle",{cx:"18",cy:"20",r:"1.3"}),PI("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 V7={header:pe(fe,{children:[D("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),D("path",{d:"M3 9.5h18"})]}),social:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{children:[D("circle",{cx:"11",cy:"11",r:"6"}),D("path",{d:"M20 20l-4.2-4.2"})]}),CartBlock:DE,CountrySwitchBlock:pe(fe,{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:pe(fe,{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:pe(fe,{children:[D("path",{d:"M3 9h18"}),D("path",{d:"M3 14h8M14 14h2M18 14h3"})]}),Hero:pe(fe,{children:[D("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),D("path",{d:"M7 13.5h7M7 16.5h10"})]}),HeroSlide:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{children:[D("rect",{x:"6",y:"4",width:"12",height:"16",rx:"2"}),D("path",{d:"M9 15h6M9 17.5h4"})]}),AlloyWheelsListing:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{children:[D("path",{d:"M3.5 20h17"}),D("path",{d:"M6 20v-7M11 20V7M16 20v-5M20.5 20v-9"})]}),Logos:pe(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{children:[D("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),D("path",{d:"M3 13.5h18M7 16.8h6"})]}),Split:pe(fe,{children:[D("rect",{x:"3",y:"5",width:"8",height:"14",rx:"1.5"}),D("path",{d:"M14 8.5h6M14 12h6M14 15.5h4"})]}),Eyebrow:pe(fe,{children:[D("path",{d:"M4 8.5h4.5M11 8.5h9"}),D("path",{d:"M4 14.5h16"})]}),HeroGroup:pe(fe,{children:[D("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2"}),D("path",{d:"M7 9h8M7 12.5h10M7 16h6"})]}),Form:pe(fe,{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(fe,{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:pe(fe,{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:pe(fe,{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:pe(fe,{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"})},Y7=D("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),X7={footer:ME,Footer:ME,Divider:NE,FooterDivider:NE,Banner:L7,Flex:F7,FooterSocial:M7,FooterPayment:W7,page:q7,website:$7,AccountBlock:G7,chat:z7,Heading:D7,Text:H7,ImageBlock:EI,ButtonBlock:B7,LocationMap:j7,Grid:U7,ProductRef:N7,heroMedia:K7,heroImage:EI,heroImage2:EI},Z7={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",PaymentLogosBlock:"FooterPayment",SiteHeader:"header",SiteFooter:"footer"};function Tr({type:e,size:o=16,className:t}){let a=Z7[e]??e,r=X7[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:V7[a]??Y7})}import{PanelHideButton as h1}from"efficient-easel/screen/components/SidePanelHead";import{useEaselSession as aZ}from"efficient-easel/screen/lib/session-context";import{jsx as ke,jsxs as Fl,Fragment as J7}from"react/jsx-runtime";import{useEffect as Q7,useId as HE,useState as eq}from"react";import{IconPicker as oq}from"efficient-shell/ui";import{SettingsDefaultReset as tq,SettingsField as Bl,SettingsSegmented as aq,SettingsSwitch as WE}from"efficient-easel/panel";import{ButtonIcon as rq,ButtonIconIcon as nq,EyeIcon as sq,PhoneIcon as lq,PlacementIcon as iq,TypeIcon as cq}from"efficient-easel/icons";var dq="Chat with us",fq="We usually reply within a few minutes",uq="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function Cf({label:e,value:o,placeholder:t,onCommit:a,multiline:r=!1,hint:n}){let[s,l]=eq(o);Q7(()=>l(o),[o]);let c=()=>{s!==o&&a(s)};return ke(Bl,{label:e,icon:ke(cq,{}),changed:o!=="",action:ke(Dl,{label:e,changed:o!=="",onReset:()=>a("")}),hint:n,children:r?ke("textarea",{value:s,placeholder:t,rows:3,onChange:d=>l(d.target.value),onBlur:c,"aria-label":e}):ke("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 Dl({label:e,changed:o,onReset:t}){return ke(tq,{words:ee()?.panel,label:e,changed:o,onReset:t})}function pq({label:e,icon:o,checked:t,fallback:a,onChange:r,hint:n}){let s=HE();return ke(Bl,{label:e,labelId:s,icon:o,changed:t!==a,action:Fl("span",{className:"inline-flex items-center gap-2",children:[ke(WE,{checked:t,onChange:r,ariaLabelledBy:s}),ke(Dl,{label:e,changed:t!==a,onReset:()=>r(a)})]}),hint:n})}var mq=xf.map(e=>({value:e,icon:bc(e)}));function hq(){let{theme:e}=ue(),o=io(e).themes[0];return vs(o)??o?.accent??""}function zE(){let{chat:e,setChat:o}=bf(),t=HE(),a=hq(),r=e.launcherIcon?If(e.launcherIcon):Kn;return Fl(J7,{children:[ke(Bl,{label:i("Show the chat bubble"),labelId:t,icon:ke(sq,{}),changed:!e.enabled,action:Fl("span",{className:"inline-flex items-center gap-2",children:[ke(WE,{checked:e.enabled,onChange:n=>o({enabled:n}),ariaLabelledBy:t}),ke(Dl,{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.")}),Fl(Jh,{title:i("Look"),children:[ke(Ko,{label:i("Button color"),icon:ke(rq,{}),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:""})}),ke(Bl,{label:i("Icon"),icon:ke(nq,{}),value:ke($h,{value:r}),changed:r!==Kn,action:ke(Dl,{label:i("Icon"),changed:r!==Kn,onReset:()=>o({launcherIcon:""})}),children:ke(oq,{label:i("Icon"),value:r,options:mq,onChange:n=>o({launcherIcon:n===Kn?"":n})})}),ke(Bl,{label:i("Position"),icon:ke(iq,{}),changed:e.launcherPosition!==vr,action:ke(Dl,{label:i("Position"),changed:e.launcherPosition!==vr,onReset:()=>o({launcherPosition:vr})}),children:ke(aq,{options:[{label:i("Right"),id:"right"},{label:i("Left"),id:"left"}],value:e.launcherPosition,ariaLabel:i("Position"),onChange:n=>o({launcherPosition:n})})}),ke(Cf,{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")}),ke(pq,{label:i("Show on phones"),icon:ke(lq,{}),checked:e.showOnPhones,fallback:gf.showOnPhones,onChange:n=>o({showOnPhones:n})})]}),Fl(Jh,{title:i("Wording"),children:[ke(Cf,{label:i("Title"),value:e.title,placeholder:dq,onCommit:n=>o({title:n})}),ke(Cf,{label:i("Subtitle"),value:e.subtitle,placeholder:fq,onCommit:n=>o({subtitle:n})}),ke(Cf,{label:i("Greeting message"),value:e.greeting,placeholder:uq,onCommit:n=>o({greeting:n}),multiline:!0}),ke("p",{className:"es-field-hint sf-hint-keep",children:i("Leave a field blank to use the built-in wording.")})]})]})}import{jsx as Pr,Fragment as XI,jsxs as KE}from"react/jsx-runtime";import{useEffect as jq,useId as UE,useState as jE}from"react";import{SettingsField as Kq}from"efficient-easel/panel";import{jsx as Dq}from"react/jsx-runtime";import{forwardRef as xq,createElement as OI}from"react";var GE={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=xq(({color:n="currentColor",size:s=24,stroke:l=2,title:c,className:d,children:u,...m},f)=>OI("svg",{ref:f,...GE[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&&OI("title",{key:"svg-title"},c),...a.map(([x,I])=>OI(x,I)),...Array.isArray(u)?u:[u]]));return r.displayName=`${t}`,r};var Iq=[["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"}]],_I=ae("outline","brand-facebook","BrandFacebook",Iq);var gq=[["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"}]],RI=ae("outline","brand-instagram","BrandInstagram",gq);var bq=[["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"}]],AI=ae("outline","brand-line","BrandLine",bq);var yq=[["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"}]],LI=ae("outline","brand-linkedin","BrandLinkedin",yq);var Sq=[["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"}]],FI=ae("outline","brand-pinterest","BrandPinterest",Sq);var wq=[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]],BI=ae("outline","brand-telegram","BrandTelegram",wq);var Cq=[["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"}]],DI=ae("outline","brand-tiktok","BrandTiktok",Cq);var vq=[["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"}]],NI=ae("outline","brand-wechat","BrandWechat",vq);var kq=[["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"}]],MI=ae("outline","brand-whatsapp","BrandWhatsapp",kq);var Tq=[["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"}]],HI=ae("outline","brand-x","BrandX",Tq);var Pq=[["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"}]],WI=ae("outline","brand-youtube","BrandYoutube",Pq);var Eq=[["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"}]],zI=ae("filled","brand-facebook-filled","BrandFacebookFilled",Eq);var Oq=[["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"}]],GI=ae("filled","brand-instagram-filled","BrandInstagramFilled",Oq);var _q=[["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"}]],$I=ae("filled","brand-linkedin-filled","BrandLinkedinFilled",_q);var Rq=[["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"}]],UI=ae("filled","brand-pinterest-filled","BrandPinterestFilled",Rq);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"}]],jI=ae("filled","brand-tiktok-filled","BrandTiktokFilled",Aq);var Lq=[["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"}]],KI=ae("filled","brand-whatsapp-filled","BrandWhatsappFilled",Lq);var Fq=[["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"}]],qI=ae("filled","brand-x-filled","BrandXFilled",Fq);var Bq=[["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"}]],VI=ae("filled","brand-youtube-filled","BrandYoutubeFilled",Bq);var vTe="outline",vf={fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},Nq={},YI={fillRule:"evenodd"},Mq=[["path",{...vf,d:"M21 4L3 11L7 13L9 19L12 15L17 20z"}],["path",{...YI,d:"M21 4L3 11L7 13L9 19L12 15L17 20zM15.212 8.939 10.576 13.576 11.424 14.424 16.061 9.788z"}]],Hq=[["path",{...vf,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",{...Nq,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("")}]],Wq=[["path",{...vf,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",{...vf,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",{...YI,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",{...YI,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("")}]],zq=ae("filled","brand-telegram-filled","BrandTelegramFilled",Mq),Gq=ae("filled","brand-line-filled","BrandLineFilled",Hq),$q=ae("filled","brand-wechat-filled","BrandWechatFilled",Wq),Uq={instagram:{outline:RI,solid:GI},facebook:{outline:_I,solid:zI},tiktok:{outline:DI,solid:jI},youtube:{outline:WI,solid:VI},x:{outline:HI,solid:qI},linkedin:{outline:LI,solid:$I},pinterest:{outline:FI,solid:UI},whatsapp:{outline:MI,solid:KI},telegram:{outline:BI,solid:zq},line:{outline:AI,solid:Gq},wechat:{outline:NI,solid:$q}};function $E({platform:e,iconStyle:o,size:t}){let a=Uq[e][o];return Dq(a,{size:t,stroke:1.75,"aria-hidden":"true",focusable:"false"})}var qq={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}=El(),{value:a,error:r}=o[e],[n,s]=jE(a),[l,c]=jE(!1),d=UE(),u=UE();jq(()=>s(a),[a]);let m=async()=>{if(n.trim()===a){n!==a&&s(a);return}c(!0),await t(e,n),c(!1)},f=pS[e];return KE(XI,{children:[Pr(Kq,{label:i(f),htmlFor:d,icon:Pr($E,{platform:e,iconStyle:"outline",size:18}),children:Pr("input",{id:d,type:"text",inputMode:"url",value:n,placeholder:qq[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?u:void 0,"aria-busy":l||void 0,autoComplete:"off",spellCheck:!1})}),r&&Pr("p",{id:u,className:"sf-note sf-note--error",role:"alert",children:r})]})}function qE({unavailable:e}){let{canSave:o}=El();return!o&&e?Pr(XI,{children:e}):KE(XI,{children:[Pr("p",{className:"es-field-hint sf-hint-keep",children:i("Paste a link to each profile. A platform left empty shows nothing on the site.")}),Zi.map(t=>Pr(Vq,{platform:t},t))]})}import{jsx as _r,Fragment as $9,jsxs as U9}from"react/jsx-runtime";import{useId as j9,useMemo as K9}from"react";import{useEasel as q9}from"efficient-easel/easel";import{SettingsField as V9,SettingsSwitch as Y9}from"efficient-easel/panel";import{EyeIcon as X9}from"efficient-easel/icons";import{fieldShownInView as Z9}from"efficient-easel/fields";import{usePreviewDevice as J9}from"efficient-easel/draw/client";import{jsx as Or,Fragment as ZV,jsxs as JV}from"react/jsx-runtime";import{createContext as QV,useContext as e9,useLayoutEffect as PO,useMemo as Df,useRef as EO,useState as lg}from"react";import{useEasel as OO,useSelectedFields as o9}from"efficient-easel/easel";import{fieldShownInView as t9,Inspector as a9,planFields as ig}from"efficient-easel/fields";function VE({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 NV}from"efficient-easel/screen/lib/document/box-fields";import{deviceField as MV,deviceMetaOf as mO}from"efficient-easel/screen/lib/document/device-fields";import{jsx as Q,jsxs as Ra}from"react/jsx-runtime";import{phoneKey as La}from"efficient-easel/draw";import{SettingsDefaultReset as nV,SettingsField as lO}from"efficient-easel/panel";import{AnimationIcon as iO,ClockIcon as sV,DirectionDownIcon as lV,DirectionIcon as iV,DirectionLeftIcon as cV,DirectionRightIcon as dV,DirectionUpIcon as fV,DurationIcon as uV,NoSymbolIcon as pV}from"efficient-easel/icons";import{deviceField as Zn}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as mV,noControlField as hV}from"efficient-easel/screen/lib/document/panel-no-control-mark";import{describedAs as cO,group as xV,onDesktopWords as IV,phoneTwinFields as gV}from"efficient-easel/screen/lib/document/box-fields";import{ENTRANCE_FROM as bV,ENTRANCE_FROM_DEFAULT as dO,ENTRANCE_KINDS as Af,ENTRANCE_KINDS_WITH_FROM as rO,MOTION_TIMING as yV,entranceAttrs as SV,playEntrance as wV,readEntrance as CV}from"efficient-shell/format";import{IconPicker as vV}from"efficient-shell/ui";import{jsx as eg}from"react/jsx-runtime";import{ClockIcon as Jq,DurationIcon as Qq}from"efficient-easel/icons";import{MOTION_TIMING as oO}from"efficient-shell/format";import{useSelectedHost as eV}from"efficient-easel/easel";import{MOTION_EASING as Yq,MOTION_TIMING as YE,motionSeconds as XE}from"efficient-shell/format";var ZI="none",JI=[{label:"None",value:"none"},{label:"Scroll",value:"scroll"}];function NTe(e){return ao(JI,ZI,e)}var kf={field:"loop",is:"scroll"},Nl="left",QI=[{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"},{label:"Up",value:"up",cell:"top"},{label:"Down",value:"down",cell:"bottom"}],Xq={left:"storefront-ticker",right:"storefront-ticker-right",up:"storefront-ticker-up",down:"storefront-ticker-down"};function ZE(e){return ao(QI,Nl,e)}function JE(e){return e==="up"||e==="down"}function QE(e){return XE("loop","duration",e.loopDuration!=null?e.loopDuration:e.speed)}var MTe=YE.loop.duration.default,Zq=YE.loop.delay.default;function eO(e){return XE("loop","delay",e.loopDelay)}function HTe(e,o,t=Zq){return`${Xq[e]} ${o}s ${Yq.loop}${t?` ${t}s`:""} infinite`}function Vn(e){let{min:o,max:t,step:a,default:r}=oO[e].duration;return _o("Duration",eg(Qq,{}),o,t,a,r,"s")}function Yn(e){let{min:o,max:t,step:a,default:r}=oO[e].delay;return _o("Delay",eg(Jq,{}),o,t,a,r,"s")}function Xn(e,o){let t=e.render,a=r=>{let n=eV();return t({...r,value:o(r.value,n?.values)})};return{...e,render:r=>eg(a,{...r})}}function Tf({readsSpeed:e}){return Xn(Vn("loop"),(o,t)=>QE({loopDuration:o,speed:e?t?.speed:void 0}))}function Pf(){return Xn(Yn("loop"),e=>eO({loopDelay:e}))}import{phoneKey as oV}from"efficient-easel/draw";import{readEntrance as tV}from"efficient-shell/format";var Of="sf-entrance",Oe={kind:"entrance",from:"entranceFrom",duration:"entranceDuration",delay:"entranceDelay"},_f="sectionAnimation",tO=e=>e!=null&&e!=="";function aV(e,o){let t=e[Oe[o]];return o==="kind"&&!tO(t)?e[_f]:t}function Ef(e,o,t){if(t==="phone"){let a=e[oV(Oe[o])];if(tO(a))return a}return aV(e,o)}function Ml(e,o){return tV(Ef(e,"kind",o),Ef(e,"from",o),Ef(e,"duration",o),Ef(e,"delay",o))}function Rf(e){let o=Ml(e,"desktop"),t=Ml(e,"phone");return o.kind==="none"&&t.kind==="none"?null:{desktop:o,phone:t}}var rV={...Object.fromEntries([...xv].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)"},ZTe=new Set(Object.keys(rV));var aO="_gEntrance";var Lf={none:"None",fade:"Fade",rise:"Rise",scale:"Scale",glide:"Glide",bounce:"Bounce",flip:"Flip",reveal:"Reveal",spin:"Spin"},kV={top:"Top",bottom:"Bottom",left:"Left",right:"Right"},TV={top:()=>Q(lV,{}),bottom:()=>Q(fV,{}),left:()=>Q(dV,{}),right:()=>Q(cV,{})},ag="Entrance",nO=Af.filter(e=>e!=="none"),og=e=>({any:[{field:Oe.kind,in:e},{all:[{field:Oe.kind,set:!1},{field:_f,in:e}]}]}),sO=e=>({any:[{field:La(Oe.kind),in:e},{all:[{field:La(Oe.kind),set:!1},og(e)]}]}),PV=[[[Oe.from],og(rO)],[[La(Oe.from)],sO(rO)],[[Oe.duration,Oe.delay],og(nO)],[[La(Oe.duration),La(Oe.delay)],sO(nO)]],Aa=({children:e})=>Q("svg",{viewBox:"0 0 40 40",width:"40",height:"40",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:e}),Mt=({x:e=12,y:o=12,o:t=1})=>Q("rect",{x:e,y:o,width:"16",height:"16",rx:"2",opacity:t}),EV={none:Q(pV,{size:20}),fade:Ra(Aa,{children:[Q(Mt,{x:6,o:.3}),Q(Mt,{x:18})]}),rise:Ra(Aa,{children:[Q(Mt,{y:20,o:.3}),Q(Mt,{y:8}),Q("path",{d:"M20 36v-5m-2 2 2-2 2 2"})]}),scale:Ra(Aa,{children:[Q("rect",{x:"16",y:"16",width:"8",height:"8",rx:"1",opacity:".35"}),Q(Mt,{}),Q("path",{d:"M6 6l4 4M34 34l-4-4"})]}),glide:Ra(Aa,{children:[Q(Mt,{x:2,o:.3}),Q(Mt,{x:20}),Q("path",{d:"M4 33h12m-2-2 2 2-2 2"})]}),bounce:Ra(Aa,{children:[Q(Mt,{y:6}),Q("path",{d:"M8 34c3-6 5-6 8 0s5 6 8 0 5-6 8 0"})]}),flip:Ra(Aa,{children:[Q("path",{d:"M12 12l16 4v8l-16 4z",opacity:".35"}),Q(Mt,{}),Q("path",{d:"M20 4v32",strokeDasharray:"2 2"})]}),reveal:Ra(Aa,{children:[Q("rect",{x:"12",y:"12",width:"16",height:"16",rx:"2",strokeDasharray:"2 2",opacity:".5"}),Q("path",{d:"M12 22h16v4a2 2 0 0 1-2 2H14a2 2 0 0 1-2-2z",fill:"currentColor",opacity:".35"}),Q("path",{d:"M20 36v-5m-2 2 2-2 2 2"})]}),spin:Ra(Aa,{children:[Q(Mt,{}),Q("path",{d:"M33 14a14 14 0 0 1 0 12m0 0-3-1m3 1 1-3"})]})};function OV({kind:e}){let{attrs:o}=SV(CV(e,dO)),t=i(Lf[e]);return ll(Q("span",{className:"sf-entrance-stage",children:Q("i",{...o,children:EV[e]})}),t,t)}var _V=(e,o)=>{let t=o.querySelector(".sf-entrance-stage > i");t&&wV(t)},RV={width:"3.5rem",height:"4.25rem"};function fO({value:e,onChange:o}){return Q(vV,{label:i(ag),value:e,columns:3,cell:RV,onChange:o,onPreview:_V,tooltips:!1,options:Af.map(t=>({value:t,label:i(Lf[t]),icon:Q(OV,{kind:t})}))})}var tg="Effect";function AV({value:e,onChange:o}){let t=Vo(),a=Ml({...t,[Oe.kind]:e},"desktop").kind;return Q(lO,{label:i(tg),icon:Q(iO,{}),children:Q(fO,{value:a,onChange:o})})}function LV({value:e,onChange:o}){let t=Vo(),a=typeof e=="string"&&Af.includes(e),r=Ml(t,"desktop").kind;return Q(lO,{label:i(tg),icon:Q(iO,{}),changed:a,action:Q(nV,{words:ee()?.panel,label:i(tg),changed:a,detail:IV(n=>i(n),i(Lf[r])),onReset:()=>o(void 0)}),children:Q(fO,{value:a?e:r,onChange:o})})}var uO={type:"select",label:ag,options:Af.map(e=>({value:e,label:Lf[e]}))},FV=()=>cO({type:"custom",render:({value:e,onChange:o})=>Q(AV,{value:e,onChange:o})},uO),BV=()=>cO({type:"custom",render:({value:e,onChange:o})=>Q(LV,{value:e,onChange:o})},uO),DV=bV.map(e=>({label:kV[e],value:e,picture:TV[e]()}));function St(){let{duration:e,delay:o}=yV.entrance,t={[aO]:xV(ag),[Oe.kind]:Zn("desktop",FV()),[_f]:hV({type:"custom",render:()=>Q(mV,{})},"always"),[La(Oe.kind)]:Zn("mobile",BV()),...gV(Oe.from,wn("From",Q(iV,{}),DV,dO)),[Oe.duration]:Zn("desktop",Vn("entrance")),[La(Oe.duration)]:Zn("mobile",yd({label:"Duration",desktopKey:Oe.duration,icon:Q(uV,{}),min:e.min,max:e.max,step:e.step,fallback:e.default,unit:"s"})),[Oe.delay]:Zn("desktop",Yn("entrance")),[La(Oe.delay)]:Zn("mobile",yd({label:"Delay",desktopKey:Oe.delay,icon:Q(sV,{}),min:o.min,max:o.max,step:o.step,fallback:o.default,unit:"s"}))};return km(t,PV)}import{DESIGN_GROUPS as ng,SETTINGS_BUCKETS as HV}from"efficient-easel/panel";import{BUCKET_KEY as Wo,DESIGN_GROUP_KEY as Hl}from"efficient-easel/screen/lib/document/field-buckets";var Wl=HV;var WV="Editor only \u2014 not shown live",sg={"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",Anchor:"Anchor",Arrangement:"Layout","Auto-slide":"Layout",Bar:"Layout","Cell width":"Size",Behavior:"Layout",Schedule:"Layout",Controls:"Layout",Diagram:"Layout",[WV]:"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"},hO={"AlloyWheelsListing._gCards":"Design"},xO={"Text._gSpacing":"Size","Heading._gSpacing":"Size"};function rg(e,o,t){let a=`${e}.${o}`;return xO[a]??hO[a]??sg[t]}function IO(e){return e==="Animation"?[Wo.Animation]:[Wo.Design,Hl[e]]}function Ff(...e){let o=[];for(let t of e)for(let a of Object.values(t)){let r=mO(a),n=oa(r?r.inner:a),s=n?sg[n.label]:void 0;if(s)for(let l of IO(s))o.includes(l)||o.push(l)}return o}var TPe=[...Ff(cd({tablet:!0}),Sd("full"),wd(),vd(),ox()),...Object.keys(cd({tablet:!0})),...Object.keys(Sd("full")),...Object.keys(wd()),...Object.keys(vd()),...Object.keys(ox())],PPe=[...Ff(Id()),...Object.keys(Id())],EPe=[...Ff(bd()),...Object.keys(bd())],OPe=[...Ff(St()),...Object.keys(St())],zV=Object.keys(NT()),GV=new Set(["cardImage","imageBackground"]),_Pe=[...IO(rg("ProductGrid","_gCards","Cards")??"Design"),...zV.filter(e=>e.startsWith("_g")||GV.has(e))],RPe=Object.keys(MT()),APe=Object.keys(HT()),$V={"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)"},gO={Content:["Content"],Size:["Size"],Design:["Design","Style"],Layout:["Layout"],Position:["Position"],Anchor:["Anchor"],Animation:["Animation"]},bO={_gAnchor:"repeated the Anchor group heading above it (two tabs, 11.0.0)"};{let e={...cd({tablet:!0}),...Sd("full"),...wd(),...vd(),...Id(),...bd(),...St()};for(let o of Object.keys(bO)){let t=oa(e[o]),a=t?sg[t.label]:void 0;if(!t||t.level!==2||!a||!gO[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 UV=new Set(["_sContent","_sStyle","_sLayout","_sMedia"]),jV=new Map([[Wo.Design,"Content"],[Wo.Animation,"Animation"],...ng.map(e=>[Hl[e],e])]);function yO(e){let o=new Set([...Object.values(Wo),Hl.Content]);for(let[t,a]of Object.entries(e))if(!o.has(t)&&oa(a)?.level===1)return 1;return 2}function KV(e){let o=`${e}.`;return Object.keys($V).filter(t=>t.startsWith(o)).map(t=>t.slice(o.length))}function qV(e,o){let t=mO(e),a=NV(o);return t?MV(t.tier,a):a}function VV(e,o){let t=oa(o);return t?e==="Content"||e==="Animation"?ST(o,t.label):wT(o):o}function pO(e){return e==="Design"?ng:["Animation"]}function SO(e,o){let t=[],a=new Set(KV(o)),r=new Set,n=!1,s=null;for(let[f,x]of Object.entries(e)){let I=oa(x);if(UV.has(f))throw new Error(`${o}.${f}: 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=jV.get(f);if(y!==void 0){if(I?.level!==1)throw new Error(`${o}.${f}: 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.`);(f===Wo.Design||f===Wo.Animation)&&(n=!0),t.push(s={place:y,entries:[],adopted:!0});continue}if(!I){s||t.push(s={place:"Content",entries:[]}),s.entries.push([f,x]);continue}if(a.has(f)||f in bO){let C=rg(o,f,I.label);if(I.level!==2||!C||!gO[C].includes(I.label))throw new Error(`${o}.${f}: ${a.has(f)?"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(f)&&r.add(f),t.push(s={place:C,entries:[]});continue}let v=rg(o,f,I.label);if(!v)throw new Error(`${o}.${f}: 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 ${[...ng,"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:v,entries:[[f,I.level===2?x:qV(x,I.label)]]})}let l=new Set(Object.entries(e).filter(([,f])=>oa(f)).map(([f])=>f));for(let[f,x]of[["BLOCK_KEY_GROUP",xO],["KEY_GROUP",hO]]){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}: ${f} (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(f=>!r.has(f));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(f=>f.entries.length>0).map(f=>f.place)),u=Wl.filter(f=>pO(f).some(x=>d.has(x))),m={};for(let f of u){m[Wo[f]]=xd(f,f===u[0]?u:null);for(let x of pO(f)){if(!d.has(x))continue;let I=t.filter(v=>v.place===x),y=I.findIndex(v=>v.adopted);y>0&&I.unshift(...I.splice(y,1)),f==="Design"&&(m[Hl[x]]=Zh(x));for(let v of I)for(let[C,S]of v.entries)m[C]=VV(x,S)}}return m}function LPe(e){return Wo.Design in e?e:{[Wo.Design]:xd("Design",null),[Hl.Content]:Zh("Content"),...e}}function FPe(e){return Wl.some(o=>Wo[o]in e)}function BPe(e){let o=Wl.filter(a=>Wo[a]in e);if(o.length===0)return e;let t={...e};for(let a of o)t[Wo[a]]=xd(a,a===o[0]?o:null);return t}import{jsx as YV}from"react/jsx-runtime";import{EmptyState as XV}from"efficient-shell/ui";function Er(){return YV(XV,{variant:"none",icon:!1,message:i("These settings apply to every view.")})}import{usePreviewDevice as r9}from"efficient-easel/draw/client";import{deviceField as n9}from"efficient-easel/screen/lib/document/device-fields";var Bf=" text",wO="Text";function zl(e){let o=e.rows.filter(t=>t.shown);return o.length===0||o.length===1&&o[0].labelled}function CO(e){return e.filter(zl).map(o=>o.key)}function vO(e,o){let t=e.filter(r=>!zl(r));if(t.length!==1)return null;let a=e.filter(zl).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 kO(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 TO(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var cg=new Map,Nf=new Set;function _O(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(u=>!u.hidden),d=l?.querySelector(".es-field-label, .es-list-label")?.textContent?.trim();return{shown:c,labelled:c&&!!d}})});return a}var s9=Object.fromEntries(Wl.map(e=>{let o=yT[e];return[e,Or(o,{},e)]})),RO=QV(null),l9={_partBody:n9("each",{type:"custom",render:()=>Or(i9,{})})};function i9(){return Or(ZV,{children:e9(RO)})}function wt({entries:e,entryCount:o=0,part:t=null,omit:a,motion:r,body:n}){let{id:s,fields:l,values:c,readOnly:d,onChange:u}=o9(),m=Df(()=>r?{...c,...r.values}:c,[c,r?.values]),f=(de,Re)=>r?.keys.has(de)?r.onChange(de,Re):u(de,Re),x=r9(),{appState:I,config:y}=OO(de=>de),v=aC(x,y,I.data.content??[],I.ui.itemSelector),C=n===void 0?RE(l,t):l9,S=Df(()=>{let de=a?.length?Object.fromEntries(Object.entries(C).filter(([Re])=>!a.includes(Re))):C;return r?{...de,...r.fields}:de},[C,a,r?.fields]),g=Tm(S,m,v),[k,T]=lg(()=>new Set(Nf)),[F,P]=lg(()=>new Set),B=EO(null),{bandRows:E,designBands:R,looseRows:N}=Df(()=>{let de=new Map,Re=new Set,to=[];for(let Ae of ig(g).rows){if(!Ae.fold){Ae.bucket==="Design"&&to.push(Ae.name);continue}let Ge=de.get(Ae.fold.key)??[];Ge.push(Ae.name),de.set(Ae.fold.key,Ge),Ae.bucket==="Design"&&Re.add(Ae.fold.key)}return{bandRows:de,designBands:Re,looseRows:new Map([["",to]])}},[g]),b=t9({},x),_={key:Bf,rows:Array.from({length:b?o:0},()=>({shown:!0,labelled:!0}))};PO(()=>{let de=B.current?.parentElement;if(!de)return;let Re=_O(de,E),to=new Set(CO(Re)),Ae=vO([_,...Re.filter(Ge=>R.has(Ge.key))],_O(de,N)[0].rows);Ae&&to.add(Ae),P(Ge=>TO(Ge,to)?Ge:to)});let L=Df(()=>kO(g,F),[g,F]),H=!zl(_)&&!F.has(Bf)?{key:Bf,title:wO}:void 0,Z=OO(de=>de.selectedItem)!==null,V=r?.part??t??"",U=`${s}:${V}:${String(x)}`,[Pe,Se]=lg(()=>({tab:cg.get(U)})),qe=`${s}:${V}`,He=EO(null),he={...v,node:m},xe=ig(g,{values:m,context:he}).buckets,we=VE({allTabs:Z,remembered:cg.get(U),inherited:He.current?.panel===qe?He.current.tab:Pe.tab,buckets:xe,hasText:b&&o>0}),Xe=!b&&!xe.includes(we)&&(ig(Tm(S,m,{...v,device:"desktop"}),{values:m,context:{...he,device:"desktop"}}).buckets.includes(we)||we==="Design"&&o>0);PO(()=>{He.current={panel:qe,tab:we}});let Ve=we==="Design";return Or(RO.Provider,{value:n??null,children:Or(ex.Provider,{value:r?m:null,children:JV(a9,{fields:L,values:m,onChange:f,readOnly:d,allTabs:Z,showWhenContext:he,tab:we,onTab:de=>{cg.set(U,de),Se({tab:de})},tabIcons:s9,idPrefix:s,ariaLabel:i("Section settings"),lead:Ve?e:null,leadFold:H,closedFolds:k,onFold:(de,Re)=>{Re?Nf.delete(de):Nf.add(de),T(new Set(Nf))},children:[Or("span",{ref:B,hidden:!0}),Xe&&Or(Er,{})]})})})}import{useMemo as B9}from"react";import{useEasel as D9}from"efficient-easel/easel";import{useSectionOps as N9}from"efficient-easel/screen/lib/document/use-section-ops";import{jsx as Ct}from"react/jsx-runtime";import{ContrastIcon as c9,HoverIcon as d9,HoverLiftIcon as f9,HoverNextImageIcon as u9,HoverNoneIcon as p9,HoverRotateIcon as m9,HoverZoomIcon as LO,OpacityIcon as h9,RotateIcon as x9}from"efficient-easel/icons";import{group as I9}from"efficient-easel/screen/lib/document/box-fields";import{deviceField as vt}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as g9,noControlField as b9}from"efficient-easel/screen/lib/document/panel-no-control-mark";var dg=()=>vt("desktop",I9("Hover")),y9="What this does when a shopper points at it, or taps it on a phone.",S9="What this picture does when a shopper points at it. Black and white shows it in grey until then. A phone shows its colour.",w9="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.",C9="What each card does when a shopper points at it, or taps it on a phone. Rotate turns the wheel picture.",v9={none:()=>Ct(p9,{}),nextImage:()=>Ct(u9,{}),rotate:()=>Ct(m9,{}),zoom:()=>Ct(LO,{}),lift:()=>Ct(f9,{}),mono:()=>Ct(c9,{})};function fg(e,o){return wn("Hover effect",Ct(d9,{}),e.map(t=>({label:xl[t],value:t,picture:v9[t]()})),o)}function FO(){return{[Gd]:dg(),[Ho]:vt("desktop",{...fg(kx,"none"),description:y9})}}function BO(e){let o=_P(e),t=_o("Angle",Ct(x9,{}),_n.min,_n.max,_n.step,Px,"\xB0");return{[Gd]:dg(),[De.kind]:vt("desktop",{...Xn(fg(Ud,e),(a,r)=>Ex(r??{},e)),description:C9}),[hl]:b9({type:"custom",render:()=>Ct(g9,{})},"always"),[De.angle]:vt("desktop",Ze(Xn(t,a=>Ox(a)),o)),[De.duration]:vt("desktop",Ze(Vn("hover"),o)),[De.delay]:vt("desktop",Ze(Yn("hover"),o))}}function ug(e,o=""){let t=FP(e);return{[Gd]:dg(),[De.kind]:DO(jd,e,S9),...Ax.includes(o)?k9():{},[De.duration]:vt("desktop",Ze(Vn("hover"),t)),[De.delay]:vt("desktop",Ze(Yn("hover"),t))}}function k9(){let e=LP(),o=_o("Zoom",Ct(LO,{}),ta.min,ta.max,ta.step,ta.min,ta.unit),t=_o("Darken on hover",Ct(h9,{}),ba.min,ba.max,ba.step,ba.fallback,ba.unit);return{[Il.zoom]:vt("desktop",Ze(o,e)),[Il.darken]:vt("desktop",Ze(t,e))}}function DO(e,o,t){let a=vt("desktop",{...Xn(fg(e,o),r=>Lx({[Ho]:r},o,e)),description:t});return Object.assign(a,{[NO]:o})}var NO="sfPictureResting",AO=new WeakMap;function m0e(e,o,t){let a=e[De.kind],r=a?.[NO];if(!a||!r)return e;let n=o.props?.[Ho]==="nextImage",s=n?null:Ns(t.appState,o.props?.id),l=s?em(String(s.type),dt(o.props),s):null;if(!n&&!l?.next)return e;let c=AO.get(e);return c||(c={...e,[De.kind]:DO(_x,r,w9)},AO.set(e,c)),c}import{jsx as MO}from"react/jsx-runtime";import{DirectionIcon as T9,LoopIcon as P9}from"efficient-easel/icons";function pg(){return BT("Scroll direction",QI,Nl,"A marquee cannot run diagonally, so the corners are not answers.",MO(T9,{}),FT)}function HO(){return{loop:It("Loop",MO(P9,{}),JI,ZI),scrollDirection:Ze(pg(),kf),loopDuration:Ze(Tf({readsSpeed:!1}),kf),loopDelay:Ze(Pf(),kf)}}function E9(){let e=ug("none");return Gs(e,Object.keys(e),vm("bgImage"))}function WO(e,o=""){switch(e){case"section":case"block":return St();case"box":return{...St(),...HO(),...E9()};case"picture":return{...St(),...ug(Rx(o),o)};case"textPart":return{...St(),...FO()};case"cards":return{...St(),...BO(Tx(o))};case"marquee":return{...St(),scrollDirection:pg(),loopDuration:Tf({readsSpeed:!0}),loopDelay:Pf()}}}import{phoneKey as O9}from"efficient-easel/draw";import{ENTRANCE_STATE_ATTR as _9,entranceAttrs as R9}from"efficient-shell/format";var GO={},mg="_partMotion",hg=[...Object.values(Oe).flatMap(e=>[e,O9(e)]),Ho,De.duration,De.delay];function N0e(e){return Dn(e,mg)}function Jn(e,o){return ef(e,mg,o)}var A9=new Set([Oe.kind,Ho]);function $O(e,o,t,a){let{[t]:r,...n}=Jn(e,o),s=a==null||a===""||a==="none"&&A9.has(t)?n:{...n,[t]:a};return of(e,mg,o,Object.keys(s).length?s:null)}function xg(e){return{entrance:Rf(e),hover:EP(e)}}function UO(e){let o=xg(e);return o.entrance!==null||o.hover!=="none"}function jO(e,o){let{attrs:t,style:a}=R9(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(_9)}}var L9=4;function KO(e){let o;for(let t of e)(!o||t.element.compareDocumentPosition(o.element)&L9)&&(o=t);return o}var F9="data-sf-part-host";function qO(e){let o=e?.ownerDocument.defaultView,t=e;for(;t&&!t.hasAttribute(F9)&&!t.classList.contains(Of);){let a=o?.getComputedStyle(t).display??"";if(a==="contents")return null;if(a!=="inline")return t;t=t.parentElement}return null}var Mf="data-sf-part-lift",zO="sf-part-lift";function VO(e){if(e.getElementById(zO))return;let o=e.createElement("style");o.id=zO,o.textContent=l0(`[${Mf}]`).join(`
|
|
58
|
+
`),e.head.appendChild(o)}var YO=new Map,M9=e=>{let o=YO.get(e);return o||YO.set(e,o=SO(WO(e),`part:${e}`)),o},H9=new Set(hg);function Qn(e,o,t){let{getItemById:a,getSelectorForId:r}=D9(u=>u),n=N9(),s=a(e)?.props??{},l=Jn(s,o),c=JSON.stringify(l),d=B9(()=>Object.fromEntries(hg.map(u=>[u,l[u]])),[c]);return{part:o,fields:M9(t),values:d,keys:H9,onChange:(u,m)=>{let f=r(e),x=a(e);if(!f||!x)return;let I=$O(x.props??{},o,u,m);n.replaceComponent(f.zone,f.index,{...x,props:I})}}}import{Fragment as W9,createElement as z9}from"react";import{deviceField as Ig}from"efficient-easel/screen/lib/document/device-fields";var mo=()=>({type:"custom",render:()=>z9(W9)});var gg={words:mo(),sourceNote:mo(),style:mo(),font:mo(),italic:mo(),fontSize:Ig("each",mo()),lineHeight:mo(),letterSpacing:mo(),paragraphSpacing:mo(),padding:mo(),align:Ig("each",mo()),letterCase:mo(),fixedSizeHint:Ig("each",mo()),regionNote:mo(),regionStyle:mo()},G9=["fontSize","align"];function XO(e){return G9.includes(e)}var ZO={showTicker:mo(),items:mo()};var Q9="root:default-zone";function JO({heroId:e}){let{appState:o,dispatch:t}=q9(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=K9(()=>{let x=n?.props.tickerItems;return Array.isArray(x)?x:TE.map(I=>({text:I}))},[n]),c=j9(),d=J9(),u=x=>Z9(ZO[x],d),m=Qn(e,PE,"block");if(!n)return _r("p",{className:"sf-note",children:i("This ticker\u2019s hero is no longer on the page.")});let f=x=>t({type:"replace",destinationZone:Q9,destinationIndex:r,data:{...n,props:{...n.props,...x}}});return _r(wt,{motion:m,body:U9($9,{children:[!u("showTicker")&&!u("items")&&_r(Er,{}),u("showTicker")&&_r(V9,{label:i("Show ticker"),labelId:c,icon:_r(X9,{}),action:_r(Y9,{checked:s,onChange:x=>f({showTicker:x}),ariaLabelledBy:c})}),u("items")&&_r(rx,{label:ax.label,icon:ax.icon,items:l,placeholder:"item",onChange:x=>f({tickerItems:x}),markup:!0})]})})}import{jsx as Y,Fragment as ql,jsxs as Yo}from"react/jsx-runtime";import{useContext as yY,useEffect as yg,useRef as SY,useState as x_}from"react";import{FieldSelect as wY,InspectorField as CY,fieldShownInView as vY}from"efficient-easel/fields";import{SettingsField as kY}from"efficient-easel/panel";import{InspectorUpLevel as qf}from"efficient-easel/chrome";import{StylesIcon as TY,TypeIcon as PY}from"efficient-easel/icons";import{useEasel as EY}from"efficient-easel/easel";import{TextPartPanel as I_}from"efficient-easel/copy";import{Button as OY,IconButton as _Y,Tooltip as RY}from"efficient-shell/ui";import{jsx as QO,jsxs as eY}from"react/jsx-runtime";import{COPY_CELLS as Hf,CopyBox as oY}from"efficient-easel/copy";import{PaddingYIcon as tY}from"efficient-easel/icons";import{onDesktopWords as aY}from"efficient-easel/screen/lib/document/box-fields";var rY=["left","center","right","justify"];function Wf(e,o,t,a="desktop"){let r=wl(e),n=eI(a),s=e[n]??e.size??o.sizePx,l=p0(e,a);return[{...Hf.fontSize,key:"fontSize",value:e[n],styleValue:Math.round(o.sizePx),onChange:c=>t({[n]:c??null}),...n==="size"?{}:{reset:{detail:l?aY(c=>i(c),`${l.px}px`,l.view):void 0}}},{...Hf.lineHeight,key:"lineHeight",value:r.lineHeight,styleValue:o.lineRatio,onChange:c=>t(c===void 0?{lineHeight:null,line:null}:{lineHeight:c})},{...Hf.letterSpacing,key:"letterSpacing",scale:s,value:r.letterSpacingEm,styleValue:o.letterEm,onChange:c=>t(c===void 0?{letterSpacing:null,letter:null}:{letterSpacing:c})},{...Hf.paragraphSpacing,key:"paragraphSpacing",value:e.paragraphSpacing,styleValue:0,onChange:c=>t({paragraphSpacing:c??null})},{key:"padding",name:i("Padding"),icon:QO(tY,{}),unit:"px",step:Xx,shiftStep:10,min:Vx,max:Yx,value:e.padding,styleValue:o.paddingPx,onChange:c=>t({padding:c??null})}]}function e_({text:e,onTextChange:o,multiline:t,markup:a=!0,styled:r=!0,style:n,base:s,setValue:l,colors:c,placeholder:d,ariaLabel:u,head:m,typedOnCanvas:f=!1}){let x=Wf(n,s,l),I=bx(a,t);return eY("div",{className:"sf-part-textbox",children:[m,QO(oY,{value:e,onChange:o,multiline:t,placeholder:d,ariaLabel:u,rules:Xa,tools:I,barShows:f?"focus":"always",colors:a?c:[],colorNameOf:Dt,align:r?{value:n.align??s.align,allow:rY,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 g_}from"efficient-easel/draw/client";import{jsx as zf,Fragment as nY,jsxs as sY}from"react/jsx-runtime";import{Button as o_,Dialog as lY}from"efficient-shell/ui";function t_({styleName:e,onCancel:o,onConfirm:t}){return zf(lY,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Update {style}?",{style:e}),footer:sY(nY,{children:[zf(o_,{variant:"secondary",onClick:o,children:i("Cancel")}),zf(o_,{variant:"primary",onClick:t,children:i("Update style")})]}),children:zf("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 AY}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewDevice as LY}from"efficient-easel/draw/client";import{shownTier as jf}from"efficient-easel/screen/lib/document/device-fields";import{jsx as iY}from"react/jsx-runtime";import{createContext as cY,useContext as dY,useMemo as fY,useState as uY}from"react";var pY={partStyle:null,setPartStyle:()=>{}},a_=cY(pY);function PEe({children:e}){let[o,t]=uY(null),a=fY(()=>({partStyle:o,setPartStyle:t}),[o]);return iY(a_.Provider,{value:a,children:e})}function r_(){return dY(a_)}import{TEXT_FIELD_MARKER as FY}from"efficient-easel/draw";import{useSectionOps as BY}from"efficient-easel/screen/lib/document/use-section-ops";var Gl="@name",n_="@body",s_="@value",l_={[Gl]:"Name",[n_]:"Body",[s_]:"Value"},mY={TimelineTrack:{"entries.date":Gl,"entries.title":Gl,"entries.blurb":n_},Footprint:{"offices.city":Gl},Stats:{"items.label":Gl,"items.value":s_}};function hY(e){let{key:o,row:t}=bt(e);return t?`${o}.${t.rowKey}`:null}function $l(e,o){if(!e)return o;let t=hY(o);return t?mY[e]?.[t]??o:o}import{useEaselHost as DY}from"efficient-easel/screen/lib/host";function xY(e){let o=new Set([...Object.keys(Ac[e]??{}),...Lc[e]??[]]);for(let[t,a]of Object.entries(jm[e]??{}))a.verb==="snapshot"&&o.add(t);return[...o].sort()}var IY={CollectionCard:"product",FooterMenu:"menu",Gallery:"product",GalleryItem:"product",ProductGrid:"product",ProductHero:"product",SpecTable:"product",Events:"blog",FeaturedCover:"blog",LongRead:"blog",SubscribeBlogs:"blog"},i_={product:"Synced from the product.",blog:"Synced from the blog post.",menu:"Synced from the site menu."},c_="Open",d_={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 es(e){let o=e?.source?.slug;return J(o)}function Ul(e){return IY[e]??null}function f_(e,o){let t=Ul(e);return t&&xY(e).includes(o)?t:null}function Gf(e){let o=e?.menu?.id;return J(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)]"},gY={tag:{label:"Tag",follows:"Labels",builtIn:Fn(jl.tag),writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:Fn(jl.name),writable:!0},body:{label:"Body",follows:"Body",builtIn:Fn(jl.body),writable:!0},price:{label:"Price",follows:"Labels",builtIn:Fn(jl.price),writable:!0},link:{label:"Link",follows:"Labels",builtIn:Fn(jl.link),writable:!0}},u_=gY;var bY={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}},p_=bY;var $f={entry:{label:"Entry",follows:"Labels",builtIn:"13px",writable:!0},number:{label:"Entry number",follows:"Labels",builtIn:"13px",writable:!0}};var zEe=Jd,m_={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 bg={SpecTable:m_,FAQ:p_,Collections:u_,Contents:$f};function h_(){return ma("efficient.section-text-regions",()=>new Map)}function VEe(e){let o=h_();for(let[t,a]of Object.entries(e)){if(Object.hasOwn(bg,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 Uf(e){return e?Object.hasOwn(bg,e)?bg[e]:h_().get(e)??null:null}function Sg(e){return e?i(e):null}function b_(e){return e.kind==="role"?hp[e.role]:e.kind==="custom"?"Custom":null}function NY(e){let o=Ut(e.role);return o?{kind:"role",role:o}:null}function MY(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 Kf(e,o,t,a){return NY(Sl(e,o))??MY(t,a)}function HY(e,o){if(!e.length)return null;let t=o(e[0]);return e.every(a=>o(a)===t)?t:null}function y_(e){return[{value:Kl,label:i("No style"),description:i("Section\u2019s own")},...e.map(o=>({value:o.id,label:o.name,description:o.values.font?en(o.values.font)?.label:void 0}))]}var Kl="";function WY({face:e,base:o,onPick:t}){let a=e.kind==="role"?e.role:Kl,r=[{label:i("No style"),value:Kl},...Hy.map(n=>({label:i(hp[n]),value:n}))];return Y(wY,{ariaLabel:i("Style"),value:a,options:r,inline:!0,onChange:n=>t(n===Kl?null:n),renderOption:n=>n.value===Kl?Yo(ql,{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(${en(o.fontKey)?.cssVar})`:void 0,fontWeight:o?.weight},children:Sg(b_(e))}),valueText:n=>Sg(b_(e))??n?.label??""})}var k_=["regionNote","regionStyle"],zY=Object.keys(gg).filter(e=>!k_.includes(e));function T_(e,o){return!e.some(o)}function GY({sectionName:e,onBack:o,textEditor:t,styleRow:a,children:r,tabs:n}){let s=Yo(ql,{children:[t,a,r]});return Yo("div",{className:"sf-part-panel",children:[Y(qf,{inline:!0,name:i(e),onSelect:o}),n?n(s):s]})}function Vf({source:e,slug:o,menuId:t}){let a=DY(),r=d_[e],n=!r.needsSlug||!!o;return Y("div",{className:"sf-note sf-note--source",children:Yo("p",{className:"es-field-hint sf-hint-keep",children:[i(i_[e]),n?Yo(ql,{children:[" ",Y(OY,{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(c_)})]}):null]})})}var S_=4,$Y=120;function w_(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 C_({region:e,sizePx:o,face:t,base:a,onFollowStyle:r,source:n,slug:s,onBack:l,shows:c,sizedStyle:d,ownLook:u}){let m=e.follows;return Yo("div",{className:"sf-note",children:[Y("p",{children:Y("strong",{children:i(e.label)})}),c("regionNote")&&!u&&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?Yo(ql,{children:[d,c("regionStyle")&&Y("p",{className:"es-field-hint sf-hint-keep",children:w_(e)})]}):r?c("regionStyle")?Y(ql,{children:Y(kY,{label:i("Style"),icon:Y(TY,{}),hint:w_(e),children:Y(WY,{face:t,base:a,onPick:r})})}):null:c("regionNote")&&Y("p",{className:"es-field-hint sf-hint-keep",children:i("Only the size follows a site style. This section sets its own font, weight and letter case.")}),n&&c("sourceNote")?Y(Vf,{source:n,slug:s}):null,T_([...k_,"sourceNote",...d?["fontSize"]:[]],f=>c(f)&&(f!=="sourceNote"||!!n))&&Y(Er,{}),Y(qf,{inline:!0,name:i("Page"),onSelect:l})]})}function UY({onBack:e}){return Yo("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(qf,{inline:!0,name:i("Page"),onSelect:e})]})}function jY({onBack:e,partId:o,why:t}){return Yo("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:Yo("code",{children:[o," \u2014 ",t]})}),Y(qf,{inline:!0,name:i("Page"),onSelect:e})]})}function P_({nodeId:e,propKey:o,onBack:t,onEditStyle:a}){let{getItemById:r,getSelectorForId:n,config:s}=EY(G=>G),l=BY(),c=fP(),{partStyle:d}=r_(),{fonts:u,textStyles:m}=ue(),f=yY(AY),x=!f?.capabilities?.hasSiteTheme,{persist:I}=mn({themeFromDocument:x,tokenRef:f?.tokenRef,siteId:f?.siteId??null}),y=cf({themeFromDocument:x,persist:I}),[v,C]=x_(!1),S=LY(),g=G=>(jf(S)!=="tablet"||XO(G))&&vY(gg[G],S),k=SY(null),T=r(e),F=n(e),P=T?s.components[T.type]:void 0,{key:B,row:E}=bt(o),R=P?.fields?.[B],N=E?On(R,E):R,b=Od(e,o),_=T?.props??{},L=Tn(N),H=hd(N),Z=dx(N),V=T?Ul(T.type):null,U=T?f_(T.type,B):null,Pe=E?ul(_[B],E):_[B],Se=!!E&&!(Array.isArray(_[B])&&E.index<_[B].length);yg(()=>{dP(document)||k.current?.querySelector(".es-copy [contenteditable='true'], .es-copy textarea, .sf-copybox textarea, .sf-copybox input")?.focus()},[b]);let[qe,He]=x_(0);yg(()=>He(0),[b]);let he=!!T&&!Se&&(!F||!N);yg(()=>{if(!he||qe>=S_)return;let G=setTimeout(()=>He(Ke=>Ke+1),$Y);return()=>clearTimeout(G)},[he,qe]);let xe=he&&qe<S_,we=Qn(e,$l(T?.type,o),"textPart");if(!T||Se)return Y(UY,{onBack:t});let Xe=Uf(T.type),Ve=Xe?gl(Xe,o):null;if(Xe&&Ve){let G=d?.partId===b?d:null,Ke=Xe[Ve],at=Ke.writable===!0&&!!F,fa=Ua=>{F&&l.replaceComponent(F.zone,F.index,{...T,props:aa(_,o,"role",Ua)})};if(at&&e0(Ke)){let Ua=Sl(_,o),My=ja=>{if(!F)return;let mp=_;for(let[TN,PN]of Object.entries(ja))mp=aa(mp,o,TN,PN??null);l.replaceComponent(F.zone,F.index,{...T,props:mp})},CN=ra(y.saved,y.old),vN=qx(Ua)??"",kN=Wf(Ua,G?.base??v_,My,jf(S)).filter(ja=>ja.key==="fontSize"&&g(ja.key));return Y(wt,{motion:we,body:Y(C_,{region:Ke,sizePx:G?.base.sizePx??null,face:Kf(_,o,G,u),base:G?.base??null,source:V,slug:es(_),onBack:t,shows:g,ownLook:h0(Ua),sizedStyle:Y(I_,{style:g("style")?{value:vN,options:y_(CN),onChange:ja=>My(ja?{textStyle:ja}:{textStyle:null,role:null}),onEditStyles:a}:void 0,cells:kN})})})}return Y(wt,{motion:we,body:Y(C_,{region:Ke,sizePx:G?.base.sizePx??null,face:Kf(_,o,G,u),base:G?.base??null,onFollowStyle:at?fa:void 0,source:V,slug:es(_),onBack:t,shows:g})})}if(!F||!N)return xe?Y("div",{className:"sf-note","aria-busy":"true"}):Y(jY,{onBack:t,partId:b,why:F?"no field":"no selector"});let de=G=>{l.replaceComponent(F.zone,F.index,{...T,props:G})},Re=G=>{if(Oa(G).hidden!==Oa(Pe).hidden||!L){let Ke=E?ix(_,B,E,G):{..._,[B]:G};Ke&&de(Ke);return}Ad({node:T,propKey:o,kind:L,zone:F.zone,index:F.index},Oa(G).text,l.replaceComponent)},to=Pe,Ae=d?.partId===b?d:null,Ge=Ae?.styleOwner,Bo=Ge?r(Ge.owner):null,Go=Ge&&Bo?n(Ge.owner):null,Do=!!(Ge&&Bo&&Go),M=Do?Bo.props??{}:_,re=Do?G=>l.replaceComponent(Go.zone,Go.index,{...Bo,props:G}):de,be=Do?Ge.kind:$l(T?.type,o),We=Sl(M,be),Fe=[{partKey:be,face:Kf(M,be,Ae,u),sizeGroup:Ae?.sizeGroup??null,base:Ae?.base??v_,style:We}],da=HY(Fe,G=>G.sizeGroup),Jr=Ln(Ae?.inks),lo=(G,Ke)=>{let at=M;for(let fa of Fe)at=aa(at,fa.partKey,G,Ke);re(at)},Ga=G=>G?lo("textStyle",G):ws({textStyle:null,role:null}),ws=G=>{let Ke=M;for(let at of Fe)for(let[fa,Ua]of Object.entries(G))Ke=aa(Ke,at.partKey,fa,Ua??null);re(Ke)},up=L==="text"||L==="textarea",{text:Ly,hidden:Qr}=Oa(Pe),qi=N?.[FY]?.label??o,Fy=Qr?i("Show {label} on the slide",{label:i(qi)}):i("Hide {label} on the slide",{label:i(qi)}),By=Yo("div",{className:"sf-field-head",children:[Y(PY,{}),Y("span",{className:"sf-field-label sf-field-label--inline",children:i(qi)}),up&&Y(RY,{content:Fy,children:Y(_Y,{"aria-pressed":Qr,"aria-label":Fy,onClick:()=>Re({text:Ly,hidden:!Qr}),children:Qr?Y(g_,{name:"eye-off",size:14}):Y(g_,{name:"eye",size:14})})})]}),Vi=!H&&Z,xN=!!L&&(gT(N)||H||Qr||!Z),Dy=Kf(M,be,Ae,u),IN=Dy.kind==="role"?Dy.role:null,pp=qx(We)??_0(IN),Ny=ra(y.saved,y.old),gN=Object.entries(We).filter(([G,Ke])=>G!=="role"&&G!=="textStyle"&&Ke!==void 0).length,bN=()=>{let G=M;for(let Ke of Fe){let{role:at,textStyle:fa}=Ke.style;G=d0(G,Ke.partKey),at&&(G=aa(G,Ke.partKey,"role",at)),fa&&(G=aa(G,Ke.partKey,"textStyle",fa))}re(G)},$a=pp,yN=R0(Fe[0].style),SN=$a?Ny.find(G=>G.id===$a)?.name??$a:"",wN=()=>{C(!1),$a&&(y.write(A0({saved:y.saved,old:y.old,styleId:$a,values:dI(Fe[0].style)}),!0),bN())};return Yo(GY,{sectionName:P?.label??T.type,onBack:t,tabs:G=>Y(wt,{motion:we,body:G}),textEditor:g("words")?Y("div",{ref:k,className:"sf-part-text",children:xN?Y(e_,{text:Ly,onTextChange:G=>Re(up?{text:G,hidden:Qr}:G),multiline:kd(L),markup:L!=="plainText",styled:!1,style:Fe[0].style,base:Fe[0].base,setValue:ws,colors:Jr,placeholder:Sg(GT(N))??void 0,ariaLabel:i(qi),head:By,typedOnCanvas:c===b}):L?up?By:null:Y(CY,{field:N,name:o,value:to,onChange:Re,id:`sf-part-${e}-${o}`})}):void 0,children:[U&&g("sourceNote")&&Y(Vf,{source:U,slug:es(_),menuId:Gf(_)}),Vi&&Y(I_,{style:g("style")?{value:pp??"",options:y_(Ny),onChange:G=>Ga(G||null),changed:gN>0,onEditStyles:a,onUpdateStyle:$a&&yN?()=>C(!0):void 0}:void 0,font:g("font")?{value:We.font??"",styleValue:en(Fe[0].base.fontKey)?.label,options:rt.map(G=>({label:G.label,value:G.key})),onChange:G=>lo("font",G||null)}:void 0,italic:g("italic")?{value:We.italic,styleValue:VY(m,pp),onChange:G=>lo("italic",G??null)}:void 0,cells:Wf(Fe[0].style,Fe[0].base,ws,jf(S)).filter(G=>g(G.key)),align:g("align")?qY(We,Fe[0].base.align,jf(S),lo):void 0,letterCase:g("letterCase")?{value:We.case??"",styleValue:Fe[0].base.case,onChange:G=>lo("case",G||null)}:void 0}),v&&$a&&Y(t_,{styleName:SN,onCancel:()=>C(!1),onConfirm:wN}),Vi&&da===null&&g("fixedSizeHint")&&Y("p",{className:"es-field-hint sf-hint-keep",children:i("Fixed size \u2014 the site\u2019s Text setting doesn\u2019t resize this.")}),T_(zY,G=>g(G)&&(G==="words"||(G==="sourceNote"?!!U:G==="fixedSizeHint"?Vi&&da===null:Vi)))&&Y(Er,{})]})}var KY={desktop:"align",tablet:"alignTablet",mobile:"alignPhone"};function qY(e,o,t,a){let r=KY[t],n=u0(e,t);return{value:e[r]??"",styleValue:n??o,onChange:s=>a(r,s||null)}}function VY(e,o){return!o||!Array.isArray(e)?!1:e.find(t=>t?.id===o)?.values?.italic===!0}var v_={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0};import{jsx as kt,jsxs as Ng,Fragment as iX}from"react/jsx-runtime";import{useCallback as cX,useRef as dX,useState as Zl}from"react";import{InspectorIconButton as fX}from"efficient-easel/chrome";import{useEasel as uX}from"efficient-easel/easel";import{PopupMenu as pX,PopupMenuItem as mX,PopupMenuLabel as au}from"efficient-shell/ui";import{CopyToPageIcon as hX}from"efficient-easel/icons";import{useEaselSession as xX}from"efficient-easel/screen/lib/session-context";import{cloneNodeWithFreshIds as IX}from"efficient-easel/screen/lib/document/section-doc";import{FOOTER_TYPE as gX}from"efficient-easel/draw";import{currentEaselSession as YY}from"efficient-easel/screen/lib/session";var XY={general:!0,commerce:!0,service:!0};function wg(e){let o=e?.sets;return o?Object.fromEntries(OS.map(t=>[t,o.includes(t)])):XY}function Cg(e=YY()){return wg(e.blocks)}import{isBackendError as ns}from"efficient-easel/screen/lib/backend-error";import{isEfficientBackend as X_}from"efficient-easel/screen/lib/session";import{useSyncExternalStore as ZY}from"react";var os=new Map,vg=new Set;function kg(e,o){if(!(os.has(e)&&os.get(e)===o)){os.set(e,o);for(let t of vg)t()}}function Yf(e,o){kg(e,o)}function Xf(e,o){let t=os.get(e);kg(e,o??(t==="live"?"changed":t))}function Zf(e,o){kg(e,o??"live")}function E_(e){return os.get(e)}function JY(e){return vg.add(e),()=>{vg.delete(e)}}function O_(e){let o=()=>e?os.get(e):void 0;return ZY(JY,o,o)}function __(e,o){return e==="live"&&o?"changed":e}function Tg({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 R_(e){return e.map(o=>o.change==="take_down"?i("{name} (taken down)",{name:o.name}):o.name)}var Ne="SiteHeader",_e="SiteFooter",Pg="sections",jOe=[Ne,_e],ts=e=>e===Ne||e===_e,A_=e=>`${e}:${Pg}`;function L_(e,o,t=[]){return{type:e,props:{id:o,[Pg]:t}}}var QY=new Set(["Footer",Ne,_e]);function as(e){let o=new Set,t=!1,a=e.filter(r=>{let n=r?.type??"";return n==="Header"?(t=!0,!1):QY.has(n)?o.has(n)?(t=!0,!1):(o.add(n),!0):!0});return t?a:e}function Jf(e,o){return e.some(t=>t?.type===o.type)?e:o.type===Ne?[o,...e]:[...e,o]}var F_={[Ne]:{max:3,takes:["Flex","Ticker"]},[_e]:{max:6,takes:["Flex","Prose","Logos","Divider"]}};function B_(e,o,t){if(!ts(e))return!0;let a=F_[e];return t<a.max&&a.takes.includes(o)}function D_(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(!ts(n?.type))continue;let s=n.props?.[Pg];if(!Array.isArray(s)||!s.some(c=>c?.props?.id===a))continue;let l=F_[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{isNode as eX}from"efficient-easel/data";var N_="Footer",oX=[Ne,N_,_e],rs=e=>{let o=e?.content;return Array.isArray(o)?o:[]},Rr=e=>{let o=e?.zones;return o&&typeof o=="object"&&!Array.isArray(o)?o:null},Vl=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0},M_=e=>Hs(e)?.ownerId??"";function H_(e){let o=as(rs(e)),t=o.some(a=>a?.type===_e);return o.filter(a=>a?.type===Ne||a?.type===_e||a?.type===N_&&!t)}function Eg(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(eX(r)){let n=Vl(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(M_(s))||(n.add(s),a(l),r=!0)}}return t}function Og(e,o){let t={},a={};for(let[r,n]of Object.entries(e??{}))(o.has(M_(r))?t:a)[r]=n;return{owned:t,rest:a}}function W_(e,o){if(!o)return e;let t=H_(o);if(!t.length)return e;let a=t.filter(l=>l.type===Ne),r=t.filter(l=>l.type!==Ne),n={...e,content:[...a,...rs(e),...r]},{owned:s}=Og(Rr(o),Eg(t,Rr(o)));return Object.keys(s).length&&(n.zones={...Rr(e)??{},...s}),n}function _g(e,o){if(!o)return{page:e,chrome:null};let t=H_(o),a=new Set(t.map(Vl).filter(S=>!!S)),r=[],n=[];for(let S of rs(e)){let g=Vl(S);g&&a.has(g)||ts(S?.type)?n.push(S):r.push(S)}let s=new Map(n.map(S=>[Vl(S),S])),l=new Set,c=as(rs(o)).flatMap(S=>{let g=Vl(S);if(!g||!a.has(g))return[S];let k=s.get(g);return k?(l.add(k),[k]):[]});for(let S of n)l.has(S)||c.some(g=>g?.type===S.type)||(c=S.type===Ne?[S,...c]:[...c,S]);c=as(c);let d=c.length===rs(o).length&&c.every((S,g)=>S===rs(o)[g]),u=Rr(e),m=Eg(c,u),{owned:f,rest:x}=Og(u,m),I=Og(Rr(o),Eg(t,Rr(o))).owned,y={...o,content:d?o.content:[...c]},v=Rr(o);if(v||Object.keys(f).length){let S={};for(let[g,k]of Object.entries(v??{}))g in I?g in f&&(S[g]=f[g]):S[g]=k;for(let[g,k]of Object.entries(f))g in S||(S[g]=k);y.zones=S,v&&tX(y.zones,v)&&(y.zones=v)}let C={...e,content:r};return u&&(Object.keys(x).length||!Object.keys(I).length?C.zones=x:delete C.zones),{page:C,chrome:y}}function tX(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 z_(e,o){return t=>e(t)||t!==void 0&&oX.includes(t)&&o()}var G_="SharedSection",aX=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Yl=e=>{let o=e?.content;return Array.isArray(o)?o:[]},Xl=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0};function $_(e){if(e?.type!==G_)return null;let o=e.props?.section;return typeof o=="string"&&aX.test(o)?o.toLowerCase():null}function U_(e){let o=[];for(let t of Yl(e)){let a=$_(t),r=Xl(t);a&&r&&o.push({refId:r,section:a})}return o}function Qf(e){let o=Yl(e)[0];return o&&typeof o=="object"&&Xl(o)?o:null}function rX(e,o){return{type:G_,props:{id:e,section:o}}}function j_(e,o){let t=new Map,a=new Set,r=!1,n=Yl(e).map(s=>{let l=$_(s),c=Xl(s);if(!l||!c||a.has(l))return s;let d=Qf(o.get(l)),u=Xl(d??void 0);return!d||!u||t.has(u)?s:(a.add(l),t.set(u,{section:l,refId:c,reference:s}),r=!0,d)});return{working:r?{...e,content:n}:e,held:t}}function K_(e,o,t){let a=new Map,r=!1,n=Yl(e).map(s=>{let l=Xl(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 u=Yl(d).slice(1),m=Qf(d);return a.set(c.section,m===s?d:{...d,content:[s,...u]}),r=!0,c.reference??rX(c.refId,c.section)});return{page:r?{...e,content:n}:e,docs:a}}var q_=null;function Rg(e){q_=e}function na(){return q_}var V_=null;function Ag(e){V_=e}function eu(){return V_}var ou=null;function Lg(e){ou=e}function Y_(){return!!(ou&&ou.state().lockHolder)}function Ar(){return ou!==null}function Dg(e){return!!(e?.publish&&e.liveState)}function nX(e,o){if(!Dg(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 sX(e,o){return async(t,a)=>{try{await dv()}catch(r){throw new Error(i("A change waiting to go live could not be saved."),{cause:r})}return(await e.publish(o)).state==="live"?Dc({state:"live",changes:[]}):qt(0),{version:a??null}}}function Bg(e,o,t){let a=o?{siteId:o}:void 0;return{resolve:r=>e.load({slug:r,...a}).then(n=>(n&&Yf(n.id,n.live),n)),saveLayout:(r,n,s,l)=>e.save(r,{layout:n},{version:s,clientId:l??""}).then(c=>(Xf(r,c.live),qt(),c)),rereadVersion:e.version?r=>e.version(r):void 0,publish:Dg(t)?sX(t,a):e.publish?(r,n)=>e.publish(r,n?{version:n}:void 0).then(s=>(Zf(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 lX(e,o,t,a,r=!1){let n=null,s=new Set,l=!1,c=new Map,d=new Map,u=new Map,m=new Map,f={docId:null,lockHolder:null,conflict:null,saveFailed:!1,unpublished:!1,loadFailed:!1,sections:[]},x=new Set,I=()=>{if(!n)return!1;let E=E_(n.id);return E==="changed"||E==="never"||E===void 0&&l},y=E=>{f={...f,...E,docId:n?.id??null,unpublished:I(),sections:[...u.values()]};for(let R of x)R()},v=(E,R,N)=>{R?u.set(E,{section:E,title:c.get(E)?.title??"",problem:R,holder:N}):u.delete(E)},C=E=>E&&typeof E=="object"&&!Array.isArray(E)?E:{},S=E=>s.has(E),g=()=>new Map([...c].map(([E,R])=>[E,R.layout])),k=()=>`SharedSection-${typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():Math.random().toString(36).slice(2)}`,T=(E,R,N,b)=>{let _=C(R);c.set(E,{layout:_,version:N,savedJson:JSON.stringify(_),title:b})},F={state:()=>f,subscribe:E=>(x.add(E),()=>{x.delete(E)})},P={sectionOf:E=>d.get(E)?.section??null,heldElsewhere:E=>{let R=d.get(E)?.section;return!!(R&&u.get(R)?.problem==="lock")},adopt:(E,R)=>{T(R.id,R.layout,R.layout_updated_at,R.title),d.set(E,{section:R.id,refId:k()}),m.set(R.id,R.used_on),y({})},place:E=>{if([...d.values()].some(b=>b.section===E.id))return null;let R=Qf(C(E.layout)),N=typeof R?.props?.id=="string"?R.props.id:null;return!R||!N||!R.type?null:(T(E.id,E.layout,E.layout_updated_at,E.title),d.set(N,{section:E.id,refId:k()}),m.set(E.id,E.used_on),R)},usedOn:E=>m.get(E)??null,learn:E=>{for(let R of E){m.set(R.id,R.used_on);let N=c.get(R.id);N&&(N.title=R.title);let b=u.get(R.id);b&&u.set(R.id,{...b,title:R.title})}y({})}},B=async(E,R)=>{for(let[N,b]of E){let _=c.get(N),L=JSON.stringify(b);if(!(!_||L===_.savedJson||u.get(N)?.problem==="lock"))try{let H=await e.save(N,{layout:b},{version:_.version,clientId:R??""});Xf(N,H.live),_.layout=b,_.version=H.version,_.savedJson=L,v(N,null)}catch(H){ns(H,"changed-elsewhere")?v(N,"conflict"):ns(H,"lock-taken")?v(N,"lock",H.holder??void 0):v(N,"save")}}E.size&&qt(),y({})};return{resolve:async E=>{if(Lg(E===mt?null:F),Rg(E===mt?null:P),c=new Map,d=new Map,u=new Map,m=new Map,E===mt)return t.resolve(E);let R=!1,[N,b]=await Promise.all([t.resolve(E),e.load({slug:mt,...o}).catch(()=>(R=!0,null))]);if(b&&!Js(N?.layout)){Yf(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:R}),N;let _=C(N.layout),L=U_(_),H=await Promise.all(L.map(U=>e.load({id:U.section,...o}).catch(()=>null)));L.forEach((U,Pe)=>{let Se=H[Pe];Se?(Yf(Se.id,Se.live),T(U.section,Se.layout,Se.version,"")):(c.delete(U.section),u.set(U.section,{section:U.section,title:"",problem:"load"}))});let Z=j_(_,g());if(d=Z.held,!n)return d.size&&s.add(N.id),y({conflict:null,saveFailed:!1,loadFailed:R}),d.size?{...N,layout:Z.working}:N;let V=W_(Z.working,n.layout);return n.savedJson=JSON.stringify(_g(V,n.layout).chrome),s.add(N.id),y({conflict:null,saveFailed:!1,loadFailed:!1}),{...N,layout:V}},saveLayout:async(E,R,N,b)=>{if(!S(E))return t.saveLayout(E,R,N,b);let _=n,L=_?_g(R,_.layout):{page:R,chrome:null},H=K_(L.page,d,g()),Z=await t.saveLayout(E,H.page,N,b);if(await B(H.docs,b),!_)return Z;let V=JSON.stringify(L.chrome);if(!L.chrome||V===_.savedJson||f.lockHolder)return Z;try{let U=await e.save(_.id,{layout:L.chrome},{version:_.version,clientId:b??""});Xf(_.id,U.live),qt(),_.layout=L.chrome,_.version=U.version,_.savedJson=V,l=!0,y({conflict:null,saveFailed:!1})}catch(U){ns(U,"changed-elsewhere")?y({conflict:U.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):ns(U,"lock-taken")?y({lockHolder:U.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}}):y({saveFailed:!0})}return Z},publish:t.publish?async(E,R)=>{let N=await t.publish(E,R),b=n;if(b&&S(E)&&!r&&e.publish&&I()&&!f.lockHolder){let _=await e.publish(b.id,b.version?{version:b.version}:void 0);Zf(b.id,_.live),_.version!==null&&(b.version=_.version),l=!1,y({})}if(S(E)&&!r&&e.publish)for(let[_,L]of c){if(u.get(_)?.problem==="lock")continue;let H=await e.publish(_,L.version?{version:L.version}:void 0);Zf(_,H.live),H.version!==null&&(L.version=H.version)}return N}:void 0,lock:a?{claim:async(E,R,N)=>{let b=await a.claim(E,R,N);if(!S(E))return b;let _=n;if(_)try{await a.claim(_.id,R,!1),f.lockHolder&&y({lockHolder:null})}catch(L){ns(L,"lock-taken")&&y({lockHolder:L.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}})}for(let L of c.keys())try{await a.claim(L,R,!1),u.get(L)?.problem==="lock"&&v(L,null)}catch(H){ns(H,"lock-taken")&&v(L,"lock",H.holder??void 0)}return c.size&&y({}),b},release:async(E,R)=>{if(await a.release(E,R),!S(E))return;let N=n;N&&!f.lockHolder&&await a.release(N.id,R).catch(()=>{});for(let b of c.keys())u.get(b)?.problem!=="lock"&&await a.release(b,R).catch(()=>{})}}:void 0,pinnedChrome:F}}function tu(e){let o=(t,a,r)=>e.save(t,a.layout?{...a,layout:Rw(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 h_e(e,o,t){return e.update(o,Aw(t))}function x_e(e,o=$e(),t=Cg(),a={}){let r=X_(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,u=Dg(o.site)?o.site:void 0,m=tu(o.pages),f=Bg(m,e,u),x=d?lX(m,n,f,o.lock,!!u):null;return{capabilities:{canPublish:!!u||!!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},...f,...Z_(f.resolve),lock:o.lock,...x,site:s?()=>o.site.get(n):void 0,siteLiveState:u?()=>u.liveState(n):void 0,siteVersions:nX(u,n),updateSite:s&&l?I=>l(I,n):void 0,previewHref:o.preview?I=>o.preview.href(I):void 0}}function I_e(e,o=$e(),t=Cg()){let a=X_(o),r=o.templates,n=r?tu(r.pages(e)):{list:()=>Promise.reject(new Error(Fg)),load:()=>Promise.reject(new Error(Fg)),save:()=>Promise.reject(new Error(Fg))};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},...Bg(n,void 0),...Z_(Bg(n,void 0).resolve),publish:void 0,templateName:r?()=>r.get(e).then(s=>s.name):void 0}}function Z_(e){return{resolve:o=>(Lg(null),Rg(null),e(o))}}var Fg="This editor's backend has no website templates.";function bX(e,o,t){let a=IX(e,void 0,o);return t?.(a)??a}function J_({node:e,currentSlug:o,siteId:t,tokenRef:a,runAuthed:r,onNotify:n}){let[s,l]=Zl(!1),[c,d]=Zl(null),u=xX(),m=uX(P=>P.config.components),[f,x]=Zl(!1),[I,y]=Zl(null),v=dX(null),[C,S]=Zl(null),g=cX(async()=>{if(u.usesBridgedToken&&!a.current){x(!0);return}try{d(await $e(u).pages.list(t?{siteId:t}:void 0))}catch{x(!0)}},[a,t,u]),k=()=>{if(s){l(!1);return}let P=v.current?.getBoundingClientRect();P&&S({top:P.bottom+6,right:Math.max(8,window.innerWidth-P.right)}),d(null),x(!1),g(),l(!0)},T=(c??[]).filter(P=>P.slug!==o),F=async P=>{if(I)return;y(P.slug);let B=bX(e,m,u.documentHooks?.storedNode),E=await r(()=>yX($e(u).pages,P,B));y(null),l(!1),n?.(E?i("Duplicated to \u201C{name}\u201D",{name:P.label}):i("Couldn\u2019t duplicate the section \u2014 please retry"),E?"success":"error")};return Ng(iX,{children:[kt("span",{"data-menu-toggle":!0,style:{display:"contents"},children:kt(fX,{buttonRef:v,label:i("Duplicate to another page"),hasPopup:"menu",expanded:s,onClick:k,children:kt(hX,{size:15})})}),s&&C&&kt(pX,{portal:!0,style:{top:C.top,right:C.right},onClose:()=>l(!1),children:Ng("div",{role:"menu","aria-label":i("Duplicate to page"),children:[kt(au,{children:i("Duplicate to page")}),f?kt(au,{children:i("Couldn\u2019t load pages")}):c===null?kt(au,{children:i("Loading\u2026")}):T.length===0?kt(au,{children:i("No other pages")}):T.map(P=>Ng(mX,{role:"menuitem",disabled:I!==null,onClick:()=>{F(P)},children:[kt("span",{className:"min-w-0 flex-1 truncate",children:P.label}),I===P.slug?kt("span",{className:"shrink-0 text-xs",children:i("Copying\u2026")}):P.draft&&kt("span",{className:"shrink-0 text-xs",children:i("draft")})]},P.id))]})})]})}async function yX(e,o,t){let a=tu(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===gX);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 rZ}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSectionOps as nZ}from"efficient-easel/screen/lib/document/use-section-ops";import{SELECTION_MODE as K1e,isSelectionMode as Gg}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as sZ}from"efficient-easel/draw/client";import{jsx as Jl,jsxs as SX}from"react/jsx-runtime";import{SettingsDrill as wX}from"efficient-easel/panel";import{UiIcon as CX}from"efficient-easel/draw/client";var vX="Not shown on the page";function kX({part:e,onOpen:o}){return Jl(wX,{name:i(e.label),preview:e.offPage?i(vX):e.preview||i("Empty"),offPage:e.offPage,status:e.hidden?Jl("span",{className:"sf-entry-eye",role:"img","aria-label":i("Hidden on the page"),children:Jl(CX,{name:"eye-off",size:14})}):void 0,onOpen:()=>o(e.key)})}function Mg(e){return e.filter(o=>!o.identifier)}function Q_({parts:e,onOpen:o,heading:t=!0}){let a=Mg(e);return a.length?SX("div",{className:"sf-entries",children:[t?Jl("h3",{className:"sf-entries-head",children:i("Text")}):null,a.map(r=>Jl(kX,{part:r,onOpen:o},r.key))]}):null}import{HEADER_TYPE as lZ,ROOT_ZONE as x1}from"efficient-easel/draw";import{HEADER_TYPE as Ro,FOOTER_TYPE as Me,newNodeId as TX}from"efficient-easel/draw";function ru(){return{type:Ro,props:{id:TX(Ro)}}}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"}],PX=e1.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),EX="FooterGroup",o1="blocks";function t1(e){return e===Me?e1:e===EX?PX:null}function nu(){let e=(o,t)=>({type:o,props:{id:`${o}-${crypto.randomUUID()}`,...t}});return[e("FooterLogo",{widthPct:100,align:"left",tagline:""}),e("FooterEmailSignup",{...Mv}),e("FooterPayment",{...Hv})]}function Hg(e){switch(e?.type){case Ne:case _e:return i("On every page");case Ro:case Me:return i("On every page \xB7 old style");default:return null}}var a1=()=>null,r1=()=>i("Changed on every page");function su(e,o){let t=xC(e,o);if(t)return t;let a=D_(e,o);if(!a)return null;let r=a.group===Ne;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 iu,Fragment as HX,jsxs as WX}from"react/jsx-runtime";import{useState as zX}from"react";import{createNode as GX,newId as $X}from"efficient-easel/data";import{useEasel as UX}from"efficient-easel/easel";import{Banner as jX,Button as Wg}from"efficient-shell/ui";import{useScreenDocument as KX}from"efficient-easel/screen/components/ScreenDocumentContext";import{isNodeList as OX}from"efficient-easel/data";var lu="Flex",_X={FooterMenu:"MenuBlock",FooterEmailSignup:"EmailFormBlock",FooterSocial:"SocialLogosBlock",FooterPayment:"PaymentLogosBlock"},RX=e=>{let{id:o,...t}=e;return t},n1=e=>typeof e=="string"?e:"",s1={sm:12,md:13,lg:15},AX="md",l1=1.5,LX={size:13,lineHeight:l1,width:280},FX=14,BX=40,DX=e=>e==="center"||e==="right"?e:"left";function NX(e){let o={},t=[["padTop","sectionPaddingTop"],["padRight","sectionPaddingRight"],["padBottom","sectionPaddingBottom"],["padLeft","sectionPaddingLeft"]];for(let[a,r]of t){let n=K(e[a]);n&&(o[r]=n)}return o}function MX(e,o,t){let a=t(e,RX(o));if(Array.isArray(o.template))return{...a,props:{...a.props,template:i1(o.template,String(a.props.id))}};if(o.template!==void 0)return a;let r=Cw(e,a.props);return r===a.props?a:{...a,props:r}}function i1(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))OX(s)&&(r[n]=i1(s,o,t));return{...a,props:r}})}function c1(e,o){let t=e.props??{},a=_X[e.type];if(a)return[MX(a,t,o)];switch(e.type){case"FooterLogo":{let r=DX(t.align),n=o("LogoBlock",{...t.reverse?{reverse:t.reverse}:{},...typeof t.customColor=="string"&&t.customColor?{customColor:t.customColor}:{},heightPx:Math.round(hS*((K(t.widthPct)??100)/100)),href:"/",align:r,...NX(t)}),s=n1(t.tagline).trim();return s?[n,o("Text",{text:s,tone:"dim",align:r,_partStyles:{text:{...LX}}})]:[n]}case"FooterText":{let r=typeof t.size=="string"&&t.size in s1?t.size:AX;return[o("Text",{text:n1(t.text),tone:typeof t.tone=="string"?t.tone:"default",_partStyles:{text:{size:s1[r],lineHeight:l1}}})]}case"FooterDivider":{let r=K(t.thickness),n=K(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(lu,{direction:t.direction==="horizontal"?"row":"column",gap:pr("FooterGroup",t.gap),align:t.align==="center"||t.align==="end"||t.align==="stretch"?t.align:"start",...Ls,content:r.flatMap(n=>c1(n,o))})]}default:return[]}}function Ql(e,o,t){let a=e&&Array.isArray(e.props?.blocks)?e.props.blocks:[],r=d=>o(lu,{direction:"row",wrap:!0,share:"equal",gap:BX,content:d}),n=[],s=[];for(let d of a){let u=c1(d,o);if(d.type==="FooterDivider"){s.length&&n.push(r(s)),s=[],n.push(...u);continue}u.length<=1?s.push(...u):s.push(o(lu,{direction:"column",gap:FX,align:"stretch",...Ls,content:u}))}(s.length||!n.length)&&n.push(r(s));let l=o(lu,{direction:"column",content:[o("LegalLineBlock")]}),c=L_(_e,t,[...n,l]);return{...c,props:{...c.props,...e?.props?.width==="full"?{fullWidth:!0}:{}}}}function d1(){let{appState:e,dispatch:o,config:t}=UX(u=>u),{readOnly:a}=KX(),[r,n]=zX(!1),s=e.data.content;if(a||s.some(u=>u.type===_e))return null;let l=s.find(u=>u.type===Me)??null,c=(u,m)=>GX(t,u,m),d=()=>{let u=Ql(l,c,$X(_e));o({type:"setData",data:m=>({...m,content:[...Jf(m.content,u)]}),recordHistory:!0}),n(!1)};return iu(jX,{tone:"info",title:i("This footer uses the old layout"),action:r?WX(HX,{children:[iu(Wg,{variant:"primary",size:"sm",onClick:d,children:i("Switch now")}),iu(Wg,{variant:"secondary",size:"sm",onClick:()=>n(!1),children:i("Cancel")})]}):iu(Wg,{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 zg,jsxs as qX}from"react/jsx-runtime";import{InspectorUpLevel as f1}from"efficient-easel/chrome";function u1({nodeId:e,part:o,sectionName:t,onUpToSection:a}){let{select:r}=yf(),n=Qn(e,o,"picture");return qX("div",{children:[o!=="media"?zg(f1,{inline:!0,name:i(qn.media),onSelect:()=>r(Ll(e,"media"))}):zg(f1,{inline:!0,name:i(t),onSelect:a}),zg(wt,{part:o,motion:n})]})}import{SettingsSwitch as iZ}from"efficient-easel/panel";var g1={kind:"header"},Ug={kind:"website"},b1={kind:"website",tab:Un,revealPageGroup:!0},y1={kind:"chat"},S1={kind:"social"},ei="Part";function cZ(e){return i("Part of {name}",{name:i(e)})}function dZ(e,o,t){let a=e.describeNode(o);return{name:t,kindLabel:a?cZ(a.label):i(ei)}}function fZ(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 w1({what:e}){let o=fZ(e);return Lr("div",{className:"sf-note",children:[ye("p",{children:ye("strong",{children:o.title})}),Lr("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 $g(e){let o=Al[e];return{name:qn[e],kindLabel:ei,icon:o,head:(t,a)=>{if(t.kind!==o)return null;let r=a.describeNode(t.nodeId);if(!r)return null;let n=I1({name:i(wf(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?ye(u1,{nodeId:t.nodeId,part:e,sectionName:a.describeNode(t.nodeId)?.label??"Hero",onUpToSection:()=>a.onSelectNode(t.nodeId)}):null}}var uZ={header:{name:"Header",kindLabel:"Site settings",icon:"header",render:(e,o)=>{let t=o.hostPanels?.header;return t?ye(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)=>ye(ff,{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:()=>ye(zE,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>ye(qE,{unavailable:ye(w1,{what:"Social link"})})},ticker:{name:Ol,kindLabel:ei,icon:"ticker",head:(e,o)=>e.kind==="ticker"?dZ(o,e.heroId,i(Ol)):null,render:e=>ye(JO,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:$g("media"),heroImage:$g("image"),heroImage2:$g("image2"),part:{name:ei,kindLabel:ei,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}=bt(e.propKey),n=r?On(t.fields[a],r):t.fields[a],s=Uf(t.type),l=s?gl(s,e.propKey):null,c=s&&l?s[l].label:l_[e.propKey],d=c?i(c):KT(i(fx(Rd(n??{},a))),r),u=I1({name:d,tier:"part",of:i(t.label)},{partOf:({name:m})=>i("Part of {name}",{name:m})});return{name:u.name,kindLabel:u.kind}},render:(e,o)=>e.kind==="part"?ye(P_,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>o.onSelectNode(e.nodeId),onEditStyle:o.onOpenSiteStyles}):null}},pZ=new Set(["header","website","chat"]);function mZ(e,o){if(e==="selection")return null;let t=uZ[e];return pZ.has(e)&&!o.hasSiteSettings?{...t,kindLabel:"Not part of a template",render:()=>ye(w1,{what:t.name})}:t}function C1({mode:e,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onOpenPageStyles:a,onSelectNode:r,hideNodeActions:n=!1,onNotify:s,onHidePanel:l}){let{capabilities:c,tokenRef:d,notifyParent:u,currentSlug:m,siteId:f,runAuthed:x,readOnly:I,navigate:y}=rZ(),{rows:v}=Tl(),C=v?.find(re=>re.slug===m)??null,S=XX(),g=Object.keys(S.fields).some(re=>!re.startsWith("_")&&!vl.includes(re)),{websiteName:k}=ue(),T=nZ({readOnly:I}),{select:F}=sZ(),{selectedItem:P,getItemById:B,getSelectorForId:E,config:R,appState:N}=YX(re=>re),b=tZ(R,P?{type:P.type,props:P.props}:null),_=P?JT(b??R.components[P.type]?.fields,P.props):[],L=re=>R.components[re]?.label??re,H=P?E(P.props.id):void 0,Z=mZ(e.kind,c),V=aZ(),U={capabilities:c,tokenRef:d,hostPanels:V.chrome?.panels,describeNode:re=>{let be=B(re);if(!be)return null;let We=R.components[be.type];return{type:be.type,label:We?.label??be.type,fields:We?.fields??{},props:be.props??{}}},siteId:f,websiteName:k??null,notifyParent:u,onNotify:s,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r},Pe=Z?.head?.(e,U)??null,Se=BE({kind:C?.kind,pageName:C?.label}),qe=Pe?.name??(Z?i(Z.name):P?i(L(P.type)):Se.name),He=Pe?.kindLabel??(Z?i(Z.kindLabel):P?H&&H.zone!==x1?i("Block"):i("Section"):Se.kindLabel),he=Z?Z.icon:P?P.type:"page",xe=Z?null:P?R.components[P.type]?.fields??null:R.root?.fields??null,we=xe?yO(xe):2,Xe=Gg(e)&&P?Ul(P.type):null,Ve=!!P&&!!H&&H.zone===x1&&P.type!==Me&&P.type!==lZ,de=su(N?.data,P),Re=()=>{de||H&&T.duplicateComponent(H.zone,H.index)},to=()=>{H&&(T.removeComponent(H.zone,H.index),T.select(null))},Ae=P?R.components[P.type]?.defaultProps?.previewHover:void 0,Ge=Gg(e)&&!!P&&!!H&&Ae!==void 0,Bo=Ge&&P.props.previewHover===!0,Go=()=>{!P||!H||T.replaceComponent(H.zone,H.index,{...P,props:{...P.props,previewHover:!Bo}})},[Do,M]=VX(bI);return Lr("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right${Do||!(!Z&&P)?"":" sf-hints-folded"}`,children:[ye(QX,{icon:ye(Tr,{type:he,size:15}),name:qe,kind:He,actions:!n&&Gg(e)&&P&&P.type!==Me?Lr(p1,{children:[ye(m1,{label:i("Duplicate section"),title:de??void 0,disabled:de!==null,onClick:Re,children:ye(eZ,{size:15})}),Ve&&c.hasSiteSettings&&ye(J_,{node:P,currentSlug:m,siteId:f??void 0,tokenRef:d,runAuthed:x,onNotify:s}),ye(m1,{label:i("Remove section"),danger:!0,onClick:to,children:ye(oZ,{size:15})}),l?ye(h1,{side:"right",onHide:l,divider:!0}):null]}):l?ye(h1,{side:"right",onHide:l}):void 0}),Ge&&Lr("div",{className:"sf-preview-pin",children:[Lr("div",{className:"sf-preview-pin-text",children:[ye("span",{className:"sf-preview-pin-label",children:i("Preview hover state")}),ye("span",{className:"sf-preview-pin-hint",children:i("not shown live")})]}),ye(iZ,{checked:Bo,onChange:Go,ariaLabel:i("Preview hover state")})]}),ye(Uk,{tier:we,children:ye("div",{className:"sf-insp-body es-insp-body sf-scroll",children:Z?Z.render(e,U):P?Lr(p1,{children:[P.type===Me&&c.hasSiteSettings&&ye(d1,{}),ye(KC,{children:ye(wt,{entries:ye(Q_,{parts:_,heading:!1,onOpen:re=>F(Od(P.props.id,re))}),entryCount:Mg(_).length})}),Xe&&ye(Vf,{source:Xe,slug:es(P?.props),menuId:Gf(P?.props)}),ye(yI,{shown:Do,onChange:M})]}):g?ye(wt,{omit:vl}):ye(JX,{variant:"none",icon:!1,message:i("Select a section or block to edit it."),children:a&&ye(ZX,{variant:"secondary",onClick:a,children:i("This page")})})})})]})}import{jsx as p,jsxs as O,Fragment as E1}from"react/jsx-runtime";var eo={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)"},jg="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:eo[t],flex:"none",...r}})}var hZ={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",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"},q={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)"},Le=(e,o,t=160)=>({background:`linear-gradient(${t}deg,${e},${o})`});function la({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 du({children:e}){return p("span",{style:{fontSize:"4.64cqw",fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:h.muted},children:e})}function v1({over:e,overTone:o,head:t,headSize:a=11.5,cta:r,ctaBg:n,ctaFg:s,tone:l}){return O(E1,{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 Kg({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",...Le(h.paper,h.paper2,150)},children:p(la,{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 sa({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 Ee({title:e,children:o}){return O("div",{style:{...q,background:h.card,padding:"9px 10px",display:"flex",flexDirection:"column",gap:6},children:[p(du,{children:e}),o]})}function k1({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 qg({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 oi({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 ho({children:e,w:o}){return p("span",{style:{fontSize:"3.98cqw",lineHeight:1.45,color:h.muted,width:o,display:"block"},children:e})}function cu({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 T1({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 xZ={wheelslisting:p(Ee,{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",...Le(h.paper,h.paper2,150)},children:p(la,{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:{...q,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:{...q,padding:"10px 12px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center",...Le(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(Ee,{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(Ee,{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(Ee,{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:{...q,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:{...q,background:h.paper,padding:"9px 11px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[p(du,{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(la,{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:{...q,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,...Le(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(Ee,{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(Ee,{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(Ee,{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:{...q,background:`linear-gradient(transparent 45%,${h.scrim} 45%),${Le(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(Ee,{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:{...q,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:{...q,...Le(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(Ee,{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(cu,{label:"Name"}),p(cu,{label:"Email"})]}),p(cu,{label:"Message",filled:!0}),p(T1,{children:"SEND"})]})}),appointmentbooking:p(Ee,{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(Ee,{title:"Leave a review",children:O("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[p(qg,{filled:4,size:14}),p(cu,{label:"Your review",filled:!0}),p(T1,{children:"POST"})]})}),submitbuild:p(Ee,{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:{...q,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:{...q,overflow:"hidden",...Le(h.ink,h.inkSoft2)},children:[p(la,{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:{...q,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(ho,{children:"Every failure starts in the same place \u2014 not the rim, not"}),p(ho,{w:"62%",children:"the tyre, but the bolt nobody re-torqued."})]}),series:p(Ee,{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(Ee,{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",...Le(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:{...q,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:{...q,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(ho,{children:o})]},e))}),docmetacards:p(Ee,{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:{...q,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(ho,{children:"Unfitted wheels come back within 30 days, no questions."}),p(ho,{w:"58%",children:"Freight on a change of mind is yours."})]})]}),paragraphs:O("div",{style:{...q,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(ho,{children:"Forged, correctly offset, rated for what you actually"}),p(ho,{children:"carry. Everything else is a photograph."})]})]}),keyfeatures:p(Ee,{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:{...q,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(oi,{n:"27k",label:"Rigs"}),p(oi,{n:"4.9",label:"Rating"})]}),O("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[p(ho,{children:"Twelve years of fitting the same three questions, and the"}),p(ho,{children:"answer has not moved: load rating, offset, then looks."})]})]}),chart:O(Ee,{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:{...q,overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",...Le(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,...Le(h.paper,h.paper2,150)}}),p("span",{style:{height:3,width:"38%",borderRadius:1,background:h.rust}})]})]})}),manifesto:p("div",{style:{...q,overflow:"hidden",display:"flex",alignItems:"center",padding:"0 16px",...Le(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(Ee,{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(ho,{children:o})]})]},e))})}),timelinetrack:O("div",{style:{...q,padding:"0 12px",display:"flex",flexDirection:"column",gap:10,justifyContent:"center",...Le(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:{...q,overflow:"hidden",...Le(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:{...q,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:{...q,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:{...q,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:{...q,padding:"10px 12px",display:"flex",flexDirection:"column",alignItems:"center",gap:6,justifyContent:"center",...Le(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:{...q,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:{...q,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:{...q,overflow:"hidden",background:h.card},children:[p("div",{style:{position:"absolute",inset:0,...Le(h.ink,h.inkSoft2)}}),p(la,{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(ho,{children:"One shed, one lathe, one idea."}),p(ho,{w:"66%",children:"It turned out to be right."})]})]}),gallerygrid:p(Ee,{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,...Le(e,o,140+t*22)}},t))})}),gallery:O(Ee,{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,...Le(e,o,150+t*20)}},t))})]}),ordersummary:O(Ee,{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",...Le(h.paper,h.paper2,150)},children:p(la,{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(sa,{k:"Subtotal",v:"$1,956"}),p(sa,{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(Ee,{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:{...q,background:h.paper,display:"flex",flexDirection:"column",gap:8,justifyContent:"center",padding:"0 12px"},children:[p(du,{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:{...q,padding:"10px 12px",display:"flex",flexDirection:"column",gap:9,justifyContent:"center",...Le(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(oi,{n:"27k",label:"Rigs fitted",tone:h.onInk}),p(oi,{n:"12",label:"Years",tone:h.onInk}),p(oi,{n:"4.9",label:"Avg rating",tone:h.warm})]})]}),testimonials:O("div",{style:{...q,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(qg,{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(k1,{}),p("span",{style:{fontSize:"3.98cqw",color:h.muted},children:"Dave M. \xB7 Hilux N80"})]})]}),reviews:O(Ee,{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,...Le(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(k1,{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(qg,{filled:o})]}),p(ho,{children:t})]})]},e))})]}),logos:O("div",{style:{...q,display:"flex",flexDirection:"column",gap:9,justifyContent:"center",padding:"0 12px",...Le(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:{...q,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(ho,{children:"he number on the back of your wheel decides whether the"}),p(ho,{w:"76%",children:"tyre sits under the guard or an inch outside it."})]})]})]}),cards:p(Ee,{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(ho,{children:o})]},e))})}),faq:p(Ee,{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(ho,{w:"90%",children:"Use the fitment finder \u2014 it reads your build, not just the model."})]},e))})}),hero:O("div",{style:{...q,overflow:"hidden",...Le(h.ink,h.ink2)},children:[p("div",{style:{...q,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(v1,{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(la,{size:104,style:{right:-24,bottom:-30}})]}),herosingle:O("div",{style:{...q,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(v1,{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",...Le(h.inkSoft,h.inkSoft2)},children:p(la,{size:74,style:{right:-14,top:16}})})]}),productgrid:p(Ee,{title:"Best sellers",children:O("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[p(Kg,{name:"Ridge 19",price:"$365"}),p(Kg,{name:"Ridge 29",price:"$410"}),p(Kg,{name:"Ridge 39",price:"$455"})]})}),collections:p(Ee,{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,...Le(o,t)},children:p("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.04em"},children:e})},e))})}),producthero:O("div",{style:{...q,display:"flex",background:h.card,overflow:"hidden"},children:[p("div",{style:{flex:1.1,position:"relative",...Le(h.paper,h.paper2,150)},children:p(la,{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(Ee,{title:"Specifications",children:O("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[p(sa,{k:"Diameter",v:'20"'}),p(sa,{k:"Width",v:"9.0J"}),p(sa,{k:"Offset",v:"+12"}),p(sa,{k:"Load",v:"1250 kg"})]})}),fitmenttable:p(Ee,{title:"Will it fit?",children:O("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[p(sa,{k:"Hilux N80",v:"20\xD79 +12",ok:!0}),p(sa,{k:"Ranger PX3",v:"20\xD79 +12",ok:!0}),p(sa,{k:"LC79",v:"17\xD78 \u221210",ok:!0})]})}),processsteps:O("div",{style:{...q,background:h.paper,padding:10,display:"flex",flexDirection:"column",gap:7,justifyContent:"center"},children:[p(du,{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:{...q,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,...Le(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:{...q,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))})},P1={subscribe:O("div",{style:{...q,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:eo.line,marginBottom:10}}),O("div",{style:{flex:1,display:"flex",gap:10,border:`1px solid ${eo.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 ${eo.line}`,background:eo.block}}),p(W,{w:34,h:13,r:5,tone:"accent"})]})]}),O("div",{style:{flex:1,background:eo.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 ${eo.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:{...q,display:"flex"},children:[p("div",{style:{width:"44%",background:jg}}),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(E1,{children:[p(W,{w:"18%",h:6,r:3,tone:"accent",style:{position:"absolute",top:15,right:16}}),O("div",{style:{...q,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:{...q,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:{...q,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:eo.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:{...q,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:eo.block}},o))}),blanksection:p("div",{style:{...q,padding:14,display:"flex"},children:O("div",{style:{flex:1,border:`1px dashed ${eo.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:{...q,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:{...q,padding:14,display:"flex",alignItems:"center"},children:p(W,{w:"100%",h:3,r:2,tone:"dark"})}),customhtml:O("div",{style:{...q,display:"flex",alignItems:"center",justifyContent:"center",gap:8,background:jg},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:{...q,padding:14,display:"flex",alignItems:"center"},children:p(W,{w:"64%",h:13,r:4,tone:"dark"})}),text:O("div",{style:{...q,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:jg}}),button:p("div",{style:{...q,display:"flex",alignItems:"center",justifyContent:"center"},children:p(W,{w:"34%",h:16,r:8,tone:"accent"})}),menu:O("div",{style:{...q,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:{...q,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 ${eo.line}`}}),p(W,{w:"30%",h:16,r:5,tone:"accent"})]})]}),sociallogos:p("div",{style:{...q,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:{...q,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:{...q,padding:"0 18%",display:"flex",alignItems:"center"},children:O("div",{style:{flex:1,height:22,borderRadius:11,border:`1px solid ${eo.line}`,display:"flex",alignItems:"center",gap:7,padding:"0 9px"},children:[p("div",{style:{width:9,height:9,borderRadius:5,border:`2px solid ${eo.dark}`}}),p(W,{w:"46%",h:5,r:2,tone:"soft"})]})}),cart:O("div",{style:{...q,display:"flex",alignItems:"center",justifyContent:"center",gap:7},children:[p("div",{style:{width:22,height:18,borderRadius:"3px 3px 6px 6px",border:`2px solid ${eo.dark}`}}),p("div",{style:{padding:"2px 6px",borderRadius:6,border:`1.5px solid ${eo.dark}`},children:p(W,{w:7,h:7,r:2,tone:"dark"})})]}),countryswitch:O("div",{style:{...q,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 ${eo.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 ${eo.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:{...q,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[p("div",{style:{height:1,background:eo.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:eo.block}})};function O1({type:e}){let o=hZ[e]??"",t=xZ[o]??P1[o]??P1.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 fp}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as ss,jsxs as IZ}from"react/jsx-runtime";import gZ from"efficient-easel/screen/components/SidePanelHead";import{StylesIcon as bZ}from"efficient-easel/rail";import{Tooltip as yZ}from"efficient-shell/ui";function _1({tokenRef:e,siteId:o,onClose:t,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}){let c=jn();return IZ("div",{className:"sf-styles",children:[ss(gZ,{icon:ss(bZ,{}),title:i("Styles"),context:ss(yZ,{content:i("{name} \u2014 renamed in the Console: {place}.",{name:c,place:i("Storefront \u25B8 Sites \u25B8 Settings")}),className:"sf-name-tip",children:ss("span",{className:"sf-name-text",children:c})})}),ss("div",{className:"sf-insp-body es-insp-body sf-scroll",children:ss(ff,{tokenRef:e,siteId:o,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l})})]})}import{jsx as no,jsxs as Br,Fragment as PZ}from"react/jsx-runtime";import{Fragment as U1,useEffect as j1,useRef as Qg}from"react";import{useTreeDrag as K1}from"efficient-easel/drag";import{GlobeIcon as EZ,ImageIcon as OZ,LocationIcon as _Z,MapIcon as RZ,TextLinesIcon as AZ,TrashIcon as q1}from"efficient-easel/icons";import{Subtree as V1,TreeRow as ri,TreeRowAction as Y1,TreeSeam as X1}from"efficient-easel/tree";import{useEaselStrings as LZ}from"efficient-easel/strings";import{createPreviewSelectionContext as SZ}from"efficient-easel/draw/client";var{Provider:SRe,useSelection:R1}=SZ("selectedLocationPartId");function A1(e,o,t){return`${e}::${o}::${t}`}function L1(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 FZ}from"efficient-easel/screen/lib/screen-parts";import{useSyncExternalStore as wZ}from"react";var CZ={level:"groups"},B1=CZ,Vg=new Set;function Tt(e){B1=e;for(let o of Vg)o()}function vZ(e){return Vg.add(e),()=>{Vg.delete(e)}}var F1=()=>B1;function D1(){return wZ(vZ,F1,F1)}function fu(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 kRe(e){return kZ[ti(e)]}var kZ={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4"};function ti(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 ai=e=>String(e?.group??""),Yg=new WeakMap,TZ=0;function uu(e){let o=Yg.get(e);return o||(o=`loc${++TZ}`,Yg.set(e,o)),o}var N1=(e,o)=>o||e||"Ungrouped",M1={photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
59
|
+
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""};function Fr(e){return fu(e,ai,o=>String(o?.groupName??"")).map(o=>({key:o.key,name:o.name,cards:o.items.map(t=>t.item)}))}var Xg=e=>e.flatMap(o=>o.cards),H1=(e,o,t)=>Math.min(Math.max(e,o),t);function pu(e,o,t){let a=0;for(let r=0;r<e.length;r++)if(ai(e[r])===o){if(a===t)return r;a++}return-1}function Zg(e,o,t){let a=Fr(e);if(o<0||o>=a.length)return e;let[r]=a.splice(o,1),n=H1(o<t?t-1:t,0,a.length);return a.splice(n,0,r),Xg(a)}function Jg(e,o,t,a,r){let n=Fr(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&&Yg.set(d,uu(c));let u=H1(s===l&&t<r?r-1:r,0,l.cards.length);return l.cards.splice(u,0,d),Xg(n)}function W1(e,o){let t=Fr(e),a=t.find(n=>n.key===o),r={...M1,group:o,groupName:a?.name??""};return a?(a.cards.push(r),Xg(t)):[...e,r]}function z1(e){let o=new Set(Fr(e).map(r=>r.key)),t=o.size+1,a=`Group ${t}`;for(;o.has(a);)a=`Group ${++t}`;return{cards:[...e,{...M1,group:a,groupName:""}],key:a}}function G1(e,o){return e.filter(t=>ai(t)!==o)}function $1(e,o,t){let a=pu(e,o,t);return a<0?e:e.filter((r,n)=>n!==a)}function ERe(e,o,t){let a=e.flatMap((s,l)=>ai(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 ORe(e,o,t){return o.flatMap(a=>{let r=e.filter(n=>ai(n)===a);return r.length?r:t(a)})}var hu="ContactLocations",mu=e=>({parentId:`locations-${e}`,slot:"groups"}),eb=(e,o)=>({parentId:`locations-${e}`,slot:`cities:${o}`});function Z1(e,o){let{readOnly:t,selected:a}=o,r=LZ().tree,n=o.data?.content??[],s=FZ(e),l=Qg(null);j1(()=>{let g=a?.type===hu?String(a.props.id):null;g&&g!==l.current&&Tt({level:"groups"}),l.current=g},[a?.props.id]);let{selectedLocationPartId:c,setSelectedLocationPartId:d,setSelectHandler:u}=R1(),m=D1(),f=(g,k)=>{let T=n[g];T&&o.replace(g,{type:T.type,props:{...T.props,locations:k}})},x=g=>{let k=n[g]?.props?.locations;return Array.isArray(k)?k:[]},I=K1({keyOf:g=>`group:${g.si}:${g.index}`,readOnly:!!t,canDrop:(g,k)=>k.parentId===mu(g.si).parentId&&k.slot==="groups",onDrop:(g,k)=>{f(g.si,Zg(x(g.si),g.index,k.index)),m.level==="city"&&Tt({level:"groups"})},onStep:(g,k)=>{f(g.si,Zg(x(g.si),g.index,k<0?g.index-1:g.index+2)),m.level==="city"&&Tt({level:"groups"})}}),y=K1({keyOf:g=>`city:${g.si}:${g.group}:${g.index}`,readOnly:!!t,canDrop:(g,k)=>k.parentId===mu(g.si).parentId&&k.slot.startsWith("cities:"),onDrop:(g,k)=>{let T=k.slot.slice(7);f(g.si,Jg(x(g.si),g.group,g.index,T,k.index)),Tt({level:"group",key:T})},onStep:(g,k)=>{f(g.si,Jg(x(g.si),g.group,g.index,g.group,k<0?g.index-1:g.index+2)),m.level==="city"&&Tt({level:"group",key:g.group})}}),v=Qg(n);v.current=n;let C=Qg(()=>{});j1(()=>{u(g=>{let k=L1(g);if(!k)return;let T=v.current.findIndex(F=>F.props?.id===k.nodeId);T<0||C.current(T,{level:k.part,index:k.index})})},[u]);let S=(g,k)=>{l.current=n[g]?.props?.id??null,o.select(g),Tt(k),e.reveal();let T=n[g]?.props?.id;typeof T=="string"&&(k.level==="city"||k.level==="image"||k.level==="map")?d(A1(T,k.index,k.level)):d(null),typeof T=="string"&&o.scrollTo(T)};return C.current=S,{renderLocationTree:(g,k,{rowClick:T,isCollapsed:F,toggleCollapse:P})=>{let B=x(k),E=Fr(B),R=String(g.props.id),N=s&&a?.props.id===R,b=L=>no(X1,{...t?{}:I.seam({place:{...mu(k),index:L}})},`seam:${R}:groups:${L}`),_=(L,H)=>no(X1,{...t?{}:y.seam({place:{...eb(k,L),index:H}})},`seam:${R}:cities:${L}:${H}`);return Br(PZ,{children:[no(ri,{icon:no(AZ,{size:13}),name:i("Texts"),words:r,onSelect:()=>S(k,{level:"texts"}),selected:N&&m.level==="texts",rowProps:{onClick:T(()=>S(k,{level:"texts"}))}}),E.map((L,H)=>{let Z=`${R}::grp::${L.key}`,V=F(Z),U=N&&m.level==="group"&&m.key===L.key,Pe=L.name||L.key?N1(L.key,L.name):i("Ungrouped"),Se={...eb(k,L.key),index:L.cards.length},qe=y.row({item:{si:k,group:L.key,index:-1},place:Se,into:Se,canDrag:!1},{onClick:T(()=>S(k,{level:"group",key:L.key}))}),He=I.row({item:{si:k,index:H},place:{...mu(k),index:H}},qe.rowProps);return Br(U1,{children:[H===0&&b(0),no(ri,{icon:no(EZ,{size:13}),name:Pe,words:r,onSelect:()=>S(k,{level:"group",key:L.key}),selected:U,draggable:He.draggable,dragging:He.dragging,drop:He.drop??qe.drop,fold:{open:!V,label:i("group"),onToggle:()=>P(Z)},actions:no(Y1,{kind:"delete",label:yo("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",L.cards.length,{label:Pe}),onClick:()=>{f(k,G1(B,L.key)),Tt({level:"groups"})},children:no(q1,{size:15})}),rowProps:He.rowProps,count:L.cards.length,countLabel:yo("{n} city","{n} cities",L.cards.length)}),!V&&Br(V1,{children:[L.cards.map((he,xe)=>{let we=pu(B,L.key,xe),Xe=N&&m.level==="city"&&m.index===we,Ve=String(he?.name??"")||i("City"),de=`${R}::city::${uu(he)}`,Re=F(de),{rowProps:to,...Ae}=y.row({item:{si:k,group:L.key,index:xe},place:{...eb(k,L.key),index:xe}},{onClick:T(()=>S(k,{level:"city",index:we}))});return Br(U1,{children:[xe===0&&_(L.key,0),no(ri,{icon:no(_Z,{size:13}),name:Ve,words:r,onSelect:()=>S(k,{level:"city",index:we}),selected:Xe,...Ae,fold:{open:!Re,label:Ve,onToggle:()=>P(de)},actions:no(Y1,{kind:"delete",label:i("Delete {name}",{name:Ve}),onClick:()=>{f(k,$1(B,L.key,xe)),Tt({level:"group",key:L.key})},children:no(q1,{size:15})}),rowProps:to}),!Re&&Br(V1,{children:[no(ri,{icon:no(OZ,{size:13}),name:i("Image"),words:r,onSelect:()=>S(k,{level:"image",index:we}),selected:N&&m.level==="image"&&m.index===we,rowProps:{onClick:T(()=>S(k,{level:"image",index:we}))}}),no(ri,{icon:no(RZ,{size:13}),name:i("Map"),words:r,onSelect:()=>S(k,{level:"map",index:we}),selected:N&&m.level==="map"&&m.index===we,rowProps:{onClick:T(()=>S(k,{level:"map",index:we}))}})]}),_(L.key,xe+1)]},uu(he))}),Br("button",{type:"button",className:"sf-add-card",onClick:()=>{let he=W1(B,L.key);f(k,he);let xe=Fr(he).find(we=>we.key===L.key);Tt(xe&&xe.cards.length?{level:"city",index:pu(he,L.key,xe.cards.length-1)}:{level:"group",key:L.key})},children:[no("span",{className:"sf-plus sf-plus--sm",children:"+"}),i("Add city")]})]}),b(H+1)]},Z)}),Br("button",{type:"button",className:"sf-add-card",onClick:()=>{let{cards:L,key:H}=z1(B);f(k,L),S(k,{level:"group",key:H})},children:[no("span",{className:"sf-plus sf-plus--sm",children:"+"}),i("Add group")]})]})},sectionPressed:g=>{g?.type===hu&&Tt({level:"groups"})}}}import{useEffect as ZZ,useRef as JZ}from"react";import{createNode as ab,newId as rb}from"efficient-easel/data";import{useEaselApi as QZ}from"efficient-easel/easel";import{useScreenDocument as eJ}from"efficient-easel/screen/components/ScreenDocumentContext";import{useEaselSession as oJ}from"efficient-easel/screen/lib/session-context";import{useEffect as KZ,useRef as qZ}from"react";import{useEasel as VZ}from"efficient-easel/easel";import{ROOT_ZONE as tb}from"efficient-easel/draw";import{readHidable as MZ}from"efficient-easel/draw";var BZ="inline",DZ=[{label:"In this section",value:"inline"},{label:"In its own box",value:"own-box"}];var wo={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:"DynamicBundleOffer"},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"}},ls="SectionHeader";function J1(e){return e in wo}function Q1(e){return ao(DZ,BZ,e)}var NZ=new Set(["Flex"]);function jRe(e){return!!e?.type&&NZ.has(e.type)}var eR={not:{field:"headPlacement",is:"own-box"}},KRe={not:eR};function qRe(e,o,t){return Gs(e,t,eR)}var Ht=j,Wt=ve;function is(e){if(e.theme)return io(e.theme);let o=e.site?.themePresets;return o?io({selected:e.site?.selectedPreset??0,themes:[...o]}):void 0}function HZ(e,o){return o===0?`${e}~box`:`${e}~box-${o+1}`}var tR=new Set(["id"]),Dr={},aR=[],ni=["Breadcrumb","DocBody","Form","SubmitBuild","Footprint","Stats","Logos","FitmentFinder","DocMasthead"];function Ao(e){for(let[o,t]of Object.entries(e)){if(o in Dr&&Dr[o]!==t)throw new Error(`lib/sections/section-to-box: "${o}" already has a row`);Dr[o]=t}}function si(e){return Dr[e]}function WZ(e){return e in Dr&&aR.includes(e)}function rR(e,o=ni){return e in Dr&&(o.includes(e)||WZ(e))}function rAe(e){let o=wo[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 ob=e=>MZ(e),oo=e=>ob(e).text.trim()!=="";function zZ(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 GZ=e=>e==="heading"?Uo():e==="eyebrow"?So():{};function $Z(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 UZ(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 oR(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 u=d?d(t[l],t,r):t[l];u===void 0?delete n[c]:n[c]=u,a(l,c,u===void 0)}return n}function jZ(e){let o=new Set([...tR,"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 xu(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,u=(T,F)=>{s.push({key:T,home:F}),d.add(T)},m=a._partStyles??{},f=jZ(o),x=0,I=(T,F)=>({type:T,props:{...F,id:`${n}~${T}-${++x}`}}),y=(T,F,P,B,E,R,N)=>{if(E){for(let _ of T??[]){let L=typeof _=="string"?_:_[0];P[L]!==void 0&&N(L,`nothing \u2014 the ${B} has no parts, so it is not drawn`)}return}let b=typeof F=="function"?F(a,t):F??{};return oR(T??[],b,P,(_,L,H)=>N(_,H?`nothing \u2014 the old value draws nothing (${B}: no ${L})`:`${R}${B}: ${L}`),t)},v=T=>ct(T,F=>`${n}~${F}-${++x}`),C=(T,F,P)=>{let B=T.of?T.of(F):Array.isArray(F[T.key])?F[T.key]:[],E=typeof T.props=="function"?T.props(a,t):T.props??{},R=B.map((H,Z)=>{let V=H??{},U=T.item?.(V,Z,a)??{},Pe=S(U.reverse?[...T.parts].reverse():T.parts,V,!1,`item ${Z+1}: `);return T.flat?U.props?Pe.map(Se=>({...Se,props:{...Se.props,...U.props,id:Se.props.id}})):Pe:[I(Ht,{name:`${T.name} ${Z+1}`,...E,...U.props??{},[Wt]:Pe})]});if(T.groups){let H=T.groups;return P(T.key,B.length?`one Box per item (${B.length}), in a Box per group`:"nothing \u2014 the list is empty"),fu(B.map(Z=>Z??{}),H.of,H.of).map((Z,V)=>{let U=Z.items.map(xe=>xe.item),Pe=H.parts?S(H.parts,H.head?.(U,a)??{},!1,`group ${V+1}: `):[],Se=Z.items.map(xe=>R[xe.index]),qe=H.perRow?.(U.length,a),He=Number.isInteger(qe)&&qe>=1?qe:1,he=[];if(H.perRow&&He<Se.length)for(let xe=0;xe*He<Se.length;xe++)he.push(Se.slice(xe*He,(xe+1)*He).flat());return I(Ht,{name:`${H.name} ${V+1}`,...H.props??{},[Wt]:[...Pe,I(Ht,{name:`${H.itemsName} ${V+1}`,...H.itemsProps?.(U.length,a)??{},[Wt]:he.length?he.map((xe,we)=>I(Ht,{name:`${H.rowName??`${H.itemsName} row`} ${we+1}`,...H.rowProps??{},[Wt]:xe})):Se.flat()})]})})}let N=T.perRow?.(a),b=T.perRow?Number.isInteger(N)&&N>=1?N:1:0;if(P(T.key,(B.length?T.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 R.flat();let _=typeof T.rowProps=="function"?T.rowProps(a,t):T.rowProps??{},L=[];for(let H=0;H*b<R.length;H++){let Z=R.slice(H*b,(H+1)*b).flat(),V=T.rowFiller?b-R.slice(H*b,(H+1)*b).length:0;L.push(I(Ht,{name:`${T.rowName??`${T.name} row`} ${H+1}`,..._,[Wt]:[...Z,...Array.from({length:V},(U,Pe)=>I(Ht,{name:`Empty ${Pe+1}`,...T.rowFiller,[Wt]:[]}))]}))}return L},S=(T,F,P,B)=>{let E=[],R=(b,_)=>P?u(b,_):void 0,N=b=>P?m[b]:void 0;for(let b of T)if(!(b.when&&!b.when(a,P?void 0:F)))switch(b.kind){case"text":{let _=ob(F[b.key]);if(!_.text.trim()&&!(P&&t.press&&o.pressKeepsEmpty?.includes(b.key))){R(b.key,"nothing \u2014 empty words draw nothing, so no block");break}let L=GZ(b.role??"body"),{_partStyles:H,...Z}=L,V=$Z(L,b.styleFrom?{...b.style,...b.styleFrom(a,t)}:b.style,N(b.key),b.props?.align);if(b.was&&P){let U=V._partStyles?.text??{};c.push({key:b.key,was:b.was,...typeof U.textStyle=="string"?{textStyle:U.textStyle}:{},...K(U.size)!==void 0?{size:K(U.size)}:{},...K(U.sizePhone)!==void 0?{sizePhone:K(U.sizePhone)}:{}})}E.push(I("Text",{text:b.mark==="accentLead"?zZ(_.text):b.mark==="accentItalic"?tc(_.text):_.text,...Z,...b.props??{},...V,..._.hidden?{_hidden:!0}:{}})),R(b.key,`${B}Text block: its words${_.hidden?", hidden":""}`);break}case"button":{let _=ob(F[b.key]);if(!_.text.trim()){R(b.key,"nothing \u2014 no words, no button"),R(b.href,"nothing \u2014 no button to link"),typeof b.variant=="object"&&R(b.variant.key,"nothing \u2014 no button to style");break}let L=typeof F[b.href]=="string"&&F[b.href]?F[b.href]:"#",H={...b.style??{},...N(b.key)??{}};E.push(I("ButtonBlock",{label:_.text,href:L,...typeof b.props=="function"?b.props(F,t):b.props??{},...UZ(b.variant,F),...Object.keys(H).length?{_partStyles:{label:H}}:{},..._.hidden?{_hidden:!0}:{}})),R(b.key,`${B}Button block: its words`),R(b.href,`${B}Button block: its link`),typeof b.variant=="object"&&R(b.variant.key,`${B}Button block: its Style`);break}case"image":{let _=F[b.key];if(typeof _!="string"||!_){R(b.key,"nothing \u2014 no picture, no block"),b.alt&&R(b.alt,"nothing \u2014 no picture to describe");break}let L=b.alt&&typeof F[b.alt]=="string"?F[b.alt]:"";E.push(I("ImageBlock",{src:_,alt:L,...b.props??{}})),R(b.key,`${B}Image block: its picture`),b.alt&&R(b.alt,`${B}Image block: its alt text`);break}case"list":{E.push(...C(b,F,R));break}case"group":{let _=S(b.parts,F,P,B),L=y(b.box,b.props,F,`${b.name} Box`,!_.length&&!b.keepEmpty,B,R);L&&E.push(I(Ht,{name:b.name,...L,[Wt]:_}));break}case"block":{let _=b.parts?S(b.parts,F,P,B):[],L=y(b.box,b.props,F,`${b.type} block`,!!b.parts&&!_.length&&!b.keepEmpty,B,R);L&&E.push(I(b.type,{...L,...b.slot?{[b.slot]:_}:{}}));break}case"core":{let _=b.as??e.type,L={...b.headless?{}:{headPlacement:"own-box"},...b.props??{}},H=b.keep==="rest"?Object.keys(F).filter(V=>!f.has(V)&&!(V in L)):b.keep;for(let V of H)F[V]!==void 0&&(L[V]=F[V],R(V,`the ${_} block inside the Box`));if(b.keep==="rest"){for(let U of Object.keys(b.props??{}))F[U]!==void 0&&!f.has(U)&&R(U,`nothing \u2014 the ${_} block inside the Box has the row's own value`);F.headPlacement!==void 0&&R("headPlacement",`the ${_} block inside the Box: own-box`);let V=Object.fromEntries(Object.entries(m).filter(([U])=>!f.has(U)));Object.keys(V).length&&(L._partStyles=V)}for(let[V,U]of Object.entries(b.rename??{}))F[V]!==void 0&&(L[U]=F[V],R(V,`the ${_} block inside the Box: ${U}`));if(b.derive){Object.assign(L,b.derive.props(F,t));for(let V of b.derive.reads)F[V]!==void 0&&R(V,`the ${_} block inside the Box`)}let Z=typeof b.slots=="function"?b.slots(F,t):b.slots??{};for(let[V,U]of Object.entries(Z))L[V]=U.flatMap(Pe=>"kind"in Pe?C(Pe,F,R):v([Pe]));E.push(I(_,L));break}}return E},g=(T,F)=>{let P=F===0?"Box":`${T.name} Box`,B=S(T.parts,a,!0,F===0?"":`${P}: `),E=typeof T.boxProps=="function"?T.boxProps(a,t):T.boxProps??{},R=oR(T.box??[],E,a,(N,b,_)=>u(N,_?`nothing \u2014 the old value draws nothing (${P}: no ${b})`:`${P}: ${b}`),t);return{type:Ht,props:{name:T.name,...R,[Wt]:B,id:HZ(n,F)}}},k=[o,...o.also??[]].map(g);a._partStyles!==void 0&&u("_partStyles","each old part's style moved to its new part");for(let[T,F]of Object.entries(o.reads??{}))a[T]!==void 0&&u(T,F);for(let[T,F]of Object.entries(o.drop??{}))T in a&&(l.push({key:T,why:F}),d.add(T));for(let T of Object.keys(a))tR.has(T)||d.has(T)||l.push({key:T,why:"not in the row \u2014 not carried"});return{node:k[0],nodes:k,carried:s,dropped:l,siteWrites:[...o.site?.(e,t)??[]],restyled:c}}function nR(e,o=aR,t={}){if(!Array.isArray(e))return[];let a=[];return e.forEach((r,n)=>{let s=r&&typeof r.type=="string"&&o.includes(r.type)?Dr[r.type]:void 0;if(!s)return;let l=xu(r,s,t);l.skipped===void 0&&a.push({index:n,node:l.node,nodes:l.nodes})}),a}function sR(e){let o=VZ(s=>s.appState.data.content),{theme:t,themeRow:a,themeFromDocument:r}=ue(),n=qZ(new Set);KZ(()=>{let s=YZ({theme:t,themeRow:a,themeFromDocument:r});s&&XZ(nR(o,void 0,s),e,n.current)},[o,e,t,a,r])}function YZ(e){return e.themeFromDocument||e.themeRow==="none"?{}:e.themeRow==="read"?{theme:e.theme}:null}function XZ(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(tb,a,r[0]),r.slice(1).forEach((s,l)=>{o.insertNode(tb,a+1+l,s),o.replaceComponent(tb,a+1+l,s)}))}}import{ROOT_ZONE as cs,missingPinnedTypes as tJ,pinnedDuplicateIds as nb}from"efficient-easel/draw";function lR(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function iR(e,o){let t=e.some(l=>l?.type===_e),a=e[e.length-1],r=!t&&a?.type===Me?a:null,n=e.filter(l=>l?.type===Me&&l!==r).map(l=>String(l.props?.id??"")).filter(Boolean),s=o.hasChromeDoc&&!t&&!r;return{remove:n,seedHeader:!e.some(l=>l?.type===Ro),seedFooter:s,seedSiteHeader:s&&!e.some(l=>l?.type===Ne)}}async function cR(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!==Ne||!e.stillOpen())return!1;let a=e.latest();return a.some(r=>r?.type===Ne)?!1:(e.write(Jf(a,t)),!0)}function dR(e,o){let{adapter:t,capabilities:a,currentSlug:r,docId:n,data:s,saveStatus:l,siteId:c,tokenRef:d}=eJ(),u=oJ(),{hasSiteSettings:m,hasPinnedChrome:f}=a;sR(e);let x=!!a.editsPinnedInPlace&&r!==mt,I=r===mt,y=QZ().getState,v=JZ(null);ZZ(()=>{if(!lR({docId:n,saveStatus:l,seededDocId:v.current})||(v.current=n,!f))return;let C=y().appState.data,S=C.content,g=s?.content??[],k=(B,E)=>B.some(R=>R?.type===E);if(!m){let B=new Set(nb(S)),E=B.size?S.filter(N=>!B.has(N.props.id)):S;if(B.size&&e.setDocument({...C,content:E}),I)return;let R=tJ(E,g);if(R.includes(Me)){let N=E.length,b=e.insertSection(Me,N);e.replaceComponent(cs,N,{type:Me,props:{id:b,blocks:nu()}})}R.includes(Ro)&&e.insertNode(cs,0,ru());return}if(I){let B=as(S);if(B!==S&&e.setDocument({...C,content:[...B]}),!B.find(E=>E.type===Me)&&!k(g,Me)&&!k(B,_e)&&!k(g,_e)){let E=(N,b)=>ab(o,N,b),R={type:Me,props:{blocks:nu()}};e.insertNode(cs,B.length,Ql(R,E,rb(_e)))}return}if(x){let B=!!t?.pinnedChrome?.state().docId,E=iR(S,{hasChromeDoc:B}),R=new Set([...E.remove,...nb(S.filter(b=>!E.remove.includes(String(b.props.id))))]),N=R.size?S.filter(b=>!R.has(String(b.props.id))):S;if(N.length!==S.length&&e.setDocument({...C,content:N}),E.seedFooter&&!k(g,Me)&&!k(g,_e)){let b=(L,H)=>ab(o,L,H),_={type:Me,props:{blocks:nu()}};e.insertNode(cs,N.length,Ql(_,b,rb(_e)))}if(E.seedHeader&&!k(g,Ro)){let b=N[0]?.type===Ne?1:0;e.insertNode(cs,b,ru())}if(E.seedSiteHeader&&!k(g,Ne)&&!k(g,Me)&&!k(g,_e)){let b=n;cR({blocks:Ec(u),make:(_,L)=>ab(o,_,L),id:rb(Ne),siteId:c??null,token:d.current,latest:()=>y().appState.data.content,stillOpen:()=>v.current===b,write:_=>{let L=y().appState.data;e.setDocument({...L,content:[..._]})}})}return}let T=S.filter(B=>B.type!==Me),F=new Set(nb(T)),P=F.size?T.filter(B=>!F.has(B.props.id)):T;P.length!==S.length&&e.setDocument({...C,content:P}),!k(P,Ro)&&!k(g,Ro)&&e.insertNode(cs,0,ru())},[n,l,s,y,e,m,f,I,x,t,u,c,d])}import{useEffect as BF,useMemo as Toe,useRef as DF}from"react";import{useEasel as Poe}from"efficient-easel/easel";import{useEaselHost as Eoe}from"efficient-easel/screen/lib/host";import{FIELD_DESCRIPTION_MARKER as yoe}from"efficient-easel/screen/lib/host";import{isNode as cy}from"efficient-easel/data";var fR=[{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"}],NAe={label:"Scrolling Bar",defaultProps:{items:[],tone:"scrim",borders:!0,size:Dp,separator:Np,scrollDirection:Nl}};var uR=()=>[{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"},{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"}],WAe={label:"Spec Strip",defaultProps:{cells:[{text:"",tone:"normal"},{text:"",tone:"normal"}],fill:"dark"}};var Iu={direction:"column",justify:"between",gap:14,sectionPaddingLeft:14,sectionPaddingRight:14,sectionPaddingLeftPhone:0,sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},li={name:"Year and title",direction:"column",gap:14};var Nr={direction:"row",share:"content",align:"center"},ii={top:14,bottom:14,topPhone:12,bottomPhone:12},gu={wrap:"nowrap",loop:"scroll",sectionAccent:uh,gap:60,gapPhone:32,separator:"dot",sectionBorder:{top:1,bottom:1}},pR={gap:120,gapPhone:64},bu={...lt,sizeToken:{step:"label",px:14,pxPhone:12},letterSpacing:.25,lineHeight:1.5},mR={textStyle:"heading-3",letterSpacing:.005,case:"upper",lineHeight:1},ci={top:16,bottom:16,topPhone:12,bottomPhone:12},yu={justify:"between",wrap:"wrap",gap:32,separator:"none"},di={...lt,letterSpacing:.1,lineHeight:1.5};function le(e,o,t,a={}){return{type:e,props:{...o(e),id:t(e),...a}}}function hR(e,o,t){return le(j,e,o,{...t,sectionPaddingTop:void 0,sectionPaddingBottom:void 0})}var Su={Manifesto:(e,o)=>({type:j,props:{...e(j),id:o(j),direction:"row",share:"equal",sectionHeightMode:"screen",name:"Brand Text",content:[le(j,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:40,sectionPaddingRight:40,content:[le("Text",e,o,So()),le("Text",e,o,Uo()),le("Text",e,o),le("Stats",e,o)]}),hR(e,o,{direction:"column",name:"Picture",content:[]})]}}),Split:(e,o)=>({type:j,props:{...e(j),id:o(j),direction:"row",share:"equal",sectionHeightMode:"screen",sectionHeightValue:70,name:"Image & Text Split",content:[le(j,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:60,sectionPaddingRight:60,content:[le("Text",e,o,So()),le("Text",e,o,Uo()),le("Text",e,o),le("ButtonBlock",e,o)]}),hR(e,o,{direction:"column",name:"Image",content:[le("ImageBlock",e,o)]})]}}),Subscribe:(e,o)=>({type:j,props:{...e(j),id:o(j),direction:"column",name:"Subscribe",content:[le("Text",e,o,Uo()),le("Text",e,o),le("Form",e,o)]}}),Ticker:(e,o)=>xR("Scrolling Bar",gu,ii,fR.map(t=>({text:t.text,style:bu,muted:!0})),e,o),SpecStrip:(e,o)=>xR("Spec Strip",{...yu,sectionBorder:{top:1}},ci,uR().map(t=>({text:t.text??"",style:di,muted:t.tone==="muted"})),e,o),TimelineTrack:(e,o)=>{let t=a=>le(j,e,o,{...Iu,name:"Year",sectionPaddingTop:0,sectionPaddingBottom:0,...a?{upcoming:!0}:{},content:[le(j,e,o,{...li,sectionPaddingTop:0,sectionPaddingBottom:0,content:[le("Text",e,o,So()),le("Text",e,o,Uo())]}),le("Text",e,o)]});return{type:j,props:{...e(j),id:o(j),direction:"column",gap:48,name:"Milestone Timeline",content:[le(j,e,o,{direction:"row",align:"end",justify:"between",share:"content",name:"Heading",content:[le("Text",e,o,So()),le("Text",e,o,Uo()),le("Text",e,o)]}),le(j,e,o,{direction:"row",share:"equal",gap:0,line:!0,name:"Years",content:[t(!1),t(!1),t(!0)]}),le("ButtonBlock",e,o)]}}},Timeline:(e,o)=>{let t=()=>le(j,e,o,{direction:"row",share:[25],gap:24,name:"Chapter",content:[le("Text",e,o,So()),le(j,e,o,{direction:"column",gap:12,name:"Words",content:[le("Text",e,o,Uo()),le("Text",e,o)]})]});return{type:j,props:{...e(j),id:o(j),direction:"row",share:[33],gap:48,name:"Story Timeline",content:[le(j,e,o,{direction:"column",gap:24,name:"Heading",content:[le("Text",e,o,So()),le("Text",e,o,Uo()),le("Text",e,o),le("ImageBlock",e,o),le("ButtonBlock",e,o)]}),le(j,e,o,{direction:"column",gap:48,line:!1,name:"Chapters",content:[t(),t(),t()]})]}}}};function xR(e,o,t,a,r,n){return le(j,r,n,{...Nr,...o,blockSpacing:"gap",padV2:!0,name:e,sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom,sectionPaddingTopPhone:t.topPhone,sectionPaddingBottomPhone:t.bottomPhone,content:a.map(s=>le("Text",r,n,{text:s.text,...s.muted?{tone:"dim"}:{},_partStyles:{text:s.style}}))})}function IR(e){return Su[e]??null}import{phoneKey as iJ}from"efficient-easel/draw";var gR={label:"Button",defaultProps:{label:"",href:"#",variant:"primary",align:"left",contained:!0}};import{jsx as aJ}from"react/jsx-runtime";var wu={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}},bR=new Set(Object.keys(wu)),SR=new Set(["Flex","Text","Heading","ImageBlock"]),rJ=new Set(["Divider"]),nJ=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),yR=new Set(["ProductGrid"]);function sb(e,o,t=!1){let a=e.render;e.render=r=>{if(o?.(r))return a(r);let n=jc(Jv(r,Uc,t)),s=a(r),l=hk(r);return n?aJ("div",{className:l?`${n.className} ${l}`:n.className,style:n.style,children:s}):s}}var rLe={name:"sectionPadding",applies:(e,o,t)=>o.isSection(e)&&!nJ.has(e)&&!!t&&typeof t.render=="function",panel(e,o,t){bR.has(o)||yR.has(o)||(e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})})},draw(e,o){if(bR.has(o)){let t=e.render,a=wu[o];e.render=r=>{let n=Kc(r,a);return t({...r,padTop:n.top,padBottom:n.bottom})};return}if(yR.has(o)){sb(e);return}SR.has(o)||rJ.has(o)||sb(e,o==="Flex"?t=>kc(t.bgImage):void 0,!0)}},sJ=["Heading","Text","ImageBlock"],lJ=["LogoBlock"],nLe={name:"blockPadding",applies:(e,o,t)=>(sJ.includes(e)||lJ.includes(e))&&!!t&&typeof t.render=="function",panel(e,o,t){e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})}},draw(e,o){SR.has(o)||sb(e,void 0,!0)}};import{parseHexColor as cJ}from"efficient-shell/format";import{convertLength as dJ,isLengthUnit as fJ}from"efficient-easel/screen/lib/content/length-units";var lb=e=>fJ(e)?e:"px",Fa=(e,o,t,a)=>o===t?e:dJ(e,o,t,a,{min:0,max:200,step:4}),Mr={textFit:"line",textFitPhone:"wrap"},Hr={...z,[nt]:""},{label:vLe,href:kLe,...uJ}=gR.defaultProps,Ye=uJ,ia={buttonFillOpacity:0,buttonBorder:{width:0},buttonPaddingTop:0,buttonPaddingRight:0,buttonPaddingBottom:0,buttonPaddingLeft:0},oe={...ic,sectionAccent:0},ie=["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(Oe).flatMap(e=>[e,iJ(e)]),"widthFit","widthFitTablet","widthFitPhone","width","widthTablet","widthPhone","minWidth","minWidthTablet","minWidthPhone","maxWidth","maxWidthTablet","maxWidthPhone",...Object.values(ro)],ds="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",ce={sectionSurface:"read by nothing in src/ (searched 2026-10-24): a retired theme key that draws nothing today, so dropping it changes nothing",widthMode:ds,fullWidth:ds,pageWidth:ds,backgroundWidth:ds,contentWidth:ds,contentMax:ds},Ie=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 me(e,o){let t=K(e.sectionPaddingTop)??0,a=K(e.sectionPaddingBottom)??0,r=K(e.sectionPaddingTopTablet),n=K(e.sectionPaddingBottomTablet),s=lb(e.sectionPaddingUnit),l=lb(e.sectionPaddingUnitTablet),c=lb(e.sectionPaddingUnitPhone),d=(m,f,x,I)=>{let y=K(m);if(y!==void 0)return y+Fa(I,"px",c,"mobile");let v=f===void 0?{n:x,unit:s}:{n:f,unit:l};return Fa(v.n,v.unit,c,"mobile")+Fa(I,"px",c,"mobile")},u=(m,f,x,I,y)=>f!==void 0?{[m]:f+Fa(y??I,"px",l,"tablet")}:y===void 0?{}:{[m]:Fa(x,s,l,"tablet")+Fa(y,"px",l,"tablet")};return{sectionPaddingTop:t+Fa(o.top,"px",s,"desktop"),sectionPaddingBottom:a+Fa(o.bottom,"px",s,"desktop"),...u("sectionPaddingTopTablet",r,t,o.top,o.topTablet),...u("sectionPaddingBottomTablet",n,a,o.bottom,o.bottomTablet),sectionPaddingTopPhone:d(e.sectionPaddingTopPhone,r,t,o.topPhone),sectionPaddingBottomPhone:d(e.sectionPaddingBottomPhone,n,a,o.bottomPhone)}}var Te=e=>[...["sectionPaddingTop","sectionPaddingBottom","sectionPaddingTopTablet","sectionPaddingBottomTablet","sectionPaddingTopPhone","sectionPaddingBottomPhone"].map(o=>[o,o,(t,a)=>me(a,typeof e=="function"?e(a):e)[o]]),["sectionPaddingUnit","sectionPaddingUnit"],["sectionPaddingUnitTablet","sectionPaddingUnitTablet"],["sectionPaddingUnitPhone","sectionPaddingUnitPhone"]];function Co(e,o){let t=Kc(e,wu[o]);return{sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom}}var Ba=e=>[["padTop","sectionPaddingTop",(o,t)=>Co(t,e).sectionPaddingTop],["padBottom","sectionPaddingBottom",(o,t)=>Co(t,e).sectionPaddingBottom],["sectionPaddingTop","sectionPaddingTop",(o,t)=>Co(t,e).sectionPaddingTop],["sectionPaddingBottom","sectionPaddingBottom",(o,t)=>Co(t,e).sectionPaddingBottom]],pJ={kind:"heading-case-upper",styles:["heading-1","heading-2","heading-3"]},TLe=e=>o=>oo(o.props[e])?[pJ]:[],ge=(e,o)=>({kind:"text",key:e,role:"eyebrow",props:z,...o?{style:o}:{}}),wR=e=>e.background!=="transparent",mJ=(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},fi={align:"right",alignPhone:"left"},hJ=(e,o,t)=>{let a=r=>mJ(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}},ui=(e,o,t,a={})=>hJ(e,o,{...Hr,...fi,...a,_partStyles:{text:{...lt,color:"labels",...t,case:lt.case,...fi}}}),pi=(e,o)=>typeof e=="number"&&Number.isInteger(e)&&e>=0?e:is(o)?.selected??0,CR="var(--site-surface)",vR="var(--site-surface-2)",mi=(e,o)=>is(o)?.themes[pi(e.sectionAccent??0,o)],Lo=e=>(o,t)=>{let a=mi(o,t)?.[e];return a?{fillColor:a}:{}},kR=e=>e.startsWith("#")&&cJ(e)!==null,Cu=(e,o,t)=>{let a=e?.trim();if(a&&kR(a))return{fillColor:a};if(a===CR)return Lo("surface")(o,t);let r=a===vR?mi(o,t):void 0;return r?{fillColor:Yi(r)}:{}},vu=e=>{let o=e?.trim();return!o||o==="transparent"||o===go||o===CR||o===vR||kR(o)?void 0:"it paints a colour that no Box Fill can hold"},hi=(e,o)=>{let t=mi(e,o)?.line;return t?{buttonBorder:{width:1,color:t}}:{}},Wr=(e,o)=>{let t=is(o)?.themes;return t&&wR(e)?qy(t,pi(e.sectionAccent,o)):-1},Da=(e,o,t)=>{let a=Wr(o,t);return a>=0?a:e},zr=(e,o)=>{let t=Wr(e,o);return t>=0?{sectionAccent:t}:{}},Na=(e,o)=>wR(e.props)&&Wr(e.props,o)<0?[{kind:"band-preset",page:pi(e.props.sectionAccent,o)}]:[],fs=e=>ad(e.site?.siteGutter),xi=Object.fromEntries(["Top","Right","Bottom","Left","TopPhone","RightPhone","BottomPhone","LeftPhone"].map(e=>[`sectionPadding${e}`,0])),Ii=e=>({top:0,right:0,bottom:0,left:0,...e}),ib=(e,o,t,a=[])=>({kind:"group",name:e,keepEmpty:!0,props:(r,n)=>({...A,...xi,...Lo("surface")(r,n),...typeof t=="function"?t(r,n):t}),box:[[o,"bgImage"],De.kind,De.duration,De.delay],parts:a});import{phoneKey as hA,readHidable as Eb}from"efficient-easel/draw";import{jsx as Ti,Fragment as tQ,jsxs as ZR}from"react/jsx-runtime";import{jsx as Ib,jsxs as GJ}from"react/jsx-runtime";import{jsx as xJ}from"react/jsx-runtime";function TR(){return xJ("span",{className:"block h-px w-[30px] bg-current"})}import{jsxs as wi,jsx as je}from"react/jsx-runtime";import{Fragment as zR}from"react";import{Fragment as AJ,jsx as hb}from"react/jsx-runtime";import{Fragment as RR,jsx as bi,jsxs as vJ}from"react/jsx-runtime";import{createContext as mb,useContext as yi,useEffect as kJ,useId as TJ,useMemo as PJ,useRef as EJ}from"react";import{armEntrance as OJ}from"efficient-shell/format";import{jsx as bJ}from"react/jsx-runtime";import{useEffect as _R,useRef as OR,useState as yJ}from"react";import{armEntrance as SJ,entranceAttrs as wJ,playEntrance as CJ}from"efficient-shell/format";import{jsx as gi}from"react/jsx-runtime";import{createContext as ER,useContext as Gr}from"react";var PR={stretchedRow:!1,fillingColumn:!1},$r=ER(null),LLe=()=>Gr($r)!==null,FLe=()=>Gr($r);var ku=ER(!1);function IJ(){let e=Gr($r)?.stretchedRow===!0,o=Gr(ku);return e&&!o}var gJ=()=>Gr(ku);function cb(){let e=Gr($r),o=IJ(),t=gJ();return{fill:t?` ${pk}`:"",inner:a=>{let r=o||t?gi(ku.Provider,{value:!0,children:a}):a;return e?.columnsRow?gi($r.Provider,{value:{...e,columnsRow:!1},children:r}):r}}}function BLe({className:e,style:o,attrs:t,children:a}){let{fill:r,inner:n}=cb();return gi("div",{className:`${e}${r}`,...o?{style:o}:{},...t,children:n(a)})}function DLe({children:e}){let o=Gr($r),t=o===null?null:o.id===void 0?PR:{...PR,id:o.id};return gi($r.Provider,{value:t,children:gi(ku.Provider,{value:!1,children:e})})}function fb({desktop:e,phone:o,editing:t,boxClass:a,boxAttrs:r,boxStyle:n,children:s}){let l=OR(null),c=cb(),d=ub(l),u=d?o:e,{attrs:m,style:f}=wJ(u),x=OR(db.seed(e,o)),I=JSON.stringify(e),y=JSON.stringify(o);return _R(()=>{let v=l.current;if(v){if(t){let C=db.next(x.current,e,o,d);x.current=C.seen,C.play&&CJ(v);return}return SJ(v)}},[I,y,d,t]),bJ("div",{ref:l,className:`${Of}${c.fill}${a?` ${a}`:""}`,...r,...m,...Object.keys(f).length||n?{style:{...n,...f}}:{},children:c.inner(s)})}var db={seed(e,o){return{desktop:JSON.stringify(e),phone:JSON.stringify(o)}},next(e,o,t,a){let r=db.seed(o,t);return{play:a?r.phone!==e.phone:r.desktop!==e.desktop,seen:r}}};function ub(e,o=!0){let[t,a]=yJ(!1);return _R(()=>{if(!o)return;let r=e.current?.ownerDocument?.defaultView??(typeof window>"u"?null:window);if(!r?.matchMedia)return;let n=r.matchMedia(Rn),s=()=>a(n.matches);return s(),n.addEventListener("change",s),()=>n.removeEventListener("change",s)},[e,o]),t}var Tu=mb(null),LR=mb(null),FR=mb(null);function JLe({needles:e,styles:o,motions:t=GO,type:a,children:r}){let n=TJ(),s=JSON.stringify([n,e,o,t,a]),l=PJ(()=>{let d=Object.keys(t).filter(u=>UO(t[u]));return x0(e,o,n,u=>$l(a,u),u=>f0(a,u),u=>d.includes(u)?xg(t[u]):null,d)},[s]);if(!l)return bi(RR,{children:r});let c=I0(l);return vJ(RR,{children:[c&&bi("style",{href:`${_J}${n}-${RJ(c)}`,precedence:DR,dangerouslySetInnerHTML:{__html:c.replace(/</g,"\\3c ")}}),bi(Tu.Provider,{value:l,children:r})]})}var pb=new WeakMap;function AR(e,o){let t=KO(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)?(VO(e.ownerDocument),e.setAttribute(Mf,"")):e.removeAttribute(Mf)}function BR(e){let o=EJ(null),t=e?.motion?.entrance??null,a=e?.motion?.hover==="lift",r=ub(o,t!==null),n=JSON.stringify(t);return kJ(()=>{let s=o.current,l=qO(s?.parentElement??null);if(!t&&!a||!s||!l)return;let c=t?()=>{let m=jO(l,r?t.phone:t.desktop),f=OJ(l);return()=>{f?.(),m()}}:null,d=pb.get(l)??[];pb.set(l,d);let u={element:s,arm:c,lift:a};return d.push(u),AR(l,d),()=>{let m=d.indexOf(u);m<0||(d.splice(m,1),u.undo?.(),u.undo=void 0,AR(l,d),d.length||pb.delete(l))}},[n,a,r]),o}var DR="sf-part-styles",_J=`${DR}-`;function RJ(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 NR(e){let o=yi(Tu),t=yi(LR),a=g0(o,e);return a&&a.stamp!==t?a:null}function QLe(e){return tI(yi(Tu),e)}function MR({stamp:e,children:o}){return bi(LR.Provider,{value:e,children:o})}function eFe({children:e}){let o=yi(Tu);return bi(FR.Provider,{value:o,children:e})}function oFe(e){return tI(yi(FR),e)}function Si({value:e,children:o}){let t=NR(e),a=BR(t);return t?hb(MR,{stamp:t.stamp,children:hb("span",{ref:a,[Kx]:t.stamp,...t.textStyle?{[Nn]:t.textStyle}:{},children:o})}):hb(AJ,{children:o})}import{jsx as xb,Fragment as LJ}from"react/jsx-runtime";function HR({className:e=""}){return xb("sup",{className:`text-accent tracking-normal text-[length:min(1em,max(0.75em,11px))] ${e}`,children:"\xAE"})}function Pu(e){if(!e.includes("\xAE"))return e;let o=e.split("\xAE"),t=[];return o.forEach((a,r)=>{a&&t.push(a),r<o.length-1&&t.push(xb(HR,{},`r${r}`))}),xb(LJ,{children:t})}var iFe=HR;function Xo(e,o=!1,t){let a=zJ(o),r=Os(e);if(r.length===1){let[s]=r,l=Bp(s),c=l?HJ(l,s.children):s.children;return wi(Si,{value:e,children:[t,Eu(c,a)]})}let n=[];return r.forEach((s,l)=>{if(s.bullet){n.push(je("span",{"data-sf-bullet":"",className:FJ,children:Eu(s.children,a)},l));return}if(s.number!=null){n.push(wi("span",{"data-sf-number":s.number,className:BJ,children:[wi("span",{className:DJ,children:[s.number,"."]}),Eu(s.children,a)]},l));return}l>0&&!NJ(r[l-1])&&n.push(je("br",{},`br${l}`)),n.push(je(zR,{children:Eu(s.children,a)},l))}),wi(Si,{value:e,children:[t,n]})}var FJ="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",BJ="relative block pl-[2em]",DJ="absolute left-0 w-[1.6em] text-right tabular-nums";function NJ(e){return e.bullet||e.number!=null}var MJ="text-accent underline underline-offset-[0.18em]";function HJ(e,o){let[t,...a]=o;return t?.kind==="text"?[{kind:"text",text:`${e}${t.text}`},...a]:[{kind:"text",text:e},...o]}function WJ(e){return An(e)||void 0}function Eu(e,o){let t=[],a=!1;return e.forEach((r,n)=>{if(r.kind==="text"){t.push(je("span",{children:Pu(r.text)},n)),a=!0;return}a||t.push(je("span",{},`e${n}`)),t.push(GR(r,n,o)),a=!1}),a||t.push(je("span",{},"end")),t}function WR(e,o){return e.length===1&&e[0].kind==="text"?Pu(e[0].text):e.map((t,a)=>t.kind==="text"?je(zR,{children:Pu(t.text)},a):GR(t,a,o))}function zJ(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function IFe(e){return je(Si,{value:e,children:je("span",{children:e})})}function GR(e,o,t){if(e.kind==="link")return je("a",{href:e.href,className:MJ,children:WR(e.children,t)},o);let a=WR(e.children,t),r=NS[e.kind];if(r)return je("span",{[MS]:r,children:a},o);switch(e.kind){case"underline":return je("u",{children:a},o);case"sup":return je("sup",{children:a},o);case"sub":return je("sub",{children:a},o);case"color":{let n=WJ(e.color);return n?je("span",{style:{color:n},children:a},o):je("span",{children:a},o)}case"accent":case"highlight":return je("em",{className:t,children:a},o);case"bold":return je("strong",{className:"font-semibold",children:a},o);case"italic":return je("em",{className:"italic",children:a},o);case"strike":return je("s",{className:"line-through",children:a},o);default:return je("span",{children:a},o)}}function $R(e,o=!0){let t=e.split(`
|
|
60
|
+
`);return je(Si,{value:e,children:t.map((a,r)=>wi("span",{children:[Xo(a,o),r<t.length-1?je("br",{}):null]},r))})}function UR(e){return e.split(/\n\s*\n/).map(o=>o.trim()).filter(Boolean)}var gb={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 $J(e,o){return`font-mono text-[length:var(--size-label,${e}px)] uppercase tracking-[0.3em] text-accent`}var UJ=`inline-block w-fit bg-accent px-3.5 py-1.5 font-mono ${gb.labelSmall} font-semibold uppercase tracking-[0.16em] text-bg`,jJ=`flex items-center gap-3.5 font-mono ${gb.labelLarge} uppercase tracking-[0.3em] opacity-80 ${gb.labelUpTo800} max-view-wide:tracking-[0.25em]`;function jR({text:e,look:o="plain",size:t=13,scaled:a=!0,className:r="",classNameAfter:n=""}){if(o==="line")return GJ("div",{className:[r,jJ,n].filter(Boolean).join(" "),children:[Ib(TR,{}),Ib("span",{children:Xo(e)})]});let s=o==="filled"?UJ:$J(t,a);return Ib("span",{className:[r,s,n].filter(Boolean).join(" "),children:Xo(e)})}import{jsx as vo,Fragment as yb}from"react/jsx-runtime";import{createContext as ki,useContext as zt}from"react";import{isNodeList as KJ}from"efficient-easel/data";var qJ=new Set(["Flex","Grid"]);function KR(e){return typeof e=="string"&&qJ.has(e)}var VJ="contentWidth",YJ="full",XJ="content";function ZJ(e){let o=e?.[VJ];return o===YJ?!1:o===XJ?!0:void 0}function qR(e,o){return e&&!o}function VR(e){return e.loop==="scroll"&&e.direction!=="tabs"&&e.direction!=="accordion"&&!kc(typeof e.bgImage=="string"?e.bgImage:null)&&!JE(e.scrollDirection)}function JJ(e,o){return KR(e)&&VR(o)?sd({}):sd(o)}function PFe(e){return e!=="full"}function EFe(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 u=KR(c?.type),m=(l?JJ(c?.type,d).content:null)==="content"?!0:s,f=u&&(n.inBox?ZJ(d)??m:m),x={insideGutter:n.insideGutter||f||u&&VR(d),inBox:n.inBox||u};for(let I of Object.values(d)){if(!KJ(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 Ci=ki(!1);function DFe(){return zt(Ci)}function YR({children:e}){return vo(Ci.Provider,{value:!0,children:e})}var bb=ki(!1);function NFe({children:e}){return vo(bb.Provider,{value:!0,children:e})}var Sb=ki(!1);function QJ(){return zt(Sb)}function MFe({atTop:e,nested:o}){return vo(yb,{children:QJ()?o:e})}var vi=ki(void 0);function HFe({children:e}){return vo(vi.Provider,{value:null,children:e})}function eQ(){return zt(vi)===void 0&&!zt(Sb)&&!zt(Ci)}function WFe({own:e,followed:o}){return vo(yb,{children:eQ()?e():o()})}var XR=ki(null);function zFe({value:e,children:o}){return vo(XR.Provider,{value:e,children:o})}function GFe({draw:e}){return vo(yb,{children:e(zt(XR))})}function $Fe(){return zt(vi)??null}function UFe({contained:e,framedClass:o,fillClass:t,columnClass:a,style:r,tabLabel:n,pad:s,border:l,outerAttrs:c,box:d=!1,edge:u=!1,outerStyle:m,outerClass:f,bleed:x=!1,children:I}){let y=zt(Ci),v=zt(bb),C=qR(e,y),S=C&&!v,g=s&&!S?ek(s.values,s.frame):null,k=l&&!S?l:null,T=d&&!x?Nk:null,F=[S?o:t,S?T:null,g?.className,k?Sk:null].filter(Boolean).join(" "),P=oQ(x&&S,g||k?{...r,...g?.style,...k}:r),B=zt(vi),E=d&&u&&B===void 0?{gutter:C,...s?{pad:s.values}:{}}:null,R=d?vo(Sb.Provider,{value:!0,children:vo(vi.Provider,{value:E,children:I})}):I,N=C?vo(Ci.Provider,{value:!0,children:R}):R,b=s&&S?Qv(s.values):null,_=c&&Object.keys(c).length>0?c:null,L=vo("div",{...b?null:_,className:!b&&f?F?`${F} ${f}`:f:F,style:b||!m?P:{...P,...m},"data-tab-label":n,children:v?vo(bb.Provider,{value:!1,children:C&&!x?vo("div",{className:T?`${a} ${T}`:a,children:N}):N}):N}),H=b?vo("div",{..._,className:f?`${b.className} ${f}`:b.className,style:m?{...b.style,...m}:b.style,children:L}):L;return l&&S?vo("div",{className:yk,style:{display:"contents",...l},children:H}):H}function oQ(e,o){return e?{...o,paddingLeft:0,paddingRight:0}:o}var JR={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))]"},aQ="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))]",rQ="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))]",nQ="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))]",Ma={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 XFe(e,o,t){let a=Ou(t),r=o-1,n=Math.floor(r/a)*a,s=[];return e===0&&s.push(Ma.phone.tl,Ma.phone.tr,Ma.wide.tl),e===r&&s.push(Ma.phone.bl,Ma.phone.br),e===a-1&&o>=a&&s.push(Ma.wide.tr),e===n&&s.push(Ma.wide.bl),e===r&&o%a===0&&s.push(Ma.wide.br),s.join(" ")}function Ou(e){return Math.min(4,Math.max(2,e??3))}function ZFe({look:e,eyebrow:o,title:t,columns:a,omitHead:r=!1,editing:n=!1,cards:s}={}){let l=Ou(a),c=!!(o??"").trim()||!!(t??"").trim();return!n&&!c&&!s?null:Ti("section",{className:"relative z-[2] bg-surface",children:ZR("div",{className:r?rQ:aQ,children:[r?null:ZR(tQ,{children:[(o??"").trim()&&Ti(jR,{text:o??"",look:e,className:"mb-4 block"}),(t??"").trim()&&Ti("h2",{className:`mb-9 font-heading2 ${JR.headingMedium} font-medium uppercase leading-none tracking-[-0.02em] text-fg max-view-wide:mb-7 ${JR.headingMediumUpTo800}`,children:$R(t??"",!1)})]}),s?Ti("div",{className:nQ,style:{"--cd-cols":String(l),overflowY:"visible"},children:Ti(YR,{children:s})}):null]})})}var eBe={eyebrow:"Label",title:"Section *heading.*"},sQ={template:Sw()},QR={label:"Cards",fields:sQ,defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var aBe={eyebrow:"Highlight",title:"Key *features.*"},rBe=()=>[{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")}],eA={label:"Key Features",defaultProps:{eyebrow:"",title:"",items:[],columns:3}};function us(e){if(e==="ProductGrid")return"shelf";let o=wo[e]?.headStyle;return o==="editorial"||o==="simple"||o==="essay"?o:"standard"}var Au={standard:64,editorial:60,simple:36,essay:28,shelf:20},lQ={SectionHeader:"accent",FAQ:"accent",FitmentFinder:"accent",FitmentTable:"accent",SpecTable:"accent",RelatedProducts:"accent",Collections:"accentNum"};function iQ(e){if(e==="SectionHeader")return{num:"num",title:"title",description:"description",link:!0};let o=wo[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 aA(e,o,t){let a=`editorial:${e}|${o}|${t}`,r=Ru.get(a);if(r)return r;let n=nA({num:e,title:o,description:t,link:!1});return Ru.set(a,n),n}var Cb={top:0,right:0,bottom:1,left:0},Zo=(e,o,t,a)=>({sizeToken:{step:e,px:a,fluid:{minPx:o,vw:t}}}),Lu=(e,o,t={})=>ge(e,{...$("label",o),...t}),Fu=(e,o)=>({kind:"text",key:e,role:"heading",props:z,style:{textStyle:"heading-2",...o}}),vb=800,kb=(e,o,t,a)=>({kind:"text",key:e,props:{...te,align:"right",alignPhone:"left",...t?{maxWidth:t,maxWidthPhone:vb}:{}},style:{textStyle:"body-5",fontRole:"heading",alignPhone:"left",...$("body",o),...a}}),rA={...Ye,align:"right",alignPhone:"left",...ia,icon:"arrow-right",iconPosition:"after"},wb=e=>({kind:"button",key:"linkText",href:"linkHref",variant:"ghost",props:rA,style:{...it(e),color:"labels"}}),oA=(e,o,t)=>{let a=t.role==="heading"?{tag:"h2"}:{};return{kind:"block",type:"Text",when:r=>r[e]===void 0,props:{...z,...a,...t.props,text:o,_partStyles:{text:{...t.role==="eyebrow"?cQ(So()):{},...t.style}}}}},cQ=e=>e._partStyles.text??{},_u={widthFitPhone:"fill"};function dQ(e,o){let t=lQ[e],a=t==="accent",r=Lu(o.num,14,{color:a?"accent":"labels"}),n=t==="accentNum"&&r.kind==="text"?{...r,mark:"accentLead"}:r,s=Fu(o.title,a?{...Zo("headingMedium",36,5,64),case:"upper",lineHeight:.95,letterSpacing:-.025}:{...$("headingMedium",56,36),case:"none",lineHeight:1,letterSpacing:-.03}),l=e==="Collections";return{kind:"group",name:"Header",props:{...A,direction:"row",align:"end",justify:"between",gap:40,gapPhone:12,share:"content",sectionBorder:Cb,sectionPaddingBottom:24,sectionPaddingBottomPhone:20},parts:[{kind:"group",name:"Title",props:{...A,..._u,direction:"row",align:"end",gap:40,gapPhone:12,share:"content"},parts:[{kind:"group",name:"Number",props:{...A,..._u,align:"start",gap:12},parts:[{kind:"image",key:"logoSrc",alt:"logoAlt",props:{aspect:"auto",contained:!1}},n,...l?[oA(o.num,"==01== / Collections",n)]:[]]},{kind:"group",name:"Heading",props:{...A,..._u},parts:[s,...l?[oA(o.title,`Three ranges,
|
|
61
|
+
one standard.`,s)]:[]]}]},{kind:"group",name:"Words",props:{...A,..._u,gap:12,maxWidth:340,maxWidthPhone:vb},parts:[...o.description?[kb(o.description,14,void 0,{lineHeight:1.5})]:[],...o.link?[wb(14)]:[],...l?[{kind:"block",type:"ButtonBlock",props:{...rA,variant:"ghost",label:"View all",href:"/wheels",_partStyles:{label:wb(14).style}}}]:[]]}]}}function nA(e){return{kind:"group",name:"Header",props:{...A,direction:"row",align:"end",justify:"between",gap:40,gapPhone:14,share:"content",sectionBorder:Cb,sectionPaddingBottom:32},parts:[{kind:"group",name:"Title",props:{...A,direction:"row",align:"end",gap:40,gapPhone:14,share:"content"},parts:[{kind:"group",name:"Number",props:{...A,sectionPaddingBottom:8},parts:[{...Lu(e.num,13),props:{...z,...Mr}}]},Fu(e.title,{...Zo("headingMedium",40,5.5,80),case:"upper",weight:500,lineHeight:1,letterSpacing:-.03})]},{kind:"group",name:"Words",props:{...A,sectionPaddingBottom:4,maxWidth:360,maxWidthPhone:vb},parts:e.description?[kb(e.description,14,void 0,{lineHeight:1.5})]:[]}]}}function tA(e,o){return{kind:"group",name:"Header",props:{...A,gap:16,gapPhone:16},parts:[Lu(e.num,13),Fu(e.title,o)]}}var sA=[["para",{...it(13),weight:400,lineHeight:1,letterSpacing:.22}],["sm",{...$("headingMedium",40,28),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["md",{...$("headingMedium",48,32),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["lg",{...$("headingMedium",56,36),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["xl",{...$("headingMedium",64,40),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}]],fQ=e=>sA.some(([o])=>o===e.titleSize)?e.titleSize:"lg";function uQ(e){return{kind:"group",name:"Header",props:{...A,direction:"row",align:"center",justify:"between",gap:16,share:"content",stickTop:!0,sectionBorder:Cb,sectionPaddingTop:12,sectionPaddingBottom:12},parts:[{kind:"group",name:"Title",props:{...A,direction:"row",align:"end",gap:24,share:"content"},parts:[Lu(e.num,13,{color:"labels",letterSpacing:.22,lineHeight:1}),...sA.map(([o,t])=>({...Fu(e.title,t),when:a=>fQ(a)===o}))]},{kind:"group",name:"Words",props:{...A,direction:"row",align:"center",justify:"end",gap:20,share:"content"},parts:[...e.description?[kb(e.description,13,340,{lineHeight:1.4})]:[],...e.link?[wb(13)]:[]]}]}}function Bu(e){return us(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 Ru=new Map;function Jo(e){let o=Ru.get(e);if(o)return o;let t=iQ(e),a=us(e),r=a==="editorial"?nA(t):a==="simple"?tA(t,{...$("headingMedium",44,32),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02}):a==="essay"?tA(t,{...$("headingMedium",38,28,"headingSmall"),case:"upper",lineHeight:1,letterSpacing:-.02}):a==="shelf"?uQ(t):dQ(e,t);return Ru.set(e,r),r}var Ur={Series:"transparent",StatsParagraph:"transparent",TimelineTrack:go,Stats:void 0};var Ha=(e,o,t,a)=>({sectionBorder:{top:e,right:o,bottom:t,left:a}}),xA=e=>o=>Ou(K(o.columns)??K(e.columns)),IA=e=>({kind:"group",name:"Grid",props:{...A,gap:0,...Ha(1,0,0,1)},parts:[e]}),gA={...A,direction:"row",gap:0,share:"equal"},bA="its head sits in a Box of its own above it (own-box): the row draws the head inline",yA=e=>Q1(e.headPlacement)==="own-box",SA="inline is the head the row draws; an own-box node is skipped (`skip`)",pQ=e=>({kind:"group",name:"Heading",props:e,parts:[ge("eyebrow"),{kind:"text",key:"title",role:"heading",props:z,style:{textStyle:"heading-3",case:"upper"},was:{size:44}}]}),lA={top:72,bottom:72,topPhone:72,bottomPhone:72},mQ={...Yp,...Ha(0,1,1,0)},hQ={name:"Cards",boxProps:(e,o)=>({...oe,direction:"column",gap:36,gapPhone:28,...Lo("surface")(e,o),...me(e,lA)}),box:[...ie,...Te(lA)],skip:e=>yA(e)?bA: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:[Jo("Cards"),IA({kind:"list",key:"items",name:"Card",perRow:xA(QR.defaultProps),rowName:"Row",rowProps:gA,props:(e,o)=>({...mQ,...Lo("background")(e,o)}),parts:[{kind:"text",key:"title",props:z,style:Xp},{kind:"text",key:"body",props:te,style:Fs}]})],drop:{...ce,...Ie,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:SA,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)"}},iA={top:76,bottom:76,topPhone:76,bottomPhone:76},xQ={...A,direction:"row",align:"center",gap:16,sectionPaddingTop:32,sectionPaddingRight:28,sectionPaddingBottom:32,sectionPaddingLeft:28,...Ha(0,1,1,0)},cA={textStyle:"body-1",color:"text"},dA=(e,o)=>typeof o?.href=="string"&&o.href.trim()!=="",IQ={name:"Key Features",boxProps:e=>({...oe,direction:"column",gap:44,...Ha(1,0,1,0),...me(e,iA)}),box:[...ie,...Te(iA)],parts:[pQ({...A,direction:"row",align:"end",gap:20,wrap:!0,share:"content"}),IA({kind:"list",key:"items",name:"Feature",perRow:xA(eA.defaultProps),rowName:"Row",rowProps:gA,props:xQ,parts:[{kind:"button",key:"label",href:"href",when:dA,variant:"ghost",props:{...Ye,...ia,icon:"none"},style:cA},{kind:"text",key:"label",when:(e,o)=>!dA(e,o),props:z,style:cA,was:{size:17}}]})],drop:{...ce,...Ie,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)"}},fA={top:120,bottom:120,topPhone:80,bottomPhone:80,topTablet:80,bottomTablet:80},Du=e=>{let o=Ft(typeof e.background=="string"?e.background:void 0,Ur.Series);return o&&o!=="transparent"?o:void 0},Tb=e=>Du(e)===go,gQ={...A,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},uA={...A,direction:"row",justify:"between",gap:12,share:"content",phoneRow:2,[hA("share")]:"content"},bQ=e=>{let o=Du(e)?1:2;return{...A,direction:"row",columns:4,columnsTablet:2,gap:o,gapPhone:o}},Pb={...it(12),letterSpacing:.22,lineHeight:1.5},pA=e=>oo(e.viewLabel)&&!Eb(e.viewLabel).hidden,ca=e=>Eb(e).text?.trim?.()??"",wA=e=>Object.fromEntries(Object.entries(e).filter(([,o])=>J(o)!==void 0)),CA=e=>e.map(([o,t,a])=>({key:o,label:t,...a?{multiline:!0}:{}})),yQ=CA([["num","Number"],["since","Corner note"],["title","Card title"],["body","Card body",!0],["count","Count"],["countLabel","Count word"]]),SQ=CA([["label","Label"],["value","Value"],["body","Card body",!0]]),vA=(e,o,t,a,r)=>({kind:"group",name:e,props:o,parts:[{kind:"core",as:jo,headless:!0,keep:[],derive:{reads:["cards"],props:n=>fc(a(n),t)},slots:(n,s)=>({[Io]:[r(n,s)]})}]}),kA=e=>Array.isArray(e.cards)?e.cards:[],wQ={name:"Recurring Columns",boxProps:(e,o)=>({...oe,direction:"column",gap:60,gapPhone:60,...Ha(0,0,1,0),...Tb(e)?zr(e,o):{},...Cu(Du(e),e,o),...me(e,fA)}),box:[...ie.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Tb(o)?Da(e,o,t):e],...Te(fA)],skip:e=>vu(Du(e))??(yA(e)?bA:void 0),site:(e,o)=>Tb(e.props)?Na(e,o):[],parts:[Jo("Series"),vA("Cards",bQ,yQ,e=>kA(e).map(o=>wA({num:ca(o.num),since:ca(o.since),title:ca(o.title),body:ca(o.desc),count:ca(o.entries),countLabel:ca(o.entriesLabel)})),(e,o)=>({type:j,props:{...gQ,...Lo("background")(e,o),name:"Card"},slots:{[ve]:[{type:j,props:{...A,name:"Words",gap:16,gapPhone:16},slots:{[ve]:[{type:j,props:{...uA,name:"Top"},slots:{[ve]:[Be("num",z,$("label",13),!0),Be("since",z,$("label",13),!0)]}},Be("title",{...z,tag:"h3"},{textStyle:"heading-3",...$("headingSmall",28),weight:500,case:"upper",lineHeight:1.04,letterSpacing:-.02}),Be("body",te,{textStyle:"body-5",fontRole:"heading",...$("body",14),lineHeight:1.6})]}},{type:j,props:{...uA,name:"Footer",align:"center",gap:0,gapPhone:0,sectionPaddingTop:16,sectionPaddingTopPhone:16,...Ha(1,0,0,0),...pA(e)?{}:{[om]:["count","countLabel"]}},slots:{[ve]:[{type:j,props:{...A,name:"Count",direction:"row",align:"center",gap:12,gapPhone:12,share:"content",[hA("share")]:"content"},slots:{[ve]:[Be("count",z,Pb),Be("countLabel",te,Pb)]}},...pA(e)?[{type:j,props:{...A,name:"View",maxWidthPhone:266},slots:{[ve]:[{type:"Text",props:{...z,text:Eb(e.viewLabel).text,_partStyles:{text:{...So()._partStyles.text,...Pb}}}}]}}]:[]]}}]}}))],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:{...ce,...Ie,headPlacement:SA}},mA={top:60,bottom:60,topPhone:40,bottomPhone:40},CQ={...A,direction:"row",columns:3,gap:40,gapPhone:16},vQ={...A,gap:8,gapPhone:8,...Po(24),...Ha(1,1,1,1)},kQ={name:"Document Detail Cards",boxProps:e=>({...oe,direction:"column",gap:40,gapPhone:16,...Ha(0,0,1,0),...me(e,mA)}),box:[...ie,...Te(mA)],parts:[vA("Cards",CQ,SQ,e=>kA(e).map(o=>wA({label:ca(o.label),value:ca(o.value),body:ca(o.desc)})),(e,o)=>({type:j,props:{...vQ,...Lo("surface")(e,o),name:"Card"},slots:{[ve]:[Be("label",z,{...$("label",12),lineHeight:1.5},!0),{type:j,props:{...A,name:"Words",gap:14,gapPhone:14},slots:{[ve]:[Be("value",z,{textStyle:"heading-3",...$("headingSmall",20),weight:500,letterSpacing:-.015,lineHeight:1.5}),Be("body",te,{textStyle:"body-5",fontRole:"accent",...$("body",14),italic:!0,lineHeight:1.5})]}}]}}))],drop:{...ce,...Ie}},TA={Cards:hQ,KeyFeatures:IQ,Series:wQ,DocMetaCards:kQ};import{phoneKey as OQ}from"efficient-easel/draw";import{newId as _Q}from"efficient-easel/data";import{phoneKey as TQ}from"efficient-easel/draw";import{isNode as Pi}from"efficient-easel/data";var ps="cardStyle";function PA(e){let{widthPhone:o,...t}=e;return e.widthFitPhone==="fixed"?{...t,widthFitPhone:"fill"}:{...e}}var Nu={table:{items:{gap:0,gapPhone:0,columnsTablet:2},grid:{gap:0},row:{gap:0,[TQ("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}}}},Qo={table:{...Nu.table,listCard:PA(Nu.table.card)},list:{...Nu.list,listCard:PA(Nu.list.card)}},BBe=[{label:"Table",value:"table"},{label:"List",value:"list"}],DBe=e=>e==="table"||e==="list",PQ=e=>[...new Set([...Object.keys(Qo.table[e]),...Object.keys(Qo.list[e])])];function Ei(e,o,t){let a={...e};for(let r of PQ(o))delete a[r];return{...a,...structuredClone(Qo[t][o])}}function EQ(e,o,t){let a=e.props??{},r=Array.isArray(a[Io])?a[Io]:[],n=r.findIndex(c=>Pi(c)&&c.type===t);if(n<0)return e;let s=r[n],l=r.map((c,d)=>d===n?{...s,props:Ei(s.props??{},"listCard",o)}:c);return{...e,props:{...a,[Io]:l}}}function NBe(e,o,t,a){let r=Array.isArray(e[a])?e[a]:[];if(r.some(s=>Pi(s)&&s.type===jo)){let s=r.map(l=>Pi(l)&&l.type===jo?EQ(l,o,t):l);return{...Ei(e,"items",o),[ps]:o,[a]:s}}let n=r.map(s=>{if(!Pi(s)||s.type!==t)return s;let l=s.props??{},c=(Array.isArray(l[a])?l[a]:[]).map(d=>Pi(d)&&d.type===t?{...d,props:Ei(d.props??{},"card",o)}:d);return{...s,props:{...Ei(l,"row",o),[a]:c}}});return{...Ei(e,"grid",o),[ps]:o,[a]:n}}var Ob=e=>typeof e=="string"?e.trim():"";function EA(e){let o=`${Ob(e.prefix)}${Ob(e.value)}`,t=Ob(e.suffix);return e.emphasizeAll===!0?o?`==_${o}_==`:"":`${o}${t?`==_${t}_==`:""}`}var RA={textStyle:"heading-2",...Zo("headingMedium",56,7,96),weight:500,case:"none",lineHeight:.9,letterSpacing:-.04},_b={kind:"block",type:"Text",props:{...Hr,_partStyles:{text:RA}},box:[["value","text",(e,o)=>EA(o)]],when:(e,o)=>o!==void 0&&typeof o.value=="string"&&EA(o)!==""},OA=e=>oo(e?.supSuffix),AA={textStyle:"body-1",fontRole:"heading",...$("body",16),lineHeight:1.5,letterSpacing:-.01},LA={color:"labels",...$("label",12),lineHeight:1.5,letterSpacing:.24},FA={...A,direction:"row",align:"start",gap:32,gapPhone:32,share:"content",phoneRow:2,[OQ("share")]:"content"},BA={textStyle:"body-5",...$("label",13),weight:500,color:"accent",letterSpacing:.18,lineHeight:1,padding:12},Ab=e=>Ft(e.background,Ur.StatsParagraph),Oi=e=>Ab(e)===go,Rb=e=>({...e,sectionAccent:e.sectionAccent??0}),RQ=(e,o)=>Oi(e)?Lo("background")(e,o):{},AQ={name:"Stats with Text",skip:e=>Ab(e)&&Ab(e)!=="transparent"&&!Oi(e)?"it paints a colour of its own, not the section band":void 0,boxProps:(e,o)=>({...oe,direction:"column",gap:60,gapPhone:60,sectionBorder:{bottom:1},...Co(e,"StatsParagraph"),...Oi(e)?zr(Rb(e),o):{}}),box:[...ie.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Oi(o)?Da(e,Rb(o),t):e],...Ba("StatsParagraph")],site:(e,o)=>Oi(e.props)?Na({props:Rb(e.props)},o):[],parts:[Jo("StatsParagraph"),{kind:"group",name:"Stats",props:{...A,...Qo.table.grid,[ps]:"table"},parts:[{kind:"list",key:"stats",name:"Stat",perRow:()=>4,rowName:"Stats row",rowProps:{...A,direction:"row",share:"equal",phoneRow:2,...Qo.table.row},props:(e,o)=>({...A,...Qo.table.card,...RQ(e,o)}),parts:[{..._b,when:(e,o)=>!OA(o)&&_b.when(e,o)},{kind:"group",name:"Figure",props:FA,when:(e,o)=>OA(o),parts:[_b,{kind:"text",key:"supSuffix",props:z,style:BA}]},{kind:"group",name:"Words",props:{...A,gap:4,gapPhone:4},parts:[{kind:"text",key:"label",props:z,style:AA},ge("sub",LA)]}]}]}],drop:{...ce,...Ie,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"}},LQ=new Set(["value","label",nt]),_A={top:48,bottom:48,topPhone:48,bottomPhone:48},FQ=e=>{let o=Ft(typeof e.background=="string"?e.background:void 0,Ur.Stats);return!!o&&o!=="transparent"},BQ={name:"Stats",skip:e=>FQ(e)?"it paints a colour inside its padding, and a Box paints its Fill over the padding too":oo(e.dataSource)?"its figures come from a source":Array.isArray(e.items)&&e.items.some(o=>oo(o?.[nt]))?"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=>!LQ.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=>({...oe,direction:"column",gap:24,gapPhone:24,...me(e,_A)}),box:[...ie,...Te(_A)],parts:[ge("heading",{color:"labels",...$("label",12),letterSpacing:.2}),{kind:"group",name:"Stats",props:{...A,...Qo.list.grid,[ps]:"list"},parts:[{kind:"list",key:"items",name:"Stat",perRow:e=>K(e.columns)??4,rowName:"Stats row",rowProps:{...A,direction:"row",share:"equal",phoneRow:2,...Qo.list.row},props:{...A,...Qo.list.card},parts:[{kind:"text",key:"value",props:Hr,style:{textStyle:"heading-2",...$("headingMedium",48,36),weight:500,case:"none",lineHeight:1,letterSpacing:-.03}},ge("label",{color:"labels",...$("label",12),letterSpacing:.2})]}]}],drop:{...ce,...Ie,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"}},DA={StatsParagraph:AQ,Stats:BQ};function NA(){return{eyebrow:i("By the numbers"),title:i("What we count."),desc:i("A few numbers that matter to us."),stats:[],background:"transparent"}}var DQ=[{key:"figure",label:"Figure"},{key:"superscript",label:"Superscript"},{key:"label",label:"Label"},{key:"body",label:"Text",multiline:!0}];function MA(){let e=(o,t,a,r="")=>({key:_Q("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 NQ(e){return{type:j,props:{...A,name:"Card",...structuredClone(Qo[e].listCard)},slots:{[ve]:[{type:j,props:{...FA,name:"Figure"},slots:{[ve]:[Be("figure",Hr,RA),Be("superscript",z,BA)]}},{type:j,props:{...A,name:"Words",gap:4,gapPhone:4},slots:{[ve]:[Be("label",{...z,widthFit:"fill"},AA),Be("body",{...z,widthFit:"fill"},LA,!0)]}}]}}}function Lb(e,o,t=4){return{type:j,props:{...A,name:"Stats",direction:"row",columns:t,...structuredClone(Qo[o].items),[ps]:o},slots:{[ve]:[{type:jo,props:fc(e,DQ),slots:{[Io]:[NQ(o)]}}]}}}var HA={heading:"Trusted by *teams worldwide*"},WA=()=>[{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")}],MQ={logos:{type:"slot",allow:["LogoBlock"]},template:{type:"slot",allow:["LogoBlock"]}},oDe={label:"Logos",fields:MQ,defaultProps:{items:[],contained:!0}};import{phoneKey as HQ}from"efficient-easel/draw";var GA={contained:!1},$A=(e,o)=>({logos:[{kind:"list",key:e,name:"Logo",flat:!0,parts:[{kind:"block",type:"LogoBlock",box:["src",[o,"alt"]],when:(t,a)=>oo(a?.src)||oo(a?.[o])}]}]}),Fb=e=>{let o=K(e.bandPadding)??40;return{top:o,bottom:o,topPhone:o,bottomPhone:o}},WQ={...ge("heading",{color:"labels",letterSpacing:.2}),props:{...z,align:"center"}},zQ={name:"Logos",boxProps:e=>({...oe,direction:"column",gap:32,...me(e,Fb(e))}),box:[...ie,...Te(Fb),["bandPadding","sectionPaddingTop",(e,o)=>me(o,Fb(o)).sectionPaddingTop]],parts:[WQ,{kind:"core",keep:["columns","logoHeight","grayscale"],rename:{logosPerRow:"columns"},props:GA,slots:$A("items","alt")}],drop:{...ce,...Ie,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"}},zA={top:24,bottom:24,topPhone:24,bottomPhone:24},GQ={name:"Payment Methods",boxProps:e=>({...oe,direction:"column",...me(e,zA)}),box:[...ie,...Te(zA)],parts:[{kind:"group",name:"Methods",props:{...A,align:"center",gap:20,gapPhone:20,sectionBorder:{top:1,bottom:1},sectionPaddingTop:32,sectionPaddingBottom:32},parts:[{...ge("heading",{color:"labels"}),props:{...z,align:"center"}},{kind:"core",keep:[],as:"Logos",derive:{reads:[_t,ks],props:e=>oo(e[_t])?{[_t]:e[_t],...e[ks]!==void 0?{[ks]:e[ks]}:{}}:{}},props:{...GA,look:"cards",grayscale:!1},slots:e=>({...$A("badges","label"),...oo(e[_t])?{[Io]:[Zp()]}:{}})},{kind:"group",name:"Reassurance",props:{...A,direction:"row",wrap:!0,justify:"center",gap:24,gapPhone:24,phoneRow:2,[HQ("share")]:"content"},parts:[{kind:"list",key:"assurances",name:"Line",flat:!0,parts:[{kind:"text",key:"text",props:{...z,align:"center"},style:{size:13,color:"labels",lineHeight:1.5}}]}]}]}],drop:{...ce,...Ie,contained:"the Box draws the site frame now; the Logos block inside it fills the Box's column (`contained: false`)"}},UA={Logos:zQ,PaymentBadges:GQ},jA=()=>({heading:HA.heading,items:WA()});import{mixHex as UQ}from"efficient-shell/format";var uDe="none",pDe=[{label:"Nothing",value:"none"},{label:"Section above",value:"above"},{label:"Section below",value:"below"}];function KA(e){return e==="above"||e==="below"?e:null}var mDe="sf-ticker-join";function $Q(e){return e==="above"?"sf-ticker-join-above":"sf-ticker-join-below"}function hDe(e){return`absolute inset-x-0 ${$Q(e)}`}var qA=e=>e.size==="display",jQ=(e,o)=>{let t=mi(e,o),a=e.tone!=="plain"&&t?.text&&t.background?UQ(t.text,t.background,.3):null;return a?{color:a}:{}},KQ=(e,o)=>e.tone!=="plain"&&ft(e.sectionAccent)===null?Lo("background")(e,o):{},VA=(e,o)=>({kind:"list",key:"items",name:"Item",flat:!0,when:o,parts:[{kind:"text",key:"text",props:te,style:e,styleFrom:jQ}]}),qQ={name:"Scrolling Bar",boxProps:(e,o)=>({...oe,...Nr,...gu,...ac[_s(e.separator)]===""?pR:{},...me(e,ii),...KQ(e,o)}),box:[["scrollDirection","scrollDirection",e=>ZE(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=>_s(e)],["join","join",e=>KA(e)??void 0],["borders","sectionBorder",e=>e===!1?void 0:{top:1,bottom:1}],...ie,["tone","sectionAccent",(e,o)=>ft(o.sectionAccent)??wa],...Te(ii)],parts:[VA(bu,e=>!qA(e)),VA(mR,qA)],drop:{...ce,...Ie,size:"each item's Text style: Small \u2192 Body 5, Display \u2192 Heading 3"}},YA=e=>e?.tone==="muted",XA=e=>Vy(is(e)?.themes),VQ={name:"Spec Strip",boxProps:(e,o)=>({...oe,...Nr,...yu,...e.fill==="none"?{sectionBorder:{top:1}}:{sectionAccent:XA(o)},...me(e,ci)}),box:[...ie.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>o.fill==="none"?e:XA(t)],...Te(ci)],parts:[{kind:"list",key:"cells",name:"Cell",flat:!0,parts:[{kind:"text",key:"text",props:z,style:di,when:(e,o)=>!YA(o)},{kind:"text",key:"text",props:te,style:di,when:(e,o)=>YA(o)}]}],drop:{...ce,...Ie,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 (lib/theme `darkPresetIndex`; Theme 2 with no site theme): the old fixed `plate-band` colour, as a theme"}},ZA={Ticker:qQ,SpecStrip:VQ};var YQ="jetbrains-mono",oL="space-grotesk",Wu=(e,o,t={})=>({textStyle:"body-5",font:YQ,size:e,sizePhone:e,letterSpacing:o,lineHeight:1.5,weight:400,...t}),jr=(e,o,t={})=>({...Wu(e,o),...lt,...t}),_i=(e,o,t,a)=>({font:oL,size:e,sizePhone:o,case:"upper",weight:500,letterSpacing:t,lineHeight:a}),ms=(e,o,t,a={})=>({textStyle:"body-1",font:oL,size:e,sizePhone:o,weight:400,case:"none",lineHeight:t,...a}),ko=(e,o,t={})=>({kind:"text",key:e,props:z,style:o,...t}),JA=(e,o)=>o?.future===!0,Mu=e=>UR(typeof e?.body=="string"?e.body:""),Hb=e=>Ft(typeof e.background=="string"?e.background:void 0,Ur.TimelineTrack),Bb=e=>Hb(e)===go?e:{...e,background:"transparent"},XQ={name:"Milestone Timeline",skip:e=>vu(Hb(e)),boxProps:(e,o)=>{let t=Wr(Bb(e),o);return{...oe,direction:"column",gap:60,sectionBorder:{bottom:1},...Co(e,"TimelineTrack"),...Cu(Hb(e),e,o),...t>=0?{sectionAccent:t}:{}}},box:[...ie.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Da(e,Bb(o),t)],...Ba("TimelineTrack")],parts:[{kind:"group",name:"Heading",props:{...A,direction:"row",align:"end",justify:"between",gap:40,share:"content",sectionPaddingBottom:32,sectionBorder:{bottom:1}},parts:[{kind:"group",name:"Title",props:{...A,direction:"row",align:"end",gap:40,share:"content"},parts:[ko("eyebrow",jr(13,.3,{color:"accent",padding:8}),{role:"eyebrow"}),ko("title",{textStyle:"heading-2",..._i(79,40,-.03,1)},{role:"heading"})]},ko("intro",ms(14,14,1.5),{props:{...te,align:"right",maxWidth:360}})]},{kind:"group",name:"Years",props:{...A,direction:"row",share:"equal",gap:0,line:!0},parts:[{kind:"list",key:"entries",name:"Year",props:{...A,...Iu},item:e=>({props:e.future===!0?{upcoming:!0}:{}}),parts:[{kind:"group",name:li.name,props:{...A,...li},parts:[ko("date",Wu(13,.22,{color:"accent"}),{when:(e,o)=>!JA(e,o)}),ko("date",Wu(13,.22,{color:"labels"}),{when:JA}),ko("title",{textStyle:"heading-3",..._i(20,20,-.02,1.1)},{role:"heading"})]},ko("blurb",ms(13,13,1.55),{props:te})]}]},{kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:(e,o)=>({...Ye,align:"right",...hi(e,o)}),style:jr(13,.3)}],site:(e,o)=>Na({props:Bb(e.props)},o),drop:{...ce,...Ie,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"}},zb=e=>typeof e.layout=="string"?e.layout:"split",Hu=e=>zb(e)==="split",Wb=e=>!Hu(e),tL=e=>zb(e)==="spine",ZQ=e=>Wb(e)&&!tL(e),QA=(e,o,t,a)=>({kind:"group",name:"Picture",keepEmpty:!0,box:[["imageSrc","bgImage"]],props:{...A,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",...Po(12,16),...t},when:r=>a(r)&&typeof r.imageSrc=="string"&&r.imageSrc.trim()!=="",parts:[{kind:"group",name:"Caption",props:{...A,direction:"row",justify:"between",align:"center",gap:12,share:"content",phoneRow:2},parts:[ko("imageCaption",jr(11,.24,{color:"text"})),ko("imageMeta",jr(11,.24,{color:"accent"}),{props:{...z,align:"right"}})]}]}),eL=(e={})=>({kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:(o,t)=>({...Ye,...e,...hi(o,t)}),style:jr(13,.3)}),Db=()=>[ko("title",{textStyle:"heading-3",..._i(24,20,-.02,1.5)},{role:"heading"}),{kind:"block",type:"Text",props:{...z,_partStyles:{text:ms(17,16,1.6)}},box:[["body","text",(e,o)=>Mu(o)[0]??""]],when:(e,o)=>Mu(o).length>0},{kind:"block",type:"Text",props:{...te,_partStyles:{text:ms(17,16,1.6,{paragraphSpacing:14})}},box:[["body","text",(e,o)=>Mu(o).slice(1).join(`
|
|
62
|
+
|
|
63
|
+
`)]],when:(e,o)=>Mu(o).length>1}],Nb=()=>ko("date",Wu(13,.24,{color:"accent"})),Mb=(e,o,t={})=>ko(e,o,{...t,props:{...z,...t.props??{},align:"center"}}),JQ={name:"Story Timeline",skip:e=>zb(e)==="track"?'display "track": not converted (it draws the Milestone rail; a Track story is not stored anywhere)':void 0,boxProps:e=>Hu(e)?{...oe,direction:"row",share:[40],gap:80,align:"start",...Co(e,"Timeline")}:{...oe,direction:"column",gap:48,align:"center",...Co(e,"Timeline")},box:[...ie,...Ba("Timeline")],parts:[{kind:"group",name:"Heading",props:{...A,gap:24},when:Hu,parts:[ko("eyebrow",jr(12,.3,{color:"accent"}),{role:"eyebrow"}),ko("title",{textStyle:"heading-2",..._i(72,40,-.03,.94)},{role:"heading"}),ko("intro",ms(14,14,1.6),{props:{...te,maxWidth:360}}),QA(667,419,{},()=>!0),eL()]},{kind:"group",name:"Chapters",props:{...A,gap:48,line:!1},when:Hu,parts:[{kind:"list",key:"entries",name:"Chapter",props:{...A,direction:"row",gap:24,share:[25],align:"start"},parts:[Nb(),{kind:"group",name:"Words",props:{...A,gap:14},parts:Db()}]}]},{kind:"group",name:"Heading",props:{...A,gap:24,align:"center",maxWidth:760,widthFit:"fill"},when:Wb,parts:[Mb("eyebrow",jr(12,.3,{color:"accent"}),{role:"eyebrow"}),Mb("title",{textStyle:"heading-2",..._i(72,40,-.03,.94)},{role:"heading"}),Mb("intro",ms(14,14,1.6),{props:{...te,maxWidth:520}}),eL({align:"center"})]},QA(506,192,{maxWidth:900,widthFit:"fill"},Wb),{kind:"group",name:"Chapters",props:{...A,gap:48,line:!0,maxWidth:760,widthFit:"fill",sectionPaddingTop:16},when:tL,parts:[{kind:"list",key:"entries",name:"Chapter",props:{...A,gap:8},parts:[Nb(),{kind:"group",name:"Words",props:{...A,gap:14},parts:Db()}]}]},{kind:"group",name:"Chapters",props:{...A,gap:56,maxWidth:1e3,widthFit:"fill",sectionPaddingTop:16,mirrorCards:"even"},when:ZQ,parts:[{kind:"list",key:"entries",name:"Chapter",props:{...A,direction:"row",gap:64,share:[50],align:"start"},parts:[{kind:"group",name:"Entry",props:{...A,gap:8},parts:[Nb(),{kind:"group",name:"Words",props:{...A,gap:14},parts:Db()}]},{kind:"group",name:"Spacer",props:{...A},keepEmpty:!0,parts:[]}]}]}],drop:{...ce,...Ie,layout:"the Box's own arrangement replaces it: Split a row of two Boxes; Spine and Alternating a centred column (Track is skipped)"}},aL={TimelineTrack:XQ,Timeline:JQ};import{tabletKey as aee}from"efficient-easel/draw";import{slugify as MDe}from"efficient-shell/format";import{rootIsDark as QQ}from"efficient-shell/format";function BDe(e="auto"){return e==="light"?!0:e==="dark"?!1:!QQ({whenUnset:!0})}function rL(e,o){return Number.isFinite(e)&&Number.isFinite(o)&&!(e===0&&o===0)}function Gb(e){let o=Number.parseFloat(e??"");return Number.isFinite(o)?o:0}var eee=["tall","square","wide"],oee="tall";function nL(e){return eee.includes(String(e??""))?String(e):oee}var WDe={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"},zDe=[{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
|
|
64
|
+
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
|
|
65
|
+
Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""}],tee=/^https?:\/\//i;function GDe(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:Gb(e.lat),lng:Gb(e.lng),mapsUrl:tee.test(o)?o:""}}function $b(e){let o=String(e??"").split(" \xB7 ");return{state:(o[0]??"").trim(),country:(o[1]??"").trim()}}var $De="other",UDe={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 sL(e){let o=String(e??"").replace(/[^+\d]/g,"");return o?`tel:${o}`:void 0}var et=e=>typeof e=="string"?e:e==null?"":String(e),jb=e=>Array.isArray(e.locations)?e.locations.map(o=>o??{}):[],hs=e=>et(e.group),hL=e=>`loc-${e}`,xL=e=>et(e.state).trim()||$b(et(e.region)).state,IL=e=>et(e.country).trim()||$b(et(e.region)).country,lL=e=>[xL(e),IL(e)].filter(Boolean).join(" \xB7 "),ree=e=>jb(e).some(o=>et(o.photo).trim()!==""),nee=e=>jb(e).some(o=>rL(Number(o.lat),Number(o.lng))),see=(e,o)=>jb(e).filter(t=>hs(t)===hs(o)).length,lee=(e,o)=>see(e,o)===1?"wide":nL(e.imageShape),Ub={top:100,bottom:100,topPhone:60,bottomPhone:60},iL=48,Pt=(e,o={})=>({...it(e),...o}),Kb={top:1,right:1,bottom:1,left:1},qb={...A,direction:"row",share:"equal",gap:0},iee=e=>o=>o>ti(o)?{...A,gap:0}:{...qb,...o>1?{phoneRow:e}:{}},cee={kind:"group",name:"Gallery",props:{...A,gap:20,_hidden:!0},when:ree,parts:[{kind:"group",name:"Gallery head",props:{...A,direction:"row",justify:"between",align:"end",gap:24,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},parts:[ge("galleryKicker",Pt(12,{color:"accent",letterSpacing:.3})),{kind:"text",key:"galleryHint",props:{...te,align:"right",alignPhone:"left"},style:Pt(11,{letterSpacing:.22,alignPhone:"left"})}]},{kind:"group",name:"Groups",props:{...A,gap:24},parts:[{kind:"list",key:"locations",name:"City picture",props:{...A,darken:85,darkenStyle:"bottom",placement:"bottom-left",sectionBorder:Kb,...Po(12,12)},item:(e,o,t)=>({props:{...et(e.photo).trim()?{bgImage:et(e.photo),hover:"mono"}:{},link:`#${hL(o)}`,boxShape:lee(t,e)}}),parts:[{kind:"text",key:"name",props:z,style:Pt(11,{letterSpacing:.22,color:"text"})}],groups:{of:hs,name:"Group",props:{...A,gap:10},head:e=>({label:hs(e[0]??{})}),parts:[ge("label",Pt(11,{color:"accent",letterSpacing:.3}))],itemsName:"Cities",itemsProps:iee(2),perRow:ti,rowName:"Row",rowProps:{...qb,phoneRow:2}}}]}]},dee={kind:"group",name:"Words",props:{...A,gap:12,gapPhone:12,...Po(28,28),sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},parts:[{kind:"group",name:"Name row",props:{...A,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:{...A,gap:6,gapPhone:6},parts:[{kind:"text",key:"name",role:"heading",props:z,style:{textStyle:"heading-3",...$("headingSmall",30),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02}},{kind:"block",type:"Text",props:{...z,_partStyles:{text:Pt(12,{color:"accent",letterSpacing:.24,lineHeight:1.5})}},box:["region","state","country"].map(e=>[e,"text",(o,t)=>lL(t)]),when:(e,o)=>lL(o??{})!==""}]},{kind:"group",name:"Time zone",props:{...A,sectionBorder:Kb,...Po(6,10)},parts:[{kind:"text",key:"timezone",props:{...te,textFit:"line"},style:Pt(12,{letterSpacing:.22,lineHeight:1.5})}]}]},{kind:"text",key:"address",props:te,style:{textStyle:"body-5",fontRole:"heading",...$("body",14),lineHeight:1.5}},{kind:"block",type:"ButtonBlock",props:{...Ye,...ia,variant:"ghost",arrow:!1,_partStyles:{label:Pt(13,{letterSpacing:.18,color:"text",lineHeight:24/13})}},box:[["phone","label"],["phone","href",e=>sL(et(e))??"#"]],when:(e,o)=>et(o?.phone).trim()!==""},{kind:"text",key:"hours",props:te,style:Pt(12,{letterSpacing:.18,lineHeight:1.7})}]},fee={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)=>xL(t)]),...["region","country"].map(e=>[e,"country",(o,t)=>IL(t)])]},uee={kind:"group",name:"Map",props:{...A,sectionBorder:{top:1,right:0,bottom:0,left:0}},parts:[fee]},pee={kind:"list",key:"locations",name:"City",props:(e,o)=>({...A,gap:0,justify:"between",sectionBorder:Kb,jumpHighlight:!0,sectionAccent:Wr(e,o)>=0?pi(e.sectionAccent,o):-1}),item:(e,o)=>({props:{anchor:hL(o)}}),parts:[dee,uee],groups:{of:hs,name:"Group",props:{...A,gap:20},head:e=>{let o=e[0]??{};return{key:hs(o),groupName:et(o.groupName),count:`${e.length} location${e.length===1?"":"s"}`}},parts:[{kind:"group",name:"Group head",props:{...A,direction:"row",justify:"between",align:"end",gap:16,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},when:(e,o)=>et(o?.key).trim()!=="",parts:[ge("key",Pt(13,{color:"accent",letterSpacing:.3})),{kind:"text",key:"groupName",role:"heading",props:z,style:{textStyle:"heading-3",...$("headingSmall",24),case:"upper",weight:500,letterSpacing:-.01}},{kind:"text",key:"count",props:te,style:Pt(12,{letterSpacing:.22})}]}],itemsName:"Cities",itemsProps:e=>({...qb,columns:ti(e),[aee("columns")]:1})}},cL=Pt(10,{letterSpacing:.25}),mee={kind:"block",type:Ht,props:{...A,name:"Credit",direction:"row",justify:"end",align:"center",gap:6,share:"content",wrap:!0},when:nee,slot:Wt,keepEmpty:!0,parts:[{kind:"block",type:"Text",props:{...te,text:"Location coordinates \xA9",_partStyles:{text:cL}}},{kind:"block",type:"ButtonBlock",props:{...Ye,...ia,variant:"ghost",arrow:!1,label:"OpenStreetMap contributors",href:"https://www.openstreetmap.org/copyright",_partStyles:{label:{...cL,color:"labels"}}}}]},dL=(e,o)=>Object.fromEntries(o.filter(t=>e[t]!==void 0).map(t=>[t,e[t]])),fL=["sectionPaddingTop","sectionPaddingTopTablet","sectionPaddingTopPhone"],uL=["sectionPaddingBottom","sectionPaddingBottomTablet","sectionPaddingBottomPhone"],pL=e=>e.map(o=>[o,o,(t,a)=>me(a,Ub)[o]]),mL=["sectionAccent","sectionAccent",Da],hee=["gridSpan","_hidden",...Object.values(ro)],xee={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)=>({...oe,direction:"column",gap:40,anchor:"studios",...dL(me(e,Ub),fL),sectionPaddingBottom:iL,sectionPaddingBottomPhone:iL,...zr(e,o)}),box:[...ie.filter(e=>e!=="sectionAccent"&&e!=="anchor"),mL,["anchor","anchor",e=>Us(e).trim()?e:"studios"],...pL(fL)],parts:[aA("sectionNumber","heading","tagline"),cee],also:[{name:"City maps",boxProps:(e,o)=>({...oe,direction:"column",gap:40,sectionBorder:{bottom:1},sectionPaddingTop:0,sectionPaddingTopPhone:0,...dL(me(e,Ub),uL),...zr(e,o)}),box:[...hee,mL,...pL(uL)],parts:[pee,mee]}],reads:{mapTheme:"City maps Box: each Map block's Map theme",imageShape:"City pictures Box: each picture Box's Box shape"},site:Na,drop:{...ce,...Ie,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)"}},gL={ContactLocations:xee};var zu=Vp(11),Iee={textStyle:"body-1",...$("body",18),weight:500,lineHeight:1.2},bL=()=>({type:j,props:{...A,gap:8,gapPhone:8,...Po(20,24,20,20),name:"Office"},slots:{[ve]:[Be("badge",{...z,tag:"p",widthFit:"fill"},zu,!0),Be("role",{...z,tag:"p",widthFit:"fill"},zu,!0),Be("city",{...z,tag:"p",widthFit:"fill"},Iee),Be("country",{...te,tag:"p",widthFit:"fill"},zu),Be("address",{...te,tag:"p",widthFit:"fill"},zu),{type:"ButtonBlock",props:{variant:"link",label:"",href:"",[xo]:"linkLabel",[Jp]:"href"}}]}});var gee=["Collections","Events","FAQ","Footprint","GalleryB","LongRead","ProcessSteps","ProductGrid","RelatedProducts"];var Wa=(e,o)=>()=>({top:e,topPhone:o}),yL=e=>o=>{let t=Co(o,e).sectionPaddingTop;return{top:t,topPhone:t}},bee={Collections:Wa(120,70),Events:Wa(120,70),FAQ:Wa(120,70),GalleryB:Wa(120,70),FitmentTable:Wa(120,80),SpecTable:Wa(120,80),LongRead:Wa(120,80),RelatedProducts:Wa(0,0),Footprint:yL("Footprint"),ProcessSteps:yL("ProcessSteps"),ProductGrid:e=>({top:K(e.padTop)??120,topPhone:0})};function yee(e,o={}){let t=wo[e],a=bee[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=Jo(e),s=Bu(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:oc[e]??e,boxProps:d=>{let u=a(d);return{...oe,direction:"column",gap:Au[us(e)],sectionPaddingTop:u.top,sectionPaddingTopPhone:u.topPhone}},box:[...ie,...r?[[r,"sectionPaddingTop",(d,u)=>a(u).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 See={Footprint:{slots:{[Io]:[bL()]},pressHeading:!0}},SL=Object.fromEntries(gee.map(e=>[e,yee(e,See[e])]));import{BLOCK_WIDTH_LIMIT as wee}from"efficient-easel/draw";var bNe={text:"Button label",href:"#"},za={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 Gu={eyebrow:za.eyebrow,title:za.headingAccent,deck:"Add a sentence or two introducing this document."},wNe={label:"Document masthead",defaultProps:{eyebrow:"",title:"",deck:"",meta:[]}};var _L={minWidth:wee.min},wL=(e,o,t)=>({...ge(e,{...o,...fi}),props:{...z,align:"right",...Mr,...t}}),RL={top:1,bottom:0},Yb=(e,o,t,a)=>({kind:"group",name:e,props:{...A,sectionPaddingBottom:o,sectionPaddingBottomPhone:t},parts:[a]}),CL={widthFit:"fill",..._L},vL={top:100,bottom:60,topPhone:60,bottomPhone:40},Cee={...$("label",13),letterSpacing:.22,lineHeight:1.8},kL={textStyle:"heading-1",...Zo("headingLarge",56,8,128),case:"upper",weight:500,lineHeight:.88,letterSpacing:-.04},TL=e=>e.titleLevel===2,vee=()=>({name:"Page Header",boxProps:e=>({...oe,direction:"column",gap:0,sectionBorder:{bottom:1},...me(e,vL)}),box:[...ie,...Te(vL)],parts:[{kind:"group",name:"Header",props:{...A,direction:"row",align:"end",justify:"between",gap:40,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[Yb("Eyebrow",12,0,{...ge("eyebrow",$("label",13)),props:{...z,...Mr}}),{kind:"text",key:"title",role:"heading",props:{...z,tag:"h1",...CL},style:kL,mark:"accentItalic",when:e=>!TL(e)},{kind:"text",key:"title",role:"heading",props:{...z,tag:"h2",...CL},style:kL,mark:"accentItalic",when:TL},{kind:"group",name:"Details",props:{...A,align:"stretch",gap:0,gapPhone:0,sectionPaddingBottom:12,sectionPaddingBottomPhone:0},parts:[{kind:"list",key:"meta",name:"Detail",flat:!0,parts:[ui("label","value",Cee,Mr)]}]}]},{kind:"group",name:"Deck",props:{...A,maxWidth:760,sectionBorder:RL,sectionPaddingTop:28},parts:[{kind:"text",key:"deck",props:te,style:{textStyle:"body-1",fontRole:"accent",...$("body",22,19),italic:!0,lineHeight:1.5}}]}],drop:{...ce,...Ie,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"}}),AL=()=>({eyebrow:Gu.eyebrow,title:Gu.title.replace(/\*([^*]+)\*/g,"==$1=="),deck:Gu.deck,meta:[{label:za.label,value:za.value},{label:za.label,value:za.value}]}),PL={top:80,bottom:40,topPhone:60,bottomPhone:32},kee={...$("label",13),letterSpacing:.18,lineHeight:1.8},EL={...$("label",13),letterSpacing:.22,lineHeight:1.9},Tee=()=>({name:"Issue Header",boxProps:e=>({...oe,direction:"column",gap:0,sectionBorder:{bottom:1},...me(e,PL)}),box:[...ie,...Te(PL)],parts:[{kind:"group",name:"Top",props:{...A,direction:"row",align:"end",justify:"between",gap:60,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[Yb("Eyebrow",14,14,ge("eyebrow",$("label",14))),{kind:"group",name:"Issue",props:{...A,align:"end",gap:0,gapPhone:0,sectionPaddingBottom:14},parts:[{kind:"list",key:"issueMeta",name:"Issue line",flat:!0,parts:[ui("lead","rest",kee)]}]}]},{kind:"group",name:"Bottom",props:{...A,direction:"row",align:"start",justify:"between",gap:60,gapPhone:16,share:"content",sectionBorder:RL,sectionPaddingTop:32},parts:[{kind:"text",key:"lead",props:{...z,maxWidth:720,..._L},style:{textStyle:"body-1",fontRole:"heading3",...$("headingSmall",20),lineHeight:1.5,letterSpacing:-.005,paragraphSpacing:16}},{kind:"group",name:"In this issue",props:{...A,align:"stretch",gap:0},parts:[Yb("Heading",6,6,{kind:"text",key:"issueHeading",props:{...z,align:"right",...Mr},style:{textStyle:"body-1",fontRole:"heading",...$("body",18),weight:400,letterSpacing:-.01,lineHeight:1.9,...fi}}),{kind:"group",name:"Lines",props:{...A,align:"stretch",gap:0},parts:[{kind:"list",key:"issueList",name:"Line",flat:!0,parts:[wL("text",{color:"labels",...EL})]}]},wL("issueTotal",EL)]}]}],drop:{...ce,...Ie}}),OL={top:24,bottom:24,topPhone:16,bottomPhone:16},Vb={color:"labels",...$("label",13),letterSpacing:.2},LL=e=>(Array.isArray(e.items)?e.items:[]).filter(o=>o&&typeof o.label=="string"&&o.label.trim()!==""),Xb=(e,o)=>o!==void 0&&LL(e).at(-1)===o,FL=(e,o)=>o!==void 0&&LL(e).includes(o),Pee=(e,o)=>FL(e,o)&&!Xb(e,o)&&oo(o?.href),Eee=()=>({name:"Breadcrumb",skip:e=>oo(e.meta)?'a trailing note after "\xB7" needs a second mark; none live':void 0,boxProps:e=>({...oe,...Nr,wrap:"wrap",gap:16,gapPhone:16,separator:"slash",sectionBorder:{bottom:1},...me(e,OL)}),box:[...ie,...Te(OL)],parts:[{kind:"list",key:"items",name:"Crumb",flat:!0,parts:[{kind:"button",key:"label",href:"href",variant:"ghost",when:Pee,props:{...Ye,...ia,icon:"none"},style:Vb},{...ge("label",Vb),when:(e,o)=>FL(e,o)&&!Xb(e,o)&&!oo(o?.href)},{...ge("label",{...Vb,color:"text"}),when:Xb}]}],drop:{...ce,...Ie,meta:"a node that stores a note is skipped (`skip`); an empty one draws nothing"}}),BL={DocMasthead:vee(),Masthead:Tee(),Breadcrumb:Eee()};import{jsx as Kr,jsxs as Jb}from"react/jsx-runtime";import{slugify as Oee}from"efficient-shell/format";import{jsx as Zb,jsxs as DL}from"react/jsx-runtime";var ANe="sticky top-[120px]";var NL=(e,o)=>e?{[Jd]:o}:{},ML=(e,o)=>Qd(e?.[Wx(o)]?.role,$f[o],on),HL=120;function WL({title:e,entries:o,stickyTop:t,sticky:a=!0,editing:r=!1,partStyles:n,numberForm:s=mx,hideClass:l=""}){let c=s==="plain";return DL("aside",{className:`${a?"sticky ":""}flex flex-col self-start max-[900px]:static${l?` ${l}`:""}`,style:a?{top:t}:void 0,children:[e&&Zb("h4",{className:"mb-[18px] font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-accent",children:Xo(e)}),o.map((d,u)=>{let m=Zb("span",{...NL(r,"number"),style:ML(n,"number"),className:"text-accent",children:Ld(s,u)});return DL("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${u===0?" border-t":""}`,children:[c&&m,Zb("span",{...NL(r,"entry"),style:ML(n,"entry"),children:Xo(d.label||"Section")}),!c&&m]},`${u}-${d.anchor}`)})]})}function _ee(e,o){return Oee(e)||`section-${o+1}`}var Qb=e=>typeof e=="string"&&e.trim()!=="";function ey(e){return(e??[]).filter(o=>Qb(o.heading)||Qb(o.label)||Qb(o.body))}function oy(e){let o=new Set;return e.map((t,a)=>{let r=_ee(t.label||t.heading||"",a),n=r,s=2;for(;o.has(n);)n=`${r}-${s++}`;return o.add(n),n})}function ty(e){let o=[];for(let t of e.replace(/\r\n?/g,`
|
|
66
|
+
`).split(/\n[ \t]*\n/))t.split(`
|
|
67
|
+
`).map(a=>a.replace(/\s+$/,"")).filter(a=>a.trim()!=="").forEach((a,r)=>{let n=Os(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+=`
|
|
68
|
+
${a}`:o.push({type:"p",text:a})});return o}var Ree=()=>[{label:i("First section"),heading:i("Your *first* section."),body:i(`Write the opening paragraph here.
|
|
69
|
+
|
|
70
|
+
- Start a line with a dash for a bullet.
|
|
71
|
+
- 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.")}],Aee=HL;function YNe({tocTitle:e,sections:o,editing:t=!1,stickyTop:a=Aee}){let r=ey(o);if(r.length===0&&!t)return null;let n=r.length===0&&t?Ree():r,s=oy(n);return Kr("section",{className:"relative z-[2] bg-bg",children:Jb("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:[Kr(WL,{title:e,entries:n.map((l,c)=>({label:l.label||"Section",anchor:s[c]})),stickyTop:a}),Kr("div",{className:"flex flex-col gap-16",children:n.map((l,c)=>Jb("article",{id:s[c],className:"flex flex-col gap-[18px]",style:{scrollMarginTop:a},children:[Jb("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-accent",children:[px(c)," \xB7 ",Xo(l.label||"Section")]}),l.heading&&Kr("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:Xo(l.heading)}),ty(l.body??"").map((d,u)=>d.type==="ul"?Kr("ul",{className:"flex max-w-[680px] list-none flex-col gap-2.5 pl-0",children:d.items.map((m,f)=>Kr("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:Xo(m)},f))},u):Kr("p",{className:"max-w-[680px] font-serif text-[length:var(--size-body,17px)] leading-[1.7] text-fg-dim",children:Xo(d.text)},u))]},s[c]))})]})})}import{VIEW_DESKTOP_MIN as ay,VIEW_TABLET_MIN as Lee}from"efficient-easel/draw";var $u=rc["view-wide"],zL=960,Fee=Lee,GL={min:$u,max:1600,step:10},$L="stackBelow";function QNe(e){if(!(typeof e!="number"||!Number.isFinite(e))&&!(e<GL.min||e>GL.max))return Math.round(e)}var Bee=e=>`sf-stack-${e}`,Dee=e=>`sf-stack-${e}-gutter`,Nee=e=>`sf-stack-${e}-outer`,xs=e=>`${e-.02}px`;function e2e(e){let o=`.${Bee(e)}`,t=`.${Dee(e)}`,a=`.${Nee(e)}`,r=[];if(e>$u){let n=`${o}>.sf-block-size,${o}>[data-easel-block]>[data-sf-part-host]>.sf-block-size`,s=Math.min(e,ay);r.push(`@media (min-width:${$u}px) and (max-width:${xs(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:${$u}px) and (max-width:${xs(s)}){.sf-gap-zone${o}{gap:var(--sf-gap-len-tablet,var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2)))}}`),e>ay&&r.push(`@media (min-width:${ay}px) and (max-width:${xs(e)}){.sf-gap-zone${o}{gap:var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2))}}`)}return r.push(`@media (max-width:${xs(e)}){${t}${t}{padding-inline:min(24px,var(--sf-site-gutter,40px))}}`),e<zL&&r.push(`@media (min-width:${e}px) and (max-width:${xs(zL)}){${t}${t}{padding-inline:var(--sf-site-gutter,40px)}}`),r.push(`@media (min-width:${Fee}px) and (max-width:${xs(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 UL={top:80,bottom:80,topPhone:60,bottomPhone:60},jL=18,KL=18,qL=8,Mee=10,ry=e=>typeof e=="string"&&e.trim()!=="",VL=e=>ey(e.sections),Hee=e=>ty(typeof e.body=="string"?e.body:"").map(o=>o.type==="ul"?{kind:"ul",text:o.items.map(t=>`- ${t}`).join(`
|
|
72
|
+
`)}:{kind:"p",text:o.text}),ny={...it(12),letterSpacing:.3,color:"accent",lineHeight:1.5},YL={textStyle:"body-1",fontRole:"accent",...$("body",17)},Wee=[ge("label",ny),{...ge("title",ny),when:(e,o)=>!ry(o?.label)},{kind:"block",type:"Text",when:(e,o)=>!ry(o?.label)&&!ry(o?.title),props:{...z,text:"Section",_partStyles:{text:ny}}},{kind:"group",name:"Heading",props:{...A,sectionPaddingBottom:qL,sectionPaddingBottomPhone:qL},parts:[{kind:"group",name:"Heading line",props:{...A,sectionBorder:{bottom:1},sectionPaddingBottom:KL,sectionPaddingBottomPhone:KL},parts:[{kind:"text",key:"heading",role:"heading",props:z,style:{textStyle:"heading-2",...Zo("headingMedium",28,3.5,44),case:"upper",weight:500,lineHeight:1.04,letterSpacing:-.025}}]}]},{kind:"list",key:"body",name:"Body",flat:!0,of:Hee,parts:[{kind:"text",key:"text",props:te,style:{...YL,lineHeight:1.7},when:(e,o)=>o?.kind==="p"},{kind:"text",key:"text",props:te,style:{...YL,lineHeight:1.65,paragraphSpacing:Mee},when:(e,o)=>o?.kind==="ul"}]}],zee=900,Gee={name:"Document Text",boxProps:e=>({...oe,direction:"row",gap:80,gapPhone:40,[$L]:zee,sectionBorder:{bottom:1},...me(e,UL)}),box:["anchor","sectionAccent","_hidden",...Object.values(ro),...Te(UL)],parts:[{kind:"block",type:"Contents",props:e=>({title:e.tocTitle??"",sticky:!0,widthFit:"fixed",width:240,widthFitPhone:"fill"})},{kind:"group",name:"Sections",props:{...A,gap:64,gapPhone:64,widthFit:"fill"},parts:[{kind:"list",key:"sections",name:"Section",of:e=>VL(e),props:{...A,gap:jL,gapPhone:jL},item:(e,o,t)=>({props:{anchor:oy(VL(t))[o]??`section-${o+1}`}}),parts:Wee}]}],reads:{tocTitle:"the Contents block's Heading"},drop:{...ce,stickyTop:"the Contents block draws DocBody's default (120px); 0 live nodes store it"}},XL={DocBody:Gee};var d2e="[--intro-edge:60px] max-[960px]:[--intro-edge:24px]",$ee="overlay",Uee=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function ZL(e){return ao(Uee,$ee,e)}var f2e={desktop:40,mobile:45,min:20,max:80,step:5};function u2e(e,o){return`${typeof e=="number"?e:o}%`}var JL=(e,o)=>{let t=K(e),a=K(o);return{...t===void 0?{}:{size:t},...a===void 0?{}:{sizePhone:a}}},jee=e=>ZL(e.layout)==="stacked",QL=e=>Math.min(Math.max(K(e.overlay)??60,0),100),Uu=e=>K(e)??100,Kee={textStyle:"heading-1",sizeToken:{...Zo("headingLarge",48,7,96).sizeToken,pxPhone:36},weight:500,lineHeight:.95,letterSpacing:-.03},qee=[ge("eyebrow",$("label",14)),...[!0,!1].map(e=>({kind:"text",key:"title",role:"heading",props:z,style:{...Kee,case:e?"upper":"none"},styleFrom:o=>JL(o.titleSizeDesktop,o.titleSizeMobile),when:o=>o.uppercase===!0===e})),{kind:"text",key:"body",props:{...te,maxWidth:560},style:{textStyle:"body-1",...$("body",17,16),lineHeight:1.6,paragraphSpacing:24},styleFrom:e=>JL(e.bodySizeDesktop,e.bodySizeMobile)},{kind:"group",name:"Button",props:{...A,align:"start",sectionPaddingTop:8,sectionPaddingTopPhone:8},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:Ye}]}],eF=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)`,Vee=()=>({name:"Scroll-Over Text",skip:e=>jee(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=>({...oe,direction:"column",justify:"center",align:"start",gap:24,gapPhone:24,share:"content",...xi,placement:"left",darken:QL(e),darkenStyle:"even",sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:Uu(e.heightDesktop),sectionHeightModePhone:"fixed",sectionHeightUnitPhone:"%",sectionHeightValuePhone:Uu(e.heightMobile)}),box:[...ie.filter(e=>!String(typeof e=="string"?e:e[0]).startsWith("sectionHeight")),["imageSrc","bgImage"],["imageSrcMobile","bgImagePhone"],["overlay","darken",(e,o)=>QL(o)],["heightDesktop","sectionHeightValue",e=>Uu(e)],["heightMobile","sectionHeightValuePhone",e=>Uu(e)]],parts:qee,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:eF("Button color"),buttonTextColor:eF("Button text color"),...ce}}),aF={textStyle:"heading-2",...$("headingMedium",56,36),weight:400,lineHeight:1.05,letterSpacing:-.03},Yee={textStyle:"body-1",...$("body",16),lineHeight:1.7},rF=e=>({kind:"text",key:"body",props:{...te,maxWidth:520},style:{...Yee,paragraphSpacing:e}}),Ku={top:0,bottom:0,topPhone:0,bottomPhone:0},sy=(e,o)=>typeof e.sectionHeightMode=="string"&&e.sectionHeightMode!=="auto"?{}:{sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:o,sectionHeightModePhone:"auto"},Xee=(e,o)=>{let t=sy(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"}},nF={boxShapePhone:"landscape"},sF="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)",Zee=(e,o)=>({[e]:o,[`${e}Phone`]:o}),Jee={textStyle:"heading-2",...$("headingMedium",40),weight:500,case:"none",lineHeight:1,letterSpacing:-.02},oF=e=>(Array.isArray(e.stats)?e.stats:[]).filter(o=>o&&(String(o.value??"").trim()!==""||String(o.label??"").trim()!=="")),Qee=()=>({name:"Brand Text",boxProps:(e,o)=>({...oe,...Lo("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...me(e,Ku),...sy(e,100)}),box:[...ie,...Te(Ku)],parts:[{kind:"group",name:"Words",props:(e,o)=>({...A,justify:"center",gap:28,gapPhone:28,sectionBorder:Ii({right:1}),sectionBorderPhone:Ii({}),...xi,sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60,sectionPaddingRight:fs(o)}),parts:[ge("eyebrow",$("label",14)),{kind:"text",key:"heading",role:"heading",props:z,style:{...aF,case:"none"},mark:"accentItalic"},rF(28),{kind:"group",name:"Stats",props:{...A,sectionPaddingTop:16,sectionPaddingTopPhone:16},parts:[{kind:"group",name:"Figures",props:e=>({...A,direction:"row",share:"equal",gap:24,gapPhone:24,maxWidth:520,phoneRow:Math.min(Math.max(oF(e).length,1),3),...Zee("sectionBorder",Ii({top:1})),sectionPaddingTop:28,sectionPaddingTopPhone:28}),parts:[{kind:"list",key:"stats",name:"Stat",of:oF,props:{...A,gap:4,gapPhone:4},parts:[{kind:"text",key:"value",props:Hr,style:Jee},ge("label",{...$("label",13),color:"labels",letterSpacing:.2})]}]}]}]},ib("Picture","imageSrc",nF)],drop:{...ce,grayscale:sF,...Ie}}),ju=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}},eoe=e=>e.textAlign==="center"?"center":e.textAlign==="right"?"end":"stretch",ooe=e=>Math.min(Math.max(K(e.overlay)??60,0),100),lF=e=>typeof e=="string"&&e.trim()!=="",toe={...Ye,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},tF=e=>({...ib("Picture","imageSrc",(o,t)=>({...lF(o.imageSrc)?{darken:40,darkenStyle:"even"}:{},placement:"center",...nF,sectionBorder:Ii(e?{left:1}:{right:1}),...iF(e?"left":"right",fs(t))}),[{kind:"button",key:"imageBtnText",href:"imageBtnHref",variant:"ghost",props:toe,style:{...it(13,12),letterSpacing:.18}}]),when:o=>o.reverse===!0===e}),iF=(e,o)=>{let t=Math.max(60-o,0);return{sectionPaddingLeft:e==="left"?60:t,sectionPaddingRight:e==="right"?60:t}},aoe={kind:"group",name:"Words",props:(e,o)=>{let t=e.reverse===!0;return{...A,justify:"center",align:eoe(e),placement:e.textAlign==="center"?"center":e.textAlign==="right"?"right":"left",...Xee(e,72),gap:24,gapPhone:24,...lF(e.textBgSrc)?{darken:ooe(e),darkenStyle:"even"}:{},...xi,sectionPaddingTop:100,sectionPaddingBottom:100,...iF(t?"right":"left",fs(o)),sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60}},box:[["textBgSrc","bgImage"]],parts:[{...ge("eyebrow",$("label",14)),styleFrom:ju},{kind:"text",key:"title",role:"heading",props:z,style:aF,styleFrom:e=>({case:e.uppercase===!0?"upper":"none",...ju(e)})},{...rF(24),styleFrom:ju},{kind:"group",name:"Button",props:{...A,sectionPaddingTop:8,sectionPaddingTopPhone:8},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:e=>{let o=ju(e);return{...Ye,...o.align?{align:o.align}:{},...o.alignPhone?{alignPhone:o.alignPhone}:{}}}}]}]},roe=()=>({name:"Image & Text Split",boxProps:(e,o)=>({...oe,...Lo("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...me(e,Ku),...sy(e,72)}),box:[...ie,...Te(Ku)],parts:[tF(!1),aoe,tF(!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:sF,...ce,...Ie}}),cF={IntroBleed:Vee(),Manifesto:Qee(),Split:roe()};var uF={headPlacement:void 0},dF={top:0,bottom:0,topPhone:0,bottomPhone:0},noe=()=>({name:"Form",boxProps:e=>({...oe,direction:"column",...me(e,dF)}),box:[...ie,...Te(dF)],parts:[{kind:"core",keep:"rest",props:uF}],drop:{...ce,...Ie}}),fF={top:120,bottom:120,topPhone:60,bottomPhone:60},soe=()=>({name:"Photo Submission Form",boxProps:e=>({...oe,direction:"column",gap:24,...me(e,fF)}),box:[...ie,...Te(fF)],parts:[ge("eyebrow"),{kind:"text",key:"title",role:"heading",props:z,style:{textStyle:"heading-2"},mark:"accentItalic"},{kind:"text",key:"body",role:"body",props:te},{kind:"core",as:"Form",keep:["formSlug"],rename:{buttonText:"submitText",consent:"finePrint"},props:uF}],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:{...ce,...Ie,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'}}),pF={Form:noe(),SubmitBuild:soe()};var mF={top:80,bottom:80,topPhone:60,bottomPhone:60},loe=()=>{let e=Bu("FitmentFinder");return{name:"Fitment Form",boxProps:o=>({...oe,direction:"column",gap:Au[us("FitmentFinder")],...me(o,mF)}),box:[...ie,...Te(mF)],parts:[Jo("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:{...ce,...Ie,layout:'the section shape; "bar" is skipped (above), so here it is the stacked shape this Box draws'}}},hF={FitmentFinder:loe()};var xF={top:72,bottom:72,topPhone:72,bottomPhone:72},ioe={name:"Editorial Text",boxProps:e=>({...oe,direction:"column",gap:28,gapPhone:28,sectionBorder:{top:1},...me(e,xF)}),box:[["topBorder","sectionBorder",e=>e===!1?void 0:{top:1}],...ie,...Te(xF)],parts:[Jo("Prose"),{kind:"text",key:"body",props:te,style:{textStyle:"body-1",...$("body",16),lineHeight:1.7,paragraphSpacing:18}}],drop:{...ce,...Ie,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)"}},IF={buttonPaddingTop:20,buttonPaddingBottom:20,buttonPaddingLeft:28,buttonPaddingRight:28},gF=(e,o)=>o?.variant==="primary",bF=(e,o)=>({kind:"list",key:"buttons",name:"Button",flat:!0,when:e,parts:[{kind:"button",key:"label",href:"href",when:gF,variant:"primary",style:{letterSpacing:.3},props:{...Ye,...IF,...o}},{kind:"button",key:"label",href:"href",when:(t,a)=>!gF(t,a),variant:"ghost",style:{letterSpacing:.3},props:(t,a)=>({...Ye,...IF,...o,...hi(t,a)})}]}),qu=e=>oo(e.title),coe={name:"Call-to-Action Heading",boxProps:e=>({...oe,direction:"row",align:"center",justify:qu(e)?"between":"end",gap:60,gapPhone:60,share:"content",sectionBorder:{bottom:1},...Co(e,"TitleWithButtons")}),box:[...ie,...Ba("TitleWithButtons")],parts:[{kind:"group",name:"Title",props:{...A,maxWidth:1e3,widthFitPhone:"fill"},parts:[{kind:"text",key:"title",role:"heading",props:z,style:{textStyle:"heading-1",...Zo("headingLarge",48,7,108),case:"upper",lineHeight:.94,letterSpacing:-.035}}]},{kind:"group",name:"Buttons",props:e=>({...A,gap:14,gapPhone:14,widthFitPhone:"fill",...qu(e)?{minWidth:280,minWidthPhone:0}:{}}),parts:[bF(qu,{widthFit:"fill",iconPosition:"end"}),bF(e=>!qu(e),{})]}],drop:{...ce,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 doe(e){let{siteGutter:o,siteGutterPhone:t}=e.site??{},a=fs(e),r=Math.min(20,rd(t)??nd(o));return{sectionPaddingLeft:a,sectionPaddingRight:a,sectionPaddingLeftPhone:r,sectionPaddingRightPhone:r}}var yF={top:40,bottom:64,topPhone:24,bottomPhone:36},foe={name:"Section Header",boxProps:(e,o)=>({...oe,direction:"column",gap:0,...me(e,yF),...doe(o)}),box:[...ie,...Te(yF)],parts:[Jo("SectionHeader")],drop:{...ce,...Ie,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"}},SF={...A,direction:"row",share:[67],gap:30},wF={...A,sectionPaddingLeft:30,sectionPaddingLeftPhone:0},CF=(e,o,t)=>({kind:"group",name:e,props:o,parts:[t]}),uoe={name:"Lead Text",boxProps:e=>({...oe,direction:"column",gap:40,gapPhone:40,sectionBorder:{bottom:1},...Co(e,"ParagraphsA")}),box:[...ie,...Ba("ParagraphsA")],parts:[{kind:"group",name:"Numbers",props:{...SF,gapPhone:24,sectionBorder:{bottom:1},sectionPaddingBottom:40,sectionPaddingBottomPhone:40},parts:[{kind:"group",name:"Eyebrow",props:{...A,sectionPaddingTop:5,sectionPaddingBottom:1,sectionPaddingTopPhone:5,sectionPaddingBottomPhone:1},parts:[ge("eyebrow",{color:"labels",...$("label",12),letterSpacing:.24})]},CF("Stats column",A,{kind:"group",name:"Stats",props:{...wF,gap:0,gapPhone:0},parts:[{kind:"list",key:"stats",name:"Stat",flat:!0,parts:[ui("value","label",{...$("label",13),letterSpacing:.18,lineHeight:1.8})]}]})]},{kind:"group",name:"Words",props:{...SF,gapPhone:28},parts:[{kind:"group",name:"Lead",props:A,parts:[{kind:"group",name:"Measure",props:{...A,maxWidth:780},parts:[{kind:"text",key:"lead",props:z,style:{textStyle:"heading-3",...$("headingSmall",22,20),weight:400,case:"none",lineHeight:1.45,letterSpacing:-.005}}]}]},CF("Note column",{...A,justify:"end",widthFit:"fill"},{kind:"group",name:"Founders",props:{...wF,gap:8,gapPhone:8},parts:[{kind:"group",name:"Note",props:{...A,gap:6,gapPhone:6},parts:[{kind:"text",key:"foundersHeading",props:z,style:{textStyle:"body-1",fontRole:"heading",...$("body",18,16),weight:500,letterSpacing:-.01,lineHeight:1.7}},{kind:"text",key:"foundersBody",props:te,style:{textStyle:"body-5",fontRole:"heading",...$("body",14,12),lineHeight:1.7}}]},ge("attribution",{...$("label",12,10),letterSpacing:.24,lineHeight:1.7})]})]}],drop:{...ce}},vF={top:24,bottom:24,topPhone:24,bottomPhone:24},poe={name:"Banner",boxProps:e=>({...oe,direction:"column",gap:0,...me(e,vF)}),box:[...ie,"contained",...Te(vF)],parts:[{kind:"group",name:"Card",keepEmpty:!0,props:{...A,gap:28,placement:"top-left",darken:60,darkenStyle:"even",sectionBorder:{width:1},...Po(64,40,40,24)},box:[["imageSrc","bgImage"],["overlay","darken",e=>Math.min(Math.max(K(e)??60,0),100)]],parts:[{kind:"group",name:"Words",props:{...A,gap:20},parts:[ge("eyebrow"),{kind:"text",key:"title",role:"heading",props:{...z,maxWidth:680},style:{weight:500,lineHeight:1.05,letterSpacing:-.03,case:"none"}},{kind:"text",key:"body",props:{...te,maxWidth:680},style:{textStyle:"body-1",lineHeight:1.6},was:{size:16}}]},{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:Ye}]}],drop:{...ce,...Ie}},ly={Prose:ioe,TitleWithButtons:coe,SectionHeader:foe,ParagraphsA:uoe,Banner:poe};function $2e(){Ao(ly),Ao(DA),Ao(UA),Ao(TA),Ao(ZA),Ao(aL),Ao(gL),Ao(SL),Ao(BL),Ao(XL),Ao(cF),Ao(pF),Ao(hF)}import{isNodeList as Ri}from"efficient-easel/data";var eMe=Object.keys(ly),moe={Logos:jA,DocMasthead:AL};function Vu(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]=Ri(n)?n.map(s=>Vu(s,o,t)):n;return a.id=t(e.type),{type:e.type,props:a}}function iy(e,o,t=0,a=()=>({})){return(r,n)=>{let{nodes:s}=xu({type:e,props:{...r(e),...a(),id:n(e)}},o,{press:!0});return Vu(s[t],r,n)}}var hoe={Stats:xoe};function xoe(){let e=si("StatsParagraph");return e?(o,t)=>{let{nodes:a}=xu({type:"StatsParagraph",props:{...o("StatsParagraph"),...NA(),id:t("StatsParagraph")}},e),r=a[0],n=Ri(r.props.content)?r.props.content.filter(d=>d.props?.cardStyle===void 0):[],s=TF(Lb(MA(),"table")),l=n.map(kF),c=Vu({...r,props:{...r.props,content:[...l,s]}},o,t);return{...c,props:{...c.props,name:"Stats section"}}}:null}function kF(e){if(e.props?.name==="Words"){let o=Ri(e.props.content)?e.props.content.map(Ioe):e.props.content;return{...e,props:{...e.props,widthFitPhone:"fill",content:o}}}return Ri(e.props?.content)?{...e,props:{...e.props,content:e.props.content.map(kF)}}:e}function Ioe(e){return e.type!=="Text"?e:{...e,props:aa({...e.props,alignTablet:"left"},"text","alignTablet","left")}}var TF=e=>ct([e],(o,t)=>`${o}-seed-${t}`)[0];function goe(e,o){if(!rR(e,o))return null;let t=hoe[e];if(t)return t();let a=si(e);return a?iy(e,a,0,moe[e]):null}function boe(e){return(o,t)=>{let a=r=>{if(r.type==="Stats"){let l=Vu(TF(Lb([],"list")),o,t);return{...l,props:{...l.props,name:"Numbers"}}}let n=!1,s={};for(let[l,c]of Object.entries(r.props))if(Ri(c)){let d=c.map(a);n||=d.some((u,m)=>u!==c[m]),s[l]=d}else s[l]=c;return n?{type:r.type,props:s}:r};return a(e(o,t))}}function Is(e,o=ni){let t=IR(e);return t?boe(t):goe(e,o)}function Ai(e,o){let t=e.components[o]?.label;return typeof t=="string"&&t.trim()?t.trim():o}function Soe(e){return e.length>3&&e.endsWith("s")?e.slice(0,-1):e}function dy(e,o,t,a){e.forEach((r,n)=>{if(cy(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(cy)&&dy(l,r,s,a)}})}function woe(e){let o=[];dy(Array.isArray(e.content)?e.content:[],null,"",o);for(let t of Object.values(e.zones??{}))Array.isArray(t)&&dy(t,null,"",o);return o}function OF(e,o){return woe(e).find(t=>String(t.node.props.id)===o)}function _F(e,o,t){if(!t)return null;let a=OF(o,t);if(!a)return null;let r=Ai(e,a.node.type),n=a.parent?`${Ai(e,a.parent.type)} \xB7 ${Soe(a.slot)} ${a.index+1}`:r;return{blockId:t,type:a.node.type,label:n,path:""}}var Coe=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 voe(e){if(!e||typeof e!="object")return null;let o=e;if(typeof o.type!="string")return null;let t=o.type==="custom"?o[yoe]: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=Coe(n));for(let s of["arrayFields","objectFields"]){let l=t?.[s]??o[s];l&&typeof l=="object"&&(a[s]=RF(l))}return a}function RF(e){let o={};for(let[t,a]of Object.entries(e??{})){let r=voe(a);r&&(o[t]=r)}return o}function AF(e){let o={};for(let[t,a]of Object.entries(e.components))a&&(o[t]={label:Ai(e,t),fields:RF(a.fields),...LF(t)?{retired:!0}:{}});return o}function LF(e){return Object.prototype.hasOwnProperty.call(Op,e)}function PF(e,o){let t=e.components[o]?.defaultProps;return t&&typeof t=="object"?structuredClone(t):{}}function koe(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 fy(e,o){return e.findIndex(t=>cy(t)&&String(t.props.id)===o)}function EF(e,o,t){let a=o||t;if(!a)return e.length;let r=fy(e,a);if(r<0)throw new Error(`there is no top-level block ${a}`);return o?r+1:r}function FF(e,o,t,a){let r=structuredClone(o),n=Array.isArray(r.content)?r.content:r.content=[];try{t.forEach((s,l)=>{let c=d=>{throw new Error(`change ${l+1}: ${d}`)};switch(s.op){case"set_props":{let d=OF(r,s.block_id)??c(`there is no block ${s.block_id}`);"id"in s.props&&c("a block's id is never changed");let u=koe(d.node.props,s.path)??c(`there is no ${s.path} in that block`);Object.assign(u,structuredClone(s.props));break}case"insert_block":{e.components[s.type]??c(`there is no block type ${s.type}`),LF(s.type)&&c(`${Ai(e,s.type)} is retired: it is no longer added (a page that holds one keeps it)`);let d=Is(s.type),u=Object.keys(s.props??{}).filter(f=>f!=="id");d&&u.length&&c(`${Ai(e,s.type)} is laid down as a Box of blocks: insert it with no props, then change its blocks`);let m=d?d(f=>PF(e,f),a):{type:s.type,props:{...PF(e,s.type),...structuredClone(s.props),id:a(s.type)}};n.splice(EF(n,s.after,s.before),0,m);break}case"remove_block":{let d=fy(n,s.block_id);d<0&&c(`there is no top-level block ${s.block_id}`),n.splice(d,1);break}case"move_block":{let d=fy(n,s.block_id);d<0&&c(`there is no top-level block ${s.block_id}`);let[u]=n.splice(d,1);n.splice(EF(n,s.after,s.before),0,u);break}default:c(`"${s.op}" is not a change this editor makes`)}})}catch(s){return{ok:!1,reason:s instanceof Error?s.message:String(s)}}return{ok:!0,document:r}}var uy=e=>J(e.requestId)??null;function NF(){let e=Eoe(),{appState:o,selectedItem:t,dispatch:a,history:r,config:n}=Poe(f=>f),s=n,l=DF({appState:o,dispatch:a,history:r,blockConfig:s});l.current={appState:o,dispatch:a,history:r,blockConfig:s};let c=DF(new Map),d=t?.props?.id,u=Toe(()=>_F(s,o.data,d),[s,o.data,d]),m=u?JSON.stringify(u):"";BF(()=>{e.connected&&e.send("storefront-editor:selection",{selection:u})},[e,m]),BF(()=>e.subscribe(f=>{let{appState:x,dispatch:I,history:y,blockConfig:v}=l.current;switch(f.type){case"storefront-editor:request-document":{let C=uy(f);if(!C)return;e.send("storefront-editor:document",{requestId:C,document:x.data,blocks:AF(v)});return}case"storefront-editor:apply-page-edits":{let C=uy(f);if(!C)return;let S=Array.isArray(f.ops)?f.ops:[],g=S.length?FF(v,x.data,S,k=>`${k}-${crypto.randomUUID()}`):{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=uy(f);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 f.shown=="boolean"&&I({type:"setUi",ui:{rightSideBarVisible:f.shown}});return;default:return}}),[e])}import{useEffect as WF,useState as zF}from"react";var Yu=new Map;async function Ooe(e,o){try{return(await $e().site.get({siteId:o})).slug?.trim()||null}catch(t){return console.warn("[editor-site-slug] could not resolve the site slug",t),null}}function MF(e,o){let t=Yu.get(o);return t||(t=Ooe(e,o),Yu.set(o,t),t.catch(()=>{Yu.get(o)===t&&Yu.delete(o)})),t}var _oe=/^(localhost|(?:[a-z0-9-]+\.)+localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|::1)$/i;function py(e){return!!e&&_oe.test(e)}function HF(e){let{pageSlug:o,siteSlug:t,hostname:a}=e,r=o===wc?"/":`/${encodeURIComponent(o)}`;if(!py(a))return r;let n=t?.trim();return n?`${r}?site=${encodeURIComponent(n)}`:r}function GF(e){let{pageSlug:o,siteId:t,token:a}=e,[r,n]=zF(null),[s,l]=zF(null),c=nn();WF(()=>l(c?new URL(c).hostname:window.location.hostname),[c]),WF(()=>{if(!py(s)||!t||!a){n(null);return}let u=!1;return MF(a,t).then(m=>{u||n(m)}),()=>{u=!0}},[s,t,a]);let d=HF({pageSlug:o,siteSlug:r,hostname:s});return c?`${c}${d}`:d}import{jsx as Li}from"react/jsx-runtime";import{useEffect as Roe,useRef as $F,useState as Aoe}from"react";import{ExternalIcon as UF}from"efficient-easel/icons";import{EaselIconButton as Loe}from"efficient-easel/chrome";import{Tooltip as Foe,iconButtonClasses as Boe}from"efficient-shell/ui";import{useSettledPress as Doe}from"efficient-easel/easel";import{useScreenDocument as Noe}from"efficient-easel/screen/components/ScreenDocumentContext";async function Moe({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 jF({liveHref:e,pageId:o,draftLink:t}){let{flushSave:a}=Noe(),r=$F(a);r.current=a;let n=Doe(),[s,l]=Aoe(!1),c=$F(null);if(Roe(()=>()=>c.current?.(),[]),t&&o){let d=()=>new Promise((m,f)=>{c.current=()=>m(!1),n.run(()=>{c.current=null,r.current().then(m,f)})}),u=()=>{s||n.waiting||(l(!0),Moe({pageId:o,liveHref:e,draftLink:t,ready:d}).finally(()=>l(!1)))};return Li(Loe,{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:u,children:Li(UF,{})})}return Li(Foe,{content:i("Preview the live site (opens in a new tab)"),side:"bottom",children:Li("a",{className:Boe({className:"es-iconbtn"}),href:e,target:"_blank",rel:"noopener noreferrer","aria-label":i("Preview the live site in a new tab"),children:Li(UF,{})})})}import{createElement as $oe,useCallback as Uoe,useEffect as iB,useRef as cB,useState as joe}from"react";import{ClockIcon as Koe}from"efficient-shell/icons/efficient";import{useScreenDocument as qoe}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSyncExternalStore as Hoe}from"react";import{useScreenDocument as Woe}from"efficient-easel/screen/components/ScreenDocumentContext";var zoe=()=>()=>{},KF=()=>null;function Xu(e){return Hoe(e?e.subscribe:zoe,e?e.state:KF,e?e.state:KF)}function Zu(){let{adapter:e}=Woe();return e?.pinnedChrome}import{useSyncExternalStore as YF}from"react";var Fi=!1,gs=null,my=new Set;function Di(){for(let e of my)e()}function XF(e){return my.add(e),()=>{my.delete(e)}}function ZF(){Fi||(Fi=!0,Di())}function JF(){Fi&&(Fi=!1,Di())}function qF(){return Fi}function QF(){return YF(XF,qF,qF)}function VF(){return gs}function Ju(){gs&&(gs=null,Di())}function eB(){return YF(XF,VF,VF)}var Bi=class extends Error{constructor(){super("The editor's last changes could not be saved, so nothing was restored."),this.name="HeldEditsNotSaved"}};async function oB(e,o,t,{flushSave:a,reload:r}){if(!await a())throw new Bi;let n=await e.restore(o,t);return Dc(n.liveState),r(),n}async function tB({access:e,version:o,page:t,...a}){let r=await oB(e,o.id,t?{page:t.id}:{},a);gs={title:Goe(o,t??null),undo:r.undo},Di()}async function aB({access:e,...o}){let t=gs?.undo;t&&(await oB(e,t,{},o),gs=null,Di())}function rB(e){return e.name?e.name:e.kind==="draft_before_restore"?i("Draft before restore"):i("Version {n}",{n:e.number})}function Goe(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 nB(e){let o=e.changes.filter(a=>a.kind==="page").length,t=[...o?[yo("{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(vp(),{type:"conjunction"}).format(t)}catch{return t.join(", ")}}function sB(e){return e.change==="take_down"?i("{name} (taken down)",{name:e.name}):e.name}function lB(e,o=new Date){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let a=vp(),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 dB(e){let{docId:o,capabilities:t,hasUnsavedEdits:a,onPublish:r,adapter:n}=qoe(),s=__(O_(o??null),a),l=Xu(Zu()),c=n.siteLiveState;iB(()=>{if(c)return ih(c),qt(0),()=>ih(null)},[c]);let d=Nc(),[u,m]=joe(!1),f=cB(e);f.current=e;let x=cB(!0);iB(()=>(x.current=!0,()=>{x.current=!1}),[]);let I=Uoe(()=>{m(!0),r(f.current).then(()=>{Ju()}).finally(()=>{x.current&&m(!1)})},[r]);if(t.canPublish){if(c){let y=d===void 0?void 0:a||d.state==="changed"?"changed":"live",v=Tg({live:y,onPress:I,busy:u,goingLive:R_(d?.changes??[])});return n.siteVersions?{...v,menuItems:Voe()}:v}return Tg({live:s,onPress:I,busy:u,pinnedUnpublished:l?.unpublished??!1})}}function Voe(){return[{key:"version-history",label:i("Version history"),icon:$oe(Koe),onSelect:ZF}]}import{jsx as X,jsxs as zo,Fragment as Hi}from"react/jsx-runtime";import{useCallback as Yoe,useEffect as Xoe,useId as pB,useRef as Zoe,useState as ot}from"react";import{useSettledAction as Joe}from"efficient-easel/easel";import{Avatar as Qoe,Banner as Ni,Button as qr,ColoredBadge as hy,Dialog as mB,Drawer as ete,DropdownMenu as ote,FormField as hB,iconButtonClasses as tte,Inline as xy,Input as ate,ListRow as rte,Select as nte,SortableList as ste,Stack as Mi}from"efficient-shell/ui";import{EditIcon as lte,EyeIcon as fB,MenuIcon as ite,MoreIcon as cte,PageIcon as xB,RevertIcon as uB,StylesIcon as dte}from"efficient-shell/icons/efficient";import{useScreenDocument as IB}from"efficient-easel/screen/components/ScreenDocumentContext";var fte={page:xB,menu:ite};function ute(e,o){return e.pages.find(t=>t.id===o)??e.pages[0]??null}function pte(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 mte({version:e,page:o,waiting:t,busy:a,error:r,onCancel:n,onConfirm:s,onPage:l}){let c=pB();if(!e)return null;let d=e.kind==="draft_before_restore",u=e.number,m=nB(e),f=d?i("Put your drafts back?"):o?i("Restore {page} from version {n}?",{page:o.name,n:u}):i("Restore version {n}?",{n:u}),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:u}):m?i("The whole website goes back to version {n} as a draft: {what}.",{n:u,what:m}):i("The whole website goes back to version {n} as a draft.",{n:u}),I=e.deletedPictures??0;return X(mB,{open:!0,onClose:()=>{a||n()},size:"sm",title:f,footer:zo(Hi,{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:zo(Mi,{gap:4,children:[o&&e.pages.length>1?X(hB,{label:i("Page"),htmlFor:c,children:X(nte,{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(Ni,{tone:"warning",children:yo("{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(Ni,{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(Ni,{tone:"danger",children:r}):null]})})}function hte({version:e,onCancel:o,onSave:t}){let a=pB(),[r,n]=ot(null),[s,l]=ot(""),[c,d]=ot(!1),[u,m]=ot(null);if(e!==r&&(n(e),l(e?.name??""),m(null)),!e)return null;let f=s.trim()===e.name,x=async()=>{if(!(c||f)){d(!0),m(null);try{await t(s.trim())}catch{m(i("The name was not saved. Try again."))}finally{d(!1)}}};return X(mB,{open:!0,onClose:()=>{c||o()},size:"sm",title:i("Name this version"),footer:zo(Hi,{children:[X(qr,{variant:"secondary",onClick:o,disabled:c,children:i("Cancel")}),X(qr,{onClick:()=>{x()},loading:c,disabled:c||f,children:i("Save")})]}),children:X(hB,{label:i("Name"),htmlFor:a,hint:i("Named versions are always kept. Leave it empty to take the name away."),error:u??void 0,children:X(ate,{id:a,value:s,invalid:!!u,onChange:I=>l(I.target.value),onKeyDown:I=>{I.key==="Enter"&&x()}})})})}function xte({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,u=[...l?[]:[{key:"preview",label:i("Preview"),icon:X(fB,{}),onSelect:a}],...c?[{key:"restore",label:l?i("Put these drafts back"):i("Restore whole website"),icon:X(uB,{}),onSelect:r}]:[],...c&&!l&&e.pages.length?[{key:"restore-page",label:i("Restore one page only"),icon:X(xB,{}),onSelect:n}]:[],...l?[]:[{type:"divider",key:"divider"},{key:"name",label:i("Name this version"),icon:X(lte,{}),onSelect:s}]];return X(rte,{title:zo("span",{className:"sf-version-title",children:[X("span",{children:rB(e)}),e.live?X(hy,{tone:"success",size:"xs",children:i("Live")}):null,e.name?X(hy,{tone:"neutral",size:"xs",children:i("Version {n}",{n:e.number})}):null,l?X(hy,{tone:"warning",size:"xs",children:i("Not published")}):null]}),expanded:o,onToggle:t,actions:X(ote,{align:"end","aria-label":i("More"),items:u,triggerClassName:tte({variant:"ghost",size:"sm"}),trigger:X(cte,{})}),below:zo(Mi,{gap:3,children:[zo(xy,{gap:2,align:"center",wrap:!0,className:"sf-version-meta",children:[X(Qoe,{name:e.createdBy,size:"xs"}),X("span",{children:e.createdBy}),X("span",{"aria-hidden":"true",children:"\xB7"}),X("span",{children:lB(e.createdAt)}),d?zo(Hi,{children:[X("span",{"aria-hidden":"true",children:"\xB7"}),X("span",{children:yo("{n} change","{n} changes",d)})]}):null]}),o?zo(Mi,{gap:3,children:[d?X(Mi,{gap:2,children:e.changes.map(m=>{let f=fte[m.kind]??dte;return zo(xy,{gap:2,align:"center",children:[X(f,{size:16}),X("span",{children:sB(m)})]},`${m.kind}:${m.id}`)})}):null,zo(xy,{gap:2,children:[l?null:X(qr,{variant:"secondary",size:"sm",leftIcon:X(fB,{}),onClick:a,children:i("Preview")}),c?X(qr,{variant:"secondary",size:"sm",leftIcon:X(uB,{}),onClick:r,children:i("Restore")}):null]})]}):null]})})}function Ite({open:e,onClose:o,access:t,waiting:a}){let{flushSave:r,reloadFromServer:n,docId:s}=IB(),[l,c]=ot(null),[d,u]=ot(!1),[m,f]=ot(null),[x,I]=ot(null),[y,v]=ot(!1),[C,S]=ot(null),[g,k]=ot(null),[T,F]=ot(!1),P=Zoe(0),B=Yoe(()=>{let b=++P.current;u(!1),t.list().then(_=>{b===P.current&&c(_)},()=>{b===P.current&&u(!0)})},[t]);Xoe(()=>{e&&B()},[e,B]);let E=b=>{F(!1),pte(t,b.id).catch(()=>F(!0))},R=async()=>{if(!(!x||y)){v(!0),S(null);try{await tB({access:t,version:x.version,page:x.page,flushSave:r,reload:n}),I(null),o()}catch(b){S(b instanceof Bi?i("Your last changes did not save, so nothing was restored. Try again."):i("The version was not restored. Nothing changed. Try again."))}finally{v(!1)}}},N=Joe({onPress:()=>{R()},busy:y});return zo(Hi,{children:[X(ete,{open:e,onClose:o,side:"right",size:"md",title:i("Version history"),description:zo(Hi,{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:zo(Mi,{gap:3,children:[T?X(Ni,{tone:"danger",onDismiss:()=>F(!1),children:i("The preview did not open. Try again.")}):null,d?X(Ni,{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(ste,{"aria-label":i("Versions"),spacing:"comfortable",children:l.map(b=>X(xte,{version:b,expanded:m===b.id,onToggle:()=>f(_=>_===b.id?null:b.id),onPreview:()=>E(b),onRestore:()=>{S(null),I({version:b,page:null})},onRestorePage:()=>{S(null),I({version:b,page:ute(b,s)})},onName:()=>k(b)},b.id))})]})}),X(mte,{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(L=>L.id===b)??_.page})}),X(hte,{version:g,onCancel:()=>k(null),onSave:async b=>{await t.name(g.id,b),k(null),B()}})]})}function gB(){let{adapter:e,hasUnsavedEdits:o}=IB(),t=e.siteVersions,a=QF(),r=Nc();return t?X(Ite,{open:a,onClose:JF,access:t,waiting:o||r?.state==="changed"}):null}import{useEaselSession as fN}from"efficient-easel/screen/lib/session-context";import{buildPaletteSections as rHe,categoryLabel as nHe,paletteWithoutPinned as sHe,pinnedSection as lHe}from"efficient-easel/screen/lib/document/palette-sections";var gte={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 bB(e){return gte[e]?.label}var yB=Rp;import{currentEaselSession as pD}from"efficient-easel/screen/lib/session";import{blockTypesIn as dD}from"efficient-easel/screen/lib/document/block-types-in";import{jsx as Et,jsxs as nD}from"react/jsx-runtime";import{createContext as pae,useContext as mae,useState as hae}from"react";import{jsx as bs,jsxs as _B}from"react/jsx-runtime";import{useEffect as yy,useRef as Bte,useState as Wi}from"react";import{jsx as Vr}from"react/jsx-runtime";import{Component as wte,createContext as Cte,lazy as IHe,Suspense as gHe,useContext as vte}from"react";var bte="hrefRewrite";function yte(){return ma("efficient.link-href-rewrites",()=>({rewrites:new Map,count:0,missed:new Set}))}function Ste(){return typeof process<"u"&&!0}function fHe(e){let o=e?.[bte];return typeof o=="string"?o.trim():""}function SB(e){if(!e)return null;let o=yte(),t=o.rewrites.get(e);return!t&&!Ste()&&o.missed.add(e),t??null}var kte={Link:lS,Image:sS},wB=Cte(kte);function wHe({runtime:e,children:o}){return Vr(wB.Provider,{value:e,children:o})}function gy(){return vte(wB)}function CHe(){return gy().pagePath??null}function vHe({hrefRewrite:e,...o}){let{Link:t}=gy(),a=SB(e);return a?Vr(Iy,{name:a.name,href:o.href,fallback:Vr(t,{...o}),children:Vr(Tte,{Link:t,rewrite:a.rewrite,...o})},a.key):Vr(t,{...o})}function Tte({Link:e,rewrite:o,...t}){let a=J(o(t.href)),r=a&&WS(a)?a:t.href;return Vr(e,{...t,href:r})}var Iy=class extends wte{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 CB(e){let{Image:o}=gy();return Vr(o,{...e})}import{jsx as vB,Fragment as Pte,jsxs as Ete}from"react/jsx-runtime";import{useEffect as Ote,useRef as kB,useState as _te}from"react";var Rte="#t=0.001",Ate=2;function Lte(e,o){if(e.readyState<Ate||!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 TB({src:e,objectPosition:o="50% 50%",onError:t}){let a=kB(null),r=kB(null),[n,s]=_te(!1);return Ote(()=>{let l=a.current,c=r.current;if(n||!l||!c)return;let d=()=>{Lte(l,c)&&s(!0)};return d(),l.addEventListener("loadeddata",d),l.addEventListener("seeked",d),()=>{l.removeEventListener("loadeddata",d),l.removeEventListener("seeked",d)}},[n]),Ete(Pte,{children:[vB("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&&vB("video",{ref:a,src:`${e}${Rte}`,muted:!0,playsInline:!0,preload:"auto",className:"hidden",onError:t})]})}import{imageCopyUrl as EB,imageSrcSet as Fte}from"efficient-shell/image-copies";var PB;function by(){return PB===void 0?{}:{host:PB}}var _He="(max-width: 800px) 100vw, min(100vw, 1600px)";function OB(e,{fallbackWidth:o=1280,maxWidth:t}={}){let a=Fte(e,{...by(),...t===void 0?{}:{maxWidth:t}});return a?{src:EB(e,o,by()),srcSet:a}:{src:e}}function RHe(e){let o=EB(e,1920,by());return o===e?`url(${e})`:`url("${o}")`}var Dte=.5;function zi({videoSrc:e,posterSrc:o,showVideo:t=!0,playbackRate:a=Dte,objectPosition:r="50% 50%",objectPositionPhone:n,objectPositionTablet:s,quiet:l=!1}){let c=XC(n,s),d=o||"",u=e||"",[m,f]=Wi(!1),[x,I]=Wi(!1),[y,v]=Wi(!1),[C,S]=Wi(!1),[g,k]=Wi(!1),T=Bte(null);yy(()=>{f(!1),I(!1),v(!1),S(!1)},[e,o]),yy(()=>{if(typeof window>"u")return;let B=()=>{let E=window;E.requestIdleCallback?E.requestIdleCallback(()=>k(!0),{timeout:2e3}):setTimeout(()=>k(!0),800)};if(document.readyState==="complete"){B();return}return window.addEventListener("load",B,{once:!0}),()=>window.removeEventListener("load",B)},[]),yy(()=>{let B=T.current;if(!B)return;let E=()=>{B.playbackRate=a};return E(),B.addEventListener("loadedmetadata",E),()=>B.removeEventListener("loadedmetadata",E)},[e,a]);let F=iS(d),P=d&&F&&!x?OB(d):{src:d};return _B("div",{className:"absolute inset-0 z-[1]",children:[bs("div",{className:"absolute inset-0",style:{background:"var(--site-surface)"}}),d&&(F?bs("img",{src:P.src,...P.srcSet?{srcSet:P.srcSet,sizes:"100vw"}:{},alt:"",className:`absolute inset-0 z-[2] h-full w-full object-cover ${c.className}`.trim(),style:{display:m?"none":"block",objectPosition:r,...c.style},onError:()=>P.srcSet?I(!0):f(!0)},d):bs(CB,{src:d,alt:"",fill:!0,priority:!0,sizes:"100vw",className:`z-[2] object-cover ${c.className}`.trim(),style:{display:m?"none":"block",objectPosition:r,...c.style},onError:()=>f(!0)},d)),t&&!l&&u&&g&&!y&&_B("video",{ref:T,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:()=>v(!0),children:[cS(u)&&bs("source",{src:u.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),bs("source",{src:u,type:"video/mp4"})]},u),t&&l&&u&&g&&!C&&(!d||m)&&bs(TB,{src:u,objectPosition:r,onError:()=>S(!0)},u)]})}import{Fragment as NB,jsx as Fo,jsxs as Cy}from"react/jsx-runtime";import{MOTION_TIMING as Nte}from"efficient-shell/format";var FB="grayscale(1) contrast(1.03)",GHe="Black and white";function Mte(e){return e===!0?{filter:FB}:{}}function Hte(e){let{filter:o}=Mte(e);return o?{style:{filter:o}}:{}}var Xr="sf-photo-grayscale",wy="data-sf-photo-host",RB={duration:"--sf-photo-hover-duration",delay:"--sf-photo-hover-delay"},tp=`@media (hover:hover){.${Xr}{filter:${FB};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))}.${Xr}:hover,[data-sf-photo-host]:hover .${Xr}{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${Xr}{transition:none}}`;function BB(e){let o=Nte.hover,t={...e.duration!==o.duration.default?{[RB.duration]:`${e.duration}s`}:{},...e.delay!==o.delay.default?{[RB.delay]:`${e.delay}s`}:{}};return Object.keys(t).length?t:void 0}function DB(e,o,t){if(e===!0)return Hte(!0);if(t?.kind==="mono"){let a=BB(t);return{className:Xr,sheet:tp,...a?{style:a}:{}}}return e===!1?{}:o===!0?{className:Xr}:{}}var Yr="sf-photo-next",AB="data-sf-repeat",Sy="sf-photo-zoom",Wte="--sf-photo-zoom",$He="sf-photo-wash",Qu="sf-photo-wash-rest",Gi="sf-photo-wash-hover",ep="sf-photo-frame",op=(e,o)=>{let t=`:not([${AB}]:not(:hover) .${e})`;return`${o},[${AB}]:hover .${e}${t},[${wy}]:hover .${e}${t}`},LB=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))`,zte=`.${Yr}{opacity:0}.${Gi}{opacity:0}@media (hover:hover){.${Yr},.${Qu},.${Gi}{transition:${LB("opacity")}}${op(Yr,`.${Yr}:hover,.${ep}:hover .${Yr}`)},${op(Gi,`.${ep}:hover .${Gi}`)}{opacity:1}${op(Qu,`.${ep}:hover .${Qu}`)}{opacity:0}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.${Sy}{transition:${LB("transform")}}${op(Sy,`.${ep}:hover .${Sy}`)}{transform:scale(var(${Wte}))}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${Yr},.${Qu},.${Gi}{transition:none}}`;function UHe(e){if(e?.kind!=="nextImage")return null;let o=BB(e);return{className:Yr,sheet:zte,...o?{style:o}:{}}}function jHe(e){return e===!0?{[Xr]:tp}:{}}import{hidableText as Gte}from"efficient-easel/draw";var $te={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"},Ute={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 MB(e){let o=e.isVideo&&Fw(e.videoSource)==="youtube",t=e.isVideo&&Bw(e.videoPlayback)==="click",a=o?Dw(Gte(e.youtubeUrl)):null,r=Sf(e.mediaLayout);return{fromYouTube:o,onClick:t,youTubeId:a,backgroundFile:e.isVideo&&!o&&!t,desktopLayout:r,phoneLayout:TI(e.mediaLayoutPhone,r),twoPictures:!e.isVideo&&Rl(e)>1}}function $i(e,o){return Rf(Jn({_partMotion:e},o))}function ys(e,o){return DB(void 0,void 0,AP(Jn({_partMotion:e},o)))}function HB(e){return kr.some(o=>ys(e,o).className)?{hostAttrs:{[wy]:""},sheet:tp}:{}}function ap({treatment:e,children:o}){return e.className?Fo("div",{className:`absolute inset-0 ${e.className}`,...e.style?{style:e.style}:{},children:o}):Fo(NB,{children:o})}function rp({color:e,opacity:o,passClicks:t=!0}){return o>0?Fo("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 np({part:e,editing:o,marked:t=!0,entrance:a,className:r,children:n}){let s=o&&t?{[FE]:e}:void 0;return a?Fo(fb,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:r,boxAttrs:s,children:n}):Fo("div",{className:r,...s,children:n})}function WB({partMotion:e,editing:o,children:t}){let a=$i(e,"media"),r=ys(e,"media"),n=r.className?Fo("div",{className:`absolute inset-0 z-[1] ${r.className}`,...r.style?{style:r.style}:{},children:t}):t;return a?Fo(fb,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:"absolute inset-0 z-[1]",children:n}):Fo(NB,{children:n})}function zB({desktopLayout:e,phoneLayout:o,editing:t,marked:a=!0,partMotion:r,first:n,second:s}){return Cy("div",{className:`absolute inset-0 z-[1] grid ${$te[o]} ${Ute[e]}`,"data-hero-layout":e,"data-hero-layout-phone":o,children:[Fo(np,{part:"image",editing:t,marked:a,entrance:$i(r,"image"),className:"relative overflow-hidden",children:Cy(ap,{treatment:ys(r,"image"),children:[Fo(zi,{posterSrc:pa(n.src),showVideo:!1,objectPosition:n.objectPosition,objectPositionPhone:n.objectPositionPhone,objectPositionTablet:n.objectPositionTablet}),Fo(rp,{color:n.tintColor,opacity:n.tintOpacity})]})}),Fo(np,{part:"image2",editing:t,marked:a,entrance:$i(r,"image2"),className:`relative overflow-hidden${o==="one"?" max-[719px]:hidden":""}${e==="one"?" view-tablet:hidden":""}`,children:Cy(ap,{treatment:ys(r,"image2"),children:[Fo(zi,{posterSrc:pa(s.src),showVideo:!1,objectPosition:s.objectPosition,objectPositionPhone:s.objectPositionPhone,objectPositionTablet:s.objectPositionTablet}),Fo(rp,{color:s.tintColor,opacity:s.tintOpacity})]})})]})}import{jsx as Zr,Fragment as jte,jsxs as Kte}from"react/jsx-runtime";import{useEffect as qte,useState as Vte}from"react";import{PlaySolidIcon as Yte}from"efficient-shell/icons/efficient-looks";function GB({youTubeId:e,ownPoster:o,background:t,editing:a}){let[r,n]=Vte("large");return qte(()=>n("large"),[e]),e?Kte(jte,{children:[!o&&r!=="none"&&Zr("img",{src:r==="large"?Nw(e):Mw(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&&Zr("div",{className:"pointer-events-none absolute inset-0 z-[3] overflow-hidden [container-type:size]","aria-hidden":"true",children:Zr("iframe",{src:cm(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 $B({youTubeId:e,fileSrc:o,playing:t,onPlay:a,editing:r}){return!e&&!o?null:t&&!r?e?Zr("iframe",{src:cm(e,"click"),title:dm,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"}):Zr("video",{src:o,controls:!0,autoPlay:!0,playsInline:!0,className:"absolute inset-0 z-[6] h-full w-full bg-overlay-scrim object-contain"}):Zr("button",{type:"button","aria-label":dm,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:Zr(Yte,{size:28})})}var UB=["top","middle","bottom"],jB=["left","center","right"],KB="bottom",qB="left",Xte={top:"Top",middle:"Middle",bottom:"Bottom"},Zte={left:"Left",center:"Center",right:"Right"},f4e="Up and down",u4e="Sideways",Jte={top:"flex-start",middle:"center",bottom:"flex-end"},Qte={left:"flex-start",center:"center",right:"flex-end"},eae="--sf-hero-phone-y",oae="--sf-hero-phone-x";function tae(e){return UB.includes(e)?e:KB}function aae(e){return jB.includes(e)?e:qB}function VB(e,o){let t=tae(e),a=aae(o),r={};return t!==KB&&(r[eae]=Jte[t]),a!==qB&&(r[oae]=Qte[a]),r}function p4e(){return UB.map(e=>({label:Xte[e],value:e}))}function m4e(){return jB.map(e=>({label:Zte[e],value:e}))}import{hexToRgb as rae}from"efficient-shell/format";var nae=!0;var sae=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function YB(e){let o=rae(e);return o?`${o.r},${o.g},${o.b}`:null}function XB(e){return e==null?nae:e!==!1}function ZB(e){let o=(e?YB(e):null)??YB(pt);return`linear-gradient(180deg, ${sae.map(([t,a])=>`rgba(${o},${a}) ${t}%`).join(", ")})`}import{hexToRgb as JB}from"efficient-shell/format";var QB="bottom";var lae=[{label:"Bottom",value:"bottom",cell:"bottom"},{label:"Top",value:"top",cell:"top"},{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"}],iae={bottom:180,top:0,left:270,right:90},cae=[[.55,0],[.15,18],[null,35],[null,55],[.85,100]],dae=[[null,33],[.6,67],[.94,100]];function fae(e,o){let{r:t,g:a,b:r}=JB(e)??JB(pt);return`rgba(${t},${a},${r},${o})`}function eD(e){return ao(lae,QB,e)}function oD(e=pt,o=QB){let t=eD(o),a=(t==="top"||t==="bottom"?cae:dae).map(([r,n])=>`${r===null?"transparent":fae(e,r)} ${n}%`);return`linear-gradient(${iae[t]}deg, ${a.join(", ")})`}function tD(e,o){let t=J(e.overlayColor),a=J(e.overlayPosition),r=J(o)??pt;return!t&&!a?{own:!1,color:r,position:null}:{own:!0,color:t??r,position:eD(a)}}import{jsx as uae}from"react/jsx-runtime";var aD="sf-photo-hover";function rD({sheet:e,name:o=aD}){return e?uae("style",{href:o,precedence:aD,dangerouslySetInnerHTML:{__html:e}}):null}var xae=pae({});function M4e({name:e,process:o,mediaType:t="video",mediaSrc:a,videoSpeed:r,poster:n,objectPosition:s,objectPositionPhone:l,objectPositionTablet:c,tintColor:d=pt,tintOpacity:u=0,groups:m,editing:f=!1,themeClassName:x,themeStyle:I,overlayColor:y,overlayPosition:v,mediaLayout:C,mediaLayoutPhone:S,mediaImage2:g,objectPosition2:k,objectPosition2Phone:T,objectPosition2Tablet:F,tintColor2:P=pt,tintOpacity2:B=0,videoSource:E,youtubeUrl:R,videoPlayback:N,partMotion:b}){let{alignment:_="left",textureOpacity:L,textureOn:H,textureColor:Z,quietVideo:V,phoneUpDown:U,phoneSideways:Pe,holdReel:Se,reelHeld:qe,ratioMin:He}=mae(xae),he=t==="video",xe=he?pa(a):void 0,we=he?pa(n):pa(a)??pa(n),Xe=typeof r=="number"?r/100:1,{fromYouTube:Ve,onClick:de,youTubeId:Re,backgroundFile:to,desktopLayout:Ae,phoneLayout:Ge,twoPictures:Bo}=MB({isVideo:he,videoSource:E,videoPlayback:N,youtubeUrl:R,mediaLayout:C,mediaLayoutPhone:S}),[Go,Do]=hae(!1);Go&&qe===!1&&Do(!1);let M=!Go,re=tD({overlayColor:y,overlayPosition:v},Z),be=he?null:$i(b,"image"),We=HB(b),Fe=Et(ap,{treatment:he?{}:ys(b,"image"),children:Et(zi,{videoSrc:to?xe:void 0,posterSrc:we,showVideo:to,playbackRate:Xe,objectPosition:s,objectPositionPhone:he?void 0:l,objectPositionTablet:he?void 0:c,quiet:V})});return nD("section",{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":to&&xe?"video":"still",...We.hostAttrs,children:[Et(rD,{sheet:We.sheet}),Et(WB,{partMotion:b,editing:f,children:Bo?Et(zB,{desktopLayout:Ae,phoneLayout:Ge,editing:f,marked:!1,partMotion:b,first:{src:a,objectPosition:s,objectPositionPhone:l,objectPositionTablet:c,tintColor:d,tintOpacity:u},second:{src:g,objectPosition:k,objectPositionPhone:T,objectPositionTablet:F,tintColor:P,tintOpacity:B}}):Ve||be?nD(np,{part:he?"media":"image",editing:f,marked:!1,entrance:be,className:"absolute inset-0 z-[1]",children:[Fe,Ve&&Et(GB,{youTubeId:Re,ownPoster:!!we,background:!de,editing:f})]}):Fe}),de&&Et($B,{youTubeId:Re,fileSrc:Ve?void 0:xe,playing:Go,onPlay:()=>{Do(!0),Se?.()},editing:f}),M&&!Bo&&Et(rp,{color:d,opacity:u,passClicks:!1}),M&&XB(H)&&Et("div",{className:"absolute inset-0 z-[2]",style:{background:re.own?oD(re.color,re.position??void 0):ZB(re.color),...L!==void 0?{opacity:L/100}:null}}),M&&Et("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",f?"sf-hero-group-layer-edit":""].filter(Boolean).join(" "),style:{...mv,...VB(U,Pe)},children:m&&Et(m,{className:"sf-hero-group-zone",minEmptyHeight:160})})]})}var sD=Array.from({length:3},(e,o)=>({name:`Slide ${o+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{newNodeId as iD}from"efficient-easel/draw";var Iae="ImageBlock",gae=3,sp=(e,o,t={})=>({type:e,props:{...o?.(e)??{},id:iD(e),...t}}),bae=e=>({...e?.(j)??{},direction:"column",[ve]:[sp(Iae,e),sp(j,e,{direction:"column",[ve]:[sp("Text",e,Uo()),sp("Text",e)]})]}),Gt={Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>sD.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${jt.toLowerCase()}`,seeds:()=>[],addBlocked:yc,notice:Am},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${jt.toLowerCase()}`,seeds:()=>[],addBlocked:yc,notice:Am},ProcessSteps:{slot:"boxes",childType:j,addLabel:`Add ${jt.toLowerCase()}`,seeds:e=>Array.from({length:gae},()=>bae(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}},lD=1,yae={slot:_l,childType:j,addLabel:`Add ${jt.toLowerCase()}`,seeds:()=>[],addBlocked:e=>e.length>=lD?"This Hero has its Scrolling Bar already. Delete it to add another.":null,notice:e=>e.length>lD?`This Hero holds ${e.length} Scrolling Bars. Keep one and delete the others.`:null},cD={Hero:{[_l]:yae}};function q4e(e){for(let[o,t]of Object.entries(e)){if(o in Gt&&Gt[o]!==t)throw new Error(`lib/document/slot-specs: "${o}" already has a slot spec`);Gt[o]=t}}function V4e(e,o){let t=Gt[e];return t?{slot:t.slot,children:t.seeds(o).map(a=>({type:t.childType,props:{id:iD(t.childType),...a}}))}:null}var fD=()=>({}),uD=new Map;function Sae(e){let o=uD.get(e);if(o)return o;let t=new Set,a=Gt[e];if(a)for(let s of a.seeds(fD))for(let l of dD({type:a.childType,props:s}))t.add(l);let r=Is(e);if(r){let s=0;for(let l of dD(r(fD,c=>`${c}-${s+=1}`)))t.add(l)}t.delete(e);let n=[...t].sort();return uD.set(e,n),n}function wae(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let o=wg(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=_S(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 u=n(c)&&Sae(c).every(l);return s.set(c,u),u};return{sets:o,offers:l}}var Cae="block-offer";function vy(e=pD()){return e.cache(Cae,()=>wae(Ec(e)))}function mD(e,o=pD()){let t=vy(o);return t?t.offers(e):!0}function vae(e){let o=Su.Ticker(e.nodeDefaults,e.newNodeId),{sectionBorder:t,...a}=o.props,r=vI.line?{sectionBorder:t}:{};return{...o,props:{...a,...r,sectionAccent:vI.sectionAccent}}}var kae={Hero:{[_l]:{newChild:vae,childLabel:oc.Ticker}}},hD=Object.fromEntries(Object.entries(cD).map(([e,o])=>[e,Object.fromEntries(Object.entries(o).map(([t,a])=>[t,{...a,...kae[e]?.[t]}]))]));function xD(e,o=0,t,a){let r=Pae(Eae(e,o,a),t),n=r?vy():null;return r&&n?Tae(r,n):r}function Tae(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 Pae(e,o){if(!e||e.source!=="container"||!o||!vw())return e;let t=Ns({data:o.data},o.id),a=typeof t?.type=="string"?kw(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 Eae(e,o,t){let a=t?hD[e]?.[t]:void 0;if(a)return{source:"section",slot:a.slot,choices:null,spec:a};let r=Gt[e];if(r)return{source:"section",slot:r.slot,choices:null,spec:r};let n=LS(e,o);if(n)return{source:"container",slot:n.slot,choices:n.choices,spec:null};let s=t1(e);return s?{source:"footer",slot:o1,choices:s,spec:null}:null}function ID(e,o=[Io]){return Qp(e.type)?o.map(t=>t===Io?{slot:t,label:i(bw),rung:!0}:{slot:t,label:t,rung:!1}):null}import{useSyncExternalStore as Oae}from"react";var ky=null,Ty=new Set;function gD(e){if(ky!==e){ky=e;for(let o of Ty)o()}}function _ae(e){return Ty.add(e),()=>{Ty.delete(e)}}function S5e(){return Oae(_ae,()=>ky,()=>null)}function bD(e){return Hs(e)?.ownerId??null}function yD(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 SD=(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 wD="sf-editor-left-view";function CD(){if(typeof window>"u")return"pages";try{let e=window.localStorage.getItem(wD);return e==="sections"||e==="styles"?e:"pages"}catch{return"pages"}}function vD(e){if(!(typeof window>"u"))try{window.localStorage.setItem(wD,e)}catch{}}function kD(e,o){return e==="styles"&&!o?"sections":e}function TD(e,o){return e?"sections":o}var Rae=new Set(["BookingBox","SubmitBox"]);function Aae(e){return typeof e=="string"&&Rae.has(e)}var Lae=z_(Aae,Y_);function PD(e,o){return Lae(e)||gh(o)}import{copyNode as Fae}from"efficient-easel/data";function ED(e){let o=typeof e?.props?.id=="string"?e.props.id:null,t=na(),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 OD={usedOn:e=>{let o=na(),t=o?.sectionOf(e.props.id)??null;return!o||!t?null:o.usedOn(t)??[]},openPage:e=>eu()?.openPage(e),adopt:(e,o)=>na()?.adopt(e.props.id,o),nodeOf:e=>na()?.place(e)??null,detach:e=>{let o=eu()?.config;return o?Fae(e,o):e},removed:()=>eu()?.reload()};import{sharedSectionsOf as jre}from"efficient-easel/screen/lib/shared-sections";import{scrollPreviewToSection as Kre,scrollPreviewToTop as rN}from"efficient-easel/screen/lib/document/preview-dom";import{jsx as Oy,Fragment as ure,jsxs as pre}from"react/jsx-runtime";import{useEffect as mre,useMemo as zD,useRef as GD}from"react";import{EaselCanvas as hre,repeatCopyAt as xre}from"efficient-easel/easel";import{jsx as FD,Fragment as qae,jsxs as Vae}from"react/jsx-runtime";import{useEffect as BD,useLayoutEffect as Yae}from"react";var lp="data-theme",_D="light";function Bae(e){return e.getAttribute(lp)===_D?"light":"dark"}function Dae(e,o){return Bae(e)===o?!1:(o==="light"?e.setAttribute(lp,_D):e.removeAttribute(lp),!0)}function Nae(e){return Cp(e).getItem(xp)}function N5e(e,o){Cp(e).setItem(xp,o)}function Mae(e,o,t=new Date().getHours()){return Wy({mode:o.mode,override:Nae(e),switchShown:o.switchShown,hour:t})}function RD(e,o){let t=e.documentElement;if(!t)return()=>{};let a=()=>Dae(t,Mae(e,o));a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[lp]}),()=>n.disconnect()}var Hae="style";function Wae(e,o){let t=Xy(o),a=!1;for(let r of Yy){let n=t[r]??"";e.style.getPropertyValue(r)!==n&&(n?e.style.setProperty(r,n):e.style.removeProperty(r),a=!0)}return a}function AD(e,o){let t=e.body;if(!t)return()=>{};let a=()=>Wae(t,o);a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[Hae]}),()=>n.disconnect()}import{VIEW_DESKTOP_MIN as zae,VIEW_TABLET_MIN as Gae}from"efficient-easel/screen/lib/content/view-tiers";var $ae={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"},tt=$ae,Uae=e=>e.flatMap(o=>[`[${o}] p`,`[${o}] li`]).join(","),jae=String.raw`(function (doc) {
|
|
73
|
+
if (doc.__sfFitWords) return;
|
|
74
|
+
var win = doc.defaultView;
|
|
75
|
+
var SELECTOR = "h1,h2,h3,h4,h5,h6,[class*='font-heading'],[class*='font-display']";
|
|
76
|
+
// Body text a block asked to shrink (its Text group's Shrink to fit), beside
|
|
77
|
+
// the headings: what this script may fit at all. modeOf() decides each one.
|
|
78
|
+
var SHRINK_BODY = ${JSON.stringify(Uae([tt.fit,tt.fitTablet,tt.fitPhone]))};
|
|
79
|
+
var CANDIDATES = SELECTOR + "," + SHRINK_BODY;
|
|
80
|
+
var MIN_SCALE = 0.3, MIN_PX = 16, SLACK = 1, PHONE_BELOW = 800;
|
|
81
|
+
var TABLET_MIN = ${Gae}, DESKTOP_MIN = ${zae};
|
|
82
|
+
|
|
83
|
+
// A block's own answer (lib/content/block-size, the wrapper's attributes):
|
|
84
|
+
// the fit "wrap" | "shrink" | "line" and the floor, each with a tablet and a
|
|
85
|
+
// phone twin. From 1100 the desktop's; 720-1099 the tablet's where it has one;
|
|
86
|
+
// under 720 the phone's, else the tablet's, else the desktop's. With no
|
|
87
|
+
// tablet answer the phone's is read under 800, as before (the edge moves with
|
|
88
|
+
// F1). With none, a heading shrinks and body text wraps, as always.
|
|
89
|
+
// A holder with any tablet attribute takes the three views (720 and 1100)
|
|
90
|
+
// for its fit AND its floor together; one with none keeps the 800 edge.
|
|
91
|
+
var TABLET_ATTRS = [${JSON.stringify(tt.fitTablet)}, ${JSON.stringify(tt.minTablet)}];
|
|
92
|
+
function own(el, attr, tabletAttr, phoneAttr) {
|
|
93
|
+
var holder = el.closest("[" + attr + "],[" + tabletAttr + "],[" + phoneAttr + "]");
|
|
94
|
+
if (!holder) return null;
|
|
95
|
+
var w = win.innerWidth, d = holder.getAttribute(attr);
|
|
96
|
+
if (w >= DESKTOP_MIN) return d;
|
|
97
|
+
var t = holder.getAttribute(tabletAttr), p = holder.getAttribute(phoneAttr);
|
|
98
|
+
if (w < TABLET_MIN) return p || t || d;
|
|
99
|
+
if (holder.hasAttribute(TABLET_ATTRS[0]) || holder.hasAttribute(TABLET_ATTRS[1])) return t || d;
|
|
100
|
+
return (w < PHONE_BELOW && p) || d;
|
|
101
|
+
}
|
|
102
|
+
function modeOf(el) {
|
|
103
|
+
var mode = own(el, ${JSON.stringify(tt.fit)}, ${JSON.stringify(tt.fitTablet)}, ${JSON.stringify(tt.fitPhone)});
|
|
104
|
+
if (mode === "wrap" || mode === "shrink") return mode;
|
|
105
|
+
if (mode === "line") return "wrap"; // One line: the block keeps its words whole, nothing shrinks
|
|
106
|
+
return el.matches(SELECTOR) ? "shrink" : "wrap";
|
|
107
|
+
}
|
|
108
|
+
function floorOf(el, set) {
|
|
109
|
+
var min = parseFloat(own(el, ${JSON.stringify(tt.min)}, ${JSON.stringify(tt.minTablet)}, ${JSON.stringify(tt.minPhone)}));
|
|
110
|
+
return min >= 0 ? min : Math.max(set * MIN_SCALE, MIN_PX);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
function measure(el) {
|
|
114
|
+
var widest = 0, current = 0, last = null, split = false, lastBlock = null;
|
|
115
|
+
function blockOf(n) {
|
|
116
|
+
for (var p = n.parentElement; p && p !== el; p = p.parentElement) {
|
|
117
|
+
var d = win.getComputedStyle(p).display;
|
|
118
|
+
if (d.indexOf("inline") !== 0 && d !== "contents") return p;
|
|
119
|
+
}
|
|
120
|
+
return el;
|
|
121
|
+
}
|
|
122
|
+
function close() { if (current > widest) widest = current; current = 0; last = null; }
|
|
123
|
+
var walker = doc.createTreeWalker(el, 5), range = doc.createRange(), node;
|
|
124
|
+
while ((node = walker.nextNode())) {
|
|
125
|
+
if (node.nodeType === 1) {
|
|
126
|
+
if (node.tagName === "BR" || node.tagName === "WBR") close();
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
var block = blockOf(node);
|
|
130
|
+
if (block !== lastBlock) close();
|
|
131
|
+
lastBlock = block;
|
|
132
|
+
var re = /(\S+)|(\s+)/g, m;
|
|
133
|
+
while ((m = re.exec(node.data))) {
|
|
134
|
+
if (m[2]) { close(); continue; }
|
|
135
|
+
range.setStart(node, m.index);
|
|
136
|
+
range.setEnd(node, m.index + m[0].length);
|
|
137
|
+
var rects = range.getClientRects();
|
|
138
|
+
for (var i = 0; i < rects.length; i++) {
|
|
139
|
+
var r = rects[i];
|
|
140
|
+
if (r.width <= 0) continue;
|
|
141
|
+
current += r.width;
|
|
142
|
+
if (last && r.top > last.top + last.height / 2) split = true;
|
|
143
|
+
last = r;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
close();
|
|
148
|
+
return { widest: widest, split: split };
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
function lineWidth(el) {
|
|
152
|
+
var cs = win.getComputedStyle(el);
|
|
153
|
+
return el.getBoundingClientRect().width - parseFloat(cs.paddingLeft) - parseFloat(cs.paddingRight)
|
|
154
|
+
- parseFloat(cs.borderLeftWidth) - parseFloat(cs.borderRightWidth);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// ⚠️ THE HEADING ELEMENT IS NEVER TOUCHED — no style="", no data-*. This
|
|
158
|
+
// runs before React hydrates, and React 19 in development reports ANY
|
|
159
|
+
// attribute that differs from what it rendered ("a tree hydrated but some
|
|
160
|
+
// attributes didn't match"): first our inline font-size on the hero (which
|
|
161
|
+
// React owns via --heading-size), then, when that moved to a data-sf-fit
|
|
162
|
+
// attribute, the attribute itself. So the fitted size lives only in this
|
|
163
|
+
// script's own stylesheet, in <head>, addressed to each heading by its
|
|
164
|
+
// POSITION (":root>*:nth-child(2)>…"). A position goes stale when the page's
|
|
165
|
+
// structure changes, so the rules are rewritten in the MutationObserver
|
|
166
|
+
// callback, which runs before the next paint. !important so the size also
|
|
167
|
+
// beats a part's own inline size.
|
|
168
|
+
var head = doc.head || doc.documentElement;
|
|
169
|
+
var fitEl = doc.createElement("style");
|
|
170
|
+
fitEl.id = "storefront-fit-words-sizes";
|
|
171
|
+
head.appendChild(fitEl);
|
|
172
|
+
// heading -> [[element, fitted size]]: the heading and each Text part inside
|
|
173
|
+
// it that holds its own size (a span [data-sf-part-styled]), e.g.
|
|
174
|
+
// [[h2, "43.8px"], [span, "43.8px"]]. Sizing the heading alone leaves such
|
|
175
|
+
// a part at its own size, and the word still breaks (card C25, Spec Table).
|
|
176
|
+
var fitted = new Map();
|
|
177
|
+
|
|
178
|
+
function pathOf(el) {
|
|
179
|
+
var parts = [];
|
|
180
|
+
for (var e = el; e && e.parentElement; e = e.parentElement) {
|
|
181
|
+
var i = 1, s = e;
|
|
182
|
+
while ((s = s.previousElementSibling)) i++;
|
|
183
|
+
parts.unshift("*:nth-child(" + i + ")");
|
|
184
|
+
}
|
|
185
|
+
return ":root>" + parts.join(">");
|
|
186
|
+
}
|
|
187
|
+
function writeRules() {
|
|
188
|
+
var css = "";
|
|
189
|
+
fitted.forEach(function (sizes, el) {
|
|
190
|
+
if (!el.isConnected) { fitted.delete(el); return; }
|
|
191
|
+
for (var i = 0; i < sizes.length; i++) css += pathOf(sizes[i][0]) + "{font-size:" + sizes[i][1] + " !important}";
|
|
192
|
+
});
|
|
193
|
+
if (fitEl.textContent !== css) fitEl.textContent = css;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
function unfit(el) {
|
|
197
|
+
if (fitted.delete(el)) writeRules();
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
function fits(el) {
|
|
201
|
+
var m = measure(el);
|
|
202
|
+
return !m.split && m.widest <= lineWidth(el) + SLACK;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
function fit(el) {
|
|
206
|
+
unfit(el);
|
|
207
|
+
if (modeOf(el) !== "shrink") return; // the block's own Wrap
|
|
208
|
+
if (lineWidth(el) <= 0) return; // hidden, or not laid out yet
|
|
209
|
+
if (fits(el)) return;
|
|
210
|
+
var set = parseFloat(win.getComputedStyle(el).fontSize);
|
|
211
|
+
if (!set) return;
|
|
212
|
+
var floor = floorOf(el, set);
|
|
213
|
+
if (floor >= set) return;
|
|
214
|
+
function size(px) { return Math.floor(px * 10) / 10 + "px"; }
|
|
215
|
+
// The SEARCH tries sizes on the element's own style and then puts that
|
|
216
|
+
// attribute back byte for byte (or removes it, if it had none), so nothing
|
|
217
|
+
// is left for React to see. A trial in a stylesheet instead restyles the
|
|
218
|
+
// whole page per step: a full pass on the Hartes home took 75–160ms at 4x
|
|
219
|
+
// CPU that way.
|
|
220
|
+
// Every trial scales the heading AND each part inside it that holds its
|
|
221
|
+
// own size, by the same ratio, so a part keeps its proportion to the
|
|
222
|
+
// heading.
|
|
223
|
+
var carriers = [el].concat(Array.prototype.slice.call(el.querySelectorAll("[data-sf-part-styled]")));
|
|
224
|
+
var base = carriers.map(function (c) { return parseFloat(win.getComputedStyle(c).fontSize) || set; });
|
|
225
|
+
var saved = carriers.map(function (c) { return c.hasAttribute("style") ? c.getAttribute("style") : null; });
|
|
226
|
+
function attempt(px) {
|
|
227
|
+
for (var i = 0; i < carriers.length; i++) carriers[i].style.setProperty("font-size", size(base[i] * px / set), "important");
|
|
228
|
+
}
|
|
229
|
+
function done() {
|
|
230
|
+
for (var i = 0; i < carriers.length; i++) {
|
|
231
|
+
if (saved[i] !== null) carriers[i].setAttribute("style", saved[i]); else carriers[i].removeAttribute("style");
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
attempt(floor);
|
|
235
|
+
if (!fits(el)) { done(); return; } // even the floor does not fit: leave it as set
|
|
236
|
+
var lo = floor, hi = set;
|
|
237
|
+
for (var i = 0; i < 8; i++) {
|
|
238
|
+
var mid = (lo + hi) / 2;
|
|
239
|
+
attempt(mid);
|
|
240
|
+
if (fits(el)) lo = mid; else hi = mid;
|
|
241
|
+
}
|
|
242
|
+
done();
|
|
243
|
+
fitted.set(el, carriers.map(function (c, i) { return [c, size(base[i] * lo / set)]; }));
|
|
244
|
+
writeRules();
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// What each heading measured right after we last fitted it, so the
|
|
248
|
+
// ResizeObserver below can tell a real change (a font swap, a rotate, a
|
|
249
|
+
// container that moved) from the size change our own write just caused.
|
|
250
|
+
var seen = new WeakMap();
|
|
251
|
+
function remember(el) {
|
|
252
|
+
var b = el.getBoundingClientRect();
|
|
253
|
+
seen.set(el, b.width + "x" + b.height);
|
|
254
|
+
}
|
|
255
|
+
function fitAndRemember(el) { fit(el); remember(el); }
|
|
256
|
+
|
|
257
|
+
// ⚠️ A ResizeObserver, NOT fonts.ready or a resize event, and the reason is
|
|
258
|
+
// WHEN it runs: after layout, BEFORE paint. The web font arriving re-wraps a
|
|
259
|
+
// fitted heading, and fonts.ready resolves only after that frame is painted —
|
|
260
|
+
// measured on the Hartes hero: a 42px jump in 2 of 3 loads. A size change
|
|
261
|
+
// reported here is fitted in the same frame, so the broken state is never
|
|
262
|
+
// drawn. It also covers a container that resizes.
|
|
263
|
+
var ro = new win.ResizeObserver(function (entries) {
|
|
264
|
+
for (var i = 0; i < entries.length; i++) {
|
|
265
|
+
var el = entries[i].target;
|
|
266
|
+
var b = el.getBoundingClientRect();
|
|
267
|
+
if (seen.get(el) === b.width + "x" + b.height) continue; // our own write
|
|
268
|
+
fitAndRemember(el);
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
// Its own set, not seen: fitAndRemember has written seen by the
|
|
272
|
+
// time watch runs, so a seen test observed no heading at all, and a
|
|
273
|
+
// heading fitted in the fallback face was never fitted again when the web
|
|
274
|
+
// font arrived (hartesmetal.com.au, "FusionForge." with its "." alone).
|
|
275
|
+
var watched = new WeakSet();
|
|
276
|
+
function watch(el) { if (!watched.has(el)) { watched.add(el); ro.observe(el); } }
|
|
277
|
+
|
|
278
|
+
function fitAll() {
|
|
279
|
+
var els = doc.querySelectorAll(CANDIDATES);
|
|
280
|
+
for (var i = 0; i < els.length; i++) {
|
|
281
|
+
if (modeOf(els[i]) === "shrink") { fitAndRemember(els[i]); watch(els[i]); }
|
|
282
|
+
else unfit(els[i]); // Wrap here (a phone value may differ from the desktop's)
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
var queued = 0, all = false, touched = new Set();
|
|
287
|
+
function run() {
|
|
288
|
+
queued = 0;
|
|
289
|
+
if (all) { all = false; touched.clear(); fitAll(); return; }
|
|
290
|
+
var els = Array.from(touched);
|
|
291
|
+
touched.clear();
|
|
292
|
+
for (var i = 0; i < els.length; i++) {
|
|
293
|
+
if (!els[i].isConnected) continue;
|
|
294
|
+
if (modeOf(els[i]) === "shrink") { fitAndRemember(els[i]); watch(els[i]); }
|
|
295
|
+
else unfit(els[i]);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
function schedule() { if (!queued) queued = win.requestAnimationFrame(run); }
|
|
299
|
+
function scheduleAll() { all = true; schedule(); }
|
|
300
|
+
|
|
301
|
+
fitAll();
|
|
302
|
+
// A backstop only: a font that changes widths without changing any
|
|
303
|
+
// heading's box is not seen by the ResizeObserver.
|
|
304
|
+
if (doc.fonts && doc.fonts.ready) doc.fonts.ready.then(scheduleAll, function () {});
|
|
305
|
+
|
|
306
|
+
// …and the viewport WIDTH, which the ResizeObserver cannot stand in for: a
|
|
307
|
+
// heading sized to its own text (fit-content, a flex item) keeps the SAME box
|
|
308
|
+
// when the phone turns to 844, so nothing reports a change and it would stay
|
|
309
|
+
// shrunk. The probe's rotate check caught exactly that.
|
|
310
|
+
var lastWidth = win.innerWidth;
|
|
311
|
+
function onResize() {
|
|
312
|
+
if (win.innerWidth === lastWidth) return; // a phone's toolbar changing HEIGHT is not our business
|
|
313
|
+
lastWidth = win.innerWidth;
|
|
314
|
+
scheduleAll();
|
|
315
|
+
}
|
|
316
|
+
win.addEventListener("resize", onResize);
|
|
317
|
+
|
|
318
|
+
var mo = new win.MutationObserver(function (records) {
|
|
319
|
+
// Positions first: a node added or removed anywhere can shift the
|
|
320
|
+
// nth-child path of a fitted heading, and this callback runs before paint.
|
|
321
|
+
if (fitted.size) {
|
|
322
|
+
for (var q = 0; q < records.length; q++) if (records[q].type === "childList") { writeRules(); break; }
|
|
323
|
+
}
|
|
324
|
+
for (var i = 0; i < records.length; i++) {
|
|
325
|
+
var r = records[i];
|
|
326
|
+
// A block's text fit (Wrap / Shrink to fit / One line) or Min font size changed in the editor:
|
|
327
|
+
// only a data-fit attribute moved, so every heading is measured again.
|
|
328
|
+
if (r.type === "attributes") { scheduleAll(); continue; }
|
|
329
|
+
var target = r.target.nodeType === 1 ? r.target : r.target.parentElement;
|
|
330
|
+
var owner = target && target.closest(CANDIDATES);
|
|
331
|
+
if (owner) touched.add(owner);
|
|
332
|
+
for (var j = 0; j < r.addedNodes.length; j++) {
|
|
333
|
+
var n = r.addedNodes[j];
|
|
334
|
+
if (n.nodeType !== 1) continue;
|
|
335
|
+
if (n.matches(CANDIDATES)) touched.add(n);
|
|
336
|
+
var inner = n.querySelectorAll(CANDIDATES);
|
|
337
|
+
for (var k = 0; k < inner.length; k++) touched.add(inner[k]);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
if (touched.size) schedule();
|
|
341
|
+
});
|
|
342
|
+
mo.observe(doc.body, {
|
|
343
|
+
childList: true,
|
|
344
|
+
subtree: true,
|
|
345
|
+
characterData: true,
|
|
346
|
+
attributes: true,
|
|
347
|
+
attributeFilter: ${JSON.stringify(Object.values(tt))},
|
|
348
|
+
});
|
|
349
|
+
|
|
350
|
+
doc.__sfFitWords = function stop() {
|
|
351
|
+
win.removeEventListener("resize", onResize);
|
|
352
|
+
ro.disconnect();
|
|
353
|
+
mo.disconnect();
|
|
354
|
+
if (queued) win.cancelAnimationFrame(queued);
|
|
355
|
+
fitted.clear();
|
|
356
|
+
fitEl.remove();
|
|
357
|
+
delete doc.__sfFitWords;
|
|
358
|
+
};
|
|
359
|
+
// For the probe and for debugging: which headings are fitted, at what size,
|
|
360
|
+
// and the sheet that holds it (disable it to read a heading's set size).
|
|
361
|
+
doc.__sfFitWords.fitted = fitted;
|
|
362
|
+
doc.__sfFitWords.sheet = fitEl;
|
|
363
|
+
// …and the two questions a block's own answer changes, for the guard
|
|
364
|
+
// (scripts/test-block-size.tsx §5): which mode an element is in, and its floor.
|
|
365
|
+
doc.__sfFitWords.modeOf = modeOf;
|
|
366
|
+
doc.__sfFitWords.floorOf = floorOf;
|
|
367
|
+
})(document);`,Kae="storefront-fit-words";function LD(e){let o=e.createElement("script");return o.id=Kae,o.textContent=jae,(e.head??e.documentElement).appendChild(o),()=>{e.__sfFitWords?.(),o.remove()}}var Xae=`
|
|
368
|
+
[${yt}][${yt}] { cursor: text; }
|
|
369
|
+
`;function DD({children:e,document:o}){let{theme:t,themeMode:a,themeSwitchShown:r}=ue(),n=io(t);return BD(()=>{if(o)return RD(o,{mode:a,switchShown:r})},[o,a,r]),BD(()=>{if(o)return AD(o,n)},[o,n]),Yae(()=>{if(o)return LD(o)},[o]),Vae(qae,{children:[FD(wS,{}),FD("style",{children:Xae}),e]})}import{jsx as Py}from"react/jsx-runtime";import{useEffect as Zae,useState as Jae}from"react";import{Banner as Qae}from"efficient-shell/ui";var ip={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."},ere={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."},ore=ip.load,tre=ip.lock,are=ip.conflict,rre=ip.save;function nre(e){if(!e)return null;if(e.loadFailed)return i(ore);if(e.lockHolder)return i(tre,{name:e.lockHolder.name||i("Somebody else")});if(e.conflict)return i(are);if(e.saveFailed)return i(rre);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(ere[o.problem],{section:t,name:a})}function sre({report:e}){let o=nre(Xu(e)),[t,a]=Jae(null);return Zae(()=>{o||a(null)},[o]),!o||t===o?null:Py("aside",{className:"sf-canvas-notice",children:Py(Qae,{tone:"warning",onDismiss:()=>a(o),children:o})})}function ND(){return Py(sre,{report:Zu()})}import{jsx as cp}from"react/jsx-runtime";import{useState as MD}from"react";import{Banner as lre,Button as ire}from"efficient-shell/ui";import{UndoIcon as cre}from"efficient-shell/icons/efficient";import{useScreenDocument as dre}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSettledAction as fre}from"efficient-easel/easel";function HD(){let e=eB(),{adapter:o,flushSave:t,reloadFromServer:a}=dre(),r=o.siteVersions,[n,s]=MD(!1),[l,c]=MD(!1),d=async()=>{if(!(!r||n)){s(!0),c(!1);try{await aB({access:r,flushSave:t,reload:a})}catch{c(!0)}finally{s(!1)}}},u=fre({onPress:()=>{d()},busy:n});return e?cp("aside",{className:"sf-canvas-notice",children:cp(lre,{tone:l?"danger":"info",title:e.title,onDismiss:Ju,action:r&&e.undo?cp(ire,{variant:"secondary",size:"sm",leftIcon:cp(cre,{}),loading:u.busy,disabled:u.busy,onClick:u.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 Ire,REPEAT_ATTRIBUTE as _y,REPEAT_INDEX_ATTRIBUTE as Ry}from"efficient-easel/draw";import{usePreviewParts as gre}from"efficient-easel/draw/client";var WD=null;function Ey(e){WD=e}function f3e(){return WD}function $D(e){let{mirrorHostStyles:o}=Tp(),t=vS(),{sectionBackgroundWidth:a,themeFromDocument:r}=ue(),n=fS(),s=zD(()=>({...e.metadata??t??{},...$k(r?null:a,n)}),[e.metadata,t,a,n,r]);mre(()=>(Ey(n),()=>Ey(null)),[n]);let l=GD(null),c=bre(l),{onDocument:d}=e,u=m=>{l.current=m,d?.(m)};return pre(ure,{children:[Oy(HD,{}),Oy(ND,{}),Oy(hre,{...e,onDocument:u,typing:c,metadata:s,height:"fill",mirrorStyles:o,frameWrapper:DD})]})}function bre(e){let o=Qi(),t=gre(),a=GD({parts:t});return a.current={parts:t},zD(()=>{let r=(n,s)=>{let l=Fd(n,o),c,d=null,u=s??(l?null:yx(null,e.current,n)),m=!l&&u?xre(u):null,f=m?Ire(n):null;if(m&&u&&f?.propKey){l=Dd({...m,nodeId:f.nodeId,key:f.propKey},o),c=f.propKey;let v=u.closest(`[${_y}][${Ry}]`),C=`[${_y}="${Bd(v?.getAttribute(_y)??"")}"][${Ry}="${Bd(v?.getAttribute(Ry)??"")}"]`;d=()=>(u.ownerDocument??e.current)?.querySelector(C)??null}if(!l)return null;let x=u,I=()=>(x=yx(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?Ln(QP(y)):void 0,colorNameOf:Dt}}:null};return{at:n=>{let s=n.closest(`[${yt}]`),l=s?.getAttribute(yt);return s&&l?r(l,s):null},atSelection:()=>{let n=a.current.parts.selectedPartId;return n?r(n,null):null},onCopyText:n=>mP(n,o),copyValue:n=>pP(n,o),onChange:n=>{if(!n.typing){Sx(null);return}let s=n.element.closest(`[${yt}]`)?.getAttribute(yt)??null;Sx(s),s&&a.current.parts.selectedPartId!==s&&a.current.parts.select(s)}}},[o,e])}var yre=dS.mediaFields,Sre=/video|poster|focal|phone/i;function UD(e){return(yre[e]??[]).find(o=>!o.includes("[]")&&!Sre.test(o))??null}var jD={adds:{kind:"block",type:"ImageBlock"},takes:e=>UD(e.type)!==null,replace:(e,o)=>{let t=UD(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 KD={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 dp}from"react/jsx-runtime";import{useState as wre}from"react";import{Button as Cre,Tooltip as vre,toast as qD}from"efficient-shell/ui";import{TemplateIcon as kre}from"efficient-easel/icons";import{useSettledAction as Tre}from"efficient-easel/easel";import{useScreenDocument as Pre}from"efficient-easel/screen/components/ScreenDocumentContext";function YD({enabled:e,reason:o,onSaved:t}){let{flushSave:a}=Pre(),[r,n]=wre(!1),s=async()=>{if(!r){n(!0);try{await a()?t():qD.error(i(VD))}catch{qD.error(i(VD))}finally{n(!1)}}},l=Tre({onPress:()=>{s()},busy:r});return dp(vre,{side:"bottom",content:e?i("Save this website as a platform template"):i(o),children:dp("span",{className:"sf-tip-disabled",tabIndex:e?void 0:0,children:dp(Cre,{variant:"secondary",disabled:!e||l.busy,loading:l.busy,onClick:l.onPress,rightIcon:dp(kre,{size:15}),children:i("Save as Template")})})})}var VD="Your last changes did not save, so the template was not made. Try again.";var Ere="Save your page changes first";function XD(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:Ere}:{visible:!0,enabled:!0}:{visible:!1,hiddenReason:"no-site"}:{visible:!1,hiddenReason:"not-operator"}:{visible:!1,hiddenReason:"no-console"}}var ZD="storefront-editor:save-as-template";var Ui="ContactLocations",Ore="CityPictures",_re="CityMaps",Rre=[{key:Ore,label:"City pictures",desc:"A wall of city photos, grouped by region. Each photo links to its city's card."},{key:_re,label:"City maps",desc:"A card per city, grouped by region: address, phone, hours and a map."}];function JD(e=ni){let o=ha.find(t=>t.sections.some(a=>a.type===Ui))?.key;return!e.includes(Ui)||!o?[]:Rre.map(({key:t,label:a,desc:r},n)=>({key:t,label:a,cat:o,after:Ui,desc:r,alias:"locations offices stores branches",insert:s=>{let l=si(Ui);return l?iy(Ui,l,n)(s.nodeDefaults,s.newNodeId):null}}))}var Are="plain",QD=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],Lre="line",Fre={KeyFeatures:"filled"};function ji(e){return Fre[e]??Are}function Y3e(e,o){return ao(QD,ji(o),e)}function X3e(e){return ao(QD,Lre,e)}function oN(e,{nodeDefaults:o,newNodeId:t,sectionLabel:a,blockIsOffered:r}){let n=Is(e);if(n)return n(o,t);if(J1(e)&&r(j)&&r(ls))return{type:j,props:{...o(j),id:t(j),direction:"column",name:`${a(e)} section`,content:[{type:ls,props:{...o(ls),id:t(ls),...wo[e]?.headStyle?{headStyle:wo[e].headStyle}:{},...wo[e]?.headRowGap?{rowGap:wo[e].headRowGap}:{},...wo[e]?.headDescriptionSize?{descriptionSize:wo[e].headDescriptionSize}:{},...ji(e)!==ji(ls)?{eyebrowLook:ji(e)}:{}}},{type:e,props:{...o(e),id:t(e),headPlacement:"own-box",...eN(e,t)}}]}};if(Gt[e]?.fixed===!0)return{type:e,props:{...o(e),id:t(e),layout:"boxes"}};let s=eN(e,t);return Object.keys(s).length?{type:e,props:{...o(e),id:t(e),...s}}:null}function eN(e,o){return e==="Cards"?{template:dc(t=>o(t))}:{}}import{useEffect as Bre,useState as Dre}from"react";import{useEaselSession as Nre}from"efficient-easel/screen/lib/session-context";function tN(){let e=Nre().chrome?.products?.list,[o,t]=Dre(null);return Bre(()=>{if(!e)return;let a=!1;return e().then(r=>{a||t(r)}),()=>{a=!0}},[e]),o}function uN({mode:e,open:o}){let{setSelectedHeroId:t,setSelectHandler:a}=kE(),r=dN().tree,n=e,s=n.kind==="ticker"?n.heroId:null,l=Ss(c=>{c&&(o({kind:"ticker",heroId:c}),Kre(c))},[o]);return $t(()=>{t(s)},[s,t]),$t(()=>{a(l)},[a,l]),{partRows:(c,{rowClick:d})=>{let u=String(c.props.id);return c.type==="Hero"&&kI(c.props)&&so(iN,{icon:so(Tr,{type:"ticker",size:13}),name:i(Ol),onSelect:()=>l(u),selected:s===u,rowProps:{onClick:d(()=>l(u))},words:r})}}}function pN({mode:e,select:o}){let{setSelectedHeroPart:t,setSelectHandler:a}=yf(),r=dN().tree,{appState:n}=cN(f=>f),s=n.data.content??[],l=Mre(s);l.current=s;let c=e,d=kr.find(f=>Al[f]===c.kind),u=d&&"nodeId"in c?Ll(String(c.nodeId),d):null,m=Ss(f=>{let x=LE(f);if(!x)return;let I=l.current.findIndex(v=>String(v.props.id)===x.nodeId);if(I<0)return;let y={kind:Al[x.part],nodeId:x.nodeId};o({index:I},y)},[o]);return $t(()=>{t(u)},[u,t]),$t(()=>{a(m)},[a,m]),{partRows:(f,{rowClick:x})=>{let I=String(f.props.id),y=AE(f);if(y.length===0)return null;let v=g=>{let k=Ll(I,g.part);return so(iN,{icon:so(Tr,{type:g.part==="media"?"heroMedia":"heroImage",size:13}),name:i(g.label),onSelect:()=>m(k),selected:u===k,rowProps:{onClick:x(()=>m(k))},words:r},k)},[C,...S]=y;return Ki(lN,{children:[v(C),S.length>0&&so($re,{children:S.map(v)})]})}}}function mN(e,o){return{partRows:(t,a)=>Ki(lN,{children:[e.partRows?.(t,a),o.partRows?.(t,a)]})}}function qre(e){let{adapter:o,capabilities:t,currentSlug:a,siteId:r,docId:n,hasUnsavedEdits:s,bridgeCapabilities:l,notifyParent:c,token:d}=fp(),{hasPreviewLink:u}=t,m=$e(fN()).preview?.draftLink,f=dB(e.data),x=XD({hasTrustedConsole:!!d,canCreatePlatformTemplate:l.canCreatePlatformTemplate,capabilities:t,siteId:r,hasUnsavedEdits:s}),I=Ss(()=>{!r||!a||c(ZD,{siteId:r,slug:a})},[c,r,a]),y=GF({pageSlug:a,siteId:r,token:d}),v=o.previewHref?.(a)??y;return{barLead:()=>x.visible&&so(YD,{enabled:x.enabled,reason:x.enabled?"":x.disabledReason,onSaved:I}),barView:()=>u&&a&&so(jF,{liveHref:v,pageId:n??null,draftLink:m}),mainAction:f}}function Vre(e,o){let{capabilities:t,templateId:a,siteId:r,tokenRef:n,navigate:s}=fp(),{hasSiteTheme:l,explainsSiteSettings:c}=t,d=g=>o.setView(g),[u,m]=aN(Gn[0].id),[f,x]=aN(!1),{surface:I,setSurface:y}=vE(),v=()=>{if(l){d("styles"),o.reveal(),rN();return}e.show(Ug),e.reveal(),rN()},C={id:"pages",label:i("Pages"),icon:so(Wre,{}),panel:({onHide:g})=>so(mE,{activeSurface:I,onPreviewSurface:y,onNavigate:k=>{y(null),s(a?{kind:"template",id:a,pageSlug:k}:{kind:"page",slug:k,siteId:r??void 0})},onClose:g})},S=[];return!l&&c&&S.push({id:"appearance",label:i("Appearance"),icon:so(Gre,{}),active:e.kind==="website",onSelect:v}),l&&S.push({id:"styles",label:i("Styles"),icon:so(zre,{}),panel:({onHide:g,notify:k})=>so(_1,{tokenRef:n,siteId:r??void 0,onClose:g,onNotify:k,tab:u,onTabChange:m,revealPageGroup:f,onPageGroupRevealed:()=>x(!1)})}),{railLead:[C],railTrail:S,resolveLeftView:g=>kD(g,l),openSettings:v,openStyles:()=>{m(X0),d("styles")},openPageStyles:l?()=>{m(Un),x(!0),d("styles"),o.reveal()}:c?()=>{e.show(b1),e.reveal()}:void 0}}function Yre(){let{navigate:e,siteId:o,reloadFromServer:t,docId:a}=fp(),r=cN(s=>s.config),n=fN();$t(()=>(Ag({openPage:s=>e({kind:"page",slug:s.slug,siteId:o??void 0}),reload:()=>{t()},config:r}),()=>Ag(null)),[e,o,t,r]),$t(()=>{let s=na();if(!s||!a)return;let l=!1;return jre(n).list().then(c=>{l||s.learn(c)}).catch(()=>{}),()=>{l=!0}},[a,n])}function hN(){let e=Qi();return Ss(o=>{hP(o,e)},[e])}function Xre(e,o,t,a){let{kind:r,open:n}=e,{selected:s,zoneOf:l}=o;$t(()=>{gD(s?.type==="BookingBox"&&s.props.region==="confirm"?bD(l(String(s.props.id))):null)},[s?.props.id]);let c=Z1(e,o),{capabilities:{hasSiteSettings:d}}=fp();Yre();let{chat:u,setChat:m,setSelected:f,setSelectHandler:x}=bf(),I=Ss(()=>n(y1),[n]),y=r==="chat";$t(()=>{f(y)},[y,f]),$t(()=>{x(I)},[x,I]);let{setOpenHandler:v}=El(),C=Ss(()=>n(S1),[n]);$t(()=>{v(C)},[v,C]);let S=mN(uN(e),pN(e)),g=qre(o),k=Vre(e,a),T=t.device,F=hN();return{...S,...g,...k,hasOwnRows:P=>P.type===hu,ownRows:c.renderLocationTree,sectionPressed:c.sectionPressed,onCopyItem:F,wrap:P=>so(Pp.Provider,{value:!0,children:Ki(Ure.Provider,{value:T,children:[P,so(gB,{})]})}),addPanelRow:P=>d?Ki("div",{className:"sf-addside-sitewide",children:[so("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:so(Tr,{type:"chat",size:16})}),Ki("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{P(),I()},children:[i("Live chat"),so("span",{className:"sf-addside-sitewide-desc",children:i("A chat bubble on every page")})]}),so(Hre,{checked:u.enabled,onChange:B=>m({enabled:B}),ariaLabel:i("Show the chat bubble on the whole site")})]}):void 0}}var nN=null,Ay=new WeakMap;function Zre(e){let o=yS();if(!e||!o)return e;nN!==o&&(nN=o,Ay=new WeakMap);let t=Ay.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},Ay.set(e,t)),t}var Jre={isLockedBlock:(e,o)=>PD(e,o)||!!(o&&na()?.heldElsewhere(o.props.id)),duplicateBlocked:su,nestDepth:(e,o,t)=>o===Sc?IC(e,t):0,newSectionNode:oN,canAddTo:(e,o,t,a)=>Zre(xD(e,o,a,t)),blockIsOffered:mD,slotsOf:ID,resolveOnInsert:!0},Qre=new Proxy(KD,{get:(e,o)=>{let t=Reflect.get(e,o);return typeof t=="string"?i(t):t}}),ene={labelAtLevel:(e,o,t)=>i(Ap(e,o,t)),descriptions:Qre,categoryLabel:e=>{let o=bB(e);return o===void 0?void 0:i(o)},firstSection:yB,blockRowName:yD,rowName:SD,plainText:Za,Icon:Tr,Thumbnail:O1,useProducts:tN,presets:JD()},one={desktop:2e3,tablet:800,mobile:390},sN="desktop",tne={options:yE,initial:sN,fluid:sN,widths:one},ane={read:CD,write:e=>vD(e),forSelection:(e,o)=>TD(e,o)},rne={first:Ro,last:Me,firstGroup:Ne,lastGroup:_e,isSectionGroup:ts,sectionGroupZone:A_,panelOf:e=>e===Ro?g1:null,get sharedReach(){return Ar()?sne:void 0},get shared(){return na()?OD:void 0},get groupTab(){return Ar()?a1:void 0},get groupBadge(){return Ar()?Hg({type:_e})??void 0:void 0},get changeNotice(){return Ar()?r1():void 0},get band(){return Ar()?nne:void 0},get groupAccepts(){return Ar()?B_:void 0}},nne={foldable:!0},sne=e=>Hg(e)??ED(e);function lne(e){return{...mN(uN(e),pN(e)),onCopyItem:hN(),openSettings:()=>e.show(Ug)}}function ine(e,o){dR(e,o),NF()}var yWe={useOwnerName:jn,useDocumentLabel:tE,useBridges:Xre,useStandaloneBridges:lne,useDocumentPass:ine,blockRules:Jre,blockLook:ene,devices:tne,leftView:ane,pinned:rne,Canvas:$D,canvasDrag:{media:jD},Inspector:C1};export{ma as a,J as b,_t as c,GN as d,nt as e,Ts as f,Rne as g,TS as h,$N as i,Ane as j,Lne as k,Ep as l,PS as m,Fne as n,co as o,YN as p,Bne as q,Nne as r,Mne as s,Hne as t,oc as u,jt as v,ve as w,j as x,RS as y,Kne as z,LS as A,Yne as B,Xne as C,US as D,Za as E,ao as F,Dp as G,Np as H,O2 as I,ac as J,pse as K,_s as L,mse as M,VS as N,Ise as O,YS as P,Ja as Q,gse as R,bse as S,yse as T,rc as U,Cse as V,st as W,As as X,_se as Y,W2 as Z,Rse as _,Ase as $,q2 as aa,Lse as ba,V2 as ca,Bse as da,J2 as ea,Dse as fa,eM as ga,Nse as ha,Mse as ia,Kp as ja,lw as ka,iw as la,cw as ma,Hse as na,Wse as oa,lM as pa,zse as qa,Gse as ra,dw as sa,iM as ta,$se as ua,Use as va,uw as wa,z as xa,te as ya,A as za,Po as Aa,$ as Ba,it as Ca,ct as Da,Fs as Ea,Be as Fa,cc as Ga,pM as Ha,xw as Ia,yle as Ja,Io as Ka,jo as La,xo as Ma,Jp as Na,Sw as Oa,Ds as Pa,ww as Qa,Rle as Ra,Ale as Sa,bM as Ta,Cw as Ua,kw as Va,Lle as Wa,Qp as Xa,yM as Ya,wM as Za,Pw as _a,em as $a,dt as ab,Fle as bb,Ble as cb,om as db,Dle as eb,Nle as fb,Mle as gb,rm as hb,Hle as ib,Ns as jb,Wle as kb,zle as lb,Gle as mb,wg as nb,$e as ob,Ec as pb,Cm as qb,rH as rb,vm as sb,km as tb,Gs as ub,Ze as vb,Uie as wb,nH as xb,wo as yb,Q1 as zb,jRe as Ab,eR as Bb,KRe as Cb,qRe as Db,K as Eb,fu as Fb,kRe as Gb,Ht as Hb,Wt as Ib,Ao as Jb,rAe as Kb,NTe as Lb,kf as Mb,Nl as Nb,ZE as Ob,JE as Pb,QE as Qb,MTe as Rb,Zq as Sb,eO as Tb,HTe as Ub,aO as Vb,fR as Wb,NAe as Xb,fne as Yb,ee as Zb,i as _b,yo as $b,uR as ac,WAe as bc,mv as cc,wa as dc,xv as ec,gue as fc,ph as gc,Y5 as hc,bue as ic,uo as jc,pW as kc,Wh as lc,Bk as mc,ohe as nc,ht as oc,ahe as pc,rhe as qc,ad as rc,nhe as sc,rd as tc,she as uc,lhe as vc,Hk as wc,Wk as xc,yW as yc,SW as zc,fhe as Ac,phe as Bc,mhe as Cc,hhe as Dc,xhe as Ec,zk as Fc,mr as Gc,PW as Hc,bhe as Ic,EW as Jc,yhe as Kc,ro as Lc,sd as Mc,She as Nc,whe as Oc,Che as Pc,vhe as Qc,khe as Rc,The as Sc,Sn as Tc,Phe as Uc,Ml as Vc,Rf as Wc,ZTe as Xc,Gd as Yc,De as Zc,Cye as _c,vye as $c,kye as ad,AP as bd,jc as cd,ume as dd,C6 as ed,Jv as fd,gR as gd,vc as hd,nde as id,ba as jd,a4 as kd,sde as ld,lde as md,kc as nd,LC as od,fn as pd,n4 as qd,ide as rd,cde as sd,dde as td,fde as ud,A6 as vd,vh as wd,Yc as xd,ol as yd,Tme as zd,Ph as Ad,Pme as Bd,tl as Cd,fk as Dd,uk as Ed,Eme as Fd,pk as Gd,hk as Hd,wu as Id,SR as Jd,rLe as Kd,nLe as Ld,Dh as Md,Ft as Nd,oe as Od,ie as Pd,ce as Qd,Ie as Rd,me as Sd,Te as Td,TLe as Ud,xi as Vd,Ii as Wd,QP as Xd,Pn as Yd,qs as Zd,sx as _d,cx as $d,Od as ae,yt as be,Fge as ce,Bge as de,Dge as ee,Nge as fe,w$ as ge,C$ as he,Mge as ie,En as je,fx as ke,Hge as le,Wge as me,Jd as ne,Qd as oe,Fn as pe,Wx as qe,ej as re,Rn as se,jx as te,Kx as ue,Nn as ve,Sr as we,kSe as xe,Sl as ye,f0 as ze,TSe as Ae,oI as Be,PSe as Ce,ESe as De,OSe as Ee,Mj as Fe,_Se as Ge,Gj as He,$j as Ie,RSe as Je,ASe as Ke,jj as Le,$r as Me,LLe as Ne,FLe as Oe,ku as Pe,IJ as Qe,gJ as Re,BLe as Se,DLe as Te,fb as Ue,db as Ve,Gl as We,n_ as Xe,s_ as Ye,$l as Ze,GO as _e,mg as $e,N0e as af,Jn as bf,xg as cf,jO as df,KO as ef,F9 as ff,qO as gf,Mf as hf,VO as if,JLe as jf,BR as kf,QLe as lf,eFe as mf,oFe as nf,Si as of,Pu as pf,iFe as qf,Xo as rf,IFe as sf,$R as tf,UR as uf,jR as vf,yk as wf,Nme as xf,KR as yf,VJ as zf,YJ as Af,XJ as Bf,ZJ as Cf,qR as Df,VR as Ef,JJ as Ff,PFe as Gf,EFe as Hf,DFe as If,YR as Jf,NFe as Kf,QJ as Lf,MFe as Mf,HFe as Nf,eQ as Of,WFe as Pf,zFe as Qf,GFe as Rf,$Fe as Sf,UFe as Tf,XFe as Uf,Ou as Vf,ZFe as Wf,eBe as Xf,sQ as Yf,QR as Zf,aBe as _f,rBe as $f,eA as ag,Ur as bg,ps as cg,BBe as dg,DBe as eg,NBe as fg,HA as gg,WA as hg,MQ as ig,oDe as jg,uDe as kg,pDe as lg,KA as mg,mDe as ng,hDe as og,yC as pg,BDe as qg,rL as rg,Gb as sg,nL as tg,WDe as ug,zDe as vg,GDe as wg,$b as xg,$De as yg,UDe as zg,sL as Ag,yee as Bg,bNe as Cg,za as Dg,Gu as Eg,wNe as Fg,px as Gg,Vge as Hg,mx as Ig,QT as Jg,ANe as Kg,HL as Lg,WL as Mg,YNe as Ng,$u as Og,GL as Pg,$L as Qg,QNe as Rg,Bee as Sg,Dee as Tg,Nee as Ug,e2e as Vg,d2e as Wg,$ee as Xg,Uee as Yg,ZL as Zg,f2e as _g,u2e as $g,$2e as ah,fHe as bh,wHe as ch,gy as dh,CHe as eh,vHe as fh,CB as gh,_He as hh,OB as ih,RHe as jh,XC as kh,zi as lh,Ia as mh,Tie as nh,YM as oh,gm as ph,Ws as qh,Pie as rh,_ie as sh,ZM as th,Xw as uh,Rie as vh,nr as wh,tH as xh,Nie as yh,Mie as zh,zs as Ah,Hie as Bh,Wie as Ch,Tm as Dh,oC as Eh,Zie as Fh,OE as Gh,Bve as Hh,TI as Ih,qn as Jh,Hve as Kh,Wve as Lh,P7 as Mh,zve as Nh,Ll as Oh,LE as Ph,FE as Qh,GHe as Rh,wy as Sh,DB as Th,Yr as Uh,Sy as Vh,Wte as Wh,$He as Xh,Qu as Yh,Gi as Zh,ep as _h,UHe as $h,jHe as ai,OM as bi,Xle as ci,_M as di,RM as ei,Qle as fi,AM as gi,LM as hi,eie as ii,oie as ji,tie as ki,MB as li,$i as mi,ys as ni,HB as oi,ap as pi,rp as qi,np as ri,WB as si,zB as ti,GB as ui,$B as vi,KB as wi,qB as xi,f4e as yi,u4e as zi,p4e as Ai,m4e as Bi,pt as Ci,nae as Di,QB as Ei,lae as Fi,oD as Gi,tD as Hi,rD as Ii,xae as Ji,M4e as Ki,cn as Li,pC as Mi,uC as Ni,bH as Oi,yH as Pi,SH as Qi,Ice as Ri,wH as Si,gce as Ti,$s as Ui,bce as Vi,yce as Wi,Sc as Xi,IC as Yi,PE as Zi,_ve as _i,q4e as $i,V4e as aj,wae as bj,$ae as cj,mde as dj,V6 as ej,In as fj,Bme as gj,cC as hj,fH as ij,sce as jj,gc as kj,fC as lj,uH as mj,pH as nj,mH as oj,cce as pj,dce as qj,fce as rj,uce as sj,Ne as tj,_e as uj,jOe as vj,L_ as wj,Jf as xj,sie as yj,die as zj,Xc as Aj,Rme as Bj,Ame as Cj,Lme as Dj,f3e as Ej,PEe as Fj,r_ as Gj,Ol as Hj,vve as Ij,kE as Jj,kve as Kj,Tve as Lj,Pve as Mj,SRe as Nj,R1 as Oj,A1 as Pj,L1 as Qj,jk as Rj,UW as Sj,_o as Tj,It as Uj,ld as Vj,wn as Wj,Whe as Xj,zhe as Yj,$he as Zj,Uhe as _j,jhe as $j,Khe as ak,qhe as bk,Yhe as ck,cd as dk,$h as ek,KW as fk,qk as gk,Vk as hk,ece as ik,rce as jk,bc as kk,wc as lk,js as mk,kC as nk,_ce as ok,Rce as pk,Dm as qk,o4 as rk,Zce as sk,Sde as tk,wde as uk,C4 as vk,Ko as wk,pn as xk,qm as yk,Vm as zk,Ym as Ak,nfe as Bk,sfe as Ck,VC as Dk,lfe as Ek,ife as Fk,cfe as Gk,QC as Hk,ov as Ik,qt as Jk,cv as Kk,a3 as Lk,Lue as Mk,Sv as Nk,Wue as Ok,Cv as Pk,Pv as Qk,Ev as Rk,Ov as Sk,_v as Tk,Rv as Uk,Av as Vk,hh as Wk,w3 as Xk,C3 as Yk,Zs as Zk,xh as _k,Fv as $k,cpe as al,k3 as bl,dpe as cl,fpe as dl,upe as el,Dv as fl,xpe as gl,E3 as hl,Ipe as il,gpe as jl,_3 as kl,Ih as ll,A3 as ml,wpe as nl,L3 as ol,Cpe as pl,F3 as ql,mt as rl,Tpe as sl,Ppe as tl,Epe as ul,Ope as vl,Wc as wl,_pe as xl,yh as yl,Mpe as zl,Gv as Al,M3 as Bl,Wpe as Cl,Js as Dl,J3 as El,sme as Fl,P6 as Gl,yme as Hl,O6 as Il,Sme as Jl,wme as Kl,Cme as Ll,Jc as Ml,al as Nl,Hme as Ol,Wme as Pl,zme as Ql,wk as Rl,Ck as Sl,vk as Tl,Gme as Ul,yn as Vl,od as Wl,qme as Xl,Vme as Yl,Yme as Zl,Ak as _l,Zme as $l,Oa as am,oa as bm,xr as cm,wIe as dm,CIe as em,vIe as fm,kIe as gm,TIe as hm,PIe as im,EIe as jm,AIe as km,LIe as lm,iG as mm,FIe as nm,BIe as om,DIe as pm,NIe as qm,MIe as rm,HIe as sm,WIe as tm,zIe as um,uG as vm,GIe as wm,Jh as xm,$Ie as ym,Id as zm,Mo as Am,Qt as Bm,vT as Cm,eh as Dm,kT as Em,bd as Fm,UIe as Gm,jIe as Hm,LG as Im,KIe as Jm,qIe as Km,VIe as Lm,YIe as Mm,XIe as Nm,ZIe as Om,Vo as Pm,JIe as Qm,QIe as Rm,dd as Sm,Sd as Tm,wd as Um,ox as Vm,vd as Wm,ege as Xm,XG as Ym,oge as Zm,tge as _m,age as $m,BT as an,rge as bn,nge as cn,sge as dn,lge as en,ige as fn,cge as gn,ax as hn,dge as in,NT as jn,MT as kn,HT as ln,fge as mn,nx as nn,c$ as on,uge as pn,pge as qn,m0e as rn,WO as sn,Wo as tn,Hl as un,WV as vn,IO as wn,TPe as xn,PPe as yn,EPe as zn,OPe as An,SO as Bn,LPe as Cn,FPe as Dn,BPe as En,UP as Fn,jP as Gn,If as Hn,hE as In,xE as Jn,gE as Kn,gf as Ln,sve as Mn,lve as Nn,bf as On,g7 as Pn,Ive as Qn,El as Rn,Sve as Sn,vE as Tn,ln as Un,PM as Vn,qle as Wn,Vle as Xn,h_e as Yn,x_e as Zn,I_e as _n,Lve as $n,yf as ao,wne as bo,T$ as co,rbe as do,nbe as eo,aP as fo,sbe as go,lbe as ho,b0 as io,jSe as jo,KSe as ko,qSe as lo,VSe as mo,H0 as no,W0 as oo,Iwe as po,gwe as qo,CK as ro,bwe as so,ywe as to,Swe as uo,wwe as vo,vK as wo,Cwe as xo,vwe as yo,kwe as zo,Twe as Ao,EK as Bo,Pwe as Co,Mwe as Do,Hwe as Eo,bI as Fo,yI as Go,DE as Ho,vTe as Io,$E as Jo,jl as Ko,gY as Lo,bY as Mo,zEe as No,VEe as Oo,Uf as Po,Me as Qo,nu as Ro,Tt as So,D1 as To,ai as Uo,N1 as Vo,M1 as Wo,ERe as Xo,ORe as Yo,MF as Zo,py as _o,HF as $o,xD as ap,S5e as bp,SD as cp,PD as dp,lp as ep,Bae as fp,Dae as gp,N5e as hp,hne as ip,bne as jp,Are as kp,QD as lp,Lre as mp,ji as np,Y3e as op,X3e as pp,yWe as qp};
|