efficient-storefront-blocks 0.91.0 → 0.92.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/chunks/{EditorPreviewCheckout-NFLTZCIQ.js → EditorPreviewCheckout-VHPWPS3N.js} +1 -1
  3. package/dist/chunks/{SiteEditorProvider-UWRLDKJS.js → SiteEditorProvider-C4HT4BT4.js} +1 -1
  4. package/dist/chunks/chunk-7L5DVQZ4.js +1 -0
  5. package/dist/chunks/chunk-PW7BA4ZJ.js +1 -0
  6. package/dist/chunks/{chunk-HRTZ7SYX.js → chunk-RAOSZKA3.js} +1 -1
  7. package/dist/chunks/chunk-S2WLJ6H2.js +388 -0
  8. package/dist/chunks/{fitment-data-6KHIA3AT.js → fitment-data-URJZ24LU.js} +1 -1
  9. package/dist/contract.js +11 -11
  10. package/dist/editor/lib/document/blocks/commerce/AlloyWheelsListing/fields.js +1 -1
  11. package/dist/editor/lib/document/blocks/commerce/index.d.ts +1 -1
  12. package/dist/editor/lib/document/blocks/service/AppointmentBooking/fields.js +1 -1
  13. package/dist/editor/lib/document/blocks/service/ContactRouting/fields.js +1 -1
  14. package/dist/editor/lib/document/blocks/service/Events/fields.js +1 -1
  15. package/dist/editor/lib/document/blocks/service/index.d.ts +1 -1
  16. package/dist/editor/lib/document/config.d.ts +2 -0
  17. package/dist/editor/lib/document/config.js +1 -1
  18. package/dist/editor/lib/storefront-editor-words.d.ts +2 -7
  19. package/dist/editor/lib/storefront-editor-words.js +1 -1
  20. package/dist/editor.css +1 -1
  21. package/dist/index.js +53 -39
  22. package/dist/links.js +1 -1
  23. package/dist/render/built-with.json +1 -1
  24. package/dist/render/components/AppointmentBooking.d.ts +2 -1
  25. package/dist/render/components/AppointmentBooking.js +1 -1
  26. package/dist/render/components/ContactRouting.d.ts +2 -1
  27. package/dist/render/components/ContactRouting.js +1 -1
  28. package/dist/render/components/Events.d.ts +3 -1
  29. package/dist/render/components/Events.js +1 -1
  30. package/dist/render/components/GridCardTemplate.d.ts +30 -1
  31. package/dist/render/components/GridCardTemplate.js +1 -1
  32. package/dist/render/components/ProductGridSection.d.ts +2 -1
  33. package/dist/render/components/ProductGridSection.js +1 -1
  34. package/dist/render/components/PublishedFooter.js +1 -1
  35. package/dist/render/components/PublishedHeader.js +1 -1
  36. package/dist/render/components/RatingBlockView.d.ts +5 -0
  37. package/dist/render/components/RatingBlockView.js +1 -0
  38. package/dist/render/components/ReviewForm.js +1 -1
  39. package/dist/render/components/TyrePlpCard.d.ts +2 -1
  40. package/dist/render/components/TyrePlpCard.js +1 -1
  41. package/dist/render/components/TyreSummaryCard.d.ts +2 -1
  42. package/dist/render/components/TyreSummaryCard.js +1 -1
  43. package/dist/render/components/WheelCardFrame.d.ts +1 -2
  44. package/dist/render/components/WheelCardFrame.js +1 -1
  45. package/dist/render/components/card-pieces/CardPicture.d.ts +1 -1
  46. package/dist/render/components/card-pieces/CardProductPicture.js +1 -1
  47. package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +5 -14
  48. package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -1
  49. package/dist/render/lib/api/index.d.ts +3 -1
  50. package/dist/render/lib/api/index.js +1 -1
  51. package/dist/render/lib/chrome-cache.d.ts +1 -0
  52. package/dist/render/lib/chrome-cache.js +1 -1
  53. package/dist/render/lib/content/events-featured-look.d.ts +3 -0
  54. package/dist/render/lib/content/events-featured-look.js +1 -0
  55. package/dist/render/lib/content/product-card-seed.d.ts +7 -0
  56. package/dist/render/lib/content/product-card-seed.js +1 -1
  57. package/dist/render/lib/content/rating.d.ts +1 -0
  58. package/dist/render/lib/content/rating.js +1 -0
  59. package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/meta.d.ts +6 -0
  60. package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/meta.js +1 -1
  61. package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/render.js +1 -1
  62. package/dist/render/lib/document/blocks/commerce/ProductColour/render.js +1 -1
  63. package/dist/render/lib/document/blocks/commerce/ProductEyebrow/render.js +1 -1
  64. package/dist/render/lib/document/blocks/commerce/ProductGrid/render.js +1 -1
  65. package/dist/render/lib/document/blocks/commerce/ProductPrice/render.js +1 -1
  66. package/dist/render/lib/document/blocks/commerce/ProductSpecs/render.js +1 -1
  67. package/dist/render/lib/document/blocks/service/AppointmentBooking/render.js +1 -1
  68. package/dist/render/lib/document/blocks/service/ContactRouting/render.js +1 -1
  69. package/dist/render/lib/document/blocks/service/Events/meta.d.ts +6 -0
  70. package/dist/render/lib/document/blocks/service/Events/meta.js +1 -1
  71. package/dist/render/lib/document/blocks/service/Events/render.js +1 -1
  72. package/dist/render/lib/document/blocks/service/RatingBlock/meta.d.ts +2 -1
  73. package/dist/render/lib/document/blocks/service/RatingBlock/meta.js +1 -1
  74. package/dist/render/lib/document/blocks/service/RatingBlock/render.js +1 -1
  75. package/dist/render/lib/document/card-templates.d.ts +3 -1
  76. package/dist/render/lib/document/card-templates.js +1 -1
  77. package/dist/render/lib/document/published-chrome-data.d.ts +2 -0
  78. package/dist/render/lib/document/published-chrome-data.js +1 -0
  79. package/dist/render/lib/document/render-config.d.ts +2 -0
  80. package/dist/render/lib/document/render-config.js +1 -1
  81. package/dist/render/lib/document/section-to-box-rows-detail.js +1 -1
  82. package/dist/render/lib/document/section-to-box-rows-events.d.ts +1 -0
  83. package/dist/render/lib/document/section-to-box-rows-events.js +1 -0
  84. package/dist/render/lib/document/section-to-box-rows-reviews.d.ts +2 -1
  85. package/dist/render/lib/document/section-to-box-rows-reviews.js +1 -1
  86. package/dist/render/lib/document/section-to-box-rows-service.d.ts +1 -0
  87. package/dist/render/lib/document/section-to-box-rows-service.js +1 -0
  88. package/dist/render/lib/document/section-to-box-rows-spec.js +1 -1
  89. package/dist/render/lib/sections/grid-no-hole.d.ts +1 -1
  90. package/dist/render/lib/wheels/plp-hydrate.d.ts +3 -0
  91. package/dist/render/lib/wheels/plp-hydrate.js +1 -1
  92. package/dist/words.d.ts +12 -7
  93. package/dist/words.js +4 -4
  94. package/package.json +4 -2
  95. package/dist/chunks/chunk-4VRLGKYU.js +0 -387
  96. package/dist/chunks/chunk-PHQQRGQZ.js +0 -1
  97. package/dist/chunks/chunk-YL2HPWVT.js +0 -1
  98. package/dist/render/components/wheels-plp/PlpCard.d.ts +0 -29
  99. package/dist/render/components/wheels-plp/PlpCard.js +0 -1
  100. /package/dist/chunks/{chunk-XMTQMRA3.js → chunk-JB6ISWYA.js} +0 -0
  101. /package/dist/chunks/{chunk-4VRLGKYU.js.LEGAL.txt → chunk-S2WLJ6H2.js.LEGAL.txt} +0 -0
@@ -1,387 +0,0 @@
1
- import{$ as Dt,$a as ow,A as Sn,Aa as KS,B as wn,Ca as uc,D as AS,Ea as va,G as zs,Ga as ka,Ha as pc,I as RS,J as om,Ja as VS,M as cc,N as LS,Na as qS,O as FS,P as BS,Pa as YS,Q as dc,R as DS,S as NS,Ta as xe,U as MS,V as tm,X as HS,Xa as QS,Y as Xo,Ya as ew,Z as ir,_ as WS,_a as mc,a as pt,aa as fc,ab as tw,b as In,c as TS,d as Zt,da as $S,e as Jp,ea as am,f as bn,ha as zS,ia as rm,j as $s,ka as nm,l as Ca,m as Qp,oa as GS,s as PS,t as ES,u as em,ua as cr,v as to,w as OS,wa as US,x as _S,y as yn,ya as jS,z as Lo}from"./chunk-PHQQRGQZ.js";import{d as XS,e as Ta,f as ZS,g as JS,j as Cn,n as sm}from"./chunk-XMTQMRA3.js";var ee=e=>typeof e=="string"&&e?e:void 0;var rw="en",hc=null,nw=rw,sw=null;function Eie(e,o,t){hc=e??null,nw=o||rw,sw=t??null}function re(){return sw}function lm(){return nw}function lw(){return hc}function aw(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=hc?hc[e]:void 0;if(typeof t=="function"){try{let a=ee(t(o??{}));if(a)return a}catch{}return aw(e,o)}return aw(ee(t)??e,o)}function vo(e,o,t,a){return i(t===1?e:o,{...a,n:t})}import{jsx as im,Fragment as yM,jsxs as SM}from"react/jsx-runtime";import{createContext as wM,useContext as CM}from"react";var vM={mirrorHostStyles:!0,css:null,fontHrefs:[]},iw=wM(vM);function Rie({value:e,children:o}){return im(iw.Provider,{value:e,children:o})}function cm(){return CM(iw)}function cw(){let{css:e,fontHrefs:o}=cm();return SM(yM,{children:[o.map(t=>im("link",{rel:"stylesheet",href:t},t)),e?im("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as kM}from"react/jsx-runtime";import{createContext as TM,useContext as PM}from"react";var dw=TM(void 0);function Die({metadata:e,children:o}){return kM(dw.Provider,{value:e,children:o})}var fw=()=>PM(dw);import{jsx as uo,Fragment as Q2,jsxs as lc}from"react/jsx-runtime";import{useCallback as Hs,useEffect as Yt,useRef as oie,useState as Y2}from"react";import{SettingsSwitch as tie}from"efficient-easel/panel";import{PagesIcon as aie,StylesIcon as rie}from"efficient-easel/rail";import{PaletteIcon as nie}from"efficient-shell/icons/efficient";import{Subtree as sie,TreeRow as eM}from"efficient-easel/tree";import{useEasel as oM}from"efficient-easel/easel";import{useEaselStrings as tM}from"efficient-easel/strings";import{createContext as EM,useContext as OM}from"react";var dm=EM(!1),Hie=()=>OM(dm);import{useMemo as _M,useRef as AM}from"react";import{useEaselApi as RM}from"efficient-easel/easel";import{useSectionOps as LM}from"efficient-easel/screen/lib/document/use-section-ops";function xc(){let e=RM(),o=LM(),t=AM(o);return t.current=o,_M(()=>({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 iK}from"efficient-easel/draw";import{insertAt as cK,moveTo as dK,removeAt as fK}from"efficient-easel/fields";function Pa(e,o){let t=globalThis,a=Symbol.for(e),r=t[a];return r===void 0&&(r=o(),t[a]=r),r}var ko="dataSource",Jt="dataSourceOptions",FM="dataRows",mt="countKey",Gs="counts",qie="location-payment-methods",pw="shop-payment-methods",Yie="delivery-options";function BM(e){return typeof e.open=="function"}var DM=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;function Us(){return Pa("efficient.block-sources",()=>({sources:new Map,revision:0}))}var NM=e=>[e?.key,e?.label,e?.value].every(o=>typeof o=="string"&&o.trim()!==""),MM=e=>[e?.key,e?.label].every(o=>typeof o=="string"&&o.trim()!==""),uw=e=>typeof e=="string"&&e.trim()!=="";function HM(e){if(!e||!uw(e.label))return null;if(BM(e))return{label:e.label.trim(),open:e.open};let o=e.href;return uw(o)?{label:e.label.trim(),href:o.trim()}:null}function WM(e){if(typeof e.key!="string"||!DM.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=HM(e.edit);return{key:e.key,label:e.label.trim(),blocks:[...e.blocks],...e.sample?{sample:e.sample.map(t=>hw(t)).filter(t=>t!==null)}:{},...Array.isArray(e.choices)?{choices:e.choices.filter(NM)}:{},...Array.isArray(e.fields)?{fields:e.fields.filter(MM).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 Xie(e){let o=e.map(WM),t=Us();for(let a of o)t.sources.set(a.key,a);o.length&&(t.revision+=1)}function Zie(e){let o=[...Us().sources.values()];return e===void 0?o:o.filter(t=>t.blocks.includes(e))}function gc(e){return Us().sources.get(e)??null}function mw(e){return Us().sources.get(e)?.choices??[]}function Jie(){return Us().revision}function lo(e){let o=e?.[ko];return typeof o=="string"?o.trim():""}function hw(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let o={};for(let[t,a]of Object.entries(e)){let r=ee(a);r&&(o[t]=r)}return Object.keys(o).length?o:null}function $M(e){let o=e?.[FM];return Array.isArray(o)?o.map(hw).filter(t=>t!==null):null}function Qie(e,o,t=[]){let a=$M(e);if(a!==null&&(a.length||!o))return{rows:a,sample:!1};if(!o)return{rows:[],sample:!1};let r=gc(lo(e))?.sample;return{rows:r?.length?r:t,sample:!0}}import{isNodeList as C4}from"efficient-easel/data";var xw=["general","commerce","service"],Ea=[{key:"openers",title:"Hero & intros",defaultExpanded:!0,templateable:!0,sections:[{type:"Hero",label:"Hero",set:"general"},{type:"HeroSingle",label:"Hero Single",set:"general"},{type:"IntroBleed",label:"Scroll-Over Text",set:"general"}]},{key:"shop",title:"Shop & galleries",templateable:!0,sections:[{type:"Collections",label:"Collections",set:"commerce"},{type:"AlloyWheelsListing",label:"List",set:"commerce"},{type:"CatalogFilterBar",label:"Catalog Filter Bar",set:"commerce"},{type:"ProductGrid",label:"Product Grid",set:"commerce"},{type:"FitmentFinder",label:"Fitment Form",set:"commerce"},{type:"Gallery",label:"Tabbed Gallery",set:"commerce"},{type:"GalleryB",label:"Customer Photo Grid",set:"commerce"}]},{key:"product",title:"Product page",templateable:!0,sections:[{type:"ProductHero",label:"Product Hero",set:"commerce"},{type:"SpecTable",label:"Spec Table",set:"commerce"},{type:"ProcessSteps",label:"Image & Text Columns",set:"general"},{type:"DetailRows",label:"Feature Rows",set:"commerce"},{type:"FitmentTable",label:"Fitment Table",set:"commerce"},{type:"TyreSizes",label:"Tyre Sizes",set:"commerce"},{type:"EuTyreLabel",label:"EU Tyre Label",set:"commerce"}]},{key:"checkout",title:"Checkout & ordering",templateable:!0,sections:[{type:"OrderSummary",label:"Order Table",set:"general"},{type:"CheckoutCTA",label:"Ready-to-Order Banner",set:"commerce"}]},{key:"about",title:"About & brand story",templateable:!0,sections:[{type:"Footprint",label:"Locations Map",set:"general"}]},{key:"content",title:"Text & content",templateable:!0,sections:[{type:"Prose",label:"Editorial Text",set:"general"},{type:"ParagraphsA",label:"Lead Text",set:"general"},{type:"Cards",label:"Cards",set:"general"}]},{key:"proof",title:"Stats & social proof",templateable:!0,sections:[{type:"Stats",label:"Stats",set:"general"},{type:"Chart",label:"Chart",set:"general"},{type:"Mockup",label:"Mockup Card",set:"general"},{type:"Reviews",label:"Reviews",set:"service"}]},{key:"promo",title:"Promotions & sign-ups",templateable:!0,sections:[{type:"Banner",label:"Banner",set:"general"},{type:"TitleWithButtons",label:"Call-to-Action Heading",set:"general"},{type:"Countdown",label:"Countdown",set:"general"}]},{key:"blog",title:"Blog & journal",templateable:!0,sections:[{type:"FeaturedCover",label:"Feature Banner",set:"general"},{type:"LongRead",label:"Article Text",set:"general"},{type:"ArticleBody",label:"Article Body",set:"service"},{type:"Events",label:"Latest Posts",set:"service"}]},{key:"navigation",title:"Navigation & wayfinding",templateable:!0,sections:[{type:"Breadcrumb",label:"Breadcrumb",set:"general"},{type:"CategoryBar",label:"Category Bar",set:"general"},{type:"DocTabs",label:"Document Tabs",set:"general"}]},{key:"legal",title:"Legal & documents",templateable:!0,sections:[{type:"DocBody",label:"Document Text",set:"general"}]},{key:"contact",title:"Contact, FAQ & forms",templateable:!0,sections:[{type:"FAQ",label:"Q&A",set:"general"},{type:"ContactRouting",label:"Contact Form",set:"service"},{type:"ContactLocations",label:"Contact / Locations",set:"general"},{type:"SubmitBuild",label:"Photo Submission Form",set:"service"},{type:"ReviewForm",label:"Review Form",set:"service"},{type:"Form",label:"Form",set:"service"},{type:"AppointmentBooking",label:"Booking Form",set:"service"}]},{key:"structure",title:"Layout, structure & embeds",templateable:!1,sections:[{type:"SectionHeader",label:"Section Header",set:"general"},{type:"Flex",label:"Box",set:"general"},{type:"Divider",label:"Divider",set:"general"},{type:"CustomHTML",label:"Custom HTML",set:"general"}]},{key:"layouts",title:"Layouts",templateable:!0,sections:[{type:"Manifesto",label:"Brand Text",set:"general"},{type:"Split",label:"Image & Text Split",set:"general"},{type:"Subscribe",label:"Signup Form",set:"service"},{type:"Ticker",label:"Scrolling Bar",set:"general"},{type:"SpecStrip",label:"Spec Strip",set:"general"},{type:"TimelineTrack",label:"Milestone Timeline",set:"general"},{type:"Timeline",label:"Story Timeline",set:"general"},{type:"Logos",label:"Logos",set:"general"},{type:"DocMasthead",label:"Page Header",set:"general"}]}];function oce(){return Object.fromEntries(Ea.map(e=>[e.key,{title:e.title,components:e.sections.map(o=>o.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var fm={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).\n\nWHAT REPLACES IT: Cards with Card content set to Delivery options, drawn from its card template: the backend's `delivery-options` rows (name, price, time, note), one card each, in the website's own currency. The one Highlighted card row and the Highlight badge replace the per-option Highlight switch.\n\nWHAT A MERCHANT LOSES: more than one highlighted option (Lewis approved ONE Highlighted card row, 2026-10-10). No stored node held two.\n\nNO CONVERTER ROW: 0 DeliveryOptions nodes on the US sites, draft or published (read only, 2026-11-04). This entry is its reason in the guard (`scripts/test-section-to-box.tsx` \xA75).\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT (efficient-storefront-blocks). A Delivery Options anywhere still renders through it and can still be edited; no document is rewritten.\n\nDELETE DATE 2026-12-18: the retired component in efficient-storefront-blocks (`components/DeliveryOptions`, `DeliveryOptionsSource`, `blocks/commerce/DeliveryOptions`) goes then, in a storefront-blocks follow-up. 0 stored DeliveryOptions nodes on the 34 US pages, draft or published (read only, 2026-11-08), and no converter row is coming.",Series:`Lewis, 2026-10-10 (section-merges.md group 4, approved): one Cards section holds the five card grids \u2014 Cards, Key Features, Document Detail Cards, Recurring Columns and Delivery Options. Card content = Manual / Delivery options; the card's parts are Display chips; one Highlighted card row with its Highlight badge. Retired by card [MERGE] Delivery Options, Detail Cards And Recurring Columns Into Cards (M3, 2026-11-04).
24
-
25
- WHAT REPLACES IT: Cards drawn from its card template. A column's number is Number, its "Right Top Text" Corner note, its title Card title, its words Card body, its count and label one Count, and the one \`viewLabel\` a plain Text typed once in the template, so every card shows it; the background is the Box's. The converter row (\`section-to-box-rows-cards.ts\`, OFF) lays down that Cards inside a Box.
26
-
27
- WHAT A MERCHANT LOSES (the LOOK GAPS in that file): the grid takes the Cards block's own gaps and breakpoints; a short row no longer keeps 4 columns; the count is one plain Text, its figure no longer in the text ink; a card with no count still draws the footer line.
28
-
29
- THE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Recurring Columns still renders through it and can still be edited; no document is rewritten.`,DocMetaCards:`Lewis, 2026-10-10 (section-merges.md group 4, approved): one Cards section holds the five card grids \u2014 Cards, Key Features, Document Detail Cards, Recurring Columns and Delivery Options. Card content = Manual / Delivery options; the card's parts are Display chips; one Highlighted card row with its Highlight badge. Retired by card [MERGE] Delivery Options, Detail Cards And Recurring Columns Into Cards (M3, 2026-11-04).
30
-
31
- WHAT REPLACES IT: Cards drawn from its card template, each card a Label, a Value and a Card body. The converter row (\`section-to-box-rows-cards.ts\`, OFF) lays down that Cards inside a Box.
32
-
33
- WHAT A MERCHANT LOSES (the LOOK GAPS in that file): the grid takes the Cards block's own gaps and breakpoints, not the old 40 (16 on a phone).
34
-
35
- THE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Document Detail Cards still renders through it and can still be edited; no document is rewritten.`,StatsParagraph:`Lewis, 2026-10-10 (approved): one Stats holds Stats and Stats with Text. Its head (eyebrow, heading, body) and each number's Prefix, Unit, Superscript, Label, "Use accent color" and text go into Stats; Card style Table (the old Stats with Text) or List (the old Stats). 2026-10-27: no Number block, the cards are Box + Text. Retired when the two became one Stats (2026-11-06).
36
-
37
- WHAT REPLACES IT: a Stats press, a Box of real parts: three head Texts, then a Stats Box holding ONE Card list, Card style Table. Each number is a row of the Card list; its card is a figure Text (the prefix and number typed in it, the unit marked \`==_yr_==\`, which draws the section theme's Main colour; a whole number in that colour is \`==_8_==\`), a superscript Text beside it, a label Text and a body Text, each showing its row's field, and a row may link its own live number. The Stats Box's Card style row (Table / List) writes the Box's Gap and the card's own Border, Padding and Height.
38
-
39
- WHAT A MERCHANT LOSES: the numbers do not count up (the Text block's Count up numbers setting is its own change, held); the figure has no tabular numbers; a unit is not a lighter weight than its number; rows of four stack below 800px, not two columns from 1100px.
40
-
41
- THE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Stats with Text still renders through it and can still be edited; no document is rewritten (owner 2026-11-06: old sites stay as they are).`,Testimonials:"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.
42
-
43
- WHAT REPLACES IT: Product Grid, bound to the current product. Both draw every card through the grid's ONE card template (efficient-storefront-blocks, lib/content/product-card-seed).
44
-
45
- THE TYPE KEY STAYS AND SO DOES THE COMPONENT. A stored Related Products node is read as that grid by the host (\`relatedToGrid\`) and draws the same cards; no document is rewritten. Its footnote is the one value the grid has no home for.`,BundleOffer:`Plan section-parts bundles grid source (2026-11-07): a Product Grid that shows "Bundles with this product" IS the bundle section, so offering both asked a merchant to choose between two names for one section.
46
-
47
- WHAT REPLACES IT: Product Grid, bound to the current product, Show set to its bundles. Both draw every kit through the grid's ONE card template (efficient-storefront-blocks, lib/content/product-card-seed).
48
-
49
- THE TYPE KEY STAYS AND SO DOES THE DRAWING. A stored Bundle Products node is read as that grid by the host (\`bundleToGrid\`) and draws its kits; no document is rewritten.`,TyreFitment:`Owner, 2026-10-10 (approved): the Tyre Fitment Form goes into the Fitment Form, whose answer follows the page. One vehicle section, not two.
50
-
51
- WHAT REPLACES IT: the Fitment Form, a Box of a head, the vehicle picker (\`FitmentPicker\`), its answer (\`StockFitment\`) and a Button. On a tyre product page the answer part draws one verdict per size against the picked car, the same \`TyreFitVerdicts\` drawing this section made; on every other page it draws the car's OEM fitment card (efficient-storefront-blocks 0.87.0). The old escape link is the Box's Button.
52
-
53
- WHAT A MERCHANT LOSES: the tyre-only head copy ("Will it fit your car?"); a press seeds the Fitment Form's own head. The page decides the answer, so there is no mode row.
54
-
55
- NO CONVERTER ROW: 0 TyreFitment nodes on the US sites, draft or published (read only, 2026-11-07). Old sites stay as they are (owner, 2026-11-06).
56
-
57
- THE TYPE KEY STAYS AND SO DOES THE COMPONENT (efficient-storefront-blocks). A stored Tyre Fitment Form still renders through it and can still be edited, its head split, width, heading level, settings groups and cover included; no document is rewritten.`,PaymentBadges:"Owner, 2026-10-10: Logos and Payment Methods are one block, and a payment wall is a Logos block with the payment chip for its look. 2026-11-07: the dot before each line is a Mark Box at full strength (approved).\n\nWHAT REPLACES IT: the Logos row (Layouts group), Logo style Cards. Field by field, as its converter row (`section-to-box-rows-logos`) moves it: `heading` is a Text block; each of `badges` is a Logo block in the wall, its name the Logo's name and its `src` the Logo's picture; `dataSource` is the wall's own Logo content row (\"Ways to pay here\" or \"Ways to pay at checkout\", served by the backend to Logos too), and the wall draws ONE Logo card template per served method, the same chip; `assurances` are a Reassurance Box of lines, each a Mark Box (an empty Box, 4 x 4, Corners 2, Fill main) before a Text; `contained` is the Box's site frame. A press of this type lays down that Box (SECTION_TO_BOX_PRESS).\n\nWHAT A MERCHANT LOSES: the 60% and 70% opacity of the old dot and words (a Box and a Text have no opacity: the dot is the main colour, the words the label ink) and the 4px gap between wrapped lines (a Box has one Gap). No field is lost.\n\n4 Payment Methods nodes are stored on the US sites, all on template pages, draft only, all fed by a source; 0 on pages (read only, 2026-11-07). Old sites stay as they are (owner, 2026-11-06); moving a page is a separate write.\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT. A stored Payment Methods node still renders through it, its dot included, and can still be edited; no document is rewritten."},tce=["Grid","Spacer","TyreFitment"],ace=Array.from(new Set([...Ea.flatMap(e=>e.sections.map(o=>o.type)),...Object.keys(fm)])),bc=Object.fromEntries(Ea.flatMap(e=>e.sections.map(o=>[o.type,o.label]))),zM={Heading:"general",Text:"general",Eyebrow:"general",ImageBlock:"general",LogoBlock:"general",LocationMap:"general",Contents:"general",ListSearch:"general",ButtonBlock:"general",CardList:"general",PostCard:"general",HeroSlide:"general",HeroGroup:"general",Integrations:"general",Grid:"general",KeyFeatures:"general",Spacer:"general",Series:"general",DocMetaCards:"general",StatsParagraph:"general",Testimonials:"general",Masthead:"general",CollectionCard:"commerce",GalleryItem:"commerce",ProductRef:"commerce",CompatibleTyres:"commerce",DeliveryOptions:"commerce",Header:"commerce",SearchBlock:"commerce",CartBlock:"commerce",CountrySwitchBlock:"commerce",AccountBlock:"commerce",ThemeSwitchBlock:"commerce",ProductGallery:"commerce",EuTyreLabelBlock:"commerce",SubmitBox:"service",BookingBox:"service",SubscribeBlogs:"service",RatingBlock:"service",Footer:"service",FooterLogo:"service",FooterMenu:"service",FooterDivider:"service",FooterGroup:"service",FooterText:"service",FooterEmailSignup:"service",FooterSocial:"service",FooterPayment:"service",MenuBlock:"service",MenuLinkBlock:"service",ProductPrice:"commerce",ProductSize:"commerce",ProductColour:"commerce",ProductPicture:"commerce",ProductEyebrow:"commerce",ProductName:"commerce",ProductSpecs:"commerce",ProductBuy:"commerce",FitmentPicker:"commerce",StockFitment:"commerce",RelatedProducts:"commerce",BundleOffer:"commerce",TyreFitment:"commerce",PaymentBadges:"general",EmailFormBlock:"service",SocialLogosBlock:"service",PaymentLogosBlock:"service",LegalLineBlock:"service",SiteHeader:"service",SiteFooter:"service"},Ic={...zM,...Object.fromEntries(Ea.flatMap(e=>e.sections.map(o=>[o.type,o.set])))};function gw(e){return Object.prototype.hasOwnProperty.call(Ic,e)?Ic[e]:void 0}function um(e){return Object.keys(Ic).filter(o=>Ic[o]===e).sort()}var rce=um("general"),nce=um("commerce"),sce=um("service"),pm="Flex",Qt="Box",lce=`${Qt}es`;function GM(e){return e==="section"?"Blank section":Qt}function mm(e,o,t){return e===pm?GM(o):t}var le="content",q="Flex",UM="Text & media",jM="Layout & structure",bw=[{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"}],KM=[...bw,{type:"ListSearch",label:"List search"},{type:"Form",label:"Form"},{type:"PostCard",label:"Post Card"},{type:"Stats",label:"Stats",retired:!0},{type:"MenuBlock",label:"Menu"},{type:"EmailFormBlock",label:"Email Form"},{type:"SocialLogosBlock",label:"Social Logos"},{type:"PaymentLogosBlock",label:"Payment Logos",retired:!0},{type:"LegalLineBlock",label:"Legal Line"},{type:"SearchBlock",label:"Search"},{type:"CartBlock",label:"Cart"},{type:"CountrySwitchBlock",label:"Country Switch"},{type:"AccountBlock",label:"Account"},{type:"ThemeSwitchBlock",label:"Theme Switch"}].map(e=>({...e,group:UM})),VM=(Ea.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:jM})),Iw=[...KM,...VM],hm=[...bw,{type:"HeroGroup",label:Qt}],dce=hm.map(e=>e.type),qM=1,YM=hm.filter(e=>e.type!=="HeroGroup");function XM(e){return e<qM?hm:YM}var ZM={Flex:{slot:le,choices:()=>Iw},Grid:{slot:le,choices:()=>Iw},HeroGroup:{slot:le,choices:XM}};function yw(e,o=0){let t=ZM[e];return t?{slot:t.slot,choices:t.choices(o)}:null}import{applyMark as gce,markupTools as Ice,MARKUP_TOOLS as bce,COPY_FIELD_TOOLS as yce,STOREFRONT_MARKUP as Sce,tokenizeInline as wce,stripInline as Cce,isSafeLinkHref as Pw}from"efficient-shell/markup";import{applyMark as dH,clearStyle as fH,markedAt as uH,markupTools as pH,MARKUP_TOOLS as mH,parseMarkup as hH,RETIRED_MARKS as xH,STOREFRONT_MARKUP as gH,tokenizeInline as kce}from"efficient-shell/markup";var dr=["highlight","strong","quiet"],fr={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},Nt={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},vw=Object.fromEntries(dr.map(e=>[Nt[e].kind,e])),kw="data-sf-ws",JM=["accent","text","labels"],Oa={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},QM=80,eH=120,oH=100,tH=900,aH=.5,rH=3,nH=-.1,sH=.5,lH=3,xm={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},iH={highlight:{...xm},strong:{...xm},quiet:{...xm}};function Sw(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function ww(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let a=10**lH;return Math.round(Math.min(Math.max(e,o),t)*a)/a}function Cw(e){return typeof e=="boolean"?e:null}function cH(e){let o=typeof e?.font=="string"&&pt.some(a=>a.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&JM.includes(e.colour)?e.colour:null;return{font:o,size:Sw(e?.size,QM,eH),weight:Sw(e?.weight,oH,tH),bold:Cw(e?.bold),italic:Cw(e?.italic),lineGap:ww(e?.lineGap,aH,rH),textGap:ww(e?.textGap,nH,sH),colour:t}}function Tw(e){let o={};for(let t of dr)o[t]=e&&t in e&&e[t]?cH(e[t]):{...iH[t]};return o}function pce(e){let o=Tw(e),t={};for(let a of dr){let r=o[a],n=`--sf-ws-${a}`;if(r.font){let s=pt.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`]=Oa[r.colour])}return t}function mce(e){let o=e?.word_styles??void 0,t={};for(let a of dr)o&&a in o&&(t[a]=o[a]??null);return Tw(t)}var IH=new Set(["strong"]),Ew=dr.map(e=>({open:Nt[e].delimiter,close:Nt[e].delimiter,kind:Nt[e].kind,...IH.has(e)?{wordStart:!0}:{}})),Pce=[{style:Nt.highlight.kind,label:fr.highlight,title:`${fr.highlight} word style`},{style:Nt.strong.kind,label:fr.strong,title:`${fr.strong} word style`},{style:Nt.quiet.kind,label:fr.quiet,title:`${fr.quiet} word style`}],bH=new Set(Ew.map(e=>e.open)),ur=[...gH.filter(e=>!bH.has(e.open)),...Ew];function gm(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function js(e){return hH(typeof e=="string"?e:"",ur)}var yH=mH.map(e=>e.style).filter(e=>!xH.includes(e)).filter(e=>ur.some(o=>o.kind===e));function Ow(){return pH(yH)}var _w=Object.fromEntries(dr.map(e=>[Nt[e].kind,Nt[e].delimiter]));function Aw(e,o,t,a){let r=_w[a];if(!r)return dH(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 Rw(e,o,t,a){let r=_w[a];return r?o>=r.length&&e.slice(o-r.length,o)===r&&e.slice(t,t+r.length)===r:uH(e,o,t,a)}function pr(e){return e.replace(/==(.+?)==/g,(o,t)=>t.startsWith("_")&&t.endsWith("_")?o:`==_${t}_==`)}function mr(e){return js(e).map(o=>gm(o)+Fw(o.children)).join(`
58
- `)}function Lw(e,o,t){return fH(e,o,t,ur)}function Fw(e){return e.map(o=>o.kind==="text"?o.text:Fw(o.children)).join("")}function io(e,o,t){return e.some(a=>(typeof a=="object"?a.value:a)===t)?t:o}var Im="small",bm="dot",SH=[{label:"Small",value:"small"},{label:"Display",value:"display"}],ym=[{label:"Dot \u25CF",value:"dot"},{label:"Cross \u2715",value:"cross"},{label:"Slash /",value:"slash"},{label:"Triangle \u25BC",value:"triangle"},{label:"None",value:"none"}],yc={dot:"\u25CF",cross:"\u2715",slash:"/",triangle:"\u25BC",none:""},wH={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)]"},CH={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 Ace(e){return io(SH,Im,e)}function Ks(e){return io(ym,bm,e)}function Rce(e){return wH[e]}function Bw(e,o){return CH[e][o]}var Bce=[{value:"none"},{value:"dot"},{value:"cross"},{value:"slash"},{value:"triangle"}];function Dw(e){return ym.some(o=>o.value===e)?Ks(e):void 0}var vH="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 hr(e,o){return e==="row"&&Dw(o)!==void 0}function Dce(e,o){return hr(e,o)?vH:""}var kH="[&>*: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 Nce(e,o){return hr(e,o)?kH:""}function Mce(e,o){if(!hr(e,o))return{};let t=Dw(o),a=/^text-\[([\d.]+)em\]$/.exec(Bw("small",t))?.[1],r=yc[t];return{"--sf-sep-mark":r===""?"none":JSON.stringify(r),...a?{"--sf-sep-k":a}:{}}}import{AUTO_RULES as EH,FOLLOW_RULES as OH,isAuto as _H,resolveViewValue as AH}from"efficient-easel/screen/lib/content/view-tiers";import{VIEW_DESKTOP_MIN as TH,VIEW_TABLET_MIN as Nw}from"efficient-easel/screen/lib/content/view-tiers";var Sm="v1",PH=e=>e==="v2"?Nw:800,Sc={"view-tablet":Nw,"view-desktop":TH,"view-wide":PH(Sm)};function $ce(e){let o=e.startsWith("max-"),t=o?e.slice(4):e;if(t in Sc)return{px:Sc[t],max:o};let a=/^(max|min)-\[(\d+)px\]$/.exec(e);return a?{px:Number(a[2]),max:a[1]==="max"}:void 0}function xr(){return Sm==="v2"?EH:OH}function zo(e,o,t,a,r=xr()){let n=AH(e,o,t,a,r),s={},l=(c,d)=>!_H(c)||d!=null&&d!==o;return l(t,n.tablet)&&(s.tablet=n.tablet),l(a,n.phone)&&(s.phone=n.phone),s}var Ys={sectionPaddingTop:0,sectionPaddingBottom:0},Vs={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},qs={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function qce(e,o){let t=typeof e=="string"&&e in Vs?Vs[e]:"",a=typeof o=="string"&&o in qs?qs[o]:"";return[t,a].filter(Boolean).join(" ")}function RH(e){return e===!0||e==="wrap"?"flex-wrap":""}var LH={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!"},FH={start:"max-view-tablet:justify-start",center:"max-view-tablet:justify-center",between:"max-view-tablet:justify-between",end:"max-view-tablet:justify-end"},BH={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!"},DH={start:"max-view-tablet:items-start",center:"max-view-tablet:items-center",end:"max-view-tablet:items-end",stretch:"max-view-tablet:items-stretch"},NH={wrap:"view-tablet:max-view-desktop:flex-wrap!",nowrap:"view-tablet:max-view-desktop:flex-nowrap!"};function br(e,o){return typeof o=="string"&&Object.prototype.hasOwnProperty.call(e,o)?o:void 0}function Cm(e,o,t){let a=zo("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 vm(e,o,t){return[e.tablet?o[e.tablet]:"",e.phone?t[e.phone]:""].filter(Boolean).join(" ")}function MH(e,o,t){return Cm(br(Vs,e)??"start",br(Vs,o),br(Vs,t))}function Yce(e,o,t){return vm(MH(e,o,t),LH,FH)}function Xce(e,o,t){let a=br(qs,e)??"stretch";if(a==="stretch")return"";let r=Cm(a,br(qs,o),br(qs,t));return vm(r,BH,DH)}function wm(e){if(e===!0||e==="wrap")return"wrap";if(e===!1||e==="nowrap")return"nowrap"}function Zce(e,o){let t=RH(e)===""?"nowrap":"wrap",a=wm(o);return a&&a!==t?NH[a]:""}var yr="Block widths",$w=[{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]}],HH="data-sf-box-items",Jce=new RegExp(`[ \\t]+[^\\s"'\`]*\\[${HH}\\][^\\s"'\`]*`,"g");var km=[{label:"Fit content",value:"content",weights:null},{label:"Equal",value:"equal",weights:[1,1]},{label:"Custom",value:"custom",weights:[2,1]}];function Tm(e){return Array.isArray(e)?"custom":e==="equal"?"equal":typeof e=="string"&&e in Cc?"custom":"content"}var zw=4,Mw=10;function WH(e,o){if(!Number.isInteger(o)||o<2||o>zw||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-Mw*(o-1-n),l=Math.min(s,Math.max(Mw,Math.round(r)));t.push(l),a+=l}),t}function Hw(e,o,t){if(!Array.isArray(o))return;let a=WH(o,t),r=a?[...a,100-a.reduce((s,l)=>s+l,0)]:[],n={};for(let s=0;s<zw;s+=1)n[`--${e}-${s+1}`]=r[s]??1;return n}function Qce(e,o,t){let a=Hw("sf-share",e,t),r=Hw("sf-share-tablet",o,t);return a||r?{...a,...r}:void 0}function $H(e,o){let t=Array.from({length:o},()=>1),a=$w.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 wc(e,o){if(typeof e!="string"||!(e in Cc)||e==="equal")return e;let t=$H(e,o),a=t.reduce((r,n)=>r+n,0);return t.slice(0,-1).map(r=>Math.round(r/a*100))}var gr="[&>*]: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",Cc={equal:gr,bigLeft:`${gr} [&>*:first-child]:view-wide:grow-[2] [&>[data-sf-box-items]:first-child>*:first-child]:view-wide:grow-[2]`,bigRight:`${gr} [&>*:last-child]:view-wide:grow-[2] [&>[data-sf-box-items]:last-child>*:last-child]:view-wide:grow-[2]`,biggerLeft:`${gr} [&>*:first-child]:view-wide:grow-[3] [&>[data-sf-box-items]:first-child>*:first-child]:view-wide:grow-[3]`,biggerRight:`${gr} [&>*:last-child]:view-wide:grow-[3] [&>[data-sf-box-items]:last-child>*:last-child]:view-wide:grow-[3]`,twoThree:`${gr} [&>*: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]`},zH=`${gr} [&>*: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 GH(e){return Array.isArray(e)?zH:typeof e=="string"?Cc[e]??"":""}var ede={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(Cc)}]}]}]},Gw="view-tablet:max-view-desktop:flex-row!",Ir=`${Gw} [&>*: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!`,Uw={content:`${Gw} [&>*: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:Ir,bigLeft:`${Ir} [&>*: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:`${Ir} [&>*: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:`${Ir} [&>*: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:`${Ir} [&>*: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:`${Ir} [&>*: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]!`},UH=`${Ir} [&>*: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 jH(e){return Array.isArray(e)||typeof e=="string"&&e in Uw?e:null}function ode(e){if(e.direction!=="row"||hr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0||Yw(e.columns)!==""||Xw(e.columnsTablet)!=="")return"";let o=jH(e.shareTablet);return o===null?"":typeof o=="string"?Uw[o]:UH}var KH="[&>*]:view-wide:basis-[content] [&>[data-sf-box-items]>*]:view-wide:basis-[content]";function tde(e){return GH(e)===""?KH:""}var Pm="Columns",vc=1,jw=3,Em={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)]"},Kw=$w.filter(e=>e.value==="content"||e.value==="equal"),Vw="equal",Om=1,qw=6,vn="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!",VH={1:`${vn} [&>*]:view-wide:basis-[calc(100%/1)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc(100%/1)]!`,2:`${vn} [&>*]: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:`${vn} [&>*]: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:`${vn} [&>*]: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:`${vn} [&>*]: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:`${vn} [&>*]: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 Yw(e){return typeof e=="number"?VH[e]??"":""}var qH={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 Xw(e){return typeof e=="number"?qH[e]??"":""}function ade(e){return e.direction!=="row"||hr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":Xw(e.columnsTablet)}function rde(e){return e.direction!=="row"||hr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":Yw(e.columns)}var Zw={2:"view-wide:grid view-wide:grid-cols-2",3:"view-wide:grid view-wide:grid-cols-3",4:"view-wide:grid view-wide:grid-cols-4",5:"view-wide:grid view-wide:grid-cols-5",6:"view-wide:grid view-wide:grid-cols-6"},Jw={2:"max-view-wide:grid max-view-wide:grid-cols-2",3:"max-view-wide:grid max-view-wide:grid-cols-3"},nde=Object.keys(Zw).map(Number),sde=Object.keys(Jw).map(Number);function lde(e,o,t=!1){let a=typeof e=="number"?Zw[e]??"":"",r=Jw[Number(o)]??"";return!a&&!r?"":[a,r,t?"gap-y-0!":""].filter(Boolean).join(" ")}var YH="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]",XH={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)]"},ZH="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 JH(e,o){return(wm(e)??wm(o)??"wrap")==="nowrap"}function ide(e,o,t,a){let r=Em[Number(e)];if(!r)return"max-view-wide:flex-col";let n=JH(t,a);return Qw(e,o)?n?ZH:YH:n?XH[Number(e)]:r}function cde(e,o){return Number(e)in Em&&!Qw(e,o)}function Qw(e,o){return Number(e)in Em&&o==="content"}var eC="Block spacing",_m=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],QH="sf-box-gap-only";function dde(e){return e==="gap"?QH:""}var Ww={each:"sf-box-each-tablet",gap:"sf-box-gap-only-tablet"},e4={each:"sf-box-each-phone",gap:"sf-box-gap-only-phone"};function fde(e,o,t){let a=n=>br(Ww,n),r=Cm(e==="gap"?"gap":"each",a(o),a(t));return vm(r,Ww,e4)}var oC={label:"Text",defaultProps:{text:"",align:"left",tone:"default",tag:"p",contained:!0}};var{text:xde,tag:gde,...o4}=oC.defaultProps,$=o4,Y={...$,tone:"dim"},kc={justify:"start",align:"stretch",wrap:!1,blockSpacing:"gap",padV2:!0},_={...kc,direction:"column",...Ys},Ze=(e,o=e,t=e,a=o)=>({sectionPaddingTop:e,sectionPaddingRight:o,sectionPaddingBottom:e,sectionPaddingLeft:o,sectionPaddingTopPhone:t,sectionPaddingRightPhone:a,sectionPaddingBottomPhone:t,sectionPaddingLeftPhone:a}),Mt=e=>({fillColor:e}),W=(e,o,t,a)=>({sizeToken:{step:e,px:o,...a?{stepPhone:a}:{},...t?{pxPhone:t}:{}}}),tC={case:"upper"},To={textStyle:"body-5",...tC},Xs=(e,o)=>({...W("label",e,o),letterSpacing:.2,...tC}),ht=(e,o)=>({...To,...Xs(e,o)});function Po(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]=Po(c,o,n);return{type:a.type,props:{...s,id:o(a.type,n)}}})}var _a=()=>({tag:"h2",_partStyles:{text:{textStyle:"heading-2"}}}),xt=()=>({_partStyles:{text:{...To,color:"accent",letterSpacing:.3,lineHeight:1.5}}});var t4={..._,gap:12,gapPhone:12,...Ze(32,32,28,28)},a4={textStyle:"heading-3",...W("headingSmall",20),weight:500,case:"upper",lineHeight:1.5,letterSpacing:.02},Zs={textStyle:"body-1",...W("body",15),lineHeight:1.6},ce=(e,o,t,a=!1)=>({type:"Text",props:{...o,text:"",[So]:e,_partStyles:{text:{...a?xt()._partStyles?.text??{}:{},...t}}}}),Sr={title:"title",body:"body"},Tc={title:"name",body:"note"},Am=(e=Sr)=>({type:q,props:{...t4,name:"Card"},slots:{[le]:[ce(e.title,{...$,tag:"p",widthFit:"fill"},a4),ce(e.body,{...Y,tag:"p",widthFit:"fill"},Zs)]}}),Pc=(e,o)=>Po([Am(o)],e);function aC(e,o){if(e!=="Cards")return o;if(o.template!==void 0)return n4(o);let t=ee(o.id)??"Cards",a=lo(o)?Tc:Sr;return{...o,template:Pc((r,n)=>n==="0"?`${t}~card`:`${t}~card.${n.slice(2)}`,a)}}var r4=e=>{let[o,t]=e?[Sr,Tc]:[Tc,Sr];return new Map([[o.title,t.title],[o.body,t.body]])};function rC(e,o){let t=null;return e.forEach((a,r)=>{let n=a?.props;if(!n)return;let s=n,l=n[So];a.type==="Text"&&typeof l=="string"&&o.has(l)&&(s={...s,[So]:o.get(l)});let c=n[le];if(Array.isArray(c)){let d=rC(c,o);d!==c&&(s={...s,[le]:d})}s!==n&&(t??=[...e],t[r]={...a,props:s})}),t??e}function n4(e,o){if(!Array.isArray(e.template))return e;let t=r4(!!lo(e)),a=o?new Map([...t].filter(([n,s])=>o(s)&&!o(n))):t;if(!a.size)return e;let r=rC(e.template,a);return r===e.template?e:{...e,template:r}}var s4="label";function nC(e){if(e.template!==void 0)return e;let o=ee(e.id)??"CardList",t={type:q,props:{..._,name:"Item"},slots:{[le]:[ce(s4,{...$,tag:"p"},Zs)]}};return{...e,template:Po([t],(a,r)=>r==="0"?`${o}~item`:`${o}~item.${r.slice(2)}`)}}var Js="ArticleBody",l4={textStyle:"heading-3",...W("headingSmall",20),weight:500,lineHeight:1.4,align:"center"},i4={...Zs,align:"center"},sC=640,c4=()=>[ce("heading",{...$,tag:"h2",align:"center",maxWidth:sC},l4),ce("paragraph",{...Y,tag:"p",align:"center",maxWidth:sC},i4)],Rm=e=>Po(c4(),e);function d4(e){return Rm((o,t)=>`${e}~${t==="0"?"heading":"paragraph"}`)}function lC(e){if(e.template!==void 0)return e;let o=typeof e.id=="string"&&e.id.trim()?e.id:Js;return{...e,template:d4(o)}}var f4="label",Ec=()=>({type:"LogoBlock",props:{[So]:f4}}),iC=e=>{let o=ee(e.id)??"Logos";return{...e,template:Po([Ec()],()=>`${o}~logo`)}};function cC(e){return!lo(e)||e.template!==void 0?e:iC(e)}function Ude(e){if(!lo(e))return e;let o=e.template;return o!==void 0&&!(Array.isArray(o)&&o.length===0)?e:iC(e)}import{addShowWhenFacts as u4}from"efficient-shell/format";import{showWhenOf as Lm,shownForOption as p4,truthy as Fm,withRowRules as Bm,withRowsShownWhen as Qs,withShowWhen as ao}from"efficient-shell/format";var qde=u4;function m4(e,o,t){return e.slice(0,-1).reduceRight((a,r)=>({any:[{all:[o(r),t(r)]},{all:[{not:o(r)},a]}]}),t(e[e.length-1]))}var h4="inline",x4=[{label:"In this section",value:"inline"},{label:"In its own box",value:"own-box"}];var Eo={ProductGrid:{num:"num",title:"title",description:"description",headRows:["num","title","titleSize","description","linkText","linkHref"],renderer:"ProductGridSection",padKey:"padTop",linkProp:"link"},TyreSizes:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicTyreSizes"},FitmentFinder:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"FitmentFinder"},TyreFitment:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicTyreFitment"},BundleOffer:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},CompatibleTyres:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},RelatedProducts:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},SpecTable:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"SpecTable"},FAQ:{num:"num",title:"title",linkProp:"link",headRows:["num","title","linkText","linkHref"],renderer:"FAQ"},GalleryB:{num:"num",title:"title",headRows:["num","title","linkText","linkHref"],renderer:"GalleryGrid"},FitmentTable:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"FitmentTable"},Events:{num:"num",title:"title",linkProp:"link",headRows:["num","title","linkText","linkHref"],renderer:"Events"},ProcessSteps:{num:"num",title:"title",description:"description",headRows:["num","title","description"],headStyle:"editorial",renderer:"ProcessSteps",padKey:"padTop"},LongRead:{num:"headNum",title:"headTitle",description:"headDesc",headRows:["headNum","headTitle","headDesc"],headStyle:"editorial",renderer:"LongRead"},Series:{num:"headNum",title:"headTitle",description:"headDesc",headRows:["headNum","headTitle","headDesc"],headStyle:"editorial",renderer:"Series"},TimelineTrack:{num:"eyebrow",title:"title",description:"intro",headRows:["eyebrow","title","intro"],headStyle:"editorial",renderer:"TimelineTrack",padKey:"padTop"},StatsParagraph:{num:"eyebrow",title:"title",description:"desc",headRows:["eyebrow","title","desc"],headStyle:"editorial",renderer:"StatsParagraph"},Footprint:{num:"sectionNumber",title:"heading",description:"tagline",headRows:["sectionNumber","heading","tagline"],headStyle:"editorial",renderer:"Footprint",padKey:"padTop"},Collections:{num:"eyebrow",title:"heading",headRows:["eyebrow","heading"],renderer:"Collections"},Cards:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Cards"},Testimonials:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Testimonials"},Reviews:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Reviews"},Prose:{num:"eyebrow",title:"title",headRows:["eyebrow","title"],headStyle:"essay",renderer:"Prose"},ReviewForm:{num:"eyebrow",title:"title",headRows:["eyebrow","title"],headStyle:"simple",renderer:"ReviewForm"},DeliveryOptions:{num:"eyebrow",title:"title",description:"body",headRows:["eyebrow","title","body"],headStyle:"natural",headRowGap:"gap-3",headDescriptionSize:"text-[15px]",renderer:"DeliveryOptions"}},kn="SectionHeader";function dC(e){return e in Eo}function Oc(e){return io(x4,h4,e)}var g4=new Set(["Flex"]);function Jde(e){return!!e?.type&&g4.has(e.type)}var fC={not:{field:"headPlacement",is:"own-box"}},Qde={not:fC};function efe(e,o,t){return Qs(e,t,fC)}var I4="question",b4="answer",y4={textStyle:"body-1",fontRole:"heading",...W("body",18,15),weight:500,case:"upper",letterSpacing:.02,lineHeight:1.5},S4={textStyle:"body-1",...W("body",15),lineHeight:1.7},Dm=()=>({type:q,props:{..._,gap:0,name:"Question"},slots:{rowTitle:[ce(I4,{...$,tag:"p",widthFit:"fill"},y4)],[le]:[ce(b4,{...Y,tag:"p",widthFit:"fill",maxWidth:760},S4)]}});function w4(e){return Oc(e.headPlacement)==="own-box"?!1:["num","title","linkText"].some(o=>ee(e[o])!==void 0)}function uC(e){if(e.template!==void 0||w4(e))return e;let o=ee(e.id)??"FAQ",t=0;return{...e,template:Po([Dm()],a=>a===q?`${o}~row`:`${o}~row.${t++}`)}}var Je="template",pC="Card template",Oo="CardList",mC=["Text","ImageBlock","ButtonBlock","Flex"],So="rowField",Nm="rowLinkField";function hC(){return{type:"slot",allow:[...mC]}}var v4=mC.filter(e=>e!=="ButtonBlock"),el="items",xC="itemFields";function bfe(){return{type:"slot",allow:[...v4]}}var k4=[{block:"OrderSummary",typedRows:"rows",linesBetween:!0,fields:[{key:"label",label:"Item"},{key:"meta",label:"Meta line"},{key:"amount",label:"Amount"}]},{block:"FAQ",typedRows:"items",fields:[{key:"question",label:"Question"},{key:"answer",label:"Answer",multiline:!0}],seedOnInsert:e=>uC(e)},{block:"Footprint",typedRows:"offices",fields:[{key:"badge",label:"HQ"},{key:"role",label:"Role"},{key:"city",label:"City"},{key:"country",label:"Region \xB7 country"},{key:"address",label:"Address"},{key:"linkLabel",label:"Button"},{key:"href",label:"Link",kind:"link"}]},{block:"Cards",typedRows:"items",fields:[{key:"num",label:"Number"},{key:"since",label:"Corner note"},{key:"label",label:"Label"},{key:"title",label:"Card title"},{key:"value",label:"Value"},{key:"body",label:"Card body",multiline:!0},{key:"href",label:"Link",kind:"link"},{key:"count",label:"Count"},{key:"badge",label:"Highlight badge",everySource:!0}],seed:e=>aC("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:Oo,label:"Card list"}]},{block:"Logos",fields:[{key:"label",label:"Name"},{key:"kind",label:"Kind"}],seed:e=>cC(e)},{block:Oo,fields:[{key:"badge",label:"Highlight badge",everySource:!0}],typedRows:el,seed:e=>nC(e)},{block:Js,fields:[{key:"heading",label:"Subhead"},{key:"paragraph",label:"Paragraph",multiline:!0}],seed:e=>lC(e)}];function Go(){return Pa("efficient.card-templates",()=>new Map(k4.map(e=>[e.block,e])))}function yfe(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=ee(o.typedRows);Go().set(o.block,{block:o.block,fields:o.fields.map(r=>({...r})),blocks:t,typedRows:a,...o.seed?{seed:o.seed}:{},...o.seedOnInsert?{seedOnInsert:o.seedOnInsert}:{},...o.linesBetween===!0?{linesBetween:!0}:{}})}}function T4(e,o){let t=e?Go().get(e)?.seed:void 0;return t?t(o):o}function gC(e,o){if(!(o.template===void 0||Array.isArray(o.template)&&o.template.length===0))return o;let{template:t,...a}=o,r=e?Go().get(e)?.seedOnInsert:void 0,n=r?r(a):T4(e,a);return n===a?o:n}function IC(){for(let e of Go().values())if(e.blocks?.length)return!0;return!1}function bC(e){return Go().get(e)?.blocks??[]}function Sfe(e){for(let o of Go().values())if(o.blocks?.some(t=>t.type===e))return!0;return!1}function yC(e){return typeof e=="string"&&Go().get(e)?.typedRows||""}function wfe(e){return typeof e=="string"&&Go().get(e)?.linesBetween===!0}function Mm(e){return typeof e=="string"&&Go().has(e)}function P4(e,o){let t=Go().get(e)?.fields??[];return o?t.filter(a=>(a.kind??"text")===o):t}function E4(e){return typeof e=="string"?P4(e,"list")[0]?.key??"":""}function O4(e,o){return gt(e)||E4(o)}function SC(e,o){let t=typeof e?.type=="string"?e.type:"";if(!t)return[];let a=Go().get(t)?.fields??[],r=gc(lo(e?.props))?.fields,n=r?.length?[...r.map(s=>({...s})),...a.filter(s=>s.everySource&&!r.some(l=>l.key===s.key))]:a;return o?n.filter(s=>(s.kind??"text")===o):n}function Hm(e,o,t){return e?t?SC(t).find(a=>a.key===o)??null:Go().get(e)?.fields.find(a=>a.key===o)??null:null}function gt(e,o=So){let t=e?.[o];return typeof t=="string"?t.trim():""}function _c(e,o){return e.key||String(o+1)}function wC(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 Wm="hideWhenRowEmpty";function Cfe(e,o){let t=e[Wm];return!o||!Array.isArray(t)||!t.length?!1:t.every(a=>typeof a!="string"||!o[a]?.trim())}function vfe(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=ee(typeof n=="string"?n.trim():void 0);if(s&&s!==t.trim())return s}return""}var CC={Text:{text:So},ImageBlock:{src:So},ButtonBlock:{label:So,href:Nm},LogoBlock:{alt:So},Breadcrumb:{currentCrumb:So}};var _4=new Set(["ButtonBlock.label","LogoBlock.alt"]);function kfe(e,o,t){return $m(e,o,t)&&!_4.has(`${e}.${t}`)}function $m(e,o,t){return zm(e,o,t)!==""}function zm(e,o,t){let a=CC[e]?.[t];return a?gt(o,a):""}function Gm(e,o){return!o||!e?null:e[o]??""}function Tfe(e,o,t,a){if(!t)return o;let r=null;for(let[n,s]of Object.entries(CC[e]??{})){let l=gt(o,s),c=Gm(t,l);c!==null&&(r??={...o},r[n]=a&&Hm(a,l)?.mark==="accentItalic"?pr(c):c)}return r??o}function Um(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(!C4(d))continue;let f=c===Je&&Mm(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===q},m=a(d,f);if(m!==void 0)return m}}},r=a(t,null);return r===void 0?null:r}function ol(e,o){let t=Um(e,o);return t&&t.owner}function Pfe(e,o){let t=Um(e,o);return t&&(t.direct?t.owner:null)}function Efe(e,o){let t=Um(e,o);if(t!==void 0)return t===null?{inCopy:!1,nestedCopy:!1,underBox:!1}:{inCopy:!0,nestedCopy:t.nested,underBox:t.underBox}}function Ofe(e,o,t){if(o?.type!==Oo)return[];let a=ol(e,o.props?.id);if(!a){let s=gc(lo(o.props))?.fields,l=s?.length?s.map(f=>({...f})):A4(o.props),c=(Go().get(Oo)?.fields??[]).filter(f=>f.everySource&&!l.some(m=>m.key===f.key)),d=[...l,...c];return t?d.filter(f=>(f.kind??"text")===t):d}let r=O4(o.props,a.type),n=r&&SC(a,"list").find(s=>s.key===r)?.fields||[];return t?n.filter(s=>(s.kind??"text")===t):n}function Ac(e,o){return{[So]:"",[el]:e.map(t=>({...t})),[xC]:o.map(t=>({...t}))}}function A4(e,o){let t=e?.[xC];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 oK}from"react";import{isNodeList as Rc}from"efficient-easel/data";var vC="Flex";function Tn(e,o){return gt(e)?typeof e?.[mt]=="string"?jm(o?.[mt]):"":jm(e?.[mt])}var jm=e=>typeof e=="string"?e.trim():"",R4=e=>e.type===Oo&&Array.isArray(e.props?.[el])&&e.props[el].some(o=>jm(o?.[mt])!==""),L4=new Intl.NumberFormat("en-US");function F4(e){return/^\d+$/.test(e)?L4.format(Number(e)):e}function Ffe(e,o){let t=o?o.find(a=>a.key===e)?.value:mw(Gs).find(a=>a.key===e)?.value;return t===void 0?null:F4(t)}var B4={[mt]:"any"};function Km(e,o=!1){let t=e.props;if(!t)return{node:e,names:!1};let a=e.type==="Text"&&(Tn(t)!==""||o&&Tn(t,B4)!==""),r=o||R4(e),n=t;for(let[l,c]of Object.entries(t)){if(!Rc(c))continue;let d=c.map(f=>Km(f,r));d.some(f=>f.names)&&(a=!0),d.some((f,m)=>f.node!==c[m])&&(n={...n,[l]:d.map(f=>f.node)})}if(e.type!==vC)return{node:n===t?e:{...e,props:n},names:a};let s=lo(n);if(a&&!s&&(n={...n,[ko]:Gs}),!a&&s===Gs){let{[ko]:l,...c}=n;n=c}return{node:n===t?e:{...e,props:n},names:!1}}function kC(e,o,t){for(let a of e){if(a?.props?.id===o)return t;for(let r of Object.values(a?.props??{})){if(!Rc(r))continue;let n=kC(r,o,a.type===vC?a:t);if(n!==void 0)return n}}}function Bfe(e,o){if(!Rc(e))return!0;let t=kC(e,o,null);if(t===void 0)return!0;if(t===null)return!1;let a=lo(t.props);return!a||a===Gs}function TC(e){let o=e?.content;if(!Rc(o))return e;let t=o.map(a=>Km(a));return t.every((a,r)=>a.node===o[r])?e:{...e,content:t.map(a=>a.node)}}function PC(e){return Km(e).node}import{jsx as S,jsxs as Ga,Fragment as da}from"react/jsx-runtime";import{cloneElement as AP,createContext as IG,useContext as RP,useEffect as bG,useId as LP,useRef as Ol,useState as _l}from"react";import{useEasel as jd,useSelectedHost as Vn}from"efficient-easel/easel";import{toDateKey as Wye,fromDateKey as $ye}from"efficient-shell/format";function D4(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.src=="string"}function _o(e){return typeof e=="string"?e:D4(e)?e.src:""}function Nfe(e,o,t){return Vm(e,o.split("."),t)}function Vm(e,o,t){if(o.length===0)return t(e);let[a,...r]=o,n=a.endsWith("[]"),s=n?a.slice(0,-2):a;if(!e||typeof e!="object"||Array.isArray(e))return e;let l=e;if(!(s in l))return e;let c=l[s];if(n){if(!Array.isArray(c))return e;let f=!1,m=c.map(u=>{let x=Vm(u,r,t);return x!==u&&(f=!0),x});return f?{...l,[s]:m}:e}let d=Vm(c,r,t);return d===c?e:{...l,[s]:d}}var N4=["upload","youtube"],M4="upload",Wfe={upload:"Upload",youtube:"YouTube"},H4=["background","click"],W4="background",$fe={background:"Background",click:"Click to play"};function OC(e){return N4.includes(e)?e:M4}function _C(e){return H4.includes(e)?e:W4}var EC=/^[A-Za-z0-9_-]{11}$/,$4=/^(?:www\.|m\.|music\.)?(?:youtube\.com|youtube-nocookie\.com|youtu\.be)$/;function AC(e){let o=typeof e=="string"?e.trim():"";if(!o)return null;if(EC.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:"||!$4.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&&EC.test(r)?r:null}function qm(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 RC(e){return`https://i.ytimg.com/vi/${e}/maxresdefault.jpg`}function LC(e){return`https://i.ytimg.com/vi/${e}/hqdefault.jpg`}var Ym="Play video";var Xm={frame:"Video frame",image:"Image"},zfe={any:[{field:"loadingShows",is:"image"},{all:[{not:{field:"loadingShows",set:!0}},{field:"poster",set:!0}]}]};function tl(e){let o=e.loadingShows;return o==="image"?"image":o!=null&&o!==""?"frame":_o(e.poster)?"image":"frame"}function Gfe(e){let[o,t]=tl(e)==="image"?[e.poster,e.videoFrame]:[e.videoFrame,e.poster];return _o(o)||_o(t)||void 0}function FC(e){if(_o(e.mediaVideo)){if(tl(e)==="frame")return _o(e.videoFrame)?void 0:_o(e.poster)?"frame-missing-image":"frame-missing-surface";if(!_o(e.poster))return _o(e.videoFrame)?"image-missing-frame":"image-missing-surface"}}var Lc="videoFrames",Zm="videoFramesNotOwn";function BC(e,o,t){let a=_o(e.mediaVideo);if(!a||!o||tl(e)!=="frame"||_o(e.videoFrame))return;let r=o[a],n=!!_o(e.poster);if(r?.state==="ready")return null;if(n)return!r||r.state==="pending"?void 0:"image-no-frame";if(!r)return t?"save-makes-frame":void 0;switch(r.state){case"pending":return r.noted!=="save"&&t?"save-makes-frame":null;case"dark":return"starts-dark";case"outside":return"outside";case"unsupported":return"unsupported";case"failed":return"failed";default:return null}}function z4(e,o){let t=_o(e),a=t&&o?o[t]:void 0;return a?.state==="ready"&&a.frame?a.frame:void 0}function Ufe(e,o,t){let a=t?.[Zm];if(!(Array.isArray(a)&&a.includes(e)))return z4(o,t?.[Lc])}import{useSyncExternalStore as G4}from"react";function Fc(){let e=new Map,o=new Set,t=a=>(o.add(a),()=>{o.delete(a)});return{get:a=>e.get(a),has:a=>e.has(a),set(a,r){if(!(e.has(a)&&e.get(a)===r)){e.set(a,r);for(let n of o)n()}},use(a){let r=()=>a?e.get(a):void 0;return G4(t,r,r)}}}var Ne="SiteHeader",Ae="SiteFooter",Jm="sections",qfe=[Ne,Ae],Pn=e=>e===Ne||e===Ae,DC=e=>`${e}:${Jm}`;function NC(e,o,t=[]){return{type:e,props:{id:o,[Jm]:t}}}var U4=new Set(["Footer",Ne,Ae]);function En(e){let o=new Set,t=!1,a=e.filter(r=>{let n=r?.type??"";return n==="Header"?(t=!0,!1):U4.has(n)?o.has(n)?(t=!0,!1):(o.add(n),!0):!0});return t?a:e}function Bc(e,o){return e.some(t=>t?.type===o.type)?e:o.type===Ne?[o,...e]:[...e,o]}var MC={[Ne]:{max:3,takes:["Flex","Ticker"]},[Ae]:{max:6,takes:["Flex","Prose","Logos","Divider"]}};function HC(e,o,t){if(!Pn(e))return!0;let a=MC[e];return t<a.max&&a.takes.includes(o)}function WC(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(!Pn(n?.type))continue;let s=n.props?.[Jm];if(!Array.isArray(s)||!s.some(c=>c?.props?.id===a))continue;let l=MC[n.type];return l.takes.includes(t?.type??"")?s.length>=l.max?{group:n.type,why:"full"}:null:{group:n.type,why:"type"}}return null}import{locateNode as j4}from"efficient-easel/draw";function al(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function Dc(e,o,t){let a=al(t?.zone),r=a?j4(e,o,a.ownerId):null;return r&&a?{...r,slot:a.slot}:null}import{isNode as K4}from"efficient-easel/data";var $C="Footer",zC=[Ne,$C,Ae],wr=e=>{let o=e?.content;return Array.isArray(o)?o:[]},Aa=e=>{let o=e?.zones;return o&&typeof o=="object"&&!Array.isArray(o)?o:null},On=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0},GC=e=>al(e)?.ownerId??"";function UC(e){let o=En(wr(e)),t=o.some(a=>a?.type===Ae);return o.filter(a=>a?.type===Ne||a?.type===Ae||a?.type===$C&&!t)}function Nc(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(K4(r)){let n=On(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(GC(s))||(n.add(s),a(l),r=!0)}}return t}function jC(e,o){let t=wr(e).filter(a=>{let r=On(a);return typeof a?.type=="string"&&zC.includes(a.type)||r!==void 0&&o(r)});return t.length?Nc(t,Aa(e)):new Set}function Qm(e,o){let t={},a={};for(let[r,n]of Object.entries(e??{}))(o.has(GC(r))?t:a)[r]=n;return{owned:t,rest:a}}function KC(e,o){if(!o)return e;let t=UC(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,...wr(e),...r]},{owned:s}=Qm(Aa(o),Nc(t,Aa(o)));return Object.keys(s).length&&(n.zones={...Aa(e)??{},...s}),n}function eh(e,o){if(!o)return{page:e,chrome:null};let t=UC(o),a=new Set(t.map(On).filter(w=>!!w)),r=[],n=[];for(let w of wr(e)){let b=On(w);b&&a.has(b)||Pn(w?.type)?n.push(w):r.push(w)}let s=new Map(n.map(w=>[On(w),w])),l=new Set,c=En(wr(o)).flatMap(w=>{let b=On(w);if(!b||!a.has(b))return[w];let v=s.get(b);return v?(l.add(v),[v]):[]});for(let w of n)l.has(w)||c.some(b=>b?.type===w.type)||(c=w.type===Ne?[w,...c]:[...c,w]);c=En(c);let d=c.length===wr(o).length&&c.every((w,b)=>w===wr(o)[b]),f=Aa(e),m=Nc(c,f),{owned:u,rest:x}=Qm(f,m),g=Qm(Aa(o),Nc(t,Aa(o))).owned,I={...o,content:d?o.content:[...c]},k=Aa(o);if(k||Object.keys(u).length){let w={};for(let[b,v]of Object.entries(k??{}))b in g?b in u&&(w[b]=u[b]):w[b]=v;for(let[b,v]of Object.entries(u))b in w||(w[b]=v);I.zones=w,k&&V4(I.zones,k)&&(I.zones=k)}let C={...e,content:r};return f&&(Object.keys(x).length||!Object.keys(g).length?C.zones=x:delete C.zones),{page:C,chrome:I}}function V4(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 VC(e,o){return t=>e(t)||t!==void 0&&zC.includes(t)&&o()}var qC=null;function oh(e){qC=e}function It(){return qC}var YC=null;function th(e){YC=e}function Mc(){return YC}var ah=Fc();function XC(e,o,t){if(!o)return;let a={...ah.get(e)};for(let[r,n]of Object.entries(o))a[r]={...n,noted:t};ah.set(e,a)}function ZC(e,o){XC(e,o,"load")}function JC(e,o){XC(e,o,"save")}function Hc(e){return ah.use(e)}var rh=e=>!!It()?.sectionOf(e);function QC(e,o=rh){return jC(e,o)}function ev(e,o,t,a=rh){if(t)return e&&QC(o,a).has(e)?void 0:t}function ov(e,o,t=rh){if(!e)return{};let a=[...QC(o,t)];return a.length?{[Lc]:e,[Zm]:a}:{[Lc]:e}}import{ScreenDocumentContext as yG}from"efficient-easel/screen/components/ScreenDocumentContext";import{readHidable as ja,hidableText as SG}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as FP,LINK_FIELD_MARKER as wG,MEDIA_FIELD_MARKER as CG,SCAFFOLD_FIELD_MARKER as vG,TEXT_FIELD_MARKER as ia,foldMetaOf as fa,textFieldIdentifier as qye}from"efficient-easel/draw";import{jsx as iv}from"react/jsx-runtime";import{useCallback as X4}from"react";import{useEasel as Z4}from"efficient-easel/easel";import{SettingsAction as J4}from"efficient-easel/panel";import{CORNER_SIDES as Wc,hasCornerSubset as rl,normalizeCornerSides as Ht}from"efficient-easel/screen/lib/content/style-keys";function nh(e){return typeof e=="number"&&Number.isFinite(e)}function due(e,o){if(!nh(e))return;let t=fc(Dt(e));if(Object.keys(t).length===0)return;let a=t[sh];if(typeof a!="string")return t;let r=rl(o)?Cr(a,Ht(o)??[]):a;return{...t,[q4]:r}}var q4="--sf-section-radius",sh="--sf-card-radius";function Cr(e,o){return Wc.map(t=>o.includes(t)?e:"0").join(" ")}var tv=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var Y4="--sf-card-box-radius";function lh(e){return typeof e=="number"&&Number.isFinite(e)}function mue(e,o){if(!lh(e))return;let t=fc(Dt(e))[sh];if(typeof t!="string")return;let a=rl(o)?Cr(t,Ht(o)??[]):t;return{[Y4]:a}}function av(e,o){let t=e.find(n=>n?.props?.id===o);if(!t)return[...e];let a=t.props?.cardCorners,r=t.props?.cardCornerSides;return e.map(n=>n?.props?.id===o?n:{...n,props:{...n.props,cardCorners:a,cardCornerSides:r}})}function rv(e,o,t){let a=Dc(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}:lh(l?.props?.cardCorners)?{can:!0,others:d,zone:a.zone,index:a.index,data:{...a.item,props:{...a.item.props,[r]:av(n,c)}}}:{can:!1,reason:"unset",others:d}}function nv(e){return e.can?vo("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 sv(e){return vo("Applied to {n} card","Applied to {n} cards",e)}function lv(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as Q4}from"efficient-easel/screen/lib/document/use-section-ops";var e5="apply-corners-to-siblings",o5="Apply to all cards";function t5({plan:e,onPress:o}){return iv(J4,{id:e5,label:i(o5),note:nv(e),disabled:!e.can,doneLabel:sv(e.others),onPress:o})}function cv(){let{appState:e,config:o}=Z4(n=>n),t=Q4(),a=rv(o,e.data.content??[],e.ui.itemSelector),r=X4(()=>{lv(a,t.replaceComponent)},[a,t]);return iv(t5,{plan:a,onPress:r})}import{isShown as bv,lazyShowWhenContext as h5}from"efficient-shell/format";var Ra="product",$c="recordType",dv={key:Ra,label:"Product",fields:[]},a5=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,r5=/^[a-z][A-Za-z0-9]*$/,n5=["text","date","images"],ih=new Map,fv=0;function s5(e){if(typeof e.key!="string"||!a5.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===Ra)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"||!r5.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(!n5.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 Eue(e){let o=e.map(s5);for(let t of o)ih.set(t.key,t);o.length&&(fv+=1)}function ch(){return[dv,...ih.values()]}function l5(e){return e===Ra?dv:ih.get(e)??null}function dh(){return fv}function nl(e){let o=e?.[$c];return typeof o!="string"?Ra:o.trim()||Ra}function fh(e){return nl(e)===Ra}function Oue(e,o){let t=l5(e)?.fields??[];return o?t.filter(a=>o.includes(a.kind)):t}var zc="product",uv="tyre",i5=[zc,uv];function Rue(e){return i5.includes(e)}var c5="productType",d5={[zc]:"alloy-wheel",[uv]:"tyre"},f5=["alloy-wheel","tyre"];function pv(e,o){return fh(o)?mv(o)??d5[e]??null:null}function mv(e){if(!fh(e))return null;let o=e?.[c5];return typeof o=="string"&&f5.includes(o)?o:null}function Lue(e){let o=e?.root;return mv(o?.props)}var uh="Main Pages",u5="Dynamic Pages",ph="dynamic",p5="dynamic";function vr(e){return e.kind===p5}var mh="lightbox";function hv(e){return e.kind===mh}function xv(e){let o=[],t=[];for(let a of e){if(vr(a)){t.push(a);continue}let r=a.groupKey??(a.group?`folder:${a.group}`:"top"),n=o[o.length-1];n&&n.key===r?n.rows.push(a):o.push({key:r,label:a.group??uh,rows:[a]})}if(t.length){let a=o.findIndex(r=>r.key.startsWith("system:"));o.splice(a===-1?o.length:a,0,{key:ph,label:u5,rows:t})}return o}var Gc=null,gv=null;function m5(e,o){Gc=e,gv=o}function Hue(e){m5(e,null)}function Wue(){return Gc}function sl(){return vr({kind:gv})||Gc===zc}function $ue(e){return pv(Gc??"",e)??"alloy-wheel"}function zue(e){return sl()?nl(e):null}function hh(e,o,t){let a=!1,r={};for(let[n,s]of Object.entries(e)){if(!bv(Lm(s),o??{},t)){a=!0;continue}let l=x5(s,o?.[n],o??{},t);l!==s&&(a=!0),r[n]=l}return a?r:e}function x5(e,o,t,a){let r=e?.options;if(!Array.isArray(r))return e;let n=r.filter(s=>s?.value===o||!s?.showWhen||bv(s.showWhen,t,a));return n.length===r.length?e:{...e,options:n}}function yv(e,o,t,a){let r=Dc(o,t,a);return{device:e,parentType:r?.item.type,parent:r?.item.props}}function Iv(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 Iv(t.not,o);for(let a of[t.all,t.any])if(Array.isArray(a)&&a.some(r=>Iv(r,o)))return!0;return!1}function Yue(e,o={}){return h5({parentType:()=>e.parent?.type??void 0,parent:()=>e.parent?.props??void 0,dynamicPage:()=>sl(),root:()=>e.appState?.data?.root?.props,...o})}var Sv=1;function g5(e){return Dt(e)}function Jue(e){let o=g5(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var wv=1,Cv="Corners";function I5(e){return Dt(e)}function tpe(e,o){let t=I5(e);if(t===null)return null;let a=`${t}px`;return{borderRadius:rl(o)?Cr(a,Ht(o)??[]):a}}import{isNodeList as b5}from"efficient-easel/data";var _n=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],kv="bottom-left",An=4,y5=An+1,vv=40,S5=30,w5=100,C5=60,npe=100;var xh={"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 v5(e){let o=_n.indexOf(ll(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function k5(e){return 1+v5(e).band*(y5+1)}function spe(e){return k5(e)+1}function ll(e){return _n.includes(e)?e:kv}function lpe(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-vv,Math.min(vv,Math.round(o)))}function ipe(e,o=C5){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(S5,Math.min(w5,Math.round(t)))}function gh(e,o){let t=ll(o);return e.filter(a=>ll(a?.props?.placement)===t).length}function Tv(e){return`${xh[ll(e)]} already holds ${An} boxes. Move one somewhere else first.`}function Pv(e,o){let t=e.filter(a=>a?.props?.id!==o);return _n.map(a=>{let r=gh(t,a)>=An,n=xh[a];return r?{value:a,label:n,disabled:!0,title:Tv(a)}:{value:a,label:n}})}function Uc(e,o){let t=o===void 0?kv:ll(o?.props?.placement);return gh(e,t)>=An?Tv(t):null}var jc="HeroGroup";function T5(e){return _n.map(o=>{let t=gh(e,o);return{anchor:o,total:t,hidden:t-An}}).filter(o=>o.hidden>0)}function Ih(e){let o=T5(e);return o.length===0?null:o.map(({anchor:t,total:a,hidden:r})=>{let n=xh[t],s=r===1?"1 is not shown":`${r} are not shown`;return`${n} holds ${a} boxes. The published page draws the first ${An}, so ${s}. ${r===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function Ev(e,o){let t=o;if(t?.type!==jc)return null;let a=t.props?.id===void 0?"":String(t.props.id);return a?Uc(bh(e,a),t):null}function bh(e,o){let t=_v(e,o);return t&&t.ownerType===E5?t.siblings:[]}function Ov(e,o){let t=_v(e,o);return t?t.ancestorTypes.filter(a=>a===jc).length:P5}var P5=1,E5="HeroSlide";function _v(e,o){let t=(a,r,n)=>{if(r>12||!a||typeof a!="object")return null;if(b5(a)){if(a.some(s=>s?.props?.id===o))return{siblings:a,ownerType:n.at(-1)??null,ancestorTypes:n};for(let s of a){let l=s.type,c=t(s,r+1,[...n,String(l)]);if(c)return c}return null}for(let s of Object.values(a)){let l=t(s,r+1,n);if(l)return l}return null};return t(e,0,[])}function La(e){return`color-mix(in srgb, var(--overlay-scrim) ${Math.round(Math.min(1,Math.max(0,e))*1e3)/10}%, transparent)`}function upe(e){switch(e){case"tall":return"aspect-[3/4]";case"wide":return"aspect-[2/1]";case"landscape":return"aspect-[4/3]";case"portrait":return"aspect-[4/5]";case"video":return"aspect-[16/9]";case"panorama":return"aspect-[21/9]";case"story":return"aspect-[9/16]";case"poster":return"aspect-[2/3]";case"auto":return"";default:return"aspect-square"}}var yh=[{shape:"auto",image:"auto",ratio:null,label:"Auto"},{shape:"story",image:"9/16",ratio:[9,16],label:"Story 9:16"},{shape:"poster",image:"2/3",ratio:[2,3],label:"Poster 2:3"},{shape:"tall",image:"3/4",ratio:[3,4],label:"Tall 3:4"},{shape:"portrait",image:"4/5",ratio:[4,5],label:"Portrait 4:5"},{shape:"square",image:"1/1",ratio:[1,1],label:"Square 1:1"},{shape:"landscape",image:"4/3",ratio:[4,3],label:"Landscape 4:3"},{shape:"video",image:"16/9",ratio:[16,9],label:"Video 16:9"},{shape:"wide",image:"2/1",ratio:[2,1],label:"Wide 2:1"},{shape:"panorama",image:"21/9",ratio:[21,9],label:"Panorama 21:9"}];function ppe(e){return yh.filter(o=>e.includes(o.shape))}function mpe(e){return e==="below"}var hpe=`linear-gradient(180deg, transparent 40%, ${La(.85)} 100%)`,xpe=`linear-gradient(0deg, transparent 40%, ${La(.85)} 100%)`,gpe=La(.45);var Rv=12,Lv=6,O5=800,ea={twoAcross:{label:"Two across",across:2,acrossPhone:2,desktop:[[6,1],[6,1]],phone:[[3,1],[3,1]]},zigzag:{label:"Zigzag",across:2,acrossPhone:2,desktop:[[8,1],[4,1],[4,1],[8,1]],phone:[[4,1],[2,1],[2,1],[4,1]]},brick:{label:"Brick",across:2,acrossPhone:2,desktop:[[5,1],[7,1],[7,1],[5,1]],phone:[[2,1],[4,1],[4,1],[2,1]]},twoTall:{label:"Two tall",across:2,acrossPhone:2,desktop:[[6,2],[6,2]],phone:[[3,2],[3,2]]},offsetTall:{label:"Offset tall",across:2,acrossPhone:2,desktop:[[5,2],[7,1],[3,1],[4,1]],phone:[[3,2],[3,1],[3,1]]},ladder:{label:"Ladder",across:2,acrossPhone:2,desktop:[[3,2],[9,1],[5,1],[4,1]],phone:[[2,2],[4,1],[2,1],[2,1]]},threeAcross:{label:"Three across",across:3,acrossPhone:3,desktop:[[4,1],[4,1],[4,1]],phone:[[2,1],[2,1],[2,1]]},bigLeft:{label:"Big left",across:3,acrossPhone:3,desktop:[[6,1],[3,1],[3,1]],phone:[[4,1],[1,1],[1,1]]},bigRight:{label:"Big right",across:3,acrossPhone:3,desktop:[[3,1],[3,1],[6,1]],phone:[[1,1],[1,1],[4,1]]},threeStagger:{label:"Three stagger",across:3,acrossPhone:3,desktop:[[5,1],[4,1],[3,1],[3,1],[4,1],[5,1]],phone:[[3,1],[2,1],[1,1],[1,1],[2,1],[3,1]]},threeLadder:{label:"Three ladder",across:3,acrossPhone:3,desktop:[[3,1],[4,1],[5,1],[5,1],[4,1],[3,1]],phone:[[1,1],[2,1],[3,1],[3,1],[2,1],[1,1]]},tallMiddle:{label:"Tall middle",across:3,acrossPhone:3,desktop:[[4,1],[4,2],[4,1],[4,1],[4,1]],phone:[[2,1],[2,2],[2,1],[2,1],[2,1]]},fourAcross:{label:"Four across",across:4,acrossPhone:2,desktop:[[3,1],[3,1],[3,1],[3,1]],phone:[[3,1],[3,1]]},bigFirst:{label:"Big first",across:4,acrossPhone:2,desktop:[[6,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1]],phone:[[6,1],[3,1],[3,1]]},fourStagger:{label:"Four stagger",across:4,acrossPhone:2,desktop:[[4,1],[3,1],[2,1],[3,1],[2,1],[3,1],[4,1],[3,1]],phone:[[4,1],[2,1],[2,1],[4,1]]},tallFirst:{label:"Tall first",across:4,acrossPhone:2,desktop:[[3,2],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1]],phone:[[3,2],[3,1],[3,1]]},oneThenFour:{label:"One then four",across:4,acrossPhone:2,desktop:[[12,1],[3,1],[3,1],[3,1],[3,1]],phone:[[6,1],[3,1],[3,1]]},sixAcross:{label:"Six across",across:6,acrossPhone:3,desktop:[[2,1],[2,1],[2,1],[2,1],[2,1],[2,1]],phone:[[2,1],[2,1],[2,1]]},sixStagger:{label:"Six stagger",across:6,acrossPhone:6,desktop:[[3,1],[2,1],[1,1],[2,1],[1,1],[3,1],[1,1],[3,1],[2,1],[2,1],[1,1],[3,1]],phone:[[1,1],[1,1],[1,1],[1,1],[1,1],[1,1]]},twoThenThrees:{label:"Two, then threes",across:3,acrossPhone:3,lead:[[6,1],[6,1]],desktop:[[4,1],[4,1],[4,1]],leadPhone:[[3,1],[3,1]],phone:[[2,1],[2,1],[2,1]]},twoThenThreesPhoto:{label:"Two, then threes \xB7 photo",across:3,acrossPhone:1,lead:[[6,1],[6,1]],desktop:[[4,1],[4,1],[4,1]],phone:[[6,1]],ratio:"landscape"}},Sh=Object.keys(ea),Fv=[2,3,4,6];function wh(e,o){return Sh.filter(t=>t===o||e===null||ea[t].across===e)}function Bv(e){return typeof e!="string"||e===""?null:ea[e]??null}function Av(e,o){return o?Lv/e.acrossPhone:Rv/e.across}function Ch(e){return e.ratio?yh.find(o=>o.shape===e.ratio)?.ratio??null:null}function Dv(e){return[...e.lead??[],...e.desktop]}var _5="sf-wall--";function A5(e){return`${_5}${e}`}function ype(e){let o=ea[e],t=`.${A5(e)}`,a=[],r=(l,c,d)=>`${t}:has(> :nth-child(${l}n+${c+d}):last-child) > :nth-last-child(-n+${d})`,n=(l,c,d=[])=>{let f=[],m=l.length,u=d.length;d.forEach(([x,g],I)=>{f.push(`${t} > :nth-child(${I+1}){grid-column:span ${x};grid-row:span ${g}}`)}),l.forEach(([x,g],I)=>{f.push(`${t} > :nth-child(${m}n+${u+I+1}){grid-column:span ${x};grid-row:span ${g}}`)});for(let x=1;x<m;x+=1)f.push(`${r(m,u,x)}{grid-column:span ${c};grid-row:span 1}`);return f};a.push(`${t}{grid-template-columns:repeat(${Rv},minmax(0,1fr))}`);let s=Ch(o);if(s&&(a.push(`${t}${t}{grid-auto-rows:auto}`),a.push(`${t}${t} > *{aspect-ratio:${s[0]}/${s[1]};height:auto}`)),a.push(...n(o.desktop,Av(o,!1),o.lead)),a.push(`@media (max-width:${O5}px){`),a.push(`${t}{grid-template-columns:repeat(${Lv},minmax(0,1fr))}`),a.push(...n(o.phone,Av(o,!0),o.leadPhone)),o.phone.length===1&&!o.leadPhone?.length){let[l,c]=o.phone[0],d=o.lead?.length??0;for(let f=1;f<o.desktop.length;f+=1)a.push(`${r(o.desktop.length,d,f)}{grid-column:span ${l};grid-row:span ${c}}`)}return a.push("}"),a.join("")}var Kc=12,Nv=1,R5=3;var L5=3;function vh(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 F5(e){return vh(e,1,Kc)??L5}function Cpe(e,o){return vh(e,Nv,R5)??(F5(o)===4?2:Nv)}function vpe(e){return e==null||e===""?null:vh(e,1,Kc)}var kpe="data-sf-span";function Tpe(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(Bv(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}import{jsx as B5}from"react/jsx-runtime";import*as D5 from"efficient-easel/icons";function Vc(e){let o=e.replace(/(^|-)([a-z])/g,(a,r,n)=>n.toUpperCase()),t=D5[`${o}Icon`];return t?B5(t,{size:16}):null}import{jsx as Fa,Fragment as H5,jsxs as jv}from"react/jsx-runtime";import{useContext as W5,useEffect as $5,useId as z5,useState as Kv}from"react";import{SettingsField as G5,SettingsSwitch as U5}from"efficient-easel/panel";import{AnchorIcon as j5}from"efficient-easel/icons";import{ScreenDocumentContext as K5}from"efficient-easel/screen/components/ScreenDocumentContext";import{Snippet as V5}from"efficient-shell/ui";import{slugify as q5}from"efficient-shell/format";import{slugify as N5}from"efficient-shell/format";function il(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}var qc=e=>N5(il(e));var Yc="homepage";import{slugify as M5}from"efficient-shell/format";var Mv=[{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 Hv(e){return e.offersCommerce&&e.offersService?Mv:Mv.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}var kh="#popup:";function Wv(e){return`${kh}${e}`}function $v(e){return e.startsWith(kh)&&e.slice(kh.length).trim()||null}function cl(e){return e===Yc?"/":`/${e}`}function zv(e){return`/journal/${e}`}function Dpe(e){return`/wheels/${e}`}function Xc(e,o){return`${cl(e)}#${o}`}function Gv(...e){let o=new Set,t=[];for(let a of e)for(let r of a?.content??[]){let n=il(r?.props?.anchor);if(!n)continue;let s=M5(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function Npe(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 Uv(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}import{readHidable as Y5}from"efficient-easel/draw";function Vv({value:e,onChange:o,nameBox:t}){let a=Y5(e).text,[r,n]=Kv(!1),s=r||a.trim()!=="",l=z5();return jv(H5,{children:[Fa(G5,{label:i("Add an anchor"),labelId:l,icon:Fa(j5,{}),action:Fa(U5,{checked:s,ariaLabelledBy:l,onChange:c=>{n(c),!c&&a!==""&&o("")}})}),s&&t(e,o),s&&Fa(X5,{name:a})]})}function X5({name:e}){let o=W5(K5),t=o?.templateId?"":o?.currentSlug??"",[a,r]=Kv("");$5(()=>r(Cn()||window.location.origin),[]);let n=q5(e);if(!n||!t)return null;let s=`${a}${Xc(t,n)}`,l=s.replace(/^https?:\/\//,""),c=l.lastIndexOf("#");return Fa("div",{className:"sf-anchor-link",children:Fa(V5,{value:s,label:i("link"),size:"sm",children:jv("span",{className:"sf-anchor-link-text",children:[Fa("span",{className:"sf-anchor-link-path",children:l.slice(0,c)}),Fa("span",{className:"sf-anchor-link-hash",children:l.slice(c)})]})})})}import{jsx as Wt,jsxs as Z5}from"react/jsx-runtime";import{Fragment as J5}from"react";import{Button as Zc,Tooltip as Q5}from"efficient-shell/ui";function qv({status:e,statusText:o,onRefresh:t,busy:a=!1,edit:r,hint:n,spaced:s=!0,compact:l=!1,oneLine:c=!1}){return l?Wt("div",{className:`sf-blogsource sf-blogsource--compact${c?" sf-blogsource--line":""}`,style:s?{marginTop:8}:void 0,children:Wt(Q5,{content:n,className:c?"sf-name-tip":void 0,children:Wt("p",{className:"sf-blogsource-status","data-state":e,children:[o?Wt(J5,{children:o},"status"):null,t?Wt(Zc,{variant:"link",size:"sm",className:"sf-blogsource-link",onClick:t,disabled:a,children:i("Refresh now")},"refresh"):null,r?Wt(Zc,{variant:"link",size:"sm",className:"sf-blogsource-link",onClick:r.onClick,children:r.label},"edit"):null].filter(Boolean).flatMap((d,f)=>f?[" \xB7 ",d]:[d])})})}):Z5("div",{className:"sf-blogsource",style:s?{marginTop:9}:void 0,children:[Wt("p",{className:"sf-blogsource-status","data-state":e,children:o}),t?Wt(Zc,{variant:"secondary",className:"sf-blogsource-action",onClick:t,disabled:a,children:i("Refresh now")}):null,r?Wt(Zc,{variant:"secondary",className:"sf-blogsource-action",onClick:r.onClick,children:r.label}):null,Wt("p",{className:"es-field-hint",children:n})]})}import{AdjustIcon as kG,EyeIcon as TG,AnimationIcon as PG,BackgroundIcon as wP,BorderAllIcon as EG,BlockSectionIcon as OG,ColumnWidthsIcon as Wx,ColumnsIcon as BP,CornerIcon as _G,DirectionDownIcon as AG,DirectionLeftIcon as RG,DirectionRightIcon as LG,DirectionUpIcon as FG,EditIcon as BG,GapIcon as DG,GridIcon as NG,GroundIcon as Hx,HashIcon as DP,HeightIcon as MG,ImageIcon as HG,ListIcon as WG,LocationIcon as CP,PaddingBottomIcon as NP,PaddingLeftIcon as MP,PaddingRightIcon as HP,PaddingTopIcon as WP,PageIcon as $G,StickyIcon as zG,SearchIcon as GG,SquareIcon as UG,TypeIcon as jG,WidthIcon as KG}from"efficient-easel/icons";import{jsx as ze,Fragment as kr,jsxs as Tr}from"react/jsx-runtime";import{CaptionIcon as e6,DateIcon as o6,FlagIcon as t6,TitleIcon as a6,ButtonIcon as r6,DollarIcon as n6,HashIcon as s6,LinkIcon as l6,NoteIcon as i6,TagIcon as c6,TextLinesIcon as d6}from"efficient-easel/icons";var Yv={body:d6,button:r6,link:l6,label:c6,number:s6,price:n6,note:i6,name:t6,date:o6,caption:e6,title:a6},Xv={eyebrow:Tr(kr,{children:[ze("path",{d:"M5 6.5h5"}),ze("path",{d:"M5 12.5h14"}),ze("path",{d:"M5 18h11"})]}),heading:Tr(kr,{children:[ze("path",{d:"M6.5 5v14"}),ze("path",{d:"M17.5 5v14"}),ze("path",{d:"M6.5 12h11"})]}),intro:Tr(kr,{children:[ze("path",{d:"M4 5.5v13"}),ze("path",{d:"M8 7.5h12"}),ze("path",{d:"M8 12h12"}),ze("path",{d:"M8 16.5h8"})]}),value:Tr(kr,{children:[ze("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),ze("path",{d:"M6.5 12h7"})]}),quote:Tr(kr,{children:[ze("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),ze("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:Tr(kr,{children:[ze("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),ze("path",{d:"M8 9.5h8"}),ze("path",{d:"M12 9.5v5"})]}),meta:Tr(kr,{children:[ze("path",{d:"M4 7h16"}),ze("path",{d:"M4 14h3.5"}),ze("path",{d:"M10.5 14h3"}),ze("path",{d:"M17 14h3"})]})};function Th({noun:e,size:o=14,strokeWidth:t=1.8,className:a,style:r}){let n=Yv[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:Xv[e]})}var rme=Object.keys(Yv);var nme=Object.keys(Xv);import{parseHexColor as b6}from"efficient-shell/format";import{parseHexColor as rk}from"efficient-shell/format";import{COLOR_SLOTS as nk,FILL_COLOR_SLOTS as g6,colorRole as I6,fillColorRole as sk}from"efficient-shell/markup";import{parseHexColor as Qv}from"efficient-shell/format";import{FILL_COLOR_SLOTS as m6}from"efficient-shell/markup";var dl=[{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}],f6=dl.filter(e=>e.ink);function u6(e){let o={color:e.fg};for(let{role:t,token:a}of f6)o[a]=e[t];return o}var p6={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},Zv=Object.freeze(u6(p6));var Jc=e=>{let o=dl.find(t=>t.role===e);return o?`var(${o.token})`:""},h6=e=>Jc(e)?`var(--theme-${e})`:"",Jv={main:{ink:Oa.accent,page:Oa.accent,key:"accent",label:()=>i("Main"),words:e=>i("Theme {n} main color",{n:e})},text:{ink:Oa.text,page:Oa.text,key:"text",label:()=>i("Text"),words:e=>i("Theme {n} text color",{n:e})},background:{ink:Jc("bg"),page:h6("bg"),key:"background",label:()=>i("Background"),words:e=>i("Theme {n} background",{n:e})},muted:{ink:Oa.labels,page:Oa.labels,key:"muted",label:()=>i("Muted"),words:e=>i("Theme {n} muted color",{n:e})},surface:{ink:Jc("surface"),page:Jc("surface"),key:"surface",label:()=>i("Surface"),words:e=>i("Theme {n} surface color",{n:e})}};function Ba(e){return Object.hasOwn(Jv,e)?Jv[e]:void 0}var Ph="#9ca3af";function Rn(e,o,t){let a=Ba(e);return a?{hex:Qv(o[a.key]??"")??"",words:a.words(t)}:null}function ek(e,o){return m6.flatMap(t=>{let a=Rn(t,e,o);return a&&Ba(t)?.ink?[{name:t,label:a.words,value:a.hex||Ph}]:[]})}var x6=["main","text","background"];function ok(e){let o=new Set,t=[];return to(e).themes.forEach((a,r)=>{for(let n of x6){let s=Ba(n),l=s?a[s.key]:void 0,c=typeof l=="string"&&l?Qv(l):null;!s||!c||o.has(c)||(o.add(c),t.push({value:c,label:s.words(r+1)}))}}),t}function oa(e){return Ba(e)?.ink??""}function $t(e){if(typeof e!="string")return null;let o=sk(e.trim());return o?.kind==="slot"&&oa(o.slot)?o.slot:null}var tk={accent:"main",labels:"muted"};function Uo(e){return Object.hasOwn(tk,e)?tk[e]:e}function Ln(e){if(!e)return"";if(e.startsWith("#"))return rk(e)===e.toLowerCase()?e:"";let o=I6(Uo(e));return o?.kind==="slot"?oa(o.slot):""}function Fn(e,o=nk){return o.flatMap(t=>{let a=Ba(t);return a?.ink?[{name:t,label:a.label(),value:e?.[t]||Ph}]:[]})}function lk(e){let o=sk(Uo(e));return o?.kind==="slot"?oa(o.slot):""}function Eh(e){let o=e?.trim();return o?g6.find(t=>oa(t)===o)??null:null}function ik(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 nk){let l=oa(s);if(!l)continue;let c=l.replace(/^var\((--[\w-]+)\)$/,"$1"),d=r.getPropertyValue(c).trim();if(!d)continue;let f=ak(d);!f&&n&&(n.fillStyle="#000000",n.fillStyle=d,f=ak(String(n.fillStyle))),f&&(o[s]=f)}return o}function ak(e){let o=e.trim().toLowerCase();if(o.startsWith("#"))return rk(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 y6="#ffffff";function Oh(e){return ck(e)||(S6(e)?e:y6)}function ck(e){let o=$t(e);return o?Ba(o)?.page??"":""}function S6(e){return typeof e=="string"&&b6(e)===e.toLowerCase()||ck(e)!==""}function wme(e){return{"--bg":Oh(e)}}import{parseHexColor as w6}from"efficient-shell/format";import{fillColorRole as C6}from"efficient-shell/markup";function fl(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 Ame="sf-card",Da={min:0,max:100,step:5,fallback:0,unit:"%"},v6=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],k6="68%",Rme={desktop:20,phone:20,side:40,sidePhone:24},Lme="sf-box-sides";function fk(e){return typeof e=="string"&&e.trim()!==""}function dk(e,o){let t=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(t)||t<=0)return null;let a=(Math.min(Da.max,Math.max(Da.min,t))/100).toFixed(2);return o!=="bottom"?{background:La(Number(a))}:{background:`linear-gradient(0deg, ${La(Number(a))} 0%, ${La(0)} ${k6})`}}var Qc=e=>typeof e=="string"?w6(e.trim()):null,_h=e=>{let o=Qc(e);if(o!==null||typeof e!="string")return o;let t=e.trim();return t&&!t.startsWith("#")&&lk(t)||null},ed=e=>{if(typeof e!="string")return null;let o=C6(Uo(e.trim()));return o?.kind==="slot"?o.slot:null},T6="swatch";function Fme(e,o){if(!o)return null;let t=Gm(o,gt(e,T6)),a=$t(t);return Qc(t)??(a&&oa(a)||null)}var P6={tabletClass:"sf-fill-tablet",tabletVar:"--sf-fill-tablet",phoneClass:"sf-fill-phone",phoneVar:"--sf-fill-phone"};function Bme(e,o,t){return fl(P6,_h(e),_h(o),_h(t))}var E6={tabletClass:"sf-wash-tablet",tabletVar:"--sf-wash-tablet",phoneClass:"sf-wash-phone",phoneVar:"--sf-wash-phone"};function Dme(e){let o=dk(e.darken,e.darkenStyle);if(!o)return{className:"",style:{}};let t=(m,u)=>String(dk(m,u)?.background??"none"),a=m=>(typeof m=="number"||typeof m=="string"&&m.trim()!=="")&&Number.isFinite(Number(m))?m:void 0,r=m=>v6.some(u=>u.value===m)?m:void 0,[n,s,l,c]=[a(e.darkenTablet),r(e.darkenStyleTablet),a(e.darkenPhone),r(e.darkenStylePhone)],d=n??e.darken,f=s??e.darkenStyle;return fl(E6,String(o.background),n!==void 0||s!==void 0?t(d,f):null,l!==void 0||c!==void 0?t(l??d,c??f):null)}function Nme(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 uk(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(Ah(a,o,0))return{type:typeof r=="string"?r:"",props:n??{}}}return null}function Ah(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(r=>Ah(r,o,t+1));let a=e.props;return a&&typeof a=="object"&&a.id===o?!0:Object.values(e).some(r=>Ah(r,o,t+1))}function pk(e,o){let t=e?.content;return Array.isArray(t)?od(t,o,0)??[]:[]}function od(e,o,t){if(t>12||!e||typeof e!="object")return null;if(Array.isArray(e)){for(let r of e){let n=od(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=od(r,o,t+1);if(n)return[a,...n]}return null}for(let r of Object.values(e)){let n=od(r,o,t+1);if(n)return n}return null}import{SettingsDefaultReset as Co,SettingsDrill as VG,SettingsField as no,SettingsGroup as qG,SettingsGroupSub as uSe,SettingsSegmented as YG,SettingsBorder as XG,SettingsSidesEach as ZG,SettingsSwitch as $x,borderSides as JG,borderStartEach as QG}from"efficient-easel/panel";import{ListField as eU}from"efficient-easel/fields";import{DisplayChips as oU}from"efficient-shell/ui";import{HIDDEN_KEY as O6,hiddenInEveryView as _6,hiddenInView as Rh,hiddenKeyOf as mk}from"efficient-easel/screen/lib/content/view-hide";var A6={"000":"",100:"view-desktop:hidden","010":"view-tablet:max-view-desktop:hidden","001":"max-view-tablet:hidden",110:"view-tablet:hidden","011":"max-view-desktop:hidden",101:"view-desktop:hidden max-view-tablet:hidden",111:"hidden"};function td(e){let o=t=>t?"1":"0";return A6[o(e.desktop)+o(e.tablet)+o(e.mobile)]}var Bn=[O6,mk("tablet"),mk("mobile")];function hk(e){return{desktop:Rh(e,"desktop"),tablet:Rh(e,"tablet"),mobile:Rh(e,"mobile")}}function ul(e){return _6(e)}function $me(e){let o=hk(e);return["desktop","tablet","mobile"].filter(t=>o[t]).join(" ")}var R6={"000":"",100:"view-desktop:hidden!","010":"view-tablet:max-view-desktop:hidden!","001":"max-view-tablet:hidden!",110:"view-tablet:hidden!","011":"max-view-desktop:hidden!",101:"view-desktop:hidden! max-view-tablet:hidden!",111:"hidden!"};function zme(e){let o=hk(e),t=a=>a?"1":"0";return R6[t(o.desktop)+t(o.tablet)+t(o.mobile)]}function Dn(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 ad(e,o){return Dn(e)[o]!==!1}function Lh(e,o,t){let a=Dn(o)[t];return typeof a=="boolean"?a:ad(e,t)}function xk(e){return Object.values(Dn(e)).some(o=>o===!1)}function gk(e){return Object.keys(Dn(e)).length>0}function Ik(e,o,t){let a={...Dn(e)};return t?delete a[o]:a[o]=!1,Object.keys(a).length?a:void 0}function bk(e,o,t){return{...Dn(e),[o]:t}}function jme(e,o,t){let a=!ad(e,t);return td({desktop:a,tablet:a,mobile:!Lh(e,o,t)})}import{AlignmentGrid as tU,Checkbox as gSe,ColorSwatch as aU,CornersInput as rU,DatePicker as ISe,DateTimePicker as nU,FOCAL_DEFAULT as bSe,IconPicker as $P,COLUMN_COUNT_MAX as vP,COLUMN_SHARE_MIN as sU,COLUMN_SHARES_EQUAL as lU,resolveColumnShares as zP,WidthsBar as iU,useShellStrings as cU,IconButton as GP,InputNumber as kP,Slider as dU,Tooltip as zx}from"efficient-shell/ui";import{backendOf as L6}from"efficient-easel/screen/lib/session";var Ge=L6,rd=e=>e.blocks;async function yk(e){let o=e.trim();if(!o)return null;let t=Ge().geocode;if(!t)throw new Error("geocode_unavailable");return t.locate(o)}var Fh="Lookup busy \u2014 try again in a moment.",nd=e=>typeof e=="number"&&Number.isFinite(e);function Jme(e){return e.some(o=>{let t=o?.geocode;return t?t.pending||t.manual&&t.lat===void 0&&t.lng===void 0?!0:nd(t.lat)&&t.lat!==o.lat||nd(t.lng)&&t.lng!==o.lng:!1})}async function Qme(e,o,{geocode:t=yk,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:Fh}})}}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=nd(l.lat)&&l.lat!==s.lat?l.lat:s.lat,d=nd(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 Fo,jsxs as Dh}from"react/jsx-runtime";import{useRef as F6}from"react";import{ColorPicker as B6,ColorPickerPanel as D6,ColorSwatch as N6,HexInput as M6,Popover as H6,Tooltip as W6,colorFill as $6,colorSwatchClasses as z6,useShellStrings as G6}from"efficient-shell/ui";import{SettingsDefaultReset as U6,SettingsField as j6}from"efficient-easel/panel";import{typedHex as Bh}from"efficient-easel/pick";var Sk="Not set";function K6({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,ariaLabel:s,choices:l}){return Fo(q6,{value:e,onChange:o,label:i(s??t),id:a,caption:r,inherited:n,choices:l})}function V6(){let{theme:e}=xe();return ok(e)}function q6({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,choices:s}){let l=V6(),c=e?null:Bh(n??""),d=r!==void 0&&(!e||Bh(r)!==Bh(e))?r:null,f=m=>{m!==e&&o(m)};return Dh("div",{className:"sf-colour",children:[s?Fo(Y6,{id:a,value:e,onChange:o,label:t,presets:l,follows:c,choices:s}):Fo(B6,{id:a,value:e,onChange:f,label:t,presets:l,fallback:c??void 0,size:"md",align:"start"}),d!==null?Fo("span",{className:"sf-colour-caption",children:d}):Fo("span",{className:"sf-colour-hexwrap",children:Fo(M6,{value:e||c||"",onChange:f,label:i("{label} hex code",{label:t}),placeholder:e||c?void 0:i(Sk),className:c?"sf-colour-hex is-inherited":"sf-colour-hex",size:"md"})})]})}function Y6({value:e,onChange:o,label:t,id:a,presets:r,follows:n,choices:s}){let l=G6().color,c=e||n||"",d=s.findIndex(u=>u.selected),f=d>=0,m=F6(d);return f&&(m.current=d),Fo(H6,{id:a,trigger:Fo("span",{"aria-hidden":"true",className:"absolute inset-0",style:$6(c)}),triggerLabel:l.swatch(t,c.toUpperCase()||l.none),triggerClassName:z6({size:"md"}),"aria-label":l.panel(t),align:"start",children:Dh("div",{className:"sf-colour-window",children:[Fo("div",{role:"group","aria-label":t,className:"sf-colour-choices",children:s.map(u=>Fo(W6,{content:u.label,children:Fo(N6,{color:u.color,"aria-label":u.label,selected:u.selected,onClick:()=>{u.selected||u.onPick()}})},u.label))}),Fo(D6,{value:f?"":e,onChange:o,label:t,presets:r,fallback:(f?c:n)??void 0},m.current)]})})}function Bo({label:e,icon:o,changed:t,hint:a,onReset:r,resetTo:n,children:s,...l}){return Dh(j6,{label:e,icon:o,htmlFor:l.id,changed:t,hint:a,action:r?Fo(U6,{words:re()?.panel,label:e,changed:!!t,detail:n,onReset:r}):void 0,children:[K6({...l,label:e}),s]})}function pl({label:e,icon:o,value:t,inherited:a,resetTo:r,onChange:n,onReset:s,hint:l,choices:c}){let d=!!t;return Fo(Bo,{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 fU}from"efficient-easel/screen/lib/document/style-fields";import{jsx as X6}from"react/jsx-runtime";import{useEffect as Z6,useState as J6}from"react";import{clearRangeOf as Q6,markSelection as e3,useCaretEdit as o3}from"efficient-easel/copy";import{TextToolbar as t3}from"efficient-shell/ui";function a3(e,o,t){return e3(e,o,t,Aw)}function wk(e,o){let t=Q6(o,e.length),a=Lw(e,t.start,t.end);return a.text===e?null:a}function r3(e){let[o,t]=J6(null);return Z6(()=>{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 n3({target:e,value:o,onChange:t,disabled:a=!1,label:r="Formatting"}){let n=o3({target:e,onChange:t}),[s,l]=r3(e),c=u=>n(x=>{let g=a3(o,u,x);return l({start:g.selectionStart,end:g.selectionEnd}),g}),d=Ow(),f={};if(s)for(let u of d)f[u.style]=Rw(o,s.start,s.end,u.style);let m=a?null:wk(o,s);return X6(t3,{offered:new Set(d.map(u=>u.style)),onMark:u=>c(u),pressed:f,disabled:a,"aria-label":i(r),className:"sf-markup-bar",clear:m?{onClear:()=>n(()=>{let u=e.current,x=u&&u.ownerDocument.activeElement===u?{start:u.selectionStart??0,end:u.selectionEnd??0}:null,g=wk(o,x)??{text:o,selectionStart:x?.start??0,selectionEnd:x?.end??0};return l({start:g.selectionStart,end:g.selectionEnd}),g})}:void 0})}var Nh=n3;import{deviceField as Ut}from"efficient-easel/screen/lib/document/device-fields";import{NO_CONTROL_FIELD as uU,NoControlMark as pU,noControlField as UP}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Mh="__ownBox";function Ck(e){return!!e&&typeof e=="object"&&e[Mh]===!0}function sd(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var ld=void 0;import{phoneKey as la,tabletKey as Kn}from"efficient-easel/draw";import{jsx as Wh,Fragment as i3}from"react/jsx-runtime";import{createContext as c3,useContext as d3}from"react";var id={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},cd={Events:["posts"],SubscribeBlogs:["posts"]};var s3=["anchor"],l3=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function ml(e){return s3.includes(e)||l3.test(e)}var Hh={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"}}};Hh.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var Che=Object.fromEntries(Object.entries(id).map(([e,o])=>[e,Object.keys(o)])),vhe=Object.fromEntries(Object.entries(cd).map(([e,o])=>[e,[...o]]));import{NoControlMark as f3}from"efficient-easel/screen/lib/document/panel-no-control-mark";var vk=c3(!1);function kk({children:e}){return Wh(vk.Provider,{value:!0,children:e})}function u3(){return d3(vk)}function Tk({name:e,children:o}){return!u3()||!e||!p3(e)||ml(e)?Wh(i3,{children:o}):Wh(f3,{})}function p3(e){return/^[A-Za-z0-9_$]+$/u.test(e)}var $h="off",zh="none",Gh=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],Uh=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function Rhe(e){return io(Gh,$h,e)}function Lhe(e){return io(Uh,zh,e)}var Pk="sf-card-index",hl="sf-card-index",Fhe="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",m3={plain:`counter(${hl})`,padded:`counter(${hl}, decimal-leading-zero)`,numero:`"N\xB0" counter(${hl}, decimal-leading-zero)`};function Bhe(e,o){return o==="off"?"":`.${e}{counter-reset:${hl}}.${e} .${Pk}{counter-increment:${hl}}.${e} .${Pk}::before{content:${m3[o]}}`}function Dhe(e){return e==="hairline"?"border border-line hover:border-accent":""}var Ek=[{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 mU}from"efficient-easel/draw";import{jsx as Do}from"react/jsx-runtime";import{SettingsDefaultReset as w3,SettingsField as jh}from"efficient-easel/panel";import{useSelectedHost as C3}from"efficient-easel/easel";import{FOCAL_DEFAULT as v3}from"efficient-shell/format";import{ImageIcon as Kh,PlayIcon as _k}from"efficient-easel/icons";import{ImageFocusPoint as k3,MediaUploadField as T3}from"efficient-shell/ui";import{useContext as P3}from"react";import{ScreenDocumentContext as E3}from"efficient-easel/screen/components/ScreenDocumentContext";import{phoneKey as O3,tabletKey as Ak}from"efficient-easel/draw";import{usePreviewDevice as _3}from"efficient-easel/draw/client";import{formatFocal as h3,parseFocal as x3}from"efficient-shell/format";var g3="sf-focus-phone",I3="--sf-focus-phone",b3="sf-focus-tablet",y3="--sf-focus-tablet",xl=e=>{if(typeof e!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(e))return null;let{x:o,y:t}=x3(e);return h3(o,t)};function Ok(e,o){return fl(S3,null,xl(o),xl(e))}var S3={tabletClass:b3,tabletVar:y3,phoneClass:g3,phoneVar:I3};import{shownTier as Vh}from"efficient-easel/screen/lib/document/device-fields";import{onDesktopWords as A3}from"efficient-easel/screen/lib/document/box-fields";import{requestMediaPick as R3}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as L3}from"efficient-easel/screen/lib/host";import{useEaselSession as F3}from"efficient-easel/screen/lib/session-context";function B3(e,o,t,a=!0){let r=Vh(t),n=typeof e[o]=="string"&&e[o]?String(e[o]):v3;if(r==="desktop")return{ownView:!1,followed:n,followsView:"desktop",own:void 0,focus:n,key:o};let s=r==="tablet"?Ak(o):O3(o),l=xl(e[s])??void 0,c=r==="mobile"&&a?xl(e[Ak(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 D3(e,o,t){let a=C3();if(!o||!a)return null;let r=a.values??{};if(t&&!t(r,Vh(e)))return null;let n=B3(r,o,e,t?t(r,"tablet"):!0),s=a.onChange;return{...n,set:l=>s(n.key,l),clear:()=>s(n.key,ld)}}function Rk({value:e,onChange:o,label:t,accept:a,placeholder:r,focusKey:n,focusWhen:s,frameKey:l,fieldKey:c}){let d=L3(),f=F3(),m=i(t),u=_3(),x=a.startsWith("video"),g=D3(u,x?void 0:n,s),I=!!n&&Vh(u)!=="desktop",k=P3(E3),C=qh(),w=l&&c?{video:c,frame:l}:null,b=T=>R3(d,{accept:a,title:m,...T?{file:T}:{}}).then(D=>!D||!w?D?.url??null:(C({[w.video]:D.url,[w.frame]:D.posterUrl??""}),null)),v=w?T=>T?o(T):C({[w.video]:"",[w.frame]:""}):o,P=_o(e);if(I&&(!g||!P))return null;if(k&&!k.capabilities.mediaEditing)return Do(jh,{label:m,icon:x?Do(_k,{}):Do(Kh,{}),children:Do("div",{className:"sf-image-slot-inert",children:x?i("Templates don\u2019t store videos \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created."):i("Templates don\u2019t store images \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created.")})});let F=g?.ownView&&P?Do(w3,{words:re()?.panel,label:i("Image focus"),changed:!!g.own,detail:A3(T=>i(T),g.followed,g.followsView),onReset:g.clear}):void 0;return I&&g?Do(jh,{label:m,icon:Do(Kh,{}),action:F,children:Do("div",{style:{flex:"1 1 auto",minWidth:0},children:Do(k3,{value:g.focus,onChange:g.set,label:i("Image focus"),image:P,hint:null})})}):Do(jh,{label:m,icon:x?Do(_k,{}):Do(Kh,{}),children:Do("div",{style:{flex:"1 1 auto",minWidth:0},children:Do(T3,{value:P,onChange:v,onPick:b,accept:x?"video/*":"image/*",kind:x?"video":"image",placeholder:r===void 0?void 0:i(r),maxSizeBytes:Ge(f).media.maxUploadBytes,...g?{focus:g.focus,onFocusChange:g.set}:{}})})})}import{jsx as Lk}from"react/jsx-runtime";import{useId as N3}from"react";import{FieldSelect as M3}from"efficient-easel/fields";import{SettingsField as H3}from"efficient-easel/panel";function W3(e){return e.map(({value:o,label:t,note:a})=>({value:o,label:t,...a?{meta:a}:{}}))}function Fk({label:e,options:o,value:t,onChange:a,emptyLabel:r,icon:n,hint:s}){let l=N3(),c=`${l}-label`,d=`${l}-button`,f=Array.isArray(t)?t:[];return Lk(H3,{label:i(e),labelId:c,icon:n,hint:s,children:Lk(M3,{id:d,multiple:!0,value:f,options:W3(o),onChange:a,placeholder:r===void 0?i("None"):i(r),ariaLabelledBy:`${c} ${d}`,inline:!0})})}import{jsx as ro,jsxs as Er,Fragment as gW}from"react/jsx-runtime";import{useCallback as Yk,useContext as IW,useId as Jk,useRef as Xk,useState as Zk}from"react";import{ThemeIcon as bW}from"efficient-easel/icons";import{Button as yW,useClickOutside as SW}from"efficient-shell/ui";import{SettingsField as wW}from"efficient-easel/panel";import{ScreenDocumentContext as CW}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as fe,jsxs as Ma,Fragment as Y3}from"react/jsx-runtime";import{parseHexColor as X3}from"efficient-shell/format";import{Button as Xh,IconButton as Z3,Tooltip as J3}from"efficient-shell/ui";import{jsx as Na,jsxs as $3}from"react/jsx-runtime";import{AccentIcon as z3}from"efficient-easel/icons";import{Button as G3,Tooltip as U3}from"efficient-shell/ui";function Yh(e){return Lo(e).background}function j3(e){let o=Ca(e.accent,Yh(e));return o===null?null:{ratio:o,grade:wn(o)}}function K3(e){let o=Yh(e),t=Ca(e.accent,o);return t===null?[]:AS(e.accent).filter(a=>{let r=Ca(a,o);return r!==null&&r>t&&wn(r)==="good"})}var V3={good:"Easy to read","large-only":Sn["large-only"],hard:Sn.hard};function Bk({value:e,onChange:o}){let t=j3(e),a=t?.grade,r=t&&t.grade!=="good"?K3(e):[];return Na(Bo,{label:i("Main color"),icon:Na(z3,{}),hint:t?i(V3[t.grade]):void 0,value:e.accent,onChange:n=>o({...e,accent:n}),children:r.length>0?Na("div",{className:"w-full min-w-0",children:$3("div",{className:"sf-readability",children:[Na("p",{className:"sf-readability-advice",children:q3(a,!0)}),Na("div",{className:"sf-readability-suggestions",children:r.map(n=>{let s=Ca(n,Yh(e));return Na(U3,{content:i("Use {colour}",{colour:n.toUpperCase()}),children:Na(G3,{variant:"secondary",className:"sf-readability-suggestion",leftIcon:Na("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 q3(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 Q3,ChevronDownIcon as Nk,ChevronUpIcon as eW,GroundIcon as oW,LayoutIcon as tW,SquareIcon as aW,TextSmallIcon as rW,TypeIcon as Dk}from"efficient-easel/icons";var gl=e=>i("Theme {n}",{n:e+1});function Mk({colors:e}){let o=Lo(e),t=zs(e)??o.accent;return Ma("span",{className:"sf-theme-page",style:{background:o.background,color:o.text},"aria-hidden":!0,children:[fe("span",{className:"sf-theme-eyebrow",style:{color:o.muted},children:i("label")}),Ma("span",{className:"sf-theme-headline",children:[i("Heading")," ",fe("span",{style:{color:o.accent},children:i("main")})]}),fe("span",{className:"sf-theme-body",children:i("body text")}),Ma("span",{className:"sf-theme-row",children:[fe("span",{className:"sf-theme-btn",style:{background:t,color:om(e,o.accent)},children:i("button")}),fe("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:i("card")})]})]})}var Zh={"Text color":fe(Dk,{}),"Label color":fe(rW,{}),Background:fe(oW,{}),"Panels & cards":fe(tW,{}),Borders:fe(aW,{}),"Button color":fe(Q3,{}),"Button text color":fe(Dk,{})};function nW({label:e,colorKey:o,value:t,onChange:a,idPrefix:r="sf-theme-ink"}){let n=`${r}-${o}`;return fe(Bo,{label:i(e),icon:Zh[e],id:n,value:t,onChange:s=>a(o,s)})}function sW({value:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button`,n=e!==void 0&&X3(e)===e.toLowerCase(),s=n?e:o;return fe(Bo,{label:i("Button color"),icon:Zh["Button color"],id:r,value:s,caption:n?s:i("Main"),onChange:t})}function lW({colors:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button-ink`,n=RS(e),s=om(e,o),l=zs(e)??o,c=wn(Ca(s,l)??0);return fe(Bo,{label:i("Button text color"),icon:Zh["Button text color"],hint:n&&c!=="good"?i("{grade} on the button",{grade:i(Sn[c])}):void 0,id:r,value:s,caption:n?s:i("Auto"),onChange:t})}var iW=[{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 Jh({colors:e,onChange:o,idPrefix:t}){let a=Lo(e);return fe(Y3,{children:iW.map(r=>"colour"in r?fe(Bk,{value:e,onChange:o},"colour"):"moduleBreak"in r?fe("div",{className:"sf-theme-module-break","aria-hidden":"true"},"module-break"):"button"in r?fe(sW,{value:e.button,accent:a.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in r?fe(lW,{colors:e,accent:a.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):fe(nW,{label:r.label,colorKey:r.key,value:a[r.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},r.key))})}function dd({index:e,colors:o,selected:t,role:a="radio",open:r,editable:n=!0,onPick:s,onEdit:l,onChangeColors:c}){let d=Lo(o),f=gl(e),m=e<em.length&&!o.brandInk?em[e]:null,u=wn(Ca(d.text,d.background)??0),x=m?JSON.stringify(o)!==JSON.stringify(m):!1,g=r!==void 0;return Ma("div",{className:`sf-theme-card${t?" is-selected":""}`,children:[fe("button",{type:"button",role:a,"aria-checked":a==="radio"?t:void 0,"aria-selected":a==="option"?t:void 0,"aria-label":f,className:"sf-theme-pick",onClick:s,children:fe(Mk,{colors:o})}),Ma("div",{className:"sf-theme-foot",children:[fe("span",{className:"sf-theme-name",children:f}),u!=="good"&&fe("span",{className:"sf-theme-warn",children:i(Sn[u])}),n&&l&&g&&fe("span",{className:"sf-theme-edit",children:fe(J3,{content:r?i("Collapse"):i("Edit colors"),children:fe(Z3,{size:"sm","aria-expanded":r,"aria-controls":`sf-theme-colours-${e}`,"aria-label":r?i("Collapse {name}",{name:f}):i("Edit colors for {name}",{name:f}),onClick:l,children:r?fe(eW,{size:14}):fe(Nk,{size:14})})})}),n&&l&&!g&&fe(Xh,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":i("Edit {name}",{name:f}),onClick:l,children:i("Edit")})]}),r&&Ma("div",{id:`sf-theme-colours-${e}`,className:"sf-theme-colours",children:[fe(Jh,{colors:o,onChange:I=>c?.(I)}),m&&fe(Xh,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!x,onClick:()=>c?.({...m}),children:x?i("Reset {name} to the preset",{name:f}):i("Not changed")})]})]})}function Hk({colors:e,name:o,nameId:t,open:a,menuId:r,labelId:n,buttonRef:s,onClick:l,onKeyDown:c,onEdit:d}){return Ma("div",{className:"sf-secttheme-btn",children:[fe("button",{ref:s,type:"button",className:"sf-theme-pick","aria-expanded":a,"aria-controls":r,"aria-labelledby":`${n} ${t}`,onClick:l,onKeyDown:c,children:e?fe(Mk,{colors:e}):fe("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),Ma("div",{className:"sf-theme-foot",children:[fe("span",{id:t,className:"sf-theme-name",children:o}),d&&fe(Xh,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":i("Edit {name}",{name:o}),onClick:d,children:i("Edit")}),fe("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:l,children:fe(Nk,{size:12,className:"sf-multi-caret","aria-hidden":"true"})})]})]})}import{useCallback as rx,useEffect as Uk,useRef as md}from"react";import{currentEaselSession as fW}from"efficient-easel/screen/lib/session";import{useEaselSession as uW}from"efficient-easel/screen/lib/session-context";import{useSyncExternalStore as cW}from"react";var $k,Qh=null,Pr=null,fd=0,ex=new Set;function ox(e){$k=e;for(let o of ex)o()}function tx(e){Qh=e,fd+=1,Pr&&clearTimeout(Pr),Pr=null,ox(void 0)}function ud(e){fd+=1,ox(e)}function ta(e=250){Qh&&(Pr&&clearTimeout(Pr),Pr=setTimeout(()=>{Pr=null;let o=Qh;if(!o)return;let t=++fd;o().then(a=>{t===fd&&ox(a)}).catch(()=>{})},e))}function Wk(){return $k}function dW(e){return ex.add(e),()=>{ex.delete(e)}}function pd(){return cW(dW,Wk,Wk)}var ax=new Set;function zk(e){return ax.add(e),()=>{ax.delete(e)}}async function Gk(){let e=(await Promise.allSettled([...ax].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}import{WebsiteBackendError as pW}from"efficient-easel/screen/lib/backend-error";function jk(e=fW()){return(o,t,a)=>{let r=Ge(e).theme;return r?r.update(o,a?{siteId:a}:void 0):Promise.reject(new pW("invalid","This backend stores no site theme."))}}function Kk(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function mW(e,o=jk()){let{themeFromDocument:t,token:a,siteId:r,patch:n}=e,s=Kk({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 Nn({themeFromDocument:e,tokenRef:o,siteId:t,onResult:a}){let r=md(null),n=md({}),s=uW(),l=md(a);l.current=a;let c=md(null),d=rx(u=>{if(u.status==="skipped"){let x=`skipped:${u.reason}`;if(c.current===x)return;c.current=x}else c.current=null;l.current?.(u)},[]),f=rx(async()=>{r.current&&(clearTimeout(r.current),r.current=null);let u=n.current;n.current={};let x=await mW({themeFromDocument:e,token:o?.current,siteId:t,patch:u},jk(s));return d(x),x.status==="saved"&&ta(),x.status==="failed"&&(n.current={...u,...n.current}),x},[e,o,t,d,s]),m=rx((u,x=!1)=>{let g=Kk({themeFromDocument:e,token:o?.current});if(g){d(g);return}n.current={...n.current,...u},r.current&&clearTimeout(r.current),x?f():r.current=setTimeout(()=>{f()},500)},[e,o,f,d]);return Uk(()=>()=>{f()},[f]),Uk(()=>zk(async()=>{if(!r.current&&Object.keys(n.current).length===0)return;let u=await f();if(u.status==="failed")throw u.error}),[f]),{persist:m,flush:f}}var Zo=-1,hW="sf-section-accent",Vk="Color",qk=new Set(["CategoryBar","DocTabs"]),Uxe=new Set(["Flex"]),nx=0;function bt(e){return e===Zo?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:nx}function sx(e){return e??Zo}function xW(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 dl)t[`--sf-sec-${a}`]=`var(${o}-${a}, var(--theme-${a}))`;return t}function jxe(e){let o=bt(e.sectionAccent);return o===null?null:{className:hW,style:xW(o)}}var vW="Follow the page",nge="Follow the slideshow",kW=e=>i("Editing {name} changes it everywhere.",{name:e});function TW({colors:e}){if(!e)return ro("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=Lo(e);return Er("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[ro("i",{style:{background:o.background}}),ro("i",{className:"sf-secttheme-chip-accent",style:{background:o.accent}})]})}function PW({themes:e,value:o,onPick:t,onEdit:a,menuId:r,followLabel:n}){return Er("div",{className:"sf-multi-menu sf-secttheme-menu",id:r,role:"listbox",children:[n!==void 0&&Er(gW,{children:[Er("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(Zo),children:[ro(TW,{}),ro("span",{className:"sf-secttheme-name",children:i(n)})]}),ro("div",{className:"sf-secttheme-sep",role:"presentation"})]}),o!==null&&e[o]&&ro("p",{className:"sf-secttheme-oncard",role:"presentation",children:i("{name} is on this section",{name:gl(o)})}),e.map((s,l)=>l===o?null:ro(dd,{role:"option",index:l,colors:s,selected:!1,onPick:()=>t(l),onEdit:()=>a(l)},l))]})}function EW({index:e,colors:o,onChange:t,onDone:a}){let r=gl(e),n=Jk();return Er("div",{className:"sf-secttheme-sheet",children:[Er("div",{className:"sf-secttheme-sheet-head",children:[ro("span",{children:r}),ro(yW,{variant:"secondary",className:"sf-secttheme-done",onClick:a,children:i("Done")})]}),ro("div",{className:"sf-secttheme-rows",children:ro(Jh,{colors:o,onChange:t,idPrefix:n})}),ro("p",{className:"sf-secttheme-warn",children:kW(r)})]})}function Qk({value:e,onChange:o,followLabel:t,hint:a}){let{theme:r,setTheme:n}=xe(),s=to(r),l=IW(CW),c=l?.tokenRef,d=l?.siteId??null,f=!l?.capabilities?.hasSiteTheme,{persist:m,flush:u}=Nn({themeFromDocument:f,tokenRef:c,siteId:d}),x=to(s),g=x.themes,I=bt(e),k=I!==null?g[I]:void 0,C=k??(g.length?yn(x):void 0),[w,b]=Zk(!1),[v,P]=Zk(null),F=Xk(null),T=Xk(null),D=Jk(),O=Yk(()=>{b(!1),P(null)},[]),R=Yk(()=>{!w&&v===null||(u(),O())},[w,v,O,u]);SW(F,R);let N=A=>{o(A),O()},y=A=>{if(v===null)return;let L=g.map((X,V)=>V===v?A:X),M={...x,themes:L};n(M),m({selected_preset:M.selected,theme_presets:M.themes})};return Er("div",{className:"sf-secttheme",ref:F,children:[ro(wW,{label:i("Theme"),icon:ro(bW,{}),labelId:`${D}-label`,hint:a,children:ro(Hk,{colors:C,onEdit:I!==null?()=>{P(I),b(!1)}:void 0,name:k?gl(I):i(t??vW),nameId:`${D}-value`,labelId:`${D}-label`,open:w,menuId:D,buttonRef:T,onClick:()=>{P(null),b(A=>!A)},onKeyDown:A=>{A.key==="Escape"&&(w||v!==null)&&(A.preventDefault(),O())}})}),w&&v===null&&ro("div",{onKeyDown:A=>{A.key==="Escape"&&(A.preventDefault(),O(),T.current?.focus())},children:ro(PW,{themes:g,value:I,onPick:N,onEdit:A=>{P(A),b(!1)},menuId:D,followLabel:t})}),v!==null&&g[v]&&ro(EW,{index:v,colors:g[v],onChange:y,onDone:()=>{u(),O(),T.current?.focus()}})]})}import{jsx as eT}from"react/jsx-runtime";import{useId as OW}from"react";import{FieldSelect as _W}from"efficient-easel/fields";import{SettingsField as AW}from"efficient-easel/panel";function RW(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 uge({label:e,options:o,fallback:t,value:a,onChange:r,placeholder:n,bare:s=!1,icon:l}){let c=OW(),d=`${c}-label`,f=`${c}-button`,m=a??"",u=o.some(k=>k.value===m)?m:t,x=i(e),g=n===void 0?void 0:i(n),I=eT(_W,{id:f,value:u,options:RW(o),onChange:r,placeholder:g,searchPlaceholder:g,...s?{ariaLabel:x}:{ariaLabelledBy:`${d} ${f}`},searchable:!0,groupCount:!0,inline:!0});return s?I:eT(AW,{label:x,labelId:d,icon:l,children:I})}import{jsx as _r,jsxs as f$}from"react/jsx-runtime";import{SettingsField as CT}from"efficient-easel/panel";import{LinkIcon as u$}from"efficient-easel/icons";import{LinkPicker as p$,TextLinkField as m$}from"efficient-shell/ui";import{useEffect as wT,useMemo as bd,useRef as h$,useState as Id}from"react";import{currentEaselSession as LW}from"efficient-easel/screen/lib/session";function oT(){return LW().auth.token}import{currentEaselSession as x$}from"efficient-easel/screen/lib/session";import{useScreenDocument as g$}from"efficient-easel/screen/components/ScreenDocumentContext";var FW=()=>({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 tT(e,o,t){if(!e)return"page";if($v(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(Uv(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 lx(e,o){let t=FW(),a=e.pages.map(f=>({value:cl(f.slug),label:f.title})),r=o?.pageOptions?o.pageOptions(a):a,n=r.map(f=>f.value),s=e.pages.map(f=>({label:f.title,options:Gv(...f.docs).map(m=>({value:Xc(f.slug,m.slug),label:m.name}))})).filter(f=>f.options.length>0),l=f=>{switch(f){case"page":return{type:"select",options:r,placeholder:t.choosePage};case"anchor":return{type:"groups",groups:s,placeholder:s.length?t.chooseSection:t.noSections};case"blog":return{type:"select",options:e.posts.map(m=>({value:zv(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:Wv(m.slug),label:m.title||m.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},c=Hv(e.offers).map(f=>({value:f.value,label:i(f.label),target:l(f.value),...f.value==="anchor"?{hint:t.sectionHint}:{},...f.value==="blog"||f.value==="product"||f.value==="popup"?{hideWhenEmpty:!0}:{}}));if(!o)return{kinds:c,rules:{kindOf:f=>tT(f,n),targetOf:f=>f,readFilter:()=>null,withFilter:f=>f}};let d=f=>{let m=o.withFilter(f,null);return o.listingPaths.includes(m)?m:f};return{kinds:c,rules:{kindOf:f=>tT(f,n,{listingPaths:o.listingPaths,targetOf:d}),targetOf:d,readFilter:o.readFilter,withFilter:o.withFilter},filtersFor:f=>o.listingPaths.includes(f)?o.filtersFor(f):null}}import{useEaselSession as I$}from"efficient-easel/screen/lib/session-context";var j=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0;function po(e,o){if(typeof e=="string")return e||o;if(e&&typeof e=="object"&&"text"in e){let t=e.text;return ee(t)??o}return o}function aT(e,o){return j(e)??o}function aa(e,o){return typeof e=="boolean"?e:o}function hd(e,o){if(!Array.isArray(e))return o;let t=e.map(a=>typeof a=="string"?a:po(a?.text,"")).map(a=>a.trim()).filter(Boolean);return t.length?t:o}var nT=["delay","scroll","exit"],sT=["all","chosen","except"],lT=["visit","days","never","once"],BW=["all","desktop","phone"],DW=["stop","continue"],iT={min:0,max:60},cT={min:10,max:90},dT={min:1,max:90},yt={autoOpen:!1,trigger:"delay",autoOpenDelaySec:15,scrollPercent:50,showOn:"all",showOnPages:[],devices:"all",hideAfter:"days",hideDays:7,afterSubmit:"stop",startDate:null,endDate:null};function jo(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function Mn(e,o,t){let a=aT(e,t);return Math.min(o.max,Math.max(o.min,Math.round(a)))}function NW(e){return typeof e.hideAfter=="string"?jo(lT,e.hideAfter,yt.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":yt.hideAfter}function MW(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function rT(e){if(typeof e!="string")return null;let o=e.trim();return/^\d{4}-\d{2}-\d{2}$/.test(o)?o:null}function fT(e){let o=e??{},t=yt;return{autoOpen:aa(o.autoOpen,t.autoOpen),trigger:jo(nT,o.trigger,t.trigger),autoOpenDelaySec:Mn(o.autoOpenDelaySec,iT,t.autoOpenDelaySec),scrollPercent:Mn(o.scrollPercent,cT,t.scrollPercent),showOn:jo(sT,o.showOn,t.showOn),showOnPages:MW(o.showOnPages),devices:jo(BW,o.devices,t.devices),hideAfter:NW(o),hideDays:Mn(o.hideDays,dT,t.hideDays),afterSubmit:jo(DW,o.afterSubmit,t.afterSubmit),startDate:rT(o.startDate),endDate:rT(o.endDate)}}import{parseHexColor as HW}from"efficient-shell/format";var St="#000000";var ix="popup",WW=_n,$W=["auto","full"],zW=["inside","outside","none"],GW={min:240,max:1440},UW={min:0,max:100},Il={placement:"center",fullWidth:!1,width:720,height:"auto",tintColor:St,tintOpacity:60,outsideClick:!0,closeButton:"inside"};function jW(e,o){let t=typeof e=="string"?e.trim():"";return t&&HW(t)===t.toLowerCase()?t:o}function cx(e,o=Il){let t=e??{},a=o;return{placement:jo(WW,t.placement,a.placement),fullWidth:aa(t.fullWidth,a.fullWidth),width:Mn(t.width,GW,a.width),height:jo($W,t.height,a.height),tintColor:jW(t.tintColor,a.tintColor),tintOpacity:Mn(t.tintOpacity,UW,a.tintOpacity),outsideClick:aa(t.outsideClick,a.outsideClick),closeButton:jo(zW,t.closeButton,a.closeButton)}}var uT="cart-drawer",Bge="cart-drawer",KW={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 Dge(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function Nge(e){let o=e??{},t=KW;return{kickerBadge:po(o.kickerBadge,t.kickerBadge),kickerText:po(o.kickerText,t.kickerText),titleLead:po(o.titleLead,t.titleLead),titleAccent:po(o.titleAccent,t.titleAccent),subtitleEmpty:po(o.subtitleEmpty,t.subtitleEmpty),subtitleOne:po(o.subtitleOne,t.subtitleOne),subtitleMany:po(o.subtitleMany,t.subtitleMany),leadTimeValue:po(o.leadTimeValue,t.leadTimeValue),shipsToFallback:po(o.shipsToFallback,t.shipsToFallback),promises:hd(o.promises,t.promises),emptyKicker:po(o.emptyKicker,t.emptyKicker),emptyBody:po(o.emptyBody,t.emptyBody)}}var VW=["right","left"],qW={...Il,width:520,tintOpacity:68};function Mge(e){let o=e??{};return{...cx(o,qW),placement:jo(VW,o.placement,"right"),height:"full",fullWidth:!1,autoOpen:aa(o.autoOpen,!0)}}var mT="consent-banner",zge="consent-banner";var YW=[{value:"bar",label:"Bar"},{value:"card",label:"Card"}],Gge="Layout",pT={layout:"bar"},XW=e=>YW.some(o=>o.value===e);function Uge(e){let o=po((e??{}).layout,pT.layout);return{layout:XW(o)?o:pT.layout}}var jge={...Il,placement:"bottom-center",fullWidth:!0,width:440,tintOpacity:0,outsideClick:!1,closeButton:"none"};var ZW="consentWords",JW=["eyebrow","notice","accept","reject","choose"];function dx(e){let o=(e??{})[ZW];return typeof o=="string"&&JW.includes(o)?o:null}function fx(e){let o=e?.props;return o?dx(o)!==null?!0:Object.values(o).some(t=>Array.isArray(t)&&t.some(a=>a&&typeof a=="object"&&"props"in a&&fx(a))):!1}var QW=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],qge={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"},e$={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"},Yge={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 hT(e){let o={};for(let t of QW){let a=Zt(e[e$[t]]);a&&(o[t]=a)}return o}var xT={heading:"Join our email list",placeholder:"Email address",buttonLabel:"Subscribe"},o$={lead:"We accept"},gd={...o$,methods:[],size:"sm",align:"start",dataSource:pw},wt="site-footer";var Jge=wt,Qge={desktop:!0,tablet:!0,mobile:!0},eIe={desktop:!1,tablet:!1,mobile:!1},ux=1,gT=6,oIe=Array.from({length:gT-ux+1},(e,o)=>ux+o),xd={desktop:6,tablet:3,mobile:2},t$={2:{desktop:2,tablet:2,mobile:1},3:{desktop:3,tablet:3,mobile:1},4:{desktop:4,tablet:2,mobile:2},5:{desktop:5,tablet:3,mobile:2},6:{desktop:6,tablet:3,mobile:2}},Or=e=>Math.min(Math.max(Math.round(e),ux),gT);function tIe(e){if(typeof e=="number")return t$[Or(e)]??{desktop:Or(e),tablet:Or(e),mobile:Or(e)};if(e&&typeof e=="object"){let o=e;return{desktop:Or(o.desktop??xd.desktop),tablet:Or(o.tablet??xd.tablet),mobile:Or(o.mobile??xd.mobile)}}return{...xd}}var px="subscribe-popup",dIe="subscribe-popup",a$=[px,wt,uT,mT];function bT(e){return a$.includes(e)}var r$=["right","left"],n$={metaLabel:"Meta label",issueLabel:"Label",issueNumber:"00",kicker:"Kicker",heading:`Main heading
59
- *Highlight line*`,deck:"Add a sentence or two of supporting copy.",stats:[{label:"Label",value:"Value"},{label:"Label",value:"Value"},{label:"Label",value:"Value"},{label:"Label",value:"Value"}],formLabel:"Section label",formHeading:"Main heading *highlight*",formIntro:"Add a sentence or two of supporting copy.",firstNameLabel:"Field label",firstNamePlaceholder:"Placeholder",emailLabel:"Field label",emailPlaceholder:"Placeholder",interestsLabel:"Field label",interests:["Option one","Option two","Option three"],frequencyLabel:"Field label",frequencies:["Option one","Option two","Option three"],submitText:"Button label",finePrint:"Fine print",dismissText:"Dismiss link",emailInvalidText:"Enter a valid email address.",submitErrorText:"Could not subscribe right now. Please try again.",successHeading:"Main heading *highlight*",successBody:"Add a sentence or two of supporting copy \u2014 the {email} and {issue} tokens are substituted here.",keepBrowsingText:"Button label",autoOpen:yt.autoOpen,autoOpenDelaySec:yt.autoOpenDelaySec,formSlug:"",trigger:yt.trigger,scrollPercent:yt.scrollPercent,showOn:yt.showOn,showOnPages:[],hideAfter:yt.hideAfter,hideDays:yt.hideDays,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},Ue=po,s$=aa,yT=hd;function IT(e,o){if(e==null)return o;let t=a=>a.trim()?a:"";if(typeof e=="string")return t(e);if(typeof e=="object"&&"text"in e){let a=e.text;return typeof a=="string"?t(a):""}return o}function l$(e,o){return Array.isArray(e)?yT(e,[]):o}function i$(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 uIe(e){let o=e??{},t=n$,a=fT(o);return{metaLabel:Ue(o.metaLabel,t.metaLabel),issueLabel:IT(o.issueLabel,t.issueLabel),issueNumber:IT(o.issueNumber,t.issueNumber),kicker:Ue(o.kicker,t.kicker),heading:Ue(o.heading,t.heading),deck:Ue(o.deck,t.deck),stats:i$(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:yT(o.interests,t.interests),frequencyLabel:Ue(o.frequencyLabel,t.frequencyLabel),frequencies:l$(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:jo(r$,o.formSide,t.formSide),valuePanelOnPhone:s$(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:hT(o)}}function c$(e,o=Math.random){for(;;){let t=`popup-${Math.floor(o()*2176782336).toString(36).padStart(6,"0")}`;if(!e.has(t))return t}}function d$(e){return{root:{props:{title:e,kind:ix}},content:[],zones:{}}}function ST(e,o,t){return{slug:c$(o,t),title:e,kind:mh,layout:d$(e)}}function bl(e){return e?.root?.props?.kind===ix}function vT(e){let o=new Map;return(t="")=>{let a=oT(),r=o.get(t);if(!r||r.token===null&&a!==null){let n=a||!x$().usesBridgedToken?e(a??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:a}),n}return r.promise}}var b$=vT(async(e,o)=>{let t=o?{siteId:o}:void 0,{pages:a}=Ge();return a.linkTargets?a.linkTargets(t):(await a.list(t)).map(r=>({id:r.id,slug:r.slug,label:r.label,layout:null}))}),y$=vT(async(e,o)=>await Ge().blog?.posts(o?{siteId:o}:void 0)??[]);function S$({value:e,onChange:o,label:t="Link",data:a,filters:r}){let n=bd(()=>lx(a,r),[a,r]),s=i(t);return _r(CT,{label:s,icon:_r(u$,{}),children:_r(p$,{value:e,onChange:l=>o(l),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function kT(){let{siteId:e,capabilities:o}=g$(),{offersCommerce:t,hasBlog:a}=o,[r,n]=Id([]),[s,l]=Id([]),[c,d]=Id([]),[f,m]=Id(null),u=I$().chrome,x=u?.products?.list,g=u?.linkFilters,I=g?void 0:u?.linkRow,k=h$(!0);wT(()=>(k.current=!0,()=>{k.current=!1}),[]),wT(()=>{let b=!0;return b$(e??void 0).then(v=>b&&k.current&&n(v)),a&&y$(e??void 0).then(v=>b&&k.current&&l(v)),t&&x?.().then(v=>b&&k.current&&d(v)),t&&g?g.load(e).catch(()=>null).then(v=>b&&k.current&&m(()=>v)):m(null),()=>{b=!1}},[e,t,a,x,g]);let C=bd(()=>({pages:r.filter(b=>!bT(b.slug)&&!bl(b.layout)).map(b=>({slug:b.slug,title:b.label,docs:[b.layout]})),popups:r.filter(b=>b.slug===px||bl(b.layout)).map(b=>({slug:b.slug,title:b.label})),posts:a?s.map(b=>({slug:b.slug,title:b.title})):[],products:t?c.map(b=>({href:b.href,name:b.name})):[],offers:{offersCommerce:t,offersService:a}}),[r,s,c,t,a]),w=bd(()=>f?f(C.pages):null,[f,C]);return{data:C,filters:w,pages:r,offersCommerce:t,HostLinkRow:I}}function RIe({label:e,icon:o,text:t,onTextChange:a,link:r,onLinkChange:n}){let{data:s,filters:l}=kT(),c=bd(()=>lx(s,l),[s,l]),d=i(e);return _r(CT,{label:d,icon:o,children:_r(m$,{label:d,text:t,onTextChange:a,link:r,onLinkChange:f=>n(f),kinds:c.kinds,rules:c.rules,filtersFor:c.filtersFor})})}function TT({value:e,onChange:o,label:t="Link"}){let a=typeof e=="string"?e:"",{data:r,filters:n,pages:s,offersCommerce:l,HostLinkRow:c}=kT(),d=r.pages.map(m=>cl(m.slug)),f=l&&c&&(a==="/"||d.includes(a))?c:void 0;return f$("div",{children:[_r(S$,{value:a,onChange:o,label:t,data:r,filters:n}),f&&_r(f,{value:a,onChange:o,pages:s})]})}import{UiIcon as TP}from"efficient-easel/draw/client";import{phoneKey as yl,resolveViewValue as w$,tabletKey as Sl}from"efficient-easel/draw";import{SECTION_PAD_UNIT_KEY as C$,convertLength as v$,isLengthUnit as ET,sideLengthAt as k$,withLength as mx}from"efficient-easel/screen/lib/content/length-units";var Jo={min:10,max:200,step:10};function T$(e,o,t,a=0){let r=j(e),n=j(o);if(r===void 0&&n===void 0)return;let s=yd(t),l=c=>c===void 0?void 0:s==="px"?c:mx(c,s,a);return{paddingTop:l(r),paddingBottom:l(n)}}var yd=e=>ET(e)?e:"px",P$="sf-pad-top-phone",E$="sf-pad-bottom-phone",O$="--sf-pad-t-phone",_$="--sf-pad-b-phone",A$="sf-pad-left-phone",R$="sf-pad-right-phone",L$="--sf-pad-l-phone",F$="--sf-pad-r-phone",B$="sf-pad-top-tablet",D$="sf-pad-bottom-tablet",N$="sf-pad-left-tablet",M$="sf-pad-right-tablet",H$="--sf-pad-t-tablet",W$="--sf-pad-b-tablet",$$="--sf-pad-l-tablet",z$="--sf-pad-r-tablet";function wd(e){let o={desktop:e.unit,tablet:e.unitTablet,phone:e.unitPhone},t=T$(e.top,e.bottom,e.unit,e.frame),a=hx({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 G$=[["top","paddingTop",[B$,H$],[P$,O$]],["bottom","paddingBottom",[D$,W$],[E$,_$]],["left","paddingLeft",[N$,$$],[A$,L$]],["right","paddingRight",[M$,z$],[R$,F$]]];function MIe(e,o,t){return!ET(o)||o==="px"?e:v$(e,"px",o,t,{min:0,max:Jo.max,step:1})}function U$(e,o,t,a={},r=0){let n=(x,g)=>{if(g==="px")return`${x}px`;let I=mx(x,g,r);return typeof I=="number"?`${I}px`:I},s={n:e,[Sl("n")]:o,[yl("n")]:t,u:a.desktop,[Sl("u")]:a.tablet,[yl("u")]:a.phone},l=w$("spacing",e,o,t,xr()),c=(x,g,I)=>{let k=k$(s,{side:"n"},"u",x,"side");if(!k)return;let C=g!==null&&!I&&k.unit==="px"&&typeof l[g]=="number";return n(C?l[g]:k.value,k.unit)},d=c("desktop",null,!0),f={},m=c("tablet","tablet",o!==void 0);m!==void 0&&(o!==void 0||m!==d)&&(f.tablet=m);let u=c("mobile","phone",t!==void 0);return u!==void 0&&(t!==void 0||u!==d)&&(f.phone=u),f}function hx(e,o,t={},a=e,r={},n=0){let s={},l={},c=[];for(let[d,f,...m]of G$){let u=j(e[d]),x=d==="top"||d==="bottom"?n:0;u!==void 0&&(s[f]=yd(r.desktop)==="px"?u:mx(u,yd(r.desktop),x));let g=U$(j(a[d]),j(t[d]),j(o[d]),r,x);for(let[I,[k,C]]of[["tablet",m[0]],["phone",m[1]]]){let w=g[I];w!==void 0&&(c.push(k),l[C]=w)}}return{classes:c,style:{...s,...l}}}function PT(e,o,t){let a=j(e)??t,r=j(o);return a===void 0?r:r===void 0?a:a+r}function Cd(e,o={}){return{top:PT(e.padTop,e.sectionPaddingTop,o.top),bottom:PT(e.padBottom,e.sectionPaddingBottom,o.bottom)}}var Sd={top:"sectionPaddingTop",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft",right:"sectionPaddingRight"};function OT(e,o=Sd,t=!0,a=o===Sd?C$:void 0){let r={};a&&(e[a]!==void 0&&(r.unit=e[a]),e[Sl(a)]!==void 0&&(r.unitTablet=e[Sl(a)]),e[yl(a)]!==void 0&&(r.unitPhone=e[yl(a)]));for(let n of t?["top","bottom","left","right"]:["top","bottom"])r[n]=e[o[n]],r[`${n}Tablet`]=e[Sl(o[n])],r[`${n}Phone`]=e[yl(o[n])];return r}function HIe(e){return wd(e)}function WIe(e,o){let t=(a,r)=>typeof a!="number"?void 0:yd(r)==="px"?a+o:a;return wd({...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 vd,buttonBorderOf as j$,buttonFillOpacityOf as K$,buttonPadSidesOf as V$}from"efficient-easel/draw";import{BUTTON_PAD_UNIT_KEY as xx}from"efficient-easel/screen/lib/content/length-units";var q$="px-6 py-4",Y$=4,kd=e=>{let o=new RegExp(`\\bp${e}-(?:\\[(\\d+)px\\]|(\\d+))`).exec(q$);if(!o)throw new Error(`BUTTON_PAD_CLASSES has no p${e}`);return o[1]!==void 0?Number(o[1]):Number(o[2])*Y$},qIe={top:kd("y"),right:kd("x"),bottom:kd("y"),left:kd("x")},AT="var(--btn)";function X$(e){let o=e.variant==="ghost",t=K$(e.buttonFillOpacity),a=j$(e.buttonBorder),r=ee(e.buttonColor);return{fillOpacity:t??(o?0:100),border:{width:a?.width??1,color:a?.color??r??(o?"currentColor":AT)},changed:t!==void 0||a!==void 0}}function YIe(e){let o=X$(e);if(!o.changed)return null;let t=ee(e.buttonColor)??AT;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 Z$="var(--sf-button-radius, 0)";function XIe(e){let o=j(e.buttonCorners),t=Ht(e.buttonCornerSides);if(o===void 0&&t===null)return null;let a=o===void 0?Z$:`${Math.max(0,o)}px`;return{borderRadius:t===null?a:Cr(a,t)}}function ZIe(e){let o=n=>V$({top:e[`${vd.top}${n}`],right:e[`${vd.right}${n}`],bottom:e[`${vd.bottom}${n}`],left:e[`${vd.left}${n}`]})??{},t={desktop:e[xx],tablet:e[`${xx}Tablet`],phone:e[`${xx}Phone`]},{classes:a,style:r}=hx(o(""),o("Phone"),o("Tablet"),void 0,t);return Object.keys(r).length?{className:a.join(" "),style:r}:null}var _T="upper";function RT(e,o,t){let a=e&&typeof e=="object"?e:{},r=ee(a.textStyle),n=r?ee(o?.find(f=>f?.id===r)?.name):void 0,s=r?/^(heading|body)-(\d+)$/.exec(r):null,l=r?n||(s?t.styleName({kind:s[1],n:Number(s[2])}):r):t.noStyle,{cases:c}=t,d=ee(a.case)??_T;return`${l} \xB7 ${c[d]??c[_T]}`}import{usePreviewParts as hU}from"efficient-easel/draw/client";import{encodePartId as xU}from"efficient-easel/draw";import{DEFAULT_EASEL_STRINGS as gU,useEaselStrings as IU}from"efficient-easel/strings";import{LENGTH_UNITS as J$}from"efficient-easel/screen/lib/content/length-units";var Q$=["auto","fixed","screen"],ez=J$.filter(e=>e==="px"||e==="%"),oz="svh",tz="vh",az="var(--sf-header-h, 88px)",gx={min:40,max:2e3,step:10,fallback:600},Ix={min:10,max:200,step:5,fallback:100},rz="sf-section-minh",Td="grid-cols-[minmax(0,1fr)]",LT={base:"--sf-section-minh",small:"--sf-section-minh-s"},bx=e=>typeof e=="string"&&Q$.includes(e),nz=e=>typeof e=="string"&&ez.includes(e);function wl(e){let o=bx(e.sectionHeightMode)?e.sectionHeightMode:"auto",t=o==="screen"?"%":nz(e.sectionHeightUnit)?e.sectionHeightUnit:"px",a=o==="screen"?Ix.fallback:gx.fallback,r=typeof e.sectionHeightValue=="number"?e.sectionHeightValue:a;return{mode:o,value:r,unit:t}}function DT(e){let{mode:o,value:t,unit:a}=wl(e);if(o==="auto")return;if(o==="fixed"&&a==="px")return[`${t}px`,null];let r=t/100,n=s=>o==="screen"?`(100${s} - ${az})`:`100${s}`;return[`calc(${n(tz)} * ${r})`,`calc(${n(oz)} * ${r})`]}function NT(e){let o=DT(e);if(!o)return;let[t,a]=o;return{display:"grid",[LT.base]:t,...a?{[LT.small]:a}:{}}}var ebe=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),Hn="Height",MT="sf-section-minh-phone",FT={base:"--sf-section-minh-p",small:"--sf-section-minh-ps"};function yx(e){return bx(e.sectionHeightModePhone)}function obe(e){return wl({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone})}var HT="sf-section-minh-tablet",BT={base:"--sf-section-minh-t",small:"--sf-section-minh-ts"};function Cl(e){return bx(e.sectionHeightModeTablet)}function WT(e){return wl({sectionHeightMode:e.sectionHeightModeTablet,sectionHeightValue:e.sectionHeightValueTablet,sectionHeightUnit:e.sectionHeightUnitTablet})}function $T(e){let o=NT(e),t=(l,c,d)=>DT({sectionHeightMode:l,sectionHeightValue:c,sectionHeightUnit:d})??(o?["auto",null]:void 0),a=Cl(e)?t(e.sectionHeightModeTablet,e.sectionHeightValueTablet,e.sectionHeightUnitTablet):void 0,r=yx(e)?t(e.sectionHeightModePhone,e.sectionHeightValuePhone,e.sectionHeightUnitPhone):a;if(!o&&!a&&!r)return null;let n=[rz,Td],s={...o??{}};return a&&(n.push(HT),s[BT.base]=a[0],a[1]&&(s[BT.small]=a[1])),r&&(n.push(MT),s[FT.base]=r[0],r[1]&&(s[FT.small]=r[1])),{className:n.join(" "),style:s}}function tbe(e){return $T(e)!==null}var sz=`grid ${Td}`,zT="h-full",lz="view-tablet:max-view-desktop:grid",GT="max-view-tablet:grid",iz=`${GT} ${Td}`;function UT(e){let o=$T(e);if(!o)return"";if(NT(e))return sz;let t=o.className.split(" ");if(!t.includes(HT))return iz;let a=t.includes(MT);return[lz,a?GT:"",Td].filter(Boolean).join(" ")}var Pd="Stick to top",Ha={min:0,max:200,step:4,fallback:0},cz="sf-section-stick",nbe="sf-scroll-over",dz="sf-section-stick-tablet-on",fz="sf-section-stick-tablet-off",uz="sf-section-stick-phone-on",pz="sf-section-stick-phone-off",Sx={desktop:"--sf-stick-distance",tablet:"--sf-stick-distance-tablet",phone:"--sf-stick-distance-phone"},sbe=new Set(["CategoryBar","DocTabs","IntroBleed","Contents"]);function wx(e){let o=j(e)??Ha.fallback;return Math.min(Ha.max,Math.max(Ha.min,Math.round(o)))}function Cx(e){return typeof e.stickTopTablet=="boolean"}function vx(e){return typeof e.stickTopPhone=="boolean"}function Ed(e){let o=e.stickTop===!0,t=wx(e.stickTopDistance),a=Cx(e),r=a?e.stickTopTablet===!0:o,n=a?wx(e.stickTopDistanceTablet):t,s=vx(e),l=s?e.stickTopPhone===!0:r,c=s?wx(e.stickTopDistancePhone):n;return{desktop:o,desktopDistance:t,tablet:r,tabletDistance:n,ownTablet:a,phone:l,phoneDistance:c,ownPhone:s}}function lbe(e){let o=Ed(e);if(!o.desktop&&!o.tablet&&!o.phone)return null;let t=[cz],a={};return o.desktop&&(a[Sx.desktop]=`${o.desktopDistance}px`),o.ownTablet&&(t.push(o.tablet?dz:fz),o.tablet&&(a[Sx.tablet]=`${o.tabletDistance}px`)),(o.ownPhone||o.ownTablet||o.phone!==o.desktop)&&(t.push(o.phone?uz:pz),o.phone&&(a[Sx.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:a}}var mz=["column","row","tabs","accordion"];var hz={column:"Stacked",row:"One row",tabs:"Tabs",accordion:"Accordion"},jT={Flex:mz,HeroGroup:["column","row"]},xz={Flex:"row",HeroGroup:"column"},gz={column:"flex-col",row:"flex-row",tabs:"flex-col",accordion:"flex-col"};function Wn(e,o){return jT[e].includes(o)?o:xz[e]}function cbe(e,o){return gz[Wn(e,o)]}function KT(e){return jT[e].map(o=>({label:hz[o],value:o}))}var Iz=["solid","dashed","dotted"],qT=["top","right","bottom","left"],fbe="sf-section-border",ube="sf-section-border-self",bz=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,VT=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function $n(e,{phone:o=!1,tablet:t=!1}={}){if(!e||typeof e!="object")return;let a=o?"-phone":t?"-tablet":"",r={};for(let n of qT){let s=VT(e[n])??VT(e.width);s!==void 0&&(r[`--sf-border-${n}-width${a}`]=s)}return typeof e.style=="string"&&Iz.includes(e.style)&&(r[`--sf-border-style${a}`]=e.style),typeof e.color=="string"&&bz.test(e.color)&&(r[`--sf-border-color${a}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function kx(e){let{width:o,...t}=e;return typeof o!="number"?e:{...t,...Object.fromEntries(qT.map(a=>[a,t[a]??o]))}}function pbe(e,o,t){let a=$n(e),r=$n(t,{tablet:!0}),n=$n(t,{phone:!0})||$n(o,{phone:!0})?{...$n(t,{phone:!0}),...$n(o,{phone:!0})}:void 0;return a||r||n?{...a,...r,...n}:void 0}var Od="sf.gapContainer",ra={min:-32,max:64,step:2},JT={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},zn={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},yz=new Set(["Events","GalleryB"]);function Rr(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=ra.min)return o;if(typeof o=="string"){let a=JT[e]?.[o];if(typeof a=="number")return a}return typeof t=="number"&&Number.isFinite(t)?t:zn[e]}var Sz="sf-gap-overlap",wz="--sf-gap-overlap",QT="--sf-block-gap",Cz="--sf-block-gap-rem",Ar={min:0,max:ra.max,step:ra.step};function vl(e){if(typeof e!="number"||!Number.isFinite(e))return null;let o=Math.min(Math.max(Math.round(e),Ar.min),Ar.max);return o-o%Ar.step}function hbe(e){let o=vl(e);return o===null?{}:{[QT]:`${o}px`,[Cz]:`${o/16}rem`}}var vz="--sf-block-gap-phone",kz="--sf-block-gap-phone-rem",Tz="--sf-block-gap-on-phone",Pz="max-view-tablet:[--sf-block-gap-on-phone:var(--sf-block-gap-phone)]";function xbe(e){let o=vl(e);return o===null?{}:{[vz]:`${o}px`,[kz]:`${o/16}rem`}}function gbe(e){return vl(e)===null?"":Pz}var YT="sf-gap-zone",XT="--sf-gap-len";function _d(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=ra.min?!0:typeof o=="string"&&typeof JT[e]?.[o]=="number"}var ZT="--sf-gap-len-phone",Ez="--sf-gap-len-tablet",kl={min:0,max:ra.max,step:ra.step};function Wa(e){return typeof e=="number"&&Number.isFinite(e)&&e>=kl.min}function Tx(e){return e/2}function Px(e,o,t){return Wa(t)&&!_d(e,o)}function Ex(e,o,t,a,r){return Wa(o)?o:Px(e,t,r)?r:Tx(Rr(e,t,a))}var Oz={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function Ibe(e,o,t,a,r){let n={...Wa(a)?{[ZT]:`${a}px`}:null,...Wa(r)?{[Ez]:`${r}px`}:null};if(!_d(e,o)){let l=`${zn[e]}px`,c=yz.has(e)?`var(--sf-card-gap, ${l})`:l;return{className:` ${YT}`,style:{[XT]:`var(${QT}, ${c})`,[ZT]:`var(${Tz})`,...n}}}let s=Rr(e,o);return s>=0?{className:` ${YT}`,style:{[XT]:`${s}px`,...n}}:{className:` ${Sz} ${Oz[t]}`,style:{gap:"0px",[wz]:`${-s/2}px`}}}import{parseHexColor as _z}from"efficient-shell/format";var wo="var(--section-bg)",Tl="inherit";function zt(e,o){return e===Tl?wo:e===void 0?o:Ad(e)}var Az=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function Ad(e){let o=$t(e);return o?oa(o):e.replace(Az,"var(--site-$1")}var Rz={"var(--section-bg)":"band","var(--site-surface)":"surface","var(--site-surface-2)":"surface2"};function Ox(e,o,t){let a=zt(e,o);if(!a||a==="transparent")return t.background.toLowerCase();let r=a.trim(),n=r.startsWith("#")?_z(r):null;if(n)return n.toLowerCase();let s=Rz[r.replace(/\s+/g,"")];return(s?t[s]:t.background).toLowerCase()}var _x="transparent";function eP(e,o){let t=zt(e,o);return!t||t===_x?"none":t===wo?"band":null}function oP(e,o,t=o){let a=n=>!n||n==="transparent",r=zt(e,o);return r===t||a(r)&&a(t)}var tP=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],aP={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},Gn="var(--wheel-stage)",Rd="transparent",Pl="inherit";function vbe(e,o){return Ad(Ax(e,o))}function Ax(e,o){return e===Pl?Gn:e==null?o:e===!0?Gn:e===!1?Rd:e}function kbe(e){return typeof e=="string"&&e!==Pl?Ad(e):Gn}function Tbe(e){return e!==Rd&&e!=="none"&&e!==""}function rP(e,o){return e===Pl||e===!0?!0:e==null?o===Gn:!1}var nP="inherit",Ld="fixed",sP=e=>typeof e!="number"&&e!==Ld,Lz="var(--sf-heading-max, 9999px)";function Ebe(e,o,t,a){if(typeof e=="number")return`${e}px`;if(e===Ld)return o;let r=a?`var(--size-${a}, ${o})`:o;return t==="heading"?`min(${r}, ${Lz})`:r}var mo={min:1e3,max:2e3,step:50,default:1600};function Fz(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}var lP="--sf-site-width",Rx=`var(${lP},${mo.default}px)`,_be="100vw",Abe=`max-w-[${Rx}]`,Rbe=`max-w-[${mo.default}px]`;function iP(e){return typeof e!="number"||!Number.isFinite(e)?mo.default:Math.round(Math.min(Math.max(e,mo.min),mo.max))}function Lbe(e){let o=iP(e);return o===mo.default?{}:{[lP]:`${o}px`}}var na={min:0,max:80,step:4,default:40},cP="--sf-site-gutter",El={min:0,max:24,step:4},Bz="--sf-site-gutter-phone",Dz="max-view-tablet:[--sf-site-gutter:var(--sf-site-gutter-phone)]!",Ct=`var(${cP},${na.default}px)`,Nz=`px-[${Ct}]`;var $a={md:`min(24px,${Ct})`,sm:`min(20px,${Ct})`,frame:`min(24px,${Ct})`,tabs:`min(16px,${Ct})`},Fbe=[[`max-view-desktop:px-[${$a.md}]`,"max-view-desktop:px-6"],[`max-view-desktop:px-[${$a.tabs}]`,"max-view-desktop:px-4"],[`max-[960px]:px-[${$a.frame}]`,"max-[960px]:px-6"],[`max-[900px]:px-[${$a.md}]`,"max-[900px]:px-6"],[`max-view-wide:px-[${$a.md}]`,"max-view-wide:px-6"],[`max-view-tablet:px-[${$a.sm}]`,"max-view-tablet:px-5"],[`max-view-wide:px-[${$a.sm}]`,"max-view-wide:px-5"],[`max-[640px]:px-[${$a.sm}]`,"max-[640px]:px-5"],[`view-wide:px-[${Ct}]`,"view-wide:px-10"],[`max-view-tablet:px-[min(24px,${Ct})]`,"max-view-tablet:px-6"],[`max-view-wide:-mx-[min(20px,${Ct})]`,"max-view-wide:-mx-5"],[`max-view-tablet:-mx-[min(20px,${Ct})]`,"max-view-tablet:-mx-5"],[`-mx-[${Ct}]`,"-mx-10"],[Nz,"px-10"]];var Bbe="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))]",Dbe="[--sf-box-g:var(--sf-site-gutter,40px)] [&>*]:[--sf-site-gutter:0px]";var Nbe="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 Fd(e){return typeof e!="number"||!Number.isFinite(e)?na.default:Math.round(Math.min(Math.max(e,na.min),na.max))}function Mbe(e){let o=Fd(e);return o===na.default?{}:{[cP]:`${o}px`}}function Bd(e){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,El.min),El.max))}function dP(e){return typeof e=="number"&&Number.isFinite(e)?iP(e):null}function Hbe(e){let o=Bd(e);return o===null?{}:{[Bz]:`${o}px`}}function Wbe(e){return Bd(e)===null?"":Dz}function Dd(e){return Math.min(El.max,Fd(e))}var fP=Rx,$be=`max-w-[${fP}]`,zbe=`max-w-[min(var(--sf-page-cap,${mo.default}px),${mo.default}px)]`,uP="--sf-hero-cap",Mz=`var(${uP},none)`,Gbe=`max-w-[${Mz}]`,Hz="--sf-hero-bleed-m",Wz="--sf-hero-bleed-w",$z="--sf-hero-chrome-x",zz="--sf-hero-chrome-cap";function Ube(e){return e===!0?{[uP]:fP,[Hz]:"auto",[Wz]:"100%",[$z]:"24px",[zz]:"none"}:{}}var Lx=`calc(${Rx} - ${Ct}*2)`,jbe=`max-w-[${Lx.replace(/ /g,"_")}]`;var Gz="--sf-chrome-cap",Uz=`var(${Gz},${Lx})`,Kbe="data-page-width";function Vbe(e){return e==="full"?"full":null}function qbe(e){return e==="full"?null:Fz(e==="content"?Lx:Uz)}function Ybe(e){if(e==="full")return"full";if(e==="content")return"content"}var jz=["page","full"],pP=["full","page"],Lr={full:"Full",page:"Content"},Fx="inherit",Kz=e=>typeof e=="string"&&jz.includes(e),Vz=e=>e===Fx;function qz(e,o){return Vz(e.widthMode)?{mode:"full",inherited:!0}:Kz(e.widthMode)?{mode:e.widthMode,inherited:!1}:{mode:o,inherited:o==="full"}}function Jbe(e){return qz(e,"page").mode==="full"}var Yz={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 Qbe(e){return Object.prototype.hasOwnProperty.call(Yz,e)}var co={background:"sectionBackgroundWidth",content:"sectionContentWidth",contentMax:"sectionContentMax"};function Xz(e){let o=dP(e[co.contentMax]),t=Un(e[co.content])??(o===null?null:"content");return{background:Un(e[co.background]),content:t,contentMax:t==="content"?o:null}}function eye(e){let o=Xz(e);return o.content===null&&e.fullWidth===!0?{...o,content:"full"}:o}function oye(e){return e.background!==null||e.content!==null}var tye=e=>({[co.background]:e}),aye=e=>e==="full"?{[co.content]:e,[co.contentMax]:void 0}:{[co.content]:e},rye=e=>({[co.content]:"content",[co.contentMax]:e}),nye=e=>e==="background"?{[co.background]:void 0}:{[co.content]:void 0,[co.contentMax]:void 0},mP="siteWidths",Zz=e=>e==="full"||e==="content";function Un(e){return Zz(e)?e:null}function hP(e,o){return{[mP]:{background:Un(e),content:Un(o)}}}function sye(e){let o=e.editor?.metadata?.[mP];return{background:Un(o?.background),content:Un(o?.content)}}import{jsx as Jz}from"react/jsx-runtime";import{createContext as Qz,useContext as dye}from"react";var eG=2,fye=eG+1,oG=Qz(2);function xP({tier:e,children:o}){return Jz(oG.Provider,{value:e,children:o})}import{useEaselSession as bU}from"efficient-easel/screen/lib/session-context";import{BOX_GAP as yU,describedAs as Ua,group as vt,iconOf as Al,sharedStyleKinds as Rl}from"efficient-easel/screen/lib/document/box-fields";import{VIEW_KEY_ACCESS as Gx,onDesktopWords as Fr,phoneTwinFields as Gd}from"efficient-easel/screen/lib/document/box-fields";import{createElement as Qo}from"react";import{SettingsDefaultReset as tG,SettingsField as aG}from"efficient-easel/panel";import{boxFieldBuilders as rG,describedAs as nG,iconOf as sG,onDesktopWords as lG}from"efficient-easel/screen/lib/document/box-fields";import{LENGTH_UNITS as iG}from"efficient-easel/screen/lib/content/length-units";import{IconPicker as cG,Tooltip as dG,useShellStrings as fG}from"efficient-shell/ui";import{RotateIcon as uG}from"efficient-easel/icons";var Gt={min:0,max:360,step:1},mye="angle";function hye(e){let o=j(e);if(o===void 0)return null;let t=Math.min(Gt.max,Math.max(Gt.min,o));return t===Gt.min||t===Gt.max?null:{rotate:`${t}deg`}}var gP=e=>i(e),pG=iG,ho=rG(gP,{paddingUnits:pG}),No=ho.slider,sa=ho.select,Nd=ho.Segmented,Md=ho.segmented,kye=ho.alignmentField,Tye=ho.alignmentFields,Pye=ho.blockAlignmentField,Eye=ho.blockAlignmentFields,Oye=ho.boxJustifyField,_ye=ho.boxAlignField,Aye=ho.boxWrapField,IP=ho.directionField,Hd=ho.gapField,Rye=ho.placementField,Lye=ho.PlacementGridView,Fye=ho.positionFields,Wd=ho.sidesPaddingFields;function bP(e,o){return No("Angle",Qo(uG),Gt.min,Gt.max,Gt.step,e,"\xB0",o)}var mG={width:"3.5rem",height:"2.75rem"};function Bx({value:e}){return fG().iconNames[e]??e}function Dx(e,o,t){return Qo(dG,{content:t,className:"sf-pick-tip",children:Qo("span",{className:"sf-pick"},Qo("span",{className:"sf-pick-pic"},e),Qo("span",{className:"sf-pick-cap"},o))})}function hG(e){let o=t=>t.label===void 0?Qo(Bx,{value:t.value}):i(t.label);return e.map(t=>({value:t.value,...t.label===void 0?{}:{label:i(t.hint??t.label)},icon:Dx(t.picture,o(t),t.hint===void 0?o(t):i(t.hint))}))}function yP(e,o){return Qo("span",{className:"sf-pick"},Qo("span",{className:"sf-pick-pic"},e),Qo("span",{className:"sf-pick-cap sf-pick-cap-closed"},o))}function SP(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",...nG({},{type:"radio",label:e,options:l}),options:l,render:c=>{let{value:d,onChange:f,field:m}=c,u=m?.options,x=hG(t.filter(v=>!u||u.some(P=>P.value===v.value))),g="follows"in c,I=g?s(r.phoneRest?r.phoneRest(c.follows):c.follows)??a:void 0,k=m?.currentValue,C=s(d)??I??s(k)??a,w=d!=null&&d!=="",b=I===void 0?void 0:t.find(v=>v.value===I);return Qo(aG,{label:i(e),icon:sG(o),action:g?Qo(tG,{words:re()?.panel,label:i(e),changed:w,detail:b?.label!==void 0?lG(gP,i(b.label),c.followsView):void 0,disabled:c.readOnly===!0,onReset:()=>f(void 0)}):void 0},Qo(cG,{label:i(e),value:C,options:x,onChange:f,columns:r.columns,cell:r.cell??mG,tooltips:!1,disabled:c.readOnly===!0}))}}}import{TEXT_CONTROL_KINDS as Iwe,SCALAR_TEXT_CONTROLS as bwe}from"efficient-easel/draw";function Br(e,o){return i("{value} from {from}",{value:e,from:o})}function SU(){let{blockGap:e}=xe();return e===null?i("this container's own spacing"):Br(`${e}px`,i("Styles"))}function wU({inherited:e,onReset:o,label:t}){return S(Co,{words:re()?.panel,label:i(t),changed:!e,detail:SU(),onReset:o})}function CU(e){return Hd({...yU,builtIn:zn[e],resolve:(o,t)=>Rr(e,o,t?.siteGap),action:(o,t)=>S(wU,{inherited:!_d(e,o),onReset:()=>t(void 0),label:"Gap"}),mark:{[Od]:e}})}function vU(e){return ao(Ut("mobile",{[Od]:e,type:"custom",render:o=>S(PU,{container:e,...o})}),jP)}function kU(e){return ao(Ut("tablet",{[Od]:e,type:"custom",render:o=>S(TU,{container:e,...o})}),jP)}var jP={not:{field:"gap",in:Array.from({length:-ra.min},(e,o)=>ra.min+o)}};function dwe(e){return{gap:Ut("desktop",CU(e)),[Kn("gap")]:kU(e),[la("gap")]:vU(e)}}function TU({container:e,...o}){let[t]=ca("gap"),{siteGap:a}=o.field??{},r=Math.max(kl.min,Rr(e,t,a));return Hd({...kl,builtIn:r,resolve:n=>Wa(n)?n:r,action:(n,s)=>S(Co,{words:re()?.panel,label:i("Gap"),changed:Wa(n),detail:Fr(l=>i(l),`${r}px`),onReset:()=>s(void 0)})}).render(o)}function PU({container:e,...o}){let[t]=ca("gap"),{siteGap:a,siteGapPhone:r}=o.field??{},n=Ex(e,void 0,t,a,r);return Hd({...kl,builtIn:n,resolve:s=>Ex(e,s,t,a,r),action:(s,l)=>S(Co,{words:re()?.panel,label:i("Gap"),changed:Wa(s),detail:Br(`${n}px`,Px(e,t,r)?i("Styles"):i("Desktop")),onReset:()=>l(void 0)})}).render(o)}function fwe(e){return IP({offered:KT(e),fallback:Wn(e,void 0),resolve:o=>Wn(e,o)})}function uwe(e,o){return Pv(o?bh(e,o):[],o)}function EU({inherited:e,onReset:o,label:t}){return S(Co,{words:re()?.panel,label:i(t),changed:!e,detail:Br(i("Full"),i("the page")),onReset:o})}function Dr({value:e,onChange:o,label:t,placeholder:a,hint:r,multiline:n,hideable:s=!0,markup:l=!0}){let{text:c,hidden:d}=ja(e),f=Ol(null),m=Ol(null),u=w=>o(s?{text:w,hidden:d}:w),x=()=>o({text:c,hidden:!d}),g=s&&d,I=LP(),k=r?LU(r)?S("span",{className:"sf-hint-while-typing",children:i(r)}):i(r):void 0,C=d?i("Show {label} on the slide",{label:i(t)}):i("Hide {label} on the slide",{label:i(t)});return S(no,{label:i(t),icon:S(jG,{}),htmlFor:I,className:g?"is-hidden":void 0,hint:k,action:s?S(zx,{content:C,children:S(GP,{"aria-pressed":d,"aria-label":C,onClick:x,children:d?S(TP,{name:"eye-off",size:14}):S(TP,{name:"eye",size:14})})}):void 0,children:Ga("div",{className:"sf-copybox",children:[l&&S(Nh,{target:n?m:f,value:c,onChange:u}),n?S("textarea",{id:I,ref:m,value:c,placeholder:a===void 0?void 0:i(a),onChange:w=>u(w.target.value)}):S("input",{id:I,ref:f,type:"text",value:c,placeholder:a===void 0?void 0:i(a),onChange:w=>u(w.target.value)})]})})}function pwe(e,o){return{...e,[vG]:o}}function mwe(e){let o=e[ia];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[ia]:{...o,offPage:!0}}}function Kd(e){return!e||typeof e!="object"?!1:e[ia]?.offPage===!0}var KP="sfPanelOnly";function hwe(e){if(!e[ia])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[KP]:!0}}function VP(e){return!!e&&typeof e=="object"&&e[KP]===!0}function xwe(e){let o=e[ia];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[ia]:{...o,identifier:!0}}}function ywe(e,o){if(!e[ia])throw new Error("inOwnBox: the field holds no authored text");let{[uU]:t,...a}=e;return{...a,[Mh]:!0,render:o}}var OU=new Set(mU),Ud={type:"radio",options:[{value:!0},{value:!1}]},qP={text:{type:"object",objectFields:{text:{type:"text"},hidden:Ud}},textarea:{type:"object",objectFields:{text:{type:"textarea"},hidden:Ud}},plainText:{type:"text"},copyText:{type:"text"},plainTextarea:{type:"textarea"},textList:{type:"array",arrayFields:{text:{type:"text"}}}},Nr=(e,o)=>{let t=Ua({...o,[ia]:e},{...qP[e.control],label:e.label});if(!OU.has(e.control))return t;let a=o.render;return{...UP(t,"authored-copy"),render:r=>S(Tk,{name:r.name,children:a(r)})}},Swe="Everything else on this block comes from the linked post. Unlink it to edit by hand.",_U={field:"source.slug",set:!0},wwe={not:_U},AU="Select a word, then press the highlighter.",RU=new Set([AU]),LU=e=>RU.has(e);function Cwe(e,o,t){return Nr({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>S(Dr,{value:a,onChange:r,label:e,placeholder:o,hint:t})})}function vwe(e,o,t){return Nr({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>S(Dr,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0})})}function kwe(e,o,t){return Nr({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>S(Dr,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function Twe(e,o,t){return Nr({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>S(Dr,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1})})}function Pwe(e){return{type:"custom",[wG]:{label:e},...Ua({},{type:"text",label:e}),render:({value:o,onChange:t})=>S(TT,{value:SG(o),onChange:t,label:e})}}function Ewe(e,o,t){return Nr({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>S(Dr,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var YP={Design:kG,Animation:PG};function Owe(e){return{type:"custom",render:()=>S(FU,{text:e})}}function FU({text:e}){return S("p",{className:"sf-note",children:i(e)})}function _we(e){return fa(e)!==null&&e?.tabs!==void 0}var PP=new Map;function Vd(e,o){let t=`${e}\0${o?o.join(""):""}`,a=PP.get(t)??{type:"custom",tabs:o,[FP]:{label:e,level:1},bucket:e,marker:!0,render:()=>S(da,{})};return PP.set(t,a),a}var EP=new Map;function Ux(e){let o=EP.get(e)??{type:"custom",[FP]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>S(da,{})};return EP.set(e,o),o}function BU(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function XP(e,o){return BU(e)===o?e:{...e,marker:!0,fold:o,render:()=>S(da,{})}}function ZP(e){let o=e;if(o.marker===!0&&o.fold===void 0)return e;let{fold:t,...a}=e;return{...a,marker:!0,render:()=>S(da,{})}}function jx({title:e,children:o}){let[t,a]=_l(()=>!Nx.has(e));return S(qG,{title:e,open:t,onToggle:r=>{a(r),r?Nx.delete(e):Nx.add(e)},children:o})}var Nx=new Set;function DU({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 Ga("div",{className:"sf-swatches",children:[e.map(l=>{let c=a?.[l]?i(a[l]):l;return S(zx,{content:c,children:S(aU,{color:l,selected:o.toLowerCase()===l.toLowerCase(),onClick:()=>t(l),"aria-label":c})},l)}),S("span",{className:"sf-swatch-hex",children:s})]})}function Awe(e,o,t=!1){return{type:"custom",render:({value:a,onChange:r})=>S(NU,{label:e,builtIn:o,followsBand:t,value:a,onChange:r})}}function NU({label:e,builtIn:o,followsBand:t,value:a,onChange:r}){let n=typeof a=="string"?a:void 0,{colors:s,n:l}=Zx(),c={background:s.background,surface:s.surface,surface2:cc(s),band:LS(s)},d=t?wo:o,f=oP(n,o,d),m=Ox(void 0,d,c),u=t?Tl:void 0,x=d===wo?i("the theme's section background"):i("Theme {n} background",{n:l}),g=MU(n,o,s,l,c,r),I=Br(m.toUpperCase(),x),k=$t(n),C=k?Rn(k,s,l):null;return C?S(Bo,{label:i(e),icon:S(wP,{}),value:C.hex,caption:C.words,onChange:r,changed:!0,onReset:()=>r(u),resetTo:I,choices:g}):S(pl,{label:i(e),icon:S(wP,{}),value:f?"":Ox(n,o,c),inherited:m,resetTo:I,onChange:r,onReset:()=>r(u),choices:g})}function MU(e,o,t,a,r,n){let s=eP(e,o);return[{label:i("No fill"),color:"",selected:s==="none",onPick:()=>n(_x)},{label:`${i("Section band")} \xB7 ${r.band.toUpperCase()}`,color:r.band,selected:s==="band",onPick:()=>n(wo)},...Xx($t(e)??"",t,a,n)]}function HU(e,o){return{type:"custom",render:({value:t,onChange:a})=>{let r=t,n=rP(r,o);return S(no,{label:i(e),icon:S(Hx,{}),changed:!n,action:S(Co,{words:re()?.panel,label:i(e),changed:!n,detail:i("the theme's image stage"),onReset:()=>a(Pl)}),children:DU({swatches:tP,current:n?Gn:Ax(r,o),onPick:a,names:aP})})}}}function qd(e=t=>t,o){return Rl({_gSectionTheme:vt(Vk),sectionAccent:{type:"custom",render:({value:t,onChange:a})=>S(Qk,{value:e(t),onChange:a,followLabel:o})}})}function Ko({min:e,max:o,step:t,value:a,onChange:r,suffix:n="",readout:s=!0,notch:l,ariaLabel:c,disabled:d=!1,placeholder:f,placeholderWord:m,onClear:u}){let x=l!==void 0&&Number.isFinite(l)&&l>=e&&l<=o;return S("div",{className:x?"sf-slider has-notch":"sf-slider",style:x?{"--sf-notch":(l-e)/(o-e)}:void 0,children:S(dU,{min:e,max:o,step:t,value:a,...a===null&&f!==void 0?{placeholderValue:f}:{},...m?{emptyLabel:i(m)}:{},suffix:n||void 0,showInput:s,label:c===void 0?void 0:i(c),disabled:d,size:"sm",boxSize:"md",className:"sf-slider-track",onChange:g=>{g===null?u?.():g!==a&&r(g)}})})}function JP(e,o){let{min:t,max:a,step:r=1,unsetLabel:n,hint:s,restTrack:l,unsetMark:c,icon:d,unit:f="px"}=o;return{type:"custom",render:({value:m,onChange:u})=>{let x=typeof m=="number"?m:null,g=x===null;return S(no,{label:i(e),icon:d?Al(d):void 0,value:g?c||n===void 0?void 0:i(n):`${x}${f}`,changed:!g,action:c?AP(c,{changed:!g,onReset:()=>u(null)}):S(Co,{words:re()?.panel,label:i(e),changed:!g,onReset:()=>u(null)}),hint:typeof s=="string"?i(s):s,children:l?l({min:t,max:a,step:r,px:x,label:e,onChange:u}):Ko({min:t,max:a,step:r,value:x??t,readout:!1,ariaLabel:e,onChange:u})})}}}var Yd="Corners";function Kx(e){return{type:"custom",render:({value:o,onChange:t})=>{let a=typeof o=="number"&&Number.isFinite(o)?o:null,r=a!==null;return S(no,{label:i(Yd),icon:S(_G,{}),changed:r,action:AP(e.mark,{changed:r,onReset:()=>t(null)}),hint:e.hint,children:S(WU,{tier:e,px:a,onRadius:t})})}}}function ca(e){let o=Vn();return[o?.values?.[e],t=>o?.onChange(e,t)]}function QP(){return UP({type:"custom",render:()=>S(pU,{})},"always")}function qh(){let e=Vn();return o=>e?.onChangeMany(o)}function WU({tier:e,px:o,onRadius:t}){let a=e.useFollowed(),[r,n]=ca(e.sidesKey),s=Ht(r)??[...Wc];return S(rU,{label:i(Yd),value:s,corners:tv,onChange:l=>{let c=Ht(l)??[];n(c.length===Wc.length?null:c)},radius:o,onRadiusChange:t,radiusMin:Xo,radiusMax:ir,radiusStep:e.step??1,radiusPlaceholder:String(a)})}function e0(){return QP()}function $U({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:a}=xe(),r=typeof a=="number"?`${a}px`:i("not set");return S(Co,{words:re()?.panel,label:i(e),changed:o,detail:a==null?i("the built-in corners"):Br(r,i("Styles")),onReset:t})}function zU(){let{cornerRadiusPx:e}=xe();return typeof e=="number"?e:Xo}function GU(){return Kx({sidesKey:"sectionCornerSides",useFollowed:zU,mark:S($U,{label:Yd}),hint:UU})}var UU="Follows Styles \u25B8 Basics \u25B8 Corners until you set a number here.";function Xd(){return Rl({_gShape:vt("Shape"),sectionCorners:GU(),sectionCornerSides:e0(),...jn("sectionBorder",XU)})}var jU=()=>({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 KU(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function VU(){let e;try{let o=to(xe().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||ES.line}function qU({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]=_l(()=>r?QG(l,s):!1),f=jU(),m=u=>KU(r&&n?u:{width:u.width,color:u.color,...n?{style:u.style}:{}});return S(no,{label:i("Border"),icon:S(EG,{}),action:r?S(ZG,{each:c,label:i("Each side"),onChange:d}):void 0,children:S(XG,{label:i("Border"),value:l,each:c,onChange:u=>o(m(u)),placeholder:t,presets:a,words:f,styles:n,max:20})})}function YU({value:e,onChange:o,view:t}){let[a]=ca("sectionBorder"),[r]=ca(Kn("sectionBorder")),n=VU(),s=c=>c&&typeof c=="object"?c:{},l=t==="phone"?{...kx(s(a)),...kx(s(r))}:t==="tablet"?s(a):{};return S(qU,{value:e,onChange:o,placeholder:{sides:JG(l),style:l.style??"solid",color:l.color||n},presets:[n],above:l})}function XU(e){return{type:"custom",render:({value:o,onChange:t})=>S(YU,{value:o,onChange:t,view:e})}}function jn(e,o){let t=(a,r)=>Gd(e,o(a),Gx)[r];return{[e]:t("desktop",e),[Kn(e)]:t("tablet",Kn(e)),[la(e)]:t("phone",la(e))}}function Rwe(e){return{type:"custom",render:()=>S(ZU,{partKey:e})}}function ZU({partKey:e}){let[o]=ca("id"),[t]=ca("_partStyles"),{textStyles:a}=xe(),r=IU(),n=null;try{n=hU().select}catch{n=null}let s=t&&typeof t=="object"?t[e]:void 0,l=Array.isArray(a)?a:null;return S(VG,{name:i("Text"),preview:RT(s,l,{noStyle:i("No style"),styleName:r.textStyles.styleName,cases:(r.copy.panel??gU.copy.panel).cases}),onOpen:()=>{n&&typeof o=="string"&&n(xU(o,e))}})}function o0(e){let{cornerRadiusPx:o}=xe(),t=typeof o=="number"?o:e,a=null;try{let{appState:n,selectedItem:s}=jd(c=>c),l=s?.props?.id?String(s.props.id):void 0;a=l?uk(n?.data,l)?.props??null:null}catch{a=null}if(!a)return t;let r=a.sectionCorners;return nh(r)?r:t}function JU({label:e,changed:o=!1,onReset:t=()=>{}}){let a=o0(Xo);return S(Co,{words:re()?.panel,label:i(e),changed:o,detail:Br(`${a}px`,i("the section")),onReset:t})}function QU(){return S(da,{children:i("Follows the section's Corners until you set a number here.")})}function ej(){return Kx({sidesKey:"cardCornerSides",useFollowed:()=>o0(Xo),mark:S(JU,{label:Yd}),hint:S(QU,{})})}function oj(){return{type:"custom",render:()=>S(cv,{})}}function Lwe(){return{_gShape:vt("Shape"),cardCorners:ej(),cardCornerSides:e0(),cardCornersApplyAll:oj()}}function tj(){return Ua({type:"custom",render:e=>S(rj,{...e})},{type:"select",label:yr,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 aj(e,o){let t=Tm(e);if(t!=="custom")return i(km.find(r=>r.value===t)?.label??"");let a=zP(wc(e,o),o);return a?[...a,100-a.reduce((r,n)=>r+n,0)].join(" / "):i("Custom")}function rj(e){let{value:o,onChange:t}=e,[a]=ca("content"),r=Array.isArray(a)?a.length:0,n="follows"in e,s=o!=null,l=s?o:n?e.follows:void 0,c=Tm(l),d=r>=2&&r<=vP,f=()=>[...lU[r]??[]],m=Ol(null),u=C=>{let w=m.current;w&&JSON.stringify(C)===JSON.stringify(w.shares)?t(w.value):C&&t(C)},x=C=>{C===c||C==="custom"&&!d||t(C==="custom"?f():C)},g=i("The width bar works for 2 to {count} blocks.",{count:vP}),I=s&&(n||o!=="content"),k=cU().widths.hint(r,sU);return S(no,{label:i(yr),icon:S(Wx,{}),changed:I,hint:c!=="custom"?void 0:d?k:g,action:S(Co,{words:re()?.panel,label:i(yr),changed:I,disabled:e.readOnly===!0,detail:n?Fr(C=>i(C),aj(e.follows,r),e.followsView):i("Fit content"),onReset:()=>t(void 0)}),children:Ga("div",{className:"sf-share-row",children:[S("div",{className:"sf-share-pick",children:S($P,{label:i(yr),value:c,options:km.map(C=>({value:C.value,label:C.value==="custom"&&!d?g:i(C.label),icon:Dx(S("span",{className:"sf-gallery-pic sf-share-pic",children:t0(C.weights).map((w,b)=>S("i",{style:{gridColumn:`span ${w}`}},b))}),i(C.label),C.value==="custom"&&!d?g:i(C.label))})),onChange:x,columns:3,cell:a0,tooltips:!1,disabled:e.readOnly===!0})}),c==="custom"&&d?S("div",{onFocus:()=>{m.current={value:o,shares:zP(wc(l,r),r)}},onBlur:()=>{m.current=null},children:S(iU,{label:i(yr),count:r,value:wc(l,r),onChange:u,readOnly:e.readOnly===!0})}):null]})})}function t0(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 Fwe(){return sa(eC,S(DG,{}),_m,_m[0].value)}function Bwe(){return Ut("mobile",SP(yr,S(Wx,{}),Kw.map(e=>({label:e.label,value:e.value,picture:S("span",{className:"sf-gallery-pic sf-share-pic",children:t0(e.weights).map((o,t)=>S("i",{style:{gridColumn:`span ${o}`}},t))})})),Vw,{columns:2,cell:a0}))}var a0={width:"5.75rem",height:"3.25rem"};function Dwe(){return Gd("share",tj(),Gx)[Kn("share")]}function nj(){return Ut("mobile",No(Pm,S(BP,{}),vc,jw,1,vc,"",{clear:{phoneFollows:!1,hint:vc}}))}var OP={read:e=>e.phoneRow,write:(e,o,t)=>({phoneRow:t}),fieldKey:()=>"phoneRow",ownField:!0};function Nwe(){let e=No(Pm,S(BP,{}),Om,qw,1,Om,"",{clear:{emptyLabel:"Auto"}}),o=Gd("columns",e,{...OP,tablet:Gx.tablet}),t=Gd("columns",e,OP,{phoneRow:nj()});return{...o,phoneRow:t.phoneRow}}function Mwe(e,o,t,a,r,n){return{type:"custom",render:({value:s,onChange:l})=>S(no,{label:i(e),icon:S(Th,{noun:n}),action:S(Co,{words:re()?.panel,label:i(e),changed:!sP(s),detail:i("the Text style in Styles"),onReset:()=>l(nP),defaultAction:{onPress:()=>l(Ld),title:i("Keep this section's own built-in size"),icon:S(OG,{})}}),children:Ko({min:o,max:t,step:a,value:typeof s=="number"?s:r,suffix:"px",ariaLabel:e,onChange:l})})}}function Hwe(){return{_gCellWidth:vt("Cell width"),gridSpan:sa("Positions",S(Wx,{}),[{label:"Auto",value:""},...Array.from({length:Kc},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function et(){let e=null,o=null;try{e=RP(Vx),o=jd(t=>t).selectedItem}catch{o=null}return e??o?.props??{}}var Vx=IG(null);function sj({min:e,max:o,step:t,px:a,label:r,onChange:n,desktopKey:s,fallback:l}){let c=et()[s],d=sd(void 0,c,l);return S(da,{children:Ko({min:e,max:o,step:t,value:sd(a,c,l),readout:!1,ariaLabel:r,notch:d,onChange:n})})}function lj({label:e,desktopKey:o,fallback:t,unit:a="px",changed:r=!1,onReset:n=()=>{}}){let s=et()[o],l=sd(void 0,s,t);return S(Co,{words:re()?.panel,label:i(e),changed:r,detail:Fr(c=>i(c),`${l}${a}`),onReset:n})}function Zd(e){return JP(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unit:e.unit,unsetLabel:"Follows Desktop",unsetMark:S(lj,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback,unit:e.unit}),restTrack:o=>S(sj,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}var ij={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},cj={Top:WP,Bottom:NP,Left:MP,Right:HP},dj=e=>{let o=cj[e];return S(o,{})};function Wwe(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",a=e.group!==!1,r=k=>ij[k],n=k=>No(r("Top"),S(WP,{}),Jo.min,Jo.max,Jo.step,k,"px"),s=(k,C,w,b=Jo)=>Ut("mobile",Zd({label:r(k),icon:dj(k),desktopKey:C,min:b.min,max:b.max,step:b.step,fallback:w})),l=e.top??Jo.min,c=e.bottom??Jo.min,d="sectionPaddingLeft",f="sectionPaddingRight",m=e.sideBounds??Jo,u=e.side??m.min,x=e.sidePhone??u,g=e.phone===!0,I=k=>g?Ut("desktop",k):k;return Rl({...a?{_gSpacing:vt("Padding")}:{},[o]:I(n(l)),...g?{[la(o)]:s("Top",o,l)}:{},...e.only==="top"?{}:{[t]:I(No(r("Bottom"),S(NP,{}),Jo.min,Jo.max,Jo.step,c,"px")),...g?{[la(t)]:s("Bottom",t,c)}:{}},...e.sides?{[d]:I(No(r("Left"),S(MP,{}),m.min,m.max,m.step,u,"px")),...g?{[la(d)]:s("Left",d,x,m)}:{},[f]:I(No(r("Right"),S(HP,{}),m.min,m.max,m.step,u,"px")),...g?{[la(f)]:s("Right",f,x,m)}:{}}:{}})}function $we(e,o){let t=Object.fromEntries(Object.entries(o).map(([n,s])=>[n,n in e&&fa(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 $d="Width";function Jd(e,o=pP,t=!0){let a=o.map(r=>({label:Lr[r],value:r}));return Rl({...t?{_gWidth:vt($d)}:{},widthMode:{type:"custom",render:({onChange:r,field:n})=>S(no,{label:i($d),icon:S(KG,{}),action:t?S(EU,{inherited:n?.inherited??!1,onReset:()=>r(Fx),label:$d}):void 0,children:Nd({options:a,value:n?.currentValue||e,onChange:r,ariaLabel:$d})})}})}function Qd(){let e=(a,r)=>({type:"custom",render:({value:n,onChange:s})=>S(fj,{value:n,onChange:s,view:a,badge:r})}),o=a=>({type:"custom",render:({value:r,onChange:n,field:s})=>S(pj,{value:r,onChange:n,unit:s?.unit,view:a})}),t=a=>{let r=Md("Unit",S(DP,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");if(a==="desktop")return r;let n=r.render;return{...r,render:s=>S(mj,{props:s,draw:n,view:a})}};return Rl({_gHeight:vt(Hn),...jn("sectionHeightMode",a=>a==="desktop"?e(a):e(a,r=>S(hj,{view:a,onClear:()=>r(void 0)}))),...jn("sectionHeightValue",o),...jn("sectionHeightUnit",t)})}function fj({value:e,onChange:o,view:t,badge:a}){let r=et(),n=l=>["auto","fixed","screen"].includes(l),s=ef(t,r)?.mode??"auto";return S(no,{label:Hn,icon:Al(S(MG,{})),action:a?a(o):void 0,children:Nd({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:n(e)?e:s,onChange:o,ariaLabel:Hn})})}function r0(e,o){return e==="phone"&&Cl(o)?WT(o):wl(o)}function ef(e,o){return e==="desktop"||(e==="tablet"?Cl(o):yx(o))?null:r0(e,o)}var za=(e,o)=>e==="tablet"?Kn(o):la(o);function uj(e,o,t,a){let r=ef(e,o);return!r||e==="desktop"?null:a===void 0?{}:{[za(e,"sectionHeightMode")]:r.mode,...r.mode==="fixed"?{[za(e,"sectionHeightUnit")]:r.unit}:{},...t==="sectionHeightUnit"?{[za(e,"sectionHeightValue")]:r.value}:{},[za(e,t)]:a}}function n0(e,o,t){let a=Vn(),r=ef(e,et());return!a||!r?{followed:null,write:t}:{followed:r,write:n=>a.onChangeMany(s=>{let l=uj(e,s,o,n);return l===null?{[e==="desktop"?o:za(e,o)]:n}:Object.keys(l).length?l:null})}}function pj({value:e,onChange:o,unit:t,view:a}){let{followed:r,write:n}=n0(a,"sectionHeightValue",o),s=(r?r.unit:t)==="%"?"%":"px",l=s==="%"?Ix:gx;return S("div",{className:"sf-field",children:Ko({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:Hn,onChange:n})})}function mj({props:e,draw:o,view:t}){let{followed:a,write:r}=n0(t,"sectionHeightUnit",e.onChange);return o({...e,...a?{value:void 0,storedValue:void 0,follows:a.unit}:{},onChange:r})}function hj({view:e,onClear:o}){let t=et(),a=ef(e,t)===null,r=e==="phone"&&Cl(t),n=r0(e,t),s=Fr(l=>i(l),n.mode==="auto"?i("Auto"):`${n.value}${n.unit}`,r?"tablet":"desktop");return S(Co,{words:re()?.panel,label:i(Hn),changed:a,detail:s,onReset:o})}function qx(){let e=t=>({type:"custom",render:({value:a,onChange:r,id:n,name:s})=>S(Ij,{value:a,onChange:r,labelId:`${n??s??"stickTop"}-label`,view:t})}),o=t=>({type:"custom",render:({value:a,onChange:r})=>S(xj,{value:a,onChange:r,view:t})});return{_gStick:vt(Pd),...jn("stickTop",e),...jn("stickTopDistance",o)}}function xj({value:e,onChange:o,view:t}){let a=Vn(),r=et(),n=t==="desktop"||Yx(t,r)?null:s0(t,Ed(r)),s=n&&a?l=>a.onChangeMany(c=>{let d=gj(t,c,l);return d===null?{[za(t,"stickTopDistance")]:l}:Object.keys(d).length?d:null}):o;return S("div",{className:"sf-field",children:Ko({min:Ha.min,max:Ha.max,step:Ha.step,value:n?null:typeof e=="number"?e:Ha.fallback,...n?{placeholder:n.distance}:{},suffix:"px",ariaLabel:i("Distance from top"),onChange:s})})}function Yx(e,o){return e==="tablet"?Cx(o):vx(o)}function s0(e,o){return e==="phone"?{on:o.tablet,distance:o.tabletDistance}:{on:o.desktop,distance:o.desktopDistance}}function gj(e,o,t){return e==="desktop"||Yx(e,o)?null:t===void 0?{}:{[za(e,"stickTop")]:!0,[za(e,"stickTopDistance")]:t}}function Ij({value:e,onChange:o,labelId:t,view:a}){let r=et(),n=Ed(r),s=a==="phone"?n.phone:a==="tablet"?n.tablet:e===!0,l=a==="phone"&&n.ownTablet,c=a==="desktop"?null:s0(a,n),d=c?.on?`${c.distance}px`:i("Off");return S(no,{label:i(Pd),labelId:t,icon:Al(S(zG,{})),action:Ga(da,{children:[a!=="desktop"?S(Co,{words:re()?.panel,label:i(Pd),changed:Yx(a,r),detail:Fr(f=>i(f),d,l?"tablet":"desktop"),onReset:()=>o(void 0)}):null,S($x,{checked:s,onChange:o,ariaLabelledBy:t})]})})}var _P="e.g. about";function of(){return{_gAnchor:vt("Anchor"),anchor:Nr({control:"plainText",label:"Name",placeholder:_P},{type:"custom",render:({value:e,onChange:o})=>S(Vv,{value:e,onChange:o,nameBox:(t,a)=>S(Dr,{value:t,onChange:a,label:"Name",placeholder:_P,hideable:!1,markup:!1})})})}}function zwe(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 S(no,{label:i(e),icon:o,htmlFor:l,hint:t===void 0?void 0:i(t),children:S(nU,{id:l,value:Number.isFinite(c)?new Date(c):null,onChange:d=>r(d?d.toISOString():"")})})}}}function bj(e,o,t,a){return{type:"custom",...Ua({},{...Ud,label:e}),render:r=>{let{value:n,onChange:s,id:l,name:c}=r,d="follows"in r,f=r,m=typeof n=="boolean",u=typeof f.follows=="boolean"?f.follows:o,x=m?n:d?u:o,g=`${l??c??e}-label`,I=f.readOnly===!0,k=S($x,{checked:x,onChange:s,disabled:I,ariaLabelledBy:g});return S(no,{label:i(e),labelId:g,icon:t,hint:a===void 0?void 0:i(a),action:d?Ga(da,{children:[S(Co,{words:re()?.panel,label:i(e),changed:m,detail:f.followsNoView?i(u?"On":"Off"):Fr(C=>i(C),i(u?"On":"Off"),f.followsView),disabled:I,onReset:()=>s(void 0)}),k]}):k})}}}function l0(){return{type:"custom",render:({value:e,onChange:o,id:t,name:a})=>{let r=`${String(t??a??"pageBackground")}-colour`;return S(yj,{label:"Background",icon:S($G,{}),id:r,value:e,shown:Oh(e),onChange:o})}}}function Gwe(e,o,t){return{type:"custom",render:({value:a,onChange:r})=>S(Bo,{label:i(e),icon:t,value:a||o,onChange:r})}}function yj({label:e,icon:o,id:t,value:a,shown:r,onChange:n}){let{colors:s,n:l}=Zx(),c=$t(a),d=c?Rn(c,s,l):null;return S(Bo,{label:i(e),icon:o,id:t,value:d?d.hex:r,caption:d?.words,onChange:n,choices:Xx(c??"",s,l,n)})}function Uwe(){return{type:"custom",render:e=>{let{value:o,onChange:t}=e,a=e;return S(Sj,{value:typeof o=="string"?o:"",onChange:t,twin:"follows"in e?{follows:a.follows,view:a.followsView}:void 0})}}}function Xx(e,o,t,a){let r=ed(e);return ek(o,t).map(n=>({label:n.label,color:n.value,selected:r===n.name,onPick:()=>a(n.name)}))}function Sj({value:e,onChange:o,twin:t}){let{colors:a,n:r}=Zx(),n=a.background,s=Br(n.toUpperCase(),i("Theme {n} background",{n:r})),l=ed(e),c=l?Rn(l,a,r):null,d=Xx(e,a,r,o),f=t?()=>o(void 0):()=>o(""),m=n,u=s;if(t){let x=ed(t.follows),g=Qc(t.follows),I=x?Rn(x,a,r):g?{hex:g,words:g.toUpperCase()}:null;m=I?.hex??n,u=Fr(k=>i(k),I?I.words:s,t.view)}return c?S(Bo,{label:i("Fill"),icon:S(Hx,{}),value:c.hex,caption:c.words,onChange:o,changed:!0,onReset:f,resetTo:u,choices:d}):S(pl,{label:i("Fill"),icon:S(Hx,{}),value:e,inherited:m,resetTo:u,onChange:o,onReset:f,choices:d})}function wj(e,o,t){if((e?.content??[]).some(n=>n?.props?.id===o))return bt(t);let a=pk(e,o);if(a.length===0)return null;let r=bt(sx(t));if(r!==null)return r;for(let n=a.length-1;n>0;n-=1){let s=bt(sx(a[n].sectionAccent));if(s!==null)return s}return bt(a[0].sectionAccent)}function Zx(){let e=to(xe().theme),[o]=ca("sectionAccent"),t=null;try{let{appState:r,selectedItem:n}=jd(l=>l),s=n?.props?.id?String(n.props.id):void 0;t=s?wj(r?.data,s,o):null}catch{t=null}let a=t!==null&&e.themes[t]?t:e.selected;return{colors:Lo(e.themes[a]),n:a+1}}var Cj=[{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 vj({label:e,value:o,onChange:t,points:a=Cj}){let r=a.map(n=>({...n,label:i(n.label),...n.title?{title:i(n.title)}:null}));return S(tU,{label:i(e),value:o,points:r,onChange:t})}function jwe(){return QP()}var i0={top:S(FG,{}),right:S(LG,{}),bottom:S(AG,{}),left:S(RG,{})};function c0(e,o,t,a,r,n,s){let l=m=>o.find(u=>u.value===m),c=m=>({value:m,label:"",disabled:!0,title:a}),d=m=>{let u=o.find(g=>g.cell===m);if(!u)return c(`missing-${m}`);let x=n?.[m];return x?{value:u.value,label:u.label,icon:x}:{value:u.value,label:u.label}},f=[c("corner-top-left"),d("top"),c("corner-top-right"),d("left"),c("centre"),d("right"),c("corner-bottom-left"),d("bottom"),c("corner-bottom-right")];return{type:"custom",render:({value:m,onChange:u})=>{let x=o.some(g=>g.value===m)?m:t;return S(no,{label:i(e),icon:r,value:l(x)?.label?i(l(x).label):s?i(s):"",children:vj({label:e,value:x,onChange:u,points:f})})}}}function Kwe(e,o,t){return{type:"custom",options:o,render:({value:a,onChange:r,field:n})=>S(Fk,{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 Vwe(e,o={}){return{type:"custom",render:({value:t,onChange:a})=>{let r={value:t,onChange:a,...o};return S(e,{...r})}}}var qwe=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function Ywe(e,o,t){let a=Object.keys(Xm).map(r=>({label:Xm[r],value:r,picture:t[r]}));return{type:"custom",...Ua({},{type:"radio",label:e,options:a.map(r=>({value:r.value,label:r.label}))}),render:({onChange:r})=>S(Tj,{label:e,icon:o,options:a,onChange:r})}}function kj(e,o,t){let a=BC(e,o,t);if(a!==void 0)return a==="save-makes-frame"?i("A frame is made from this video when you save the page."):a==="starts-dark"?i("This video starts dark, so no frame was made. The slide shows its background colour while the video loads. Choose Image to show a picture."):a==="outside"?i("This video is on another website, so no frame can be made. The slide shows its background colour while the video loads. Choose Image to show a picture."):a==="unsupported"?i("This video's file type gives no frame. The slide shows its background colour while the video loads. Choose Image to show a picture."):a==="failed"?i("No frame could be made from this video. It is tried again the next time you save the page. The slide shows its background colour while the video loads."):a==="image-no-frame"?i("The slide shows your Image while the video loads, because this video has no frame."):void 0;let r=FC(e);return r==="frame-missing-image"?i("This video has no frame yet. The slide shows its image until one is made."):r==="frame-missing-surface"?i("This video has no frame yet. The slide shows its background colour until one is made."):r==="image-missing-frame"?i("No image yet. The slide shows the video's frame until you choose one."):r==="image-missing-surface"?i("No image yet. The slide shows its background colour until you choose one."):void 0}function Tj({label:e,icon:o,options:t,onChange:a}){let r=Vn(),n=r?.values??{},s=tl(n),l=RP(yG),c=Hc(l?.docId??null),d=null;try{d=jd(m=>m.appState.data)}catch{d=null}let f=ev(r?.id,d,c);return S(no,{label:i(e),icon:Al(o),hint:kj(n,f,l?.hasUnsavedEdits??!1),children:Nd({options:t,value:s,onChange:a,ariaLabel:e})})}function Xwe(e,o,t,a={}){let r={type:"custom",[CG]:!0,render:({value:n,onChange:s,name:l})=>S(Rk,{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?Ut("each",r):r}function Pj(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 Zwe({value:e,onChange:o,label:t}){let a=e||{},r=Vn(),n=r?r.values!==r.node.props:!0,s=!!a.pending&&n,l=!!a.pending&&!n,c=!!Ge(bU()).geocode,d=LP(),f=(m,u)=>o({...a,[m]:u??void 0});return Ga(da,{children:[S(no,{label:i(t),icon:S(CP,{}),action:c?S(zx,{content:i("Find from the address (OpenStreetMap)"),children:S(GP,{"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:S(GG,{})})}):void 0,children:c&&a.status?S(qv,{compact:!0,oneLine:!0,spaced:!1,status:s?"busy":a.ok&&!l?"found":"notfound",statusText:s?i("Finding\u2026"):l?i(Fh):i(a.status),hint:Pj(a)}):null}),S(no,{label:i("Enter by hand"),labelId:d,icon:S(BG,{}),action:S($x,{checked:!!a.manual,onChange:m=>o({...a,manual:m}),ariaLabelledBy:d})}),a.manual&&S(no,{label:i("Latitude, longitude"),icon:S(CP,{}),children:Ga("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,width:"100%",minWidth:0},children:[S(kP,{value:typeof a.lat=="number"?a.lat:null,onChange:m=>f("lat",m),min:-90,max:90,step:1e-4,placeholder:i("Latitude")}),S(kP,{value:typeof a.lng=="number"?a.lng:null,onChange:m=>f("lng",m),min:-180,max:180,step:1e-4,placeholder:i("Longitude")})]})})]})}function Ej(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function Oj(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 _j(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 Jx={label:"Ticker items",icon:S(WG,{})};function Jwe(e,o,t,a){return{type:"custom",[ia]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:a},...Ua({},{...qP.textList,label:e}),render:({value:r,onChange:n})=>S(Qx,{label:e,icon:Al(o),items:Array.isArray(r)?r:[],placeholder:t,onChange:n,markup:a==="markup"})}}function Qx({label:e,icon:o,items:t,placeholder:a,onChange:r,markup:n=!1}){let s=Ol(null),[l,c]=_l(null),d=m=>m.map(u=>({text:u?.text??""})),f=m=>{let u=_j(t,m,l);u===null&&(s.current=null),c(u),r(d(m))};return S(eU,{label:i(e),icon:o,noun:i("item"),items:t,onChange:f,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?S(Nh,{target:s,value:Ej(t,l),onChange:m=>r(Oj(t,l??-1,m)),disabled:l===null,label:l===null?i("Formatting \u2014 click a row first"):i("Formatting \u2014 row {n}",{n:l+1})}):void 0,renderRow:(m,u,x)=>S("input",{type:"text",className:n&&l===u?"sf-list-marking":void 0,value:m?.text??"",placeholder:i(a),"aria-label":i("{label} {n}",{label:i(e),n:u+1}),onChange:g=>x({text:g.target.value}),onFocus:g=>{s.current=g.currentTarget,c(u)}})})}function d0(e,o){let t=`${e.label} \u2014 row ${o+1}`;return Nr({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:a,onChange:r})=>S(Dr,{value:a,onChange:r,label:i("{label} \u2014 row {n}",{label:i(e.label),n:o+1}),placeholder:e.placeholder,hideable:!1,markup:e.rendering==="markup"})})}function f0(e){return{_gCards:vt("Cards"),coverIndex:sa("Cover image",S(HG,{}),Ek,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:HU("Image background",Rd),cardImage:Lj()}}function u0(){return{outline:sa("Card outline",S(UG,{}),Uh,zh),indexBadge:sa("Card number",S(DP,{}),Gh,$h),showBadge:bj("Product badge",!0,S(Th,{noun:"tag"}))}}function p0(e){let o=e?.defaults??{showCardSizes:!0,showCardBuy:!0,showCardPage:!0},t=r=>({...Ud,label:zd.find(n=>n.id===r).label}),a=r=>Ua(fU(Mx),t(r));return{_gShowOnCard:vt("Show on a card"),[Mx]:Ua({type:"custom",render:()=>S(Aj,{rest:{showCardPrice:!0,showCardFinishes:!0,...o}})},t(Mx)),showCardFinishes:a("showCardFinishes"),showCardSizes:a("showCardSizes"),showCardBuy:a("showCardBuy"),showCardPage:a("showCardPage")}}var Mx="showCardPrice",zd=[{id:"showCardPrice",label:"Price"},{id:"showCardFinishes",label:"Finish swatches"},{id:"showCardSizes",label:"Sizes"},{id:"showCardBuy",label:"Buy button"},{id:"showCardPage",label:"Page button"}];function Aj({rest:e}){let o=et(),t=qh(),a=s=>typeof o[s]=="boolean"?o[s]:void 0,r=s=>a(s)??e[s],n=zd.some(({id:s})=>a(s)!==void 0&&a(s)!==e[s]);return S(eg,{parts:zd,changed:n,shown:r,onPress:(s,l)=>t({[s]:l}),onReset:()=>t(Object.fromEntries(zd.map(({id:s})=>[s,void 0])))})}function Qwe(e,o="display"){let t=la(o);return{[o]:Ut("desktop",{type:"custom",render:({value:a,onChange:r})=>S(eg,{parts:e,changed:xk(a),shown:n=>ad(a,n),onPress:(n,s)=>r(Ik(a,n,s)),onReset:()=>r(void 0)})}),[t]:Ut("mobile",{type:"custom",render:({value:a,onChange:r})=>S(Rj,{parts:e,desktopKey:o,value:a,onChange:r})})}}function eg({parts:e,changed:o,shown:t,onPress:a,onReset:r,detail:n,disabledReason:s}){let l=i("Display");return S(no,{label:l,icon:S(TG,{}),changed:o,action:S(Co,{words:re()?.panel,label:l,changed:o,detail:n,onReset:r}),children:S(oU,{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 Rj({parts:e,desktopKey:o,value:t,onChange:a}){let r=et()[o];return S(eg,{parts:e,changed:gk(t),shown:n=>Lh(r,t,n),onPress:(n,s)=>a(bk(t,n,s)),onReset:()=>a(ld),detail:i("the same as Desktop")})}function Lj(){return JP("Card image",{min:Xo,max:ir,step:Sv,hint:"Rounds the picture. The card's own corner is in Styles."})}function eCe(){return Kx({sidesKey:"cornerSides",step:wv,useFollowed:()=>Xo,mark:S(Fj,{label:Cv}),hint:i("Rounds the picture. Left alone it stays square.")})}function Fj({label:e,changed:o=!1,onReset:t=()=>{}}){return S(Co,{words:re()?.panel,label:i(e),changed:o,onReset:t})}function oCe(){return{type:"custom",render:({value:e,onChange:o})=>S(Mj,{value:typeof e=="string"?e:"",onChange:o})}}function Bj({layout:e,width:o}){let t=Ch(e),a=t?`${t[0]}/${t[1]}`:void 0;return S("span",{"aria-hidden":"true",style:{display:"grid",width:o,gridTemplateColumns:"repeat(12, minmax(0, 1fr))",gridAutoRows:a?"auto":6,gridAutoFlow:"row dense",gap:2},children:Dv(e).map(([r,n],s)=>S("i",{className:"block rounded-xs bg-current opacity-60",style:{gridColumn:`span ${r}`,gridRow:`span ${n}`,aspectRatio:a}},s))})}var Dj={width:"3.5rem",height:"2.5rem"},Nj=200;function Mj({value:e,onChange:o}){let[t,a]=_l(null),[r,n]=_l(4),s=Ol(null);bG(()=>{let u=s.current;if(!u||typeof ResizeObserver!="function")return;let x=()=>n(u.getBoundingClientRect().width>=Nj?4:3);x();let g=new ResizeObserver(x);return g.observe(u),()=>g.disconnect()},[]);let l=e&&e in ea?e:"",c=wh(t,l),d=wh(t,"").length,f=Vc("no-symbol"),m=[{value:"",label:i("Not chosen"),icon:yP(f,i("Not chosen"))},...c.map(u=>({value:u,label:i(ea[u].label),icon:S(Bj,{layout:ea[u],width:40})}))];return S(no,{label:i("Layout"),icon:S(NG,{}),value:l?i(ea[l].label):void 0,children:S("div",{ref:s,style:{flex:"1 1 auto",minWidth:0},children:S($P,{label:i("Layout"),value:l,options:m,onChange:o,columns:r,cell:Dj,header:Ga("div",{className:"mb-2 flex flex-col gap-1",style:{minWidth:"11rem"},children:[S("span",{className:"text-2xs text-ink-faint",children:i("Photos in a row")}),S(YG,{options:[{id:"all",label:i("All")},...Fv.map(u=>({id:String(u),label:String(u)}))],value:t===null?"all":String(t),ariaLabel:i("Photos in a row"),onChange:u=>a(u==="all"?null:Number(u))}),S("span",{className:"text-2xs text-ink-faint",children:i("{n} of {total} layouts",{n:d,total:Sh.length})})]})})})})}import{decodePartId as tK}from"efficient-easel/draw";import{decodePartId as rg,encodePartId as sf}from"efficient-easel/draw";import{LINK_FIELD_MARKER as C0,SCAFFOLD_FIELD_MARKER as S0,TEXT_FIELD_MARKER as lf}from"efficient-easel/draw";import{readHidable as v0}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as jj}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as Uj}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as m0}from"efficient-easel/draw";import{readHidable as h0}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as Hj}from"efficient-easel/draw";var Wj=Hj,$j=["text","textarea"],zj=["textarea","plainTextarea"];function Gj(e){return!e||typeof e!="object"?null:e[m0]?.control??null}function qn(e){let o=Gj(e);return o&&Wj.includes(o)?o:null}function tf(e){return zj.includes(e)}function x0(e){return!e||typeof e!="object"?void 0:e[m0]?.placeholder}function af(e){return h0(e).text}function og(e,o,t){return $j.includes(e)?{text:t,hidden:h0(o).hidden}:t}function g0(e,o,t,a){return af(e[o])===a?null:{...e,[o]:og(t,e[o],a)}}function Yn(e,o){return o?`${e}[${o.index}].${o.rowKey}`:e}function kt(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 rf(e){if(!(!e||typeof e!="object"))return e[Uj]}function tg(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function I0(e,o){if(!Array.isArray(o))return[];let t=rf(e),a=[];if(t?.control==="textList"){let n=t.itemKey??"text";return o.forEach((s,l)=>{let c=ee(s?.[n]);c&&a.push({row:{index:l,rowKey:n},text:c})}),a}let r=tg(e);return r?(o.forEach((n,s)=>{for(let[l,c]of Object.entries(r)){if(!qn(c))continue;let d=af(n?.[l])||rf(c)?.placeholder||"";d&&a.push({row:{index:s,rowKey:l},text:d})}}),a):[]}function Ll(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function ag(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 b0(e,o,t,a,r){let n=Ll(e[o],t);return af(n)===r?null:ag(e,o,t,og(a,n,r))}function y0(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var Tt="data-sf-part",wCe="data-sf-region-part",CCe="data-sf-part-row";function vCe(e,o){return`${e}[${o}]`}var kCe="data-sf-part-kind",Kj="data-sf-part-style-owner",Vj="data-sf-part-style-kind";function TCe(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(Kj),a=o.getAttribute(Vj);if(t&&a)return{owner:t,kind:a};if(o.getAttribute("data-easel-block"))return null}return null}var w0=2;function Xn(e){return mr(e).replace(/\s+/gu,"")}function nf(e,o,t){let a=e[lf];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}=v0(o);r?t.push(r):a.placeholder&&t.push(a.placeholder);return}if(!e[C0]){if(e.type==="text"||e.type==="textarea"){let r=ee(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))nf(s,r?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[r,n]of Object.entries(e.objectFields))nf(n,o[r],t)}}function ng(e){if(!e||typeof e!="object")return!1;let o=e;return o[C0]?!1:!!o[lf]||o.type==="text"||o.type==="textarea"}function cf(e,o){let t=e[lf];return t?.label?t.label:typeof e.label=="string"?e.label:o}function sg(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function PCe(e,o,t){if(!e)return[];let a=[];for(let[r,n]of Object.entries(e)){if(!n||typeof n!="object"||ml(r))continue;let s=n,l=[];nf(s,o?.[r],l),!l.length&&s[S0]!==void 0&&nf(s,s[S0],l);let c=cf(s,r);if(t?.(r)&&ng(s)){l.length&&a.push({key:r,label:c,texts:[],keyed:!0});continue}let d=new Set;for(let{row:u,text:x}of I0(s,o?.[r])){let g=Xn(x);g.length<w0||(d.add(g),a.push({key:r,label:c,texts:[g],row:u}))}let f=new Set(d),m=[];for(let u of l){let x=Xn(u);x.length<w0||f.has(x)||(f.add(x),m.push(x))}m.length&&a.push({key:r,label:c,texts:m})}return a}function lg(e){return!e.offPage&&!e.hidden}var qj=jj;function k0(e,o){if(!o||typeof o!="object"||ml(e)||Ck(o))return null;let t=o[lf];return!t||!qj.includes(t.control)?null:t}function ECe(e,o){let t=k0(e,o);return t!==null&&t.identifier!==!0}function T0(e,o){if(!e)return[];let t=[];for(let[a,r]of Object.entries(e)){let n=k0(a,r);if(!n)continue;let{text:s,hidden:l}=v0(o?.[a]);if(lg({offPage:n.offPage===!0,hidden:!!l}))continue;let c=s||n.placeholder||"",d=mr(c).replace(/\s+/gu," ").trim();t.push({key:a,label:sg(cf(r,a)),preview:d,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!l})}return t}function Zn(e,o){let t=rf(e);return t?.control==="textList"?o.rowKey===(t.itemKey??"text")?d0(t,o.index):null:tg(e)?.[o.rowKey]??null}function df(e,o,t){let a=e.node.props,{key:r,row:n}=kt(e.propKey),s=n?b0(a,r,n,e.kind,o):g0(a,r,e.kind,o);return s?(t(e.zone,e.index,{...e.node,props:s}),!0):!1}import{readHidable as _0}from"efficient-easel/draw";import{isNodeList as Yj}from"efficient-easel/data";var ig=e=>String(e+1).padStart(2,"0"),DCe=[{label:"01 \xB7",value:"two-digit"},{label:"1.",value:"plain"}],cg="two-digit",P0=e=>e==="plain"?"plain":cg,ff=(e,o)=>e==="plain"?`${o+1}.`:ig(o);var fg="Contents",dg="Flex",E0="Text",Xj="numberForm",VCe="_contentsEntries",qCe="_kickerNumber",A0="data-sf-kicker-number",Zj=e=>_0(e).text.trim(),R0=e=>qc(e?.anchor),O0=e=>String(e.props?.id??""),Jj=e=>!_0(e.props?.text).hidden&&!Tn(e.props)&&!gt(e.props);function Fl(e){return Object.values(e.props??{}).filter(Yj)}function L0(e){for(let o of Fl(e))for(let t of o){if(ul(t.props??{}))continue;if(t.type===E0&&Jj(t))return t;if(t.type===E0)continue;let a=L0(t);if(a)return a}}function F0(e){return Fl(e).some(o=>o.some(t=>t&&!ul(t.props??{})&&(t.type===fg||F0(t))))}var B0=e=>e.type===dg&&Wn(dg,e.props?.direction)==="row";function D0(e){return Fl(e).some(o=>o.some(t=>t&&!ul(t.props??{})&&(t.type===fg||!B0(t)&&D0(t))))}function Qj(e){let o=[],t=(a,r)=>{for(let n of a){if(!n||ul(n.props??{}))continue;if(n.type===fg){r.open={contents:n,sections:r.waiting??[]},r.waiting=null,o.push(r.open);continue}if(B0(n)&&D0(n)){let l={inRow:!0,open:null,waiting:[]};for(let c of Fl(n))t(c,l);r.inRow||(r.open=null);continue}let s=r.open?.sections??r.waiting;if(n.type===dg&&R0(n.props)&&s&&!F0(n)){s.push({box:n,kicker:L0(n)});continue}for(let l of Fl(n))t(l,r)}};return t(e,{inRow:!1,open:null,waiting:null}),o}function eK(e){return e.map(o=>({label:o.kicker?mr(Zj(o.kicker.props?.text)):"",anchor:R0(o.box.props)}))}function YCe(e){let o=e?.length?Qj(e):[];if(!o.length)return null;let t=new Map,a=new Map;for(let r of o){let n=O0(r.contents);n&&t.set(n,eK(r.sections));let s=P0(r.contents.props?.[Xj]);r.sections.forEach((l,c)=>{let d=l.kicker?O0(l.kicker):"";d&&a.set(d,ff(s,c))})}return{entries:t,numbers:a}}var XCe=e=>e.endsWith(".")?`${e} `:`${e} \xB7 `;var aK=`[${A0}]`,rK=["bold","italic","underline","strike","link","sup","sub"],nK=["bullet","number"];function mg(e,o){return e?[...rK,...o?nK:[]]:[]}function N0(e,o){let t=tK(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}=kt(r),d=o.components[n.type]?.fields?.[l],f=c?Zn(d,c):d,m=qn(f);if(!m)return null;let u=n.props??{};if(dx(u)!==null||!c&&$m(n.type,u,l)||n.type==="Text"&&l==="text"&&Tn(u)||c&&!(Array.isArray(u[l])&&c.index<u[l].length))return null;let x=c?Ll(u[l],c):u[l];return{node:n,selector:s,propKey:r,kind:m,stored:x,offPage:Kd(f)}}function uf(e,o){let t=N0(e,o);if(!t)return null;let{text:a,hidden:r}=ja(t.stored);if(!lg({offPage:t.offPage,hidden:!!r}))return null;let n=tf(t.kind);return{partId:e,value:a,rules:ur,multiline:n,skip:aK,offered:mg(t.kind!=="plainText",n),write:s=>{let l=N0(e,o);l&&df({node:l.node,propKey:l.propKey,kind:l.kind,zone:l.selector.zone,index:l.selector.index},s,o.replace)}}}function hg(e,o,t){return e?.isConnected&&e.getAttribute(Tt)===t?e:o?.querySelector(`[${Tt}="${pf(t)}"]`)??null}function pf(e){return e.replace(/["\\]/g,"\\$&")}function M0(e){let o=e.activeElement;return o?o.tagName==="IFRAME"||!!o.closest(".es-canvas"):!1}var ug=null,pg=new Set;function sK(){return ug}function xg(e){if(e!==ug){ug=e;for(let o of pg)o()}}function lK(e){return pg.add(e),()=>{pg.delete(e)}}function H0(){return oK(lK,sK,()=>null)}function W0(e,o){if(e.outer)return null;let t=o.getItemById(e.ownerId);if(!t)return null;let a=yC(t.type);return!a||lo(t.props)?null:{node:t,rows:a}}function uK(e,o){let t=W0(e,o),a=o.getItemById(e.nodeId);if(!t||!a)return null;let r=zm(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:iK(e.ownerId,Yn(t.rows,{index:e.index,rowKey:r}))}function mf(e,o){let t=uK(e,o);return t?uf(t,o):null}function $0(e,o){return mf(e,o)?.value}function z0(e,o){let t=mf(e,o);return t?(t.write(e.text),!0):!1}function G0(e,o){let t=W0(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=cK(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=dK(n,s,c);break}case"delete":l=fK(n,s);break;default:return!1}return o.replace(a.zone,a.index,{...t.node,props:{...r,[t.rows]:l}}),!0}import{jsx as we,Fragment as TO,jsxs as Vl}from"react/jsx-runtime";import{Fragment as Y7,useEffect as X7,useId as Z7,useMemo as PO,useRef as J7,useState as Ka}from"react";import{useScreenDocument as BO}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as hI}from"efficient-easel/draw/client";import Q7 from"efficient-easel/screen/components/SidePanelHead";import{jsx as be,Fragment as cs,jsxs as zr}from"react/jsx-runtime";import{useEasel as IO,useRootFields as t7}from"efficient-easel/easel";import{Inspector as a7}from"efficient-easel/fields";import{SettingsGroup as r7}from"efficient-easel/panel";import{useEffect as n7,useRef as s7,useState as uI}from"react";import{jsx as Mr,Fragment as xK,jsxs as gK}from"react/jsx-runtime";import{useState as V0}from"react";import{SettingsDefaultReset as IK,SettingsField as bK}from"efficient-easel/panel";import{useEaselStrings as yK}from"efficient-easel/strings";import{AddIcon as SK}from"efficient-easel/icons";import{Button as wK}from"efficient-shell/ui";import{iconOf as CK,noGlyph as vK}from"efficient-easel/screen/lib/document/box-fields";import{jsx as hf,Fragment as pK,jsxs as U0}from"react/jsx-runtime";import{Button as j0,Dialog as mK}from"efficient-shell/ui";function hK(e){return vo("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 K0({count:e,onCancel:o,onConfirm:t}){return U0(mK,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Clear this site\u2019s colors?"),footer:U0(pK,{children:[hf(j0,{variant:"secondary",onClick:o,children:i("Cancel")}),hf(j0,{variant:"danger",onClick:t,children:i("Clear colors")})]}),children:[hf("p",{children:hK(e)}),hf("p",{className:"mt-2 font-medium",children:i("This cannot be undone.")})]})}var kK=vK("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"),TK="Reset color",PK={selected:0,themes:[]};function EK(e){e(PK)}function q0({value:e,onChange:o}){let t=e?.themes??[],a=t.length===0,r=to(e),[n,s]=V0(!1),l=yK(),[c,d]=V0(null),f=(C,w)=>{o({...r,themes:r.themes.map((b,v)=>v===C?w:b)})},m=yn(r).accent,u=new Set(r.themes.map(C=>C.brandInk).filter(Boolean)),x=OS.filter(C=>!u.has(C)).map(C=>_S(m,C)),g=[...r.themes,...x],I=C=>{if(C<r.themes.length)return o({...r,selected:C});let w=[...r.themes,g[C]];o({...r,themes:w,selected:w.length-1})},k=()=>{let C=[...r.themes,{...Lo(r.themes[r.selected])}];o({...r,themes:C,selected:C.length-1}),d(C.length-1)};return gK(xK,{children:[a?null:Mr(bK,{label:i(TK),icon:CK(kK),labelId:"sf-theme-reset",action:Mr(IK,{label:i("all theme colors"),words:l.panel,changed:!0,onReset:()=>s(!0)})}),n&&Mr(K0,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),EK(o)}}),Mr("div",{className:"sf-theme-list",role:"radiogroup","aria-label":i("Theme"),children:g.map((C,w)=>Mr(dd,{index:w,colors:C,selected:w===r.selected,open:c===w&&w<r.themes.length,editable:w<r.themes.length,onPick:()=>I(w),onEdit:()=>d(b=>b===w?null:w),onChangeColors:b=>f(w,b)},w))}),Mr(wK,{variant:"secondary",leftIcon:Mr(SK,{}),onClick:k,className:"sf-theme-add",children:i("Add new theme")})]})}import{jsx as xf}from"react/jsx-runtime";import{SettingsDefaultReset as OK,SettingsField as _K}from"efficient-easel/panel";import{SquareIcon as AK}from"efficient-easel/icons";var RK="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",gg="Corners";function Y0({value:e,onChange:o}){let t=e===null;return xf(_K,{label:i(gg),icon:xf(AK,{}),changed:!t,action:xf(OK,{words:re()?.panel,label:i(gg),changed:!t,detail:i("the built-in corners"),onReset:()=>o(null)}),hint:i(RK),children:xf(Ko,{min:Xo,max:ir,step:1,value:e,...e===null?{}:{suffix:"px"},placeholder:Xo,placeholderWord:"Auto",onClear:()=>o(null),ariaLabel:i(gg),onChange:o})})}import{jsx as Bl}from"react/jsx-runtime";import{SettingsDefaultReset as LK,SettingsField as FK}from"efficient-easel/panel";import{IconPicker as BK}from"efficient-shell/ui";import{ShadowIcon as DK}from"efficient-easel/icons";var Ig={none:"None",soft:"Soft",lifted:"Lifted"},NK="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",MK={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 X0({value:e,onChange:o}){let t=e===null,a=e??am;return Bl(FK,{label:i("Card shadow"),icon:Bl(DK,{}),value:i(Ig[a]),changed:!t,action:Bl(LK,{words:re()?.panel,label:i("Card shadow"),changed:!t,detail:i(Ig[am]),onReset:()=>o(null)}),hint:i(NK),children:Bl(BK,{label:i("Card shadow"),value:a,options:$S.map(r=>({value:r,label:i(Ig[r]),icon:Bl("span",{className:"sf-shadow-chip border border-line bg-surface",style:{boxShadow:MK[r]}})})),onChange:o})})}import{jsx as Z0}from"react/jsx-runtime";import{ShadowIcon as HK}from"efficient-easel/icons";var WK="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 J0({value:e,onChange:o}){let t=e===null;return Z0(pl,{label:i("Shadow color"),icon:Z0(HK,{}),value:e??"",inherited:nm,resetTo:nm,onChange:o,onReset:()=>o(null),hint:i(WK)})}import{jsx as If}from"react/jsx-runtime";import{SettingsDefaultReset as $K,SettingsField as zK}from"efficient-easel/panel";import{AlignSeparateIcon as GK}from"efficient-easel/icons";function gf(e,o){return e==="tablet"?null:e==="mobile"?o.phone:o.desktop}var UK="The space between the blocks inside a row, a grid or a box. Auto means each one keeps the spacing it already has.",jK="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.",bg="Block gap",Q0=zn.Grid;function eE(e,o){return gf(e,{desktop:{key:"block_gap",value:o.gap,followsPx:null},phone:{key:"block_gap_phone",value:o.phone,followsPx:o.gap===null?null:Tx(o.gap)}})}function oE({value:e,onChange:o,followsPx:t=null}){let a=e===null,r=t===null?null:`${t}px`,n=t===null?Q0:vl(t)??Q0;return If(zK,{label:i(bg),labelId:"sf-block-gap",icon:If(GK,{}),changed:!a,action:If($K,{words:re()?.panel,label:i(bg),changed:!a,detail:r??i("each block's own spacing"),onReset:()=>o(null)}),hint:i(r===null?UK:jK),children:If(Ko,{min:Ar.min,max:Ar.max,step:Ar.step,value:e,...e===null&&t===null?{}:{suffix:"px"},placeholder:n,...t===null?{placeholderWord:"Auto"}:t===n?{}:{placeholderWord:String(t)},onClear:()=>o(null),ariaLabel:i(bg),onChange:o})})}import{jsx as Tf}from"react/jsx-runtime";import{SettingsDefaultReset as YK,SettingsField as XK,SettingsSegmented as ZK}from"efficient-easel/panel";import{HoverIcon as JK}from"efficient-easel/icons";import{HOVER_MOTION as KK,hoverKindsOf as yf,motionSeconds as bf}from"efficient-shell/format";var Mo="hover",Sf="_gHover",Jn={none:"None",nextImage:"Show next image",rotate:"Rotate",zoom:"Zoom",lift:"Lift",mono:"Black and white"},wf=yf(["none","lift"]);function aE(e){let o=e[Mo];return wf.includes(o)?o:"none"}var Cf=yf(["none","rotate"]),Me={kind:Mo,angle:"hoverAngle",duration:"hoverDuration",delay:"hoverDelay"},Dl="spinOnHover",tE=Gt,rE={ProductGrid:"rotate",RelatedProducts:"rotate",AlloyWheelsListing:"none"},pke=Object.keys(rE);function yg(e){return rE[e]??"none"}var Sg=KK.rotateFallbackDeg;function wg(e,o){let t=e[Me.kind];if(Cf.includes(t))return t;let a=e[Dl];return typeof a=="boolean"?a?"rotate":"none":o}function Cg(e){let o=j(e);return o===void 0?Sg:Math.min(tE.max,Math.max(tE.min,o))}function mke(e,o){let t=yg(o),a=wg(e,t);return{kind:a,angle:a==="rotate"?Cg(e[Me.angle]):null,duration:bf("hover","duration",a==="rotate"?e[Me.duration]:void 0),delay:bf("hover","delay",a==="rotate"?e[Me.delay]:void 0)}}function nE(e){let o={field:Me.kind,in:[...Cf]};return{any:[{field:Me.kind,is:"rotate"},{all:[{not:o},e==="rotate"?{not:{field:Dl,is:!1}}:{field:Dl,is:!0}]}]}}var vf=yf(["none","mono"]),vg=yf(["none","nextImage","mono"]),sE={ImageBlock:"none",Manifesto:"none",Split:"none",ContactLocations:"mono"},hke=Object.keys(sE);function kg(e){return sE[e]??"none"}var Nl={zoom:"hoverZoom",darken:"hoverDarken"},ua={min:100,max:150,step:1,unit:"%"},kf=["nextImage"];function VK(e,o){if(!kf.includes(o))return null;let t=j(e[Nl.zoom]);if(t===void 0)return null;let a=Math.min(ua.max,Math.max(ua.min,t));return a===ua.min?null:String(a/100)}function qK(e,o){if(!kf.includes(o))return null;let t=j(e[Nl.darken]);return t!==void 0&&t>0?t:null}var Tg=["ImageBlock"];function Pg(e,o,t=vf){let a=e[Mo];return t.includes(a)?a:o}function lE(e,o=""){let t=Tg.includes(o)?vg:vf,a=Pg(e,kg(o),t),r=a!=="none";return{kind:a,duration:bf("hover","duration",r?e[Me.duration]:void 0),delay:bf("hover","delay",r?e[Me.delay]:void 0),...kf.includes(a)?{zoom:VK(e,a),darken:qK(e,a)}:{}}}function iE(){return{field:Mo,in:[...kf]}}function cE(e){return e==="none"?{field:Mo,in:["mono","nextImage"]}:{not:{field:Mo,is:"none"}}}var Eg={none:Jn.none,lift:Jn.lift,highlight:"Highlight"},QK="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 dE({value:e,onChange:o}){let t=e===null,a=e??rm;return Tf(XK,{label:i("Hover effect"),icon:Tf(JK,{}),value:i(Eg[a]),changed:!t,action:Tf(YK,{words:re()?.panel,label:i("Hover effect"),changed:!t,detail:i(Eg[rm]),onReset:()=>o(null)}),hint:i(QK),children:Tf(ZK,{options:zS.map(r=>({id:r,label:i(Eg[r])})),value:a,ariaLabel:i("Hover effect"),onChange:o})})}import{jsx as Pf}from"react/jsx-runtime";import{SettingsDefaultReset as e8,SettingsField as o8,SettingsSegmented as t8}from"efficient-easel/panel";import{DropIcon as a8}from"efficient-easel/icons";var Og="Photography",fE={shot:"As shot",mono:"Black and white"},_g=[{grayscale:!1,label:fE.shot},{grayscale:!0,label:fE.mono}],r8="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function uE({value:e,onChange:o}){let t=e===null,a=e??!1;return Pf(o8,{label:i(Og),icon:Pf(a8,{}),value:i(_g.find(r=>r.grayscale===a).label),changed:!t,action:Pf(e8,{words:re()?.panel,label:i(Og),changed:!t,detail:i(_g.find(r=>!r.grayscale).label),onReset:()=>o(null)}),hint:i(r8),children:Pf(t8,{options:_g.map(r=>({id:r.grayscale,label:i(r.label)})),value:a,ariaLabel:i(Og),onChange:o})})}import{jsx as Ag}from"react/jsx-runtime";import{useId as n8}from"react";import{SettingsField as s8,SettingsSwitch as l8}from"efficient-easel/panel";import{ShareIcon as i8}from"efficient-easel/icons";var c8="Share button",d8="On every blog post.";function pE({value:e,onChange:o}){let t=n8();return Ag(s8,{label:i(c8),labelId:t,icon:Ag(i8,{}),action:Ag(l8,{checked:e===!0,onChange:o,ariaLabelledBy:t}),hint:i(d8)})}import{usePreviewDevice as pI}from"efficient-easel/draw/client";import{jsx as Ef}from"react/jsx-runtime";import{SettingsDefaultReset as f8,SettingsField as u8}from"efficient-easel/panel";import{PaddingXIcon as p8}from"efficient-easel/icons";var Rg="Side space",mE=na.default,m8="The room left at the left and right edge of every page.";function hE(e,o){return gf(e,{desktop:{key:"site_gutter",value:o.gutter,unsetPx:mE,bounds:na},phone:{key:"site_gutter_phone",value:o.phone,unsetPx:Dd(o.gutter),bounds:El}})}function xE({value:e,onChange:o,unsetPx:t=mE,bounds:a=na}){let r=e===null;return Ef(u8,{label:i(Rg),labelId:"sf-side-space",icon:Ef(p8,{}),changed:!r,action:Ef(f8,{words:re()?.panel,label:i(Rg),changed:!r,detail:`${t}px`,onReset:()=>o(null)}),hint:i(m8),children:Ef(Ko,{min:a.min,max:a.max,step:a.step,value:e,suffix:"px",placeholder:t,onClear:()=>o(null),ariaLabel:i(Rg),onChange:o})})}import{jsx as Lg}from"react/jsx-runtime";import{BACKGROUND_WIDTHS as jke,SettingsBackgroundWidth as h8,SettingsContentWidth as x8}from"efficient-easel/panel";var g8="Background width",I8="Content width";var Of=e=>i(Lr[e==="content"?"page":"full"]),gE="The width of every section's background.",IE="The width of every section's content.";function bE({value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n,labelId:s}){return Lg(h8,{value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n?i(n):void 0,labelId:s,words:{label:i(g8),full:Of("full"),content:Of("content")},resetWords:re()?.panel})}function yE({mode:e,px:o,max:t=mo.max,min:a=mo.min,changed:r,detail:n,fullClosed:s,onMode:l,onPx:c,onReset:d,hint:f,labelId:m}){let u=i(I8),x=e!=="full"?Lg(Ko,{min:a,max:t,step:mo.step,value:Math.min(Math.max(o,a),t),onChange:c,suffix:"px",ariaLabel:u}):null;return Lg(x8,{mode:e,onMode:l,number:x,changed:r,detail:n,fullClosed:s,onReset:d,hint:f?i(f):void 0,labelId:m,words:{label:u,full:Of("full"),content:Of("content")},resetWords:re()?.panel})}import{jsx as rO}from"react/jsx-runtime";import{TextStyleItem as RV,TextStylesGroup as LV}from"efficient-easel/text-styles";import{jsx as kV}from"react/jsx-runtime";import{useState as TV}from"react";import{TextStylesList as PV}from"efficient-easel/text-styles";import{usePreviewDevice as EV}from"efficient-easel/draw/client";import{defaultTextStyles as UE,textStyleCaseCss as xV,textStyleViewKey as gV}from"efficient-easel/text-styles/model";import{phoneKey as IV,resolveViewValue as jE,tabletKey as bV}from"efficient-easel/draw";import{VIEW_DESKTOP_MIN as b8,VIEW_TABLET_MIN as SE}from"efficient-easel/draw";var wE=.02,_f=`(min-width: ${SE}px) and (max-width: ${b8-wE}px)`,Qn=`(max-width: ${SE-wE}px)`;import{textStyleCaseCss as S8,textStyleCaseOfCss as w8}from"efficient-easel/draw";var Af="data-sf-spec-region";function CE(e){return e.writable===!0&&e.sized===!0}function Rf(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 es(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 Fg(e){return`@${e}`}function Ml(e,o){if(!o.startsWith("@"))return null;let t=o.slice(1);return t in e?t:null}function y8(e,o){return o&&o in e?o:null}function os(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function ts(e,o){return os(e?.[o])??{}}function Lf(e,o,t){let a=ts(e,o);return Object.hasOwn(a,t)?os(a[t])??{}:{}}function Ff(e,o,t,a){let{[t]:r,...n}=ts(e,o),s=a?{...n,[t]:a}:n,{[o]:l,...c}=e;return Object.keys(s).length?{...c,[o]:s}:c}var Hg="_partStyles",Wg="data-sf-part-styled",as="data-sf-text-style",C8=/^(heading|body)-[1-7]$/;function Wr(e){return typeof e=="string"&&C8.test(e)}var Bf={heading:"heading-1",heading2:"heading-2",heading3:"heading-3",body:"body-1",label:"body-5"};function v8(e){if(!e)return null;for(let[o,t]of Object.entries(Bf))if(t===e)return o;return null}function $g(e){if(Wr(e.textStyle))return e.textStyle;let o=Zt(e.role);return o?Bf[o]:void 0}var k8=[400,500,600,700],Wl=["left","center","right","justify"],Bg=5,Dg=1e3,T8=-5,P8=10,zg=0,Gg=64,Ug=2,vE={size:{min:Bg,max:Dg,step:1},sizeTablet:{min:Bg,max:Dg,step:1},sizePhone:{min:Bg,max:Dg,step:1},padding:{min:zg,max:Gg,step:Ug}},E8=.05,O8=.01,_8=["line","letter"],A8=.5,R8=2.5,L8=-1,F8=1,B8=0,D8=400,N8=[...new Set(Object.values(bn))];function _E(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 dTe(e){return ts(e,Hg)}function $l(e,o){return Lf(e,Hg,o)}function AE(e,o,t){return Ff(e,Hg,o,M8(t).length?t:null)}function M8(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function H8(e){return _8.includes(e)}var Hl=(e,o,t)=>Math.min(t,Math.max(o,e));function W8(e,o){if(H8(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:Hl(t,T8,P8)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?rs(Hl(t,A8,R8),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?rs(Hl(t,L8,F8),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:Hl(t,B8,D8)}if(Object.hasOwn(vE,e)){let{min:t,max:a}=vE[e],r=Math.round(Number(o));return Number.isFinite(r)?Hl(r,t,a):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"||e==="fontRole"?Zt(o)?o:null:e==="sizeToken"?jg(o)?o:null:e==="textStyle"?Wr(o)?o:null:e==="alignPhone"||e==="alignTablet"?Wl.includes(o)?o:null:o}var $8=["weight","size","sizeTablet","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding"];function ns(e){let o=null,t=a=>{o??={...e},delete o[a]};for(let a of $8){let r=e[a];r!==void 0&&!(typeof r=="number"&&Number.isFinite(r))&&t(a)}return e.align!==void 0&&!Wl.includes(e.align)&&t("align"),e.alignTablet!==void 0&&!Wl.includes(e.alignTablet)&&t("alignTablet"),e.alignPhone!==void 0&&!Wl.includes(e.alignPhone)&&t("alignPhone"),e.textStyle!==void 0&&!Wr(e.textStyle)&&t("textStyle"),e.sizeToken!==void 0&&!jg(e.sizeToken)&&t("sizeToken"),e.fontRole!==void 0&&!Zt(e.fontRole)&&t("fontRole"),o??e}function jg(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"&&N8.includes(c);return l(o)&&s(t)&&(a===void 0||l(a))&&(r===void 0||s(r))&&(n===void 0||z8(n,t))}function z8(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 Kg(e){return e?.pxPhone&&jg(e)?{step:e.stepPhone??e.step,px:e.pxPhone}:null}function RE({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 G8=[["font","role"],["font","fontRole"],["role","textStyle"],["line","lineHeight"],["letter","letterSpacing"]];function U8(e){let o=[];for(let[t,a]of G8)t===e?o.push(a):a===e&&o.push(t);return o}function pa(e,o,t,a){let r={...$l(e,o)},n=a==null?null:W8(t,a);if(n===null)delete r[t];else{r[t]=n;for(let s of U8(t))delete r[s]}return AE(e,o,r)}function LE(e,o){return AE(e,o,{})}function j8(e){return w8(e)??"none"}function K8(e){return S8(e)??""}var kE={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 V8(e,o){return Zt(e.role)||(o?.blockDrawsStyle?null:v8(e.textStyle))}function FE(e,o){return e==="Text"&&o==="text"}var q8={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 Y8(e){let o=bn[e],t=q8[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function zl(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=rs(X8+e.line*E8,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=rs(e.letter*O8,4)),o}var X8=1,Hr="--sf-part-para";function Z8(e){e=ns(e);let o={};if(typeof e.sizePhone=="number"&&e.sizePhone>0)o.fontSize=`${e.sizePhone}px`;else{let a=Kg(e.sizeToken);if(a)o.fontSize=RE(a);else{let r=Nf(e);r!==void 0&&(o.fontSize=`${r}px`)}}let t=e.alignPhone??Df(e);return t&&(o.textAlign=t),o}function Df(e){return e.alignTablet&&e.alignTablet!==e.align?e.alignTablet:void 0}function Nf(e){let o=zo("textSize",e.size,e.sizeTablet,void 0).tablet;return o&&o>0?o:void 0}function J8(e){let o=ns(e),t={},a=Nf(o);a!==void 0&&(t.fontSize=`${a}px`);let r=Df(o);return r&&(t.textAlign=r),t}function BE(e,o){if(o==="desktop")return;let t=ns(e);return(o==="mobile"?Df(t):void 0)??t.align}function Q8(e,o){if(o==="desktop")return e;let t=ns(e),a=Nf(t),r=Df(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=Kg(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 Vg(e,o,t){return Yg(Q8(e,o),Mf,t)}function qg(e){return e==="mobile"?"sizePhone":e==="tablet"?"sizeTablet":"size"}function DE(e,o){if(o==="desktop")return null;let t=ns(e);if(o==="mobile"){if(Kg(t.sizeToken))return null;let a=Nf(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 NE(e,o){let t=qg(o);if(!Object.hasOwn(e,t))return e;let a={...e};return delete a[t],a}function fTe(e,o,t){let a=Vg(NE(e,o),o,t);return{fontFamily:a.fontFamily,fontSize:a.fontSize}}function Yg(e,o,t){e=ns(e);let a=V8(e,t),r=zl(e),n=e.size?`${e.size}px`:e.sizeToken?RE(e.sizeToken):a?Y8(a):"";return{fontFamily:e.font?aV(e.font):e.fontRole?`var(${kE[e.fontRole]})`:a?`var(${kE[a]})`:"",fontWeight:e.weight?String(e.weight):"",fontSize:n,minWidth:n?"0":"",overflowWrap:n?"break-word":"",lineHeight:r.lineHeight!==void 0?String(r.lineHeight):"",letterSpacing:r.letterSpacingEm!==void 0?`${r.letterSpacingEm}em`:"",[Hr]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:K8(e.case),textAlign:e.align??"",paddingTop:TE(e.padding),paddingBottom:TE(e.padding),color:eV(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var eV=e=>Ln(e),TE=e=>e===void 0?"":`${e}px`,rs=(e,o)=>Number(e.toFixed(o));function uTe(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:oV(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(a)?rs(a/t,3):1.2,letterEm:Number.isFinite(r)?rs(r/t,4):0,align:tV(e.textAlign),case:j8(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0}}function oV(e){return Number.isFinite(e)?k8.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function tV(e){for(let o of Wl)if(o===e)return o;return e==="end"?"right":"left"}function pTe(e,o){let t=PE(e);if(!t)return"";for(let a of pt)if(PE(o(a.cssVar))===t)return a.key;return""}var PE=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function aV(e){let o=In(e);return o?`var(${o.cssVar})`:""}function mTe(e,o,t,a){return!o||rg(o)?.nodeId!==e?null:t.find(r=>a(r.getAttribute("class")))??t[0]??null}function rV(e,o){return Object.hasOwn(e,o)?os(e[o])??{}:{}}function hTe(e,o,t=()=>Mf,a=l=>l,r=lV,n="desktop",s=()=>!1){let l=0;for(let{element:c,partId:d}of e){let f=rg(d)?.propKey;if(!f)continue;let m=rV(o,a(f)),u=Vg(m,n,{blockDrawsStyle:s(f)});Wr(m.textStyle)?c.setAttribute?.(as,m.textStyle):c.removeAttribute?.(as);let x=Ng.some(I=>c.style[I]),g=!1;for(let[I,k]of Object.entries(u))dV(c,I,k),k&&(g=!0);if(x||Ng.some(I=>u[I]))for(let I of nV(c,r))for(let k of Ng)I.style[k]=u[k]??"";g&&(l+=1)}return l}function nV(e,o){let t=Xn(e.textContent??""),a=[],r=e;for(let n=0;n<sV&&o(r);n+=1){let s=r.parentElement;if(!s||Xn(s.textContent??"")!==t)break;a.push(s),r=s}return a}var sV=8;function lV(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var Mf={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0};function iV(e){if(!e||typeof e!="object")return null;let o={};return Wr(e.textStyle)&&(o.textStyle=e.textStyle),typeof e.size=="number"&&e.size>0&&(o.size=e.size),typeof e.sizeTablet=="number"&&e.sizeTablet>0&&(o.sizeTablet=e.sizeTablet),typeof e.sizePhone=="number"&&e.sizePhone>0&&(o.sizePhone=e.sizePhone),Object.keys(o).length?o:null}function cV(e,o){let t=iV(e);if(!t)return{};let a=Vg(t,o);return{...a.fontFamily?{fontFamily:a.fontFamily}:{},...a.fontSize?{fontSize:a.fontSize}:{}}}function ME(e){return Wr(e?.textStyle)||!!e?.role||typeof e?.size=="number"&&e.size>0}function xTe(e,o,t){if(!e||typeof e!="object")return{};let a=Rf(e.role,o,bn)??{},r=o.sized?cV(NE(e,t),t):{};return{...a,...r}}function gTe(e,o,t){t.fontFamily&&e.fontFamily===t.fontFamily&&(e.fontFamily=o.fontFamily),t.fontSize&&e.fontSize===t.fontSize&&(e.fontSize=o.fontSize)}function dV(e,o,t){if(!o.startsWith("--")){e.style[o]=t;return}let a=e.style;typeof a.setProperty=="function"?t?a.setProperty(o,t):a.removeProperty?.(o):a[o]=t;let r=e;o===Hr&&(t?r.setAttribute?.(EE,""):r.removeAttribute?.(EE))}var EE="data-sf-part-para",fV=Object.keys(Yg({},Mf)),Mg=new Set(["color","overflowWrap",Hr,"fontStyle"]),Ng=fV.filter(e=>!Mg.has(e));function HE(e,o,t,a=l=>l,r=()=>!1,n=()=>null,s=[]){let l=new Map;for(let m of e){let u=Yn(m.key,m.row);for(let x of m.texts){let g=l.get(x);g?(g.keys.add(m.key),g.partKeys.add(u)):l.set(x,{keys:new Set([m.key]),partKeys:new Set([u])})}}let c=new Map;for(let m of new Set([...Object.keys(o),...s])){if(!uV(m))continue;let u=OE(t,m,os(o[m])??{},!1,n(m));u&&c.set(m,u)}let d=m=>{let u=a(m),x=n(u);if(!Object.hasOwn(o,u)&&!x)return null;let g=os(o[u])??{};return OE(t,m,g,r(m),x)},f=new Map;for(let[m,{keys:u,partKeys:x}]of l){let g=x.size===1?[...x][0]:u.size===1?[...u][0]:null;if(!g)continue;let I=d(g);I&&f.set(m,I)}for(let m of e){if(!m.keyed)continue;let u=d(Yn(m.key,m.row));u&&c.set(m.key,u)}return f.size||c.size?{rules:f,kindRules:c,drawn:new Set(l.keys())}:null}function OE(e,o,t,a,r){let n=Yg(t,Mf,{blockDrawsStyle:a}),s=J8(t),l=Z8(t),c=Wr(t.textStyle)?t.textStyle:void 0;return!Object.values(n).some(Boolean)&&!Object.keys(s).length&&!Object.keys(l).length&&!c&&!r?null:{stamp:pV(e,o),declarations:n,...Object.keys(s).length?{tablet:s}:{},...Object.keys(l).length?{phone:l}:{},...c?{textStyle:c}:{},...r?{motion:r}:{}}}function uV(e){return e.startsWith("@")}function Xg(e,o){return e?.kindRules.get(o)??null}function pV(e,o){let t=a=>a.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function WE(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(([,g])=>g!==""),c=g=>g.map(([I,k])=>`${mV(I)}: ${k}`).join("; "),d=`[${Wg}="${n}"]`,f=l.filter(([g])=>!Mg.has(g)),m=l.filter(([g])=>Mg.has(g));f.length&&o.push(`${d}, *:has(> ${d}) { ${c(f)} }`),m.length&&o.push(`${d} { ${c(m)} }`),s[Hr]&&(o.push(`*:has(> ${d}) { ${Hr}: ${s[Hr]} }`),o.push(...Hf(d,`*:has(> ${d})`)));let u=Object.entries(r.tablet??{}).filter(([,g])=>g!=="");u.length&&o.push(`@media ${_f} { ${d}, *:has(> ${d}) { ${c(u)} } }`);let x=Object.entries(r.phone??{}).filter(([,g])=>g!=="");x.length&&o.push(`@media ${Qn} { ${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(`
60
- `)}function Hf(e,o){let t=`var(${Hr})`,a=":is([data-sf-bullet], [data-sf-number])";return[`${e} br:not(br + br) { display: block; content: ""; margin-top: ${t} }`,`${e} ${a}:not(:first-child) { margin-top: ${t} }`,`${e} ${a}:not(:last-child) { margin-bottom: ${t} }`,`:is(${o}) + :is(${o}) { margin-top: ${t} }`]}var mV=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function $E(e,o){if(!e)return null;let t=Xn(o),a=e.rules.get(t);if(a)return a;if(t.length<hV||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 hV=8;function zE(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 Zg=e=>e==="sentence"?"none":void 0,KE=["font","color","size","sizeTablet","sizePhone","weight","italic","lineHeight","lineHeightTablet","lineHeightPhone","letterSpacing","letterSpacingTablet","letterSpacingPhone","paragraphSpacing","paragraphSpacingTablet","paragraphSpacingPhone","letterCase","largestSize","largestSizeTablet","largestSizePhone"],ss=["desktop","tablet","phone"],Gl=(e,o)=>o==="desktop"?e:o==="tablet"?bV(e):IV(e),$r=(e,o)=>o==="desktop"?e:gV(e,o);function eI(e,o,t,a=xr()){return jE("textSize",o,e.sizeTablet,e.sizePhone,a)[t]}var yV=[["lineSpacing","lineHeight","line"],["letterSpacing","letterSpacing","letter"]];function Jg(e){for(let[o,t,a]of yV)for(let r of ss)if(e===$r(o,r))return{key:Gl(t,r),view:r,spacing:a};return{key:e,view:"desktop",spacing:null}}function jt(e){let o={};for(let t of KE)e[t]!==void 0&&(o[t]=e[t]);return o}function oI(e,o){let{auto:t,...a}=e,r=new Set(o??[]),n=KE.filter(s=>r.has(s)&&e.values[s]===void 0);return n.length?{...a,auto:n}:a}function VE(e){let o=e.fonts,t=e.sizes,a=e.typography,r=US(e.compression),n={"heading-1":{font:ee(o.heading),size:j(t.headingLarge),weight:j(a.weight),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:Zg(a.case),largestSize:j(a.maxPx)},"heading-2":{font:ee(o.heading2),size:j(t.headingMedium),weight:j(a.weight2),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:Zg(a.case2)},"heading-3":{font:ee(o.heading3),size:j(t.headingSmall),weight:j(a.weight3),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:Zg(a.case3)},"body-1":{font:ee(o.body),size:j(t.body)},"body-5":{font:ee(o.label),size:j(t.label)}};return UE().map(({id:s,kind:l,name:c})=>({id:s,kind:l,name:c,values:jt(n[s]??{})}))}function tI(e){return Array.isArray(e)&&e.every(o=>o&&typeof o=="object"&&typeof o.id=="string"&&(o.kind==="heading"||o.kind==="body")&&typeof o.name=="string")?e.map(o=>oI({...o,values:jt(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function _Te(e){return tI(e)??[]}function qE(e){return tI(e)??UE().map(({id:o,kind:t,name:a})=>({id:o,kind:t,name:a,values:{}}))}function ma(e,o){let t=VE(o),a=tI(e);return a?a.map(r=>{let n={...Qg(t,r.id)};for(let s of r.auto??[])delete n[s];return{...r,values:jt({...n,...r.values})}}):t}var Qg=(e,o)=>e.find(t=>t.id===o)?.values??{},GE=["heading-1","heading-2","heading-3"];function YE({saved:e,old:o,cur:t,next:a,sizeOf:r,panelView:n="desktop"}){let s=VE(o),l=qE(e),c=ma(l,o),d=[],f=a.map(u=>{let x=t.find(P=>P.id===u.id),g=l.find(P=>P.id===u.id);if(!x||!g){let P=SV([u],r,n)[0],F=P.values.color;return F===void 0?P:{...P,values:{...P.values,color:Uo(F)}}}let I={...g.values},k=new Set(g.auto??[]),C=u.values,w=x.values,b=[...new Set([...Object.keys(C),...Object.keys(w)])].filter(P=>JSON.stringify(C[P])!==JSON.stringify(w[P])),v=P=>Jg(P).spacing==="letter";b.sort((P,F)=>Number(v(P))-Number(v(F)));for(let P of b){let{key:F,view:T,spacing:D}=Jg(P),O=F,R=C[P];if(R===void 0){delete I[O],Qg(s,u.id)[O]!==void 0&&(d.push([u.id,O]),k.add(O));continue}if(k.delete(O),D==="line")I[O]=ls(R/100,3);else if(D==="letter"){let N={...c.find(L=>L.id===u.id)?.values??{}};for(let L of b)C[L]===void 0&&delete N[Jg(L).key];let y=jt({...N,...I}),A=eI(y,r({...u,values:y}),T);I[O]=A?ls(R/A,4):0}else I[O]=R}return oI({id:u.id,kind:u.kind,name:u.name,values:jt(I)},k)}),m=o.compression;if(d.some(([u,x])=>(x==="lineHeight"||x==="letterSpacing")&&GE.includes(u))&&cr(m)!=="normal"){for(let u of GE){let x=f.find(I=>I.id===u);if(!x)continue;let g={...x.values};for(let I of["lineHeight","letterSpacing"])d.some(([k,C])=>k===u&&C===I)||g[I]===void 0&&!(x.auto??[]).includes(I)&&(g[I]=Qg(s,u)[I]);x.values=jt(g)}m="normal"}return{saved:f,old:{...o,compression:m}}}function XE(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=cr(e.old.compression)),t}var ls=(e,o)=>Number(e.toFixed(o)),ZE=(e,o)=>ss.indexOf(e)<ss.indexOf(o)?o:e;function JE(e,o,t="desktop"){return e.map(a=>{let r={...a.values},n=o(a);for(let s of ss){let l=Gl("lineHeight",s),c=a.values[l],d=a.values[Gl("letterSpacing",s)];delete r[l],c!==void 0&&(r[$r("lineSpacing",s)]=ls(c*100,1));let f=ZE(s,t);d!==void 0&&(r[$r("letterSpacing",s)]=ls(d*eI(a.values,n,f),f===s?2:4))}return{id:a.id,kind:a.kind,name:a.name,values:r}})}function SV(e,o,t="desktop"){return e.map(a=>{let r=a.values,n={...r};for(let d of ss)delete n[$r("lineSpacing",d)],delete n[$r("letterSpacing",d)];let s={id:a.id,kind:a.kind,name:a.name,values:jt(n)},l={...s.values},c=o({...s,values:{...s.values}});for(let d of ss){let f=r[$r("lineSpacing",d)],m=r[$r("letterSpacing",d)];if(typeof f=="number"&&(l[Gl("lineHeight",d)]=ls(f/100,3)),typeof m=="number"){let u=eI(s.values,c,ZE(d,t));l[Gl("letterSpacing",d)]=u?ls(m/u,4):0}}return{...s,values:jt(l)}})}function ATe(e){let o={fonts:$s({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:tm({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:cr(e.heading_compression),typography:KS(e)},t=e.text_styles??null,a=Array.isArray(t)?aI(ma(t,o),o):o;return{fonts:$s(a.fonts),sizes:tm(a.sizes),compression:cr(a.compression),typography:a.typography,textStyles:t}}function aI(e,o){let t=u=>e.find(x=>x.id===u)?.values??{},a=t("heading-1"),r=t("heading-2"),n=t("heading-3"),s=t("body-1"),l=t("body-5"),c=o.fonts,d=o.sizes,f=o.typography,m=u=>u==="none"?"sentence":"authored";return{fonts:{...c,heading:a.font??c.heading,heading2:r.font??a.font??c.heading2,heading3:n.font??a.font??c.heading3,body:s.font??c.body,label:l.font??c.label},sizes:{...d,headingLarge:a.size??null,headingMedium:r.size??null,headingSmall:n.size??null,body:s.size??null,label:l.size??null},compression:o.compression,typography:{...f,case:m(a.letterCase),weight:a.weight??null,maxPx:a.largestSize??null,weight2:r.weight??null,weight3:n.weight??null,case2:m(r.letterCase),case3:m(n.letterCase)}}}function RTe(e){let o=[];for(let t of e){let a=t.values,r=`.${zE(t)}`,n=`[${as}="${t.id}"]`,s=`${r}, ${n}`,l=[],c=a.font!==void 0?pt.find(u=>u.key===a.font)?.cssVar:void 0;if(c&&l.push(`font-family: var(${c})`),a.size!==void 0){let u=a.largestSize!==void 0?Math.min(a.size,a.largestSize):a.size;l.push(`font-size: ${u}px`)}let d=Ln(a.color);d&&l.push(`color: ${d}`),a.italic===!0&&l.push("font-style: italic"),a.weight!==void 0&&l.push(`font-weight: ${a.weight}`);let f=[];a.lineHeight!==void 0&&f.push(`line-height: ${a.lineHeight}`),a.letterSpacing!==void 0&&f.push(`letter-spacing: ${a.letterSpacing}em`),t.kind==="body"&&l.push(...f);let m=xV(a.letterCase);m&&t.kind==="body"&&l.push(`text-transform: ${m}`),a.paragraphSpacing&&l.push(`--sf-part-para: ${a.paragraphSpacing}px`),l.length&&o.push(`${s} { ${l.join("; ")} }`),t.kind==="heading"&&f.length&&o.push(`${s}, ${r}:is(h1, h2, h3, h4), ${n}:is(h1, h2, h3, h4) { ${f.join("; ")} }`),t.kind==="heading"&&m&&o.push(`${n}, ${r}:is(h1, h2, h3, h4) { text-transform: ${m} }`),a.paragraphSpacing&&(o.push(`*:has(> ${n}) { --sf-part-para: ${a.paragraphSpacing}px }`),o.push(...Hf(`:is(${s})`,`*:has(> ${n})`))),o.push(...wV(t,s,r,n))}return o.join(`
61
- `)}function wV(e,o,t,a){let r=e.values,n=zo("textSize",r.size,r.sizeTablet,r.sizePhone),s=zo("textSize",r.largestSize,r.largestSizeTablet,r.largestSizePhone),l=zo("same",r.lineHeight,r.lineHeightTablet,r.lineHeightPhone),c=zo("same",r.letterSpacing,r.letterSpacingTablet,r.letterSpacingPhone),d=zo("spacing",r.paragraphSpacing,r.paragraphSpacingTablet,r.paragraphSpacingPhone),f=jE("textSize",r.size,r.sizeTablet,r.sizePhone,xr()),m=CV[e.id],u=[];for(let[x,g]of[["tablet",_f],["phone",Qn]]){let I=[],k=[],C=f[x],w=s[x],b=n[x]===void 0&&w===void 0||C===void 0?void 0:w===void 0?C:Math.min(C,w);b!==void 0&&k.push(`font-size: ${b}px`);let v=[];l[x]!==void 0&&v.push(`line-height: ${l[x]}`),c[x]!==void 0&&v.push(`letter-spacing: ${c[x]}em`),e.kind==="body"&&k.push(...v),d[x]!==void 0&&k.push(`--sf-part-para: ${d[x]}px`),k.length&&I.push(`${o} { ${k.join("; ")} }`),e.kind==="heading"&&v.length&&I.push(`${o}, ${t}:is(h1, h2, h3, h4), ${a}:is(h1, h2, h3, h4) { ${v.join("; ")} }`),d[x]!==void 0&&I.push(`*:has(> ${a}) { --sf-part-para: ${d[x]}px }`),d[x]!==void 0&&!r.paragraphSpacing&&I.push(...Hf(`:is(${o})`,`*:has(> ${a})`)),b!==void 0&&m&&I.push(`.sf-themed-content { --size-${m}: ${b}px !important }`),I.length&&u.push(`@media ${g} { ${I.join(" ")} }`)}return u}var CV={"heading-1":"headingLarge","heading-2":"headingMedium","heading-3":"headingSmall","body-1":"body","body-5":"label"};function LTe(e){return e!==!0&&e!==!1?"":`em.text-accent { font-style: ${e?"italic":"normal"} }`}function QE(e){return e?Bf[e]:void 0}function rI(e){let o=zl(e);return jt({font:e.font,color:e.color===void 0?void 0:Uo(e.color),size:e.size,weight:e.weight,italic:e.italic,lineHeight:o.lineHeight,letterSpacing:o.letterSpacingEm,paragraphSpacing:e.paragraphSpacing,letterCase:e.case})}function eO(e){return Object.keys(rI(e)).length>0}function oO({saved:e,old:o,styleId:t,values:a}){let r=qE(e);return{saved:vV(r,t,a),old:o}}function vV(e,o,t){return e.map(a=>a.id===o?oI({...a,values:jt({...a.values,...t})},a.auto):a)}var OV={desktop:"desktop",tablet:"tablet",mobile:"phone"},tO=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],_V=["size","lineSpacing","letterSpacing","letterCase"],AV=500,nI=pt.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function aO({saved:e,old:o,colours:t,colourNameOf:a,sizeOf:r,onChange:n,openId:s,onOpenChange:l,readOnly:c=!1,withoutSize:d=!1}){let f=EV(),[m,u]=TV(null),x=ma(e,o),g=OV[f],I=JE(x,r,g);return kV(PV,{styles:I,onChange:k=>n(YE({saved:e,old:o,cur:I,next:k,sizeOf:r,panelView:g})),fonts:nI,colours:t,colourNameOf:a,settings:d?tO.filter(k=>k!=="size"):tO,auto:_V,openId:s===void 0?m:s,onOpenChange:l??u,readOnly:c,device:g,fallback:k=>{let C=x.find(b=>b.id===(k.kind==="heading"?"heading-1":"body-1")),w={};return C?.values.font&&k.id!==C.id&&(w.font=C.values.font),k.kind==="heading"&&(w.weight=AV),w}})}var nO=["font","size","weight","emphasis"],FV=500;function BV({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 DV(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 sO(e){let{headingWeight:o,open:t,onOpenChange:a,onChange:r,withoutSize:n=!1}=e,s=BV(e);return rO(LV,{label:i("Emphasis"),children:rO(RV,{style:s,fonts:nI,settings:n?nO.filter(l=>l!=="size"):nO,auto:["size"],fallback:()=>({weight:o??FV}),open:t,onOpenChange:a,onChange:l=>DV(s,l).forEach(r)})})}import{EmptyState as l7,SliderGroup as i7,Tabs as c7,Tooltip as o0e,tabButtonId as d7,tabPanelId as f7}from"efficient-shell/ui";import{ContrastIcon as u7,SettingsIcon as p7,TypeIcon as m7}from"efficient-easel/icons";function lO(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 cI}from"react/jsx-runtime";import{ListIcon as YV,PaddingTopIcon as XV}from"efficient-easel/icons";import{jsx as Wf}from"react/jsx-runtime";import{SettingsDefaultReset as NV,SettingsField as MV,SettingsSegmented as HV}from"efficient-easel/panel";import{WidthIcon as WV}from"efficient-easel/icons";function iO({value:e,resolved:o,onChange:t,label:a="Width",labelId:r,followsLabel:n,hint:s}){let l=e===void 0,c=l?o:e,d=i(a);return Wf(MV,{label:d,labelId:r,icon:Wf(WV,{}),value:l?n:void 0,changed:!l,action:Wf(NV,{words:re()?.panel,label:d,changed:!l,onReset:()=>t(void 0)}),hint:s,children:Wf(HV,{options:[{label:i(Lr.full),id:"full"},{label:i(Lr.page),id:"content"}],value:c,ariaLabel:d,onChange:t})})}import{HEADER_TYPE as sI,FOOTER_TYPE as $V}from"efficient-easel/draw";var zV=new Set(["Hero","HeroSingle","IntroBleed"]),cO={min:56,max:140,default:88},tPe={min:0,max:120,step:2,default:32},aPe=`var(--sf-header-h, ${cO.default}px)`,GV="--sf-header-set-h",rPe="--sf-header-h",nPe=`var(${GV}, ${cO.default}px)`,sPe="sf-header-clearance",lPe="sf-sticky-underheader";function UV(e){return e?.find(o=>o?.type&&o.type!==sI)??null}function dO(e){let o=UV(e)?.type;return!o||!zV.has(o)}function iPe(e){return!dO(e)}function cPe(e){return!!e?.some(o=>o?.type===sI)}function dPe(e){return!e||e.length===0?!1:!e.some(o=>o?.type===sI||o?.type===$V)}var jV=["auto","shared","own"],lI="auto",KV="topSpace",fPe="data-top-space";function VV(e){return jV.includes(e)?e:lI}function qV(e,o){let t=VV(e?.props?.[KV]);return t==="own"?!0:t==="shared"?!1:dO(o)}function uPe(e,o){return qV(e,o)?"own":null}function ZV(){return{type:"custom",render:({value:e,onChange:o})=>cI(iO,{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 JV=[{label:"Auto",value:"auto"},{label:"Shared",value:"shared"},{label:"Its own",value:"own"}],CPe={pageBackground:l0(),topSpace:sa("Top space",cI(XV,{}),JV,lI),widthChoice:ZV()},Ul=["pageBackground","topSpace","widthChoice"],QV="Record type",iI=new Map,fO=-1;function e7(e){fO!==dh()&&(iI.clear(),fO=dh());let o=ch(),t=o.some(r=>r.key===e)?"":e,a=iI.get(t);return a||(a=sa(QV,cI(YV,{}),[...o.map(r=>({label:r.label,value:r.key})),...t?[{label:t,value:t}]:[]],Ra),iI.set(t,a)),a}var uO=new WeakMap;function vPe(e,o){if(!sl()||ch().length<2||$c in e)return e;let t=e7(nl(o)),a=uO.get(e);if(a&&a.row===t)return a.fields;let r={[$c]:t,...e};return uO.set(e,{row:t,fields:r}),r}import{previewFrame as h7}from"efficient-easel/screen/lib/document/preview-dom";var pO="background";function mO(e){let o=Lo(yn(e));return Fn({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 hO(e){return mO(e).filter(o=>o.key!==pO)}function xO(e){let o=mO(e).filter(t=>t.key===pO);return t=>{let a=Uo(t);return o.find(r=>r.key===a)?.value??a}}import{useEasel as o7}from"efficient-easel/easel";function $f({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=o7(T=>T),{fonts:r,setFonts:n,sizes:s,setSizes:l,headingCompression:c,setHeadingCompression:d,headingTypography:f,setHeadingTypography:m,textStyles:u,setTextStyles:x}=xe(),g=t.data,I=g.root?.props??{},k=e?$s(I.fonts):r,C=e?MS:s,w=e?cr(I.headingCompression):c,b=e?jS(I.headingTypography):f,v={fonts:k,sizes:C,compression:w,typography:b},P=e?I.textStyles:u,F=T=>a({type:"replaceRoot",root:{...g.root,props:{...I,...T}},recordHistory:!0});return{fonts:k,sizes:C,compression:w,typography:b,old:v,saved:P,write:(T,D)=>{let O=aI(ma(T.saved,T.old),T.old);e?F({textStyles:T.saved,fonts:O.fonts,headingCompression:O.compression,headingTypography:O.typography}):(x(T.saved),n(O.fonts),l(O.sizes),d(O.compression),m(O.typography)),o(XE(T,v),D)},writeRoot:F}}var fI="sf-site-styles",x7="sf-site-styles-tabpanel",bO="text",ds="basics",gO="this-page-group",is=[{id:ds,label:"Basics",icon:be(p7,{})},{id:"theme",label:"Theme",icon:be(u7,{})},{id:"text",label:"Text",icon:be(m7,{})}];function g7({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=IO(d=>d),{theme:r,setTheme:n}=xe(),s=t.data,l=s.root?.props??{},c=d=>{if(e){let f={...l,theme:d};a({type:"replaceRoot",root:{...s.root,props:f},recordHistory:!0})}else n(d);o({selected_preset:d.selected,theme_presets:d.themes})};return be(q0,{value:e?l.theme:r,onChange:c})}function I7({themeFromDocument:e,persist:o}){let[t,a]=uI(null),{theme:r,setFonts:n,setSizes:s,setHeadingTypography:l}=xe(),c=$f({themeFromDocument:e,persist:o}),{old:d,saved:f,writeRoot:m}=c,u=c.fonts,x=c.sizes,g=c.typography,I=T=>T.values.size??w7(b7[T.id]??"body")??y7[T.kind],k=T=>c.write(T),C=hO(r),w=xO(r),b=T=>{let D={...u,accent:T};e?m({fonts:D}):n(D),o({accent_font:T})},v=T=>{s({...x,accent:T}),o({accent_size_px:T})},P=T=>{let D={...g,weightStrong:T};e?m({headingTypography:D}):l(D),o({heading_weight_strong:T})},F=T=>{let D={...g,italicStrong:T};e?m({headingTypography:D}):l(D),o({accent_italic:T})};return zr(cs,{children:[be(aO,{saved:f,old:d,colours:C,colourNameOf:w,sizeOf:I,onChange:k,openId:t===dI?null:t,onOpenChange:a,withoutSize:e}),be(sO,{font:u.accent,size:x.accent,weight:g.weightStrong,italic:g.italicStrong,headingWeight:g.weight,open:t===dI,onOpenChange:T=>a(T?dI:null),onChange:T=>{T.key==="font"?b(T.value):T.key==="size"?v(T.value):T.key==="weight"?P(T.value):F(T.value)},withoutSize:e})]})}var dI="accent",b7={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},y7={heading:32,body:14},S7={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 w7(e){if(typeof document>"u")return null;let o=(h7()?.contentDocument??document).querySelector(S7[e]);if(!o)return null;let t=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(t)?t:null}function C7({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=IO(m=>m),{cornerRadiusPx:r,setCornerRadiusPx:n}=xe(),s=t.data,l=s.root?.props??{},c=l.cornerRadiusPx===void 0?WS[HS(l.cornerStyle)]:Dt(l.cornerRadiusPx),d=e?c:r,f=m=>a({type:"replaceRoot",root:{...s.root,props:{...l,...m}},recordHistory:!0});return be(Y0,{value:d,onChange:m=>{e?f({cornerRadiusPx:m}):n(m),o({corner_radius_px:m})}})}function v7(e){return{site_width:e}}function k7({persist:e}){let{siteWidth:o,setSiteWidth:t,sectionBackgroundWidth:a,setSectionBackgroundWidth:r,sectionContentWidth:n,setSectionContentWidth:s}=xe();if(pI()!=="desktop")return null;let l=typeof o=="number"?o:mo.default,c=m=>{t(m),e(v7(m),m===null)},d=m=>{r(m),e({section_background_width:m},!0)},f=m=>{s(m),e({section_content_width:m},!0)};return zr(cs,{children:[be(bE,{value:a??"full",changed:a!==null,detail:i("Full width"),onChange:d,onReset:()=>d(null),hint:gE}),be(yE,{mode:n??"content",px:l,min:mo.min,max:mo.max,changed:typeof o=="number"||n!==null,detail:`${i("Content width")} ${mo.default}px`,onMode:f,onPx:m=>c(m),onReset:()=>{f(null),c(null)},hint:IE})]})}function T7(e){return{block_gap:e}}function P7(e){return{block_gap_phone:e}}function E7(e){return{site_gutter:e}}function O7(e){return{site_gutter_phone:e}}function yO(e,[o,t],a){o(e),a(t(e),e===null)}function _7({persist:e}){let{siteGutter:o,siteGutterPhone:t,setSiteGutter:a,setSiteGutterPhone:r}=xe(),n=hE(pI(),{gutter:o,phone:t});if(!n)return null;let s=n.key==="site_gutter_phone"?[r,O7]:[a,E7];return be(xE,{value:n.value,onChange:l=>yO(l,s,e),unsetPx:n.unsetPx,bounds:n.bounds})}function A7({persist:e}){let{blockGap:o,blockGapPhone:t,setBlockGap:a,setBlockGapPhone:r}=xe(),n=eE(pI(),{gap:o,phone:t});if(!n)return null;let s=n.key==="block_gap_phone"?[r,P7]:[a,T7];return be(oE,{value:n.value,onChange:l=>yO(l,s,e),followsPx:n.followsPx})}function R7({persist:e}){return zr(cs,{children:[be(k7,{persist:e}),be(_7,{persist:e}),be(A7,{persist:e})]})}function L7(e){return{card_shadow:e}}function F7(e){return e===null?{shadow_color:null}:{shadow_color:GS(e)}}function B7(e){return{hover_effect:e}}function D7({persist:e}){let{cardShadow:o,setCardShadow:t,shadowColor:a,setShadowColor:r,hoverEffect:n,setHoverEffect:s}=xe();return zr(cs,{children:[be(X0,{value:o,onChange:l=>{t(l),e(L7(l),!0)}}),be(J0,{value:a,onChange:l=>{r(l),e(F7(l),l===null)}}),be(dE,{value:n,onChange:l=>{s(l),e(B7(l),!0)}})]})}function N7(e){return{photography_grayscale:e}}function M7({persist:e}){let{photographyGrayscale:o,setPhotographyGrayscale:t}=xe();return be(uE,{value:o,onChange:a=>{t(a),e(N7(a),!0)}})}function H7({persist:e}){return be(cs,{children:be(M7,{persist:e})})}function W7(e){return{share_button_on_posts:e}}function $7({persist:e}){let{shareButtonOnPosts:o,setShareButtonOnPosts:t}=xe();return be(pE,{value:o,onChange:a=>{t(a),e(W7(a),!0)}})}function fs(){let{websiteName:e}=xe();return e?.trim()||ew}function zf({themeFromDocument:e=!1,tokenRef:o,siteId:t,onNotify:a,tab:r,onTabChange:n,initialTab:s,revealPageGroup:l=!1,onPageGroupRevealed:c}){let{persist:d}=Nn({themeFromDocument:e,tokenRef:o,siteId:t,onResult:k=>{let C=lO(k);C&&a?.(C.msg,C.tone)}}),[f,m]=uI(s??is[0].id),u=r!==void 0,x=u?r:f,g=u?n??(()=>{}):m,I=is.find(k=>k.id===x)??is[0];return zr(i7,{children:[be(U7,{activeId:I.id,onSelect:g}),zr("div",{id:f7(fI,I.id),className:x7,role:"tabpanel","aria-labelledby":d7(fI,I.id),children:[x===ds&&zr(cs,{children:[be(C7,{themeFromDocument:e,persist:d}),!e&&be(D7,{persist:d}),!e&&be(R7,{persist:d}),!e&&be(H7,{persist:d}),!e&&be($7,{persist:d}),be(z7,{reveal:l,onRevealed:c})]}),x==="theme"&&be(g7,{themeFromDocument:e,persist:d}),x==="text"&&be(I7,{themeFromDocument:e,persist:d})]})]})}function z7({reveal:e,onRevealed:o}){let[t,a]=uI(!0),r=s7(o);return r.current=o,n7(()=>{if(!e)return;a(!0);let n=requestAnimationFrame(()=>{document.getElementById(gO)?.scrollIntoView({block:"start"}),r.current?.()});return()=>cancelAnimationFrame(n)},[e]),be(r7,{title:i("This page"),open:t,onToggle:a,id:gO,children:be(G7,{})})}function G7(){let{fields:e,values:o,readOnly:t,onChange:a}=t7(),r=Object.fromEntries(Ul.filter(n=>n in e).map(n=>[n,e[n]]));return Object.keys(r).length===0?be(l7,{variant:"none",icon:!1,message:i("This page has no look of its own to set.")}):be(a7,{fields:r,values:o,onChange:a,readOnly:t,tabs:!1,idPrefix:"this-page",ariaLabel:i("This page")})}function U7({activeId:e,onSelect:o}){return be("div",{className:"es-insp-tabs",children:be(c7,{variant:"underline",block:!0,labelsFit:!0,"aria-label":i("Styles"),idPrefix:fI,value:e,onChange:o,items:is.map(t=>{let a=i(t.label);return{id:t.id,icon:t.icon,label:a}})})})}import{InspectorIconButton as eq}from"efficient-easel/chrome";import{Button as EO,Dialog as oq,FormField as tq,Input as OO,PopupMenu as aq,PopupMenuItem as _O,toast as AO}from"efficient-shell/ui";import{LayersTree as rq,TreeGroupLabel as nq,TreeRow as RO,TreeRowAction as Kf}from"efficient-easel/tree";import{AddIcon as sq,DuplicateIcon as lq,PageIcon as iq,SettingsIcon as cq}from"efficient-easel/icons";import{PagesIcon as dq}from"efficient-easel/rail";import{useEaselHost as fq}from"efficient-easel/screen/lib/host";import{useEaselSession as DO}from"efficient-easel/screen/lib/session-context";import{useCallback as Gf,useEffect as j7,useSyncExternalStore as K7}from"react";import{useScreenDocument as vO}from"efficient-easel/screen/components/ScreenDocumentContext";var SO=new WeakMap;function jl(e){let o=SO.get(e);return o||(o={rows:null,loading:null,listeners:new Set},SO.set(e,o)),o}function mI(e,o){e.rows=o;for(let t of e.listeners)t()}var Uf=new Set;function jf(e,o){o?Uf.add(e):Uf.delete(e)}function wO(e){let o=jl(e),t=e.listPages().then(a=>mI(o,Uf.size?a.filter(r=>!Uf.has(r.id)):a),()=>mI(o,[])).finally(()=>{o.loading===t&&(o.loading=null)});return o.loading=t,t}var CO=()=>null,V7=()=>()=>{};function Kl(){let{adapter:e,ready:o}=vO(),t=Gf(l=>{let{listeners:c}=jl(e);return c.add(l),()=>c.delete(l)},[e]),a=Gf(()=>jl(e).rows,[e]),r=K7(o?t:V7,o?a:CO,CO);j7(()=>{if(!o)return;let l=jl(e);l.rows===null&&!l.loading&&wO(e)},[e,o]);let n=Gf(()=>o?wO(e):Promise.resolve(),[e,o]),s=Gf(l=>mI(jl(e),l),[e]);return{rows:r,reload:n,setRows:s,getRows:a}}function q7(e,o){return e?.find(t=>t.slug===o)?.label?.trim()||`/${o}`}function kO(){let{currentSlug:e}=vO(),{rows:o}=Kl();return q7(o,e)}import{canDuplicatePage as uq,DuplicatePageDialog as pq,uniqueSlug as LO}from"efficient-easel/page-copy";var FO="sf-editor-pages-collapsed-groups";function mq(){let e=DO(),{siteId:o,templateId:t}=BO(),a=Ge(e).pages;if(!(!a.duplicate||t))return(r,n)=>a.duplicate(r.id,{...n,...o?{siteId:o}:{}})}function hq(){try{let e=Cn()||(typeof window>"u"?"":window.location.origin);return e?new URL(e).host:""}catch{return""}}function NO({onNavigate:e,onClose:o,activeSurface:t,onPreviewSurface:a}){let r=DO().chrome?.pageRows,n=fq(),{adapter:s,capabilities:l,ready:c,currentSlug:d}=BO(),f=fs(),{rows:m,reload:u,setRows:x,getRows:g}=Kl(),[I,k]=Ka(""),[C,w]=Ka(!1),[b,v]=Ka(null),[P,F]=Ka(!1),[T,D]=Ka(""),O=Z7(),R=mq(),[N,y]=Ka(null),[A,L]=Ka(()=>{if(typeof window>"u")return new Set;try{let H=window.localStorage.getItem(FO);return new Set(H?JSON.parse(H):[])}catch{return new Set}});X7(()=>{try{window.localStorage.setItem(FO,JSON.stringify([...A]))}catch{}},[A]);let M=H=>L(Le=>{let ne=new Set(Le);return ne.has(H)?ne.delete(H):ne.add(H),ne}),X=PO(()=>xv(m??[]),[m]),V=I.trim().toLowerCase(),U=H=>!V||H.toLowerCase().includes(V),ge=H=>V?!0:!A.has(H),te=PO(()=>new Set((m??[]).map(H=>H.slug)),[m]),Re=()=>{if(l.pageCreationInAdminForm){n.send("storefront-editor:new-page");return}D(""),v(null),F(!0)},We=async()=>{let H=T.trim();if(!(!H||!c||C||!s.createPage)){w(!0),v(null);try{let Le=await s.createPage({slug:LO(H,te),title:H,layout:{}});await u(),F(!1),D(""),e(Le.slug)}catch{v(i("Couldn\u2019t add the page \u2014 please retry."))}finally{w(!1)}}},Pe=l.hasSiteSettings&&!!s.createPage,Ie=async()=>{if(!(!c||C||!s.createPage)){w(!0),v(null);try{let H=await s.createPage(ST(i("New popup"),te));await u(),e(H.slug)}catch{v(i("Couldn\u2019t add the popup \u2014 please retry."))}finally{w(!1)}}},Ee=J7(null),[$e,oo]=Ka(null),yo=()=>{if(!Pe)return Re();if($e)return oo(null);let H=Ee.current?.getBoundingClientRect();H&&oo({top:H.bottom+6,right:Math.max(8,window.innerWidth-H.right)})},he=H=>{let Le=m??[],ne=s.deletePage;if(!c||C||!ne||Le.length<=1)return;let Fe=Le.findIndex(Xe=>Xe.id===H.id),_e=Le.filter(Xe=>Xe.id!==H.id),dt=H.slug===d;jf(H.id,!0),x(_e),v(null),dt&&_e[0]&&e(_e[0].slug);let Ft=()=>{jf(H.id,!1);let Xe=g()??[];if(Xe.some(Bt=>Bt.id===H.id))return;let ft=[...Xe];ft.splice(Math.max(0,Math.min(Fe,ft.length)),0,H),x(ft)};AO.undoable(i("Deleted \u201C{name}\u201D",{name:H.label}),{actionLabel:i("Undo"),commit:async Xe=>{await ne(H.id,Xe),jf(H.id,!1)},undo:()=>{Ft(),dt&&e(H.slug)},onFail:()=>{Ft(),AO.error(i("Couldn\u2019t delete the page \u2014 please retry."))}})},Ke=H=>n.send("storefront-editor:open-page",{slug:H}),Oe=H=>{if(!U(H.label))return null;let Le=!t&&H.slug===d,ne=l.canDeletePagesInline&&(m??[]).length>1,Fe=vr(H),_e=hv(H),dt=[...Fe?[{label:i("Dynamic"),tone:"info"}]:[],..._e?[{label:i("Lightbox"),tone:"success"}]:[],...H.draft?[{label:i("draft"),tone:"draft"}]:[]],Ft=dt.length>0?dt:void 0,Xe=!!R&&uq(H),ft=Xe||l.pageCreationInAdminForm||ne?Vl(TO,{children:[Xe&&we(Kf,{kind:"plain",label:i("Duplicate \u201C{name}\u201D",{name:H.label}),disabled:C,onClick:()=>y(H),children:we(lq,{size:13})}),l.pageCreationInAdminForm&&we(Kf,{kind:"plain",label:i("Page settings for \u201C{name}\u201D",{name:H.label}),onClick:()=>Ke(H.slug),children:we(cq,{size:13})}),ne&&we(Kf,{kind:"delete",label:i("Delete \u201C{name}\u201D",{name:H.label}),disabled:C,onClick:()=>he(H),children:we(hI,{name:"trash",size:13,strokeWidth:1.7,rounded:!0})})]}):void 0;return we(RO,{icon:we(iq,{size:14}),name:H.label,selected:Le,onSelect:()=>e(H.slug),badge:Ft,actions:ft,rowProps:{"data-page-slug":H.slug}},H.id)},ve=(H,Le,ne)=>{let Fe=ne.filter(Boolean);if(Fe.length===0)return null;let _e=ge(H);return Vl(Y7,{children:[we(nq,{count:Fe.length,countLabel:vo("{n} page","{n} pages",Fe.length),expanded:_e,onToggle:()=>M(H),children:Le}),_e&&Fe]},H)},Ye=(r?.rows??[]).filter(H=>U(H.label)).map(H=>{let Le=t===H.key;return we(RO,{icon:H.icon,name:H.label,selected:Le,onSelect:()=>a(H.key),badge:{label:i("Preview"),tone:"warning"},actions:we(Kf,{kind:"plain",label:i("Open the {name} in a new tab",{name:H.label}),onClick:()=>window.open(H.href,"_blank","noopener,noreferrer"),children:we(hI,{name:"external-link",size:13,strokeWidth:1.7,rounded:!0})}),rowProps:{"data-shop-surface":H.key}},H.key)}),Lt=l.hasSiteSettings&&!!r,Ro=(()=>{if(m===null)return null;let H=[],Le=!1;for(let ne of X){Lt&&!Le&&ne.key.startsWith("system:")&&(H.push(ve("shop",r.title,Ye)),Le=!0);let Fe=ne.key===ph||ne.label===uh?i(ne.label):ne.label;H.push(ve(ne.key,Fe,ne.rows.map(Oe)))}return Lt&&!Le&&H.push(ve("shop",r.title,Ye)),H})();return Vl("div",{className:"sf-pages",children:[we(Q7,{icon:we(dq,{}),title:i("Pages"),context:f,actions:we(eq,{buttonRef:Ee,label:Pe?i("Add"):i("New page"),hasPopup:Pe?"menu":void 0,expanded:Pe?$e!==null:void 0,onClick:yo,children:we(sq,{size:15})})}),$e&&we(aq,{portal:!0,style:{top:$e.top,right:$e.right},onClose:()=>oo(null),children:Vl("div",{role:"menu","aria-label":i("Add"),children:[we(_O,{role:"menuitem",onClick:()=>{oo(null),Re()},children:i("Page")}),we(_O,{role:"menuitem",disabled:C,onClick:()=>{oo(null),Ie()},children:i("Popup")})]})}),we("div",{className:"sf-pages-find",children:we(OO,{type:"search",leftIcon:we(hI,{name:"search",size:14,rounded:!0}),placeholder:i("Search all pages\u2026"),value:I,onChange:H=>k(H.target.value),"aria-label":i("Search all pages")})}),b&&!P&&we("div",{className:"sf-note sf-note--error",role:"alert",children:b}),Ro===null?we("div",{className:"sf-note",children:i("Loading\u2026")}):Ro.some(Boolean)?we(rq,{ariaLabel:i("Pages"),className:"sf-scroll",children:Ro}):we("div",{className:"sf-note",children:I.trim()?i("No pages match your search"):i("No pages yet. Add one with + above.")}),R&&N&&we(pq,{source:{title:N.label,slug:N.slug},taken:te,host:hq(),duplicate:H=>R(N,H),onClose:()=>y(null),onDuplicated:H=>{y(null),u(),e(H.slug)}},N.id),we(oq,{open:P,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:Vl(TO,{children:[we(EO,{variant:"secondary",onClick:()=>F(!1),children:i("Cancel")}),we(EO,{onClick:()=>{We()},disabled:C||!T.trim(),loading:C,children:i("Add page")})]}),children:we(tq,{label:i("Page name"),htmlFor:O,hint:T.trim()?i("URL: /{slug}",{slug:LO(T,te)}):void 0,error:b??void 0,children:we(OO,{id:O,value:T,invalid:!!b,onChange:H=>D(H.target.value),onKeyDown:H=>{H.key==="Enter"&&We()},placeholder:i("e.g. About")})})})]})}import{jsx as WO}from"react/jsx-runtime";import{createContext as gq,useCallback as Iq,useContext as bq,useMemo as yq,useState as Sq}from"react";import{CanvasChromeContext as wq}from"efficient-easel/easel";import{useSelectHandler as Cq}from"efficient-easel/draw/client";import{parseHexColor as xq}from"efficient-shell/format";var Vf=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],us=Vf[0];var Gr="right";function qf(e){return Vf.includes(e??"")?e:us}function MO(e){return e==="left"?"left":Gr}function HO(e){return e&&xq(e)===e.toLowerCase()?e.toLowerCase():""}var $O="chat",Yf={enabled:!0,title:"",subtitle:"",greeting:"",launcherColor:"",launcherIcon:"",launcherPosition:Gr,launcherLabel:"",showOnPhones:!0};function j0e(e){return{enabled:e.enabled,title:e.title,subtitle:e.subtitle,greeting:e.greeting,launcherColor:HO(e.launcherColor),launcherIcon:e.launcherIcon?qf(e.launcherIcon):"",launcherPosition:MO(e.launcherPosition),launcherLabel:e.launcherLabel??"",showOnPhones:e.showOnPhones!==!1}}var zO=gq({chat:Yf,setChat:()=>{},setSelected:()=>{},setSelectHandler:()=>{}});function K0e({children:e,chat:o=Yf,onChatChange:t}){let[a,r]=Sq(!1),n=Iq(d=>t?.(d),[t]),{select:s,setSelectHandler:l}=Cq(),c=yq(()=>({selected:()=>a?$O:null,select:d=>d===$O&&s()}),[a,s]);return WO(zO.Provider,{value:{chat:o,setChat:n,setSelected:r,setSelectHandler:l},children:WO(wq.Provider,{value:c,children:e})})}var Xf=()=>bq(zO);import{jsx as xI}from"react/jsx-runtime";import{DesktopIcon as vq,PhoneIcon as kq,TabletIcon as Tq}from"efficient-easel/icons";import{VIEW_TIERS as Pq,VIEW_TIER_LABEL as Eq}from"efficient-easel/draw";var Oq={desktop:xI(vq,{}),tablet:xI(Tq,{}),mobile:xI(kq,{})},GO=Pq.map(e=>({id:e,get label(){return i(Eq[e])},icon:Oq[e]}));import{PreviewDeviceContext as lie}from"efficient-easel/draw/client";import{jsx as _q}from"react/jsx-runtime";import{createContext as Aq,useCallback as UO,useContext as Rq,useMemo as Lq,useRef as Fq}from"react";var Bq=Object.fromEntries(mc.map(e=>[e,{value:"",error:null}])),jO=Aq({links:tw,rows:Bq,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function tEe({children:e,value:o}){let t=Fq(()=>{}),a=UO(()=>t.current(),[]),r=UO(s=>{t.current=s},[]),n=Lq(()=>({...o,openPanel:a,setOpenHandler:r}),[o,a,r]);return _q(jO.Provider,{value:n,children:e})}var ql=()=>Rq(jO);import{jsx as Dq}from"react/jsx-runtime";import{createContext as Nq,useContext as Mq,useMemo as Hq,useState as Wq}from"react";var KO=Nq(null);function sEe({children:e}){let[o,t]=Wq(null),a=Hq(()=>({surface:o,setSurface:t}),[o]);return Dq(KO.Provider,{value:a,children:e})}function VO(){return Mq(KO)??{surface:null,setSurface:()=>{}}}import{createPreviewSelectionContext as $q}from"efficient-easel/draw/client";var Yl="Scrolling Bar",{Provider:cEe,useSelection:qO}=$q("selectedHeroId"),dEe="data-sf-hero-ticker";function fEe(e){return`${e}::ticker`}function uEe(e){return!e||!e.endsWith("::ticker")?null:e.slice(0,-8)||null}var YO=["","","","","",""],XO="#ticker",Xl="strip",gI={sectionAccent:Zo,line:!1};function zq(e){return(Array.isArray(e.tickerItems)?e.tickerItems:[]).map(o=>typeof o?.text=="string"?o.text:"").filter(o=>o.trim()!=="")}function II(e){return zq(e).length>0}function hEe(e){return e.showTicker!==!1&&II(e)}import{createPreviewSelectionContext as Gq}from"efficient-easel/draw/client";var{Provider:IEe,useSelection:Zf}=Gq("selectedHeroPart");var JO=["one","side","stacked"];var yEe={one:"One",side:"Side by side",stacked:"Stacked"};function Jf(e){return JO.includes(e)?e:"one"}function ZO(e){return e==="one"?1:2}function bI(e,o){if(JO.includes(e))return e;let t=Jf(o);return t==="side"?"stacked":t}function Zl(e){let o=Jf(e.mediaLayout);return Math.max(ZO(o),ZO(bI(e.mediaLayoutPhone,o)))}var Ur=["media","image","image2"],jr={media:"Media",image:"Image",image2:"Image 2"},Jl={media:"heroMedia",image:"heroImage",image2:"heroImage2"};function Qf(e,o){return e==="image"&&Zl(o)>1?"Image 1":jr[e]}var vEe="Video file",kEe="Upload a video file";function Uq(e,o){return{field:"mediaType",is:e,default:o}}var jq=new Set(["HeroSingle"]),QO="heroPart";function Kq(e,o){return{...o,[QO]:e}}function TEe(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]=ao(n[l],Uq(s,a));for(let[s,l]of Object.entries(r??{}))l&&(n[s]=ao(n[s],l));for(let s of Ur)for(let l of o[s]??[])n[l]=Kq(s,n[l]);return n}function Vq(e){let o=e?.[QO];return Ur.includes(o)?o:null}function e_(e,o){let t={};for(let[a,r]of Object.entries(e))Vq(r)===o&&(t[a]=r);return t}function o_(e){if(!jq.has(e.type))return[];let o=[{part:"media",label:jr.media,depth:0}];return(e.props.mediaType??"image")!=="video"&&(o.push({part:"image",label:Qf("image",e.props),depth:1}),Zl(e.props)>1&&o.push({part:"image2",label:Qf("image2",e.props),depth:1})),o}function Ql(e,o){return`${e}::${o}`}function t_(e){if(!e)return null;let o=e.lastIndexOf("::");if(o<=0)return null;let t=e.slice(o+2);return Ur.includes(t)?{nodeId:e.slice(0,o),part:t}:null}var a_="data-sf-hero-part";import{jsx as Se,jsxs as ar,Fragment as fB}from"react/jsx-runtime";import{useEasel as Cae,useRootFields as vae}from"efficient-easel/easel";import{Button as kae,EmptyState as Tae}from"efficient-shell/ui";function r_({kind:e,pageName:o}){return{name:o?.trim()||i("This page"),kindLabel:vr({kind:e})?i("Template"):i("Page")}}import{headWords as hB,InspectorHead as Pae,InspectorIconButton as uB}from"efficient-easel/chrome";import{DuplicateIcon as Eae,TrashIcon as Oae}from"efficient-easel/icons";import{panelFieldsOf as _ae}from"efficient-easel/screen/lib/document/panel-fields";import{jsx as B,Fragment as pe,jsxs as me}from"react/jsx-runtime";import{BlockBannerIcon as Xq,BlockBoxIcon as Zq,BlockButtonIcon as Jq,BlockDividerIcon as s_,BlockFooterIcon as l_,BlockHeadingIcon as Qq,BlockProductIcon as e9,BlockSocialIcon as o9,BlockTextIcon as t9,CardPaymentIcon as a9,ChatIcon as r9,AccountIcon as n9,GlobeIcon as s9,GridIcon as l9,ImageIcon as SI,MapIcon as i9,MediaIcon as c9,PageIcon as d9}from"efficient-easel/icons";import{jsx as yI,Fragment as qq,jsxs as Yq}from"react/jsx-runtime";var n_=Yq(qq,{children:[yI("circle",{cx:"9",cy:"20",r:"1.3"}),yI("circle",{cx:"18",cy:"20",r:"1.3"}),yI("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 f9={header:me(pe,{children:[B("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),B("path",{d:"M3 9.5h18"})]}),social:me(pe,{children:[B("circle",{cx:"6",cy:"12",r:"2.5"}),B("circle",{cx:"18",cy:"6",r:"2.5"}),B("circle",{cx:"18",cy:"18",r:"2.5"}),B("path",{d:"M8.2 10.8l7.6-3.6M8.2 13.2l7.6 3.6"})]}),ticker:me(pe,{children:[B("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),B("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),FooterLogo:me(pe,{children:[B("path",{d:"M4 15.5h6M4 18h4"}),B("path",{d:"M14 8.5l3 7 3-7"})]}),FooterMenu:B("path",{d:"M6 7h12M6 11h12M6 15h8M6 19h8"}),FooterGroup:me(pe,{children:[B("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",strokeDasharray:"3 2.5"}),B("path",{d:"M8 9h8M8 13h8M8 16h5"})]}),FooterText:B("path",{d:"M5 7h14M5 12h14M5 17h9"}),FooterEmailSignup:me(pe,{children:[B("rect",{x:"3",y:"6",width:"18",height:"12",rx:"2"}),B("path",{d:"M3.5 7l8.5 6 8.5-6"})]}),SearchBlock:me(pe,{children:[B("circle",{cx:"11",cy:"11",r:"6"}),B("path",{d:"M20 20l-4.2-4.2"})]}),CartBlock:n_,CountrySwitchBlock:me(pe,{children:[B("circle",{cx:"12",cy:"12",r:"8.5"}),B("path",{d:"M3.5 12h17M12 3.5c2.6 2.4 3.6 5.2 3.6 8.5s-1 6.1-3.6 8.5M12 3.5c-2.6 2.4-3.6 5.2-3.6 8.5s1 6.1 3.6 8.5"})]}),ThemeSwitchBlock:me(pe,{children:[B("circle",{cx:"12",cy:"12",r:"8.5"}),B("path",{d:"M12 3.5v17M12 5.5l6 6M12 10.5l5.2 5.2M12 15.5l2.8 2.8"})]}),LegalLineBlock:me(pe,{children:[B("path",{d:"M3 9h18"}),B("path",{d:"M3 14h8M14 14h2M18 14h3"})]}),Hero:me(pe,{children:[B("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),B("path",{d:"M7 13.5h7M7 16.5h10"})]}),HeroSlide:me(pe,{children:[B("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),B("path",{d:"M7 15h6M16 9.5h.01M9.5 12l-2.5 3"})]}),HeroSingle:me(pe,{children:[B("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),B("path",{d:"M10.5 8.5l4 2.5-4 2.5z"}),B("path",{d:"M7 17h7"})]}),Collections:me(pe,{children:[B("rect",{x:"3",y:"5",width:"4.6",height:"14",rx:"1.3"}),B("rect",{x:"9.7",y:"5",width:"4.6",height:"14",rx:"1.3"}),B("rect",{x:"16.4",y:"5",width:"4.6",height:"14",rx:"1.3"})]}),CollectionCard:me(pe,{children:[B("rect",{x:"6",y:"4",width:"12",height:"16",rx:"2"}),B("path",{d:"M9 15h6M9 17.5h4"})]}),AlloyWheelsListing:me(pe,{children:[B("path",{d:"M3 5h5M3 9h5M3 13h5M3 17h5"}),B("rect",{x:"11.5",y:"5",width:"4.2",height:"5",rx:"1"}),B("rect",{x:"17.3",y:"5",width:"4.2",height:"5",rx:"1"}),B("rect",{x:"11.5",y:"12",width:"4.2",height:"5",rx:"1"}),B("rect",{x:"17.3",y:"12",width:"4.2",height:"5",rx:"1"})]}),CatalogFilterBar:me(pe,{children:[B("path",{d:"M3 7h9M15.5 7H21"}),B("circle",{cx:"13.5",cy:"7",r:"1.7"}),B("path",{d:"M3 12h4M10.5 12H21"}),B("circle",{cx:"8.5",cy:"12",r:"1.7"}),B("path",{d:"M3 17h9M15.5 17H21"}),B("circle",{cx:"13.5",cy:"17",r:"1.7"})]}),ProductGrid:me(pe,{children:[B("rect",{x:"3",y:"5",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"9.6",y:"5",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"16.2",y:"5",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"3",y:"13",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"9.6",y:"13",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"16.2",y:"13",width:"4.8",height:"6",rx:"1"})]}),RelatedProducts:me(pe,{children:[B("path",{d:"M3 5h10"}),B("rect",{x:"3",y:"9.5",width:"5",height:"9",rx:"1"}),B("rect",{x:"9.5",y:"9.5",width:"5",height:"9",rx:"1"}),B("rect",{x:"16",y:"9.5",width:"5",height:"9",rx:"1"})]}),Gallery:me(pe,{children:[B("rect",{x:"3",y:"4",width:"11",height:"16",rx:"2"}),B("rect",{x:"15.5",y:"4",width:"5.5",height:"7.5",rx:"1.5"}),B("rect",{x:"15.5",y:"12.5",width:"5.5",height:"7.5",rx:"1.5"})]}),GalleryB:me(pe,{children:[B("rect",{x:"3.5",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),B("rect",{x:"13",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),B("rect",{x:"3.5",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"}),B("rect",{x:"13",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"})]}),GalleryItem:me(pe,{children:[B("rect",{x:"4",y:"5",width:"16",height:"14",rx:"2"}),B("circle",{cx:"9",cy:"10",r:"1.6"}),B("path",{d:"M20 15.5l-4.5-4L7 19"})]}),Events:me(pe,{children:[B("rect",{x:"4",y:"5",width:"16",height:"15",rx:"2"}),B("path",{d:"M4 9.5h16M8.5 3v4M15.5 3v4M8 14h2M14 14h2"})]}),PostCard:me(pe,{children:[B("rect",{x:"4",y:"3.5",width:"16",height:"17",rx:"2"}),B("rect",{x:"6.5",y:"6",width:"11",height:"6",rx:"1"}),B("path",{d:"M6.5 14.5h11M6.5 17.5h7"})]}),Manifesto:me(pe,{children:[B("path",{d:"M7 8h3.2v4c0 1.6-1 2.6-3 3.2"}),B("path",{d:"M14 8h3.2v4c0 1.6-1 2.6-3 3.2"})]}),Stats:me(pe,{children:[B("path",{d:"M3.5 20h17"}),B("path",{d:"M6 20v-7M11 20V7M16 20v-5M20.5 20v-9"})]}),Logos:me(pe,{children:[B("circle",{cx:"6",cy:"12",r:"2.6"}),B("rect",{x:"10",y:"9.4",width:"5.2",height:"5.2",rx:"1.2"}),B("path",{d:"M19 9.2l2.4 5h-4.8z"})]}),Ticker:me(pe,{children:[B("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),B("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),SectionHeader:me(pe,{children:[B("rect",{x:"3.5",y:"6",width:"5",height:"5",rx:"1.2"}),B("path",{d:"M11 8.5h9M3.5 15.5h17"})]}),IntroBleed:me(pe,{children:[B("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),B("path",{d:"M3 13.5h18M7 16.8h6"})]}),Split:me(pe,{children:[B("rect",{x:"3",y:"5",width:"8",height:"14",rx:"1.5"}),B("path",{d:"M14 8.5h6M14 12h6M14 15.5h4"})]}),Eyebrow:me(pe,{children:[B("path",{d:"M4 8.5h4.5M11 8.5h9"}),B("path",{d:"M4 14.5h16"})]}),HeroGroup:me(pe,{children:[B("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2"}),B("path",{d:"M7 9h8M7 12.5h10M7 16h6"})]}),Form:me(pe,{children:[B("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),B("path",{d:"M6.5 9h11M6.5 12.5h11"}),B("rect",{x:"6.5",y:"15",width:"6.5",height:"2.6",rx:"1.3"})]}),LogoBlock:B(pe,{children:B("path",{d:"M12 3.5l7.5 3.2v5.1c0 4.2-3.2 7.1-7.5 8.7-4.3-1.6-7.5-4.5-7.5-8.7V6.7z"})}),Spacer:me(pe,{children:[B("path",{d:"M12 4v6M9.5 6.5L12 4l2.5 2.5M12 20v-6M9.5 17.5L12 20l2.5-2.5"}),B("path",{d:"M5 13h14",strokeDasharray:"2 2.5"})]}),ContactRouting:me(pe,{children:[B("rect",{x:"3",y:"4",width:"5",height:"5",rx:"1"}),B("rect",{x:"9.5",y:"4",width:"5",height:"5",rx:"1"}),B("rect",{x:"16",y:"4",width:"5",height:"5",rx:"1"}),B("path",{d:"M4 13.5h11M4 17.5h7"}),B("path",{d:"M17 15l3 2-3 2"})]}),Contents:me(pe,{children:[B("path",{d:"M4 7h2M4 12h2M4 17h2"}),B("path",{d:"M9 7h11M9 12h9M9 17h10"})]}),ListSearch:me(pe,{children:[B("path",{d:"M4 6h9M4 11h5M4 16h5"}),B("circle",{cx:"15",cy:"15",r:"4"}),B("path",{d:"M20.5 20.5l-2.7-2.7"})]}),CustomHTML:B("path",{d:"M9 8l-4 4 4 4M15 8l4 4-4 4"})},u9=B("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),p9={footer:l_,Footer:l_,Divider:s_,FooterDivider:s_,Banner:Xq,Flex:Zq,FooterSocial:o9,FooterPayment:a9,page:d9,website:s9,AccountBlock:n9,chat:r9,Heading:Qq,Text:t9,ImageBlock:SI,ButtonBlock:Jq,LocationMap:i9,Grid:l9,ProductRef:e9,heroMedia:c9,heroImage:SI,heroImage2:SI},m9={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",PaymentLogosBlock:"FooterPayment",SiteHeader:"header",SiteFooter:"footer"};function Kr({type:e,size:o=16,className:t}){let a=m9[e]??e,r=p9[a];return r?B(r,{size:o,className:t}):B("svg",{width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.7,strokeLinecap:"round",strokeLinejoin:"round",className:t,"aria-hidden":"true",children:f9[a]??u9})}import{PanelHideButton as pB}from"efficient-easel/screen/components/SidePanelHead";import{useEaselSession as Aae}from"efficient-easel/screen/lib/session-context";import{jsx as Ce,jsxs as ei,Fragment as h9}from"react/jsx-runtime";import{useEffect as x9,useId as i_,useState as g9}from"react";import{IconPicker as I9}from"efficient-shell/ui";import{SettingsDefaultReset as b9,SettingsField as oi,SettingsSegmented as y9,SettingsSwitch as c_}from"efficient-easel/panel";import{ButtonIcon as S9,ButtonIconIcon as w9,EyeIcon as C9,PhoneIcon as v9,PlacementIcon as k9,TypeIcon as T9}from"efficient-easel/icons";var P9="Chat with us",E9="We usually reply within a few minutes",O9="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function eu({label:e,value:o,placeholder:t,onCommit:a,multiline:r=!1,hint:n}){let[s,l]=g9(o);x9(()=>l(o),[o]);let c=()=>{s!==o&&a(s)};return Ce(oi,{label:e,icon:Ce(T9,{}),changed:o!=="",action:Ce(ti,{label:e,changed:o!=="",onReset:()=>a("")}),hint:n,children:r?Ce("textarea",{value:s,placeholder:t,rows:3,onChange:d=>l(d.target.value),onBlur:c,"aria-label":e}):Ce("input",{type:"text",value:s,placeholder:t,onChange:d=>l(d.target.value),onBlur:c,onKeyDown:d=>{d.key==="Enter"&&d.currentTarget.blur()},"aria-label":e,autoComplete:"off"})})}function ti({label:e,changed:o,onReset:t}){return Ce(b9,{words:re()?.panel,label:e,changed:o,onReset:t})}function _9({label:e,icon:o,checked:t,fallback:a,onChange:r,hint:n}){let s=i_();return Ce(oi,{label:e,labelId:s,icon:o,changed:t!==a,action:ei("span",{className:"inline-flex items-center gap-2",children:[Ce(c_,{checked:t,onChange:r,ariaLabelledBy:s}),Ce(ti,{label:e,changed:t!==a,onReset:()=>r(a)})]}),hint:n})}var A9=Vf.map(e=>({value:e,icon:Vc(e)}));function R9(){let{theme:e}=xe(),o=to(e).themes[0];return zs(o)??o?.accent??""}function d_(){let{chat:e,setChat:o}=Xf(),t=i_(),a=R9(),r=e.launcherIcon?qf(e.launcherIcon):us;return ei(h9,{children:[Ce(oi,{label:i("Show the chat bubble"),labelId:t,icon:Ce(C9,{}),changed:!e.enabled,action:ei("span",{className:"inline-flex items-center gap-2",children:[Ce(c_,{checked:e.enabled,onChange:n=>o({enabled:n}),ariaLabelledBy:t}),Ce(ti,{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.")}),ei(jx,{title:i("Look"),children:[Ce(Bo,{label:i("Button color"),icon:Ce(S9,{}),changed:e.launcherColor!=="",value:e.launcherColor,inherited:a,caption:e.launcherColor?void 0:i("Site button color"),onChange:n=>o({launcherColor:n}),onReset:()=>o({launcherColor:""})}),Ce(oi,{label:i("Icon"),icon:Ce(w9,{}),value:Ce(Bx,{value:r}),changed:r!==us,action:Ce(ti,{label:i("Icon"),changed:r!==us,onReset:()=>o({launcherIcon:""})}),children:Ce(I9,{label:i("Icon"),value:r,options:A9,onChange:n=>o({launcherIcon:n===us?"":n})})}),Ce(oi,{label:i("Position"),icon:Ce(k9,{}),changed:e.launcherPosition!==Gr,action:Ce(ti,{label:i("Position"),changed:e.launcherPosition!==Gr,onReset:()=>o({launcherPosition:Gr})}),children:Ce(y9,{options:[{label:i("Right"),id:"right"},{label:i("Left"),id:"left"}],value:e.launcherPosition,ariaLabel:i("Position"),onChange:n=>o({launcherPosition:n})})}),Ce(eu,{label:i("Label"),value:e.launcherLabel,placeholder:i("Icon only"),onCommit:n=>o({launcherLabel:n}),hint:i("Shows when a visitor points at the button")}),Ce(_9,{label:i("Show on phones"),icon:Ce(v9,{}),checked:e.showOnPhones,fallback:Yf.showOnPhones,onChange:n=>o({showOnPhones:n})})]}),ei(jx,{title:i("Wording"),children:[Ce(eu,{label:i("Title"),value:e.title,placeholder:P9,onCommit:n=>o({title:n})}),Ce(eu,{label:i("Subtitle"),value:e.subtitle,placeholder:E9,onCommit:n=>o({subtitle:n})}),Ce(eu,{label:i("Greeting message"),value:e.greeting,placeholder:O9,onCommit:n=>o({greeting:n}),multiline:!0}),Ce("p",{className:"es-field-hint",children:i("Leave a field blank to use the built-in wording.")})]})]})}import{jsx as Vr,Fragment as GI,jsxs as h_}from"react/jsx-runtime";import{useEffect as iY,useId as p_,useState as m_}from"react";import{SettingsField as cY}from"efficient-easel/panel";import{jsx as Q9}from"react/jsx-runtime";import{forwardRef as L9,createElement as wI}from"react";var f_={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 se=(e,o,t,a)=>{let r=L9(({color:n="currentColor",size:s=24,stroke:l=2,title:c,className:d,children:f,...m},u)=>wI("svg",{ref:u,...f_[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&&wI("title",{key:"svg-title"},c),...a.map(([x,g])=>wI(x,g)),...Array.isArray(f)?f:[f]]));return r.displayName=`${t}`,r};var F9=[["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"}]],CI=se("outline","brand-facebook","BrandFacebook",F9);var B9=[["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"}]],vI=se("outline","brand-instagram","BrandInstagram",B9);var D9=[["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"}]],kI=se("outline","brand-line","BrandLine",D9);var N9=[["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"}]],TI=se("outline","brand-linkedin","BrandLinkedin",N9);var M9=[["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"}]],PI=se("outline","brand-pinterest","BrandPinterest",M9);var H9=[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]],EI=se("outline","brand-telegram","BrandTelegram",H9);var W9=[["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"}]],OI=se("outline","brand-tiktok","BrandTiktok",W9);var $9=[["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"}]],_I=se("outline","brand-wechat","BrandWechat",$9);var z9=[["path",{d:"M3 21l1.65 -3.8a9 9 0 1 1 3.4 2.9l-5.05 .9",key:"svg-0"}],["path",{d:"M9 10a.5 .5 0 0 0 1 0v-1a.5 .5 0 0 0 -1 0v1a5 5 0 0 0 5 5h1a.5 .5 0 0 0 0 -1h-1a.5 .5 0 0 0 0 1",key:"svg-1"}]],AI=se("outline","brand-whatsapp","BrandWhatsapp",z9);var G9=[["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"}]],RI=se("outline","brand-x","BrandX",G9);var U9=[["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"}]],LI=se("outline","brand-youtube","BrandYoutube",U9);var j9=[["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"}]],FI=se("filled","brand-facebook-filled","BrandFacebookFilled",j9);var K9=[["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"}]],BI=se("filled","brand-instagram-filled","BrandInstagramFilled",K9);var V9=[["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"}]],DI=se("filled","brand-linkedin-filled","BrandLinkedinFilled",V9);var q9=[["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"}]],NI=se("filled","brand-pinterest-filled","BrandPinterestFilled",q9);var Y9=[["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"}]],MI=se("filled","brand-tiktok-filled","BrandTiktokFilled",Y9);var X9=[["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"}]],HI=se("filled","brand-whatsapp-filled","BrandWhatsappFilled",X9);var Z9=[["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"}]],WI=se("filled","brand-x-filled","BrandXFilled",Z9);var J9=[["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"}]],$I=se("filled","brand-youtube-filled","BrandYoutubeFilled",J9);var c_e="outline",ou={fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},eY={},zI={fillRule:"evenodd"},oY=[["path",{...ou,d:"M21 4L3 11L7 13L9 19L12 15L17 20z"}],["path",{...zI,d:"M21 4L3 11L7 13L9 19L12 15L17 20zM15.212 8.939 10.576 13.576 11.424 14.424 16.061 9.788z"}]],tY=[["path",{...ou,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",{...eY,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("")}]],aY=[["path",{...ou,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",{...ou,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",{...zI,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",{...zI,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("")}]],rY=se("filled","brand-telegram-filled","BrandTelegramFilled",oY),nY=se("filled","brand-line-filled","BrandLineFilled",tY),sY=se("filled","brand-wechat-filled","BrandWechatFilled",aY),lY={instagram:{outline:vI,solid:BI},facebook:{outline:CI,solid:FI},tiktok:{outline:OI,solid:MI},youtube:{outline:LI,solid:$I},x:{outline:RI,solid:WI},linkedin:{outline:TI,solid:DI},pinterest:{outline:PI,solid:NI},whatsapp:{outline:AI,solid:HI},telegram:{outline:EI,solid:rY},line:{outline:kI,solid:nY},wechat:{outline:_I,solid:sY}};function u_({platform:e,iconStyle:o,size:t}){let a=lY[e][o];return Q9(a,{size:t,stroke:1.75,"aria-hidden":"true",focusable:"false"})}var dY={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 fY({platform:e}){let{rows:o,saveLink:t}=ql(),{value:a,error:r}=o[e],[n,s]=m_(a),[l,c]=m_(!1),d=p_(),f=p_();iY(()=>s(a),[a]);let m=async()=>{if(n.trim()===a){n!==a&&s(a);return}c(!0),await t(e,n),c(!1)},u=ow[e];return h_(GI,{children:[Vr(cY,{label:i(u),htmlFor:d,icon:Vr(u_,{platform:e,iconStyle:"outline",size:18}),children:Vr("input",{id:d,type:"text",inputMode:"url",value:n,placeholder:dY[e],onChange:x=>s(x.target.value),onBlur:()=>{m()},onKeyDown:x=>{x.key==="Enter"&&x.currentTarget.blur(),x.key==="Escape"&&(s(a),x.currentTarget.blur())},"aria-invalid":r?!0:void 0,"aria-describedby":r?f:void 0,"aria-busy":l||void 0,autoComplete:"off",spellCheck:!1})}),r&&Vr("p",{id:f,className:"sf-note sf-note--error",role:"alert",children:r})]})}function x_({unavailable:e}){let{canSave:o}=ql();return!o&&e?Vr(GI,{children:e}):h_(GI,{children:[Vr("p",{className:"es-field-hint",children:i("Paste a link to each profile. A platform left empty shows nothing on the site.")}),mc.map(t=>Vr(fY,{platform:t},t))]})}import{jsx as Xr,Fragment as PZ,jsxs as EZ}from"react/jsx-runtime";import{useId as OZ,useMemo as _Z}from"react";import{useEasel as AZ}from"efficient-easel/easel";import{SettingsField as RZ,SettingsSwitch as LZ}from"efficient-easel/panel";import{EyeIcon as FZ}from"efficient-easel/icons";import{fieldShownInView as BZ}from"efficient-easel/fields";import{usePreviewDevice as DZ}from"efficient-easel/draw/client";import{jsx as Yr,Fragment as TX,jsxs as PX}from"react/jsx-runtime";import{createContext as EX,useContext as OX,useLayoutEffect as Y_,useMemo as mu,useRef as X_,useState as JI}from"react";import{useEasel as Z_,useSelectedFields as _X}from"efficient-easel/easel";import{fieldShownInView as AX,Inspector as RX,planFields as QI}from"efficient-easel/fields";function g_({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 uX}from"efficient-easel/screen/lib/document/box-fields";import{deviceField as pX,deviceMetaOf as D_}from"efficient-easel/screen/lib/document/device-fields";import{jsx as Be,Fragment as wY,jsxs as CY}from"react/jsx-runtime";import{useRef as E_}from"react";import{phoneKey as ha}from"efficient-easel/draw";import{SettingsDefaultReset as vY}from"efficient-easel/panel";import{ClockIcon as kY,DirectionDownIcon as TY,DirectionIcon as PY,DirectionLeftIcon as EY,DirectionRightIcon as OY,DirectionUpIcon as _Y,DurationIcon as AY,EntranceBounceIcon as RY,EntranceFadeIcon as LY,EntranceFlipIcon as FY,EntranceGlideIcon as BY,EntranceRevealIcon as DY,EntranceRiseIcon as NY,EntranceScaleIcon as MY,EntranceSpinIcon as HY,NoSymbolIcon as WY}from"efficient-easel/icons";import{effectTiles as $Y}from"efficient-easel/screen/lib/document/effect-tiles";import{deviceField as xs}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as zY,noControlField as GY}from"efficient-easel/screen/lib/document/panel-no-control-mark";import{customize as UY,describedAs as O_,group as jY,onDesktopWords as KY,phoneTwinFields as VY}from"efficient-easel/screen/lib/document/box-fields";import{ENTRANCE_FROM as qY,ENTRANCE_FROM_DEFAULT as __,ENTRANCE_KINDS as fu,ENTRANCE_KINDS_WITH_FROM as T_,MOTION_TIMING as YY,entranceAttrs as XY,playEntrance as ZY,readEntrance as JY}from"efficient-shell/format";import{jsx as KI}from"react/jsx-runtime";import{ClockIcon as hY,DurationIcon as xY}from"efficient-easel/icons";import{MOTION_TIMING as C_}from"efficient-shell/format";import{useSelectedHost as gY}from"efficient-easel/easel";import{MOTION_EASING as uY,MOTION_TIMING as I_,motionSeconds as b_}from"efficient-shell/format";var UI="none",tu=[{label:"None",value:"none"},{label:"Marquee",value:"scroll"}];function w_e(e){return io(tu,UI,e)}var ai={field:"loop",is:"scroll"},ri="left",jI=[{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"},{label:"Up",value:"up",cell:"top"},{label:"Down",value:"down",cell:"bottom"}],pY={left:"storefront-ticker",right:"storefront-ticker-right",up:"storefront-ticker-up",down:"storefront-ticker-down"};function y_(e){return io(jI,ri,e)}function C_e(e){return e==="up"||e==="down"}function S_(e){return b_("loop","duration",e.loopDuration!=null?e.loopDuration:e.speed)}var v_e=I_.loop.duration.default,mY=I_.loop.delay.default;function w_(e){return b_("loop","delay",e.loopDelay)}function k_e(e,o,t=mY){return`${pY[e]} ${o}s ${uY.loop}${t?` ${t}s`:""} infinite`}function ps(e){let{min:o,max:t,step:a,default:r}=C_[e].duration;return No("Duration",KI(xY,{}),o,t,a,r,"s")}function ms(e){let{min:o,max:t,step:a,default:r}=C_[e].delay;return No("Delay",KI(hY,{}),o,t,a,r,"s")}function hs(e,o){let t=e.render,a=r=>{let n=gY();return t({...r,value:o(r.value,n?.values)})};return{...e,render:r=>KI(a,{...r})}}function au({readsSpeed:e}){return hs(ps("loop"),(o,t)=>S_({loopDuration:o,speed:e?t?.speed:void 0}))}function ru(){return hs(ms("loop"),e=>w_({loopDelay:e}))}import{phoneKey as IY}from"efficient-easel/draw";import{readEntrance as bY}from"efficient-shell/format";var su="sf-entrance",ke={kind:"entrance",from:"entranceFrom",duration:"entranceDuration",delay:"entranceDelay"},lu="sectionAnimation",v_=e=>e!=null&&e!=="";function yY(e,o){let t=e[ke[o]];return o==="kind"&&!v_(t)?e[lu]:t}function nu(e,o,t){if(t==="phone"){let a=e[IY(ke[o])];if(v_(a))return a}return yY(e,o)}function ni(e,o){return bY(nu(e,"kind",o),nu(e,"from",o),nu(e,"duration",o),nu(e,"delay",o))}function iu(e){let o=ni(e,"desktop"),t=ni(e,"phone");return o.kind==="none"&&t.kind==="none"?null:{desktop:o,phone:t}}var SY={...Object.fromEntries([...qk].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)"},N_e=new Set(Object.keys(SY));var k_="_gEntrance";var VI={none:"None",fade:"Fade",rise:"Rise",scale:"Scale",glide:"Glide",bounce:"Bounce",flip:"Flip",reveal:"Reveal",spin:"Spin"},QY={top:"Top",bottom:"Bottom",left:"Left",right:"Right"},eX={top:()=>Be(TY,{}),bottom:()=>Be(_Y,{}),left:()=>Be(OY,{}),right:()=>Be(EY,{})},qI="Entrance",cu=fu.filter(e=>e!=="none"),du=e=>({any:[{field:ke.kind,in:e},{all:[{field:ke.kind,set:!1},{field:lu,in:e}]}]}),P_=e=>({any:[{field:ha(ke.kind),in:e},{all:[{field:ha(ke.kind),set:!1},du(e)]}]}),oX={any:[du(cu),{field:ha(ke.kind),in:cu}]},tX=[[[ke.from],du(T_)],[[ha(ke.from)],P_(T_)],[[ke.duration,ke.delay],du(cu)],[[ha(ke.duration),ha(ke.delay)],P_(cu)]],aX={none:()=>Be(WY,{}),fade:()=>Be(LY,{}),rise:()=>Be(NY,{}),scale:()=>Be(MY,{}),glide:()=>Be(BY,{}),bounce:()=>Be(RY,{}),flip:()=>Be(FY,{}),reveal:()=>Be(DY,{}),spin:()=>Be(HY,{})},A_="data-entrance-tile";function rX({kind:e}){let{attrs:o}=XY(JY(e,__));return Be("span",{className:"sf-entrance-stage",[A_]:e,children:Be("i",{...o,children:aX[e]()})})}var nX=e=>o=>{let t=e.current?.querySelector(`[${A_}="${o}"] > i`);t&&ZY(t)},R_=e=>$Y({label:i(qI),options:fu.map(o=>({value:o,label:i(VI[o]),picture:Be(rX,{kind:o})})),fallback:"none",onPreview:e?nX(e):void 0});function L_({row:e,children:o}){return Be("div",{ref:e,style:{display:"contents"},children:o})}function sX({value:e,onChange:o}){let t=et(),a=ni({...t,[ke.kind]:e},"desktop").kind,r=E_(null);return Be(L_,{row:r,children:R_(r).render({value:a,onChange:n=>o(n??"none")})})}function lX({value:e,onChange:o}){let t=et(),a=typeof e=="string"&&fu.includes(e),r=ni(t,"desktop").kind,n=E_(null);return CY(wY,{children:[Be(L_,{row:n,children:R_(n).render({value:a?e:r,onChange:o})}),a&&Be(vY,{words:re()?.panel,label:i(iX),changed:a,detail:KY(s=>i(s),i(VI[r])),onReset:()=>o(void 0)})]})}var iX="Effect",F_={type:"select",label:qI,options:fu.map(e=>({value:e,label:VI[e]}))},cX=()=>O_({type:"custom",render:({value:e,onChange:o})=>Be(sX,{value:e,onChange:o})},F_),dX=()=>O_({type:"custom",render:({value:e,onChange:o})=>Be(lX,{value:e,onChange:o})},F_),fX=qY.map(e=>({label:QY[e],value:e,picture:eX[e]()}));function Pt(){let{duration:e,delay:o}=YY.entrance,t={[k_]:jY(qI,{dot:oX}),[ke.kind]:xs("desktop",cX()),[lu]:GY({type:"custom",render:()=>Be(zY,{})},"always"),[ha(ke.kind)]:xs("mobile",dX()),_cEntrance:UY(),...VY(ke.from,Md("From",Be(PY,{}),fX,__)),[ke.duration]:xs("desktop",ps("entrance")),[ha(ke.duration)]:xs("mobile",Zd({label:"Duration",desktopKey:ke.duration,icon:Be(AY,{}),min:e.min,max:e.max,step:e.step,fallback:e.default,unit:"s"})),[ke.delay]:xs("desktop",ms("entrance")),[ha(ke.delay)]:xs("mobile",Zd({label:"Delay",desktopKey:ke.delay,icon:Be(kY,{}),min:o.min,max:o.max,step:o.step,fallback:o.default,unit:"s"}))};return Bm(t,tX)}import{DESIGN_GROUPS as XI,SETTINGS_BUCKETS as mX}from"efficient-easel/panel";import{BUCKET_KEY as Vo,DESIGN_GROUP_KEY as si}from"efficient-easel/screen/lib/document/field-buckets";var li=mX;var hX="Editor only \u2014 not shown live",ZI={"Archive link":"Content",Article:"Content",Blocks:"Content","Blog posts":"Content","Browser mock":"Content",Button:"Content","Call to action":"Content","Car prompt":"Content","Card link":"Content","Card list":"Content",Cards:"Content","Claims bars":"Content","Contact info":"Content",Content:"Content",Display:"Content","Content source":"Content",Contents:"Content",Filters:"Content","Show on a card":"Content",Footnote:"Content",Form:"Content",Founders:"Content","Gallery A":"Content","Gallery B":"Content","Gallery link":"Content",Header:"Content","Header link":"Content","Image caption":"Content","In this issue":"Content",Items:"Content","Kanban columns":"Content",Lead:"Content","Left panel":"Content",Link:"Content",Links:"Content",List:"Content","Message form":"Content",Metadata:"Content",Milestones:"Content","Mockup card":"Content","Newsletter panel":"Content",Offices:"Content",Options:"Content","Others gallery":"Content","Overlay button":"Content",Product:"Content","Product page":"Content",Products:"Content","Pull quote":"Content",Questions:"Content","Recent issues":"Content","Recent posts":"Content",Reviews:"Content","Right panel \xB7 actions":"Content","Right panel \xB7 choices":"Content","Right panel \xB7 form":"Content","Routing groups":"Content",Rows:"Content",Search:"Content",Section:"Content","Section header":"Content",Sections:"Content","Signup form":"Content",Source:"Content","Source product":"Content","Stat & note":"Content",Stats:"Content","Submit button":"Content","Success state":"Content",Wheel:"Content",Terminal:"Content",Text:"Content","Text column":"Content","Timeline entries":"Content","Top row":"Content",Total:"Content","Trailing note":"Content","\u201COther\u201D reason":"Content","Background images":"Design",Gallery:"Content",Image:"Content","Image column":"Content",Images:"Content",Logo:"Content",Map:"Content",Media:"Content","Background image":"Design",Color:"Design","Image tint":"Design",Style:"Design",Shape:"Design",Shadow:"Design",Texture:"Design",Overlay:"Design","Text style":"Design",Entrance:"Animation",Hover:"Animation",Loop:"Animation",Anchor:"Anchor",Arrangement:"Layout","Auto-slide":"Layout",Bar:"Layout","Cell width":"Size",Behavior:"Layout",Schedule:"Layout",Controls:"Layout",Diagram:"Layout",[hX]:"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"},N_={"AlloyWheelsListing._gCards":"Design"},M_={"Text._gSpacing":"Size","Heading._gSpacing":"Size"};function YI(e,o,t){let a=`${e}.${o}`;return M_[a]??N_[a]??ZI[t]}function H_(e){return e==="Animation"?[Vo.Animation]:[Vo.Design,si[e]]}function uu(...e){let o=[];for(let t of e)for(let a of Object.values(t)){let r=D_(a),n=fa(r?r.inner:a),s=n?ZI[n.label]:void 0;if(s)for(let l of H_(s))o.includes(l)||o.push(l)}return o}var u1e=[...uu(Wd({tablet:!0}),Jd("full"),Qd(),of(),qx()),...Object.keys(Wd({tablet:!0})),...Object.keys(Jd("full")),...Object.keys(Qd()),...Object.keys(of()),...Object.keys(qx())],p1e=[...uu(qd()),...Object.keys(qd())],m1e=[...uu(Xd()),...Object.keys(Xd())],h1e=[...uu(Pt()),...Object.keys(Pt())],xX=Object.keys(f0()),gX=new Set(["cardImage","imageBackground"]),x1e=[...H_(YI("ProductGrid","_gCards","Cards")??"Design"),...xX.filter(e=>e.startsWith("_g")||gX.has(e))],g1e=Object.keys(u0()),I1e=Object.keys(p0()),IX={"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)"},W_={Content:["Content"],Size:["Size"],Design:["Design","Style"],Layout:["Layout"],Position:["Position"],Anchor:["Anchor"],Animation:["Animation"]},$_={_gAnchor:"repeated the Anchor group heading above it (two tabs, 11.0.0)"};{let e={...Wd({tablet:!0}),...Jd("full"),...Qd(),...of(),...qd(),...Xd(),...Pt()};for(let o of Object.keys($_)){let t=fa(e[o]),a=t?ZI[t.label]:void 0;if(!t||t.level!==2||!a||!W_[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 bX=new Set(["_sContent","_sStyle","_sLayout","_sMedia"]),yX=new Map([[Vo.Design,"Content"],[Vo.Animation,"Animation"],...XI.map(e=>[si[e],e])]);function z_(e){let o=new Set([...Object.values(Vo),si.Content]);for(let[t,a]of Object.entries(e))if(!o.has(t)&&fa(a)?.level===1)return 1;return 2}function SX(e){let o=`${e}.`;return Object.keys(IX).filter(t=>t.startsWith(o)).map(t=>t.slice(o.length))}function wX(e,o){let t=D_(e),a=uX(o);return t?pX(t.tier,a):a}function CX(e,o){let t=fa(o);return t?e==="Content"||e==="Animation"?XP(o,t.label):ZP(o):o}function B_(e){return e==="Design"?XI:["Animation"]}function G_(e,o){let t=[],a=new Set(SX(o)),r=new Set,n=!1,s=null;for(let[u,x]of Object.entries(e)){let g=fa(x);if(bX.has(u))throw new Error(`${o}.${u}: that key was a tab header until efficient-web-builder 11.0.0, when the panel moved to two tabs (Design \xB7 Animation). Its tab is gone, so the key may not come back. Give the heading a key of the section's own (\`_g\u2026\`), or open a Design group with its own key (\`_dDesign: section("Design")\`, \`_dLayout: section("Layout")\`).`);let I=yX.get(u);if(I!==void 0){if(g?.level!==1)throw new Error(`${o}.${u}: that key is reserved for the ${I} heading of the settings panel, but this field is ${g?`a level-${g.level} "${g.label}" header`:"not a header"}, so it cannot serve as one. Rename the section's own field.`);(u===Vo.Design||u===Vo.Animation)&&(n=!0),t.push(s={place:I,entries:[],adopted:!0});continue}if(!g){s||t.push(s={place:"Content",entries:[]}),s.entries.push([u,x]);continue}if(a.has(u)||u in $_){let C=YI(o,u,g.label);if(g.level!==2||!C||!W_[C].includes(g.label))throw new Error(`${o}.${u}: ${a.has(u)?"RETIRED":"INJECTED_RETIRED"} (lib/document/field-groups.ts) lists this sub-heading as one whose name repeats the place it sits in, but it is a level-${g.level} "${g.label}" header in the ${C??"(unclassified)"} place. Only a level-2 header whose label is one of its place's words (PLACE_WORDS) may be retired \u2014 anything else is a heading a merchant reads for its own sake. Fix the row or drop it.`);a.has(u)&&r.add(u),t.push(s={place:C,entries:[]});continue}let k=YI(o,u,g.label);if(!k)throw new Error(`${o}.${u}: the inspector group "${g.label}" is not classified in LABEL_GROUP (lib/document/field-groups.ts), so there is no way to say which of ${[...XI,"Animation"].join(" / ")} its controls belong under. Classify it \u2014 an unclassified group silently lands wherever it was declared, which is the whole bug.`);t.push(s={place:k,entries:[[u,g.level===2?x:wX(x,g.label)]]})}let l=new Set(Object.entries(e).filter(([,u])=>fa(u)).map(([u])=>u));for(let[u,x]of[["BLOCK_KEY_GROUP",M_],["KEY_GROUP",N_]]){let g=Object.keys(x).filter(I=>I.startsWith(`${o}.`)).filter(I=>!l.has(I.slice(o.length+1)));if(g.length)throw new Error(`${o}: ${u} (lib/document/field-groups.ts) lists ${JSON.stringify(g)}, but no fold header by that key is in this section's panel. Either the heading was renamed or removed and the row is stale, or the row names the wrong key \u2014 an override that quietly matches nothing is worse than no override.`)}let c=n?[]:[...a].filter(u=>!r.has(u));if(c.length)throw new Error(`${o}: RETIRED (lib/document/field-groups.ts) lists ${JSON.stringify(c)}, but this section has no such fold header${c.length>1?"s":""}. Either the heading was renamed or removed and the row is stale, or the row names the wrong section \u2014 a list that quietly matches nothing is worse than no list.`);let d=new Set(t.filter(u=>u.entries.length>0).map(u=>u.place)),f=li.filter(u=>B_(u).some(x=>d.has(x))),m={};for(let u of f){m[Vo[u]]=Vd(u,u===f[0]?f:null);for(let x of B_(u)){if(!d.has(x))continue;let g=t.filter(k=>k.place===x),I=g.findIndex(k=>k.adopted);I>0&&g.unshift(...g.splice(I,1)),u==="Design"&&(m[si[x]]=Ux(x));for(let k of g)for(let[C,w]of k.entries)m[C]=CX(x,w)}}return m}function b1e(e){return Vo.Design in e?e:{[Vo.Design]:Vd("Design",null),[si.Content]:Ux("Content"),...e}}function y1e(e){return li.some(o=>Vo[o]in e)}function S1e(e){let o=li.filter(a=>Vo[a]in e);if(o.length===0)return e;let t={...e};for(let a of o)t[Vo[a]]=Vd(a,a===o[0]?o:null);return t}import{jsx as vX}from"react/jsx-runtime";import{EmptyState as kX}from"efficient-shell/ui";function qr(){return vX(kX,{variant:"none",icon:!1,message:i("These settings apply to every view.")})}import{usePreviewDevice as LX}from"efficient-easel/draw/client";import{deviceField as FX}from"efficient-easel/screen/lib/document/device-fields";var pu=" text",U_="Text";function ii(e){let o=e.rows.filter(t=>t.shown);return o.length===0||o.length===1&&o[0].labelled}function j_(e){return e.filter(ii).map(o=>o.key)}function K_(e,o){let t=e.filter(r=>!ii(r));if(t.length!==1)return null;let a=e.filter(ii).flatMap(r=>r.rows);return[...o,...a].some(r=>r.shown)?null:t[0].rows.filter(r=>r.shown).length>1?t[0].key:null}function V_(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 q_(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var eb=new Map,hu=new Set;function J_(e,o){let t=new Map;for(let r of e.querySelectorAll(".es-insp-row[data-field]"))t.set(r.getAttribute("data-field")??"",r);let a=[];for(let[r,n]of o)a.push({key:r,rows:n.map(s=>{let l=t.get(s),c=!!l&&[...l.children].some(f=>!f.hidden),d=l?.querySelector(".es-field-label, .es-list-label")?.textContent?.trim();return{shown:c,labelled:c&&!!d}})});return a}var BX=Object.fromEntries(li.map(e=>{let o=YP[e];return[e,Yr(o,{},e)]})),Q_=EX(null),DX={_partBody:FX("each",{type:"custom",render:()=>Yr(NX,{})})};function NX(){return Yr(TX,{children:OX(Q_)})}function Et({entries:e,entryCount:o=0,part:t=null,omit:a,motion:r,body:n,itemWord:s}){let{id:l,fields:c,values:d,readOnly:f,onChange:m}=_X(),u=mu(()=>r?{...d,...r.values}:d,[d,r?.values]),x=(he,Ke)=>r?.keys.has(he)?r.onChange(he,Ke):m(he,Ke),g=LX(),{appState:I,config:k}=Z_(he=>he),C=yv(g,k,I.data.content??[],I.ui.itemSelector),w=n===void 0?e_(c,t):DX,b=mu(()=>{let he=a?.length?Object.fromEntries(Object.entries(w).filter(([Ke])=>!a.includes(Ke))):w;return r?{...he,...r.fields}:he},[w,a,r?.fields]),v=hh(b,u,C),[P,F]=JI(()=>new Set(hu)),[T,D]=JI(()=>new Set),O=X_(null),{bandRows:R,designBands:N,looseRows:y}=mu(()=>{let he=new Map,Ke=new Set,Oe=[];for(let ve of QI(v).rows){if(!ve.fold){ve.bucket==="Design"&&Oe.push(ve.name);continue}let Ye=he.get(ve.fold.key)??[];Ye.push(ve.name),he.set(ve.fold.key,Ye),ve.bucket==="Design"&&Ke.add(ve.fold.key)}return{bandRows:he,designBands:Ke,looseRows:new Map([["",Oe]])}},[v]),A=AX({},g),L={key:pu,rows:Array.from({length:A?o:0},()=>({shown:!0,labelled:!0}))};Y_(()=>{let he=O.current?.parentElement;if(!he)return;let Ke=J_(he,R),Oe=new Set(j_(Ke)),ve=K_([L,...Ke.filter(Ye=>N.has(Ye.key))],J_(he,y)[0].rows);ve&&Oe.add(ve),D(Ye=>q_(Ye,Oe)?Ye:Oe)});let M=mu(()=>V_(v,T),[v,T]),X=!ii(L)&&!T.has(pu)?{key:pu,title:U_}:void 0,V=Z_(he=>he.selectedItem)!==null,U=r?.part??t??"",ge=`${l}:${U}:${String(g)}`,[te,Re]=JI(()=>({tab:eb.get(ge)})),We=`${l}:${U}`,Pe=X_(null),Ie={...C,node:u},Ee=QI(v,{values:u,context:Ie}).buckets,$e=g_({allTabs:V,remembered:eb.get(ge),inherited:Pe.current?.panel===We?Pe.current.tab:te.tab,buckets:Ee,hasText:A&&o>0}),oo=!A&&!Ee.includes($e)&&(QI(hh(b,u,{...C,device:"desktop"}),{values:u,context:{...Ie,device:"desktop"}}).buckets.includes($e)||$e==="Design"&&o>0);Y_(()=>{Pe.current={panel:We,tab:$e}});let yo=$e==="Design";return Yr(Q_.Provider,{value:n??null,children:Yr(Vx.Provider,{value:r?u:null,children:PX(RX,{fields:M,values:u,onChange:x,readOnly:f,allTabs:V,showWhenContext:Ie,context:{itemWord:s},tab:$e,onTab:he=>{eb.set(ge,he),Re({tab:he})},tabIcons:BX,idPrefix:l,ariaLabel:i("Section settings"),lead:yo?e:null,leadFold:X,closedFolds:P,onFold:(he,Ke)=>{Ke?hu.delete(he):hu.add(he),F(new Set(hu))},children:[Yr("span",{ref:O,hidden:!0}),oo&&Yr(qr,{})]})})})}import{useMemo as bZ}from"react";import{useEasel as yZ}from"efficient-easel/easel";import{useSectionOps as SZ}from"efficient-easel/screen/lib/document/use-section-ops";import{jsx as xa}from"react/jsx-runtime";import{ContrastIcon as MX,NoSymbolIcon as HX,HoverLiftIcon as WX,HoverNextImageIcon as $X,HoverRotateIcon as zX,HoverZoomIcon as o1,OpacityIcon as GX}from"efficient-easel/icons";import{customize as UX,describedAs as jX,group as KX}from"efficient-easel/screen/lib/document/box-fields";import{effectTiles as VX}from"efficient-easel/screen/lib/document/effect-tiles";import{deviceField as ot}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as qX,noControlField as YX}from"efficient-easel/screen/lib/document/panel-no-control-mark";var ob=e=>ot("desktop",KX("Hover",{dot:e})),t1=()=>ot("desktop",UX()),XX="What this does when a shopper points at it, or taps it on a phone.",ZX="What this picture does when a shopper points at it. Black and white shows it in grey until then. A phone shows its colour.",JX="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.",QX="What each card does when a shopper points at it, or taps it on a phone. Rotate turns the wheel picture.",eZ={none:()=>xa(HX,{}),nextImage:()=>xa($X,{}),rotate:()=>xa(zX,{}),zoom:()=>xa(o1,{}),lift:()=>xa(WX,{}),mono:()=>xa(MX,{})};function tb(e,o){let t=VX({label:i("Hover effect"),options:e.map(a=>({value:a,label:i(Jn[a]),picture:eZ[a]()})),fallback:o});return jX(t,{type:"select",label:"Hover effect",options:e.map(a=>({value:a,label:Jn[a]}))})}function a1(){return{[Sf]:ob({field:Mo,in:wf.filter(e=>e!=="none")}),[Mo]:ot("desktop",{...tb(wf,"none"),description:XX})}}function r1(e){let o=nE(e),t=bP(Sg);return{[Sf]:ob(o),[Me.kind]:ot("desktop",{...hs(tb(Cf,e),(a,r)=>wg(r??{},e)),description:QX}),[Dl]:YX({type:"custom",render:()=>xa(qX,{})},"always"),_cHover:t1(),[Me.angle]:ot("desktop",ao(hs(t,a=>Cg(a)),o)),[Me.duration]:ot("desktop",ao(ps("hover"),o)),[Me.delay]:ot("desktop",ao(ms("hover"),o))}}function ab(e,o=""){let t=cE(e);return{[Sf]:ob(t),[Me.kind]:n1(vf,e,ZX),_cHover:t1(),...Tg.includes(o)?oZ():{},[Me.duration]:ot("desktop",ao(ps("hover"),t)),[Me.delay]:ot("desktop",ao(ms("hover"),t))}}function oZ(){let e=iE(),o=No("Zoom",xa(o1,{}),ua.min,ua.max,ua.step,ua.min,ua.unit),t=No("Darken on hover",xa(GX,{}),Da.min,Da.max,Da.step,Da.fallback,Da.unit);return{[Nl.zoom]:ot("desktop",ao(o,e)),[Nl.darken]:ot("desktop",ao(t,e))}}function n1(e,o,t){let a=ot("desktop",{...hs(tb(e,o),r=>Pg({[Mo]:r},o,e)),description:t});return Object.assign(a,{[s1]:o})}var s1="sfPictureResting",e1=new WeakMap;function tAe(e,o,t){let a=e[Me.kind],r=a?.[s1];if(!a||!r)return e;let n=o.props?.[Mo]==="nextImage",s=n?null:ol(t.appState,o.props?.id),l=s?Hm(String(s.type),gt(o.props),s):null;if(!n&&!l?.next)return e;let c=e1.get(e);return c||(c={...e,[Me.kind]:n1(vg,r,JX)},e1.set(e,c)),c}import{customize as fZ}from"efficient-easel/screen/lib/document/box-fields";import{jsx as rb}from"react/jsx-runtime";import{DirectionIcon as tZ,LoopMarqueeIcon as aZ,NoSymbolIcon as rZ}from"efficient-easel/icons";import{customize as nZ,describedAs as sZ,group as lZ}from"efficient-easel/screen/lib/document/box-fields";import{effectTiles as iZ}from"efficient-easel/screen/lib/document/effect-tiles";function nb(){return c0("Direction",jI,ri,"A marquee cannot run diagonally, so the corners are not answers.",rb(tZ,{}),i0)}var sb=e=>lZ("Loop",e?{dot:e}:void 0),cZ={none:()=>rb(rZ,{}),scroll:()=>rb(aZ,{})};function dZ(){let e=iZ({label:i("Loop"),options:tu.map(({value:o,label:t})=>({value:o,label:i(t),picture:cZ[o]()})),fallback:UI});return sZ(e,{type:"select",label:"Loop",options:tu.map(({value:o,label:t})=>({value:o,label:t}))})}function l1(){return{_gLoop:sb(ai),loop:dZ(),_cLoop:nZ(),scrollDirection:ao(nb(),ai),loopDuration:ao(au({readsSpeed:!1}),ai),loopDelay:ao(ru(),ai)}}function uZ(){let e=ab("none");return Qs(e,Object.keys(e),Fm("bgImage"))}function i1(e,o=""){switch(e){case"section":case"block":return Pt();case"box":return{...Pt(),...l1(),...uZ()};case"picture":return{...Pt(),...ab(kg(o),o)};case"textPart":return{...Pt(),...a1()};case"cards":return{...Pt(),...r1(yg(o))};case"marquee":return{...Pt(),_gLoop:sb(),_cLoop:fZ(),scrollDirection:nb(),loopDuration:au({readsSpeed:!0}),loopDelay:ru()}}}import{phoneKey as pZ}from"efficient-easel/draw";import{ENTRANCE_STATE_ATTR as mZ,entranceAttrs as hZ}from"efficient-shell/format";var d1={},lb="_partMotion",ib=[...Object.values(ke).flatMap(e=>[e,pZ(e)]),Mo,Me.duration,Me.delay];function EAe(e){return ts(e,lb)}function gs(e,o){return Lf(e,lb,o)}var xZ=new Set([ke.kind,Mo]);function f1(e,o,t,a){let{[t]:r,...n}=gs(e,o),s=a==null||a===""||a==="none"&&xZ.has(t)?n:{...n,[t]:a};return Ff(e,lb,o,Object.keys(s).length?s:null)}function cb(e){return{entrance:iu(e),hover:aE(e)}}function u1(e){let o=cb(e);return o.entrance!==null||o.hover!=="none"}function p1(e,o){let{attrs:t,style:a}=hZ(o),r=Object.keys(t).filter(n=>t[n]!==void 0);for(let n of r)e.setAttribute(n,String(t[n]));for(let[n,s]of Object.entries(a))e.style.setProperty(n,String(s));return()=>{for(let n of r)e.removeAttribute(n);for(let n of Object.keys(a))e.style.removeProperty(n);e.removeAttribute(mZ)}}var gZ=4;function m1(e){let o;for(let t of e)(!o||t.element.compareDocumentPosition(o.element)&gZ)&&(o=t);return o}var IZ="data-sf-part-host";function h1(e){let o=e?.ownerDocument.defaultView,t=e;for(;t&&!t.hasAttribute(IZ)&&!t.classList.contains(su);){let a=o?.getComputedStyle(t).display??"";if(a==="contents")return null;if(a!=="inline")return t;t=t.parentElement}return null}var xu="data-sf-part-lift",c1="sf-part-lift";function x1(e){if(e.getElementById(c1))return;let o=e.createElement("style");o.id=c1,o.textContent=_E(`[${xu}]`).join(`
62
- `),e.head.appendChild(o)}var g1=new Map,wZ=e=>{let o=g1.get(e);return o||g1.set(e,o=G_(i1(e),`part:${e}`)),o},CZ=new Set(ib);function Is(e,o,t){let{getItemById:a,getSelectorForId:r}=yZ(f=>f),n=SZ(),s=a(e)?.props??{},l=gs(s,o),c=JSON.stringify(l),d=bZ(()=>Object.fromEntries(ib.map(f=>[f,l[f]])),[c]);return{part:o,fields:wZ(t),values:d,keys:CZ,onChange:(f,m)=>{let u=r(e),x=a(e);if(!u||!x)return;let g=f1(x.props??{},o,f,m);n.replaceComponent(u.zone,u.index,{...x,props:g})}}}import{Fragment as vZ,createElement as kZ}from"react";import{deviceField as db}from"efficient-easel/screen/lib/document/device-fields";var xo=()=>({type:"custom",render:()=>kZ(vZ)});var fb={words:xo(),sourceNote:xo(),style:xo(),font:xo(),italic:xo(),fontSize:db("each",xo()),lineHeight:xo(),letterSpacing:xo(),paragraphSpacing:xo(),padding:xo(),align:db("each",xo()),letterCase:xo(),fixedSizeHint:db("each",xo()),regionNote:xo(),regionStyle:xo()},TZ=["fontSize","align"];function I1(e){return TZ.includes(e)}var b1={showTicker:xo(),items:xo()};var NZ="root:default-zone";function y1({heroId:e}){let{appState:o,dispatch:t}=AZ(x=>x),a=o.data.content??[],r=a.findIndex(x=>x.props.id===e),n=r>=0?a[r]:null,s=n?n.props.showTicker??!0:!0,l=_Z(()=>{let x=n?.props.tickerItems;return Array.isArray(x)?x:YO.map(g=>({text:g}))},[n]),c=OZ(),d=DZ(),f=x=>BZ(b1[x],d),m=Is(e,XO,"block");if(!n)return Xr("p",{className:"sf-note",children:i("This ticker\u2019s hero is no longer on the page.")});let u=x=>t({type:"replace",destinationZone:NZ,destinationIndex:r,data:{...n,props:{...n.props,...x}}});return Xr(Et,{motion:m,body:EZ(PZ,{children:[!f("showTicker")&&!f("items")&&Xr(qr,{}),f("showTicker")&&Xr(RZ,{label:i("Show ticker"),labelId:c,icon:Xr(FZ,{}),action:Xr(LZ,{checked:s,onChange:x=>u({showTicker:x}),ariaLabelledBy:c})}),f("items")&&Xr(Qx,{label:Jx.label,icon:Jx.icon,items:l,placeholder:"item",onChange:x=>u({tickerItems:x}),markup:!0})]})})}import{jsx as Z,Fragment as mi,jsxs as tt}from"react/jsx-runtime";import{useContext as rJ,useEffect as pb,useRef as nJ,useState as M1}from"react";import{FieldSelect as sJ,InspectorField as lJ,fieldShownInView as iJ}from"efficient-easel/fields";import{InertHint as V1,SettingsField as cJ}from"efficient-easel/panel";import{InspectorUpLevel as ku}from"efficient-easel/chrome";import{StylesIcon as dJ,TypeIcon as fJ}from"efficient-easel/icons";import{useEasel as uJ}from"efficient-easel/easel";import{TextPartPanel as H1}from"efficient-easel/copy";import{Button as pJ,IconButton as mJ,Tooltip as hJ}from"efficient-shell/ui";import{jsx as S1,jsxs as MZ}from"react/jsx-runtime";import{COPY_CELLS as gu,CopyBox as HZ}from"efficient-easel/copy";import{PaddingYIcon as WZ}from"efficient-easel/icons";import{onDesktopWords as $Z}from"efficient-easel/screen/lib/document/box-fields";var zZ=["left","center","right","justify"];function Iu(e,o,t,a="desktop"){let r=zl(e),n=qg(a),s=e[n]??e.size??o.sizePx,l=DE(e,a);return[{...gu.fontSize,key:"fontSize",value:e[n],styleValue:Math.round(o.sizePx),onChange:c=>t({[n]:c??null}),...n==="size"?{}:{reset:{detail:l?$Z(c=>i(c),`${l.px}px`,l.view):void 0}}},{...gu.lineHeight,key:"lineHeight",value:r.lineHeight,styleValue:o.lineRatio,onChange:c=>t(c===void 0?{lineHeight:null,line:null}:{lineHeight:c})},{...gu.letterSpacing,key:"letterSpacing",scale:s,value:r.letterSpacingEm,styleValue:o.letterEm,onChange:c=>t(c===void 0?{letterSpacing:null,letter:null}:{letterSpacing:c})},{...gu.paragraphSpacing,key:"paragraphSpacing",value:e.paragraphSpacing,styleValue:0,onChange:c=>t({paragraphSpacing:c??null})},{key:"padding",name:i("Padding"),icon:S1(WZ,{}),unit:"px",step:Ug,shiftStep:10,min:zg,max:Gg,value:e.padding,styleValue:o.paddingPx,onChange:c=>t({padding:c??null})}]}function w1({text:e,onTextChange:o,multiline:t,markup:a=!0,styled:r=!0,style:n,base:s,setValue:l,colors:c,placeholder:d,ariaLabel:f,head:m,typedOnCanvas:u=!1}){let x=Iu(n,s,l),g=mg(a,t);return MZ("div",{className:"sf-part-textbox",children:[m,S1(HZ,{value:e,onChange:o,multiline:t,placeholder:d,ariaLabel:f,rules:ur,tools:g,barShows:u?"focus":"always",colors:a?c:[],colorNameOf:Uo,align:r?{value:n.align??s.align,allow:zZ,onChange:I=>l({align:I})}:void 0,letterCase:r?{value:n.case==="capitalize"?"":n.case??"",onChange:I=>l({case:I||null})}:void 0,cells:r?x:void 0})]})}import{UiIcon as W1}from"efficient-easel/draw/client";import{jsx as bu,Fragment as GZ,jsxs as UZ}from"react/jsx-runtime";import{Button as C1,Dialog as jZ}from"efficient-shell/ui";function v1({styleName:e,onCancel:o,onConfirm:t}){return bu(jZ,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Update {style}?",{style:e}),footer:UZ(GZ,{children:[bu(C1,{variant:"secondary",onClick:o,children:i("Cancel")}),bu(C1,{variant:"primary",onClick:t,children:i("Update style")})]}),children:bu("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 xJ}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewDevice as gJ}from"efficient-easel/draw/client";import{shownTier as Cu}from"efficient-easel/screen/lib/document/device-fields";import{jsx as KZ}from"react/jsx-runtime";import{createContext as VZ,useContext as qZ,useMemo as YZ,useState as XZ}from"react";var ZZ={partStyle:null,setPartStyle:()=>{}},k1=VZ(ZZ);function IRe({children:e}){let[o,t]=XZ(null),a=YZ(()=>({partStyle:o,setPartStyle:t}),[o]);return KZ(k1.Provider,{value:a,children:e})}function T1(){return qZ(k1)}import{TEXT_FIELD_MARKER as IJ}from"efficient-easel/draw";import{useSectionOps as bJ}from"efficient-easel/screen/lib/document/use-section-ops";var ci="@name",P1="@body",E1="@value",O1={[ci]:"Name",[P1]:"Body",[E1]:"Value"},JZ={TimelineTrack:{"entries.date":ci,"entries.title":ci,"entries.blurb":P1},Footprint:{"offices.city":ci},Stats:{"items.label":ci,"items.value":E1}};function QZ(e){let{key:o,row:t}=kt(e);return t?`${o}.${t.rowKey}`:null}function di(e,o){if(!e)return o;let t=QZ(o);return t?JZ[e]?.[t]??o:o}import{useEaselHost as yJ}from"efficient-easel/screen/lib/host";function eJ(e){let o=new Set([...Object.keys(id[e]??{}),...cd[e]??[]]);for(let[t,a]of Object.entries(Hh[e]??{}))a.verb==="snapshot"&&o.add(t);return[...o].sort()}var oJ={CollectionCard:"product",FooterMenu:"menu",Gallery:"product",GalleryItem:"product",ProductGrid:"product",ProductHero:"product",SpecTable:"product",Events:"blog",FeaturedCover:"blog",LongRead:"blog",SubscribeBlogs:"blog"},_1={product:"Synced from the product.",blog:"Synced from the blog post.",menu:"Synced from the site menu."},A1="Open",R1={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 bs(e){let o=e?.source?.slug;return ee(o)}function fi(e){return oJ[e]??null}function L1(e,o){let t=fi(e);return t&&eJ(e).includes(o)?t:null}function yu(e){let o=e?.menu?.id;return ee(o)}var ui={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)]"},tJ={tag:{label:"Tag",follows:"Labels",builtIn:es(ui.tag),writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:es(ui.name),writable:!0},body:{label:"Body",follows:"Body",builtIn:es(ui.body),writable:!0},price:{label:"Price",follows:"Labels",builtIn:es(ui.price),writable:!0},link:{label:"Link",follows:"Labels",builtIn:es(ui.link),writable:!0}},F1=tJ;var aJ={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}},B1=aJ;var Su={entry:{label:"Entry",follows:"Labels",builtIn:"13px",writable:!0},number:{label:"Entry number",follows:"Labels",builtIn:"13px",writable:!0}};var RRe=Af,D1={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 ub={SpecTable:D1,FAQ:B1,Collections:F1,Contents:Su};function N1(){return Pa("efficient.section-text-regions",()=>new Map)}function HRe(e){let o=N1();for(let[t,a]of Object.entries(e)){if(Object.hasOwn(ub,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 wu(e){return e?Object.hasOwn(ub,e)?ub[e]:N1().get(e)??null:null}function mb(e){return e?i(e):null}function $1(e){return e.kind==="role"?Jp[e.role]:e.kind==="custom"?"Custom":null}function SJ(e){let o=Zt(e.role);return o?{kind:"role",role:o}:null}function wJ(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 vu(e,o,t,a){return SJ($l(e,o))??wJ(t,a)}function CJ(e,o){if(!e.length)return null;let t=o(e[0]);return e.every(a=>o(a)===t)?t:null}function z1(e){return[{value:pi,label:i("No style"),description:i("Section\u2019s own")},...e.map(o=>({value:o.id,label:o.name,description:o.values.font?In(o.values.font)?.label:void 0}))]}var pi="";function vJ({face:e,base:o,onPick:t}){let a=e.kind==="role"?e.role:pi,r=[{label:i("No style"),value:pi},...TS.map(n=>({label:i(Jp[n]),value:n}))];return Z(sJ,{ariaLabel:i("Style"),value:a,options:r,inline:!0,onChange:n=>t(n===pi?null:n),renderOption:n=>n.value===pi?tt(mi,{children:[Z("span",{className:"es-fsel-label sf-part-style-keep",children:n.label}),Z("span",{className:"sf-part-style-aside","aria-hidden":"true",children:i("Section\u2019s own")})]}):Z("span",{className:"es-fsel-label",style:{fontFamily:`var(--font-role-${n.value})`},children:n.label}),renderValue:()=>Z("span",{style:{fontFamily:o?.fontKey?`var(${In(o.fontKey)?.cssVar})`:void 0,fontWeight:o?.weight},children:mb($1(e))}),valueText:n=>mb($1(e))??n?.label??""})}var q1=["regionNote","regionStyle"],kJ=Object.keys(fb).filter(e=>!q1.includes(e));function Y1(e,o){return!e.some(o)}function TJ({sectionName:e,onBack:o,textEditor:t,styleRow:a,children:r,tabs:n}){let s=tt(mi,{children:[t,a,r]});return tt("div",{className:"sf-part-panel",children:[Z(ku,{inline:!0,name:i(e),onSelect:o}),n?n(s):s]})}function Tu({source:e,slug:o,menuId:t}){let a=yJ(),r=R1[e],n=!r.needsSlug||!!o;return Z("div",{className:"sf-note sf-note--source",children:tt(V1,{children:[i(_1[e]),n?tt(mi,{children:[" ",Z(pJ,{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(A1)})]}):null]})})}var G1=4,PJ=120;function U1(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 j1({region:e,sizePx:o,face:t,base:a,onFollowStyle:r,source:n,slug:s,onBack:l,shows:c,sizedStyle:d,ownLook:f}){let m=e.follows;return tt("div",{className:"sf-note",children:[Z("p",{children:Z("strong",{children:i(e.label)})}),c("regionNote")&&!f&&Z("p",{children:o?i("Its size follows Styles \u25B8 {follows} \u2014 {px}px right now.",{follows:i(m),px:Math.round(o)}):i("Its size follows Styles \u25B8 {follows}.",{follows:i(m)})}),d?tt(mi,{children:[d,c("regionStyle")&&Z("p",{className:"es-field-hint",children:U1(e)})]}):r?c("regionStyle")?Z(mi,{children:Z(cJ,{label:i("Style"),icon:Z(dJ,{}),hint:U1(e),children:Z(vJ,{face:t,base:a,onPick:r})})}):null:c("regionNote")&&Z("p",{className:"es-field-hint",children:i("Only the size follows a site style. This section sets its own font, weight and letter case.")}),n&&c("sourceNote")?Z(Tu,{source:n,slug:s}):null,Y1([...q1,"sourceNote",...d?["fontSize"]:[]],u=>c(u)&&(u!=="sourceNote"||!!n))&&Z(qr,{}),Z(ku,{inline:!0,name:i("Page"),onSelect:l})]})}function EJ({onBack:e}){return tt("div",{className:"sf-note",children:[Z("p",{children:Z("strong",{children:i("This part is no longer here.")})}),Z("p",{children:i("The section it belonged to has been changed or removed.")}),Z(ku,{inline:!0,name:i("Page"),onSelect:e})]})}function OJ({onBack:e,partId:o,why:t}){return tt("div",{className:"sf-note",children:[Z("p",{children:Z("strong",{children:i("This part's settings did not open.")})}),Z("p",{children:i("The words are still on your page and nothing has been lost. The editor could not work out which control belongs to them, which is a fault on our side. Go back and click the section to open its settings instead.")}),Z("p",{className:"sf-note-detail",children:tt("code",{children:[o," \u2014 ",t]})}),Z(ku,{inline:!0,name:i("Page"),onSelect:e})]})}function X1({nodeId:e,propKey:o,onBack:t,onEditStyle:a}){let{getItemById:r,getSelectorForId:n,config:s}=uJ(G=>G),l=bJ(),c=H0(),{partStyle:d}=T1(),{fonts:f,textStyles:m}=xe(),u=rJ(xJ),x=!u?.capabilities?.hasSiteTheme,{persist:g}=Nn({themeFromDocument:x,tokenRef:u?.tokenRef,siteId:u?.siteId??null}),I=$f({themeFromDocument:x,persist:g}),[k,C]=M1(!1),w=gJ(),b=G=>(Cu(w)!=="tablet"||I1(G))&&iJ(fb[G],w),v=nJ(null),P=r(e),F=n(e),T=P?s.components[P.type]:void 0,{key:D,row:O}=kt(o),R=T?.fields?.[D],N=O?Zn(R,O):R,y=sf(e,o),A=P?.props??{},L=qn(N),M=Kd(N),X=ng(N),V=P?fi(P.type):null,U=P?L1(P.type,D):null,ge=O?Ll(A[D],O):A[D],te=!!O&&!(Array.isArray(A[D])&&O.index<A[D].length);pb(()=>{M0(document)||v.current?.querySelector(".es-copy [contenteditable='true'], .es-copy textarea, .sf-copybox textarea, .sf-copybox input")?.focus()},[y]);let[Re,We]=M1(0);pb(()=>We(0),[y]);let Pe=!!P&&!te&&(!F||!N);pb(()=>{if(!Pe||Re>=G1)return;let G=setTimeout(()=>We(Ve=>Ve+1),PJ);return()=>clearTimeout(G)},[Pe,Re]);let Ie=Pe&&Re<G1,Ee=Is(e,di(P?.type,o),"textPart");if(!P||te)return Z(EJ,{onBack:t});let $e=wu(P.type),oo=$e?Ml($e,o):null;if($e&&oo){let G=d?.partId===y?d:null,Ve=$e[oo],ut=Ve.writable===!0&&!!F,wa=sr=>{F&&l.replaceComponent(F.zone,F.index,{...P,props:pa(A,o,"role",sr)})};if(ut&&CE(Ve)){let sr=$l(A,o),kS=lr=>{if(!F)return;let Zp=A;for(let[IM,bM]of Object.entries(lr))Zp=pa(Zp,o,IM,bM??null);l.replaceComponent(F.zone,F.index,{...P,props:Zp})},hM=ma(I.saved,I.old),xM=$g(sr)??"",gM=Iu(sr,G?.base??K1,kS,Cu(w)).filter(lr=>lr.key==="fontSize"&&b(lr.key));return Z(Et,{motion:Ee,body:Z(j1,{region:Ve,sizePx:G?.base.sizePx??null,face:vu(A,o,G,f),base:G?.base??null,source:V,slug:bs(A),onBack:t,shows:b,ownLook:ME(sr),sizedStyle:Z(H1,{style:b("style")?{value:xM,options:z1(hM),onChange:lr=>kS(lr?{textStyle:lr}:{textStyle:null,role:null}),onEditStyles:a}:void 0,cells:gM})})})}return Z(Et,{motion:Ee,body:Z(j1,{region:Ve,sizePx:G?.base.sizePx??null,face:vu(A,o,G,f),base:G?.base??null,onFollowStyle:ut?wa:void 0,source:V,slug:bs(A),onBack:t,shows:b})})}if(!F||!N)return Ie?Z("div",{className:"sf-note","aria-busy":"true"}):Z(OJ,{onBack:t,partId:y,why:F?"no field":"no selector"});let yo=G=>{l.replaceComponent(F.zone,F.index,{...P,props:G})},he=G=>{if(ja(G).hidden!==ja(ge).hidden||!L){let Ve=O?ag(A,D,O,G):{...A,[D]:G};Ve&&yo(Ve);return}df({node:P,propKey:o,kind:L,zone:F.zone,index:F.index},ja(G).text,l.replaceComponent)},Ke=ge,Oe=d?.partId===y?d:null,ve=Oe?.styleOwner,Ye=ve?r(ve.owner):null,Lt=ve&&Ye?n(ve.owner):null,Ro=!!(ve&&Ye&&Lt),H=Ro?Ye.props??{}:A,Le=Ro?G=>l.replaceComponent(Lt.zone,Lt.index,{...Ye,props:G}):yo,ne=Ro?ve.kind:di(P?.type,o),Fe=$l(H,ne),_e=[{partKey:ne,face:vu(H,ne,Oe,f),sizeGroup:Oe?.sizeGroup??null,base:Oe?.base??K1,style:Fe}],dt=CJ(_e,G=>G.sizeGroup),Ft=Fn(Oe?.inks),Xe=(G,Ve)=>{let ut=H;for(let wa of _e)ut=pa(ut,wa.partKey,G,Ve);Le(ut)},ft=G=>G?Xe("textStyle",G):Bt({textStyle:null,role:null}),Bt=G=>{let Ve=H;for(let ut of _e)for(let[wa,sr]of Object.entries(G))Ve=pa(Ve,ut.partKey,wa,sr??null);Le(Ve)},xn=L==="text"||L==="textarea",{text:Ws,hidden:Xt}=ja(ge),rr=N?.[IJ]?.label??o,gn=Xt?i("Show {label} on the slide",{label:i(rr)}):i("Hide {label} on the slide",{label:i(rr)}),wS=tt("div",{className:"sf-field-head",children:[Z(fJ,{}),Z("span",{className:"sf-field-label sf-field-label--inline",children:i(rr)}),xn&&Z(hJ,{content:gn,children:Z(mJ,{"aria-pressed":Xt,"aria-label":gn,onClick:()=>he({text:Ws,hidden:!Xt}),children:Xt?Z(W1,{name:"eye-off",size:14}):Z(W1,{name:"eye",size:14})})})]}),ic=!M&&X,iM=!!L&&(VP(N)||M||Xt||!X),CS=vu(H,ne,Oe,f),cM=CS.kind==="role"?CS.role:null,Xp=$g(Fe)??QE(cM),vS=ma(I.saved,I.old),dM=Object.entries(Fe).filter(([G,Ve])=>G!=="role"&&G!=="textStyle"&&Ve!==void 0).length,fM=()=>{let G=H;for(let Ve of _e){let{role:ut,textStyle:wa}=Ve.style;G=LE(G,Ve.partKey),ut&&(G=pa(G,Ve.partKey,"role",ut)),wa&&(G=pa(G,Ve.partKey,"textStyle",wa))}Le(G)},nr=Xp,uM=eO(_e[0].style),pM=nr?vS.find(G=>G.id===nr)?.name??nr:"",mM=()=>{C(!1),nr&&(I.write(oO({saved:I.saved,old:I.old,styleId:nr,values:rI(_e[0].style)}),!0),fM())};return tt(TJ,{sectionName:T?.label??P.type,onBack:t,tabs:G=>Z(Et,{motion:Ee,body:G}),textEditor:b("words")?Z("div",{ref:v,className:"sf-part-text",children:iM?Z(w1,{text:Ws,onTextChange:G=>he(xn?{text:G,hidden:Xt}:G),multiline:tf(L),markup:L!=="plainText",styled:!1,style:_e[0].style,base:_e[0].base,setValue:Bt,colors:Ft,placeholder:mb(x0(N))??void 0,ariaLabel:i(rr),head:wS,typedOnCanvas:c===y}):L?xn?wS:null:Z(lJ,{field:N,name:o,value:Ke,onChange:he,id:`sf-part-${e}-${o}`})}):void 0,children:[U&&b("sourceNote")&&Z(Tu,{source:U,slug:bs(A),menuId:yu(A)}),ic&&Z(H1,{style:b("style")?{value:Xp??"",options:z1(vS),onChange:G=>ft(G||null),changed:dM>0,onEditStyles:a,onUpdateStyle:nr&&uM?()=>C(!0):void 0}:void 0,font:b("font")?{value:Fe.font??"",styleValue:In(_e[0].base.fontKey)?.label,options:pt.map(G=>({label:G.label,value:G.key})),onChange:G=>Xe("font",G||null)}:void 0,italic:b("italic")?{value:Fe.italic,styleValue:RJ(m,Xp),onChange:G=>Xe("italic",G??null)}:void 0,cells:Iu(_e[0].style,_e[0].base,Bt,Cu(w)).filter(G=>b(G.key)),align:b("align")?AJ(Fe,_e[0].base.align,Cu(w),Xe):void 0,letterCase:b("letterCase")?{value:Fe.case??"",styleValue:_e[0].base.case,onChange:G=>Xe("case",G||null)}:void 0}),k&&nr&&Z(v1,{styleName:pM,onCancel:()=>C(!1),onConfirm:mM}),ic&&dt===null&&b("fixedSizeHint")&&Z(V1,{children:i("Fixed size \u2014 the site\u2019s Text setting doesn\u2019t resize this.")}),Y1(kJ,G=>b(G)&&(G==="words"||(G==="sourceNote"?!!U:G==="fixedSizeHint"?ic&&dt===null:ic)))&&Z(qr,{})]})}var _J={desktop:"align",tablet:"alignTablet",mobile:"alignPhone"};function AJ(e,o,t,a){let r=_J[t],n=BE(e,t);return{value:e[r]??"",styleValue:n??o,onChange:s=>a(r,s||null)}}function RJ(e,o){return!o||!Array.isArray(e)?!1:e.find(t=>t?.id===o)?.values?.italic===!0}var K1={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0};import{jsx as Ot,jsxs as Cb,Fragment as WJ}from"react/jsx-runtime";import{useCallback as $J,useRef as zJ,useState as gi}from"react";import{InspectorIconButton as GJ}from"efficient-easel/chrome";import{useEasel as UJ}from"efficient-easel/easel";import{PopupMenu as jJ,PopupMenuItem as KJ,PopupMenuLabel as Fu}from"efficient-shell/ui";import{CopyToPageIcon as VJ}from"efficient-easel/icons";import{useEaselSession as qJ}from"efficient-easel/screen/lib/session-context";import{cloneNodeWithFreshIds as YJ}from"efficient-easel/screen/lib/document/section-doc";import{FOOTER_TYPE as XJ}from"efficient-easel/draw";import{currentEaselSession as LJ}from"efficient-easel/screen/lib/session";var FJ={general:!0,commerce:!0,service:!0};function hb(e){let o=e?.sets;return o?Object.fromEntries(xw.map(t=>[t,o.includes(t)])):FJ}function xb(e=LJ()){return hb(e.blocks)}import{isBackendError as ys}from"efficient-easel/screen/lib/backend-error";import{isEfficientBackend as lA}from"efficient-easel/screen/lib/session";var Pu=Fc(),gb=Pu.set;function Eu(e,o){gb(e,o)}function Ou(e,o){let t=Pu.get(e);gb(e,o??(t==="live"?"changed":t))}function _u(e,o){gb(e,o??"live")}function Z1(e){return Pu.get(e)}function J1(e){return Pu.use(e)}function Q1(e,o){return e==="live"&&o?"changed":e}function Ib({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 eA(e){return e.map(o=>o.change==="take_down"?i("{name} (taken down)",{name:o.name}):o.name)}var oA="SharedSection",BJ=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,hi=e=>{let o=e?.content;return Array.isArray(o)?o:[]},xi=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0};function tA(e){if(e?.type!==oA)return null;let o=e.props?.section;return typeof o=="string"&&BJ.test(o)?o.toLowerCase():null}function aA(e){let o=[];for(let t of hi(e)){let a=tA(t),r=xi(t);a&&r&&o.push({refId:r,section:a})}return o}function Au(e){let o=hi(e)[0];return o&&typeof o=="object"&&xi(o)?o:null}function DJ(e,o){return{type:oA,props:{id:e,section:o}}}function rA(e,o){let t=new Map,a=new Set,r=!1,n=hi(e).map(s=>{let l=tA(s),c=xi(s);if(!l||!c||a.has(l))return s;let d=Au(o.get(l)),f=xi(d??void 0);return!d||!f||t.has(f)?s:(a.add(l),t.set(f,{section:l,refId:c,reference:s}),r=!0,d)});return{working:r?{...e,content:n}:e,held:t}}function nA(e,o,t){let a=new Map,r=!1,n=hi(e).map(s=>{let l=xi(s),c=l?o.get(l):void 0,d=c?t.get(c.section):void 0;if(!c||!d||a.has(c.section))return s;let f=hi(d).slice(1),m=Au(d);return a.set(c.section,m===s?d:{...d,content:[s,...f]}),r=!0,c.reference??DJ(c.refId,c.section)});return{page:r?{...e,content:n}:e,docs:a}}var Ru=null;function bb(e){Ru=e}function sA(){return!!(Ru&&Ru.state().lockHolder)}function Zr(){return Ru!==null}function wb(e){return!!(e?.publish&&e.liveState)}function NJ(e,o){if(!wb(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 MJ(e,o){return async(t,a)=>{try{await Gk()}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"?ud({state:"live",changes:[]}):ta(0),{version:a??null}}}function Sb(e,o,t){let a=o?{siteId:o}:void 0;return{resolve:r=>e.load({slug:r,...a}).then(n=>(n&&(Eu(n.id,n.live),ZC(n.id,n.videoFrames)),n)),saveLayout:(r,n,s,l)=>e.save(r,{layout:n},{version:s,clientId:l??""}).then(c=>(Ou(r,c.live),JC(r,c.videoFrames),ta(),c)),rereadVersion:e.version?r=>e.version(r):void 0,publish:wb(t)?MJ(t,a):e.publish?(r,n)=>e.publish(r,n?{version:n}:void 0).then(s=>(_u(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 HJ(e,o,t,a,r=!1){let n=null,s=new Set,l=!1,c=new Map,d=new Map,f=new Map,m=new Map,u={docId:null,lockHolder:null,conflict:null,saveFailed:!1,unpublished:!1,loadFailed:!1,sections:[]},x=new Set,g=()=>{if(!n)return!1;let O=Z1(n.id);return O==="changed"||O==="never"||O===void 0&&l},I=O=>{u={...u,...O,docId:n?.id??null,unpublished:g(),sections:[...f.values()]};for(let R of x)R()},k=(O,R,N)=>{R?f.set(O,{section:O,title:c.get(O)?.title??"",problem:R,holder:N}):f.delete(O)},C=O=>O&&typeof O=="object"&&!Array.isArray(O)?O:{},w=O=>s.has(O),b=()=>new Map([...c].map(([O,R])=>[O,R.layout])),v=()=>`SharedSection-${typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():Math.random().toString(36).slice(2)}`,P=(O,R,N,y)=>{let A=C(R);c.set(O,{layout:A,version:N,savedJson:JSON.stringify(A),title:y})},F={state:()=>u,subscribe:O=>(x.add(O),()=>{x.delete(O)})},T={sectionOf:O=>d.get(O)?.section??null,heldElsewhere:O=>{let R=d.get(O)?.section;return!!(R&&f.get(R)?.problem==="lock")},adopt:(O,R)=>{P(R.id,R.layout,R.layout_updated_at,R.title),d.set(O,{section:R.id,refId:v()}),m.set(R.id,R.used_on),I({})},place:O=>{if([...d.values()].some(y=>y.section===O.id))return null;let R=Au(C(O.layout)),N=typeof R?.props?.id=="string"?R.props.id:null;return!R||!N||!R.type?null:(P(O.id,O.layout,O.layout_updated_at,O.title),d.set(N,{section:O.id,refId:v()}),m.set(O.id,O.used_on),R)},usedOn:O=>m.get(O)??null,learn:O=>{for(let R of O){m.set(R.id,R.used_on);let N=c.get(R.id);N&&(N.title=R.title);let y=f.get(R.id);y&&f.set(R.id,{...y,title:R.title})}I({})}},D=async(O,R)=>{for(let[N,y]of O){let A=c.get(N),L=JSON.stringify(y);if(!(!A||L===A.savedJson||f.get(N)?.problem==="lock"))try{let M=await e.save(N,{layout:y},{version:A.version,clientId:R??""});Ou(N,M.live),A.layout=y,A.version=M.version,A.savedJson=L,k(N,null)}catch(M){ys(M,"changed-elsewhere")?k(N,"conflict"):ys(M,"lock-taken")?k(N,"lock",M.holder??void 0):k(N,"save")}}O.size&&ta(),I({})};return{resolve:async O=>{if(bb(O===wt?null:F),oh(O===wt?null:T),c=new Map,d=new Map,f=new Map,m=new Map,O===wt)return t.resolve(O);let R=!1,[N,y]=await Promise.all([t.resolve(O),e.load({slug:wt,...o}).catch(()=>(R=!0,null))]);if(y&&!bl(N?.layout)){Eu(y.id,y.live);let U=C(y.layout);n={id:y.id,layout:U,version:y.version,savedJson:""}}else n=null;if(l=!1,!N)return I({conflict:null,saveFailed:!1,loadFailed:R}),N;let A=C(N.layout),L=aA(A),M=await Promise.all(L.map(U=>e.load({id:U.section,...o}).catch(()=>null)));L.forEach((U,ge)=>{let te=M[ge];te?(Eu(te.id,te.live),P(U.section,te.layout,te.version,"")):(c.delete(U.section),f.set(U.section,{section:U.section,title:"",problem:"load"}))});let X=rA(A,b());if(d=X.held,!n)return d.size&&s.add(N.id),I({conflict:null,saveFailed:!1,loadFailed:R}),d.size?{...N,layout:X.working}:N;let V=KC(X.working,n.layout);return n.savedJson=JSON.stringify(eh(V,n.layout).chrome),s.add(N.id),I({conflict:null,saveFailed:!1,loadFailed:!1}),{...N,layout:V}},saveLayout:async(O,R,N,y)=>{if(!w(O))return t.saveLayout(O,R,N,y);let A=n,L=A?eh(R,A.layout):{page:R,chrome:null},M=nA(L.page,d,b()),X=await t.saveLayout(O,M.page,N,y);if(await D(M.docs,y),!A)return X;let V=JSON.stringify(L.chrome);if(!L.chrome||V===A.savedJson||u.lockHolder)return X;try{let U=await e.save(A.id,{layout:L.chrome},{version:A.version,clientId:y??""});Ou(A.id,U.live),ta(),A.layout=L.chrome,A.version=U.version,A.savedJson=V,l=!0,I({conflict:null,saveFailed:!1})}catch(U){ys(U,"changed-elsewhere")?I({conflict:U.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):ys(U,"lock-taken")?I({lockHolder:U.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}}):I({saveFailed:!0})}return X},publish:t.publish?async(O,R)=>{let N=await t.publish(O,R),y=n;if(y&&w(O)&&!r&&e.publish&&g()&&!u.lockHolder){let A=await e.publish(y.id,y.version?{version:y.version}:void 0);_u(y.id,A.live),A.version!==null&&(y.version=A.version),l=!1,I({})}if(w(O)&&!r&&e.publish)for(let[A,L]of c){if(f.get(A)?.problem==="lock")continue;let M=await e.publish(A,L.version?{version:L.version}:void 0);_u(A,M.live),M.version!==null&&(L.version=M.version)}return N}:void 0,lock:a?{claim:async(O,R,N)=>{let y=await a.claim(O,R,N);if(!w(O))return y;let A=n;if(A)try{await a.claim(A.id,R,!1),u.lockHolder&&I({lockHolder:null})}catch(L){ys(L,"lock-taken")&&I({lockHolder:L.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}})}for(let L of c.keys())try{await a.claim(L,R,!1),f.get(L)?.problem==="lock"&&k(L,null)}catch(M){ys(M,"lock-taken")&&k(L,"lock",M.holder??void 0)}return c.size&&I({}),y},release:async(O,R)=>{if(await a.release(O,R),!w(O))return;let N=n;N&&!u.lockHolder&&await a.release(N.id,R).catch(()=>{});for(let y of c.keys())f.get(y)?.problem!=="lock"&&await a.release(y,R).catch(()=>{})}}:void 0,pinnedChrome:F}}function Lu(e){let o=(t,a,r)=>e.save(t,a.layout?{...a,layout:TC(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 eFe(e,o,t){return e.update(o,PC(t))}function oFe(e,o=Ge(),t=xb(),a={}){let r=lA(o),n=e?{siteId:e}:void 0,s=r?!!e:!0,l=o.site.update,c=r&&t.commerce&&t.service,d=!!a.editsPinnedInPlace&&c,f=wb(o.site)?o.site:void 0,m=Lu(o.pages),u=Sb(m,e,f),x=d?HJ(m,n,u,o.lock,!!f):null;return{capabilities:{canPublish:!!f||!!o.pages.publish,hasSiteSettings:r,hasSiteTheme:!!o.theme,placeholderFrames:!1,mediaEditing:!0,pageCreationInAdminForm:!o.pages.create,canDeletePagesInline:!!o.pages.remove,hasEditLock:!!o.lock,hasEditGuard:!0,hasPinnedChrome:c,editsPinnedInPlace:d,explainsSiteSettings:!1,hasSiteRecord:s,canEditSiteRecord:s&&!!l,hasPreviewLink:r||!!o.preview,hasCatalog:r&&t.commerce,hasForms:r&&t.service,hasBlog:!!o.blog&&t.service,offersCommerce:t.commerce,offersService:t.service},...u,...iA(u.resolve),lock:o.lock,...x,site:s?()=>o.site.get(n):void 0,siteLiveState:f?()=>f.liveState(n):void 0,siteVersions:NJ(f,n),updateSite:s&&l?g=>l(g,n):void 0,previewHref:o.preview?g=>o.preview.href(g):void 0}}function tFe(e,o=Ge(),t=xb()){let a=lA(o),r=o.templates,n=r?Lu(r.pages(e)):{list:()=>Promise.reject(new Error(yb)),load:()=>Promise.reject(new Error(yb)),save:()=>Promise.reject(new Error(yb))};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},...Sb(n,void 0),...iA(Sb(n,void 0).resolve),publish:void 0,templateName:r?()=>r.get(e).then(s=>s.name):void 0}}function iA(e){return{resolve:o=>(bb(null),oh(null),e(o))}}var yb="This editor's backend has no website templates.";function ZJ(e,o,t){let a=YJ(e,void 0,o);return t?.(a)??a}function cA({node:e,currentSlug:o,siteId:t,tokenRef:a,runAuthed:r,onNotify:n}){let[s,l]=gi(!1),[c,d]=gi(null),f=qJ(),m=UJ(T=>T.config.components),[u,x]=gi(!1),[g,I]=gi(null),k=zJ(null),[C,w]=gi(null),b=$J(async()=>{if(f.usesBridgedToken&&!a.current){x(!0);return}try{d(await Ge(f).pages.list(t?{siteId:t}:void 0))}catch{x(!0)}},[a,t,f]),v=()=>{if(s){l(!1);return}let T=k.current?.getBoundingClientRect();T&&w({top:T.bottom+6,right:Math.max(8,window.innerWidth-T.right)}),d(null),x(!1),b(),l(!0)},P=(c??[]).filter(T=>T.slug!==o),F=async T=>{if(g)return;I(T.slug);let D=ZJ(e,m,f.documentHooks?.storedNode),O=await r(()=>JJ(Ge(f).pages,T,D));I(null),l(!1),n?.(O?i("Duplicated to \u201C{name}\u201D",{name:T.label}):i("Couldn\u2019t duplicate the section \u2014 please retry"),O?"success":"error")};return Cb(WJ,{children:[Ot("span",{"data-menu-toggle":!0,style:{display:"contents"},children:Ot(GJ,{buttonRef:k,label:i("Duplicate to another page"),hasPopup:"menu",expanded:s,onClick:v,children:Ot(VJ,{size:15})})}),s&&C&&Ot(jJ,{portal:!0,style:{top:C.top,right:C.right},onClose:()=>l(!1),children:Cb("div",{role:"menu","aria-label":i("Duplicate to page"),children:[Ot(Fu,{children:i("Duplicate to page")}),u?Ot(Fu,{children:i("Couldn\u2019t load pages")}):c===null?Ot(Fu,{children:i("Loading\u2026")}):P.length===0?Ot(Fu,{children:i("No other pages")}):P.map(T=>Cb(KJ,{role:"menuitem",disabled:g!==null,onClick:()=>{F(T)},children:[Ot("span",{className:"min-w-0 flex-1 truncate",children:T.label}),g===T.slug?Ot("span",{className:"shrink-0 text-xs",children:i("Copying\u2026")}):T.draft&&Ot("span",{className:"shrink-0 text-xs",children:i("draft")})]},T.id))]})})]})}async function JJ(e,o,t){let a=Lu(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===XJ);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 Rae}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSectionOps as Lae}from"efficient-easel/screen/lib/document/use-section-ops";import{SELECTION_MODE as m6e,isSelectionMode as By}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as Fae}from"efficient-easel/draw/client";import{jsx as Ii,jsxs as QJ}from"react/jsx-runtime";import{SettingsDrill as eQ}from"efficient-easel/panel";import{UiIcon as oQ}from"efficient-easel/draw/client";var tQ="Not shown on the page";function aQ({part:e,onOpen:o}){return Ii(eQ,{name:i(e.label),preview:e.offPage?i(tQ):e.preview||i("Empty"),offPage:e.offPage,status:e.hidden?Ii("span",{className:"sf-entry-eye",role:"img","aria-label":i("Hidden on the page"),children:Ii(oQ,{name:"eye-off",size:14})}):void 0,onOpen:()=>o(e.key)})}function vb(e){return e.filter(o=>!o.identifier)}function dA({parts:e,onOpen:o,heading:t=!0}){let a=vb(e);return a.length?QJ("div",{className:"sf-entries",children:[t?Ii("h3",{className:"sf-entries-head",children:i("Text")}):null,a.map(r=>Ii(aQ,{part:r,onOpen:o},r.key))]}):null}import{HEADER_TYPE as Bae,ROOT_ZONE as mB}from"efficient-easel/draw";import{HEADER_TYPE as Ho,FOOTER_TYPE as He,newNodeId as rQ}from"efficient-easel/draw";function Bu(){return{type:Ho,props:{id:rQ(Ho)}}}var fA=[{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"}],nQ=fA.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),sQ="FooterGroup",uA="blocks";function pA(e){return e===He?fA:e===sQ?nQ:null}function Du(){let e=(o,t)=>({type:o,props:{id:`${o}-${crypto.randomUUID()}`,...t}});return[e("FooterLogo",{widthPct:100,align:"left",tagline:""}),e("FooterEmailSignup",{...xT}),e("FooterPayment",{...gd})]}function kb(e){switch(e?.type){case Ne:case Ae:return i("On every page");case Ho:case He:return i("On every page \xB7 old style");default:return null}}var mA=()=>null,hA=()=>i("Changed on every page");function Nu(e,o){let t=Ev(e,o);if(t)return t;let a=WC(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 wp,Fragment as mae,jsxs as hae}from"react/jsx-runtime";import{useState as xae}from"react";import{createNode as gae,newId as Iae}from"efficient-easel/data";import{useEasel as bae}from"efficient-easel/easel";import{Banner as yae,Button as Ly}from"efficient-shell/ui";import{useScreenDocument as Sae}from"efficient-easel/screen/components/ScreenDocumentContext";import{isNodeList as lQ}from"efficient-easel/data";import{hiddenKeyOf as iQ}from"efficient-easel/screen/lib/content/view-hide";var Mu="Flex",cQ={FooterMenu:"MenuBlock",FooterEmailSignup:"EmailFormBlock",FooterSocial:"SocialLogosBlock"},dQ={FooterPayment:"PaymentLogosBlock"},fQ=e=>{let{id:o,...t}=e;return t},xA=e=>typeof e=="string"?e:"",Ss={sm:12,md:13,lg:15},gA={sm:{mark:16,words:Ss.sm},md:{mark:20,words:Ss.md}},uQ="md",IA=1.5,pQ={size:13,lineHeight:IA,width:280},mQ=14,hQ=40,xQ=e=>e==="center"||e==="right"?e:"left";function gQ(e){let o={},t=[["padTop","sectionPaddingTop"],["padRight","sectionPaddingRight"],["padBottom","sectionPaddingBottom"],["padLeft","sectionPaddingLeft"]];for(let[a,r]of t){let n=j(e[a]);n&&(o[r]=n)}return o}function IQ(e,o,t){let a=t(e,fQ(o));if(Array.isArray(o.template))return{...a,props:{...a.props,template:bA(o.template,String(a.props.id))}};if(o.template!==void 0)return a;let r=gC(e,a.props);return r===a.props?a:{...a,props:r}}function bA(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))lQ(s)&&(r[n]=bA(s,o,t));return{...a,props:r}})}function yA(e,o,t){let a=e.props??{},r=t?.(e,o);if(r)return r;let n=cQ[e.type]??dQ[e.type];if(n)return[IQ(n,a,o)];switch(e.type){case"FooterLogo":{let s=xQ(a.align),l=o("LogoBlock",{...a.reverse?{reverse:a.reverse}:{},...typeof a.customColor=="string"&&a.customColor?{customColor:a.customColor}:{},heightPx:Math.round(VS*((j(a.widthPct)??100)/100)),href:"/",align:s,...gQ(a)}),c=xA(a.tagline).trim();return c?[l,o("Text",{text:c,tone:"dim",align:s,_partStyles:{text:{...pQ}}})]:[l]}case"FooterText":{let s=typeof a.size=="string"&&a.size in Ss?a.size:uQ;return[o("Text",{text:xA(a.text),tone:typeof a.tone=="string"?a.tone:"default",_partStyles:{text:{size:Ss[s],lineHeight:IA}}})]}case"FooterDivider":{let s=j(a.thickness),l=j(a.lengthPct);return[o("Divider",{...s!==void 0?{thickness:s}:{},...l!==void 0?{lengthPct:l}:{},...a.hideOnMobile===!0?{[iQ("mobile")]:!0}:{}})]}case"FooterGroup":{let s=Array.isArray(a.blocks)?a.blocks:[];return[o(Mu,{direction:a.direction==="horizontal"?"row":"column",gap:Rr("FooterGroup",a.gap),align:a.align==="center"||a.align==="end"||a.align==="stretch"?a.align:"start",...Ys,content:s.flatMap(l=>yA(l,o,t))})]}default:return[]}}function bi(e,o,t,a){let r=e&&Array.isArray(e.props?.blocks)?e.props.blocks:[],n=f=>o(Mu,{direction:"row",wrap:!0,share:"equal",gap:hQ,content:f}),s=[],l=[];for(let f of r){let m=yA(f,o,a);if(f.type==="FooterDivider"){l.length&&s.push(n(l)),l=[],s.push(...m);continue}m.length<=1?l.push(...m):l.push(o(Mu,{direction:"column",gap:mQ,align:"stretch",...Ys,content:m}))}(l.length||!s.length)&&s.push(n(l));let c=o(Mu,{direction:"column",content:[o("LegalLineBlock")]}),d=NC(Ae,t,[...s,c]);return{...d,props:{...d.props,...e?.props?.width==="full"?{fullWidth:!0}:{}}}}import{isNodeList as uae}from"efficient-easel/data";import{readHidable as yQ}from"efficient-easel/draw";function Hu(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 HFe(e){return bQ[yi(e)]}var bQ={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4"};function yi(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 Kt=q,Vt=le;function Va(e){if(e.theme)return to(e.theme);let o=e.site?.themePresets;return o?to({selected:e.site?.selectedPreset??0,themes:[...o]}):void 0}function SQ(e,o){return o===0?`${e}~box`:`${e}~box-${o+1}`}var wA=new Set(["id"]),Jr={},CA=[],wQ=["ProductGrid","Events","ContactRouting","ReviewForm","AppointmentBooking","Reviews","CheckoutCTA"],Si=["Breadcrumb","DocBody","Form","SubmitBuild","Footprint","FAQ",...wQ,"Stats","Logos","PaymentBadges","PaymentLogosBlock","FitmentFinder","DocMasthead","Timeline","TimelineTrack","OrderSummary","Chart","Mockup","Countdown","FeaturedCover","Cards"];function go(e){for(let[o,t]of Object.entries(e)){if(o in Jr&&Jr[o]!==t)throw new Error(`lib/sections/section-to-box: "${o}" already has a row`);Jr[o]=t}}function qa(e){return Jr[e]}function CQ(e){return e in Jr&&CA.includes(e)}function vA(e,o=Si){return e in Jr&&(o.includes(e)||CQ(e))}function XFe(e){let o=Eo[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 Tb=e=>yQ(e),qe=e=>Tb(e).text.trim()!=="";function vQ(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 kQ=e=>e==="heading"?_a():e==="eyebrow"?xt():{};function TQ(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 PQ(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 SA(e,o,t,a,r={}){let n={...o};for(let s of e){let[l,c,d]=typeof s=="string"?[s,s,void 0]:s;if(t[l]===void 0)continue;let f=d?d(t[l],t,r):t[l];f===void 0?delete n[c]:n[c]=f,a(l,c,f===void 0)}return n}function EQ(e){let o=new Set([...wA,"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 ws(e,o,t={}){let a=e.props,r=o.skip?.(a);if(r!==void 0)return{node:e,nodes:[e],carried:[],dropped:[],siteWrites:[],restyled:[],skipped:r};let n=String(a.id??e.type),s=[],l=[],c=[],d=new Set,f=(P,F)=>{s.push({key:P,home:F}),d.add(P)},m=a._partStyles??{},u=EQ(o),x=0,g=(P,F)=>({type:P,props:{...F,id:`${n}~${P}-${++x}`}}),I=(P,F,T,D,O,R,N)=>{if(O){for(let A of P??[]){let L=typeof A=="string"?A:A[0];T[L]!==void 0&&N(L,`nothing \u2014 the ${D} has no parts, so it is not drawn`)}return}let y=typeof F=="function"?F(a,t):F??{};return SA(P??[],y,T,(A,L,M)=>N(A,M?`nothing \u2014 the old value draws nothing (${D}: no ${L})`:`${R}${D}: ${L}`),t)},k=P=>Po(P,F=>`${n}~${F}-${++x}`),C=(P,F,T)=>{let D=P.of?P.of(F):Array.isArray(F[P.key])?F[P.key]:[],O=typeof P.props=="function"?P.props(a,t):P.props??{},R=D.map((M,X)=>{let V=M??{},U=P.item?.(V,X,a)??{},ge=w(U.reverse?[...P.parts].reverse():P.parts,V,!1,`item ${X+1}: `);return P.flat?U.props?ge.map(te=>({...te,props:{...te.props,...U.props,id:te.props.id}})):ge:[g(Kt,{name:`${P.name} ${X+1}`,...O,...U.props??{},[Vt]:ge})]});if(P.groups){let M=P.groups;return T(P.key,D.length?`one Box per item (${D.length}), in a Box per group`:"nothing \u2014 the list is empty"),Hu(D.map(X=>X??{}),M.of,M.of).map((X,V)=>{let U=X.items.map(Ie=>Ie.item),ge=M.parts?w(M.parts,M.head?.(U,a)??{},!1,`group ${V+1}: `):[],te=X.items.map(Ie=>R[Ie.index]),Re=M.perRow?.(U.length,a),We=Number.isInteger(Re)&&Re>=1?Re:1,Pe=[];if(M.perRow&&We<te.length)for(let Ie=0;Ie*We<te.length;Ie++)Pe.push(te.slice(Ie*We,(Ie+1)*We).flat());return g(Kt,{name:`${M.name} ${V+1}`,...M.props??{},[Vt]:[...ge,g(Kt,{name:`${M.itemsName} ${V+1}`,...M.itemsProps?.(U.length,a)??{},[Vt]:Pe.length?Pe.map((Ie,Ee)=>g(Kt,{name:`${M.rowName??`${M.itemsName} row`} ${Ee+1}`,...M.rowProps??{},[Vt]:Ie})):te.flat()})]})})}let N=P.perRow?.(a),y=P.perRow?Number.isInteger(N)&&N>=1?N:1:0;if(T(P.key,(D.length?P.flat?`each item's parts (${D.length} items), in order`:`one Box per item (${D.length}), its parts inside`:"nothing \u2014 the list is empty")+(y&&D.length?`, in rows of ${y}`:"")),!y)return R.flat();let A=typeof P.rowProps=="function"?P.rowProps(a,t):P.rowProps??{},L=[];for(let M=0;M*y<R.length;M++){let X=R.slice(M*y,(M+1)*y).flat(),V=P.rowFiller?y-R.slice(M*y,(M+1)*y).length:0;L.push(g(Kt,{name:`${P.rowName??`${P.name} row`} ${M+1}`,...A,[Vt]:[...X,...Array.from({length:V},(U,ge)=>g(Kt,{name:`Empty ${ge+1}`,...P.rowFiller,[Vt]:[]}))]}))}return L},w=(P,F,T,D)=>{let O=[],R=(y,A)=>T?f(y,A):void 0,N=y=>T?m[y]:void 0;for(let y of P)if(!(y.when&&!y.when(a,T?void 0:F)))switch(y.kind){case"text":{let A=Tb(F[y.key]);if(!A.text.trim()&&!(T&&t.press&&o.pressKeepsEmpty?.includes(y.key))){R(y.key,"nothing \u2014 empty words draw nothing, so no block");break}let L=kQ(y.role??"body"),{_partStyles:M,...X}=L,V=TQ(L,y.styleFrom?{...y.style,...y.styleFrom(a,t)}:y.style,N(y.key),y.props?.align);if(y.was&&T){let U=V._partStyles?.text??{};c.push({key:y.key,was:y.was,...typeof U.textStyle=="string"?{textStyle:U.textStyle}:{},...j(U.size)!==void 0?{size:j(U.size)}:{},...j(U.sizePhone)!==void 0?{sizePhone:j(U.sizePhone)}:{}})}O.push(g("Text",{text:y.mark==="accentLead"?vQ(A.text):y.mark==="accentItalic"?pr(A.text):A.text,...X,...y.props??{},...V,...A.hidden?{_hidden:!0}:{}})),R(y.key,`${D}Text block: its words${A.hidden?", hidden":""}`);break}case"button":{let A=Tb(F[y.key]);if(!A.text.trim()){R(y.key,"nothing \u2014 no words, no button"),R(y.href,"nothing \u2014 no button to link"),typeof y.variant=="object"&&R(y.variant.key,"nothing \u2014 no button to style");break}let L=typeof F[y.href]=="string"&&F[y.href]?F[y.href]:"#",M={...y.style??{},...N(y.key)??{}};O.push(g("ButtonBlock",{label:A.text,href:L,...typeof y.props=="function"?y.props(F,t):y.props??{},...PQ(y.variant,F),...Object.keys(M).length?{_partStyles:{label:M}}:{},...A.hidden?{_hidden:!0}:{}})),R(y.key,`${D}Button block: its words`),R(y.href,`${D}Button block: its link`),typeof y.variant=="object"&&R(y.variant.key,`${D}Button block: its Style`);break}case"image":{let A=F[y.key];if(typeof A!="string"||!A){R(y.key,"nothing \u2014 no picture, no block"),y.alt&&R(y.alt,"nothing \u2014 no picture to describe");break}let L=y.alt&&typeof F[y.alt]=="string"?F[y.alt]:"";O.push(g("ImageBlock",{src:A,alt:L,...y.props??{}})),R(y.key,`${D}Image block: its picture`),y.alt&&R(y.alt,`${D}Image block: its alt text`);break}case"list":{O.push(...C(y,F,R));break}case"group":{let A=w(y.parts,F,T,D),L=I(y.box,y.props,F,`${y.name} Box`,!A.length&&!y.keepEmpty,D,R);L&&O.push(g(Kt,{name:y.name,...L,[Vt]:A}));break}case"block":{let A=y.parts?w(y.parts,F,T,D):[],L=I(y.box,y.props,F,`${y.type} block`,!!y.parts&&!A.length&&!y.keepEmpty,D,R);L&&O.push(g(y.type,{...L,...y.slot?{[y.slot]:A}:{}}));break}case"core":{let A=y.as??e.type,L={...y.headless?{}:{headPlacement:"own-box"},...y.props??{}},M=y.keep==="rest"?Object.keys(F).filter(V=>!u.has(V)&&!(V in L)):y.keep;for(let V of M)F[V]!==void 0&&(L[V]=F[V],R(V,`the ${A} block inside the Box`));if(y.keep==="rest"){for(let U of Object.keys(y.props??{}))F[U]!==void 0&&!u.has(U)&&R(U,`nothing \u2014 the ${A} block inside the Box has the row's own value`);F.headPlacement!==void 0&&R("headPlacement",`the ${A} block inside the Box: own-box`);let V=Object.fromEntries(Object.entries(m).filter(([U])=>!u.has(U)));Object.keys(V).length&&(L._partStyles=V)}for(let[V,U]of Object.entries(y.rename??{}))F[V]!==void 0&&(L[U]=F[V],R(V,`the ${A} block inside the Box: ${U}`));if(y.derive){Object.assign(L,y.derive.props(F,t));for(let V of y.derive.reads)F[V]!==void 0&&R(V,`the ${A} block inside the Box`)}let X=typeof y.slots=="function"?y.slots(F,t):y.slots??{};for(let[V,U]of Object.entries(X))L[V]=U.flatMap(ge=>"kind"in ge?C(ge,F,R):k([ge]));O.push(g(A,L));break}}return O},b=(P,F)=>{let T=F===0?"Box":`${P.name} Box`,D=w(P.parts,a,!0,F===0?"":`${T}: `),O=typeof P.boxProps=="function"?P.boxProps(a,t):P.boxProps??{},R=SA(P.box??[],O,a,(N,y,A)=>f(N,A?`nothing \u2014 the old value draws nothing (${T}: no ${y})`:`${T}: ${y}`),t);return{type:Kt,props:{name:P.name,...R,[Vt]:D,id:SQ(n,F)}}},v=[o,...o.also??[]].map(b);a._partStyles!==void 0&&f("_partStyles","each old part's style moved to its new part");for(let[P,F]of Object.entries(o.reads??{}))a[P]!==void 0&&f(P,F);for(let[P,F]of Object.entries(o.drop??{}))P in a&&(l.push({key:P,why:F}),d.add(P));for(let P of Object.keys(a))wA.has(P)||d.has(P)||l.push({key:P,why:"not in the row \u2014 not carried"});return{node:v[0],nodes:v,carried:s,dropped:l,siteWrites:[...o.site?.(e,t)??[]],restyled:c}}function kA(e,o=CA,t={}){if(!Array.isArray(e))return[];let a=[];return e.forEach((r,n)=>{let s=r&&typeof r.type=="string"&&o.includes(r.type)?Jr[r.type]:void 0;if(!s)return;let l=ws(r,s,t);l.skipped===void 0&&a.push({index:n,node:l.node,nodes:l.nodes})}),a}import{phoneKey as BQ}from"efficient-easel/draw";var TA={label:"Button",defaultProps:{label:"",href:"#",variant:"primary",align:"left",contained:!0}};import{jsx as _Q}from"react/jsx-runtime";import{isNodeList as OQ}from"efficient-easel/data";var Pb=new Set(["FAQ"]);function PA(e,o){if(!Pb.has(e))return!1;let t=o.template;return typeof t=="function"?(t.blockCount??0)>0:OQ(t)}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}},EA=new Set(Object.keys(Wu)),_A=new Set(["Flex","Text","Heading","ImageBlock"]),AQ=new Set(["Divider"]),RQ=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),OA=new Set(["ProductGrid"]);function Eb(e,o,t=!1){let a=e.render;e.render=r=>{if(o?.(r))return a(r);let n=wd(OT(r,Sd,t)),s=a(r),l=UT(r);return n?_Q(pc,{className:l?`${n.className} ${l}`:n.className,style:n.style,children:s}):s}}var lBe={name:"sectionPadding",applies:(e,o,t)=>o.isSection(e)&&!RQ.has(e)&&!!t&&typeof t.render=="function",panel(e,o,t){EA.has(o)||OA.has(o)||(e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})})},draw(e,o){if(EA.has(o)){let t=e.render,a=Wu[o];e.render=r=>{let n=Cd(r,a);return t({...r,padTop:n.top,padBottom:n.bottom})};return}if(OA.has(o)){Eb(e);return}_A.has(o)||AQ.has(o)||Eb(e,o==="Flex"?t=>fk(t.bgImage):Pb.has(o)?t=>PA(o,t):void 0,!0)}},LQ=["Heading","Text","ImageBlock"],FQ=["LogoBlock"],iBe={name:"blockPadding",applies:(e,o,t)=>(LQ.includes(e)||FQ.includes(e))&&!!t&&typeof t.render=="function",panel(e,o,t){e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})}},draw(e,o){_A.has(o)||Eb(e,void 0,!0)}};import{parseHexColor as DQ}from"efficient-shell/format";import{convertLength as NQ,isLengthUnit as MQ}from"efficient-easel/screen/lib/content/length-units";var Ob=e=>MQ(e)?e:"px",Ya=(e,o,t,a)=>o===t?e:NQ(e,o,t,a,{min:0,max:200,step:4}),Qr={textFit:"line",textFitPhone:"wrap"},en={...$,[mt]:""},{label:OBe,href:_Be,...HQ}=TA.defaultProps,Qe=HQ,ga={buttonFillOpacity:0,buttonBorder:{width:0},buttonPaddingTop:0,buttonPaddingRight:0,buttonPaddingBottom:0,buttonPaddingLeft:0},J={...kc,sectionAccent:0},vs={sectionAccent:-1},ae=["gridSpan","sectionHeightMode","sectionHeightValue","sectionHeightUnit","sectionHeightModeTablet","sectionHeightValueTablet","sectionHeightUnitTablet","sectionHeightModePhone","sectionHeightValuePhone","sectionHeightUnitPhone","sectionCorners","sectionCornerSides","sectionBorder","sectionBorderTablet","sectionBorderPhone","sectionAccent","stickTop","stickTopDistance","stickTopTablet","stickTopDistanceTablet","stickTopPhone","stickTopDistancePhone","anchor","sectionAnimation",...Bn,...Object.values(ke).flatMap(e=>[e,BQ(e)]),"widthFit","widthFitTablet","widthFitPhone","width","widthTablet","widthPhone","minWidth","minWidthTablet","minWidthPhone","maxWidth","maxWidthTablet","maxWidthPhone",...Object.values(co)],Cs="a section width key, ignored since efficient-web-builder 45 (an old key; a section's own width has new keys, lib/content/section-width), so dropping it changes nothing",oe={sectionSurface:"read by nothing in src/ (searched 2026-10-24): a retired theme key that draws nothing today, so dropping it changes nothing",widthMode:Cs,fullWidth:Cs,pageWidth:Cs,backgroundWidth:Cs,contentWidth:Cs,contentMax:Cs},de=Object.fromEntries(["sectionPaddingLeft","sectionPaddingRight","sectionPaddingLeftTablet","sectionPaddingRightTablet","sectionPaddingLeftPhone","sectionPaddingRightPhone"].map(e=>[e,"needs Box side padding outside its gutter: the old section added it outside its frame, a Box's side padding replaces the gutter. 0 live nodes store it (JJ's read-only export, 2026-10-24)"]));function ie(e,o){let t=j(e.sectionPaddingTop)??0,a=j(e.sectionPaddingBottom)??0,r=j(e.sectionPaddingTopTablet),n=j(e.sectionPaddingBottomTablet),s=Ob(e.sectionPaddingUnit),l=Ob(e.sectionPaddingUnitTablet),c=Ob(e.sectionPaddingUnitPhone),d=(m,u,x,g)=>{let I=j(m);if(I!==void 0)return I+Ya(g,"px",c,"mobile");let k=u===void 0?{n:x,unit:s}:{n:u,unit:l};return Ya(k.n,k.unit,c,"mobile")+Ya(g,"px",c,"mobile")},f=(m,u,x,g,I)=>u!==void 0?{[m]:u+Ya(I??g,"px",l,"tablet")}:I===void 0?{}:{[m]:Ya(x,s,l,"tablet")+Ya(I,"px",l,"tablet")};return{sectionPaddingTop:t+Ya(o.top,"px",s,"desktop"),sectionPaddingBottom:a+Ya(o.bottom,"px",s,"desktop"),...f("sectionPaddingTopTablet",r,t,o.top,o.topTablet),...f("sectionPaddingBottomTablet",n,a,o.bottom,o.bottomTablet),sectionPaddingTopPhone:d(e.sectionPaddingTopPhone,r,t,o.topPhone),sectionPaddingBottomPhone:d(e.sectionPaddingBottomPhone,n,a,o.bottomPhone)}}var ye=e=>[...["sectionPaddingTop","sectionPaddingBottom","sectionPaddingTopTablet","sectionPaddingBottomTablet","sectionPaddingTopPhone","sectionPaddingBottomPhone"].map(o=>[o,o,(t,a)=>ie(a,typeof e=="function"?e(a):e)[o]]),["sectionPaddingUnit","sectionPaddingUnit"],["sectionPaddingUnitTablet","sectionPaddingUnitTablet"],["sectionPaddingUnitPhone","sectionPaddingUnitPhone"]];function Ao(e,o){let t=Cd(e,Wu[o]);return{sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom}}var Xa=e=>[["padTop","sectionPaddingTop",(o,t)=>Ao(t,e).sectionPaddingTop],["padBottom","sectionPaddingBottom",(o,t)=>Ao(t,e).sectionPaddingBottom],["sectionPaddingTop","sectionPaddingTop",(o,t)=>Ao(t,e).sectionPaddingTop],["sectionPaddingBottom","sectionPaddingBottom",(o,t)=>Ao(t,e).sectionPaddingBottom]],WQ={kind:"heading-case-upper",styles:["heading-1","heading-2","heading-3"]},ABe=e=>o=>qe(o.props[e])?[WQ]:[],ue=(e,o)=>({kind:"text",key:e,role:"eyebrow",props:$,...o?{style:o}:{}}),AA=e=>e.background!=="transparent",$Q=(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},wi={align:"right",alignPhone:"left"},zQ=(e,o,t)=>{let a=r=>$Q(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}},Ci=(e,o,t,a={})=>zQ(e,o,{...en,...wi,...a,_partStyles:{text:{...To,color:"labels",...t,case:To.case,...wi}}}),on=(e,o)=>typeof e=="number"&&Number.isInteger(e)&&e>=0?e:Va(o)?.selected??0,RA="var(--site-surface-2)",$u=(e,o)=>Va(o)?.themes[on(e.sectionAccent??0,o)],qo=(e,o)=>(t,a)=>{if(!o?.(t,a))return Mt(e);let r=$u(t,a)?.[e];return r?{fillColor:r}:{}},zu=(e,o)=>Za(e,o)>=0,LA=e=>e.startsWith("#")&&DQ(e)!==null,Gu=(e,o,t)=>{let a=e?.trim();if(a&&LA(a))return{fillColor:a};let r=Eh(a);if(r)return Mt(r);let n=a===RA?$u(o,t):void 0;return n?{fillColor:cc(n)}:{}},Uu=e=>{let o=e?.trim();return!o||o==="transparent"||o===wo||Eh(o)||o===RA||LA(o)?void 0:"it paints a colour that no Box Fill can hold"},Za=(e,o)=>{let t=Va(o)?.themes;return t&&AA(e)?FS(t,on(e.sectionAccent,o)):-1},Ja=(e,o,t)=>{let a=Za(o,t);return a>=0?a:e},tn=(e,o)=>{let t=Za(e,o);return t>=0?{sectionAccent:t}:{}},Qa=(e,o)=>AA(e.props)&&Za(e.props,o)<0?[{kind:"band-preset",page:on(e.props.sectionAccent,o)}]:[],ks=e=>Fd(e.site?.siteGutter),vi=Object.fromEntries(["Top","Right","Bottom","Left","TopPhone","RightPhone","BottomPhone","LeftPhone"].map(e=>[`sectionPadding${e}`,0])),ki=e=>({top:0,right:0,bottom:0,left:0,...e}),_b=(e,o,t,a=[])=>({kind:"group",name:e,keepEmpty:!0,props:(r,n)=>({..._,...vi,...qo("surface")(r,n),...typeof t=="function"?t(r,n):t}),box:[[o,"bgImage"],Me.kind,Me.duration,Me.delay],parts:a});import{phoneKey as eR,readHidable as Wb}from"efficient-easel/draw";import{isNodeList as hee,newId as xee}from"efficient-easel/data";function FA(e){return Math.min(4,Math.max(2,e??3))}var BBe={eyebrow:"Label",title:"Section *heading.*"},GQ={template:hC()},BA={label:"Cards",fields:GQ,defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var MBe={eyebrow:"Highlight",title:"Key *features.*"},HBe=()=>[{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")}],DA={label:"Key Features",defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var Ab="cardPlace";function zBe(e){return e[Ab]==="top-line"?"top-line":""}var GBe="absolute left-5 top-0 z-10 -translate-y-1/2 bg-bg px-2",UBe="data-sf-top-line",UQ=new Set(["Cards",Oo]);function jBe(e){return typeof e=="string"&&UQ.has(e)}var jQ=e=>{if(!e||typeof e!="object")return!1;let o=e,t=n=>typeof n=="number"&&n>0,a=o.width,r=n=>typeof o[n]=="number"?t(o[n]):t(a);return r("top")&&!r("right")&&!r("bottom")&&!r("left")};function KBe(e,o,t){return!t||!o?.linesBetween||o.index!==0?e:jQ(e)?{...e,top:0}:e}var VBe="outsideFramedCard";function XBe(e){return typeof e=="string"?e.trim():""}var ZBe="data-sf-box-link",NA="absolute inset-0 -z-[1] outline-none focus-visible:z-[2] focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent",JBe="relative isolate pointer-events-none [&_a]:pointer-events-auto [&_button]:pointer-events-auto [&_input]:pointer-events-auto [&_select]:pointer-events-auto [&_textarea]:pointer-events-auto [&_label]:pointer-events-auto [&_summary]:pointer-events-auto [&_iframe]:pointer-events-auto [&_video]:pointer-events-auto [&_audio]:pointer-events-auto [&_[role=button]]:pointer-events-auto [&_[tabindex]:not([tabindex='-1'])]:pointer-events-auto",KQ="data-sf-box-jump";function VQ(e){return`sf-box-jump-${e}`}function QBe(e,o){return e===!0?qc(o):""}function qQ({box:e,lit:o,first:t}){let a=s=>s.join(`,
63
- `),r=t(e),n=o.flatMap(t);return`
64
- ${e} {
65
- outline: 2px solid transparent;
66
- outline-offset: -2px;
67
- transition: outline-color 600ms ease-out;
68
- }
69
- ${a(r)} { transition: background-color 600ms ease-out; }
70
- ${a(r.map(s=>`${s} *`))} { transition: color 600ms ease-out; }
71
- ${a(o)} { outline-color: var(--accent); }
72
- ${a(n)} { background-color: var(--accent); }
73
- ${a([...n,...n.map(s=>`${s} *`)])} { color: var(--bg) !important; }
74
- `}function eDe(e){let o=`[${KQ}="${e}"]`,t=`.${VQ(e)}`,a=`[id="${e}"]:target`;return qQ({box:o,lit:[`${a}~${o}`,`${a}~* ${o}`],first:r=>[`${r} ${t}>:first-child:not(.sf-section-anchor)`,`${r} ${t}>.sf-section-anchor:first-child+*`]})}var YQ=["selected","highlighted"],XQ="data-sf-card-state",rDe="pointer-events-none absolute inset-0 border border-accent",nDe="pointer-events-none absolute inset-x-0 bottom-0 border-b-2 border-accent";function ZQ(e){return e?YQ.filter(o=>e[o]===!0).join(" "):""}function sDe(e){let o=ZQ(e);return o?{[XQ]:o,className:"relative"}:{}}var JQ={highlighted:!0},QQ={},ju="badge";function lDe(e,o=[]){return e.map((t,a)=>({...t,key:t.key||o[a]?.key||_c(t,a)}))}function iDe(e){return!e||typeof e!="object"?!1:Object.entries(e).some(([o,t])=>o==="key"||o===ju||o==="state"?!1:typeof t=="string"?t.trim()!=="":Array.isArray(t)?t.length>0:t!=null&&typeof t!="function")}function cDe(e,{chosen:o,badge:t}){let a=o.trim(),r=a?e.findIndex(n=>n.key===a):-1;return{rows:e.map((n,s)=>({...n,[ju]:s===r?t:""})),states:e.map((n,s)=>s===r?JQ:QQ)}}function dDe(e){return{chosen:typeof e.highlightedCard=="string"?e.highlightedCard.trim():"",badge:typeof e.highlightBadge=="string"?e.highlightBadge:""}}function fDe(e){if(!e||typeof e!="object")return;let o=e.press;return typeof o=="function"?{press:o}:void 0}var uDe="data-sf-card-press",pDe=`${NA} appearance-none bg-transparent border-0 p-0 m-0 cursor-pointer`;var Rb={sectionBorder:{top:0,right:1,bottom:1,left:0},...Mt("background")},eee={gap:0,gapPhone:0,sectionBorder:{top:1,right:0,bottom:0,left:1},shadow:!0},Lb=e=>({direction:"row",columns:e,columnsTablet:e,...eee}),MA=(e={})=>ce(ju,{...$,tag:"p",[Ab]:"top-line"},e,!0),HA=(e=Sr)=>{let o=Am(e);return{...o,props:{...Rb,...o.props},slots:{[le]:[...o.slots?.[le]??[],MA()]}}},oee={name:"name",time:"time",note:"note",price:"price"},tee={textStyle:"body-1",...W("body",16),weight:500,lineHeight:1.5},aee={...To,...W("label",12),letterSpacing:.18,lineHeight:1.5},ree={textStyle:"body-1",...W("body",14),lineHeight:1.6},nee={textStyle:"body-1",fontRole:"heading",...W("headingSmall",20),weight:500,color:"accent",lineHeight:1.5},see={...W("label",11),letterSpacing:.25},lee={gap:16,gapPhone:16,sectionBorder:{top:0,right:0,bottom:0,left:0},shadow:!1},iee=e=>({direction:"row",columns:e,...lee}),yDe=[...new Set([...Object.keys(Lb(1)),...Object.keys(iee(1))])],SDe=()=>{let e=oee,o={tag:"p",widthFit:"fill"};return{type:q,props:{..._,name:"Card",justify:"between",gap:16,gapPhone:16,...Ze(24),sectionBorder:{top:1,right:1,bottom:1,left:1},...Mt("surface"),shadow:!0},slots:{[le]:[MA(see),{type:q,props:{..._,name:"Words",gap:8,gapPhone:8},slots:{[le]:[ce(e.name,{...$,...o},tee),ce(e.time,{...Y,...o},aee),ce(e.note,{...Y,...o},ree)]}},ce(e.price,{...$,...o},nee)]}}};function Ps(e){if(e==="ProductGrid")return"shelf";let o=Eo[e]?.headStyle;return o==="editorial"||o==="simple"||o==="essay"?o:"standard"}var Vu={standard:64,editorial:60,simple:36,essay:28,shelf:20},cee={SectionHeader:"accent",FAQ:"accent",FitmentFinder:"accent",FitmentTable:"accent",SpecTable:"accent",RelatedProducts:"accent",Collections:"accentNum"};function dee(e){if(e==="SectionHeader")return{num:"num",title:"title",description:"description",link:!0};let o=Eo[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 qu(e,o,t){let a=`editorial:${e}|${o}|${t}`,r=Ku.get(a);if(r)return r;let n=GA({num:e,title:o,description:t,link:!1});return Ku.set(a,n),n}var Bb={top:0,right:0,bottom:1,left:0},Wo=(e,o,t,a)=>({sizeToken:{step:e,px:a,fluid:{minPx:o,vw:t}}}),Yu=(e,o,t={})=>ue(e,{...W("label",o),...t}),Xu=(e,o)=>({kind:"text",key:e,role:"heading",props:$,style:{textStyle:"heading-2",...o}}),Db=800,Nb=(e,o,t,a)=>({kind:"text",key:e,props:{...Y,align:"right",alignPhone:"left",...t?{maxWidth:t,maxWidthPhone:Db}:{}},style:{textStyle:"body-5",fontRole:"heading",alignPhone:"left",...W("body",o),...a}}),zA={...Qe,align:"right",alignPhone:"left",...ga,icon:"arrow-right",iconPosition:"after"},Fb=e=>({kind:"button",key:"linkText",href:"linkHref",variant:"ghost",props:zA,style:{...ht(e),color:"labels"}}),WA=(e,o,t)=>{let a=t.role==="heading"?{tag:"h2"}:{};return{kind:"block",type:"Text",when:r=>r[e]===void 0,props:{...$,...a,...t.props,text:o,_partStyles:{text:{...t.role==="eyebrow"?fee(xt()):{},...t.style}}}}},fee=e=>e._partStyles.text??{},Ts={widthFitPhone:"fill"};function Mb(e){if(e.kind!=="group")return e;if(e.name==="Words"){let o=e.props;return{...e,props:typeof o=="function"?(t,a)=>({...o(t,a),...Ts}):{...o,...Ts}}}return{...e,parts:e.parts.map(Mb)}}function uee(e,o){let t=cee[e],a=t==="accent",r=Yu(o.num,14,{color:a?"accent":"labels"}),n=t==="accentNum"&&r.kind==="text"?{...r,mark:"accentLead"}:r,s=Xu(o.title,a?{...Wo("headingMedium",36,5,64),case:"upper",lineHeight:.95,letterSpacing:-.025}:{...W("headingMedium",56,36),case:"none",lineHeight:1,letterSpacing:-.03}),l=e==="Collections";return{kind:"group",name:"Header",props:{..._,direction:"row",align:"end",justify:"between",gap:40,gapPhone:12,share:"content",sectionBorder:Bb,sectionPaddingBottom:24,sectionPaddingBottomPhone:20},parts:[{kind:"group",name:"Title",props:{..._,...Ts,direction:"row",align:"end",gap:40,gapPhone:12,share:"content"},parts:[{kind:"group",name:"Number",props:{..._,...Ts,align:"start",gap:12},parts:[{kind:"image",key:"logoSrc",alt:"logoAlt",props:{aspect:"auto",contained:!1}},n,...l?[WA(o.num,"==01== / Collections",n)]:[]]},{kind:"group",name:"Heading",props:{..._,...Ts},parts:[s,...l?[WA(o.title,`Three ranges,
75
- one standard.`,s)]:[]]}]},{kind:"group",name:"Words",props:{..._,...Ts,gap:12,maxWidth:340,maxWidthPhone:Db},parts:[...o.description?[Nb(o.description,14,void 0,{lineHeight:1.5})]:[],...o.link?[Fb(14)]:[],...l?[{kind:"block",type:"ButtonBlock",props:{...zA,variant:"ghost",label:"View all",href:"/wheels",_partStyles:{label:Fb(14).style}}}]:[]]}]}}function GA(e){return{kind:"group",name:"Header",props:{..._,direction:"row",align:"end",justify:"between",gap:40,gapPhone:14,share:"content",sectionBorder:Bb,sectionPaddingBottom:32},parts:[{kind:"group",name:"Title",props:{..._,direction:"row",align:"end",gap:40,gapPhone:14,share:"content"},parts:[{kind:"group",name:"Number",props:{..._,sectionPaddingBottom:8},parts:[{...Yu(e.num,13),props:{...$,...Qr}}]},Xu(e.title,{...Wo("headingMedium",40,5.5,80),case:"upper",weight:500,lineHeight:1,letterSpacing:-.03})]},{kind:"group",name:"Words",props:{..._,sectionPaddingBottom:4,maxWidth:360,maxWidthPhone:Db},parts:e.description?[Nb(e.description,14,void 0,{lineHeight:1.5})]:[]}]}}function $A(e,o){return{kind:"group",name:"Header",props:{..._,gap:16,gapPhone:16},parts:[Yu(e.num,13),Xu(e.title,o)]}}var UA=[["para",{...ht(13),weight:400,lineHeight:1,letterSpacing:.22}],["sm",{...W("headingMedium",40,28),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["md",{...W("headingMedium",48,32),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["lg",{...W("headingMedium",56,36),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}],["xl",{...W("headingMedium",64,40),case:"none",weight:500,lineHeight:1,letterSpacing:-.03}]],pee=e=>UA.some(([o])=>o===e.titleSize)?e.titleSize:"lg";function mee(e){return{kind:"group",name:"Header",props:{..._,direction:"row",align:"center",justify:"between",gap:16,share:"content",stickTop:!0,sectionBorder:Bb,sectionPaddingTop:12,sectionPaddingBottom:12},parts:[{kind:"group",name:"Title",props:{..._,direction:"row",align:"end",gap:24,share:"content"},parts:[Yu(e.num,13,{color:"labels",letterSpacing:.22,lineHeight:1}),...UA.map(([o,t])=>({...Xu(e.title,t),when:a=>pee(a)===o}))]},{kind:"group",name:"Words",props:{..._,direction:"row",align:"center",justify:"end",gap:20,share:"content"},parts:[...e.description?[Nb(e.description,13,340,{lineHeight:1.4})]:[],...e.link?[Fb(13)]:[]]}]}}function Zu(e){return Ps(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 Ku=new Map;function at(e){let o=Ku.get(e);if(o)return o;let t=dee(e),a=Ps(e),r=a==="editorial"?GA(t):a==="simple"?$A(t,{...W("headingMedium",44,32),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02}):a==="essay"?$A(t,{...W("headingMedium",38,28,"headingSmall"),case:"upper",lineHeight:1,letterSpacing:-.02}):a==="shelf"?mee(t):uee(e,t);return Ku.set(e,r),r}var an={Series:"transparent",StatsParagraph:"transparent",TimelineTrack:wo,Stats:void 0};var rn=(e,o,t,a)=>({sectionBorder:{top:e,right:o,bottom:t,left:a}}),oR=e=>o=>FA(j(o.columns)??j(e.columns)),gee=e=>({kind:"group",name:"Grid",props:{..._,gap:0,...rn(1,0,0,1)},parts:[e]}),Iee={..._,direction:"row",gap:0,share:"equal"},bee="its head sits in a Box of its own above it (own-box): the row draws the head inline",tR=e=>Oc(e.headPlacement)==="own-box",yee="inline is the head the row draws; an own-box node is skipped (`skip`)",See=e=>({kind:"group",name:"Heading",props:e,parts:[ue("eyebrow"),{kind:"text",key:"title",role:"heading",props:$,style:{textStyle:"heading-3",case:"upper"},was:{size:44}}]}),jA={top:76,bottom:76,topPhone:76,bottomPhone:76},wee={..._,direction:"row",align:"center",gap:16,sectionPaddingTop:32,sectionPaddingRight:28,sectionPaddingBottom:32,sectionPaddingLeft:28,...rn(0,1,1,0)},KA={textStyle:"body-1",color:"text"},VA=(e,o)=>typeof o?.href=="string"&&o.href.trim()!=="",Cee={name:"Key Features",boxProps:e=>({...J,direction:"column",gap:44,...rn(1,0,1,0),...ie(e,jA)}),box:[...ae,...ye(jA)],parts:[See({..._,direction:"row",align:"end",gap:20,wrap:!0,share:"content"}),gee({kind:"list",key:"items",name:"Feature",perRow:oR(DA.defaultProps),rowName:"Row",rowProps:Iee,props:wee,parts:[{kind:"button",key:"label",href:"href",when:VA,variant:"ghost",props:{...Qe,...ga,icon:"none"},style:KA},{kind:"text",key:"label",when:(e,o)=>!VA(e,o),props:$,style:KA,was:{size:17}}]})],drop:{...oe,...de,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)"}},qA={top:120,bottom:120,topPhone:80,bottomPhone:80,topTablet:80,bottomTablet:80},Qu=e=>{let o=zt(typeof e.background=="string"?e.background:void 0,an.Series);return o&&o!=="transparent"?o:void 0},Ju=e=>Qu(e)===wo,vee={..._,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},YA={..._,direction:"row",justify:"between",gap:12,share:"content",phoneRow:2,[eR("share")]:"content"},kee=e=>{let o=Qu(e)?1:2;return{..._,direction:"row",columns:4,columnsTablet:2,gap:o,gapPhone:o}},Hb={...ht(12),letterSpacing:.22,lineHeight:1.5},XA=e=>qe(e.viewLabel)&&!Wb(e.viewLabel).hidden,_t=e=>Wb(e).text?.trim?.()??"",aR=e=>Object.fromEntries(Object.entries(e).filter(([,o])=>ee(o)!==void 0)),$b=e=>e.map(([o,t,a])=>({key:o,label:t,...a?{multiline:!0}:{}})),Tee=$b([["num","Number"],["since","Corner note"],["title","Card title"],["body","Card body",!0],["count","Count"],["countLabel","Count word"]]),Pee=$b([["label","Label"],["value","Value"],["body","Card body",!0]]),zb=(e,o,t,a,r,{reads:n=["cards"],keep:s=[]}={})=>({kind:"group",name:e,props:o,parts:[{kind:"core",as:Oo,headless:!0,keep:s,derive:{reads:n,props:l=>Ac(a(l),t)},slots:(l,c)=>({[Je]:[r(l,c)]})}]}),rR=e=>Array.isArray(e.cards)?e.cards:[],ZA={top:72,bottom:72,topPhone:72,bottomPhone:72},JA=(e,o)=>({...Rb,...qo("background")(e,o)}),Eee=e=>{let o=oR(BA.defaultProps)(e);return{..._,...Lb(o)}},Oee=$b([["title","Card title"],["body","Card body",!0]]),_ee=e=>(Array.isArray(e.items)?e.items:[]).map((o,t)=>({key:typeof o?.key=="string"&&o.key?o.key:_c(wC(o),t),title:_t(o?.title),body:_t(o?.body)})),nR=e=>{let o={},t={};for(let[a,r]of Object.entries(e.props??{}))a!=="id"&&(hee(r)?t[a]=r.map(nR):o[a]=r);return{type:String(e.type),props:o,...Object.keys(t).length?{slots:t}:{}}},Aee=(e,o)=>{let t=Array.isArray(e.template)?e.template.map(nR):[HA()],[a]=t;return t.length===1&&a.type===q?{...a,props:{...JA(e,o),...a.props}}:{type:q,props:{..._,...JA(e,o),name:"Card"},slots:{[le]:t}}},Ree=e=>Array.isArray(e.template)&&e.template.length===0,Lee=["dataSource","dataSourceOptions","highlightedCard","highlightBadge"];function sR(){let e=t=>({key:xee("card"),title:i(t),body:i("A short line about this card.")}),o=[e("Card title one"),e("Card title two"),e("Card title three")];return{eyebrow:i("Label"),title:i("Section *heading.*"),items:o}}var Fee={name:"Cards",boxProps:(e,o)=>({...J,direction:"column",gap:36,gapPhone:28,...qo("surface")(e,o),...ie(e,ZA)}),box:[...ae,...ye(ZA)],skip:e=>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:[{...at("Cards"),when:e=>!tR(e)},{...zb("Cards",Eee,Oee,_ee,Aee,{reads:["items"],keep:Lee}),when:e=>!Ree(e)}],drop:{...oe,...de,columns:'Box "Cards": its Columns and tablet Columns',cardStyle:"the standard card is what the row draws; a Label only node is skipped (0 live nodes)",template:"the Card list's template (the card Box takes the old cell's ground and lines)",headPlacement:"an own-box node lands without its head; inline is the head the row draws",eyebrowLook:"needs the eyebrow's Filled look on a Text block: Plain is the eyebrow start look the row draws; 2 of 62 live nodes store it (the stored-node export, 2026-10-24)"}},Bee={name:"Recurring Columns",boxProps:(e,o)=>({...J,direction:"column",gap:60,gapPhone:60,...rn(0,0,1,0),...Ju(e)?tn(e,o):{},...Gu(Qu(e),e,o),...ie(e,qA)}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Ju(o)?Ja(e,o,t):e],...ye(qA)],skip:e=>Uu(Qu(e))??(tR(e)?bee:void 0),site:(e,o)=>Ju(e.props)?Qa(e,o):[],parts:[at("Series"),zb("Cards",kee,Tee,e=>rR(e).map(o=>aR({num:_t(o.num),since:_t(o.since),title:_t(o.title),body:_t(o.desc),count:_t(o.entries),countLabel:_t(o.entriesLabel)})),(e,o)=>({type:q,props:{...vee,...qo("background",(t,a)=>Ju(t)&&zu(t,a))(e,o),name:"Card"},slots:{[le]:[{type:q,props:{..._,name:"Words",gap:16,gapPhone:16},slots:{[le]:[{type:q,props:{...YA,name:"Top"},slots:{[le]:[ce("num",$,W("label",13),!0),ce("since",$,W("label",13),!0)]}},ce("title",{...$,tag:"h3"},{textStyle:"heading-3",...W("headingSmall",28),weight:500,case:"upper",lineHeight:1.04,letterSpacing:-.02}),ce("body",Y,{textStyle:"body-5",fontRole:"heading",...W("body",14),lineHeight:1.6})]}},{type:q,props:{...YA,name:"Footer",align:"center",gap:0,gapPhone:0,sectionPaddingTop:16,sectionPaddingTopPhone:16,...rn(1,0,0,0),...XA(e)?{}:{[Wm]:["count","countLabel"]}},slots:{[le]:[{type:q,props:{..._,name:"Count",direction:"row",align:"center",gap:12,gapPhone:12,share:"content",[eR("share")]:"content"},slots:{[le]:[ce("count",$,Hb),ce("countLabel",Y,Hb)]}},...XA(e)?[{type:q,props:{..._,name:"View",maxWidthPhone:266},slots:{[le]:[{type:"Text",props:{...$,text:Wb(e.viewLabel).text,_partStyles:{text:{...xt()._partStyles.text,...Hb}}}}]}}]:[]]}}]}}))],reads:{viewLabel:"a Text typed once in the card template: the far end of every card's footer",background:"the Box's theme (the band preset) or its Fill"},drop:{...oe,...de,headPlacement:yee}},QA={top:60,bottom:60,topPhone:40,bottomPhone:40},Dee={..._,direction:"row",columns:3,gap:40,gapPhone:16},Nee={..._,gap:8,gapPhone:8,...Ze(24),...rn(1,1,1,1)},Mee={name:"Document Detail Cards",boxProps:e=>({...J,direction:"column",gap:40,gapPhone:16,...rn(0,0,1,0),...ie(e,QA)}),box:[...ae,...ye(QA)],parts:[zb("Cards",Dee,Pee,e=>rR(e).map(o=>aR({label:_t(o.label),value:_t(o.value),body:_t(o.desc)})),(e,o)=>({type:q,props:{...Nee,...qo("surface")(e,o),name:"Card"},slots:{[le]:[ce("label",$,{...W("label",12),lineHeight:1.5},!0),{type:q,props:{..._,name:"Words",gap:14,gapPhone:14},slots:{[le]:[ce("value",$,{textStyle:"heading-3",...W("headingSmall",20),weight:500,letterSpacing:-.015,lineHeight:1.5}),ce("body",Y,{textStyle:"body-5",fontRole:"accent",...W("body",14),italic:!0,lineHeight:1.5})]}}]}}))],drop:{...oe,...de}},lR={Cards:Fee,KeyFeatures:Cee,Series:Bee,DocMetaCards:Mee};import{phoneKey as zee}from"efficient-easel/draw";import{newId as Gee}from"efficient-easel/data";import{phoneKey as Hee}from"efficient-easel/draw";import{isNode as Ti}from"efficient-easel/data";var Es="cardStyle";function iR(e){let{widthPhone:o,...t}=e;return e.widthFitPhone==="fixed"?{...t,widthFitPhone:"fill"}:{...e}}var ep={table:{items:{gap:0,gapPhone:0,columnsTablet:2},grid:{gap:0},row:{gap:0,[Hee("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}}}},rt={table:{...ep.table,listCard:iR(ep.table.card)},list:{...ep.list,listCard:iR(ep.list.card)}},oNe=[{label:"Table",value:"table"},{label:"List",value:"list"}],tNe=e=>e==="table"||e==="list",Wee=e=>[...new Set([...Object.keys(rt.table[e]),...Object.keys(rt.list[e])])];function Pi(e,o,t){let a={...e};for(let r of Wee(o))delete a[r];return{...a,...structuredClone(rt[t][o])}}function $ee(e,o,t){let a=e.props??{},r=Array.isArray(a[Je])?a[Je]:[],n=r.findIndex(c=>Ti(c)&&c.type===t);if(n<0)return e;let s=r[n],l=r.map((c,d)=>d===n?{...s,props:Pi(s.props??{},"listCard",o)}:c);return{...e,props:{...a,[Je]:l}}}function aNe(e,o,t,a){let r=Array.isArray(e[a])?e[a]:[];if(r.some(s=>Ti(s)&&s.type===Oo)){let s=r.map(l=>Ti(l)&&l.type===Oo?$ee(l,o,t):l);return{...Pi(e,"items",o),[Es]:o,[a]:s}}let n=r.map(s=>{if(!Ti(s)||s.type!==t)return s;let l=s.props??{},c=(Array.isArray(l[a])?l[a]:[]).map(d=>Ti(d)&&d.type===t?{...d,props:Pi(d.props??{},"card",o)}:d);return{...s,props:{...Pi(l,"row",o),[a]:c}}});return{...Pi(e,"grid",o),[Es]:o,[a]:n}}var Gb=e=>typeof e=="string"?e.trim():"";function cR(e){let o=`${Gb(e.prefix)}${Gb(e.value)}`,t=Gb(e.suffix);return e.emphasizeAll===!0?o?`==_${o}_==`:"":`${o}${t?`==_${t}_==`:""}`}var uR={textStyle:"heading-2",...Wo("headingMedium",56,7,96),weight:500,case:"none",lineHeight:.9,letterSpacing:-.04},Ub={kind:"block",type:"Text",props:{...en,_partStyles:{text:uR}},box:[["value","text",(e,o)=>cR(o)]],when:(e,o)=>o!==void 0&&typeof o.value=="string"&&cR(o)!==""},dR=e=>qe(e?.supSuffix),pR={textStyle:"body-1",fontRole:"heading",...W("body",16),lineHeight:1.5,letterSpacing:-.01},mR={color:"labels",...W("label",12),lineHeight:1.5,letterSpacing:.24},hR={..._,direction:"row",align:"start",gap:32,gapPhone:32,share:"content",phoneRow:2,[zee("share")]:"content"},xR={textStyle:"body-5",...W("label",13),weight:500,color:"accent",letterSpacing:.18,lineHeight:1,padding:12},jb=e=>zt(e.background,an.StatsParagraph),Ei=e=>jb(e)===wo,op=e=>({...e,sectionAccent:e.sectionAccent??0}),Uee=(e,o)=>Ei(e)?qo("background",(t,a)=>zu(op(t),a))(e,o):{},jee={name:"Stats with Text",skip:e=>jb(e)&&jb(e)!=="transparent"&&!Ei(e)?"it paints a colour of its own, not the section band":void 0,boxProps:(e,o)=>({...J,direction:"column",gap:60,gapPhone:60,sectionBorder:{bottom:1},...Ao(e,"StatsParagraph"),...Ei(e)?tn(op(e),o):{}}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Ei(o)?Ja(e,op(o),t):e],...Xa("StatsParagraph")],site:(e,o)=>Ei(e.props)?Qa({props:op(e.props)},o):[],parts:[at("StatsParagraph"),{kind:"group",name:"Stats",props:{..._,...rt.table.grid,[Es]:"table"},parts:[{kind:"list",key:"stats",name:"Stat",perRow:()=>4,rowName:"Stats row",rowProps:{..._,direction:"row",share:"equal",phoneRow:2,...rt.table.row},props:(e,o)=>({..._,...rt.table.card,...Uee(e,o)}),parts:[{...Ub,when:(e,o)=>!dR(o)&&Ub.when(e,o)},{kind:"group",name:"Figure",props:hR,when:(e,o)=>dR(o),parts:[Ub,{kind:"text",key:"supSuffix",props:$,style:xR}]},{kind:"group",name:"Words",props:{..._,gap:4,gapPhone:4},parts:[{kind:"text",key:"label",props:$,style:pR},ue("sub",mR)]}]}]}],drop:{...oe,...de,background:"the band is the Box's theme: the site's band preset (`sectionAccent`), or a declared band-preset write; none paints nothing, and any other colour is skipped",headPlacement:"needs a row per head placement: an own-box Stats with Text draws no head (its words sit in a Section Header above it), the row always draws the head"}},Kee=new Set(["value","label",mt]),fR={top:48,bottom:48,topPhone:48,bottomPhone:48},Vee=e=>{let o=zt(typeof e.background=="string"?e.background:void 0,an.Stats);return!!o&&o!=="transparent"},qee={name:"Stats",skip:e=>Vee(e)?"it paints a colour inside its padding, and a Box paints its Fill over the padding too":qe(e.dataSource)?"its figures come from a source":Array.isArray(e.items)&&e.items.some(o=>qe(o?.[mt]))?"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=>!Kee.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=>({...J,direction:"column",gap:24,gapPhone:24,...ie(e,fR)}),box:[...ae,...ye(fR)],parts:[ue("heading",{color:"labels",...W("label",12),letterSpacing:.2}),{kind:"group",name:"Stats",props:{..._,...rt.list.grid,[Es]:"list"},parts:[{kind:"list",key:"items",name:"Stat",perRow:e=>j(e.columns)??4,rowName:"Stats row",rowProps:{..._,direction:"row",share:"equal",phoneRow:2,...rt.list.row},props:{..._,...rt.list.card},parts:[{kind:"text",key:"value",props:en,style:{textStyle:"heading-2",...W("headingMedium",48,36),weight:500,case:"none",lineHeight:1,letterSpacing:-.03}},ue("label",{color:"labels",...W("label",12),letterSpacing:.2})]}]}],drop:{...oe,...de,columns:"the rows of N: one row Box per `columns` figures, which the Box draws",dataSource:"an empty source is typed figures, what the row draws; a sourced node is skipped (0 Hartes nodes)",dataSourceOptions:"read only with a source; a sourced node is skipped (0 Hartes nodes)",contained:"the Box draws the site frame now; each figure fills the Box's column",background:"only no fill reaches here: a node that paints a colour is skipped"}},gR={StatsParagraph:jee,Stats:qee};function IR(){return{eyebrow:i("By the numbers"),title:i("What we count."),desc:i("A few numbers that matter to us."),stats:[],background:"transparent"}}var Yee=[{key:"figure",label:"Figure"},{key:"superscript",label:"Superscript"},{key:"label",label:"Label"},{key:"body",label:"Text",multiline:!0}];function bR(){let e=(o,t,a,r="")=>({key:Gee("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 Xee(e){return{type:q,props:{..._,name:"Card",...structuredClone(rt[e].listCard)},slots:{[le]:[{type:q,props:{...hR,name:"Figure"},slots:{[le]:[ce("figure",en,uR),ce("superscript",$,xR)]}},{type:q,props:{..._,name:"Words",gap:4,gapPhone:4},slots:{[le]:[ce("label",{...$,widthFit:"fill"},pR),ce("body",{...$,widthFit:"fill"},mR,!0)]}}]}}}function Kb(e,o,t=4){return{type:q,props:{..._,name:"Stats",direction:"row",columns:t,...structuredClone(rt[o].items),[Es]:o},slots:{[le]:[{type:Oo,props:Ac(e,Yee),slots:{[Je]:[Xee(o)]}}]}}}var yR={heading:"Trusted by *teams worldwide*"},SR=()=>[{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")}],Zee={logos:{type:"slot",allow:["LogoBlock"]},template:{type:"slot",allow:["LogoBlock"]}},SNe={label:"Logos",fields:Zee,defaultProps:{items:[],contained:!0}};var wR={heading:"Ways to pay"},CR=()=>[{label:"Visa"},{label:"Mastercard"},{label:"Amex"},{label:"PayPal"}],vR=()=>[{text:i("Secure encrypted checkout")},{text:i("30-day returns")}],vNe={label:"Payment Methods",defaultProps:{heading:"",badges:[],assurances:[],contained:!0}};var PNe={left:"justify-start",center:"justify-center",right:"justify-end"},Jee={text:{left:"view-tablet:max-view-desktop:text-left",center:"view-tablet:max-view-desktop:text-center",right:"view-tablet:max-view-desktop:text-right"},place:{left:"view-tablet:max-view-desktop:mx-0",center:"view-tablet:max-view-desktop:mx-auto",right:"view-tablet:max-view-desktop:ml-auto view-tablet:max-view-desktop:mr-0"},items:{left:"view-tablet:max-view-desktop:grid-cols-1 view-tablet:max-view-desktop:justify-items-start",center:"view-tablet:max-view-desktop:grid-cols-1 view-tablet:max-view-desktop:justify-items-center",right:"view-tablet:max-view-desktop:justify-items-end"},justify:{left:"view-tablet:max-view-desktop:justify-start",center:"view-tablet:max-view-desktop:justify-center",right:"view-tablet:max-view-desktop:justify-end"}},Qee={text:{left:"max-view-tablet:text-left",center:"max-view-tablet:text-center",right:"max-view-tablet:text-right"},place:{left:"max-view-tablet:mx-0",center:"max-view-tablet:mx-auto",right:"max-view-tablet:ml-auto max-view-tablet:mr-0"},items:{left:"max-view-tablet:grid-cols-1 max-view-tablet:justify-items-start",center:"max-view-tablet:grid-cols-1 max-view-tablet:justify-items-center",right:"max-view-tablet:justify-items-end"},justify:{left:"max-view-tablet:justify-start",center:"max-view-tablet:justify-center",right:"max-view-tablet:justify-end"}};function tp(e){return e==="left"||e==="center"||e==="right"?e:void 0}function kR(e){return e==="start"?"left":e==="end"?"right":tp(e)}function eoe(e,o,t){let a=tp(e)??"left",r=zo("same",a,tp(o),tp(t)),n={};return r.tablet&&r.tablet!==a&&(n.tablet=r.tablet),r.phone&&r.phone!==a&&(n.phone=r.phone),n}function ENe(e,o,t,a){let r=eoe(o,t,a);return[r.tablet?Jee[e][r.tablet]:"",r.phone?Qee[e][r.phone]:""].filter(Boolean).join(" ")}import{phoneKey as qb,readHidable as ooe}from"efficient-easel/draw";var Yb={contained:!1},Xb=(e,o)=>({logos:[{kind:"list",key:e,name:"Logo",flat:!0,parts:[{kind:"block",type:"LogoBlock",box:["src",[o,"alt"]],when:(t,a)=>qe(a?.src)||qe(a?.[o])}]}]}),Vb=e=>{let o=j(e.bandPadding)??40;return{top:o,bottom:o,topPhone:o,bottomPhone:o}},toe={...ue("heading",{color:"labels",letterSpacing:.2}),props:{...$,align:"center"}},aoe={name:"Logos",boxProps:e=>({...J,direction:"column",gap:32,...ie(e,Vb(e))}),box:[...ae,...ye(Vb),["bandPadding","sectionPaddingTop",(e,o)=>ie(o,Vb(o)).sectionPaddingTop]],parts:[toe,{kind:"core",keep:["columns","logoHeight","grayscale"],rename:{logosPerRow:"columns"},props:Yb,slots:Xb("items","alt")}],drop:{...oe,...de,contained:"the Box draws the site frame now; the Logos block inside it fills the Box's column (`contained: false`)",headPlacement:"a Logos band has no split head (not in SPLITTABLE_SECTIONS): no stored node can hold one, and the converted block stores own-box"}},roe={kind:"group",name:"Mark",keepEmpty:!0,parts:[],props:{..._,widthFit:"fixed",width:4,minWidth:4,sectionHeightMode:"fixed",sectionHeightValue:4,sectionHeightUnit:"px",sectionCorners:2,...Mt("main")}},TR={top:24,bottom:24,topPhone:24,bottomPhone:24},noe={name:"Payment Methods",boxProps:e=>({...J,direction:"column",...ie(e,TR)}),box:[...ae,...ye(TR)],parts:[{kind:"group",name:"Methods",props:{..._,align:"center",gap:20,gapPhone:20,sectionBorder:{top:1,bottom:1},sectionPaddingTop:32,sectionPaddingBottom:32},parts:[{...ue("heading",{color:"labels"}),props:{...$,align:"center"}},{kind:"core",keep:[],as:"Logos",derive:{reads:[ko,Jt],props:e=>qe(e[ko])?{[ko]:e[ko],...e[Jt]!==void 0?{[Jt]:e[Jt]}:{}}:{}},props:{...Yb,look:"cards",grayscale:!1},slots:e=>({...Xb("badges","label"),...qe(e[ko])?{[Je]:[Ec()]}:{}})},{kind:"group",name:"Reassurance",props:{..._,direction:"row",wrap:!0,justify:"center",gap:24,gapPhone:24,phoneRow:2,[qb("share")]:"content"},parts:[{kind:"list",key:"assurances",name:"Line",of:e=>(Array.isArray(e.assurances)?e.assurances:[]).filter(o=>qe(o?.text)),props:{..._,direction:"row",align:"center",gap:8,gapPhone:8,phoneRow:2,[qb("share")]:"content"},item:e=>ooe(e.text).hidden?{props:{_hidden:!0}}:{},parts:[roe,{kind:"text",key:"text",props:{...$,align:"center"},style:{...W("label",13),color:"labels",lineHeight:1.5}}]}]}]}],drop:{...oe,...de,contained:"the Box draws the site frame now; the Logos block inside it fills the Box's column (`contained: false`)"}},soe={left:"start",center:"center",right:"end"},PR=e=>kR(e.align)??"left",ER=e=>e.size==="md"?"md":"sm",OR=12,_R={name:"Payment logos",boxProps:e=>({..._,direction:"row",wrap:!0,align:"center",justify:soe[PR(e)],gap:OR,gapPhone:OR,phoneRow:2,[qb("share")]:"content"}),parts:[{kind:"text",key:"lead",props:Y,styleFrom:e=>({size:Ss[ER(e)],lineHeight:1.5})},{kind:"core",keep:[],as:"Logos",derive:{reads:[ko,Jt],props:e=>({logoHeight:gA[ER(e)].mark,align:PR(e),...qe(e[ko])?{[ko]:e[ko],...e[Jt]!==void 0?{[Jt]:e[Jt]}:{}}:{}})},props:{...Yb,look:"marks",grayscale:!1,sectionAccent:Zo},slots:e=>({...Xb("methods","label"),...qe(e[ko])?{[Je]:[Ec()]}:{}})}],drop:{size:"read as the wall's Logo height (S 16, M 20) and the lead's size (the footer size table, 12 / 13)",align:"read as the Box's justify and the wall's own Alignment (start is left, end is right)",editing:"the editor's preview flag, never a stored setting: the editor tells every block it is editing"}},AR={Logos:aoe,PaymentBadges:noe,FooterPayment:_R,PaymentLogosBlock:_R},RR=()=>({heading:yR.heading,items:SR()}),LR=()=>({heading:wR.heading,badges:CR(),assurances:vR()}),FR=()=>({...gd,methods:[]});import{mixHex as ioe}from"efficient-shell/format";var jNe="none",KNe=[{label:"Nothing",value:"none"},{label:"Section above",value:"above"},{label:"Section below",value:"below"}];function BR(e){return e==="above"||e==="below"?e:null}var VNe="sf-ticker-join";function loe(e){return e==="above"?"sf-ticker-join-above":"sf-ticker-join-below"}function qNe(e){return`absolute inset-x-0 ${loe(e)}`}var nn={direction:"row",share:"content",align:"center"},Oi={top:14,bottom:14,topPhone:12,bottomPhone:12},ap={wrap:"nowrap",loop:"scroll",sectionAccent:nx,gap:60,gapPhone:32,separator:"dot",sectionBorder:{top:1,bottom:1}},DR={gap:120,gapPhone:64},rp={...To,sizeToken:{step:"label",px:14,pxPhone:12},letterSpacing:.25,lineHeight:1.5},NR={textStyle:"heading-3",letterSpacing:.005,case:"upper",lineHeight:1},_i={top:16,bottom:16,topPhone:12,bottomPhone:12},Ai={justify:"between",wrap:"wrap",gap:32,separator:"none"},Ri={...To,letterSpacing:.1,lineHeight:1.5};var MR=e=>e.size==="display",coe=(e,o)=>{let t=$u(e,o),a=e.tone!=="plain"&&t?.text&&t.background?ioe(t.text,t.background,.3):null;return a?{color:a}:{}},doe=(e,o)=>e.tone!=="plain"&&bt(e.sectionAccent)===null?qo("background")(e,o):{},HR=(e,o)=>({kind:"list",key:"items",name:"Item",flat:!0,when:o,parts:[{kind:"text",key:"text",props:Y,style:e,styleFrom:coe}]}),foe={name:"Scrolling Bar",boxProps:(e,o)=>({...J,...nn,...ap,...yc[Ks(e.separator)]===""?DR:{},...ie(e,Oi),...doe(e,o)}),box:[["scrollDirection","scrollDirection",e=>y_(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=>Ks(e)],["join","join",e=>BR(e)??void 0],["borders","sectionBorder",e=>e===!1?void 0:{top:1,bottom:1}],...ae,["tone","sectionAccent",(e,o)=>bt(o.sectionAccent)??Zo],...ye(Oi)],parts:[HR(rp,e=>!MR(e)),HR(NR,MR)],drop:{...oe,...de,size:"each item's Text style: Small \u2192 Body 5, Display \u2192 Heading 3"}},WR=e=>e?.tone==="muted",$R=e=>dc(Va(e)),uoe={name:"Spec Strip",boxProps:(e,o)=>({...J,...nn,...Ai,...e.fill==="none"?{sectionBorder:{top:1}}:{sectionAccent:$R(o)},...ie(e,_i)}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>o.fill==="none"?e:$R(t)],...ye(_i)],parts:[{kind:"list",key:"cells",name:"Cell",flat:!0,parts:[{kind:"text",key:"text",props:$,style:Ri,when:(e,o)=>!WR(o)},{kind:"text",key:"text",props:Y,style:Ri,when:(e,o)=>WR(o)}]}],drop:{...oe,...de,fill:"None \u2192 no fill and a line on top. Dark band (the default) \u2192 the Box's theme is the site's first dark preset that is not its page (lib/theme `darkBandIndex`; Theme 2 with no site theme): the old fixed `plate-band` colour, as a theme"}},zR={Ticker:foe,SpecStrip:uoe};import{jsxs as Ni,jsx as je}from"react/jsx-runtime";import{Fragment as aL}from"react";import{Fragment as Eoe,jsx as ay}from"react/jsx-runtime";import{Fragment as VR,jsx as Fi,jsxs as yoe}from"react/jsx-runtime";import{createContext as ty,useContext as Bi,useEffect as Soe,useId as woe,useMemo as Coe,useRef as voe}from"react";import{armEntrance as koe}from"efficient-shell/format";import{jsx as hoe}from"react/jsx-runtime";import{useEffect as KR,useRef as jR,useState as xoe}from"react";import{armEntrance as goe,entranceAttrs as Ioe,playEntrance as boe}from"efficient-shell/format";import{jsx as Li}from"react/jsx-runtime";import{createContext as UR,useContext as er}from"react";var GR={stretchedRow:!1,fillingColumn:!1},or=UR(null),p2e=()=>er(or)!==null,m2e=()=>er(or),h2e=()=>er(or)?.id??null,np=UR(!1);function poe(){let e=er(or)?.stretchedRow===!0,o=er(np);return e&&!o}var moe=()=>er(np);function Zb(){let e=er(or),o=poe(),t=moe();return{fill:t?` ${zT}`:"",inner:a=>{let r=o||t?Li(np.Provider,{value:!0,children:a}):a;return e?.columnsRow?Li(or.Provider,{value:{...e,columnsRow:!1},children:r}):r}}}function x2e({className:e,style:o,attrs:t,children:a}){let{fill:r,inner:n}=Zb(),s=va();return s.scope(Li("div",{className:ka(`${e}${r}`,s.className),...o?{style:o}:{},...t,...s.attrs,children:n(a)}))}function g2e({children:e}){let o=er(or),t=o===null?null:o.id===void 0?GR:{...GR,id:o.id};return Li(or.Provider,{value:t,children:Li(np.Provider,{value:!1,children:e})})}function Qb({desktop:e,phone:o,editing:t,boxClass:a,boxAttrs:r,boxStyle:n,takesViewHide:s=!1,children:l}){let c=jR(null),d=Zb(),f=va(),m=s?f:uc,u=ey(c),x=u?o:e,{attrs:g,style:I}=Ioe(x),k=jR(Jb.seed(e,o)),C=JSON.stringify(e),w=JSON.stringify(o);return KR(()=>{let b=c.current;if(b){if(t){let v=Jb.next(k.current,e,o,u);k.current=v.seen,v.play&&boe(b);return}return goe(b)}},[C,w,u,t]),m.scope(hoe("div",{ref:c,className:ka(`${su}${d.fill}${a?` ${a}`:""}`,m.className),...r,...m.attrs,...g,...Object.keys(I).length||n?{style:{...n,...I}}:{},children:d.inner(l)}))}var Jb={seed(e,o){return{desktop:JSON.stringify(e),phone:JSON.stringify(o)}},next(e,o,t,a){let r=Jb.seed(o,t);return{play:a?r.phone!==e.phone:r.desktop!==e.desktop,seen:r}}};function ey(e,o=!0){let[t,a]=xoe(!1);return KR(()=>{if(!o)return;let r=e.current?.ownerDocument?.defaultView??(typeof window>"u"?null:window);if(!r?.matchMedia)return;let n=r.matchMedia(Qn),s=()=>a(n.matches);return s(),n.addEventListener("change",s),()=>n.removeEventListener("change",s)},[e,o]),t}var sp=ty(null),YR=ty(null),XR=ty(null);function F2e({needles:e,styles:o,motions:t=d1,type:a,children:r}){let n=woe(),s=JSON.stringify([n,e,o,t,a]),l=Coe(()=>{let d=Object.keys(t).filter(f=>u1(t[f]));return HE(e,o,n,f=>di(a,f),f=>FE(a,f),f=>d.includes(f)?cb(t[f]):null,d)},[s]);if(!l)return Fi(VR,{children:r});let c=WE(l);return yoe(VR,{children:[c&&Fi("style",{href:`${Toe}${n}-${Poe(c)}`,precedence:JR,dangerouslySetInnerHTML:{__html:c.replace(/</g,"\\3c ")}}),Fi(sp.Provider,{value:l,children:r})]})}var oy=new WeakMap;function qR(e,o){let t=m1(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)?(x1(e.ownerDocument),e.setAttribute(xu,"")):e.removeAttribute(xu)}function ZR(e){let o=voe(null),t=e?.motion?.entrance??null,a=e?.motion?.hover==="lift",r=ey(o,t!==null),n=JSON.stringify(t);return Soe(()=>{let s=o.current,l=h1(s?.parentElement??null);if(!t&&!a||!s||!l)return;let c=t?()=>{let m=p1(l,r?t.phone:t.desktop),u=koe(l);return()=>{u?.(),m()}}:null,d=oy.get(l)??[];oy.set(l,d);let f={element:s,arm:c,lift:a};return d.push(f),qR(l,d),()=>{let m=d.indexOf(f);m<0||(d.splice(m,1),f.undo?.(),f.undo=void 0,qR(l,d),d.length||oy.delete(l))}},[n,a,r]),o}var JR="sf-part-styles",Toe=`${JR}-`;function Poe(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 QR(e){let o=Bi(sp),t=Bi(YR),a=$E(o,e);return a&&a.stamp!==t?a:null}function B2e(e){return Xg(Bi(sp),e)}function eL({stamp:e,children:o}){return Fi(YR.Provider,{value:e,children:o})}function D2e({children:e}){let o=Bi(sp);return Fi(XR.Provider,{value:o,children:e})}function N2e(e){return Xg(Bi(XR),e)}function Di({value:e,children:o}){let t=QR(e),a=ZR(t);return t?ay(eL,{stamp:t.stamp,children:ay("span",{ref:a,[Wg]:t.stamp,...t.textStyle?{[as]:t.textStyle}:{},children:o})}):ay(Eoe,{children:o})}import{jsx as ry,Fragment as Ooe}from"react/jsx-runtime";function oL({className:e=""}){return ry("sup",{className:`text-accent tracking-normal text-[length:min(1em,max(0.75em,11px))] ${e}`,children:"\xAE"})}function lp(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(ry(oL,{},`r${r}`))}),ry(Ooe,{children:t})}var U2e=oL;function Ia(e,o=!1,t){let a=Noe(o),r=js(e);if(r.length===1){let[s]=r,l=gm(s),c=l?Boe(l,s.children):s.children;return Ni(Di,{value:e,children:[t,ip(c,a)]})}let n=[];return r.forEach((s,l)=>{if(s.bullet){n.push(je("span",{"data-sf-bullet":"",className:_oe,children:ip(s.children,a)},l));return}if(s.number!=null){n.push(Ni("span",{"data-sf-number":s.number,className:Aoe,children:[Ni("span",{className:Roe,children:[s.number,"."]}),ip(s.children,a)]},l));return}l>0&&!Loe(r[l-1])&&n.push(je("br",{},`br${l}`)),n.push(je(aL,{children:ip(s.children,a)},l))}),Ni(Di,{value:e,children:[t,n]})}var _oe="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",Aoe="relative block pl-[2em]",Roe="absolute left-0 w-[1.6em] text-right tabular-nums";function Loe(e){return e.bullet||e.number!=null}var Foe="text-accent underline underline-offset-[0.18em]";function Boe(e,o){let[t,...a]=o;return t?.kind==="text"?[{kind:"text",text:`${e}${t.text}`},...a]:[{kind:"text",text:e},...o]}function Doe(e){return Ln(e)||void 0}function ip(e,o){let t=[],a=!1;return e.forEach((r,n)=>{if(r.kind==="text"){t.push(je("span",{children:lp(r.text)},n)),a=!0;return}a||t.push(je("span",{},`e${n}`)),t.push(rL(r,n,o)),a=!1}),a||t.push(je("span",{},"end")),t}function tL(e,o){return e.length===1&&e[0].kind==="text"?lp(e[0].text):e.map((t,a)=>t.kind==="text"?je(aL,{children:lp(t.text)},a):rL(t,a,o))}function Noe(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function Q2e(e){return je(Di,{value:e,children:je("span",{children:e})})}function rL(e,o,t){if(e.kind==="link")return je("a",{href:e.href,className:Foe,children:tL(e.children,t)},o);let a=tL(e.children,t),r=vw[e.kind];if(r)return je("span",{[kw]: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=Doe(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 eMe(e,o=!0){let t=e.split(`
76
- `);return je(Di,{value:e,children:t.map((a,r)=>Ni("span",{children:[Ia(a,o),r<t.length-1?je("br",{}):null]},r))})}function nL(e){return e.split(/\n\s*\n/).map(o=>o.trim()).filter(Boolean)}var sL={direction:"column",justify:"between",gap:14,gapPhone:14,sectionPaddingLeft:14,sectionPaddingRight:14,sectionPaddingLeftPhone:0,sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},ny={name:"Year and title",direction:"column",gap:14,gapPhone:14};var ba={text:"Button label",href:"#"},Mi=e=>e.replace(/\*([^*]+)\*/g,"==$1=="),Io={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 cp={eyebrow:Io.eyebrow,title:`Section heading
77
- *Highlight line*`,intro:Io.body,imageCaption:Io.imageCaption,imageMeta:Io.imageMeta,cta:ba.text},lL=()=>[{date:i("Year"),title:i("Milestone title."),body:i("Describe what happened, in a sentence or two.")},{date:i("Year"),title:i("Milestone title."),body:i("Describe what happened, in a sentence or two.")},{date:i("Year"),title:i("Milestone title."),body:i("Describe what happened, in a sentence or two.")}],sMe={label:"Story Timeline",defaultProps:{layout:"split",eyebrow:"",title:"",intro:"",imageSrc:"",imageCaption:"",imageMeta:"",ctaText:"",ctaHref:"",entries:[],padTop:120,padBottom:120}};var dp={eyebrow:Io.eyebrow,title:Io.headingAccent,intro:Io.body,cta:ba.text},iL=()=>[{date:i("Year"),title:i("Milestone"),blurb:i("A short line about this milestone."),future:!1},{date:i("Year"),title:i("Milestone"),blurb:i("A short line about this milestone."),future:!1},{date:i("Year"),title:i("Milestone"),blurb:i("A short line about this milestone."),future:!1},{date:i("Year \u2192"),title:i("Upcoming"),blurb:i("A milestone still to come."),future:!0}],fMe={label:"Milestone Timeline",defaultProps:{eyebrow:"",title:"",intro:"",entries:[],ctaText:"",ctaHref:"",background:Tl,padTop:120,padBottom:120}};var mL={buttonBorder:{width:0}},pp=(e,o,t={})=>({textStyle:"body-5",...W("label",e),letterSpacing:o,lineHeight:1.5,weight:400,...t}),Os=(e,o,t={})=>({...pp(e,o),...To,...t}),mp=(e,o,t)=>({...e,case:"upper",weight:500,letterSpacing:o,lineHeight:t}),Hi=(e,o,t={})=>({textStyle:"body-1",fontRole:"heading",...e,weight:400,case:"none",lineHeight:o,...t}),nt=(e,o,t={})=>({kind:"text",key:e,props:$,style:o,...t});function hL(e,o){return e.kind==="text"?o.includes(e.key)?{...e,mark:"accentItalic"}:e:e.kind==="group"?{...e,parts:e.parts.map(t=>hL(t,o))}:e}var cL=(e,o)=>o?.future===!0,fp=e=>nL(typeof e?.body=="string"?e.body:""),dy=e=>zt(typeof e.background=="string"?e.background:void 0,an.TimelineTrack),sy=e=>dy(e)===wo?e:{...e,background:"transparent"},Moe={name:"Milestone Timeline",skip:e=>Uu(dy(e)),boxProps:(e,o)=>{let t=Za(sy(e),o);return{...J,direction:"column",gap:60,gapPhone:36,sectionBorder:{bottom:1},...Ao(e,"TimelineTrack"),...Gu(dy(e),e,o),...t>=0?{sectionAccent:t}:{}}},box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Ja(e,sy(o),t)],...Xa("TimelineTrack")],parts:[Mb(hL(qu("eyebrow","title","intro"),["title","intro"])),{kind:"group",name:"Track",props:{..._,gap:48,gapPhone:48},parts:[{kind:"group",name:"Years",props:{..._,direction:"row",share:"equal",gap:0,line:!0},parts:[{kind:"list",key:"entries",name:"Year",props:{..._,...sL},item:e=>({props:e.future===!0?{upcoming:!0}:{}}),parts:[{kind:"group",name:ny.name,props:{..._,...ny},parts:[nt("date",pp(13,.22,{color:"accent"}),{when:(e,o)=>!cL(e,o)}),nt("date",pp(13,.22,{color:"labels"}),{when:cL}),nt("title",{textStyle:"heading-3",...mp(W("headingSmall",20),-.02,1.1)},{role:"heading"})]},nt("blurb",Hi(W("body",13),1.55),{props:Y,mark:"accentItalic"})]}]},{kind:"group",name:"Button row",props:{..._,sectionBorder:{top:1,right:0,bottom:0,left:0},sectionPaddingTop:32},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:{...Qe,align:"right",...mL},style:Os(13,.3)}]}]}],site:(e,o)=>Qa({props:sy(e.props)},o),drop:{...oe,...de,background:"another colour is the Box's Fill, or a skip if no Fill holds it; the band is the Box's theme: the site's band preset (`sectionAccent`), or a declared band-preset write (`lib/theme` `bandPresetIndex`)",headPlacement:"needs a row per head placement: an own-box Milestone Timeline draws no head (its words sit in a Section Header above it), the row always draws the head"}},uy=e=>typeof e.layout=="string"?e.layout:"split",up=e=>uy(e)==="split",fy=e=>!up(e),xL=e=>uy(e)==="spine",Hoe=e=>fy(e)&&!xL(e),dL=(e,o,t,a)=>({kind:"group",name:"Picture",keepEmpty:!0,box:[["imageSrc","bgImage"]],props:{..._,sectionBorder:{top:1,right:1,bottom:1,left:1},darken:75,darkenStyle:"bottom",placement:"bottom-center",sectionHeightMode:"fixed",sectionHeightValue:e,sectionHeightUnit:"px",sectionHeightModePhone:"fixed",sectionHeightValuePhone:o,sectionHeightUnitPhone:"px",...Ze(12,16),...t},when:r=>a(r)&&typeof r.imageSrc=="string"&&r.imageSrc.trim()!=="",parts:[{kind:"group",name:"Caption",props:{..._,direction:"row",justify:"between",align:"center",gap:12,gapPhone:12,share:"content",phoneRow:2},parts:[nt("imageCaption",Os(11,.24,{color:"text"})),nt("imageMeta",Os(11,.24,{color:"accent"}),{props:{...$,align:"right"}})]}]}),fL=(e={})=>({kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:{...Qe,...e,...mL},style:Os(13,.3)}),ly=()=>[nt("title",{textStyle:"heading-3",...mp(W("headingSmall",24,20),-.02,1.5)},{role:"heading",mark:"accentItalic"}),{kind:"block",type:"Text",props:{...$,_partStyles:{text:Hi(W("body",17,16),1.6)}},box:[["body","text",(e,o)=>pr(fp(o)[0]??"")]],when:(e,o)=>fp(o).length>0},{kind:"block",type:"Text",props:{...Y,_partStyles:{text:Hi(W("body",17,16),1.6,{paragraphSpacing:14})}},box:[["body","text",(e,o)=>pr(fp(o).slice(1).join(`
78
-
79
- `))]],when:(e,o)=>fp(o).length>1}],iy=()=>nt("date",pp(13,.24,{color:"accent"})),cy=(e,o,t={})=>nt(e,o,{...t,props:{...$,...t.props??{},align:"center"}}),uL=Wo("headingMedium",40,5,76),pL={sectionBorder:{bottom:1}},Woe={name:"Story Timeline",skip:e=>uy(e)==="track"?'display "track": not converted (it draws the Milestone rail; a Track story is not stored anywhere)':void 0,boxProps:e=>up(e)?{...J,direction:"row",share:[40],gap:80,gapPhone:48,align:"start",...pL,...Ao(e,"Timeline")}:{...J,direction:"column",gap:48,gapPhone:48,align:"center",...pL,...Ao(e,"Timeline")},box:[...ae,...Xa("Timeline")],parts:[{kind:"group",name:"Heading",props:{..._,gap:24,gapPhone:24},when:up,parts:[nt("eyebrow",Os(12,.3,{color:"accent"}),{role:"eyebrow"}),nt("title",{textStyle:"heading-2",...mp(uL,-.03,.94)},{role:"heading",mark:"accentItalic"}),nt("intro",Hi(W("body",14),1.6),{props:{...Y,maxWidth:360},mark:"accentItalic"}),dL(667,419,{},()=>!0),fL()]},{kind:"group",name:"Chapters",props:{..._,gap:48,gapPhone:48,line:!1},when:up,parts:[{kind:"list",key:"entries",name:"Chapter",props:{..._,direction:"row",gap:24,gapPhone:8,share:[12],align:"start"},parts:[iy(),{kind:"group",name:"Words",props:{..._,gap:14,gapPhone:14},parts:ly()}]}]},{kind:"group",name:"Heading",props:{..._,gap:24,gapPhone:24,align:"center",maxWidth:760,widthFit:"fill"},when:fy,parts:[cy("eyebrow",Os(12,.3,{color:"accent"}),{role:"eyebrow"}),cy("title",{textStyle:"heading-2",...mp(uL,-.03,.94)},{role:"heading",mark:"accentItalic"}),cy("intro",Hi(W("body",14),1.6),{props:{...Y,maxWidth:520},mark:"accentItalic"}),fL({align:"center"})]},dL(506,192,{maxWidth:900,widthFit:"fill"},fy),{kind:"group",name:"Chapters",props:{..._,gap:48,gapPhone:48,line:!0,maxWidth:760,widthFit:"fill",sectionPaddingTop:16},when:xL,parts:[{kind:"list",key:"entries",name:"Chapter",props:{..._,gap:8,gapPhone:8},parts:[iy(),{kind:"group",name:"Words",props:{..._,gap:14,gapPhone:14},parts:ly()}]}]},{kind:"group",name:"Chapters",props:{..._,gap:56,gapPhone:56,maxWidth:1e3,widthFit:"fill",sectionPaddingTop:16,mirrorCards:"even"},when:Hoe,parts:[{kind:"list",key:"entries",name:"Chapter",props:{..._,direction:"row",gap:64,gapPhone:0,share:[50],align:"start"},parts:[{kind:"group",name:"Entry",props:{..._,gap:8,gapPhone:8},parts:[iy(),{kind:"group",name:"Words",props:{..._,gap:14,gapPhone:14},parts:ly()}]},{kind:"group",name:"Spacer",props:{..._},keepEmpty:!0,parts:[]}]}]}],drop:{...oe,...de,layout:"the Box's own arrangement replaces it: Split a row of two Boxes; Spine and Alternating a centred column (Track is skipped)"}},gL=()=>({eyebrow:cp.eyebrow,title:Mi(cp.title),intro:cp.intro,ctaText:ba.text,ctaHref:ba.href,entries:lL()}),IL=()=>({eyebrow:dp.eyebrow,title:Mi(dp.title),intro:dp.intro,ctaText:ba.text,ctaHref:ba.href,entries:iL()}),bL={TimelineTrack:Moe,Timeline:Woe};import{tabletKey as joe}from"efficient-easel/draw";import{slugify as OMe}from"efficient-shell/format";import{rootIsDark as $oe}from"efficient-shell/format";function TMe(e="auto"){return e==="light"?!0:e==="dark"?!1:!$oe({whenUnset:!0})}function yL(e,o){return Number.isFinite(e)&&Number.isFinite(o)&&!(e===0&&o===0)}function py(e){let o=Number.parseFloat(e??"");return Number.isFinite(o)?o:0}var zoe=["tall","square","wide"],Goe="tall";function SL(e){return zoe.includes(String(e??""))?String(e):Goe}var AMe={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"},RMe=[{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
80
- Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""},{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
81
- Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""}],Uoe=/^https?:\/\//i;function LMe(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:py(e.lat),lng:py(e.lng),mapsUrl:Uoe.test(o)?o:""}}function my(e){let o=String(e??"").split(" \xB7 ");return{state:(o[0]??"").trim(),country:(o[1]??"").trim()}}var FMe="other",BMe={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 wL(e){let o=String(e??"").replace(/[^+\d]/g,"");return o?`tel:${o}`:void 0}var st=e=>typeof e=="string"?e:e==null?"":String(e),xy=e=>Array.isArray(e.locations)?e.locations.map(o=>o??{}):[],_s=e=>st(e.group),AL=e=>`loc-${e}`,RL=e=>st(e.state).trim()||my(st(e.region)).state,LL=e=>st(e.country).trim()||my(st(e.region)).country,CL=e=>[RL(e),LL(e)].filter(Boolean).join(" \xB7 "),Koe=e=>xy(e).some(o=>st(o.photo).trim()!==""),Voe=e=>xy(e).some(o=>yL(Number(o.lat),Number(o.lng))),qoe=(e,o)=>xy(e).filter(t=>_s(t)===_s(o)).length,Yoe=(e,o)=>qoe(e,o)===1?"wide":SL(e.imageShape),hy={top:100,bottom:100,topPhone:60,bottomPhone:60},vL=48,At=(e,o={})=>({...ht(e),...o}),gy={top:1,right:1,bottom:1,left:1},Iy={..._,direction:"row",share:"equal",gap:0},Xoe=e=>o=>o>yi(o)?{..._,gap:0}:{...Iy,...o>1?{phoneRow:e}:{}},Zoe={kind:"group",name:"Gallery",props:{..._,gap:20,_hidden:!0},when:Koe,parts:[{kind:"group",name:"Gallery head",props:{..._,direction:"row",justify:"between",align:"end",gap:24,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},parts:[ue("galleryKicker",At(12,{color:"accent",letterSpacing:.3})),{kind:"text",key:"galleryHint",props:{...Y,align:"right",alignPhone:"left"},style:At(11,{letterSpacing:.22,alignPhone:"left"})}]},{kind:"group",name:"Groups",props:{..._,gap:24},parts:[{kind:"list",key:"locations",name:"City picture",props:{..._,darken:85,darkenStyle:"bottom",placement:"bottom-left",sectionBorder:gy,...Ze(12,12)},item:(e,o,t)=>({props:{...st(e.photo).trim()?{bgImage:st(e.photo),hover:"mono"}:{},link:`#${AL(o)}`,boxShape:Yoe(t,e)}}),parts:[{kind:"text",key:"name",props:$,style:At(11,{letterSpacing:.22,color:"text"})}],groups:{of:_s,name:"Group",props:{..._,gap:10},head:e=>({label:_s(e[0]??{})}),parts:[ue("label",At(11,{color:"accent",letterSpacing:.3}))],itemsName:"Cities",itemsProps:Xoe(2),perRow:yi,rowName:"Row",rowProps:{...Iy,phoneRow:2}}}]}]},Joe={kind:"group",name:"Words",props:{..._,gap:12,gapPhone:12,...Ze(28,28),sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},parts:[{kind:"group",name:"Name row",props:{..._,direction:"row",justify:"between",align:"start",gap:14,share:"content",phoneRow:2,sharePhone:"content",wrapPhone:"wrap",sectionPaddingBottom:6,sectionPaddingBottomPhone:6},parts:[{kind:"group",name:"Name",props:{..._,gap:6,gapPhone:6},parts:[{kind:"text",key:"name",role:"heading",props:$,style:{textStyle:"heading-3",...W("headingSmall",30),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02}},{kind:"block",type:"Text",props:{...$,_partStyles:{text:At(12,{color:"accent",letterSpacing:.24,lineHeight:1.5})}},box:["region","state","country"].map(e=>[e,"text",(o,t)=>CL(t)]),when:(e,o)=>CL(o??{})!==""}]},{kind:"group",name:"Time zone",props:{..._,sectionBorder:gy,...Ze(6,10)},parts:[{kind:"text",key:"timezone",props:{...Y,textFit:"line"},style:At(12,{letterSpacing:.22,lineHeight:1.5})}]}]},{kind:"text",key:"address",props:Y,style:{textStyle:"body-5",fontRole:"heading",...W("body",14),lineHeight:1.5}},{kind:"block",type:"ButtonBlock",props:{...Qe,...ga,variant:"ghost",arrow:!1,_partStyles:{label:At(13,{letterSpacing:.18,color:"text",lineHeight:24/13})}},box:[["phone","label"],["phone","href",e=>wL(st(e))??"#"]],when:(e,o)=>st(o?.phone).trim()!==""},{kind:"text",key:"hours",props:Y,style:At(12,{letterSpacing:.18,lineHeight:1.7})}]},Qoe={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)=>RL(t)]),...["region","country"].map(e=>[e,"country",(o,t)=>LL(t)])]},ete={kind:"group",name:"Map",props:{..._,sectionBorder:{top:1,right:0,bottom:0,left:0}},parts:[Qoe]},ote={kind:"list",key:"locations",name:"City",props:(e,o)=>({..._,gap:0,justify:"between",sectionBorder:gy,jumpHighlight:!0,sectionAccent:Za(e,o)>=0?on(e.sectionAccent,o):-1}),item:(e,o)=>({props:{anchor:AL(o)}}),parts:[Joe,ete],groups:{of:_s,name:"Group",props:{..._,gap:20},head:e=>{let o=e[0]??{};return{key:_s(o),groupName:st(o.groupName),count:`${e.length} location${e.length===1?"":"s"}`}},parts:[{kind:"group",name:"Group head",props:{..._,direction:"row",justify:"between",align:"end",gap:16,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},when:(e,o)=>st(o?.key).trim()!=="",parts:[ue("key",At(13,{color:"accent",letterSpacing:.3})),{kind:"text",key:"groupName",role:"heading",props:$,style:{textStyle:"heading-3",...W("headingSmall",24),case:"upper",weight:500,letterSpacing:-.01}},{kind:"text",key:"count",props:Y,style:At(12,{letterSpacing:.22})}]}],itemsName:"Cities",itemsProps:e=>({...Iy,columns:yi(e),[joe("columns")]:1})}},kL=At(10,{letterSpacing:.25}),tte={kind:"block",type:Kt,props:{..._,name:"Credit",direction:"row",justify:"end",align:"center",gap:6,share:"content",wrap:!0},when:Voe,slot:Vt,keepEmpty:!0,parts:[{kind:"block",type:"Text",props:{...Y,text:"Location coordinates \xA9",_partStyles:{text:kL}}},{kind:"block",type:"ButtonBlock",props:{...Qe,...ga,variant:"ghost",arrow:!1,label:"OpenStreetMap contributors",href:"https://www.openstreetmap.org/copyright",_partStyles:{label:{...kL,color:"labels"}}}}]},TL=(e,o)=>Object.fromEntries(o.filter(t=>e[t]!==void 0).map(t=>[t,e[t]])),PL=["sectionPaddingTop","sectionPaddingTopTablet","sectionPaddingTopPhone"],EL=["sectionPaddingBottom","sectionPaddingBottomTablet","sectionPaddingBottomPhone"],OL=e=>e.map(o=>[o,o,(t,a)=>ie(a,hy)[o]]),_L=["sectionAccent","sectionAccent",Ja],ate=["gridSpan",...Bn,...Object.values(co)],rte={name:"City pictures",skip:e=>lo(e)?`fed by the data source "${lo(e)}": its cities are read as the page is served, not stored on the node`:void 0,boxProps:(e,o)=>({...J,direction:"column",gap:40,anchor:"studios",...TL(ie(e,hy),PL),sectionPaddingBottom:vL,sectionPaddingBottomPhone:vL,...tn(e,o)}),box:[...ae.filter(e=>e!=="sectionAccent"&&e!=="anchor"),_L,["anchor","anchor",e=>il(e).trim()?e:"studios"],...OL(PL)],parts:[qu("sectionNumber","heading","tagline"),Zoe],also:[{name:"City maps",boxProps:(e,o)=>({...J,direction:"column",gap:40,sectionBorder:{bottom:1},sectionPaddingTop:0,sectionPaddingTopPhone:0,...TL(ie(e,hy),EL),...tn(e,o)}),box:[...ate,_L,...OL(EL)],parts:[ote,tte]}],reads:{mapTheme:"City maps Box: each Map block's Map theme",imageShape:"City pictures Box: each picture Box's Box shape"},site:Qa,drop:{...oe,...de,apiKey:"a stored Google Maps key from before the map needed none: the website's one map (components/SiteMap) takes no key, and a key is a credential, never page content",mapId:"a Google Maps style id from the same retired map: nothing in src/ reads it",gallery:"the retired separate tile list: the wall is derived from the cities (`components/ContactLocations`), nothing in src/ reads it",dataSource:"always empty here: a node fed by a source is skipped (see skip)"}},FL={ContactLocations:rte};var hp=Xs(11),nte={textStyle:"body-1",...W("body",18),weight:500,lineHeight:1.2},BL=()=>({type:q,props:{..._,gap:8,gapPhone:8,...Ze(20,24,20,20),name:"Office"},slots:{[le]:[ce("badge",{...$,tag:"p",widthFit:"fill"},hp,!0),ce("role",{...$,tag:"p",widthFit:"fill"},hp,!0),ce("city",{...$,tag:"p",widthFit:"fill"},nte),ce("country",{...Y,tag:"p",widthFit:"fill"},hp),ce("address",{...Y,tag:"p",widthFit:"fill"},hp),{type:"ButtonBlock",props:{variant:"link",label:"",href:"",[So]:"linkLabel",[Nm]:"href"}}]}});var ste=["Collections","FAQ","Footprint","GalleryB","LongRead","ProcessSteps","RelatedProducts"];var tr=(e,o)=>()=>({top:e,topPhone:o}),DL=e=>o=>{let t=Ao(o,e).sectionPaddingTop;return{top:t,topPhone:t}},lte={Collections:tr(120,70),Events:tr(120,70),FAQ:tr(120,70),GalleryB:tr(120,70),FitmentTable:tr(120,80),SpecTable:tr(120,80),LongRead:tr(120,80),RelatedProducts:tr(0,0),Footprint:DL("Footprint"),ProcessSteps:DL("ProcessSteps"),ProductGrid:e=>({top:j(e.padTop)??120,topPhone:0})};function ite(e,o={}){let t=Eo[e],a=lte[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=at(e),s=Zu(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:bc[e]??e,boxProps:d=>{let f=a(d),m=o.roomBelow?{sectionPaddingBottom:o.roomBelow.bottom,sectionPaddingBottomPhone:o.roomBelow.bottomPhone}:{};return{...J,direction:"column",gap:Vu[Ps(e)],sectionPaddingTop:f.top,sectionPaddingTopPhone:f.topPhone,...m}},box:[...ae,...r?[[r,"sectionPaddingTop",(d,f)=>a(f).top]]:[]],parts:[n,...(()=>{let d={...r?{[r]:0}:{},...o.coreProps},f={kind:"core",keep:"rest",...Object.keys(d).length?{props:d}:{},...o.slots?{slots:o.slots}:{}};return[o.coreBox?{kind:"group",name:o.coreBox.name,props:o.coreBox.props,parts:[f]}:f]})(),...o.partsAfter??[]],...Object.keys(s).length?{reads:s}:{},...Object.keys(c).length?{drop:c}:{},...o.pressHeading?{pressKeepsEmpty:[t.title]}:{}}}var cte={..._,direction:"accordion",rowStyle:"numbered"},dte={Footprint:{slots:{[Je]:[BL()]},pressHeading:!0},FAQ:{slots:{[Je]:[Dm()]},pressHeading:!0,coreBox:{name:"Questions",props:cte},coreProps:{sectionAccent:Zo},roomBelow:{bottom:120,bottomPhone:70}}},NL=Object.fromEntries(ste.map(e=>[e,ite(e,dte[e])]));import{BLOCK_WIDTH_LIMIT as fte}from"efficient-easel/draw";var xp={eyebrow:Io.eyebrow,title:Io.headingAccent,deck:"Add a sentence or two introducing this document."},hHe={label:"Document masthead",defaultProps:{eyebrow:"",title:"",deck:"",meta:[]}};var KL={minWidth:fte.min},ML=(e,o,t)=>({...ue(e,{...o,...wi}),props:{...$,align:"right",...Qr,...t}}),VL={top:1,bottom:0},yy=(e,o,t,a)=>({kind:"group",name:e,props:{..._,sectionPaddingBottom:o,sectionPaddingBottomPhone:t},parts:[a]}),HL={widthFit:"fill",...KL},WL={top:100,bottom:60,topPhone:60,bottomPhone:40},ute={...W("label",13),letterSpacing:.22,lineHeight:1.8},$L={textStyle:"heading-1",...Wo("headingLarge",56,8,128),case:"upper",weight:500,lineHeight:.88,letterSpacing:-.04},zL=e=>e.titleLevel===2,pte=()=>({name:"Page Header",boxProps:e=>({...J,direction:"column",gap:0,sectionBorder:{bottom:1},...ie(e,WL)}),box:[...ae,...ye(WL)],parts:[{kind:"group",name:"Header",props:{..._,direction:"row",align:"end",justify:"between",gap:40,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[yy("Eyebrow",12,0,{...ue("eyebrow",W("label",13)),props:{...$,...Qr}}),{kind:"text",key:"title",role:"heading",props:{...$,tag:"h1",...HL},style:$L,mark:"accentItalic",when:e=>!zL(e)},{kind:"text",key:"title",role:"heading",props:{...$,tag:"h2",...HL},style:$L,mark:"accentItalic",when:zL},{kind:"group",name:"Details",props:{..._,align:"stretch",gap:0,gapPhone:0,sectionPaddingBottom:12,sectionPaddingBottomPhone:0},parts:[{kind:"list",key:"meta",name:"Detail",flat:!0,parts:[Ci("label","value",ute,Qr)]}]}]},{kind:"group",name:"Deck",props:{..._,maxWidth:760,sectionBorder:VL,sectionPaddingTop:28},parts:[{kind:"text",key:"deck",props:Y,style:{textStyle:"body-1",fontRole:"accent",...W("body",22,19),italic:!0,lineHeight:1.5}}]}],drop:{...oe,...de,titleLevel:"read by the title part's `when`: 2 (set by lib/document/one-h1 on a later opener) makes the Text an h2, anything else an h1"}}),qL=()=>({eyebrow:xp.eyebrow,title:Mi(xp.title),deck:xp.deck,meta:[{label:Io.label,value:Io.value},{label:Io.label,value:Io.value}]}),GL={top:80,bottom:40,topPhone:60,bottomPhone:32},mte={...W("label",13),letterSpacing:.18,lineHeight:1.8},UL={...W("label",13),letterSpacing:.22,lineHeight:1.9},hte=()=>({name:"Issue Header",boxProps:e=>({...J,direction:"column",gap:0,sectionBorder:{bottom:1},...ie(e,GL)}),box:[...ae,...ye(GL)],parts:[{kind:"group",name:"Top",props:{..._,direction:"row",align:"end",justify:"between",gap:60,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[yy("Eyebrow",14,14,ue("eyebrow",W("label",14))),{kind:"group",name:"Issue",props:{..._,align:"end",gap:0,gapPhone:0,sectionPaddingBottom:14},parts:[{kind:"list",key:"issueMeta",name:"Issue line",flat:!0,parts:[Ci("lead","rest",mte)]}]}]},{kind:"group",name:"Bottom",props:{..._,direction:"row",align:"start",justify:"between",gap:60,gapPhone:16,share:"content",sectionBorder:VL,sectionPaddingTop:32},parts:[{kind:"text",key:"lead",props:{...$,maxWidth:720,...KL},style:{textStyle:"body-1",fontRole:"heading3",...W("headingSmall",20),lineHeight:1.5,letterSpacing:-.005,paragraphSpacing:16}},{kind:"group",name:"In this issue",props:{..._,align:"stretch",gap:0},parts:[yy("Heading",6,6,{kind:"text",key:"issueHeading",props:{...$,align:"right",...Qr},style:{textStyle:"body-1",fontRole:"heading",...W("body",18),weight:400,letterSpacing:-.01,lineHeight:1.9,...wi}}),{kind:"group",name:"Lines",props:{..._,align:"stretch",gap:0},parts:[{kind:"list",key:"issueList",name:"Line",flat:!0,parts:[ML("text",{color:"labels",...UL})]}]},ML("issueTotal",UL)]}]}],drop:{...oe,...de}}),jL={top:24,bottom:24,topPhone:16,bottomPhone:16},by={color:"labels",...W("label",13),letterSpacing:.2},YL=e=>(Array.isArray(e.items)?e.items:[]).filter(o=>o&&typeof o.label=="string"&&o.label.trim()!==""),Sy=(e,o)=>o!==void 0&&YL(e).at(-1)===o,XL=(e,o)=>o!==void 0&&YL(e).includes(o),xte=(e,o)=>XL(e,o)&&!Sy(e,o)&&qe(o?.href),gte=()=>({name:"Breadcrumb",skip:e=>qe(e.meta)?'a trailing note after "\xB7" needs a second mark; none live':void 0,boxProps:e=>({...J,...nn,wrap:"wrap",gap:16,gapPhone:16,separator:"slash",sectionBorder:{bottom:1},...ie(e,jL)}),box:[...ae,...ye(jL)],parts:[{kind:"list",key:"items",name:"Crumb",flat:!0,parts:[{kind:"button",key:"label",href:"href",variant:"ghost",when:xte,props:{...Qe,...ga,icon:"none"},style:by},{...ue("label",by),when:(e,o)=>XL(e,o)&&!Sy(e,o)&&!qe(o?.href)},{...ue("label",{...by,color:"text"}),when:Sy}]}],drop:{...oe,...de,meta:"a node that stores a note is skipped (`skip`); an empty one draws nothing"}}),ZL={DocMasthead:pte(),Masthead:hte(),Breadcrumb:gte()};import{jsx as sn,jsxs as Cy}from"react/jsx-runtime";import{slugify as Ite}from"efficient-shell/format";import{jsx as wy,jsxs as JL}from"react/jsx-runtime";var kHe="sticky top-[120px]";var QL=(e,o)=>e?{[Af]:o}:{},eF=(e,o)=>Rf(e?.[Fg(o)]?.role,Su[o],bn),oF=120;function tF({title:e,entries:o,stickyTop:t,sticky:a=!0,editing:r=!1,partStyles:n,numberForm:s=cg,takesViewHide:l=!1}){let c=s==="plain",d=va(),f=l?d:uc;return f.scope(JL("aside",{className:ka(`${a?"sticky ":""}flex flex-col self-start max-[900px]:static`,f.className),style:a?{top:t}:void 0,...f.attrs,children:[e&&wy("h4",{className:"mb-[18px] font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-accent",children:Ia(e)}),o.map((m,u)=>{let x=wy("span",{...QL(r,"number"),style:eF(n,"number"),className:"text-accent",children:ff(s,u)});return JL("a",{href:`#${m.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&&x,wy("span",{...QL(r,"entry"),style:eF(n,"entry"),children:Ia(m.label||"Section")}),!c&&x]},`${u}-${m.anchor}`)})]}))}function bte(e,o){return Ite(e)||`section-${o+1}`}var vy=e=>typeof e=="string"&&e.trim()!=="";function ky(e){return(e??[]).filter(o=>vy(o.heading)||vy(o.label)||vy(o.body))}function Ty(e){let o=new Set;return e.map((t,a)=>{let r=bte(t.label||t.heading||"",a),n=r,s=2;for(;o.has(n);)n=`${r}-${s++}`;return o.add(n),n})}function Py(e){let o=[];for(let t of e.replace(/\r\n?/g,`
82
- `).split(/\n[ \t]*\n/))t.split(`
83
- `).map(a=>a.replace(/\s+$/,"")).filter(a=>a.trim()!=="").forEach((a,r)=>{let n=js(a)[0].bullet,s=o.at(-1),l=r===0||!s||s.type==="ul"!==n;if(n){let c=a.slice(2);!l&&s?.type==="ul"?s.items.push(c):o.push({type:"ul",items:[c]})}else!l&&s?.type==="p"?s.text+=`
84
- ${a}`:o.push({type:"p",text:a})});return o}var yte=()=>[{label:i("First section"),heading:i("Your *first* section."),body:i(`Write the opening paragraph here.
85
-
86
- - Start a line with a dash for a bullet.
87
- - Add as many as you like.`)},{label:i("Second section"),heading:i("Your *second* section."),body:i("Leave a blank line between paragraphs to start a new one.")}],Ste=oF;function UHe({tocTitle:e,sections:o,editing:t=!1,stickyTop:a=Ste}){let r=ky(o);if(r.length===0&&!t)return null;let n=r.length===0&&t?yte():r,s=Ty(n);return sn(pc,{as:"section",className:"relative z-[2] bg-bg",children:Cy("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:[sn(tF,{title:e,entries:n.map((l,c)=>({label:l.label||"Section",anchor:s[c]})),stickyTop:a}),sn("div",{className:"flex flex-col gap-16",children:n.map((l,c)=>Cy("article",{id:s[c],className:"flex flex-col gap-[18px]",style:{scrollMarginTop:a},children:[Cy("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-accent",children:[ig(c)," \xB7 ",Ia(l.label||"Section")]}),l.heading&&sn("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:Ia(l.heading)}),Py(l.body??"").map((d,f)=>d.type==="ul"?sn("ul",{className:"flex max-w-[680px] list-none flex-col gap-2.5 pl-0",children:d.items.map((m,u)=>sn("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:Ia(m)},u))},f):sn("p",{className:"max-w-[680px] font-serif text-[length:var(--size-body,17px)] leading-[1.7] text-fg-dim",children:Ia(d.text)},f))]},s[c]))})]})})}import{VIEW_DESKTOP_MIN as Ey,VIEW_TABLET_MIN as wte}from"efficient-easel/draw";var gp=Sc["view-wide"],aF=960,Cte=wte,rF={min:gp,max:1600,step:10},nF="stackBelow";function qHe(e){if(!(typeof e!="number"||!Number.isFinite(e))&&!(e<rF.min||e>rF.max))return Math.round(e)}var vte=e=>`sf-stack-${e}`,kte=e=>`sf-stack-${e}-gutter`,Tte=e=>`sf-stack-${e}-outer`,As=e=>`${e-.02}px`;function YHe(e){let o=`.${vte(e)}`,t=`.${kte(e)}`,a=`.${Tte(e)}`,r=[];if(e>gp){let n=`${o}>.sf-block-size,${o}>[data-easel-block]>[data-sf-part-host]>.sf-block-size`,s=Math.min(e,Ey);r.push(`@media (min-width:${gp}px) and (max-width:${As(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:${gp}px) and (max-width:${As(s)}){.sf-gap-zone${o}{gap:var(--sf-gap-len-tablet,var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2)))}}`),e>Ey&&r.push(`@media (min-width:${Ey}px) and (max-width:${As(e)}){.sf-gap-zone${o}{gap:var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2))}}`)}return r.push(`@media (max-width:${As(e)}){${t}${t}{padding-inline:min(24px,var(--sf-site-gutter,40px))}}`),e<aF&&r.push(`@media (min-width:${e}px) and (max-width:${As(aF)}){${t}${t}{padding-inline:var(--sf-site-gutter,40px)}}`),r.push(`@media (min-width:${Cte}px) and (max-width:${As(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 sF={top:80,bottom:80,topPhone:60,bottomPhone:60},lF=18,iF=18,cF=8,Pte=10,Oy=e=>typeof e=="string"&&e.trim()!=="",dF=e=>ky(e.sections),Ete=e=>Py(typeof e.body=="string"?e.body:"").map(o=>o.type==="ul"?{kind:"ul",text:o.items.map(t=>`- ${t}`).join(`
88
- `)}:{kind:"p",text:o.text}),_y={...ht(12),letterSpacing:.3,color:"accent",lineHeight:1.5},fF={textStyle:"body-1",fontRole:"accent",...W("body",17)},Ote=[ue("label",_y),{...ue("title",_y),when:(e,o)=>!Oy(o?.label)},{kind:"block",type:"Text",when:(e,o)=>!Oy(o?.label)&&!Oy(o?.title),props:{...$,text:"Section",_partStyles:{text:_y}}},{kind:"group",name:"Heading",props:{..._,sectionPaddingBottom:cF,sectionPaddingBottomPhone:cF},parts:[{kind:"group",name:"Heading line",props:{..._,sectionBorder:{bottom:1},sectionPaddingBottom:iF,sectionPaddingBottomPhone:iF},parts:[{kind:"text",key:"heading",role:"heading",props:$,style:{textStyle:"heading-2",...Wo("headingMedium",28,3.5,44),case:"upper",weight:500,lineHeight:1.04,letterSpacing:-.025}}]}]},{kind:"list",key:"body",name:"Body",flat:!0,of:Ete,parts:[{kind:"text",key:"text",props:Y,style:{...fF,lineHeight:1.7},when:(e,o)=>o?.kind==="p"},{kind:"text",key:"text",props:Y,style:{...fF,lineHeight:1.65,paragraphSpacing:Pte},when:(e,o)=>o?.kind==="ul"}]}],_te=900,Ate={name:"Document Text",boxProps:e=>({...J,direction:"row",gap:80,gapPhone:40,[nF]:_te,sectionBorder:{bottom:1},...ie(e,sF)}),box:["anchor","sectionAccent",...Bn,...Object.values(co),...ye(sF)],parts:[{kind:"block",type:"Contents",props:e=>({title:e.tocTitle??"",sticky:!0,widthFit:"fixed",width:240,widthFitPhone:"fill"})},{kind:"group",name:"Sections",props:{..._,gap:64,gapPhone:64,widthFit:"fill"},parts:[{kind:"list",key:"sections",name:"Section",of:e=>dF(e),props:{..._,gap:lF,gapPhone:lF},item:(e,o,t)=>({props:{anchor:Ty(dF(t))[o]??`section-${o+1}`}}),parts:Ote}]}],reads:{tocTitle:"the Contents block's Heading"},drop:{...oe,stickyTop:"the Contents block draws DocBody's default (120px); 0 live nodes store it"}},uF={DocBody:Ate};var s4e="[--intro-edge:60px] max-[960px]:[--intro-edge:24px]",Rte="overlay",Lte=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function pF(e){return io(Lte,Rte,e)}var l4e={desktop:40,mobile:45,min:20,max:80,step:5};function i4e(e,o){return`${typeof e=="number"?e:o}%`}var mF=(e,o)=>{let t=j(e),a=j(o);return{...t===void 0?{}:{size:t},...a===void 0?{}:{sizePhone:a}}},Fte=e=>pF(e.layout)==="stacked",hF=e=>Math.min(Math.max(j(e.overlay)??60,0),100),Ip=e=>j(e)??100,Bte={textStyle:"heading-1",sizeToken:{...Wo("headingLarge",48,7,96).sizeToken,pxPhone:36},weight:500,lineHeight:.95,letterSpacing:-.03},Dte=[ue("eyebrow",W("label",14)),...[!0,!1].map(e=>({kind:"text",key:"title",role:"heading",props:$,style:{...Bte,case:e?"upper":"none"},styleFrom:o=>mF(o.titleSizeDesktop,o.titleSizeMobile),when:o=>o.uppercase===!0===e})),{kind:"text",key:"body",props:{...Y,maxWidth:560},style:{textStyle:"body-1",...W("body",17,16),lineHeight:1.6,paragraphSpacing:24},styleFrom:e=>mF(e.bodySizeDesktop,e.bodySizeMobile)},{kind:"group",name:"Button",props:{..._,align:"start",sectionPaddingTop:8,sectionPaddingTopPhone:8},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:Qe}]}],xF=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)`,Nte=()=>({name:"Scroll-Over Text",skip:e=>Fte(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=>({...J,direction:"column",justify:"center",align:"start",gap:24,gapPhone:24,share:"content",...vi,placement:"left",darken:hF(e),darkenStyle:"even",sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:Ip(e.heightDesktop),sectionHeightModePhone:"fixed",sectionHeightUnitPhone:"%",sectionHeightValuePhone:Ip(e.heightMobile)}),box:[...ae.filter(e=>!String(typeof e=="string"?e:e[0]).startsWith("sectionHeight")),["imageSrc","bgImage"],["imageSrcMobile","bgImagePhone"],["overlay","darken",(e,o)=>hF(o)],["heightDesktop","sectionHeightValue",e=>Ip(e)],["heightMobile","sectionHeightValuePhone",e=>Ip(e)]],parts:Dte,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:xF("Button color"),buttonTextColor:xF("Button text color"),...oe}}),bF={textStyle:"heading-2",...W("headingMedium",56,36),weight:400,lineHeight:1.05,letterSpacing:-.03},Mte={textStyle:"body-1",...W("body",16),lineHeight:1.7},yF=e=>({kind:"text",key:"body",props:{...Y,maxWidth:520},style:{...Mte,paragraphSpacing:e}}),yp={top:0,bottom:0,topPhone:0,bottomPhone:0},Ay=(e,o)=>typeof e.sectionHeightMode=="string"&&e.sectionHeightMode!=="auto"?{}:{sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:o,sectionHeightModePhone:"auto"},Hte=(e,o)=>{let t=Ay(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"}},SF={boxShapePhone:"landscape"},wF="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)",Wte=(e,o)=>({[e]:o,[`${e}Phone`]:o}),$te={textStyle:"heading-2",...W("headingMedium",40),weight:500,case:"none",lineHeight:1,letterSpacing:-.02},gF=e=>(Array.isArray(e.stats)?e.stats:[]).filter(o=>o&&(String(o.value??"").trim()!==""||String(o.label??"").trim()!=="")),zte=()=>({name:"Brand Text",boxProps:(e,o)=>({...J,...qo("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...ie(e,yp),...Ay(e,100)}),box:[...ae,...ye(yp)],parts:[{kind:"group",name:"Words",props:(e,o)=>({..._,justify:"center",gap:28,gapPhone:28,sectionBorder:ki({right:1}),sectionBorderPhone:ki({}),...vi,sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60,sectionPaddingRight:ks(o)}),parts:[ue("eyebrow",W("label",14)),{kind:"text",key:"heading",role:"heading",props:$,style:{...bF,case:"none"},mark:"accentItalic"},yF(28),{kind:"group",name:"Stats",props:{..._,sectionPaddingTop:16,sectionPaddingTopPhone:16},parts:[{kind:"group",name:"Figures",props:e=>({..._,direction:"row",share:"equal",gap:24,gapPhone:24,maxWidth:520,phoneRow:Math.min(Math.max(gF(e).length,1),3),...Wte("sectionBorder",ki({top:1})),sectionPaddingTop:28,sectionPaddingTopPhone:28}),parts:[{kind:"list",key:"stats",name:"Stat",of:gF,props:{..._,gap:4,gapPhone:4},parts:[{kind:"text",key:"value",props:en,style:$te},ue("label",{...W("label",13),color:"labels",letterSpacing:.2})]}]}]}]},_b("Picture","imageSrc",SF)],drop:{...oe,grayscale:wF,...de}}),bp=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}},Gte=e=>e.textAlign==="center"?"center":e.textAlign==="right"?"end":"stretch",Ute=e=>Math.min(Math.max(j(e.overlay)??60,0),100),CF=e=>typeof e=="string"&&e.trim()!=="",jte={...Qe,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},IF=e=>({..._b("Picture","imageSrc",(o,t)=>({...CF(o.imageSrc)?{darken:40,darkenStyle:"even"}:{},placement:"center",...SF,sectionBorder:ki(e?{left:1}:{right:1}),...vF(e?"left":"right",ks(t))}),[{kind:"button",key:"imageBtnText",href:"imageBtnHref",variant:"ghost",props:jte,style:{...ht(13,12),letterSpacing:.18}}]),when:o=>o.reverse===!0===e}),vF=(e,o)=>{let t=Math.max(60-o,0);return{sectionPaddingLeft:e==="left"?60:t,sectionPaddingRight:e==="right"?60:t}},Kte={kind:"group",name:"Words",props:(e,o)=>{let t=e.reverse===!0;return{..._,justify:"center",align:Gte(e),placement:e.textAlign==="center"?"center":e.textAlign==="right"?"right":"left",...Hte(e,72),gap:24,gapPhone:24,...CF(e.textBgSrc)?{darken:Ute(e),darkenStyle:"even"}:{},...vi,sectionPaddingTop:100,sectionPaddingBottom:100,...vF(t?"right":"left",ks(o)),sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60}},box:[["textBgSrc","bgImage"]],parts:[{...ue("eyebrow",W("label",14)),styleFrom:bp},{kind:"text",key:"title",role:"heading",props:$,style:bF,styleFrom:e=>({case:e.uppercase===!0?"upper":"none",...bp(e)})},{...yF(24),styleFrom:bp},{kind:"group",name:"Button",props:{..._,sectionPaddingTop:8,sectionPaddingTopPhone:8},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:e=>{let o=bp(e);return{...Qe,...o.align?{align:o.align}:{},...o.alignPhone?{alignPhone:o.alignPhone}:{}}}}]}]},Vte=()=>({name:"Image & Text Split",boxProps:(e,o)=>({...J,...qo("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...ie(e,yp),...Ay(e,72)}),box:[...ae,...ye(yp)],parts:[IF(!1),Kte,IF(!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:wF,...oe,...de}}),kF={IntroBleed:Nte(),Manifesto:zte(),Split:Vte()};var EF={headPlacement:void 0},TF={top:0,bottom:0,topPhone:0,bottomPhone:0},qte=()=>({name:"Form",boxProps:e=>({...J,direction:"column",...ie(e,TF)}),box:[...ae,...ye(TF)],parts:[{kind:"core",keep:"rest",props:EF}],drop:{...oe,...de}}),PF={top:120,bottom:120,topPhone:60,bottomPhone:60},Yte=()=>({name:"Photo Submission Form",boxProps:e=>({...J,direction:"column",gap:24,...ie(e,PF)}),box:[...ae,...ye(PF)],parts:[ue("eyebrow"),{kind:"text",key:"title",role:"heading",props:$,style:{textStyle:"heading-2"},mark:"accentItalic"},{kind:"text",key:"body",role:"body",props:Y},{kind:"core",as:"Form",keep:["formSlug"],rename:{buttonText:"submitText",consent:"finePrint"},props:EF}],skip:e=>e.layout==="boxes"?`its words are in its two SubmitBox regions (layout "boxes"); this row reads only the section's own words`:void 0,drop:{...oe,...de,layout:'the marker of the two-region drawing; a node that has it is skipped (above), so here it is never "boxes"',boxes:'the SubmitBox regions, drawn only under layout "boxes", which this row skips (above); without that marker they draw nothing'}}),OF={Form:qte(),SubmitBuild:Yte()};import{phoneKey as _F}from"efficient-easel/draw";var RF=1.5,AF={textStyle:"body-1",...W("body",15),lineHeight:RF},Xte={...To,...W("label",12),letterSpacing:.12,lineHeight:RF},LF=()=>({type:q,props:{..._,direction:"row",justify:"between",align:"start",gap:16,gapPhone:16,share:"content",phoneRow:2,[_F("share")]:"content",[_F("wrap")]:"nowrap",...Ze(12,0),sectionBorder:{top:1},name:"Item"},slots:{[le]:[{type:q,props:{..._,gap:0,gapPhone:0,name:"Item words"},slots:{[le]:[ce("label",{...$,tag:"p"},AF),ce("meta",{...Y,tag:"p"},Xte)]}},ce("amount",{...$,tag:"p"},AF)]}});var Zte=()=>({name:"Order Table",boxProps:()=>({...J,direction:"column"}),box:[...ae],parts:[{kind:"core",keep:"rest",headless:!0,slots:{[Je]:[LF()]}}],drop:{...oe}}),FF={OrderSummary:Zte()};import{phoneKey as Jte}from"efficient-easel/draw";var P4e={eyebrow:"By the numbers",title:`A picture worth
89
- *a thousand rows.*`},BF=["eyebrow","title","body","caption"],E4e={label:"Chart",defaultProps:{eyebrow:"",title:"",body:"",items:[],caption:"",chartStyle:"bars",valueSuffix:""}};var DF=["eyebrow","title","body"],_4e={label:"Mockup Card",defaultProps:{eyebrow:"",title:"",body:"",variant:"spec-card",cardHeader:"",badge:"",cardTitle:"",cardSubtitle:"",pills:[],tiles:[],rows:[],button:"",footnote:"",col1Title:"",col1Cards:[],col2Title:"",col2Cards:[],col3Title:"",col3Cards:[],col4Title:"",col4Cards:[],barsHeading:"",bars:[],termLines:[],urlText:"",heroTitle:"",heroButton:"",products:[],align:"right"}};var HF={top:76,bottom:76,topPhone:76,bottomPhone:76},WF=()=>({kind:"group",name:"Words",props:{..._,gap:20,gapPhone:20},parts:[{kind:"group",name:"Chip row",props:{..._,direction:"row",phoneRow:2,[Jte("share")]:"content"},parts:[{kind:"group",name:"Chip",props:{..._,...Mt("main"),...Ze(6,14)},parts:[ue("eyebrow",{color:"background",...W("label",12),weight:600,letterSpacing:.16})]}]},{kind:"text",key:"title",role:"heading",props:$,style:{textStyle:"heading-2",...W("headingMedium",44,32),weight:500,case:"upper",lineHeight:1.04,letterSpacing:-.02}},{kind:"text",key:"body",props:{...Y,maxWidth:435},style:{textStyle:"body-1",...W("body",15),lineHeight:1.625}}]}),$F=(e,o)=>{let t=Va(o)?.themes,a=t?BS(t,on(e,o)):-1;return a>=0?a:e},zF=e=>(o,t)=>({...J,sectionAccent:$F(o.sectionAccent??0,t),direction:"row",align:"center",gap:56,gapPhone:56,share:e,sectionBorder:{top:1,bottom:1},...ie(o,HF)}),GF=[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>$F(e,t)],...ye(HF)],Qte=()=>({name:"Chart",boxProps:zF([42]),box:GF,parts:[WF(),{kind:"group",name:"Chart",props:{..._,gap:16,gapPhone:16},keepEmpty:!0,parts:[{kind:"core",keep:"rest",props:vs},ue("caption",{color:"muted",...W("label",10),letterSpacing:.14})]}],pressKeepsEmpty:[...BF],drop:{...oe,...de}}),NF=e=>e.align==="left",MF={kind:"group",name:"Card",keepEmpty:!0,props:_,parts:[{kind:"core",keep:"rest",props:vs}]},eae=()=>({name:"Mockup Card",boxProps:zF("equal"),box:GF,parts:[{...MF,when:NF},WF(),{...MF,when:e=>!NF(e)}],pressKeepsEmpty:[...DF],drop:{...oe,...de}}),UF={Chart:Qte(),Mockup:eae()};var oae={title:"Back online in",zeroText:"Almost done. Back very soon."},jF=["title"],W4e={label:"Countdown",defaultProps:{...oae,endsAt:"",showUnits:!0}};var KF={top:48,bottom:48,topPhone:48,bottomPhone:48},tae={...ue("title",{...Xs(12),color:"muted"}),props:{...$,align:"center"}},aae=()=>({name:"Countdown",boxProps:e=>({...J,direction:"column",align:"center",gap:16,gapPhone:16,...ie(e,KF)}),box:[...ae,...ye(KF)],parts:[tae,{kind:"core",keep:"rest",props:vs}],pressKeepsEmpty:[...jF],drop:{...oe,...de}}),VF={top:80,bottom:80,topTablet:60,bottomTablet:60,topPhone:60,bottomPhone:60},rae=()=>({name:"Feature Banner",boxProps:e=>({...J,direction:"column",sectionBorder:{bottom:1},...ie(e,VF)}),box:[...ae,...ye(VF)],parts:[{kind:"core",keep:"rest",props:vs}],drop:{...oe,...de}}),qF={Countdown:aae(),FeaturedCover:rae()};var YF={top:80,bottom:80,topPhone:60,bottomPhone:60},nae=()=>{let e=Zu("FitmentFinder");return{name:"Fitment Form",boxProps:o=>({...J,direction:"column",gap:Vu[Ps("FitmentFinder")],...ie(o,YF)}),box:[...ae,...ye(YF)],parts:[at("FitmentFinder"),{kind:"block",type:"FitmentPicker"},{kind:"block",type:"StockFitment"},{kind:"button",key:"ctaText",href:"ctaHref"}],skip:o=>o.layout==="bar"?"the one-row shape goes to the shop on the fourth pick and draws no head; the Fitment picker block never leaves the page":void 0,...Object.keys(e).length?{reads:e}:{},drop:{...oe,...de,layout:'the section shape; "bar" is skipped (above), so here it is the stacked shape this Box draws'}}},XF={FitmentFinder:nae()};var ZF={top:72,bottom:72,topPhone:72,bottomPhone:72},sae={name:"Editorial Text",boxProps:e=>({...J,direction:"column",gap:28,gapPhone:28,sectionBorder:{top:1},...ie(e,ZF)}),box:[["topBorder","sectionBorder",e=>e===!1?void 0:{top:1}],...ae,...ye(ZF)],parts:[at("Prose"),{kind:"text",key:"body",props:Y,style:{textStyle:"body-1",...W("body",16),lineHeight:1.7,paragraphSpacing:18}}],drop:{...oe,...de,headPlacement:"needs a row per head placement: an own-box Prose draws no head (its words sit in a Section Header above it), the row always draws the head. 0 of 123 live nodes store it (the live export, 2026-10-24)"}},JF={buttonPaddingTop:20,buttonPaddingBottom:20,buttonPaddingLeft:28,buttonPaddingRight:28},QF=(e,o)=>o?.variant==="primary",eB=(e,o)=>({kind:"list",key:"buttons",name:"Button",flat:!0,when:e,parts:[{kind:"button",key:"label",href:"href",when:QF,variant:"primary",style:{letterSpacing:.3},props:{...Qe,...JF,...o}},{kind:"button",key:"label",href:"href",when:(t,a)=>!QF(t,a),variant:"ghost",style:{letterSpacing:.3},props:{...Qe,...JF,...o}}]}),Sp=e=>qe(e.title),lae={name:"Call-to-Action Heading",boxProps:e=>({...J,direction:"row",align:"center",justify:Sp(e)?"between":"end",gap:60,gapPhone:60,share:"content",sectionBorder:{bottom:1},...Ao(e,"TitleWithButtons")}),box:[...ae,...Xa("TitleWithButtons")],parts:[{kind:"group",name:"Title",props:{..._,maxWidth:1e3,widthFitPhone:"fill"},parts:[{kind:"text",key:"title",role:"heading",props:$,style:{textStyle:"heading-1",...Wo("headingLarge",48,7,108),case:"upper",lineHeight:.94,letterSpacing:-.035}}]},{kind:"group",name:"Buttons",props:e=>({..._,gap:14,gapPhone:14,widthFitPhone:"fill",...Sp(e)?{minWidth:280,minWidthPhone:0}:{}}),parts:[eB(Sp,{widthFit:"fill",iconPosition:"end"}),eB(e=>!Sp(e),{})]}],drop:{...oe,buttonsAlign:"moves the buttons only when there is no heading (4 of 128 live nodes), where the Box puts them at the end. 0 of 128 live nodes store it (the live export, 2026-10-24)",buttonsAlignPhone:"the phone's own side of `buttonsAlign`, read only with no heading; no old node stores it (it is new with the Phone view's Block alignment row), so nothing moves",buttonsAlignTablet:"the tablet's own side of `buttonsAlign`, read only with no heading; no old node stores it (it is new with the Tablet view's Block alignment row, 0 stored on the US sites 2026-11-05), so nothing moves"}};function iae(e){let{siteGutter:o,siteGutterPhone:t}=e.site??{},a=ks(e),r=Math.min(20,Bd(t)??Dd(o));return{sectionPaddingLeft:a,sectionPaddingRight:a,sectionPaddingLeftPhone:r,sectionPaddingRightPhone:r}}var oB={top:40,bottom:64,topPhone:24,bottomPhone:36},cae={name:"Section Header",boxProps:(e,o)=>({...J,direction:"column",gap:0,...ie(e,oB),...iae(o)}),box:[...ae,...ye(oB)],parts:[at("SectionHeader")],drop:{...oe,...de,headStyle:"needs a row per head look: the row draws the standard look; the editorial, simple, statement, natural and essay looks are other layouts. 0 of 69 live nodes store it (the live export, 2026-10-24)",eyebrowLook:"read only by the simple, statement, natural and essay looks, which this row does not draw. 0 of 69 live nodes store it",rowGap:"read only by the natural look, which this row does not draw. 0 of 69 live nodes store it",descriptionSize:"read only by the natural look, which this row does not draw. 0 of 69 live nodes store it",numStyle:"Solid (the default; 4 of 69 live nodes store it) IS the eyebrow Text the row draws; Outlined (0 live) needs an outlined-number text look"}},tB={..._,direction:"row",share:[67],gap:30},aB={..._,sectionPaddingLeft:30,sectionPaddingLeftPhone:0},rB=(e,o,t)=>({kind:"group",name:e,props:o,parts:[t]}),dae={name:"Lead Text",boxProps:e=>({...J,direction:"column",gap:40,gapPhone:40,sectionBorder:{bottom:1},...Ao(e,"ParagraphsA")}),box:[...ae,...Xa("ParagraphsA")],parts:[{kind:"group",name:"Numbers",props:{...tB,gapPhone:24,sectionBorder:{bottom:1},sectionPaddingBottom:40,sectionPaddingBottomPhone:40},parts:[{kind:"group",name:"Eyebrow",props:{..._,sectionPaddingTop:5,sectionPaddingBottom:1,sectionPaddingTopPhone:5,sectionPaddingBottomPhone:1},parts:[ue("eyebrow",{color:"labels",...W("label",12),letterSpacing:.24})]},rB("Stats column",_,{kind:"group",name:"Stats",props:{...aB,gap:0,gapPhone:0},parts:[{kind:"list",key:"stats",name:"Stat",flat:!0,parts:[Ci("value","label",{...W("label",13),letterSpacing:.18,lineHeight:1.8})]}]})]},{kind:"group",name:"Words",props:{...tB,gapPhone:28},parts:[{kind:"group",name:"Lead",props:_,parts:[{kind:"group",name:"Measure",props:{..._,maxWidth:780},parts:[{kind:"text",key:"lead",props:$,style:{textStyle:"heading-3",...W("headingSmall",22,20),weight:400,case:"none",lineHeight:1.45,letterSpacing:-.005}}]}]},rB("Note column",{..._,justify:"end",widthFit:"fill"},{kind:"group",name:"Founders",props:{...aB,gap:8,gapPhone:8},parts:[{kind:"group",name:"Note",props:{..._,gap:6,gapPhone:6},parts:[{kind:"text",key:"foundersHeading",props:$,style:{textStyle:"body-1",fontRole:"heading",...W("body",18,16),weight:500,letterSpacing:-.01,lineHeight:1.7}},{kind:"text",key:"foundersBody",props:Y,style:{textStyle:"body-5",fontRole:"heading",...W("body",14,12),lineHeight:1.7}}]},ue("attribution",{...W("label",12,10),letterSpacing:.24,lineHeight:1.7})]})]}],drop:{...oe}},nB={top:24,bottom:24,topPhone:24,bottomPhone:24},fae={name:"Banner",boxProps:e=>({...J,direction:"column",gap:0,...ie(e,nB)}),box:[...ae,"contained",...ye(nB)],parts:[{kind:"group",name:"Card",keepEmpty:!0,props:{..._,gap:28,placement:"top-left",darken:60,darkenStyle:"even",sectionBorder:{width:1},...Ze(64,40,40,24)},box:[["imageSrc","bgImage"],["overlay","darken",e=>Math.min(Math.max(j(e)??60,0),100)]],parts:[{kind:"group",name:"Words",props:{..._,gap:20},parts:[ue("eyebrow"),{kind:"text",key:"title",role:"heading",props:{...$,maxWidth:680},style:{weight:500,lineHeight:1.05,letterSpacing:-.03,case:"none"}},{kind:"text",key:"body",props:{...Y,maxWidth:680},style:{textStyle:"body-1",lineHeight:1.6},was:{size:16}}]},{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:Qe}]}],drop:{...oe,...de}},Ry={Prose:sae,TitleWithButtons:lae,SectionHeader:cae,ParagraphsA:dae,Banner:fae};function sB(){go(Ry),go(gR),go(AR),go(lR),go(zR),go(bL),go(FL),go(NL),go(ZL),go(uF),go(kF),go(OF),go(FF),go(XF),go(UF),go(qF)}var pae=["FooterPayment"];function lB(e,o){let{id:t,...a}=e.props;for(let[r,n]of Object.entries(a))uae(n)&&(a[r]=n.map(s=>lB(s,o)));return o(e.type,a)}var Wi=(e,o)=>{if(!pae.includes(e.type))return null;sB();let t=qa(e.type);return t?ws({type:e.type,props:{...e.props}},t).nodes.map(a=>lB(a,o)):null};function iB(){let{appState:e,dispatch:o,config:t}=bae(f=>f),{readOnly:a}=Sae(),[r,n]=xae(!1),s=e.data.content;if(a||s.some(f=>f.type===Ae))return null;let l=s.find(f=>f.type===He)??null,c=(f,m)=>gae(t,f,m),d=()=>{let f=bi(l,c,Iae(Ae),Wi);o({type:"setData",data:m=>({...m,content:[...Bc(m.content,f)]}),recordHistory:!0}),n(!1)};return wp(yae,{tone:"info",title:i("This footer uses the old layout"),action:r?hae(mae,{children:[wp(Ly,{variant:"primary",size:"sm",onClick:d,children:i("Switch now")}),wp(Ly,{variant:"secondary",size:"sm",onClick:()=>n(!1),children:i("Cancel")})]}):wp(Ly,{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 Fy,jsxs as wae}from"react/jsx-runtime";import{InspectorUpLevel as cB}from"efficient-easel/chrome";function dB({nodeId:e,part:o,sectionName:t,onUpToSection:a}){let{select:r}=Zf(),n=Is(e,o,"picture");return wae("div",{children:[o!=="media"?Fy(cB,{inline:!0,name:i(jr.media),onSelect:()=>r(Ql(e,"media"))}):Fy(cB,{inline:!0,name:i(t),onSelect:a}),Fy(Et,{part:o,motion:n,itemWord:i(jr[o])})]})}import{HintsToggle as Dae,SettingsSwitch as Nae,hintsFoldClass as Mae}from"efficient-easel/panel";import{useHints as Hae}from"efficient-easel/screen/lib/hints";var xB={kind:"header"},Ny={kind:"website"},gB={kind:"website",tab:ds,revealPageGroup:!0},IB={kind:"chat"},bB={kind:"social"},$i="Part";function Wae(e){return i("Part of {name}",{name:i(e)})}function $ae(e,o,t){let a=e.describeNode(o);return{name:t,kindLabel:a?Wae(a.label):i($i)}}function zae(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 yB({what:e}){let o=zae(e);return ar("div",{className:"sf-note",children:[Se("p",{children:Se("strong",{children:o.title})}),ar("p",{children:[i("A template is a blueprint \u2014 it has no website of its own, so there is nothing here to change.")," ",o.own]})]})}function Dy(e){let o=Jl[e];return{name:jr[e],kindLabel:$i,icon:o,head:(t,a)=>{if(t.kind!==o)return null;let r=a.describeNode(t.nodeId);if(!r)return null;let n=hB({name:i(Qf(e,r.props)),tier:"part",of:i(r.label)},{partOf:({name:s})=>i("Part of {name}",{name:s})});return{name:n.name,kindLabel:n.kind}},render:(t,a)=>t.kind===o?Se(dB,{nodeId:t.nodeId,part:e,sectionName:a.describeNode(t.nodeId)?.label??"Hero",onUpToSection:()=>a.onSelectNode(t.nodeId)}):null}}var Gae={header:{name:"Header",kindLabel:"Site settings",icon:"header",render:(e,o)=>{let t=o.hostPanels?.header;return t?Se(t,{placeholderMode:o.capabilities.placeholderFrames,tokenRef:o.tokenRef,siteId:o.siteId,websiteName:o.websiteName,onOpenWebsiteSettings:o.onOpenWebsiteSettings,onAuthExpired:()=>o.notifyParent("storefront-editor:auth-expired")}):null}},website:{name:"Appearance",kindLabel:"Site settings",icon:"website",render:(e,o)=>Se(zf,{initialTab:e.tab,revealPageGroup:e.revealPageGroup,themeFromDocument:!o.capabilities.hasSiteTheme,tokenRef:o.tokenRef,siteId:o.siteId,onNotify:o.onNotify},e.tab??"")},chat:{name:"Live chat",kindLabel:"Site settings",icon:"chat",render:()=>Se(d_,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>Se(x_,{unavailable:Se(yB,{what:"Social link"})})},ticker:{name:Yl,kindLabel:$i,icon:"ticker",head:(e,o)=>e.kind==="ticker"?$ae(o,e.heroId,i(Yl)):null,render:e=>Se(y1,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:Dy("media"),heroImage:Dy("image"),heroImage2:Dy("image2"),part:{name:$i,kindLabel:$i,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}=kt(e.propKey),n=r?Zn(t.fields[a],r):t.fields[a],s=wu(t.type),l=s?Ml(s,e.propKey):null,c=s&&l?s[l].label:O1[e.propKey],d=c?i(c):y0(i(sg(cf(n??{},a))),r),f=hB({name:d,tier:"part",of:i(t.label)},{partOf:({name:m})=>i("Part of {name}",{name:m})});return{name:f.name,kindLabel:f.kind}},render:(e,o)=>e.kind==="part"?Se(X1,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>o.onSelectNode(e.nodeId),onEditStyle:o.onOpenSiteStyles}):null}},Uae=new Set(["header","website","chat"]);function jae(e,o){if(e==="selection")return null;let t=Gae[e];return Uae.has(e)&&!o.hasSiteSettings?{...t,kindLabel:"Not part of a template",render:()=>Se(yB,{what:t.name})}:t}function SB({mode:e,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onOpenPageStyles:a,onSelectNode:r,hideNodeActions:n=!1,onNotify:s,onHidePanel:l}){let{capabilities:c,tokenRef:d,notifyParent:f,currentSlug:m,siteId:u,runAuthed:x,readOnly:g,navigate:I}=Rae(),{rows:k}=Kl(),C=k?.find(ne=>ne.slug===m)??null,w=vae(),b=Object.keys(w.fields).some(ne=>!ne.startsWith("_")&&!Ul.includes(ne)),{websiteName:v}=xe(),P=Lae({readOnly:g}),{select:F}=Fae(),{selectedItem:T,getItemById:D,getSelectorForId:O,config:R,appState:N}=Cae(ne=>ne),y=_ae(R,T?{type:T.type,props:T.props}:null),A=T?T0(y??R.components[T.type]?.fields,T.props):[],L=ne=>R.components[ne]?.label??ne,M=T?O(T.props.id):void 0,X=jae(e.kind,c),V=Aae(),U={capabilities:c,tokenRef:d,hostPanels:V.chrome?.panels,describeNode:ne=>{let Fe=D(ne);if(!Fe)return null;let _e=R.components[Fe.type];return{type:Fe.type,label:_e?.label??Fe.type,fields:_e?.fields??{},props:Fe.props??{}}},siteId:u,websiteName:v??null,notifyParent:f,onNotify:s,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r},ge=X?.head?.(e,U)??null,te=r_({kind:C?.kind,pageName:C?.label}),Re=ge?.name??(X?i(X.name):T?i(L(T.type)):te.name),We=ge?.kindLabel??(X?i(X.kindLabel):T?M&&M.zone!==mB?i("Block"):i("Section"):te.kindLabel),Pe=X?X.icon:T?T.type:"page",Ie=X?null:T?R.components[T.type]?.fields??null:R.root?.fields??null,Ee=Ie?z_(Ie):2,$e=By(e)&&T?fi(T.type):null,oo=!!T&&!!M&&M.zone===mB&&T.type!==He&&T.type!==Bae,yo=Nu(N?.data,T),he=()=>{yo||M&&P.duplicateComponent(M.zone,M.index)},Ke=()=>{M&&(P.removeComponent(M.zone,M.index),P.select(null))},Oe=T?R.components[T.type]?.defaultProps?.previewHover:void 0,ve=By(e)&&!!T&&!!M&&Oe!==void 0,Ye=ve&&T.props.previewHover===!0,Lt=()=>{!T||!M||P.replaceComponent(M.zone,M.index,{...T,props:{...T.props,previewHover:!Ye}})},{shown:Ro,setShown:H}=Hae(),Le=!!(X||T||b);return ar("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right ${Mae(Ro)}`.trim(),children:[Se(Pae,{icon:Se(Kr,{type:Pe,size:15}),name:Re,kind:We,actions:!n&&By(e)&&T&&T.type!==He?ar(fB,{children:[Se(uB,{label:i("Duplicate section"),title:yo??void 0,disabled:yo!==null,onClick:he,children:Se(Eae,{size:15})}),oo&&c.hasSiteSettings&&Se(cA,{node:T,currentSlug:m,siteId:u??void 0,tokenRef:d,runAuthed:x,onNotify:s}),Se(uB,{label:i("Remove section"),danger:!0,onClick:Ke,children:Se(Oae,{size:15})}),l?Se(pB,{side:"right",onHide:l,divider:!0}):null]}):l?Se(pB,{side:"right",onHide:l}):void 0}),ve&&ar("div",{className:"sf-preview-pin",children:[ar("div",{className:"sf-preview-pin-text",children:[Se("span",{className:"sf-preview-pin-label",children:i("Preview hover state")}),Se("span",{className:"sf-preview-pin-hint",children:i("not shown live")})]}),Se(Nae,{checked:Ye,onChange:Lt,ariaLabel:i("Preview hover state")})]}),Se(xP,{tier:Ee,children:ar("div",{className:"sf-insp-body es-insp-body sf-scroll",children:[X?X.render(e,U):T?ar(fB,{children:[T.type===He&&c.hasSiteSettings&&Se(iB,{}),Se(kk,{children:Se(Et,{entries:Se(dA,{parts:A,heading:!1,onOpen:ne=>F(sf(T.props.id,ne))}),entryCount:vb(A).length,itemWord:Re})}),$e&&Se(Tu,{source:$e,slug:bs(T?.props),menuId:yu(T?.props)})]}):b?Se(Et,{omit:Ul}):Se(Tae,{variant:"none",icon:!1,message:i("Select a section or block to edit it."),children:a&&Se(kae,{variant:"secondary",onClick:a,children:i("This page")})}),Le&&Se(Dae,{shown:Ro,onChange:H,label:i("Show hints")})]})})]})}import{jsx as p,jsxs as E,Fragment as TB}from"react/jsx-runtime";var so={dark:"var(--sf-thumb-bar-dark)",soft:"var(--sf-thumb-bar-light)",accent:"var(--sf-thumb-accent)",tint:"var(--sf-thumb-accent-tint)",block:"var(--sf-thumb-block)",line:"var(--sf-thumb-border)",card:"var(--sf-thumb-card)"},My="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 z({w:e,h:o,tone:t="dark",r:a=2,style:r}){return p("div",{style:{width:e,height:o,borderRadius:a,background:so[t],flex:"none",...r}})}var Kae={Hero:"hero",HeroSingle:"herosingle",IntroBleed:"intro",Collections:"collections",AlloyWheelsListing:"wheelslisting",CatalogFilterBar:"catalogfilterbar",ProductGrid:"productgrid",FitmentFinder:"fitmentfinder",Gallery:"gallery",GalleryB:"gallerygrid",SpecStrip:"specstrip",ProductHero:"producthero",SpecTable:"spectable",ProcessSteps:"processsteps",DetailRows:"detailrows",FitmentTable:"fitmenttable",CompatibleTyres:"compatibletyres",TyreSizes:"tyresizes",TyreFitment:"tyrefitment",EuTyreLabel:"eutyrelabel",RelatedProducts:"productgrid",BundleOffer:"bundleoffer",OrderSummary:"ordersummary",DeliveryOptions:"deliveryoptions",PaymentBadges:"paymentbadges",CheckoutCTA:"checkoutcta",Manifesto:"manifesto",ParagraphsA:"paragraphs",Prose:"prose",StatsParagraph:"statsparagraph",Chart:"chart",Mockup:"mockup",Footprint:"footprint",Timeline:"timeline",TimelineTrack:"timelinetrack",TitleWithButtons:"titlewithbuttons",Split:"split",Cards:"cards",FAQ:"faq",Testimonials:"testimonials",Masthead:"masthead",Breadcrumb:"breadcrumb",CategoryBar:"categorybar",FeaturedCover:"featuredcover",LongRead:"longread",ArticleBody:"articlebody",Series:"series",Subscribe:"subscribe",SubscribeBlogs:"subscribe",Events:"events",DocMasthead:"docmasthead",DocTabs:"doctabs",DocBody:"docbody",DocMetaCards:"docmetacards",Banner:"banner",Stats:"stats",KeyFeatures:"keyfeatures",Logos:"logos",Ticker:"ticker",Countdown:"countdown",Reviews:"reviews",SubmitBuild:"submitbuild",ReviewForm:"reviewform",Form:"form",AppointmentBooking:"appointmentbooking",ContactRouting:"contact",ContactLocations:"contactlocations",CityPictures:"citypictures",CityMaps:"citymaps",Header:"header",Footer:"footer",SectionHeader:"sectionheader",Grid:"grid",Flex:"blanksection",Spacer:"spacer",Divider:"divider",CustomHTML:"customhtml",Heading:"heading",Text:"text",ImageBlock:"image",ButtonBlock:"button",MenuBlock:"menu",EmailFormBlock:"emailform",SocialLogosBlock:"sociallogos",PaymentLogosBlock:"paymentlogos",LegalLineBlock:"legalline",SearchBlock:"search",CartBlock:"cart",CountrySwitchBlock:"countryswitch"},K={position:"absolute",inset:0},h={ink:"var(--sf-thumb-ink)",ink2:"var(--sf-thumb-ink-2)",inkSoft:"var(--sf-thumb-ink-soft)",inkSoft2:"var(--sf-thumb-ink-soft-2)",paper:"var(--sf-thumb-paper)",paper2:"var(--sf-thumb-paper-2)",warm:"var(--sf-thumb-warm)",rust:"var(--sf-thumb-rust)",onInk:"var(--sf-thumb-on-ink)",text:"var(--sf-thumb-scene-text)",muted:"var(--sf-thumb-scene-muted)",rule:"var(--sf-thumb-scene-rule)",mark1:"var(--sf-thumb-mark-1)",mark2:"var(--sf-thumb-mark-2)",card:"var(--sf-thumb-card)",scrim:"var(--sf-thumb-scrim)"},De=(e,o,t=160)=>({background:`linear-gradient(${t}deg,${e},${o})`});function Sa({size:e,style:o}){let t=Math.max(2,Math.round(e*.13)),a=(r,n,s)=>({position:"absolute",inset:r,background:n,borderRadius:t,...s?{mixBlendMode:s}:null});return E("span",{style:{position:"absolute",display:"block",width:e,height:e,...o},children:[p("span",{style:a("8% 26% 30% 6%",h.mark1)}),p("span",{style:a("26% 6% 8% 30%",h.mark2,"multiply")})]})}function vp({children:e}){return p("span",{style:{fontSize:"4.64cqw",fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:h.muted},children:e})}function wB({over:e,overTone:o,head:t,headSize:a=11.5,cta:r,ctaBg:n,ctaFg:s,tone:l}){return E(TB,{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 Hy({name:e,price:o}){return E("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[p("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",...De(h.paper,h.paper2,150)},children:p(Sa,{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 ya({k:e,v:o,ok:t}){return E("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,padding:"3.5px 2px",borderBottom:`1px solid ${h.rule}`,fontSize:"3.98cqw",color:h.muted},children:[p("span",{children:e}),E("span",{style:{display:"flex",gap:6,alignItems:"center"},children:[p("b",{style:{color:h.text,fontWeight:700},children:o}),t&&p("span",{style:{color:h.rust,fontWeight:700},children:"\u2713"})]})]})}function Te({title:e,children:o}){return E("div",{style:{...K,background:h.card,padding:"9px 10px",display:"flex",flexDirection:"column",gap:6},children:[p(vp,{children:e}),o]})}function CB({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 Wy({filled:e=5,size:o=6}){return E("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 zi({n:e,label:o,tone:t=h.text}){return E("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 eo({children:e,w:o}){return p("span",{style:{fontSize:"3.98cqw",lineHeight:1.45,color:h.muted,width:o,display:"block"},children:e})}function Cp({label:e,w:o="100%",filled:t}){return E("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 vB({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 Vae={wheelslisting:p(Te,{title:"All wheels",children:p("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[["Ridge 19","20\xD79 +12","$365"],["Ridge 29","18\xD79 +20","$410"],["Ridge 39","17\xD78 \u221210","$455"]].map(([e,o,t])=>E("div",{style:{display:"flex",alignItems:"center",gap:6},children:[p("span",{style:{width:20,height:15,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",...De(h.paper,h.paper2,150)},children:p(Sa,{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:E("div",{style:{...K,background:h.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[E("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[["20 inch","6\xD7139.7","Black"].map(e=>E("span",{style:{fontSize:"3.65cqw",fontWeight:600,padding:"4px 7px",borderRadius:99,background:h.text,color:h.onInk,display:"flex",gap:4,alignItems:"center"},children:[e,p("span",{style:{opacity:.6},children:"\u2715"})]},e)),p("span",{style:{fontSize:"3.65cqw",color:h.rust,fontWeight:700},children:"Clear"})]}),E("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:E("div",{style:{...K,padding:"10px 12px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center",...De(h.ink,h.inkSoft)},children:[p("span",{style:{fontSize:"5.31cqw",fontWeight:700,color:h.onInk},children:"Will it fit your rig?"}),E("div",{style:{display:"flex",gap:4},children:[["2021","Toyota","Hilux"].map(e=>E("span",{style:{flex:1,fontSize:"3.65cqw",color:h.text,background:h.card,borderRadius:3,padding:"5px 6px",display:"flex",justifyContent:"space-between"},children:[e," ",p("span",{style:{color:h.muted},children:"\u25BE"})]},e)),p("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.08em",background:h.warm,color:h.ink,borderRadius:3,padding:"5px 7px"},children:"GO"})]})]}),compatibletyres:p(Te,{title:"Tyres that suit",children:p("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Ridge Grappler","$489"],["Trail Grappler","$525"],["Terra Grappler","$438"]].map(([e,o])=>E("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[p("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",background:h.ink},children:p("span",{style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%,-50%)",width:26,height:26,borderRadius:"50%",border:`5px solid ${h.mark2}`,boxSizing:"border-box"}})}),p("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:h.text,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:e}),p("span",{style:{fontSize:"3.32cqw",color:h.muted},children:o})]},e))})}),tyresizes:p(Te,{title:"Available sizes",children:p("div",{style:{flex:1,display:"flex",flexWrap:"wrap",gap:4,alignContent:"center"},children:["265/65R17","285/70R17","265/60R18","275/55R20"].map((e,o)=>p("span",{style:{fontSize:"3.65cqw",fontWeight:600,padding:"5px 7px",borderRadius:3,border:`1px solid ${o===0?h.rust:h.rule}`,color:o===0?h.rust:h.text,background:o===0?h.paper:h.card},children:e},e))})}),tyrefitment:E(Te,{title:"Will it fit your car?",children:[p("div",{style:{display:"flex",gap:3},children:["Make","Model","Year","Trim"].map(e=>E("span",{style:{flex:1,minWidth:0,fontSize:"3.32cqw",color:h.muted,background:h.paper,border:`1px solid ${h.rule}`,borderRadius:3,padding:"4px 5px",display:"flex",justifyContent:"space-between",gap:2,overflow:"hidden",whiteSpace:"nowrap"},children:[e," ",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])=>E("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:E("div",{style:{...K,background:h.card,padding:"9px 11px",display:"flex",gap:8,alignItems:"center"},children:[p("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1.5},children:[["A","42%"],["B","56%"],["C","70%"],["D","84%"]].map(([e,o],t)=>E("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))}),E("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:E("div",{style:{...K,background:h.paper,padding:"9px 11px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[p(vp,{children:"Buy it with"}),E("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(Sa,{size:17,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})},e)),p("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:h.muted},children:"+"}),E("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:E("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,...De(h.ink,h.ink2)},children:[E("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",color:h.warm,fontWeight:700},children:"READY TO ORDER"}),p("b",{style:{fontSize:"6.63cqw",color:h.onInk,lineHeight:1},children:"$1,956"}),p("span",{style:{fontSize:"3.65cqw",color:h.onInk,opacity:.65},children:"4 items \xB7 fitted free"})]}),p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"6px 10px",borderRadius:2,background:h.warm,color:h.ink,flex:"none"},children:"CHECKOUT"})]}),contact:p(Te,{title:"Who do you need?",children:p("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[["Fitment help","the workshop"],["Order status","the front desk"],["Trade accounts","sales"]].map(([e,o])=>E("div",{style:{display:"flex",alignItems:"center",gap:5},children:[p("b",{style:{flex:1,fontSize:"4.31cqw",color:h.text},children:e}),p("span",{style:{fontSize:"3.65cqw",color:h.muted},children:o}),p("span",{style:{fontSize:"4.64cqw",color:h.rust,lineHeight:1},children:"\u203A"})]},e))})}),contactlocations:p(Te,{title:"Find us",children:p("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gap:5,minHeight:0},children:[["Brisbane","7 Kerry Rd","Mon\u2013Sat"],["Townsville","12 Enterprise","Mon\u2013Fri"]].map(([e,o,t])=>E("div",{style:{border:`1px solid ${h.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[p("b",{style:{fontSize:"4.31cqw",color:h.text},children:e}),p("span",{style:{fontSize:"3.32cqw",color:h.muted},children:o}),p("span",{style:{fontSize:"3.32cqw",color:h.rust,fontWeight:700},children:t})]},e))})}),citypictures:p(Te,{title:"Our studios",children:E("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=>E("div",{style:{position:"relative",minHeight:0},children:[p(z,{r:3,style:{...K,background:`linear-gradient(transparent 45%,${h.scrim} 45%),${De(h.ink,h.inkSoft2).background}`}}),p("b",{style:{position:"absolute",left:5,bottom:4,fontSize:"3.65cqw",color:h.onInk},children:e})]},e))})]})}),citymaps:p(Te,{title:"Find us",children:p("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gap:5,minHeight:0},children:[["Brisbane","7 Kerry Rd"],["Townsville","12 Enterprise"]].map(([e,o])=>E("div",{style:{position:"relative",padding:"4px 5px",display:"flex",flexDirection:"column",gap:2,minHeight:0},children:[p(z,{r:4,style:{...K,background:"none",border:`1px solid ${h.rule}`}}),p("b",{style:{position:"relative",fontSize:"4.31cqw",color:h.text},children:e}),p("span",{style:{position:"relative",fontSize:"3.32cqw",color:h.muted},children:o}),E("div",{style:{flex:1,minHeight:0,position:"relative"},children:[p(z,{r:3,style:{...K,...De(h.paper,h.paper2,150)}}),p(z,{w:"60%",h:"60%",r:8,style:{position:"absolute",left:"12%",top:"20%",background:h.mark1,opacity:.75}}),p(z,{w:6,h:6,r:3,style:{position:"absolute",left:"44%",top:"34%",background:h.rust}})]})]},e))})}),form:p(Te,{title:"Send us a message",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[E("div",{style:{display:"flex",gap:5},children:[p(Cp,{label:"Name"}),p(Cp,{label:"Email"})]}),p(Cp,{label:"Message",filled:!0}),p(vB,{children:"SEND"})]})}),appointmentbooking:p(Te,{title:"Book a fitting",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[p("div",{style:{display:"flex",gap:3},children:["Mon","Tue","Wed","Thu"].map((e,o)=>p("span",{style:{flex:1,textAlign:"center",fontSize:"3.32cqw",fontWeight:o===2?700:500,padding:"4px 0",borderRadius:3,background:o===2?h.text:h.paper,color:o===2?h.onInk:h.muted},children:e},e))}),p("div",{style:{display:"flex",gap:3},children:["8:00","10:30","13:00","15:30"].map((e,o)=>p("span",{style:{flex:1,textAlign:"center",fontSize:"3.32cqw",padding:"4px 0",borderRadius:3,border:`1px solid ${o===1?h.rust:h.rule}`,color:o===1?h.rust:h.muted,background:o===3?h.paper:h.card,textDecoration:o===3?"line-through":"none"},children:e},e))})]})}),reviewform:p(Te,{title:"Leave a review",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[p(Wy,{filled:4,size:14}),p(Cp,{label:"Your review",filled:!0}),p(vB,{children:"POST"})]})}),submitbuild:p(Te,{title:"Show us your build",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:3,border:`1px dashed ${h.mark1}`,borderRadius:5,background:h.paper},children:[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:E("div",{style:{...K,background:h.paper,display:"flex",flexDirection:"column",justifyContent:"center",padding:"0 13px",gap:5},children:[p("span",{style:{height:1.5,background:h.text}}),p("span",{style:{fontSize:"7.65cqw",fontWeight:800,letterSpacing:"0.02em",color:h.text,lineHeight:1},children:"THE TRACK"}),E("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:E("div",{style:{...K,overflow:"hidden",...De(h.ink,h.inkSoft2)},children:[p(Sa,{size:92,style:{right:-18,top:-14}}),p("div",{style:{position:"absolute",inset:0,background:`linear-gradient(0deg,${h.scrim},transparent 62%)`}}),E("div",{style:{position:"absolute",left:12,right:12,bottom:11,display:"flex",flexDirection:"column",gap:3},children:[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:E("div",{style:{...K,background:h.card,padding:"10px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.14em",fontWeight:700,color:h.rust},children:"12 MIN READ"}),p("span",{style:{fontSize:"6.02cqw",lineHeight:1.15,fontWeight:700,color:h.text},children:"What breaks first, and why"}),p(eo,{children:"Every failure starts in the same place:"}),p(eo,{w:"80%",children:"the bolt nobody re-torqued."})]}),articlebody:E("div",{style:{...K,background:h.card,padding:"10px 22px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center",alignItems:"center",textAlign:"center"},children:[p("span",{style:{fontSize:"4.97cqw",lineHeight:1.2,fontWeight:700,color:h.text},children:"Why offset beats width"}),p(eo,{w:"100%",children:"A wider wheel adds grip only if the offset still"}),p(eo,{w:"88%",children:"clears the arch, so the offset is chosen first."}),p(eo,{w:"80%",children:"Width follows from the space left."})]}),series:p(Te,{title:"Recurring columns",children:p("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[["Shed Notes","Monthly"],["Track Tested","Fortnightly"],["Reader Rigs","Weekly"]].map(([e,o])=>E("div",{style:{display:"flex",alignItems:"center",gap:6},children:[p("span",{style:{width:3,height:12,borderRadius:2,background:h.rust,flex:"none"}}),p("b",{style:{flex:1,fontSize:"4.64cqw",color:h.text},children:e}),p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:h.muted},children:o})]},e))})}),events:p(Te,{title:"Latest posts",children:p("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[[h.inkSoft,h.inkSoft2,"Madigan Line, four days"],[h.rust,h.warm,"Why offset beats width"]].map(([e,o,t])=>E("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[p("span",{style:{width:24,height:18,borderRadius:3,flex:"none",...De(e,o,150)}}),E("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[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:E("div",{style:{...K,background:h.card,padding:"12px 14px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:h.muted},children:"POLICY"}),p("span",{style:{fontSize:"6.49cqw",fontWeight:700,color:h.text,lineHeight:1.1},children:"Returns & refunds"}),p("span",{style:{fontSize:"3.65cqw",color:h.muted},children:"Version 3 \xB7 Updated 4 Sep 2026"}),p("span",{style:{height:2,width:26,background:h.rust,borderRadius:1}})]}),docbody:p("div",{style:{...K,background:h.card,padding:"9px 13px",display:"flex",flexDirection:"column",gap:3,justifyContent:"center"},children:[["1.","You may return an unfitted wheel within 30 days."],["2.","Fitted wheels are covered by the structural warranty."],["3.","Freight on a change of mind is yours."]].map(([e,o])=>E("div",{style:{display:"flex",gap:5},children:[p("b",{style:{fontSize:"3.98cqw",color:h.rust,flex:"none"},children:e}),p(eo,{children:o})]},e))}),docmetacards:p(Te,{title:"At a glance",children:p("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gap:5,minHeight:0},children:[["30 days","To return"],["5 years","Structural"],["Free","Fitting"],["48 hrs","Dispatch"]].map(([e,o])=>E("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:E("div",{style:{...K,background:h.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:0,padding:"0 11px"},children:[p("div",{style:{display:"flex",gap:0},children:["Returns","Warranty","Shipping"].map((e,o)=>p("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,padding:"5px 8px",color:o===0?h.text:h.muted,background:o===0?h.paper:"transparent",borderRadius:"4px 4px 0 0",border:`1px solid ${o===0?h.rule:"transparent"}`,borderBottom:"none"},children:e},e))}),p("span",{style:{height:1,background:h.rule}}),E("div",{style:{paddingTop:6,display:"flex",flexDirection:"column",gap:2},children:[p(eo,{children:"Unfitted wheels come back within 30 days, no questions."}),p(eo,{w:"58%",children:"Freight on a change of mind is yours."})]})]}),paragraphs:E("div",{style:{...K,background:h.card,padding:"11px 14px",display:"flex",gap:10,alignItems:"center"},children:[p("span",{style:{flex:1,fontSize:"5.86cqw",lineHeight:1.2,fontWeight:700,color:h.text},children:"The right wheel is the boring one."}),E("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[p(eo,{children:"Forged, correctly offset, rated for what you actually"}),p(eo,{children:"carry. Everything else is a photograph."})]})]}),keyfeatures:p(Te,{title:"Key features",children:p("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:["Flow-formed barrel","1250 kg per corner","Hub-centric fit"].map(e=>E("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:E("div",{style:{...K,background:h.paper,padding:"10px 12px",display:"flex",gap:10,alignItems:"center"},children:[E("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:5},children:[p(zi,{n:"27k",label:"Rigs"}),p(zi,{n:"4.9",label:"Rating"})]}),E("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[p(eo,{children:"Twelve years of fitting the same three questions, and the"}),p(eo,{children:"answer has not moved: load rating, offset, then looks."})]})]}),chart:E(Te,{title:"Load vs weight",children:[p("div",{style:{flex:1,display:"flex",alignItems:"flex-end",gap:5,paddingBottom:2},children:[38,62,84,71,96].map((e,o)=>p("span",{style:{flex:1,height:`${e}%`,borderRadius:"2px 2px 0 0",background:o===4?h.rust:h.mark1}},o))}),p("span",{style:{height:1,background:h.rule,marginTop:-4}})]}),mockup:p("div",{style:{...K,overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",...De(h.inkSoft,h.ink)},children:E("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))}),E("div",{style:{padding:5,display:"flex",flexDirection:"column",gap:3},children:[p("span",{style:{height:4,width:"56%",borderRadius:1,background:h.mark2}}),p("span",{style:{height:14,borderRadius:2,...De(h.paper,h.paper2,150)}}),p("span",{style:{height:3,width:"38%",borderRadius:1,background:h.rust}})]})]})}),manifesto:p("div",{style:{...K,overflow:"hidden",display:"flex",alignItems:"center",padding:"0 16px",...De(h.ink,h.ink2)},children:E("span",{style:{fontSize:"6.63cqw",lineHeight:1.2,fontWeight:700,color:h.onInk},children:["We build for the ",p("span",{style:{color:h.warm},children:"last"})," ten percent of the track."]})}),timeline:p(Te,{title:"Our story",children:p("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center",gap:6,paddingLeft:4},children:[["1998","One shed, one lathe."],["2009","First forged rim."],["2024","27,000 rigs on."]].map(([e,o],t)=>E("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}}),E("div",{style:{display:"flex",flexDirection:"column",gap:0,minWidth:0},children:[p("b",{style:{fontSize:"4.64cqw",color:h.text},children:e}),p(eo,{children:o})]})]},e))})}),timelinetrack:E("div",{style:{...K,padding:"0 12px",display:"flex",flexDirection:"column",gap:10,justifyContent:"center",...De(h.ink,h.inkSoft)},children:[p("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:h.warm},children:"Milestones"}),E("div",{style:{position:"relative",display:"flex",justifyContent:"space-between",paddingTop:7},children:[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)=>E("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:E("div",{style:{...K,overflow:"hidden",...De(h.paper,h.paper2,150)},children:[p("span",{style:{position:"absolute",left:"8%",top:"18%",width:"62%",height:"64%",borderRadius:"48% 52% 40% 60% / 55% 45% 55% 45%",background:h.mark1,opacity:.75}}),p("span",{style:{position:"absolute",left:"52%",top:"52%",width:"34%",height:"34%",borderRadius:"58% 42% 55% 45% / 45% 58% 42% 55%",background:h.mark2,opacity:.55}}),[["26%","38%"],["44%","58%"],["62%","34%"]].map(([e,o])=>p("span",{style:{position:"absolute",left:e,top:o,width:7,height:7,borderRadius:"50% 50% 50% 0",transform:"rotate(-45deg)",background:h.rust}},e)),p("span",{style:{position:"absolute",left:11,bottom:9,fontSize:"4.64cqw",fontWeight:700,color:h.text},children:"3 fitting bays"})]}),banner:E("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,background:h.rust},children:[E("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[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:E("div",{style:{...K,background:h.paper,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:7,padding:"0 14px",textAlign:"center"},children:[p("span",{style:{fontSize:"6.49cqw",lineHeight:1.15,fontWeight:700,color:h.text},children:"Not sure what fits?"}),E("div",{style:{display:"flex",gap:5},children:[p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:h.text,color:h.onInk},children:"FIND MY FIT"}),p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,border:`1px solid ${h.text}`,color:h.text},children:"CALL US"})]})]}),ticker:p("div",{style:{...K,overflow:"hidden",background:h.ink,display:"flex",alignItems:"center"},children:p("span",{style:{whiteSpace:"nowrap",fontSize:"6.29cqw",fontWeight:800,letterSpacing:"0.06em",color:h.warm,marginLeft:-14},children:"FREE FITTING \xB7 48HR DISPATCH \xB7 FREE FITTING \xB7 48HR DISPATCH"})}),countdown:E("div",{style:{...K,padding:"10px 12px",display:"flex",flexDirection:"column",alignItems:"center",gap:6,justifyContent:"center",...De(h.ink,h.ink2)},children:[p("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.16em",textTransform:"uppercase",color:h.muted},children:"Back online in"}),p("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[["23","Hours"],["59","Minutes"],["48","Seconds"]].map(([e,o],t)=>E("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[t>0&&p("b",{style:{fontSize:"9.5cqw",lineHeight:1,color:h.warm},children:":"}),E("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:[p("b",{style:{fontSize:"11.5cqw",lineHeight:1,color:h.onInk,fontVariantNumeric:"tabular-nums"},children:e}),p("span",{style:{fontSize:"3.2cqw",letterSpacing:"0.1em",textTransform:"uppercase",opacity:.62,color:h.onInk},children:o})]})]},o))})]}),breadcrumb:p("div",{style:{...K,background:h.card,display:"flex",alignItems:"center",padding:"0 13px"},children:E("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:E("div",{style:{...K,background:h.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[p("div",{style:{display:"flex",gap:5},children:["All","Wheels","Tyres","Lift"].map((e,o)=>p("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,padding:"4px 7px",borderRadius:99,background:o===0?h.text:h.paper,color:o===0?h.onInk:h.muted},children:e},e))}),p("span",{style:{height:1,background:h.rule}})]}),intro:E("div",{style:{...K,overflow:"hidden",background:h.card},children:[p("div",{style:{position:"absolute",inset:0,...De(h.ink,h.inkSoft2)}}),p(Sa,{size:64,style:{right:8,top:6}}),E("div",{style:{position:"absolute",left:16,right:16,bottom:8,top:"46%",background:h.paper,borderRadius:6,padding:"8px 11px",display:"flex",flexDirection:"column",gap:2,boxShadow:`0 -4px 10px ${h.scrim}`},children:[p("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:h.text},children:"Since 1998"}),p(eo,{children:"One shed, one lathe, one idea."}),p(eo,{w:"66%",children:"It turned out to be right."})]})]}),gallerygrid:p(Te,{title:"From our customers",children:p("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gridTemplateRows:"repeat(2,1fr)",gap:4,minHeight:0},children:[[h.rust,h.warm],[h.inkSoft,h.ink],[h.paper2,h.mark2],[h.ink,h.inkSoft2],[h.warm,h.paper2],[h.mark2,h.inkSoft]].map(([e,o],t)=>p("div",{style:{borderRadius:3,...De(e,o,140+t*22)}},t))})}),gallery:E(Te,{title:"Gallery",children:[p("div",{style:{display:"flex",gap:8,alignItems:"center",marginTop:-2},children:["On the truck","Studio","Close-ups"].map((e,o)=>p("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,color:o===0?h.text:h.muted,borderBottom:`1.5px solid ${o===0?h.rust:"transparent"}`,paddingBottom:2},children:e},e))}),p("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:4,minHeight:0},children:[[h.rust,h.warm],[h.ink,h.inkSoft],[h.paper2,h.mark2]].map(([e,o],t)=>p("div",{style:{borderRadius:3,...De(e,o,150+t*20)}},t))})]}),ordersummary:E(Te,{title:"Order summary",children:[E("div",{style:{display:"flex",gap:6,alignItems:"center",paddingBottom:4},children:[p("span",{style:{width:26,height:26,borderRadius:4,position:"relative",overflow:"hidden",flex:"none",...De(h.paper,h.paper2,150)},children:p(Sa,{size:18,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),E("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"})]})]}),E("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",justifyContent:"center"},children:[p(ya,{k:"Subtotal",v:"$1,956"}),p(ya,{k:"Fitting",v:"Free"}),E("div",{style:{display:"flex",justifyContent:"space-between",paddingTop:5,fontSize:"4.64cqw"},children:[p("b",{style:{color:h.text},children:"Total"}),p("b",{style:{color:h.text,fontSize:"6.02cqw"},children:"$1,956"})]})]})]}),deliveryoptions:p(Te,{title:"Delivery",children:p("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[["Standard","3\u20135 days","Free",!0],["Express","Next day","$19",!1]].map(([e,o,t,a])=>E("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 6px",borderRadius:4,border:`1px solid ${a?h.rust:h.rule}`,background:a?h.paper:h.card},children:[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:E("div",{style:{...K,background:h.paper,display:"flex",flexDirection:"column",gap:8,justifyContent:"center",padding:"0 12px"},children:[p(vp,{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:E("div",{style:{...K,padding:"10px 12px",display:"flex",flexDirection:"column",gap:9,justifyContent:"center",...De(h.ink,h.ink2)},children:[p("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:h.warm},children:"By the numbers"}),E("div",{style:{display:"flex",gap:8},children:[p(zi,{n:"27k",label:"Rigs fitted",tone:h.onInk}),p(zi,{n:"12",label:"Years",tone:h.onInk}),p(zi,{n:"4.9",label:"Avg rating",tone:h.warm})]})]}),testimonials:E("div",{style:{...K,overflow:"hidden",background:h.paper,padding:"10px 11px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center"},children:[p("span",{style:{position:"absolute",right:10,top:2,fontSize:"22.4cqw",lineHeight:1,fontWeight:800,color:h.rust,opacity:.16},children:"\u201D"}),p(Wy,{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"}),E("div",{style:{display:"flex",alignItems:"center",gap:5},children:[p(CB,{}),p("span",{style:{fontSize:"3.98cqw",color:h.muted},children:"Dave M. \xB7 Hilux N80"})]})]}),reviews:E(Te,{title:"Reviews",children:[p("div",{style:{display:"flex",gap:4,height:22},children:[[h.inkSoft,h.inkSoft2],[h.rust,h.warm],[h.ink,h.inkSoft],[h.mark2,h.mark1]].map(([e,o],t)=>p("div",{style:{flex:1,borderRadius:3,...De(e,o,140+t*15)}},t))}),p("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[["Dave M.",5,"Not one chip after the Simpson."],["Sara K.",4,"Fitted in an hour, no fuss."]].map(([e,o,t])=>E("div",{style:{display:"flex",gap:5,alignItems:"flex-start"},children:[p(CB,{size:12}),E("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[E("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[p("b",{style:{fontSize:"3.98cqw",color:h.text},children:e}),p(Wy,{filled:o})]}),p(eo,{children:t})]})]},e))})]}),logos:E("div",{style:{...K,display:"flex",flexDirection:"column",gap:9,justifyContent:"center",padding:"0 12px",...De(h.ink,h.inkSoft)},children:[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:E("div",{style:{...K,background:h.paper,padding:"11px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[p("span",{style:{fontSize:"5.86cqw",fontWeight:700,color:h.text},children:"Why offset matters"}),E("div",{style:{display:"flex",gap:6},children:[p("span",{style:{fontSize:"15.3cqw",lineHeight:.78,fontWeight:800,color:h.rust,marginTop:1},children:"T"}),E("div",{style:{display:"flex",flexDirection:"column"},children:[p(eo,{children:"he number on the back of your wheel decides whether the"}),p(eo,{w:"76%",children:"tyre sits under the guard or an inch outside it."})]})]})]}),cards:p(Te,{title:"What you get",children:p("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Fitted free","In store, same day."],["5 yr cover","Structural, no fine print."],["Swap it","30 days, any reason."]].map(([e,o])=>E("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(eo,{children:o})]},e))})}),faq:p(Te,{title:"Questions",children:p("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[["Will these fit my Hilux?",!0],["Do you fit them for me?",!1],["What if I pick wrong?",!1]].map(([e,o])=>E("div",{style:{borderBottom:`1px solid ${h.rule}`,padding:"4px 2px"},children:[E("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6},children:[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(eo,{w:"90%",children:"Use the fitment finder \u2014 it reads your build, not just the model."})]},e))})}),hero:E("div",{style:{...K,overflow:"hidden",...De(h.ink,h.ink2)},children:[p("div",{style:{...K,background:`linear-gradient(90deg,${h.scrim},transparent 70%)`}}),p("div",{style:{position:"relative",height:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",padding:"12px 14px",gap:5},children:p(wB,{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(Sa,{size:104,style:{right:-24,bottom:-30}})]}),herosingle:E("div",{style:{...K,display:"flex",background:h.paper,overflow:"hidden"},children:[p("div",{style:{flex:1,padding:12,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:p(wB,{over:"ALL-TERRAIN",overTone:h.rust,head:"Grip that does not ask",headSize:12,cta:"EXPLORE",ctaBg:h.text,ctaFg:h.onInk,tone:h.text})}),p("div",{style:{flex:1,position:"relative",...De(h.inkSoft,h.inkSoft2)},children:p(Sa,{size:74,style:{right:-14,top:16}})})]}),productgrid:p(Te,{title:"Best sellers",children:E("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[p(Hy,{name:"Ridge 19",price:"$365"}),p(Hy,{name:"Ridge 29",price:"$410"}),p(Hy,{name:"Ridge 39",price:"$455"})]})}),collections:p(Te,{title:"Shop by category",children:p("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Wheels",h.inkSoft,h.inkSoft2],["Tyres",h.rust,h.warm],["Lift kits",h.ink,h.inkSoft]].map(([e,o,t])=>p("div",{style:{borderRadius:4,display:"flex",alignItems:"flex-end",padding:5,color:h.onInk,...De(o,t)},children:p("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.04em"},children:e})},e))})}),producthero:E("div",{style:{...K,display:"flex",background:h.card,overflow:"hidden"},children:[p("div",{style:{flex:1.1,position:"relative",...De(h.paper,h.paper2,150)},children:p(Sa,{size:78,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),E("div",{style:{flex:1,padding:"10px 10px 10px 8px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[p("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:h.rust},children:"NITTO"}),p("b",{style:{fontSize:"6.29cqw",color:h.text},children:"Ridge Grappler"}),p("span",{style:{fontSize:"6.63cqw",fontWeight:700,color:h.text},children:"$489"}),p("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"4px 8px",borderRadius:2,background:h.text,color:h.onInk},children:"ADD TO CART"})]})]}),spectable:p(Te,{title:"Specifications",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[p(ya,{k:"Diameter",v:'20"'}),p(ya,{k:"Width",v:"9.0J"}),p(ya,{k:"Offset",v:"+12"}),p(ya,{k:"Load",v:"1250 kg"})]})}),fitmenttable:p(Te,{title:"Will it fit?",children:E("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[p(ya,{k:"Hilux N80",v:"20\xD79 +12",ok:!0}),p(ya,{k:"Ranger PX3",v:"20\xD79 +12",ok:!0}),p(ya,{k:"LC79",v:"17\xD78 \u221210",ok:!0})]})}),processsteps:E("div",{style:{...K,background:h.paper,padding:10,display:"flex",flexDirection:"column",gap:7,justifyContent:"center"},children:[p(vp,{children:"How it works"}),p("div",{style:{display:"flex",gap:6},children:["Pick your rig","Match the fit","We fit it"].map((e,o)=>E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2},children:[p("span",{style:{width:11,height:11,borderRadius:"50%",background:h.text,color:h.onInk,fontSize:"3.98cqw",display:"flex",alignItems:"center",justifyContent:"center",fontWeight:700},children:o+1}),p("span",{style:{fontSize:"3.98cqw",color:h.text,fontWeight:600},children:e})]},e))})]}),detailrows:p("div",{style:{...K,background:h.card,display:"flex",flexDirection:"column",overflow:"hidden"},children:[["Forged, not cast","Half the weight, twice the road.",!1],["Fits your load","Rated to 1250 kg a corner.",!0]].map(([e,o,t])=>{let a=p("div",{style:{flex:1,...De(t?h.rust:h.inkSoft,t?h.warm:h.inkSoft2)}},"art"),r=E("div",{style:{flex:1.1,padding:8,display:"flex",flexDirection:"column",gap:2,justifyContent:"center"},children:[p("b",{style:{fontSize:"4.64cqw",color:h.text},children:e}),p("span",{style:{fontSize:"3.98cqw",color:h.muted,lineHeight:1.3},children:o})]},"tx");return p("div",{style:{flex:1,display:"flex",minHeight:0},children:t?[r,a]:[a,r]},e)})}),specstrip:p("div",{style:{...K,background:h.ink,color:h.onInk,display:"flex",alignItems:"center",justifyContent:"space-around",padding:"0 8px"},children:[["5 yr","Warranty"],["Free","Fitting"],["48 hr","Dispatch"]].map(([e,o])=>E("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))})},kB={subscribe:E("div",{style:{...K,padding:13,display:"flex",flexDirection:"column"},children:[E("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8},children:[E("div",{style:{display:"flex",alignItems:"center",gap:6},children:[p(z,{w:8,h:8,r:2,tone:"accent"}),p(z,{w:38,h:7,r:3,tone:"dark"}),p(z,{w:16,h:7,r:3,tone:"accent"})]}),p(z,{w:38,h:4,r:2,tone:"soft"})]}),p("div",{style:{height:1,background:so.line,marginBottom:10}}),E("div",{style:{flex:1,display:"flex",gap:10,border:`1px solid ${so.line}`,borderRadius:7,padding:10},children:[E("div",{style:{flex:1.1,display:"flex",flexDirection:"column",justifyContent:"center",gap:5},children:[p(z,{w:"46%",h:3,r:2,tone:"accent"}),p(z,{w:"84%",h:8,r:4,tone:"dark"}),p(z,{w:"56%",h:8,r:4,tone:"accent"}),p(z,{w:"96%",h:3,r:2,tone:"soft",style:{marginTop:2}}),E("div",{style:{display:"flex",gap:5,marginTop:4},children:[p("div",{style:{flex:1,height:13,borderRadius:5,border:`1px solid ${so.line}`,background:so.block}}),p(z,{w:34,h:13,r:5,tone:"accent"})]})]}),E("div",{style:{flex:1,background:so.block,borderRadius:6,padding:8,display:"flex",flexDirection:"column",gap:6},children:[p(z,{w:"52%",h:4,r:2,tone:"accent"}),Array.from({length:3}).map((e,o)=>E("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,borderTop:o?`1px solid ${so.line}`:"none",paddingTop:o?4:0},children:[p(z,{w:34,h:4,r:2,tone:"dark"}),p(z,{w:16,h:3,r:2,tone:"soft"})]},o))]})]})]}),split:E("div",{style:{...K,display:"flex"},children:[p("div",{style:{width:"44%",background:My}}),E("div",{style:{flex:1,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[p(z,{w:"44%",h:5,r:3,tone:"accent"}),p(z,{w:"88%",h:8,r:4,tone:"dark"}),p(z,{w:"70%",h:8,r:4,tone:"dark"}),p(z,{w:"94%",h:5,r:2,tone:"soft",style:{marginTop:2}}),p(z,{w:"80%",h:5,r:2,tone:"soft"}),p(z,{w:"40%",h:13,r:6,tone:"accent",style:{marginTop:5}})]})]}),sectionheader:E(TB,{children:[p(z,{w:"18%",h:6,r:3,tone:"accent",style:{position:"absolute",top:15,right:16}}),E("div",{style:{...K,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:10},children:[E("div",{style:{display:"flex",alignItems:"center",gap:9},children:[p(z,{w:16,h:16,r:4,tone:"accent"}),p(z,{w:"20%",h:9,r:4,tone:"dark"})]}),p(z,{w:"62%",h:10,r:5,tone:"dark"}),p(z,{w:"42%",h:6,r:3,tone:"soft"})]})]}),header:p("div",{style:{...K,padding:14,display:"flex",flexDirection:"column",justifyContent:"center"},children:E("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[p(z,{w:"22%",h:12,r:4,tone:"dark"}),E("div",{style:{display:"flex",gap:9,alignItems:"center"},children:[p(z,{w:26,h:6,r:3,tone:"soft"}),p(z,{w:26,h:6,r:3,tone:"soft"}),p(z,{w:26,h:6,r:3,tone:"soft"}),p(z,{w:18,h:14,r:5,tone:"accent"})]})]})}),footer:E("div",{style:{...K,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:12},children:[E("div",{style:{display:"flex",gap:14},children:[E("div",{style:{flex:1.4,display:"flex",flexDirection:"column",gap:6},children:[p(z,{w:"60%",h:9,r:4,tone:"dark"}),p(z,{w:"90%",h:5,r:2,tone:"soft"}),p(z,{w:"70%",h:5,r:2,tone:"soft"})]}),[0,1].map(e=>E("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[p(z,{w:"50%",h:6,r:3,tone:"dark"}),p(z,{w:"80%",h:5,r:2,tone:"soft"}),p(z,{w:"66%",h:5,r:2,tone:"soft"})]},e))]}),p("div",{style:{height:1,background:so.line}}),E("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[p(z,{w:"30%",h:5,r:2,tone:"soft"}),p(z,{w:"16%",h:5,r:2,tone:"soft"})]})]}),grid:p("div",{style:{...K,padding:14,display:"grid",gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr 1fr",gap:9},children:Array.from({length:4}).map((e,o)=>p("div",{style:{borderRadius:6,background:so.block}},o))}),blanksection:p("div",{style:{...K,padding:14,display:"flex"},children:E("div",{style:{flex:1,border:`1px dashed ${so.line}`,borderRadius:7,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:[p(z,{w:14,h:2,r:1,tone:"tint"}),p(z,{w:2,h:14,r:1,tone:"tint",style:{position:"absolute"}})]})}),spacer:E("div",{style:{...K,padding:14,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[p(z,{w:"100%",h:6,r:3,tone:"soft"}),p(z,{w:16,h:22,r:3,tone:"block",style:{alignSelf:"center"}}),p(z,{w:"100%",h:6,r:3,tone:"soft"})]}),divider:p("div",{style:{...K,padding:14,display:"flex",alignItems:"center"},children:p(z,{w:"100%",h:3,r:2,tone:"dark"})}),customhtml:E("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center",gap:8,background:My},children:[p(z,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(-14deg)"}}),p(z,{w:16,h:10,r:3,tone:"accent"}),p(z,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(14deg)"}})]}),heading:p("div",{style:{...K,padding:14,display:"flex",alignItems:"center"},children:p(z,{w:"64%",h:13,r:4,tone:"dark"})}),text:E("div",{style:{...K,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[p(z,{w:"100%",h:6,r:3,tone:"soft"}),p(z,{w:"96%",h:6,r:3,tone:"soft"}),p(z,{w:"100%",h:6,r:3,tone:"soft"}),p(z,{w:"58%",h:6,r:3,tone:"soft"})]}),image:p("div",{style:{position:"absolute",inset:14,borderRadius:7,background:My}}),button:p("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center"},children:p(z,{w:"34%",h:16,r:8,tone:"accent"})}),menu:E("div",{style:{...K,padding:"14px 22%",display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[p(z,{w:"48%",h:7,r:3,tone:"dark"}),p(z,{w:"82%",h:5,r:2,tone:"soft"}),p(z,{w:"66%",h:5,r:2,tone:"soft"}),p(z,{w:"74%",h:5,r:2,tone:"soft"}),p(z,{w:"58%",h:5,r:2,tone:"soft"})]}),emailform:E("div",{style:{...K,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[p(z,{w:"56%",h:8,r:3,tone:"dark"}),E("div",{style:{display:"flex",gap:6},children:[p("div",{style:{flex:1,height:16,borderRadius:5,border:`1px solid ${so.line}`}}),p(z,{w:"30%",h:16,r:5,tone:"accent"})]})]}),sociallogos:p("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center",gap:9},children:[0,1,2,3].map(e=>p(z,{w:16,h:16,r:8,tone:"dark"},e))}),paymentlogos:E("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center",gap:7},children:[p(z,{w:22,h:6,r:2,tone:"soft"}),[0,1,2,3].map(e=>p(z,{w:20,h:13,r:3,tone:"dark"},e))]}),search:p("div",{style:{...K,padding:"0 18%",display:"flex",alignItems:"center"},children:E("div",{style:{flex:1,height:22,borderRadius:11,border:`1px solid ${so.line}`,display:"flex",alignItems:"center",gap:7,padding:"0 9px"},children:[p("div",{style:{width:9,height:9,borderRadius:5,border:`2px solid ${so.dark}`}}),p(z,{w:"46%",h:5,r:2,tone:"soft"})]})}),cart:E("div",{style:{...K,display:"flex",alignItems:"center",justifyContent:"center",gap:7},children:[p("div",{style:{width:22,height:18,borderRadius:"3px 3px 6px 6px",border:`2px solid ${so.dark}`}}),p("div",{style:{padding:"2px 6px",borderRadius:6,border:`1.5px solid ${so.dark}`},children:p(z,{w:7,h:7,r:2,tone:"dark"})})]}),countryswitch:E("div",{style:{...K,padding:14,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:5},children:[E("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",border:`1px solid ${so.line}`},children:[p(z,{w:22,h:6,r:2,tone:"dark"}),p(z,{w:6,h:4,r:1,tone:"soft"})]}),E("div",{style:{width:"46%",display:"flex",flexDirection:"column",gap:4,padding:6,border:`1px solid ${so.line}`},children:[p(z,{w:"80%",h:4,r:2,tone:"accent"}),p(z,{w:"64%",h:4,r:2,tone:"soft"}),p(z,{w:"72%",h:4,r:2,tone:"soft"})]})]}),legalline:E("div",{style:{...K,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[p("div",{style:{height:1,background:so.line}}),E("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[p(z,{w:"38%",h:5,r:2,tone:"soft"}),E("div",{style:{display:"flex",gap:5},children:[p(z,{w:14,h:5,r:2,tone:"soft"}),p(z,{w:14,h:5,r:2,tone:"soft"}),p(z,{w:14,h:5,r:2,tone:"soft"})]})]})]}),fallback:p("div",{style:{position:"absolute",inset:14,borderRadius:8,background:so.block}})};function PB({type:e}){let o=Kae[e]??"",t=Vae[o]??kB[o]??kB.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 Yp}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as Rs,jsxs as EB}from"react/jsx-runtime";import qae from"efficient-easel/screen/components/SidePanelHead";import{StylesIcon as Yae}from"efficient-easel/rail";import{Tooltip as Xae}from"efficient-shell/ui";import{HintsToggle as Zae,hintsFoldClass as Jae}from"efficient-easel/panel";import{useHints as Qae}from"efficient-easel/screen/lib/hints";function OB({tokenRef:e,siteId:o,onClose:t,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}){let c=fs(),{shown:d,setShown:f}=Qae();return EB("div",{className:`sf-styles ${Jae(d)}`.trim(),children:[Rs(qae,{icon:Rs(Yae,{}),title:i("Styles"),context:Rs(Xae,{content:i("{name} \u2014 renamed in the Console: {place}.",{name:c,place:i("Storefront \u25B8 Sites \u25B8 Settings")}),className:"sf-name-tip",children:Rs("span",{className:"sf-name-text",children:c})})}),EB("div",{className:"sf-insp-body es-insp-body sf-scroll",children:[Rs(zf,{tokenRef:e,siteId:o,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}),Rs(Zae,{shown:d,onChange:f,label:i("Show hints")})]})]})}import{jsx as fo,jsxs as cn,Fragment as nre}from"react/jsx-runtime";import{Fragment as GB,useEffect as UB,useRef as Ky}from"react";import{useTreeDrag as jB}from"efficient-easel/drag";import{GlobeIcon as sre,ImageIcon as lre,LocationIcon as ire,MapIcon as cre,TextLinesIcon as dre,TrashIcon as KB}from"efficient-easel/icons";import{Subtree as VB,TreeRow as Ui,TreeRowAction as qB,TreeSeam as YB}from"efficient-easel/tree";import{useEaselStrings as fre}from"efficient-easel/strings";import{createPreviewSelectionContext as ere}from"efficient-easel/draw/client";var{Provider:K6e,useSelection:_B}=ere("selectedLocationPartId");function AB(e,o,t){return`${e}::${o}::${t}`}function RB(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 ure}from"efficient-easel/screen/lib/screen-parts";import{useSyncExternalStore as ore}from"react";var tre={level:"groups"},FB=tre,$y=new Set;function Rt(e){FB=e;for(let o of $y)o()}function are(e){return $y.add(e),()=>{$y.delete(e)}}var LB=()=>FB;function BB(){return ore(are,LB,LB)}var Gi=e=>String(e?.group??""),zy=new WeakMap,rre=0;function kp(e){let o=zy.get(e);return o||(o=`loc${++rre}`,zy.set(e,o)),o}var DB=(e,o)=>o||e||"Ungrouped",NB={photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
90
- Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""};function ln(e){return Hu(e,Gi,o=>String(o?.groupName??"")).map(o=>({key:o.key,name:o.name,cards:o.items.map(t=>t.item)}))}var Gy=e=>e.flatMap(o=>o.cards),MB=(e,o,t)=>Math.min(Math.max(e,o),t);function Tp(e,o,t){let a=0;for(let r=0;r<e.length;r++)if(Gi(e[r])===o){if(a===t)return r;a++}return-1}function Uy(e,o,t){let a=ln(e);if(o<0||o>=a.length)return e;let[r]=a.splice(o,1),n=MB(o<t?t-1:t,0,a.length);return a.splice(n,0,r),Gy(a)}function jy(e,o,t,a,r){let n=ln(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&&zy.set(d,kp(c));let f=MB(s===l&&t<r?r-1:r,0,l.cards.length);return l.cards.splice(f,0,d),Gy(n)}function HB(e,o){let t=ln(e),a=t.find(n=>n.key===o),r={...NB,group:o,groupName:a?.name??""};return a?(a.cards.push(r),Gy(t)):[...e,r]}function WB(e){let o=new Set(ln(e).map(r=>r.key)),t=o.size+1,a=`Group ${t}`;for(;o.has(a);)a=`Group ${++t}`;return{cards:[...e,{...NB,group:a,groupName:""}],key:a}}function $B(e,o){return e.filter(t=>Gi(t)!==o)}function zB(e,o,t){let a=Tp(e,o,t);return a<0?e:e.filter((r,n)=>n!==a)}function Z6e(e,o,t){let a=e.flatMap((s,l)=>Gi(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 J6e(e,o,t){return o.flatMap(a=>{let r=e.filter(n=>Gi(n)===a);return r.length?r:t(a)})}var Ep="ContactLocations",Pp=e=>({parentId:`locations-${e}`,slot:"groups"}),Vy=(e,o)=>({parentId:`locations-${e}`,slot:`cities:${o}`});function XB(e,o){let{readOnly:t,selected:a}=o,r=fre().tree,n=o.data?.content??[],s=ure(e),l=Ky(null);UB(()=>{let b=a?.type===Ep?String(a.props.id):null;b&&b!==l.current&&Rt({level:"groups"}),l.current=b},[a?.props.id]);let{selectedLocationPartId:c,setSelectedLocationPartId:d,setSelectHandler:f}=_B(),m=BB(),u=(b,v)=>{let P=n[b];P&&o.replace(b,{type:P.type,props:{...P.props,locations:v}})},x=b=>{let v=n[b]?.props?.locations;return Array.isArray(v)?v:[]},g=jB({keyOf:b=>`group:${b.si}:${b.index}`,readOnly:!!t,canDrop:(b,v)=>v.parentId===Pp(b.si).parentId&&v.slot==="groups",onDrop:(b,v)=>{u(b.si,Uy(x(b.si),b.index,v.index)),m.level==="city"&&Rt({level:"groups"})},onStep:(b,v)=>{u(b.si,Uy(x(b.si),b.index,v<0?b.index-1:b.index+2)),m.level==="city"&&Rt({level:"groups"})}}),I=jB({keyOf:b=>`city:${b.si}:${b.group}:${b.index}`,readOnly:!!t,canDrop:(b,v)=>v.parentId===Pp(b.si).parentId&&v.slot.startsWith("cities:"),onDrop:(b,v)=>{let P=v.slot.slice(7);u(b.si,jy(x(b.si),b.group,b.index,P,v.index)),Rt({level:"group",key:P})},onStep:(b,v)=>{u(b.si,jy(x(b.si),b.group,b.index,b.group,v<0?b.index-1:b.index+2)),m.level==="city"&&Rt({level:"group",key:b.group})}}),k=Ky(n);k.current=n;let C=Ky(()=>{});UB(()=>{f(b=>{let v=RB(b);if(!v)return;let P=k.current.findIndex(F=>F.props?.id===v.nodeId);P<0||C.current(P,{level:v.part,index:v.index})})},[f]);let w=(b,v)=>{l.current=n[b]?.props?.id??null,o.select(b),Rt(v),e.reveal();let P=n[b]?.props?.id;typeof P=="string"&&(v.level==="city"||v.level==="image"||v.level==="map")?d(AB(P,v.index,v.level)):d(null),typeof P=="string"&&o.scrollTo(P)};return C.current=w,{renderLocationTree:(b,v,{rowClick:P,isCollapsed:F,toggleCollapse:T})=>{let D=x(v),O=ln(D),R=String(b.props.id),N=s&&a?.props.id===R,y=L=>fo(YB,{...t?{}:g.seam({place:{...Pp(v),index:L}})},`seam:${R}:groups:${L}`),A=(L,M)=>fo(YB,{...t?{}:I.seam({place:{...Vy(v,L),index:M}})},`seam:${R}:cities:${L}:${M}`);return cn(nre,{children:[fo(Ui,{icon:fo(dre,{size:13}),name:i("Texts"),words:r,onSelect:()=>w(v,{level:"texts"}),selected:N&&m.level==="texts",rowProps:{onClick:P(()=>w(v,{level:"texts"}))}}),O.map((L,M)=>{let X=`${R}::grp::${L.key}`,V=F(X),U=N&&m.level==="group"&&m.key===L.key,ge=L.name||L.key?DB(L.key,L.name):i("Ungrouped"),te={...Vy(v,L.key),index:L.cards.length},Re=I.row({item:{si:v,group:L.key,index:-1},place:te,into:te,canDrag:!1},{onClick:P(()=>w(v,{level:"group",key:L.key}))}),We=g.row({item:{si:v,index:M},place:{...Pp(v),index:M}},Re.rowProps);return cn(GB,{children:[M===0&&y(0),fo(Ui,{icon:fo(sre,{size:13}),name:ge,words:r,onSelect:()=>w(v,{level:"group",key:L.key}),selected:U,draggable:We.draggable,dragging:We.dragging,drop:We.drop??Re.drop,fold:{open:!V,label:i("group"),onToggle:()=>T(X)},actions:fo(qB,{kind:"delete",label:vo("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",L.cards.length,{label:ge}),onClick:()=>{u(v,$B(D,L.key)),Rt({level:"groups"})},children:fo(KB,{size:15})}),rowProps:We.rowProps,count:L.cards.length,countLabel:vo("{n} city","{n} cities",L.cards.length)}),!V&&cn(VB,{children:[L.cards.map((Pe,Ie)=>{let Ee=Tp(D,L.key,Ie),$e=N&&m.level==="city"&&m.index===Ee,oo=String(Pe?.name??"")||i("City"),yo=`${R}::city::${kp(Pe)}`,he=F(yo),{rowProps:Ke,...Oe}=I.row({item:{si:v,group:L.key,index:Ie},place:{...Vy(v,L.key),index:Ie}},{onClick:P(()=>w(v,{level:"city",index:Ee}))});return cn(GB,{children:[Ie===0&&A(L.key,0),fo(Ui,{icon:fo(ire,{size:13}),name:oo,words:r,onSelect:()=>w(v,{level:"city",index:Ee}),selected:$e,...Oe,fold:{open:!he,label:oo,onToggle:()=>T(yo)},actions:fo(qB,{kind:"delete",label:i("Delete {name}",{name:oo}),onClick:()=>{u(v,zB(D,L.key,Ie)),Rt({level:"group",key:L.key})},children:fo(KB,{size:15})}),rowProps:Ke}),!he&&cn(VB,{children:[fo(Ui,{icon:fo(lre,{size:13}),name:i("Image"),words:r,onSelect:()=>w(v,{level:"image",index:Ee}),selected:N&&m.level==="image"&&m.index===Ee,rowProps:{onClick:P(()=>w(v,{level:"image",index:Ee}))}}),fo(Ui,{icon:fo(cre,{size:13}),name:i("Map"),words:r,onSelect:()=>w(v,{level:"map",index:Ee}),selected:N&&m.level==="map"&&m.index===Ee,rowProps:{onClick:P(()=>w(v,{level:"map",index:Ee}))}})]}),A(L.key,Ie+1)]},kp(Pe))}),cn("button",{type:"button",className:"sf-add-card",onClick:()=>{let Pe=HB(D,L.key);u(v,Pe);let Ie=ln(Pe).find(Ee=>Ee.key===L.key);Rt(Ie&&Ie.cards.length?{level:"city",index:Tp(Pe,L.key,Ie.cards.length-1)}:{level:"group",key:L.key})},children:[fo("span",{className:"sf-plus sf-plus--sm",children:"+"}),i("Add city")]})]}),y(M+1)]},X)}),cn("button",{type:"button",className:"sf-add-card",onClick:()=>{let{cards:L,key:M}=WB(D);u(v,L),w(v,{level:"group",key:M})},children:[fo("span",{className:"sf-plus sf-plus--sm",children:"+"}),i("Add group")]})]})},sectionPressed:b=>{b?.type===Ep&&Rt({level:"groups"})}}}import{useEffect as xre,useRef as gre}from"react";import{createNode as Yy,newId as Xy}from"efficient-easel/data";import{useEaselApi as Ire}from"efficient-easel/easel";import{useScreenDocument as bre}from"efficient-easel/screen/components/ScreenDocumentContext";import{useEaselSession as yre}from"efficient-easel/screen/lib/session-context";import{useEffect as QB,useRef as pre}from"react";import{useEasel as mre}from"efficient-easel/easel";import{ROOT_ZONE as qy}from"efficient-easel/draw";var ji={};function ZB(e){return ji=e?.theme?{theme:e.theme}:{},ji}function JB(e){ji===e&&(ji={})}function Op(){return ji}function oD(e){let o=mre(s=>s.appState.data.content),{theme:t,themeRow:a,themeFromDocument:r}=xe(),n=pre(new Set);QB(()=>{let s=eD({theme:t,themeRow:a,themeFromDocument:r});s&&hre(kA(o,void 0,s),e,n.current)},[o,e,t,a,r]),QB(()=>{let s=ZB(eD({theme:t,themeRow:a,themeFromDocument:r}));return()=>JB(s)},[t,a,r])}function eD(e){return e.themeFromDocument||e.themeRow==="none"?{}:e.themeRow==="read"?{theme:e.theme}:null}function hre(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(qy,a,r[0]),r.slice(1).forEach((s,l)=>{o.insertNode(qy,a+1+l,s),o.replaceComponent(qy,a+1+l,s)}))}}import{ROOT_ZONE as Ls,missingPinnedTypes as Sre,pinnedDuplicateIds as Zy}from"efficient-easel/draw";function tD(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function aD(e,o){let t=e.some(l=>l?.type===Ae),a=e[e.length-1],r=!t&&a?.type===He?a:null,n=e.filter(l=>l?.type===He&&l!==r).map(l=>String(l.props?.id??"")).filter(Boolean),s=o.hasChromeDoc&&!t&&!r;return{remove:n,seedHeader:!e.some(l=>l?.type===Ho),seedFooter:s,seedSiteHeader:s&&!e.some(l=>l?.type===Ne)}}async function rD(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(Bc(a,t)),!0)}function nD(e,o){let{adapter:t,capabilities:a,currentSlug:r,docId:n,data:s,saveStatus:l,siteId:c,tokenRef:d}=bre(),f=yre(),{hasSiteSettings:m,hasPinnedChrome:u}=a;oD(e);let x=!!a.editsPinnedInPlace&&r!==wt,g=r===wt,I=Ire().getState,k=gre(null);xre(()=>{if(!tD({docId:n,saveStatus:l,seededDocId:k.current})||(k.current=n,!u))return;let C=I().appState.data,w=C.content,b=s?.content??[],v=(D,O)=>D.some(R=>R?.type===O);if(!m){let D=new Set(Zy(w)),O=D.size?w.filter(N=>!D.has(N.props.id)):w;if(D.size&&e.setDocument({...C,content:O}),g)return;let R=Sre(O,b);if(R.includes(He)){let N=O.length,y=e.insertSection(He,N);e.replaceComponent(Ls,N,{type:He,props:{id:y,blocks:Du()}})}R.includes(Ho)&&e.insertNode(Ls,0,Bu());return}if(g){let D=En(w);if(D!==w&&e.setDocument({...C,content:[...D]}),!D.find(O=>O.type===He)&&!v(b,He)&&!v(D,Ae)&&!v(b,Ae)){let O=(N,y)=>Yy(o,N,y),R={type:He,props:{blocks:Du()}};e.insertNode(Ls,D.length,bi(R,O,Xy(Ae),Wi))}return}if(x){let D=!!t?.pinnedChrome?.state().docId,O=aD(w,{hasChromeDoc:D}),R=new Set([...O.remove,...Zy(w.filter(y=>!O.remove.includes(String(y.props.id))))]),N=R.size?w.filter(y=>!R.has(String(y.props.id))):w;if(N.length!==w.length&&e.setDocument({...C,content:N}),O.seedFooter&&!v(b,He)&&!v(b,Ae)){let y=(L,M)=>Yy(o,L,M),A={type:He,props:{blocks:Du()}};e.insertNode(Ls,N.length,bi(A,y,Xy(Ae),Wi))}if(O.seedHeader&&!v(b,Ho)){let y=N[0]?.type===Ne?1:0;e.insertNode(Ls,y,Bu())}if(O.seedSiteHeader&&!v(b,Ne)&&!v(b,He)&&!v(b,Ae)){let y=n;rD({blocks:rd(f),make:(A,L)=>Yy(o,A,L),id:Xy(Ne),siteId:c??null,token:d.current,latest:()=>I().appState.data.content,stillOpen:()=>k.current===y,write:A=>{let L=I().appState.data;e.setDocument({...L,content:[...A]})}})}return}let P=w.filter(D=>D.type!==He),F=new Set(Zy(P)),T=F.size?P.filter(D=>!F.has(D.props.id)):P;T.length!==w.length&&e.setDocument({...C,content:T}),!v(T,Ho)&&!v(b,Ho)&&e.insertNode(Ls,0,Bu())},[n,l,s,I,e,m,u,g,x,t,f,c,d])}import{useEffect as wD,useMemo as Dre,useRef as CD}from"react";import{useEasel as Nre}from"efficient-easel/easel";import{useEaselHost as Mre}from"efficient-easel/screen/lib/host";import{FIELD_DESCRIPTION_MARKER as _re}from"efficient-easel/screen/lib/host";import{isNode as Jy}from"efficient-easel/data";var sD=[{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"}],K3e={label:"Scrolling Bar",defaultProps:{items:[],tone:"scrim",borders:!0,size:Im,separator:bm,scrollDirection:ri}};var lD=()=>[{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"},{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"}],Y3e={label:"Spec Strip",defaultProps:{cells:[{text:"",tone:"normal"},{text:"",tone:"normal"}],fill:"dark"}};function bo(e,o,t,a={}){return{type:e,props:{...o(e),id:t(e),...a}}}function iD(e,o,t){return bo(q,e,o,{...t,sectionPaddingTop:void 0,sectionPaddingBottom:void 0})}var _p={Manifesto:(e,o)=>({type:q,props:{...e(q),id:o(q),direction:"row",share:"equal",sectionHeightMode:"screen",name:"Brand Text",content:[bo(q,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:40,sectionPaddingRight:40,content:[bo("Text",e,o,xt()),bo("Text",e,o,_a()),bo("Text",e,o),bo("Stats",e,o)]}),iD(e,o,{direction:"column",name:"Picture",content:[]})]}}),Split:(e,o)=>({type:q,props:{...e(q),id:o(q),direction:"row",share:"equal",sectionHeightMode:"screen",sectionHeightValue:70,name:"Image & Text Split",content:[bo(q,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:60,sectionPaddingRight:60,content:[bo("Text",e,o,xt()),bo("Text",e,o,_a()),bo("Text",e,o),bo("ButtonBlock",e,o)]}),iD(e,o,{direction:"column",name:"Image",content:[bo("ImageBlock",e,o)]})]}}),Subscribe:(e,o)=>({type:q,props:{...e(q),id:o(q),direction:"column",name:"Subscribe",content:[bo("Text",e,o,_a()),bo("Text",e,o),bo("Form",e,o)]}}),Ticker:(e,o)=>cD("Scrolling Bar",ap,Oi,sD.map(t=>({text:t.text,style:rp,muted:!0})),e,o),SpecStrip:(e,o,t)=>cD("Spec Strip",t?.theme?{...Ai,sectionAccent:dc(to(t.theme))}:{...Ai,sectionBorder:{top:1}},_i,lD().map(a=>({text:a.text??"",style:Ri,muted:a.tone==="muted"})),e,o)};function cD(e,o,t,a,r,n){return bo(q,r,n,{...nn,...o,blockSpacing:"gap",padV2:!0,name:e,sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom,sectionPaddingTopPhone:t.topPhone,sectionPaddingBottomPhone:t.bottomPhone,content:a.map(s=>bo("Text",r,n,{text:s.text,...s.muted?{tone:"dim"}:{},_partStyles:{text:s.style}}))})}function dD(e){return _p[e]??null}import{isNodeList as Ki}from"efficient-easel/data";var hWe=Object.keys(Ry),wre={Logos:RR,DocMasthead:qL,Timeline:gL,TimelineTrack:IL},Cre={PaymentBadges:LR,PaymentLogosBlock:FR};function Ap(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]=Ki(n)?n.map(s=>Ap(s,o,t)):n;return a.id=t(e.type),{type:e.type,props:a}}var fD=e=>({...e?.theme?{theme:e.theme}:{},press:!0});function Rp(e,o,t=0,a=()=>({})){return(r,n,s)=>{let{nodes:l}=ws({type:e,props:{...r(e),...a(),id:n(e)}},o,fD(s));return Ap(l[t],r,n)}}var vre={Stats:Tre,Cards:kre};function kre(){let e=qa("Cards");if(!e)return null;let o=Rp("Cards",e,0,sR);return(t,a,r)=>{let n=o(t,a,r);return{...n,props:{...n.props,name:"Cards section"}}}}function Tre(){let e=qa("StatsParagraph");return e?(o,t,a)=>{let{nodes:r}=ws({type:"StatsParagraph",props:{...o("StatsParagraph"),...IR(),id:t("StatsParagraph")}},e,fD(a)),n=r[0],s=Ki(n.props.content)?n.props.content.filter(f=>f.props?.cardStyle===void 0):[],l=pD(Kb(bR(),"table")),c=s.map(uD),d=Ap({...n,props:{...n.props,content:[...c,l]}},o,t);return{...d,props:{...d.props,name:"Stats section"}}}:null}function uD(e){if(e.props?.name==="Words"){let o=Ki(e.props.content)?e.props.content.map(Pre):e.props.content;return{...e,props:{...e.props,widthFitPhone:"fill",content:o}}}return Ki(e.props?.content)?{...e,props:{...e.props,content:e.props.content.map(uD)}}:e}function Pre(e){return e.type!=="Text"?e:{...e,props:pa({...e.props,alignTablet:"left"},"text","alignTablet","left")}}var pD=e=>Po([e],(o,t)=>`${o}-seed-${t}`)[0];function Ere(e,o){if(!vA(e,o))return null;let t=vre[e];if(t)return t();let a=qa(e);return a?Rp(e,a,0,wre[e]??Cre[e]):null}function Ore(e){return(o,t,a)=>{let r=n=>{if(n.type==="Stats"){let c=Ap(pD(Kb([],"list")),o,t);return{...c,props:{...c.props,name:"Numbers"}}}let s=!1,l={};for(let[c,d]of Object.entries(n.props))if(Ki(d)){let f=d.map(r);s||=f.some((m,u)=>m!==d[u]),l[c]=f}else l[c]=d;return s?{type:n.type,props:l}:n};return r(e(o,t,a))}}function Fs(e,o=Si){let t=dD(e);return t?Ore(t):Ere(e,o)}function Vi(e,o){let t=e.components[o]?.label;return typeof t=="string"&&t.trim()?t.trim():o}function Are(e){return e.length>3&&e.endsWith("s")?e.slice(0,-1):e}function Qy(e,o,t,a){e.forEach((r,n)=>{if(Jy(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(Jy)&&Qy(l,r,s,a)}})}function Rre(e){let o=[];Qy(Array.isArray(e.content)?e.content:[],null,"",o);for(let t of Object.values(e.zones??{}))Array.isArray(t)&&Qy(t,null,"",o);return o}function xD(e,o){return Rre(e).find(t=>String(t.node.props.id)===o)}function gD(e,o,t){if(!t)return null;let a=xD(o,t);if(!a)return null;let r=Vi(e,a.node.type),n=a.parent?`${Vi(e,a.parent.type)} \xB7 ${Are(a.slot)} ${a.index+1}`:r;return{blockId:t,type:a.node.type,label:n,path:""}}var Lre=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 Fre(e){if(!e||typeof e!="object")return null;let o=e;if(typeof o.type!="string")return null;let t=o.type==="custom"?o[_re]: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=Lre(n));for(let s of["arrayFields","objectFields"]){let l=t?.[s]??o[s];l&&typeof l=="object"&&(a[s]=ID(l))}return a}function ID(e){let o={};for(let[t,a]of Object.entries(e??{})){let r=Fre(a);r&&(o[t]=r)}return o}function bD(e){let o={};for(let[t,a]of Object.entries(e.components))a&&(o[t]={label:Vi(e,t),fields:ID(a.fields),...yD(t)?{retired:!0}:{}});return o}function yD(e){return Object.prototype.hasOwnProperty.call(fm,e)}function mD(e,o){let t=e.components[o]?.defaultProps;return t&&typeof t=="object"?structuredClone(t):{}}function Bre(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 eS(e,o){return e.findIndex(t=>Jy(t)&&String(t.props.id)===o)}function hD(e,o,t){let a=o||t;if(!a)return e.length;let r=eS(e,a);if(r<0)throw new Error(`there is no top-level block ${a}`);return o?r+1:r}function SD(e,o,t,a,r={}){let n=structuredClone(o),s=Array.isArray(n.content)?n.content:n.content=[];try{t.forEach((l,c)=>{let d=f=>{throw new Error(`change ${c+1}: ${f}`)};switch(l.op){case"set_props":{let f=xD(n,l.block_id)??d(`there is no block ${l.block_id}`);"id"in l.props&&d("a block's id is never changed");let m=Bre(f.node.props,l.path)??d(`there is no ${l.path} in that block`);Object.assign(m,structuredClone(l.props));break}case"insert_block":{e.components[l.type]??d(`there is no block type ${l.type}`),yD(l.type)&&d(`${Vi(e,l.type)} is retired: it is no longer added (a page that holds one keeps it)`);let f=Fs(l.type),m=Object.keys(l.props??{}).filter(x=>x!=="id");f&&m.length&&d(`${Vi(e,l.type)} is laid down as a Box of blocks: insert it with no props, then change its blocks`);let u=f?f(x=>mD(e,x),a,r):{type:l.type,props:{...mD(e,l.type),...structuredClone(l.props),id:a(l.type)}};s.splice(hD(s,l.after,l.before),0,u);break}case"remove_block":{let f=eS(s,l.block_id);f<0&&d(`there is no top-level block ${l.block_id}`),s.splice(f,1);break}case"move_block":{let f=eS(s,l.block_id);f<0&&d(`there is no top-level block ${l.block_id}`);let[m]=s.splice(f,1);s.splice(hD(s,l.after,l.before),0,m);break}default:d(`"${l.op}" is not a change this editor makes`)}})}catch(l){return{ok:!1,reason:l instanceof Error?l.message:String(l)}}return{ok:!0,document:n}}var oS=e=>ee(e.requestId)??null;function vD(){let e=Mre(),{appState:o,selectedItem:t,dispatch:a,history:r,config:n}=Nre(u=>u),s=n,l=CD({appState:o,dispatch:a,history:r,blockConfig:s});l.current={appState:o,dispatch:a,history:r,blockConfig:s};let c=CD(new Map),d=t?.props?.id,f=Dre(()=>gD(s,o.data,d),[s,o.data,d]),m=f?JSON.stringify(f):"";wD(()=>{e.connected&&e.send("storefront-editor:selection",{selection:f})},[e,m]),wD(()=>e.subscribe(u=>{let{appState:x,dispatch:g,history:I,blockConfig:k}=l.current;switch(u.type){case"storefront-editor:request-document":{let C=oS(u);if(!C)return;e.send("storefront-editor:document",{requestId:C,document:x.data,blocks:bD(k)});return}case"storefront-editor:apply-page-edits":{let C=oS(u);if(!C)return;let w=Array.isArray(u.ops)?u.ops:[],b=w.length?SD(k,x.data,w,v=>`${v}-${crypto.randomUUID()}`,Op()):{ok:!1,reason:"no changes"};b.ok&&(g({type:"setData",data:b.document,recordHistory:!0}),c.current.set(C,JSON.stringify(b.document.content??[]))),e.send("storefront-editor:page-edits-result",{requestId:C,applied:b.ok,reason:b.ok?null:b.reason});return}case"storefront-editor:undo-page-edits":{let C=oS(u);if(!C)return;let w=c.current.get(C),b=w!==void 0&&w===JSON.stringify(x.data.content??[]);b&&I.hasPast&&(I.back(),c.current.delete(C)),e.send("storefront-editor:page-edits-result",{requestId:C,applied:b&&I.hasPast,reason:b?null:"the page has changed since"});return}case"storefront-editor:set-right-panel":typeof u.shown=="boolean"&&g({type:"setUi",ui:{rightSideBarVisible:u.shown}});return;default:return}}),[e])}import{useEffect as PD,useState as ED}from"react";var Lp=new Map;async function Hre(e,o){try{return(await Ge().site.get({siteId:o})).slug?.trim()||null}catch(t){return console.warn("[editor-site-slug] could not resolve the site slug",t),null}}function kD(e,o){let t=Lp.get(o);return t||(t=Hre(e,o),Lp.set(o,t),t.catch(()=>{Lp.get(o)===t&&Lp.delete(o)})),t}var Wre=/^(localhost|(?:[a-z0-9-]+\.)+localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|::1)$/i;function tS(e){return!!e&&Wre.test(e)}function TD(e){let{pageSlug:o,siteSlug:t,hostname:a}=e,r=o===Yc?"/":`/${encodeURIComponent(o)}`;if(!tS(a))return r;let n=t?.trim();return n?`${r}?site=${encodeURIComponent(n)}`:r}function OD(e){let{pageSlug:o,siteId:t,token:a}=e,[r,n]=ED(null),[s,l]=ED(null),c=Cn();PD(()=>l(c?new URL(c).hostname:window.location.hostname),[c]),PD(()=>{if(!tS(s)||!t||!a){n(null);return}let f=!1;return kD(a,t).then(m=>{f||n(m)}),()=>{f=!0}},[s,t,a]);let d=TD({pageSlug:o,siteSlug:r,hostname:s});return c?`${c}${d}`:d}import{jsx as qi}from"react/jsx-runtime";import{useEffect as $re,useRef as _D,useState as zre}from"react";import{ExternalIcon as AD}from"efficient-easel/icons";import{EaselIconButton as Gre}from"efficient-easel/chrome";import{Tooltip as Ure,iconButtonClasses as jre}from"efficient-shell/ui";import{useSettledPress as Kre}from"efficient-easel/easel";import{useScreenDocument as Vre}from"efficient-easel/screen/components/ScreenDocumentContext";async function qre({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 RD({liveHref:e,pageId:o,draftLink:t}){let{flushSave:a}=Vre(),r=_D(a);r.current=a;let n=Kre(),[s,l]=zre(!1),c=_D(null);if($re(()=>()=>c.current?.(),[]),t&&o){let d=()=>new Promise((m,u)=>{c.current=()=>m(!1),n.run(()=>{c.current=null,r.current().then(m,u)})}),f=()=>{s||n.waiting||(l(!0),qre({pageId:o,liveHref:e,draftLink:t,ready:d}).finally(()=>l(!1)))};return qi(Gre,{label:i("Preview your saved draft in a new tab"),tip:i("Open your saved draft in a new tab. Visitors don't see it."),disabled:s||n.waiting,onClick:f,children:qi(AD,{})})}return qi(Ure,{content:i("Preview the live site (opens in a new tab)"),side:"bottom",children:qi("a",{className:jre({className:"es-iconbtn"}),href:e,target:"_blank",rel:"noopener noreferrer","aria-label":i("Preview the live site in a new tab"),children:qi(AD,{})})})}import{createElement as Qre,useCallback as ene,useEffect as YD,useRef as XD,useState as one}from"react";import{ClockIcon as tne}from"efficient-shell/icons/efficient";import{useScreenDocument as ane}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSyncExternalStore as Yre}from"react";import{useScreenDocument as Xre}from"efficient-easel/screen/components/ScreenDocumentContext";var Zre=()=>()=>{},LD=()=>null;function Fp(e){return Yre(e?e.subscribe:Zre,e?e.state:LD,e?e.state:LD)}function Bp(){let{adapter:e}=Xre();return e?.pinnedChrome}import{useSyncExternalStore as DD}from"react";var Yi=!1,Bs=null,aS=new Set;function Zi(){for(let e of aS)e()}function ND(e){return aS.add(e),()=>{aS.delete(e)}}function MD(){Yi||(Yi=!0,Zi())}function HD(){Yi&&(Yi=!1,Zi())}function FD(){return Yi}function WD(){return DD(ND,FD,FD)}function BD(){return Bs}function Dp(){Bs&&(Bs=null,Zi())}function $D(){return DD(ND,BD,BD)}var Xi=class extends Error{constructor(){super("The editor's last changes could not be saved, so nothing was restored."),this.name="HeldEditsNotSaved"}};async function zD(e,o,t,{flushSave:a,reload:r}){if(!await a())throw new Xi;let n=await e.restore(o,t);return ud(n.liveState),r(),n}async function GD({access:e,version:o,page:t,...a}){let r=await zD(e,o.id,t?{page:t.id}:{},a);Bs={title:Jre(o,t??null),undo:r.undo},Zi()}async function UD({access:e,...o}){let t=Bs?.undo;t&&(await zD(e,t,{},o),Bs=null,Zi())}function jD(e){return e.name?e.name:e.kind==="draft_before_restore"?i("Draft before restore"):i("Version {n}",{n:e.number})}function Jre(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 KD(e){let o=e.changes.filter(a=>a.kind==="page").length,t=[...o?[vo("{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(lm(),{type:"conjunction"}).format(t)}catch{return t.join(", ")}}function VD(e){return e.change==="take_down"?i("{name} (taken down)",{name:e.name}):e.name}function qD(e,o=new Date){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let a=lm(),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 ZD(e){let{docId:o,capabilities:t,hasUnsavedEdits:a,onPublish:r,adapter:n}=ane(),s=Q1(J1(o??null),a),l=Fp(Bp()),c=n.siteLiveState;YD(()=>{if(c)return tx(c),ta(0),()=>tx(null)},[c]);let d=pd(),[f,m]=one(!1),u=XD(e);u.current=e;let x=XD(!0);YD(()=>(x.current=!0,()=>{x.current=!1}),[]);let g=ene(()=>{m(!0),r(u.current).then(()=>{Dp()}).finally(()=>{x.current&&m(!1)})},[r]);if(t.canPublish){if(c){let I=d===void 0?void 0:a||d.state==="changed"?"changed":"live",k=Ib({live:I,onPress:g,busy:f,goingLive:eA(d?.changes??[])});return n.siteVersions?{...k,menuItems:rne()}:k}return Ib({live:s,onPress:g,busy:f,pinnedUnpublished:l?.unpublished??!1})}}function rne(){return[{key:"version-history",label:i("Version history"),icon:Qre(tne),onSelect:MD}]}import{jsx as Q,jsxs as Yo,Fragment as ec}from"react/jsx-runtime";import{useCallback as nne,useEffect as sne,useId as eN,useRef as lne,useState as lt}from"react";import{useSettledAction as ine}from"efficient-easel/easel";import{Avatar as cne,Banner as Ji,Button as dn,ColoredBadge as rS,Dialog as oN,Drawer as dne,DropdownMenu as fne,FormField as tN,iconButtonClasses as une,Inline as nS,Input as pne,ListRow as mne,Select as hne,SortableList as xne,Stack as Qi}from"efficient-shell/ui";import{EditIcon as gne,EyeIcon as JD,MenuIcon as Ine,MoreIcon as bne,PageIcon as aN,RevertIcon as QD,StylesIcon as yne}from"efficient-shell/icons/efficient";import{useScreenDocument as rN}from"efficient-easel/screen/components/ScreenDocumentContext";var Sne={page:aN,menu:Ine};function wne(e,o){return e.pages.find(t=>t.id===o)??e.pages[0]??null}function Cne(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 vne({version:e,page:o,waiting:t,busy:a,error:r,onCancel:n,onConfirm:s,onPage:l}){let c=eN();if(!e)return null;let d=e.kind==="draft_before_restore",f=e.number,m=KD(e),u=d?i("Put your drafts back?"):o?i("Restore {page} from version {n}?",{page:o.name,n:f}):i("Restore version {n}?",{n:f}),x=d?i("Your drafts go back to how they were before the restore."):o?i("{page} goes back to version {n} as a draft. Nothing else on your website changes.",{page:o.name,n:f}):m?i("The whole website goes back to version {n} as a draft: {what}.",{n:f,what:m}):i("The whole website goes back to version {n} as a draft.",{n:f}),g=e.deletedPictures??0;return Q(oN,{open:!0,onClose:()=>{a||n()},size:"sm",title:u,footer:Yo(ec,{children:[Q(dn,{variant:"secondary",onClick:n,disabled:a,children:i("Cancel")}),Q(dn,{onClick:s,loading:a,disabled:a,children:i("Restore as draft")})]}),children:Yo(Qi,{gap:4,children:[o&&e.pages.length>1?Q(tN,{label:i("Page"),htmlFor:c,children:Q(hne,{id:c,value:o.id,options:e.pages.map(I=>({value:I.id,label:I.name})),onChange:l,disabled:a})}):null,Q("p",{children:x}),Q("p",{children:i("Your live website does not change until you press Publish.")}),g>0?Q(Ji,{tone:"warning",children:vo("{n} picture in this version was deleted from the media library. It stays empty.","{n} pictures in this version were deleted from the media library. They stay empty.",g)}):null,t?Q(Ji,{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?Q(Ji,{tone:"danger",children:r}):null]})})}function kne({version:e,onCancel:o,onSave:t}){let a=eN(),[r,n]=lt(null),[s,l]=lt(""),[c,d]=lt(!1),[f,m]=lt(null);if(e!==r&&(n(e),l(e?.name??""),m(null)),!e)return null;let u=s.trim()===e.name,x=async()=>{if(!(c||u)){d(!0),m(null);try{await t(s.trim())}catch{m(i("The name was not saved. Try again."))}finally{d(!1)}}};return Q(oN,{open:!0,onClose:()=>{c||o()},size:"sm",title:i("Name this version"),footer:Yo(ec,{children:[Q(dn,{variant:"secondary",onClick:o,disabled:c,children:i("Cancel")}),Q(dn,{onClick:()=>{x()},loading:c,disabled:c||u,children:i("Save")})]}),children:Q(tN,{label:i("Name"),htmlFor:a,hint:i("Named versions are always kept. Leave it empty to take the name away."),error:f??void 0,children:Q(pne,{id:a,value:s,invalid:!!f,onChange:g=>l(g.target.value),onKeyDown:g=>{g.key==="Enter"&&x()}})})})}function Tne({version:e,expanded:o,onToggle:t,onPreview:a,onRestore:r,onRestorePage:n,onName:s}){let l=e.kind==="draft_before_restore",c=!e.live,d=e.changes.length,f=[...l?[]:[{key:"preview",label:i("Preview"),icon:Q(JD,{}),onSelect:a}],...c?[{key:"restore",label:l?i("Put these drafts back"):i("Restore whole website"),icon:Q(QD,{}),onSelect:r}]:[],...c&&!l&&e.pages.length?[{key:"restore-page",label:i("Restore one page only"),icon:Q(aN,{}),onSelect:n}]:[],...l?[]:[{type:"divider",key:"divider"},{key:"name",label:i("Name this version"),icon:Q(gne,{}),onSelect:s}]];return Q(mne,{title:Yo("span",{className:"sf-version-title",children:[Q("span",{children:jD(e)}),e.live?Q(rS,{tone:"success",size:"xs",children:i("Live")}):null,e.name?Q(rS,{tone:"neutral",size:"xs",children:i("Version {n}",{n:e.number})}):null,l?Q(rS,{tone:"warning",size:"xs",children:i("Not published")}):null]}),expanded:o,onToggle:t,actions:Q(fne,{align:"end","aria-label":i("More"),items:f,triggerClassName:une({variant:"ghost",size:"sm"}),trigger:Q(bne,{})}),below:Yo(Qi,{gap:3,children:[Yo(nS,{gap:2,align:"center",wrap:!0,className:"sf-version-meta",children:[Q(cne,{name:e.createdBy,size:"xs"}),Q("span",{children:e.createdBy}),Q("span",{"aria-hidden":"true",children:"\xB7"}),Q("span",{children:qD(e.createdAt)}),d?Yo(ec,{children:[Q("span",{"aria-hidden":"true",children:"\xB7"}),Q("span",{children:vo("{n} change","{n} changes",d)})]}):null]}),o?Yo(Qi,{gap:3,children:[d?Q(Qi,{gap:2,children:e.changes.map(m=>{let u=Sne[m.kind]??yne;return Yo(nS,{gap:2,align:"center",children:[Q(u,{size:16}),Q("span",{children:VD(m)})]},`${m.kind}:${m.id}`)})}):null,Yo(nS,{gap:2,children:[l?null:Q(dn,{variant:"secondary",size:"sm",leftIcon:Q(JD,{}),onClick:a,children:i("Preview")}),c?Q(dn,{variant:"secondary",size:"sm",leftIcon:Q(QD,{}),onClick:r,children:i("Restore")}):null]})]}):null]})})}function Pne({open:e,onClose:o,access:t,waiting:a}){let{flushSave:r,reloadFromServer:n,docId:s}=rN(),[l,c]=lt(null),[d,f]=lt(!1),[m,u]=lt(null),[x,g]=lt(null),[I,k]=lt(!1),[C,w]=lt(null),[b,v]=lt(null),[P,F]=lt(!1),T=lne(0),D=nne(()=>{let y=++T.current;f(!1),t.list().then(A=>{y===T.current&&c(A)},()=>{y===T.current&&f(!0)})},[t]);sne(()=>{e&&D()},[e,D]);let O=y=>{F(!1),Cne(t,y.id).catch(()=>F(!0))},R=async()=>{if(!(!x||I)){k(!0),w(null);try{await GD({access:t,version:x.version,page:x.page,flushSave:r,reload:n}),g(null),o()}catch(y){w(y instanceof Xi?i("Your last changes did not save, so nothing was restored. Try again."):i("The version was not restored. Nothing changed. Try again."))}finally{k(!1)}}},N=ine({onPress:()=>{R()},busy:I});return Yo(ec,{children:[Q(dne,{open:e,onClose:o,side:"right",size:"md",title:i("Version history"),description:Yo(ec,{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:Q("span",{className:"sf-version-foot",children:i("The newest 30 are kept. Named versions are always kept.")}),children:Yo(Qi,{gap:3,children:[P?Q(Ji,{tone:"danger",onDismiss:()=>F(!1),children:i("The preview did not open. Try again.")}):null,d?Q(Ji,{tone:"danger",action:Q(dn,{variant:"secondary",size:"sm",onClick:D,children:i("Try again")}),children:i("Version history did not load.")}):l===null?Q("p",{className:"sf-version-foot",children:i("Loading versions")}):l.length===0?Q("p",{className:"sf-version-foot",children:i("No versions yet. Every Publish from now on keeps one.")}):Q(xne,{"aria-label":i("Versions"),spacing:"comfortable",children:l.map(y=>Q(Tne,{version:y,expanded:m===y.id,onToggle:()=>u(A=>A===y.id?null:y.id),onPreview:()=>O(y),onRestore:()=>{w(null),g({version:y,page:null})},onRestorePage:()=>{w(null),g({version:y,page:wne(y,s)})},onName:()=>v(y)},y.id))})]})}),Q(vne,{version:x?.version??null,page:x?.page??null,waiting:a,busy:N.busy===!0,error:C,onCancel:()=>g(null),onConfirm:N.onPress,onPage:y=>g(A=>A&&{...A,page:A.version.pages.find(L=>L.id===y)??A.page})}),Q(kne,{version:b,onCancel:()=>v(null),onSave:async y=>{await t.name(b.id,y),v(null),D()}})]})}function nN(){let{adapter:e,hasUnsavedEdits:o}=rN(),t=e.siteVersions,a=WD(),r=pd();return t?Q(Pne,{open:a,onClose:HD,access:t,waiting:o||r?.state==="changed"}):null}import{useEaselSession as aM}from"efficient-easel/screen/lib/session-context";import{buildPaletteSections as y$e,categoryLabel as S$e,paletteWithoutPinned as w$e,pinnedSection as C$e}from"efficient-easel/screen/lib/document/palette-sections";var Ene={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 sN(e){return Ene[e]?.label}var lN=pm;import{currentEaselSession as s2}from"efficient-easel/screen/lib/session";import{blockTypesIn as a2}from"efficient-easel/screen/lib/document/block-types-in";import{jsx as it,jsxs as ZN}from"react/jsx-runtime";import{createContext as Tse,useContext as Pse,useEffect as Ese,useRef as Ose,useState as JN}from"react";import{jsx as Ds,jsxs as SN}from"react/jsx-runtime";import{useEffect as Ns,useRef as qne,useState as un}from"react";import{jsx as fn}from"react/jsx-runtime";import{Component as Rne,createContext as Lne,lazy as L$e,Suspense as F$e,useContext as Fne}from"react";var One="hrefRewrite";function _ne(){return Pa("efficient.link-href-rewrites",()=>({rewrites:new Map,count:0,missed:new Set}))}function Ane(){return typeof process<"u"&&!0}function P$e(e){let o=e?.[One];return typeof o=="string"?o.trim():""}function iN(e){if(!e)return null;let o=_ne(),t=o.rewrites.get(e);return!t&&!Ane()&&o.missed.add(e),t??null}var Bne={Link:YS,Image:qS},cN=Lne(Bne);function M$e({runtime:e,children:o}){return fn(cN.Provider,{value:e,children:o})}function lS(){return Fne(cN)}function H$e(){return lS().pagePath??null}function W$e({hrefRewrite:e,...o}){let{Link:t}=lS(),a=iN(e);return a?fn(sS,{name:a.name,href:o.href,fallback:fn(t,{...o}),children:fn(Dne,{Link:t,rewrite:a.rewrite,...o})},a.key):fn(t,{...o})}function Dne({Link:e,rewrite:o,...t}){let a=ee(o(t.href)),r=a&&Pw(a)?a:t.href;return fn(e,{...t,href:r})}var sS=class extends Rne{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 dN(e){let{Image:o}=lS();return fn(o,{...e})}import{jsx as fN,Fragment as Nne,jsxs as Mne}from"react/jsx-runtime";import{useEffect as Hne,useRef as uN,useState as Wne}from"react";var $ne="#t=0.001",zne=2;function Gne(e,o){if(e.readyState<zne||!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 pN({src:e,objectPosition:o="50% 50%",onError:t}){let a=uN(null),r=uN(null),[n,s]=Wne(!1);return Hne(()=>{let l=a.current,c=r.current;if(n||!l||!c)return;let d=()=>{Gne(l,c)&&s(!0)};return d(),l.addEventListener("loadeddata",d),l.addEventListener("seeked",d),()=>{l.removeEventListener("loadeddata",d),l.removeEventListener("seeked",d)}},[n]),Mne(Nne,{children:[fN("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&&fN("video",{ref:a,src:`${e}${$ne}`,muted:!0,playsInline:!0,preload:"auto",className:"hidden",onError:t})]})}import{imageCopyUrl as hN,imageSrcSet as Une}from"efficient-shell/image-copies";var mN;function iS(){return mN===void 0?{}:{host:mN}}var K$e="(max-width: 800px) 100vw, min(100vw, 1600px)",V$e="(max-width: 960px) 100vw, 50vw";function xN(e,{fallbackWidth:o=1280,maxWidth:t}={}){let a=Une(e,{...iS(),...t===void 0?{}:{maxWidth:t}});return a?{src:hN(e,o,iS()),srcSet:a}:{src:e}}function q$e(e){let o=hN(e,1920,iS());return o===e?`url(${e})`:`url("${o}")`}import{jsx as gN}from"react/jsx-runtime";import{createContext as jne,useContext as Kne,useMemo as J$e}from"react";var IN=jne(null);function bN({children:e}){return gN(IN.Provider,{value:"below",children:e})}function oc(){return Kne(IN)}function Vne(){return oc()==="below"?{loading:"lazy"}:{}}function yN(e){let o=Vne();return gN("img",{...e,...o})}var Q$e="laterSlideIds";var Yne=.5;function tc({videoSrc:e,posterSrc:o,showVideo:t=!0,playbackRate:a=Yne,objectPosition:r="50% 50%",objectPositionPhone:n,objectPositionTablet:s,quiet:l=!1,slideShown:c,laterSlide:d=!1,laterOfLead:f=!1}){let m=Ok(n,s),u=oc(),[x,g]=un(!1),I=u==="below"&&!x,k=u==="first",C=o||"",w=e||"",[b,v]=un(!1),[P,F]=un(!1),[T,D]=un(!1),[O,R]=un(!1),N=c??!0,[y,A]=un(!1),L=u!=="first"&&!f,[M,X]=un(!1),V=qne(null);Ns(()=>{if(!L)return;if(document.readyState==="complete"){X(!0);return}let te=()=>X(!0);return window.addEventListener("load",te,{once:!0}),()=>window.removeEventListener("load",te)},[L]),Ns(()=>{v(!1),F(!1),D(!1),R(!1)},[e,o]),Ns(()=>{N&&A(!0)},[N]),Ns(()=>{let te=V.current;te&&(N?te.play()?.catch(()=>{}):te.pause())},[N,y,M]),Ns(()=>{if(!d||L&&!M)return;let te=()=>g(!0);if(typeof window.requestIdleCallback=="function"){let We=window.requestIdleCallback(te,{timeout:2e3});return()=>window.cancelIdleCallback(We)}let Re=setTimeout(te,800);return()=>clearTimeout(Re)},[d,L,M]),Ns(()=>{let te=V.current;if(!te)return;let Re=()=>{te.playbackRate=a};return Re(),te.addEventListener("loadedmetadata",Re),()=>te.removeEventListener("loadedmetadata",Re)},[e,a]);let U=XS(C),ge=C&&U&&!P?xN(C):{src:C};return SN("div",{className:"absolute inset-0 z-[1]",children:[Ds("div",{className:"absolute inset-0",style:{background:"var(--site-surface)"}}),C&&(U?Ds("img",{src:ge.src,...ge.srcSet?{srcSet:ge.srcSet,sizes:"100vw"}:{},alt:"",...I?{loading:"lazy"}:{},...k?{fetchPriority:"high"}:{},className:`absolute inset-0 z-[2] h-full w-full object-cover ${m.className}`.trim(),style:{display:b?"none":"block",objectPosition:r,...m.style},onError:()=>ge.srcSet?F(!0):v(!0)},C):Ds(dN,{src:C,alt:"",fill:!0,...I?{}:x?{loading:"eager"}:{priority:!0},sizes:"100vw",className:`z-[2] object-cover ${m.className}`.trim(),style:{display:b?"none":"block",objectPosition:r,...m.style},onError:()=>v(!0)},C)),t&&!l&&w&&y&&(!L||M)&&!T&&SN("video",{ref:V,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,preload:"metadata",className:"absolute inset-0 z-[3] h-full w-full object-cover",style:{objectPosition:r},onError:()=>D(!0),children:[ZS(w)&&Ds("source",{src:w.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),Ds("source",{src:w,type:"video/mp4"})]},w),t&&l&&w&&y&&(!L||M)&&!O&&(!C||b)&&Ds(pN,{src:w,objectPosition:r,onError:()=>R(!0)},w)]})}import{Fragment as EN,jsx as $o,jsxs as fS}from"react/jsx-runtime";import{MOTION_TIMING as Xne}from"efficient-shell/format";var kN="grayscale(1) contrast(1.03)",fze="Black and white";function Zne(e){return e===!0?{filter:kN}:{}}function Jne(e){let{filter:o}=Zne(e);return o?{style:{filter:o}}:{}}var mn="sf-photo-grayscale",dS="data-sf-photo-host",wN={duration:"--sf-photo-hover-duration",delay:"--sf-photo-hover-delay"},Wp=`@media (hover:hover){.${mn}{filter:${kN};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))}.${mn}:hover,[data-sf-photo-host]:hover .${mn}{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${mn}{transition:none}}`;function TN(e){let o=Xne.hover,t={...e.duration!==o.duration.default?{[wN.duration]:`${e.duration}s`}:{},...e.delay!==o.delay.default?{[wN.delay]:`${e.delay}s`}:{}};return Object.keys(t).length?t:void 0}function PN(e,o,t){if(e===!0)return Jne(!0);if(t?.kind==="mono"){let a=TN(t);return{className:mn,sheet:Wp,...a?{style:a}:{}}}return e===!1?{}:o===!0?{className:mn}:{}}var pn="sf-photo-next",CN="data-sf-repeat",cS="sf-photo-zoom",Qne="--sf-photo-zoom",uze="sf-photo-wash",Np="sf-photo-wash-rest",ac="sf-photo-wash-hover",Mp="sf-photo-frame",Hp=(e,o)=>{let t=`:not([${CN}]:not(:hover) .${e})`;return`${o},[${CN}]:hover .${e}${t},[${dS}]:hover .${e}${t}`},vN=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))`,ese=`.${pn}{opacity:0}.${ac}{opacity:0}@media (hover:hover){.${pn},.${Np},.${ac}{transition:${vN("opacity")}}${Hp(pn,`.${pn}:hover,.${Mp}:hover .${pn}`)},${Hp(ac,`.${Mp}:hover .${ac}`)}{opacity:1}${Hp(Np,`.${Mp}:hover .${Np}`)}{opacity:0}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.${cS}{transition:${vN("transform")}}${Hp(cS,`.${Mp}:hover .${cS}`)}{transform:scale(var(${Qne}))}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${pn},.${Np},.${ac}{transition:none}}`;function pze(e){if(e?.kind!=="nextImage")return null;let o=TN(e);return{className:pn,sheet:ese,...o?{style:o}:{}}}function mze(e){return e===!0?{[mn]:Wp}:{}}import{hidableText as ose}from"efficient-easel/draw";var tse={one:"max-view-tablet:grid-cols-1 max-view-tablet:grid-rows-1",side:"max-view-tablet:grid-cols-2 max-view-tablet:grid-rows-1",stacked:"max-view-tablet:grid-cols-1 max-view-tablet:grid-rows-2"},ase={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 ON(e){let o=e.isVideo&&OC(e.videoSource)==="youtube",t=e.isVideo&&_C(e.videoPlayback)==="click",a=o?AC(ose(e.youtubeUrl)):null,r=Jf(e.mediaLayout);return{fromYouTube:o,onClick:t,youTubeId:a,backgroundFile:e.isVideo&&!o&&!t,desktopLayout:r,phoneLayout:bI(e.mediaLayoutPhone,r),twoPictures:!e.isVideo&&Zl(e)>1}}function rc(e,o){return iu(gs({_partMotion:e},o))}function Ms(e,o){return PN(void 0,void 0,lE(gs({_partMotion:e},o)))}function _N(e){return Ur.some(o=>Ms(e,o).className)?{hostAttrs:{[dS]:""},sheet:Wp}:{}}function $p({treatment:e,children:o}){return e.className?$o("div",{className:`absolute inset-0 ${e.className}`,...e.style?{style:e.style}:{},children:o}):$o(EN,{children:o})}function zp({color:e,opacity:o,passClicks:t=!0}){return o>0?$o("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 Gp({part:e,editing:o,marked:t=!0,entrance:a,className:r,children:n}){let s=o&&t?{[a_]:e}:void 0;return a?$o(Qb,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:r,boxAttrs:s,children:n}):$o("div",{className:r,...s,children:n})}function AN({partMotion:e,editing:o,children:t}){let a=rc(e,"media"),r=Ms(e,"media"),n=r.className?$o("div",{className:`absolute inset-0 z-[1] ${r.className}`,...r.style?{style:r.style}:{},children:t}):t;return a?$o(Qb,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:"absolute inset-0 z-[1]",children:n}):$o(EN,{children:n})}function RN({desktopLayout:e,phoneLayout:o,editing:t,marked:a=!0,partMotion:r,first:n,second:s,laterSlide:l=!1}){return fS("div",{className:`absolute inset-0 z-[1] grid ${tse[o]} ${ase[e]}`,"data-hero-layout":e,"data-hero-layout-phone":o,children:[$o(Gp,{part:"image",editing:t,marked:a,entrance:rc(r,"image"),className:"relative overflow-hidden",children:fS($p,{treatment:Ms(r,"image"),children:[$o(tc,{posterSrc:Ta(n.src),showVideo:!1,laterSlide:l,objectPosition:n.objectPosition,objectPositionPhone:n.objectPositionPhone,objectPositionTablet:n.objectPositionTablet}),$o(zp,{color:n.tintColor,opacity:n.tintOpacity})]})}),$o(Gp,{part:"image2",editing:t,marked:a,entrance:rc(r,"image2"),className:`relative overflow-hidden ${td({desktop:e==="one",tablet:e==="one",mobile:o==="one"})}`.trimEnd(),children:fS($p,{treatment:Ms(r,"image2"),children:[$o(tc,{posterSrc:Ta(s.src),showVideo:!1,laterSlide:l,objectPosition:s.objectPosition,objectPositionPhone:s.objectPositionPhone,objectPositionTablet:s.objectPositionTablet}),$o(zp,{color:s.tintColor,opacity:s.tintOpacity})]})})]})}import{jsx as hn,Fragment as rse,jsxs as nse}from"react/jsx-runtime";import{useEffect as sse,useState as lse}from"react";import{PlaySolidIcon as ise}from"efficient-shell/icons/efficient-looks";function LN({youTubeId:e,ownPoster:o,background:t,editing:a}){let[r,n]=lse("large");return sse(()=>n("large"),[e]),e?nse(rse,{children:[!o&&r!=="none"&&hn(yN,{src:r==="large"?RC(e):LC(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&&hn("div",{className:"pointer-events-none absolute inset-0 z-[3] overflow-hidden [container-type:size]","aria-hidden":"true",children:hn("iframe",{src:qm(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 FN({youTubeId:e,fileSrc:o,playing:t,onPlay:a,editing:r}){return!e&&!o?null:t&&!r?e?hn("iframe",{src:qm(e,"click"),title:Ym,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"}):hn("video",{src:o,controls:!0,autoPlay:!0,playsInline:!0,className:"absolute inset-0 z-[6] h-full w-full bg-overlay-scrim object-contain"}):hn("button",{type:"button","aria-label":Ym,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:hn(ise,{size:28})})}function BN(e,o){if(!e)return[];let t=`[${o}]`;return Array.from(e.querySelectorAll(t)).filter(a=>{let r=a.parentElement?.closest(t);return!r||r===e||!e.contains(r)})}var DN=["top","middle","bottom"],NN=["left","center","right"],MN="bottom",HN="left",cse={top:"Top",middle:"Middle",bottom:"Bottom"},dse={left:"Left",center:"Center",right:"Right"},Nze="Up and down",Mze="Sideways",fse={top:"flex-start",middle:"center",bottom:"flex-end"},use={left:"flex-start",center:"center",right:"flex-end"},pse="--sf-hero-phone-y",mse="--sf-hero-phone-x";function hse(e){return DN.includes(e)?e:MN}function xse(e){return NN.includes(e)?e:HN}function WN(e,o){let t=hse(e),a=xse(o),r={};return t!==MN&&(r[pse]=fse[t]),a!==HN&&(r[mse]=use[a]),r}function Hze(){return DN.map(e=>({label:cse[e],value:e}))}function Wze(){return NN.map(e=>({label:dse[e],value:e}))}import{hexToRgb as gse}from"efficient-shell/format";var Ise=!0;var bse=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function $N(e){let o=gse(e);return o?`${o.r},${o.g},${o.b}`:null}function zN(e){return e==null?Ise:e!==!1}function GN(e){let o=(e?$N(e):null)??$N(St);return`linear-gradient(180deg, ${bse.map(([t,a])=>`rgba(${o},${a}) ${t}%`).join(", ")})`}import{hexToRgb as UN}from"efficient-shell/format";var jN="bottom";var yse=[{label:"Bottom",value:"bottom",cell:"bottom"},{label:"Top",value:"top",cell:"top"},{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"}],Sse={bottom:180,top:0,left:270,right:90},wse=[[.55,0],[.15,18],[null,35],[null,55],[.85,100]],Cse=[[null,33],[.6,67],[.94,100]];function vse(e,o){let{r:t,g:a,b:r}=UN(e)??UN(St);return`rgba(${t},${a},${r},${o})`}function KN(e){return io(yse,jN,e)}function VN(e=St,o=jN){let t=KN(o),a=(t==="top"||t==="bottom"?wse:Cse).map(([r,n])=>`${r===null?"transparent":vse(e,r)} ${n}%`);return`linear-gradient(${Sse[t]}deg, ${a.join(", ")})`}function qN(e,o){let t=ee(e.overlayColor),a=ee(e.overlayPosition),r=ee(o)??St;return!t&&!a?{own:!1,color:r,position:null}:{own:!0,color:t??r,position:KN(a)}}import{jsx as kse}from"react/jsx-runtime";var YN="sf-photo-hover";function XN({sheet:e,name:o=YN}){return e?kse("style",{href:o,precedence:YN,dangerouslySetInnerHTML:{__html:e}}):null}var _se=Tse({});function pGe({name:e,process:o,mediaType:t="video",mediaSrc:a,videoSpeed:r,poster:n,objectPosition:s,objectPositionPhone:l,objectPositionTablet:c,tintColor:d=St,tintOpacity:f=0,groups:m,editing:u=!1,themeClassName:x,themeStyle:g,overlayColor:I,overlayPosition:k,mediaLayout:C,mediaLayoutPhone:w,mediaImage2:b,objectPosition2:v,objectPosition2Phone:P,objectPosition2Tablet:F,tintColor2:T=St,tintOpacity2:D=0,videoSource:O,youtubeUrl:R,videoPlayback:N,partMotion:y,laterSlide:A=!1}){let L=va(),{alignment:M="left",textureOpacity:X,textureOn:V,textureColor:U,quietVideo:ge,phoneUpDown:te,phoneSideways:Re,holdReel:We,reelHeld:Pe,shownSlide:Ie,ratioMin:Ee}=Pse(_se),$e=oc(),oo=A&&$e==="first",yo=Ose(null),[he,Ke]=JN(Ie===void 0?void 0:!1);Ese(()=>{let gn=yo.current;Ke(Ie===void 0||!gn?void 0:BN(gn.closest(".hero-track"),"data-slide-name")[Ie]===gn)});let Oe=t==="video",ve=Oe?Ta(a):void 0,Ye=Oe?Ta(n):Ta(a)??Ta(n),Lt=typeof r=="number"?r/100:1,{fromYouTube:Ro,onClick:H,youTubeId:Le,backgroundFile:ne,desktopLayout:Fe,phoneLayout:_e,twoPictures:dt}=ON({isVideo:Oe,videoSource:O,videoPlayback:N,youtubeUrl:R,mediaLayout:C,mediaLayoutPhone:w}),[Ft,Xe]=JN(!1);Ft&&Pe===!1&&Xe(!1);let ft=!Ft,Bt=qN({overlayColor:I,overlayPosition:k},U),xn=Oe?null:rc(y,"image"),Ws=_N(y),Xt=it($p,{treatment:Oe?{}:Ms(y,"image"),children:it(tc,{videoSrc:ne?ve:void 0,posterSrc:Ye,showVideo:ne,playbackRate:Lt,objectPosition:s,objectPositionPhone:Oe?void 0:l,objectPositionTablet:Oe?void 0:c,quiet:ge,slideShown:he,laterSlide:A,laterOfLead:oo})}),rr=ZN("section",{ref:yo,className:ka(`${Ee?"relative min-h-full w-full overflow-clip":"relative h-full w-full overflow-hidden"}${x?` ${x}`:""}`,L.className),...L.attrs,style:g,"data-slide-name":e??"","data-slide-process":o??"","data-slide-media":ne&&ve?"video":"still",...Ws.hostAttrs,children:[it(XN,{sheet:Ws.sheet}),it(AN,{partMotion:y,editing:u,children:dt?it(RN,{laterSlide:A,desktopLayout:Fe,phoneLayout:_e,editing:u,marked:!1,partMotion:y,first:{src:a,objectPosition:s,objectPositionPhone:l,objectPositionTablet:c,tintColor:d,tintOpacity:f},second:{src:b,objectPosition:v,objectPositionPhone:P,objectPositionTablet:F,tintColor:T,tintOpacity:D}}):Ro||xn?ZN(Gp,{part:Oe?"media":"image",editing:u,marked:!1,entrance:xn,className:"absolute inset-0 z-[1]",children:[Xt,Ro&&it(LN,{youTubeId:Le,ownPoster:!!Ye,background:!H,editing:u})]}):Xt}),H&&it(FN,{youTubeId:Le,fileSrc:Ro?void 0:ve,playing:Ft,onPlay:()=>{Xe(!0),We?.()},editing:u}),ft&&!dt&&it(zp,{color:d,opacity:f,passClicks:!1}),ft&&zN(V)&&it("div",{className:"absolute inset-0 z-[2]",style:{background:Bt.own?VN(Bt.color,Bt.position??void 0):GN(Bt.color),...X!==void 0?{opacity:X/100}:null}}),ft&&it("div",{className:[Ee?"sf-hero-group-layer relative min-h-full z-[3] mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-[140px] pb-14":"sf-hero-group-layer absolute inset-0 z-[3] mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-[140px] pb-14",u?"sf-hero-group-layer-edit":""].filter(Boolean).join(" "),style:{...Zv,...WN(te,Re)},children:m&&it(m,{className:"sf-hero-group-zone",minEmptyHeight:160})})]});return L.scope(oo?it(bN,{children:rr}):rr)}var QN=Array.from({length:3},(e,o)=>({name:`Slide ${o+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{newNodeId as o2}from"efficient-easel/draw";var Ase="ImageBlock",Rse=3,Up=(e,o,t={})=>({type:e,props:{...o?.(e)??{},id:o2(e),...t}}),Lse=e=>({...e?.(q)??{},direction:"column",[le]:[Up(Ase,e),Up(q,e,{direction:"column",[le]:[Up("Text",e,_a()),Up("Text",e)]})]}),qt={Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>QN.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${Qt.toLowerCase()}`,seeds:()=>[],addBlocked:Uc,notice:Ih},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${Qt.toLowerCase()}`,seeds:()=>[],addBlocked:Uc,notice:Ih},ProcessSteps:{slot:"boxes",childType:q,addLabel:`Add ${Qt.toLowerCase()}`,seeds:e=>Array.from({length:Rse},()=>Lse(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}},e2=1,Fse={slot:Xl,childType:q,addLabel:`Add ${Qt.toLowerCase()}`,seeds:()=>[],addBlocked:e=>e.length>=e2?"This Hero has its Scrolling Bar already. Delete it to add another.":null,notice:e=>e.length>e2?`This Hero holds ${e.length} Scrolling Bars. Keep one and delete the others.`:null},t2={Hero:{[Xl]:Fse}};function wGe(e){for(let[o,t]of Object.entries(e)){if(o in qt&&qt[o]!==t)throw new Error(`lib/document/slot-specs: "${o}" already has a slot spec`);qt[o]=t}}function CGe(e,o){let t=qt[e];return t?{slot:t.slot,children:t.seeds(o).map(a=>({type:t.childType,props:{id:o2(t.childType),...a}}))}:null}var r2=()=>({}),n2=new Map;function Bse(e){let o=n2.get(e);if(o)return o;let t=new Set,a=qt[e];if(a)for(let s of a.seeds(r2))for(let l of a2({type:a.childType,props:s}))t.add(l);let r=Fs(e);if(r){let s=0;for(let l of a2(r(r2,c=>`${c}-${s+=1}`)))t.add(l)}t.delete(e);let n=[...t].sort();return n2.set(e,n),n}function Dse(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let o=hb(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=gw(c);return!d||!o[d]?!1:t?t.has(c):!0},s=new Map,l=c=>{let d=s.get(c);if(d!==void 0)return d;s.set(c,!1);let f=n(c)&&Bse(c).every(l);return s.set(c,f),f};return{sets:o,offers:l}}var Nse="block-offer";function uS(e=s2()){return e.cache(Nse,()=>Dse(rd(e)))}function l2(e,o=s2()){let t=uS(o);return t?t.offers(e):!0}function Mse(e){let o=_p.Ticker(e.nodeDefaults,e.newNodeId),{sectionBorder:t,...a}=o.props,r=gI.line?{sectionBorder:t}:{};return{...o,props:{...a,...r,sectionAccent:gI.sectionAccent}}}var Hse={Hero:{[Xl]:{newChild:Mse,childLabel:bc.Ticker}}},i2=Object.fromEntries(Object.entries(t2).map(([e,o])=>[e,Object.fromEntries(Object.entries(o).map(([t,a])=>[t,{...a,...Hse[e]?.[t]}]))]));function c2(e,o=0,t,a){let r=$se(zse(e,o,a),t),n=r?uS():null;return r&&n?Wse(r,n):r}function Wse(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 $se(e,o){if(!e||e.source!=="container"||!o||!IC())return e;let t=ol({data:o.data},o.id),a=typeof t?.type=="string"?bC(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 zse(e,o,t){let a=t?i2[e]?.[t]:void 0;if(a)return{source:"section",slot:a.slot,choices:null,spec:a};let r=qt[e];if(r)return{source:"section",slot:r.slot,choices:null,spec:r};let n=yw(e,o);if(n)return{source:"container",slot:n.slot,choices:n.choices,spec:null};let s=pA(e);return s?{source:"footer",slot:uA,choices:s,spec:null}:null}function d2(e,o=[Je]){return Mm(e.type)?o.map(t=>t===Je?{slot:t,label:i(pC),rung:!0}:{slot:t,label:t,rung:!1}):null}import{useSyncExternalStore as Gse}from"react";var pS=null,mS=new Set;function f2(e){if(pS!==e){pS=e;for(let o of mS)o()}}function Use(e){return mS.add(e),()=>{mS.delete(e)}}function XGe(){return Gse(Use,()=>pS,()=>null)}function u2(e){return al(e)?.ownerId??null}function p2(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 m2=(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 h2="sf-editor-left-view";function x2(){if(typeof window>"u")return"pages";try{let e=window.localStorage.getItem(h2);return e==="sections"||e==="styles"?e:"pages"}catch{return"pages"}}function g2(e){if(!(typeof window>"u"))try{window.localStorage.setItem(h2,e)}catch{}}function I2(e,o){return e==="styles"&&!o?"sections":e}function b2(e,o){return e?"sections":o}var jse=new Set(["BookingBox","SubmitBox"]);function Kse(e){return typeof e=="string"&&jse.has(e)}var Vse=VC(Kse,sA);function y2(e,o){return Vse(e)||fx(o)}import{copyNode as qse}from"efficient-easel/data";function S2(e){let o=typeof e?.props?.id=="string"?e.props.id:null,t=It(),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 w2={usedOn:e=>{let o=It(),t=o?.sectionOf(e.props.id)??null;return!o||!t?null:o.usedOn(t)??[]},openPage:e=>Mc()?.openPage(e),adopt:(e,o)=>It()?.adopt(e.props.id,o),nodeOf:e=>It()?.place(e)??null,detach:e=>{let o=Mc()?.config;return o?qse(e,o):e},removed:()=>Mc()?.reload()};import{sharedSectionsOf as iie}from"efficient-easel/screen/lib/shared-sections";import{scrollPreviewToSection as cie,scrollPreviewToTop as X2}from"efficient-easel/screen/lib/document/preview-dom";import{jsx as gS,Fragment as Tle,jsxs as Ple}from"react/jsx-runtime";import{useContext as Ele,useEffect as Ole,useMemo as yS,useRef as F2}from"react";import{EaselCanvas as _le,repeatCopyAt as Ale,useEasel as Rle}from"efficient-easel/easel";import{jsx as P2,Fragment as lle,jsxs as ile}from"react/jsx-runtime";import{useEffect as E2,useLayoutEffect as cle}from"react";var jp="data-theme",C2="light";function Yse(e){return e.getAttribute(jp)===C2?"light":"dark"}function Xse(e,o){return Yse(e)===o?!1:(o==="light"?e.setAttribute(jp,C2):e.removeAttribute(jp),!0)}function Zse(e){return sm(e).getItem(Qp)}function uUe(e,o){sm(e).setItem(Qp,o)}function Jse(e,o,t=new Date().getHours()){return PS({mode:o.mode,override:Zse(e),switchShown:o.switchShown,hour:t})}function v2(e,o){let t=e.documentElement;if(!t)return()=>{};let a=()=>Xse(t,Jse(e,o));a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[jp]}),()=>n.disconnect()}var Qse="style";function ele(e,o){let t=NS(o),a=!1;for(let r of DS){let n=t[r]??"";e.style.getPropertyValue(r)!==n&&(n?e.style.setProperty(r,n):e.style.removeProperty(r),a=!0)}return a}function k2(e,o){let t=e.body;if(!t)return()=>{};let a=()=>ele(t,o);a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[Qse]}),()=>n.disconnect()}import{VIEW_DESKTOP_MIN as ole,VIEW_TABLET_MIN as tle}from"efficient-easel/screen/lib/content/view-tiers";var ale={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"},ct=ale,rle=e=>e.flatMap(o=>[`[${o}] p`,`[${o}] li`]).join(","),nle=String.raw`(function (doc) {
91
- if (doc.__sfFitWords) return;
92
- var win = doc.defaultView;
93
- var SELECTOR = "h1,h2,h3,h4,h5,h6,[class*='font-heading'],[class*='font-display']";
94
- // Body text a block asked to shrink (its Text group's Shrink), beside
95
- // the headings: what this script may fit at all. modeOf() decides each one.
96
- var SHRINK_BODY = ${JSON.stringify(rle([ct.fit,ct.fitTablet,ct.fitPhone]))};
97
- var CANDIDATES = SELECTOR + "," + SHRINK_BODY;
98
- var MIN_SCALE = 0.3, MIN_PX = 16, SLACK = 1, PHONE_BELOW = 800;
99
- var TABLET_MIN = ${tle}, DESKTOP_MIN = ${ole};
100
-
101
- // A block's own answer (lib/content/block-size, the wrapper's attributes):
102
- // the fit "wrap" | "shrink" | "line" and the floor, each with a tablet and a
103
- // phone twin. From 1100 the desktop's; 720-1099 the tablet's where it has one;
104
- // under 720 the phone's, else the tablet's, else the desktop's. With no
105
- // tablet answer the phone's is read under 800, as before (the edge moves with
106
- // F1). With none, a heading shrinks and body text wraps, as always.
107
- // A holder with any tablet attribute takes the three views (720 and 1100)
108
- // for its fit AND its floor together; one with none keeps the 800 edge.
109
- var TABLET_ATTRS = [${JSON.stringify(ct.fitTablet)}, ${JSON.stringify(ct.minTablet)}];
110
- function own(el, attr, tabletAttr, phoneAttr) {
111
- var holder = el.closest("[" + attr + "],[" + tabletAttr + "],[" + phoneAttr + "]");
112
- if (!holder) return null;
113
- var w = win.innerWidth, d = holder.getAttribute(attr);
114
- if (w >= DESKTOP_MIN) return d;
115
- var t = holder.getAttribute(tabletAttr), p = holder.getAttribute(phoneAttr);
116
- if (w < TABLET_MIN) return p || t || d;
117
- if (holder.hasAttribute(TABLET_ATTRS[0]) || holder.hasAttribute(TABLET_ATTRS[1])) return t || d;
118
- return (w < PHONE_BELOW && p) || d;
119
- }
120
- function modeOf(el) {
121
- var mode = own(el, ${JSON.stringify(ct.fit)}, ${JSON.stringify(ct.fitTablet)}, ${JSON.stringify(ct.fitPhone)});
122
- if (mode === "wrap" || mode === "shrink") return mode;
123
- if (mode === "line") return "wrap"; // One line: the block keeps its words whole, nothing shrinks
124
- return el.matches(SELECTOR) ? "shrink" : "wrap";
125
- }
126
- function floorOf(el, set) {
127
- var min = parseFloat(own(el, ${JSON.stringify(ct.min)}, ${JSON.stringify(ct.minTablet)}, ${JSON.stringify(ct.minPhone)}));
128
- return min >= 0 ? min : Math.max(set * MIN_SCALE, MIN_PX);
129
- }
130
-
131
- function measure(el) {
132
- var widest = 0, current = 0, last = null, split = false, lastBlock = null;
133
- function blockOf(n) {
134
- for (var p = n.parentElement; p && p !== el; p = p.parentElement) {
135
- var d = win.getComputedStyle(p).display;
136
- if (d.indexOf("inline") !== 0 && d !== "contents") return p;
137
- }
138
- return el;
139
- }
140
- function close() { if (current > widest) widest = current; current = 0; last = null; }
141
- var walker = doc.createTreeWalker(el, 5), range = doc.createRange(), node;
142
- while ((node = walker.nextNode())) {
143
- if (node.nodeType === 1) {
144
- if (node.tagName === "BR" || node.tagName === "WBR") close();
145
- continue;
146
- }
147
- var block = blockOf(node);
148
- if (block !== lastBlock) close();
149
- lastBlock = block;
150
- var re = /(\S+)|(\s+)/g, m;
151
- while ((m = re.exec(node.data))) {
152
- if (m[2]) { close(); continue; }
153
- range.setStart(node, m.index);
154
- range.setEnd(node, m.index + m[0].length);
155
- var rects = range.getClientRects();
156
- for (var i = 0; i < rects.length; i++) {
157
- var r = rects[i];
158
- if (r.width <= 0) continue;
159
- current += r.width;
160
- if (last && r.top > last.top + last.height / 2) split = true;
161
- last = r;
162
- }
163
- }
164
- }
165
- close();
166
- return { widest: widest, split: split };
167
- }
168
-
169
- function lineWidth(el) {
170
- var cs = win.getComputedStyle(el);
171
- return el.getBoundingClientRect().width - parseFloat(cs.paddingLeft) - parseFloat(cs.paddingRight)
172
- - parseFloat(cs.borderLeftWidth) - parseFloat(cs.borderRightWidth);
173
- }
174
-
175
- // ⚠️ THE HEADING ELEMENT IS NEVER TOUCHED — no style="", no data-*. This
176
- // runs before React hydrates, and React 19 in development reports ANY
177
- // attribute that differs from what it rendered ("a tree hydrated but some
178
- // attributes didn't match"): first our inline font-size on the hero (which
179
- // React owns via --heading-size), then, when that moved to a data-sf-fit
180
- // attribute, the attribute itself. So the fitted size lives only in this
181
- // script's own stylesheet, in <head>, addressed to each heading by its
182
- // POSITION (":root>*:nth-child(2)>…"). A position goes stale when the page's
183
- // structure changes, so the rules are rewritten in the MutationObserver
184
- // callback, which runs before the next paint. !important so the size also
185
- // beats a part's own inline size.
186
- var head = doc.head || doc.documentElement;
187
- var fitEl = doc.createElement("style");
188
- fitEl.id = "storefront-fit-words-sizes";
189
- head.appendChild(fitEl);
190
- // heading -> [[element, fitted size]]: the heading and each Text part inside
191
- // it that holds its own size (a span [data-sf-part-styled]), e.g.
192
- // [[h2, "43.8px"], [span, "43.8px"]]. Sizing the heading alone leaves such
193
- // a part at its own size, and the word still breaks (card C25, Spec Table).
194
- var fitted = new Map();
195
-
196
- function pathOf(el) {
197
- var parts = [];
198
- for (var e = el; e && e.parentElement; e = e.parentElement) {
199
- var i = 1, s = e;
200
- while ((s = s.previousElementSibling)) i++;
201
- parts.unshift("*:nth-child(" + i + ")");
202
- }
203
- return ":root>" + parts.join(">");
204
- }
205
- function writeRules() {
206
- var css = "";
207
- fitted.forEach(function (sizes, el) {
208
- if (!el.isConnected) { fitted.delete(el); return; }
209
- for (var i = 0; i < sizes.length; i++) css += pathOf(sizes[i][0]) + "{font-size:" + sizes[i][1] + " !important}";
210
- });
211
- if (fitEl.textContent !== css) fitEl.textContent = css;
212
- }
213
-
214
- function unfit(el) {
215
- if (fitted.delete(el)) writeRules();
216
- }
217
-
218
- function fits(el) {
219
- var m = measure(el);
220
- return !m.split && m.widest <= lineWidth(el) + SLACK;
221
- }
222
-
223
- function fit(el) {
224
- unfit(el);
225
- if (modeOf(el) !== "shrink") return; // the block's own Wrap
226
- if (lineWidth(el) <= 0) return; // hidden, or not laid out yet
227
- if (fits(el)) return;
228
- var set = parseFloat(win.getComputedStyle(el).fontSize);
229
- if (!set) return;
230
- var floor = floorOf(el, set);
231
- if (floor >= set) return;
232
- function size(px) { return Math.floor(px * 10) / 10 + "px"; }
233
- // The SEARCH tries sizes on the element's own style and then puts that
234
- // attribute back byte for byte (or removes it, if it had none), so nothing
235
- // is left for React to see. A trial in a stylesheet instead restyles the
236
- // whole page per step: a full pass on the Hartes home took 75–160ms at 4x
237
- // CPU that way.
238
- // Every trial scales the heading AND each part inside it that holds its
239
- // own size, by the same ratio, so a part keeps its proportion to the
240
- // heading.
241
- var carriers = [el].concat(Array.prototype.slice.call(el.querySelectorAll("[data-sf-part-styled]")));
242
- var base = carriers.map(function (c) { return parseFloat(win.getComputedStyle(c).fontSize) || set; });
243
- var saved = carriers.map(function (c) { return c.hasAttribute("style") ? c.getAttribute("style") : null; });
244
- function attempt(px) {
245
- for (var i = 0; i < carriers.length; i++) carriers[i].style.setProperty("font-size", size(base[i] * px / set), "important");
246
- }
247
- function done() {
248
- for (var i = 0; i < carriers.length; i++) {
249
- if (saved[i] !== null) carriers[i].setAttribute("style", saved[i]); else carriers[i].removeAttribute("style");
250
- }
251
- }
252
- attempt(floor);
253
- if (!fits(el)) { done(); return; } // even the floor does not fit: leave it as set
254
- var lo = floor, hi = set;
255
- for (var i = 0; i < 8; i++) {
256
- var mid = (lo + hi) / 2;
257
- attempt(mid);
258
- if (fits(el)) lo = mid; else hi = mid;
259
- }
260
- done();
261
- fitted.set(el, carriers.map(function (c, i) { return [c, size(base[i] * lo / set)]; }));
262
- writeRules();
263
- }
264
-
265
- // What each heading measured right after we last fitted it, so the
266
- // ResizeObserver below can tell a real change (a font swap, a rotate, a
267
- // container that moved) from the size change our own write just caused.
268
- var seen = new WeakMap();
269
- function remember(el) {
270
- var b = el.getBoundingClientRect();
271
- seen.set(el, b.width + "x" + b.height);
272
- }
273
- function fitAndRemember(el) { fit(el); remember(el); }
274
-
275
- // ⚠️ A ResizeObserver, NOT fonts.ready or a resize event, and the reason is
276
- // WHEN it runs: after layout, BEFORE paint. The web font arriving re-wraps a
277
- // fitted heading, and fonts.ready resolves only after that frame is painted —
278
- // measured on the Hartes hero: a 42px jump in 2 of 3 loads. A size change
279
- // reported here is fitted in the same frame, so the broken state is never
280
- // drawn. It also covers a container that resizes.
281
- var ro = new win.ResizeObserver(function (entries) {
282
- for (var i = 0; i < entries.length; i++) {
283
- var el = entries[i].target;
284
- var b = el.getBoundingClientRect();
285
- if (seen.get(el) === b.width + "x" + b.height) continue; // our own write
286
- fitAndRemember(el);
287
- }
288
- });
289
- // Its own set, not seen: fitAndRemember has written seen by the
290
- // time watch runs, so a seen test observed no heading at all, and a
291
- // heading fitted in the fallback face was never fitted again when the web
292
- // font arrived (hartesmetal.com.au, "FusionForge." with its "." alone).
293
- var watched = new WeakSet();
294
- function watch(el) { if (!watched.has(el)) { watched.add(el); ro.observe(el); } }
295
-
296
- function fitAll() {
297
- var els = doc.querySelectorAll(CANDIDATES);
298
- for (var i = 0; i < els.length; i++) {
299
- if (modeOf(els[i]) === "shrink") { fitAndRemember(els[i]); watch(els[i]); }
300
- else unfit(els[i]); // Wrap here (a phone value may differ from the desktop's)
301
- }
302
- }
303
-
304
- var queued = 0, all = false, touched = new Set();
305
- function run() {
306
- queued = 0;
307
- if (all) { all = false; touched.clear(); fitAll(); return; }
308
- var els = Array.from(touched);
309
- touched.clear();
310
- for (var i = 0; i < els.length; i++) {
311
- if (!els[i].isConnected) continue;
312
- if (modeOf(els[i]) === "shrink") { fitAndRemember(els[i]); watch(els[i]); }
313
- else unfit(els[i]);
314
- }
315
- }
316
- function schedule() { if (!queued) queued = win.requestAnimationFrame(run); }
317
- function scheduleAll() { all = true; schedule(); }
318
-
319
- fitAll();
320
- // A backstop only: a font that changes widths without changing any
321
- // heading's box is not seen by the ResizeObserver.
322
- if (doc.fonts && doc.fonts.ready) doc.fonts.ready.then(scheduleAll, function () {});
323
-
324
- // …and the viewport WIDTH, which the ResizeObserver cannot stand in for: a
325
- // heading sized to its own text (fit-content, a flex item) keeps the SAME box
326
- // when the phone turns to 844, so nothing reports a change and it would stay
327
- // shrunk. The probe's rotate check caught exactly that.
328
- var lastWidth = win.innerWidth;
329
- function onResize() {
330
- if (win.innerWidth === lastWidth) return; // a phone's toolbar changing HEIGHT is not our business
331
- lastWidth = win.innerWidth;
332
- scheduleAll();
333
- }
334
- win.addEventListener("resize", onResize);
335
-
336
- var mo = new win.MutationObserver(function (records) {
337
- // Positions first: a node added or removed anywhere can shift the
338
- // nth-child path of a fitted heading, and this callback runs before paint.
339
- if (fitted.size) {
340
- for (var q = 0; q < records.length; q++) if (records[q].type === "childList") { writeRules(); break; }
341
- }
342
- for (var i = 0; i < records.length; i++) {
343
- var r = records[i];
344
- // A block's text fit (Wrap / Shrink / One line) or Min font size changed in the editor:
345
- // only a data-fit attribute moved, so every heading is measured again.
346
- if (r.type === "attributes") { scheduleAll(); continue; }
347
- var target = r.target.nodeType === 1 ? r.target : r.target.parentElement;
348
- var owner = target && target.closest(CANDIDATES);
349
- if (owner) touched.add(owner);
350
- for (var j = 0; j < r.addedNodes.length; j++) {
351
- var n = r.addedNodes[j];
352
- if (n.nodeType !== 1) continue;
353
- if (n.matches(CANDIDATES)) touched.add(n);
354
- var inner = n.querySelectorAll(CANDIDATES);
355
- for (var k = 0; k < inner.length; k++) touched.add(inner[k]);
356
- }
357
- }
358
- if (touched.size) schedule();
359
- });
360
- mo.observe(doc.body, {
361
- childList: true,
362
- subtree: true,
363
- characterData: true,
364
- attributes: true,
365
- attributeFilter: ${JSON.stringify(Object.values(ct))},
366
- });
367
-
368
- doc.__sfFitWords = function stop() {
369
- win.removeEventListener("resize", onResize);
370
- ro.disconnect();
371
- mo.disconnect();
372
- if (queued) win.cancelAnimationFrame(queued);
373
- fitted.clear();
374
- fitEl.remove();
375
- delete doc.__sfFitWords;
376
- };
377
- // For the probe and for debugging: which headings are fitted, at what size,
378
- // and the sheet that holds it (disable it to read a heading's set size).
379
- doc.__sfFitWords.fitted = fitted;
380
- doc.__sfFitWords.sheet = fitEl;
381
- // …and the two questions a block's own answer changes, for the guard
382
- // (scripts/test-block-size.tsx §5): which mode an element is in, and its floor.
383
- doc.__sfFitWords.modeOf = modeOf;
384
- doc.__sfFitWords.floorOf = floorOf;
385
- })(document);`,sle="storefront-fit-words";function T2(e){let o=e.createElement("script");return o.id=sle,o.textContent=nle,(e.head??e.documentElement).appendChild(o),()=>{e.__sfFitWords?.(),o.remove()}}var dle=`
386
- [${Tt}][${Tt}] { cursor: text; }
387
- `;function O2({children:e,document:o}){let{theme:t,themeMode:a,themeSwitchShown:r}=xe(),n=to(t);return E2(()=>{if(o)return v2(o,{mode:a,switchShown:r})},[o,a,r]),E2(()=>{if(o)return k2(o,n)},[o,n]),cle(()=>{if(o)return T2(o)},[o]),ile(lle,{children:[P2(cw,{}),P2("style",{children:dle}),e]})}import{jsx as hS}from"react/jsx-runtime";import{useEffect as fle,useState as ule}from"react";import{Banner as ple}from"efficient-shell/ui";var Kp={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."},mle={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."},hle=Kp.load,xle=Kp.lock,gle=Kp.conflict,Ile=Kp.save;function ble(e){if(!e)return null;if(e.loadFailed)return i(hle);if(e.lockHolder)return i(xle,{name:e.lockHolder.name||i("Somebody else")});if(e.conflict)return i(gle);if(e.saveFailed)return i(Ile);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(mle[o.problem],{section:t,name:a})}function yle({report:e}){let o=ble(Fp(e)),[t,a]=ule(null);return fle(()=>{o||a(null)},[o]),!o||t===o?null:hS("aside",{className:"sf-canvas-notice",children:hS(ple,{tone:"warning",onDismiss:()=>a(o),children:o})})}function _2(){return hS(yle,{report:Bp()})}import{jsx as Vp}from"react/jsx-runtime";import{useState as A2}from"react";import{Banner as Sle,Button as wle}from"efficient-shell/ui";import{UndoIcon as Cle}from"efficient-shell/icons/efficient";import{useScreenDocument as vle}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSettledAction as kle}from"efficient-easel/easel";function R2(){let e=$D(),{adapter:o,flushSave:t,reloadFromServer:a}=vle(),r=o.siteVersions,[n,s]=A2(!1),[l,c]=A2(!1),d=async()=>{if(!(!r||n)){s(!0),c(!1);try{await UD({access:r,flushSave:t,reload:a})}catch{c(!0)}finally{s(!1)}}},f=kle({onPress:()=>{d()},busy:n});return e?Vp("aside",{className:"sf-canvas-notice",children:Vp(Sle,{tone:l?"danger":"info",title:e.title,onDismiss:Dp,action:r&&e.undo?Vp(wle,{variant:"secondary",size:"sm",leftIcon:Vp(Cle,{}),loading:f.busy,disabled:f.busy,onClick:f.onPress,children:i("Undo")}):void 0,children:l?i("Undo did not work. Nothing changed. Try again."):i("Check it with Preview. Press Publish to put it live.")})}):null}import{decodePartId as Lle,REPEAT_ATTRIBUTE as IS,REPEAT_INDEX_ATTRIBUTE as bS}from"efficient-easel/draw";import{usePreviewParts as Fle}from"efficient-easel/draw/client";var L2=null;function xS(e){L2=e}function WUe(){return L2}import{ScreenDocumentContext as Ble}from"efficient-easel/screen/components/ScreenDocumentContext";function B2(e){let{mirrorHostStyles:o}=cm(),t=fw(),{sectionBackgroundWidth:a,themeFromDocument:r}=xe(),n=QS(),s=Ele(Ble),l=Hc(s?.docId??null),c=Rle(C=>C.appState.data),d=ov(l,c),f=JSON.stringify(d),m=yS(()=>d,[f]),u=yS(()=>({...e.metadata??t??{},...hP(r?null:a,n),...m}),[e.metadata,t,a,n,r,m]);Ole(()=>(xS(n),()=>xS(null)),[n]);let x=F2(null),g=Dle(x),{onDocument:I}=e,k=C=>{x.current=C,I?.(C)};return Ple(Tle,{children:[gS(R2,{}),gS(_2,{}),gS(_le,{...e,onDocument:k,typing:g,metadata:u,height:"fill",mirrorStyles:o,frameWrapper:O2})]})}function Dle(e){let o=xc(),t=Fle(),a=F2({parts:t});return a.current={parts:t},yS(()=>{let r=(n,s)=>{let l=uf(n,o),c,d=null,f=s??(l?null:hg(null,e.current,n)),m=!l&&f?Ale(f):null,u=m?Lle(n):null;if(m&&f&&u?.propKey){l=mf({...m,nodeId:u.nodeId,key:u.propKey},o),c=u.propKey;let k=f.closest(`[${IS}][${bS}]`),C=`[${IS}="${pf(k?.getAttribute(IS)??"")}"][${bS}="${pf(k?.getAttribute(bS)??"")}"]`;d=()=>(f.ownerDocument??e.current)?.querySelector(C)??null}if(!l)return null;let x=f,g=()=>(x=hg(x,d?d():x?.ownerDocument??e.current,n),x),I=g();return I?{element:g,value:l.value,rules:l.rules,multiline:l.multiline,skip:l.skip,write:l.write,key:c,toolbar:{offered:l.offered,colors:l.offered.length>0?Fn(ik(I)):void 0,colorNameOf:Uo}}:null};return{at:n=>{let s=n.closest(`[${Tt}]`),l=s?.getAttribute(Tt);return s&&l?r(l,s):null},atSelection:()=>{let n=a.current.parts.selectedPartId;return n?r(n,null):null},onCopyText:n=>z0(n,o),copyValue:n=>$0(n,o),onChange:n=>{if(!n.typing){xg(null);return}let s=n.element.closest(`[${Tt}]`)?.getAttribute(Tt)??null;xg(s),s&&a.current.parts.selectedPartId!==s&&a.current.parts.select(s)}}},[o,e])}var Nle=JS.mediaFields,Mle=/video|poster|focal|phone/i;function D2(e){return(Nle[e]??[]).find(o=>!o.includes("[]")&&!Mle.test(o))??null}var N2={adds:{kind:"block",type:"ImageBlock"},takes:e=>D2(e.type)!==null,replace:(e,o)=>{let t=D2(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 M2={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 qp}from"react/jsx-runtime";import{useState as Hle}from"react";import{Button as Wle,Tooltip as $le,toast as H2}from"efficient-shell/ui";import{TemplateIcon as zle}from"efficient-easel/icons";import{useSettledAction as Gle}from"efficient-easel/easel";import{useScreenDocument as Ule}from"efficient-easel/screen/components/ScreenDocumentContext";function $2({enabled:e,reason:o,onSaved:t}){let{flushSave:a}=Ule(),[r,n]=Hle(!1),s=async()=>{if(!r){n(!0);try{await a()?t():H2.error(i(W2))}catch{H2.error(i(W2))}finally{n(!1)}}},l=Gle({onPress:()=>{s()},busy:r});return qp($le,{side:"bottom",content:e?i("Save this website as a platform template"):i(o),children:qp("span",{className:"sf-tip-disabled",tabIndex:e?void 0:0,children:qp(Wle,{variant:"secondary",disabled:!e||l.busy,loading:l.busy,onClick:l.onPress,rightIcon:qp(zle,{size:15}),children:i("Save as Template")})})})}var W2="Your last changes did not save, so the template was not made. Try again.";var jle="Save your page changes first";function z2(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:jle}:{visible:!0,enabled:!0}:{visible:!1,hiddenReason:"no-site"}:{visible:!1,hiddenReason:"not-operator"}:{visible:!1,hiddenReason:"no-console"}}var G2="storefront-editor:save-as-template";var nc="ContactLocations",Kle="CityPictures",Vle="CityMaps",qle=[{key:Kle,label:"City pictures",desc:"A wall of city photos, grouped by region. Each photo links to its city's card."},{key:Vle,label:"City maps",desc:"A card per city, grouped by region: address, phone, hours and a map."}];function U2(e=Si){let o=Ea.find(t=>t.sections.some(a=>a.type===nc))?.key;return!e.includes(nc)||!o?[]:qle.map(({key:t,label:a,desc:r},n)=>({key:t,label:a,cat:o,after:nc,desc:r,alias:"locations offices stores branches",insert:s=>{let l=qa(nc);return l?Rp(nc,l,n)(s.nodeDefaults,s.newNodeId):null}}))}var Yle="plain",j2=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],Xle="line",Zle={KeyFeatures:"filled"};function sc(e){return Zle[e]??Yle}function Tje(e,o){return io(j2,sc(o),e)}function Pje(e){return io(j2,Xle,e)}function V2(e,{nodeDefaults:o,newNodeId:t,sectionLabel:a,blockIsOffered:r}){let n=Fs(e);if(n)return n(o,t,Op());if(dC(e)&&r(q)&&r(kn))return{type:q,props:{...o(q),id:t(q),direction:"column",name:`${a(e)} section`,content:[{type:kn,props:{...o(kn),id:t(kn),...Eo[e]?.headStyle?{headStyle:Eo[e].headStyle}:{},...Eo[e]?.headRowGap?{rowGap:Eo[e].headRowGap}:{},...Eo[e]?.headDescriptionSize?{descriptionSize:Eo[e].headDescriptionSize}:{},...sc(e)!==sc(kn)?{eyebrowLook:sc(e)}:{}}},{type:e,props:{...o(e),id:t(e),headPlacement:"own-box",...K2(e,t)}}]}};if(qt[e]?.fixed===!0)return{type:e,props:{...o(e),id:t(e),layout:"boxes"}};let s=K2(e,t);return Object.keys(s).length?{type:e,props:{...o(e),id:t(e),...s}}:null}function K2(e,o){return e==="Cards"?{template:Pc(t=>o(t))}:e===Js?{template:Rm(t=>o(t))}:{}}import{useEffect as Jle,useState as Qle}from"react";import{useEaselSession as eie}from"efficient-easel/screen/lib/session-context";function q2(){let e=eie().chrome?.products?.list,[o,t]=Qle(null);return Jle(()=>{if(!e)return;let a=!1;return e().then(r=>{a||t(r)}),()=>{a=!0}},[e]),o}function rM({mode:e,open:o}){let{setSelectedHeroId:t,setSelectHandler:a}=qO(),r=tM().tree,n=e,s=n.kind==="ticker"?n.heroId:null,l=Hs(c=>{c&&(o({kind:"ticker",heroId:c}),cie(c))},[o]);return Yt(()=>{t(s)},[s,t]),Yt(()=>{a(l)},[a,l]),{partRows:(c,{rowClick:d})=>{let f=String(c.props.id);return c.type==="Hero"&&II(c.props)&&uo(eM,{icon:uo(Kr,{type:"ticker",size:13}),name:i(Yl),onSelect:()=>l(f),selected:s===f,rowProps:{onClick:d(()=>l(f))},words:r})}}}function nM({mode:e,select:o}){let{setSelectedHeroPart:t,setSelectHandler:a}=Zf(),r=tM().tree,{appState:n}=oM(u=>u),s=n.data.content??[],l=oie(s);l.current=s;let c=e,d=Ur.find(u=>Jl[u]===c.kind),f=d&&"nodeId"in c?Ql(String(c.nodeId),d):null,m=Hs(u=>{let x=t_(u);if(!x)return;let g=l.current.findIndex(k=>String(k.props.id)===x.nodeId);if(g<0)return;let I={kind:Jl[x.part],nodeId:x.nodeId};o({index:g},I)},[o]);return Yt(()=>{t(f)},[f,t]),Yt(()=>{a(m)},[a,m]),{partRows:(u,{rowClick:x})=>{let g=String(u.props.id),I=o_(u);if(I.length===0)return null;let k=b=>{let v=Ql(g,b.part);return uo(eM,{icon:uo(Kr,{type:b.part==="media"?"heroMedia":"heroImage",size:13}),name:i(b.label),onSelect:()=>m(v),selected:f===v,rowProps:{onClick:x(()=>m(v))},words:r},v)},[C,...w]=I;return lc(Q2,{children:[k(C),w.length>0&&uo(sie,{children:w.map(k)})]})}}}function sM(e,o){return{partRows:(t,a)=>lc(Q2,{children:[e.partRows?.(t,a),o.partRows?.(t,a)]})}}function die(e){let{adapter:o,capabilities:t,currentSlug:a,siteId:r,docId:n,hasUnsavedEdits:s,bridgeCapabilities:l,notifyParent:c,token:d}=Yp(),{hasPreviewLink:f}=t,m=Ge(aM()).preview?.draftLink,u=ZD(e.data),x=z2({hasTrustedConsole:!!d,canCreatePlatformTemplate:l.canCreatePlatformTemplate,capabilities:t,siteId:r,hasUnsavedEdits:s}),g=Hs(()=>{!r||!a||c(G2,{siteId:r,slug:a})},[c,r,a]),I=OD({pageSlug:a,siteId:r,token:d}),k=o.previewHref?.(a)??I;return{barLead:()=>x.visible&&uo($2,{enabled:x.enabled,reason:x.enabled?"":x.disabledReason,onSaved:g}),barView:()=>f&&a&&uo(RD,{liveHref:k,pageId:n??null,draftLink:m}),mainAction:u}}function fie(e,o){let{capabilities:t,templateId:a,siteId:r,tokenRef:n,navigate:s}=Yp(),{hasSiteTheme:l,explainsSiteSettings:c}=t,d=b=>o.setView(b),[f,m]=Y2(is[0].id),[u,x]=Y2(!1),{surface:g,setSurface:I}=VO(),k=()=>{if(l){d("styles"),o.reveal(),X2();return}e.show(Ny),e.reveal(),X2()},C={id:"pages",label:i("Pages"),icon:uo(aie,{}),panel:({onHide:b})=>uo(NO,{activeSurface:g,onPreviewSurface:I,onNavigate:v=>{I(null),s(a?{kind:"template",id:a,pageSlug:v}:{kind:"page",slug:v,siteId:r??void 0})},onClose:b})},w=[];return!l&&c&&w.push({id:"appearance",label:i("Appearance"),icon:uo(nie,{}),active:e.kind==="website",onSelect:k}),l&&w.push({id:"styles",label:i("Styles"),icon:uo(rie,{}),panel:({onHide:b,notify:v})=>uo(OB,{tokenRef:n,siteId:r??void 0,onClose:b,onNotify:v,tab:f,onTabChange:m,revealPageGroup:u,onPageGroupRevealed:()=>x(!1)})}),{railLead:[C],railTrail:w,resolveLeftView:b=>I2(b,l),openSettings:k,openStyles:()=>{m(bO),d("styles")},openPageStyles:l?()=>{m(ds),x(!0),d("styles"),o.reveal()}:c?()=>{e.show(gB),e.reveal()}:void 0}}function uie(){let{navigate:e,siteId:o,reloadFromServer:t,docId:a}=Yp(),r=oM(s=>s.config),n=aM();Yt(()=>(th({openPage:s=>e({kind:"page",slug:s.slug,siteId:o??void 0}),reload:()=>{t()},config:r}),()=>th(null)),[e,o,t,r]),Yt(()=>{let s=It();if(!s||!a)return;let l=!1;return iie(n).list().then(c=>{l||s.learn(c)}).catch(()=>{}),()=>{l=!0}},[a,n])}function lM(){let e=xc();return Hs(o=>{G0(o,e)},[e])}function pie(e,o,t,a){let{kind:r,open:n}=e,{selected:s,zoneOf:l}=o;Yt(()=>{f2(s?.type==="BookingBox"&&s.props.region==="confirm"?u2(l(String(s.props.id))):null)},[s?.props.id]);let c=XB(e,o),{capabilities:{hasSiteSettings:d}}=Yp();uie();let{chat:f,setChat:m,setSelected:u,setSelectHandler:x}=Xf(),g=Hs(()=>n(IB),[n]),I=r==="chat";Yt(()=>{u(I)},[I,u]),Yt(()=>{x(g)},[x,g]);let{setOpenHandler:k}=ql(),C=Hs(()=>n(bB),[n]);Yt(()=>{k(C)},[k,C]);let w=sM(rM(e),nM(e)),b=die(o),v=fie(e,a),P=t.device,F=lM();return{...w,...b,...v,hasOwnRows:T=>T.type===Ep,ownRows:c.renderLocationTree,sectionPressed:c.sectionPressed,onCopyItem:F,wrap:T=>uo(dm.Provider,{value:!0,children:lc(lie.Provider,{value:P,children:[T,uo(nN,{})]})}),addPanelRow:T=>d?lc("div",{className:"sf-addside-sitewide",children:[uo("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:uo(Kr,{type:"chat",size:16})}),lc("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{T(),g()},children:[i("Live chat"),uo("span",{className:"sf-addside-sitewide-desc",children:i("A chat bubble on every page")})]}),uo(tie,{checked:f.enabled,onChange:D=>m({enabled:D}),ariaLabel:i("Show the chat bubble on the whole site")})]}):void 0}}var Z2=null,SS=new WeakMap;function mie(e){let o=lw();if(!e||!o)return e;Z2!==o&&(Z2=o,SS=new WeakMap);let t=SS.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},SS.set(e,t)),t}var hie={isLockedBlock:(e,o)=>y2(e,o)||!!(o&&It()?.heldElsewhere(o.props.id)),duplicateBlocked:Nu,nestDepth:(e,o,t)=>o===jc?Ov(e,t):0,newSectionNode:V2,canAddTo:(e,o,t,a)=>mie(c2(e,o,a,t)),blockIsOffered:l2,slotsOf:d2,resolveOnInsert:!0},xie=new Proxy(M2,{get:(e,o)=>{let t=Reflect.get(e,o);return typeof t=="string"?i(t):t}}),gie={labelAtLevel:(e,o,t)=>i(mm(e,o,t)),descriptions:xie,categoryLabel:e=>{let o=sN(e);return o===void 0?void 0:i(o)},firstSection:lN,blockRowName:p2,rowName:m2,plainText:mr,Icon:Kr,Thumbnail:PB,useProducts:q2,presets:U2()},Iie={desktop:2e3,tablet:800,mobile:390},J2="desktop",bie={options:GO,initial:J2,fluid:J2,widths:Iie,hidesPerView:!0},yie={read:x2,write:e=>g2(e),forSelection:(e,o)=>b2(e,o)},Sie={first:Ho,last:He,firstGroup:Ne,lastGroup:Ae,isSectionGroup:Pn,sectionGroupZone:DC,panelOf:e=>e===Ho?xB:null,get sharedReach(){return Zr()?Cie:void 0},get shared(){return It()?w2:void 0},get groupTab(){return Zr()?mA:void 0},get groupBadge(){return Zr()?kb({type:Ae})??void 0:void 0},get changeNotice(){return Zr()?hA():void 0},get band(){return Zr()?wie:void 0},get groupAccepts(){return Zr()?HC:void 0}},wie={foldable:!0},Cie=e=>kb(e)??S2(e);function vie(e){return{...sM(rM(e),nM(e)),onCopyItem:lM(),openSettings:()=>e.show(Ny)}}function kie(e,o){nD(e,o),vD()}var QKe={useOwnerName:fs,useDocumentLabel:kO,useBridges:pie,useStandaloneBridges:vie,useDocumentPass:kie,blockRules:hie,blockLook:gie,devices:bie,leftView:yie,pinned:Sie,Canvas:B2,canvasDrag:{media:N2},Inspector:SB};export{Pa as a,ee as b,ko as c,FM as d,mt as e,Gs as f,qie as g,pw as h,Yie as i,BM as j,Xie as k,Zie as l,gc as m,mw as n,Jie as o,lo as p,$M as q,Qie as r,oce as s,tce as t,ace as u,bc as v,Qt as w,le as x,q as y,Iw as z,dce as A,yw as B,pce as C,mce as D,ur as E,Aw as F,mr as G,io as H,Im as I,bm as J,SH as K,yc as L,Ace as M,Ks as N,Rce as O,Bw as P,Bce as Q,Dw as R,hr as S,Dce as T,Nce as U,Mce as V,Sc as W,$ce as X,zo as Y,qs as Z,qce as _,RH as $,MH as aa,Yce as ba,Xce as ca,wm as da,Zce as ea,HH as fa,Qce as ga,GH as ha,ede as ia,jH as ja,ode as ka,tde as la,Om as ma,qw as na,Yw as oa,Xw as pa,ade as qa,rde as ra,nde as sa,sde as ta,lde as ua,JH as va,ide as wa,cde as xa,Qw as ya,QH as za,dde as Aa,fde as Ba,oC as Ca,$ as Da,Y as Ea,kc as Fa,_ as Ga,Ze as Ha,W as Ia,ht as Ja,Po as Ka,Zs as La,ce as Ma,Sr as Na,Tc as Oa,n4 as Pa,nC as Qa,Ude as Ra,Lm as Sa,p4 as Ta,Fm as Ua,Bm as Va,Qs as Wa,ao as Xa,qde as Ya,m4 as Za,Eo as _a,Oc as $a,Jde as ab,fC as bb,Qde as cb,efe as db,Je as eb,Oo as fb,So as gb,Nm as hb,hC as ib,el as jb,xC as kb,bfe as lb,yfe as mb,T4 as nb,gC as ob,bC as pb,Sfe as qb,wfe as rb,Mm as sb,P4 as tb,O4 as ub,SC as vb,Hm as wb,gt as xb,_c as yb,wC as zb,Wm as Ab,Cfe as Bb,vfe as Cb,kfe as Db,Gm as Eb,Tfe as Fb,ol as Gb,Pfe as Hb,Efe as Ib,Ofe as Jb,hb as Kb,Ge as Lb,rd as Mb,j as Nb,Hu as Ob,HFe as Pb,Kt as Qb,Vt as Rb,go as Sb,XFe as Tb,w_e as Ub,ai as Vb,ri as Wb,y_ as Xb,C_e as Yb,S_ as Zb,v_e as _b,mY as $b,w_ as ac,k_e as bc,k_ as cc,sD as dc,K3e as ec,Eie as fc,re as gc,i as hc,vo as ic,lD as jc,Y3e as kc,Zv as lc,Zo as mc,qk as nc,Uxe as oc,sx as pc,xW as qc,jxe as rc,mo as sc,Fz as tc,Rx as uc,_be as vc,iP as wc,Lbe as xc,Ct as yc,Bbe as zc,Dbe as Ac,Nbe as Bc,Fd as Cc,Mbe as Dc,Bd as Ec,Hbe as Fc,Wbe as Gc,fP as Hc,uP as Ic,$z as Jc,zz as Kc,Ube as Lc,Kbe as Mc,Vbe as Nc,qbe as Oc,Ybe as Pc,pP as Qc,Lr as Rc,qz as Sc,Jbe as Tc,Yz as Uc,Qbe as Vc,co as Wc,Xz as Xc,eye as Yc,oye as Zc,tye as _c,aye as $c,rye as ad,nye as bd,Un as cd,sye as dd,ke as ed,lu as fd,ni as gd,iu as hd,N_e as id,mye as jd,hye as kd,Sf as ld,Me as md,pke as nd,mke as od,hke as pd,lE as qd,wd as rd,MIe as sd,U$ as td,OT as ud,HIe as vd,WIe as wd,TA as xd,ik as yd,La as zd,Ame as Ad,Da as Bd,v6 as Cd,Rme as Dd,Lme as Ed,fk as Fd,dk as Gd,_h as Hd,T6 as Id,Fme as Jd,Bme as Kd,Dme as Ld,Nme as Md,Q$ as Nd,gx as Od,Td as Pd,wl as Qd,ebe as Rd,yx as Sd,obe as Td,Cl as Ud,WT as Vd,$T as Wd,tbe as Xd,zT as Yd,UT as Zd,PA as _d,Wu as $d,_A as ae,lBe as be,iBe as ce,Tl as de,zt as ee,ul as fe,$me as ge,zme as he,J as ie,ae as je,oe as ke,de as le,ie as me,ye as ne,ABe as oe,vi as pe,ki as qe,FA as re,BBe as se,GQ as te,BA as ue,MBe as ve,HBe as we,DA as xe,Ab as ye,zBe as ze,GBe as Ae,UBe as Be,jBe as Ce,KBe as De,VBe as Ee,qc as Fe,XBe as Ge,ZBe as He,NA as Ie,JBe as Je,KQ as Ke,VQ as Le,QBe as Me,qQ as Ne,eDe as Oe,XQ as Pe,rDe as Qe,nDe as Re,ZQ as Se,sDe as Te,lDe as Ue,iDe as Ve,cDe as We,dDe as Xe,fDe as Ye,uDe as Ze,pDe as _e,Lb as $e,HA as af,iee as bf,yDe as cf,SDe as df,an as ef,Es as ff,oNe as gf,tNe as hf,aNe as if,yR as jf,SR as kf,Zee as lf,SNe as mf,wR as nf,CR as of,vR as pf,vNe as qf,PNe as rf,tp as sf,kR as tf,eoe as uf,ENe as vf,o$ as wf,wt as xf,Jge as yf,Qge as zf,eIe as Af,oIe as Bf,xd as Cf,tIe as Df,Od as Ef,vl as Ff,hbe as Gf,xbe as Hf,gbe as If,YT as Jf,XT as Kf,ZT as Lf,Ibe as Mf,Ne as Nf,Ae as Of,qfe as Pf,NC as Qf,Bc as Rf,gA as Sf,jNe as Tf,KNe as Uf,BR as Vf,VNe as Wf,qNe as Xf,Yn as Yf,ml as Zf,og as _f,rg as $f,sf as ag,Tt as bg,wCe as cg,CCe as dg,vCe as eg,kCe as fg,Kj as gg,Vj as hg,TCe as ig,Xn as jg,sg as kg,PCe as lg,ECe as mg,Af as ng,Rf as og,es as pg,Fg as qg,y8 as rg,Qn as sg,Hg as tg,Wg as ug,as as vg,Wr as wg,dTe as xg,$l as yg,FE as zg,fTe as Ag,Yg as Bg,uTe as Cg,pTe as Dg,mTe as Eg,rV as Fg,hTe as Gg,iV as Hg,cV as Ig,xTe as Jg,gTe as Kg,fV as Lg,or as Mg,p2e as Ng,m2e as Og,h2e as Pg,np as Qg,poe as Rg,moe as Sg,x2e as Tg,g2e as Ug,Qb as Vg,Jb as Wg,ci as Xg,P1 as Yg,E1 as Zg,di as _g,d1 as $g,lb as ah,EAe as bh,gs as ch,cb as dh,p1 as eh,m1 as fh,IZ as gh,h1 as hh,xu as ih,x1 as jh,F2e as kh,ZR as lh,B2e as mh,D2e as nh,N2e as oh,Di as ph,lp as qh,U2e as rh,Ia as sh,Q2e as th,eMe as uh,nL as vh,ba as wh,Io as xh,cp as yh,lL as zh,sMe as Ah,dp as Bh,iL as Ch,fMe as Dh,TMe as Eh,yL as Fh,py as Gh,SL as Hh,AMe as Ih,RMe as Jh,LMe as Kh,my as Lh,FMe as Mh,BMe as Nh,wL as Oh,ite as Ph,xp as Qh,hHe as Rh,ig as Sh,DCe as Th,cg as Uh,P0 as Vh,kHe as Wh,oF as Xh,tF as Yh,UHe as Zh,gp as _h,rF as $h,nF as ai,qHe as bi,vte as ci,kte as di,Tte as ei,YHe as fi,s4e as gi,Rte as hi,Lte as ii,pF as ji,l4e as ki,i4e as li,P4e as mi,BF as ni,E4e as oi,DF as pi,_4e as qi,oae as ri,jF as si,W4e as ti,sB as ui,P$e as vi,M$e as wi,lS as xi,H$e as yi,W$e as zi,dN as Ai,K$e as Bi,V$e as Ci,xN as Di,q$e as Ei,Ok as Fi,cO as Gi,tPe as Hi,aPe as Ii,GV as Ji,rPe as Ki,nPe as Li,sPe as Mi,lPe as Ni,UV as Oi,iPe as Pi,cPe as Qi,dPe as Ri,fPe as Si,qV as Ti,uPe as Ui,Vne as Vi,yN as Wi,Q$e as Xi,tc as Yi,Ra as Zi,Eue as _i,l5 as $i,dh as aj,nl as bj,Oue as cj,Rue as dj,c5 as ej,pv as fj,Lue as gj,vr as hj,m5 as ij,Hue as jj,Wue as kj,sl as lj,$ue as mj,zue as nj,hh as oj,Iv as pj,Yue as qj,JO as rj,yEe as sj,bI as tj,jr as uj,vEe as vj,kEe as wj,Uq as xj,TEe as yj,Ql as zj,t_ as Aj,a_ as Bj,fze as Cj,dS as Dj,PN as Ej,pn as Fj,cS as Gj,Qne as Hj,uze as Ij,Np as Jj,ac as Kj,Mp as Lj,pze as Mj,mze as Nj,D4 as Oj,Nfe as Pj,N4 as Qj,M4 as Rj,Wfe as Sj,H4 as Tj,W4 as Uj,$fe as Vj,zfe as Wj,Gfe as Xj,Ufe as Yj,ON as Zj,rc as _j,Ms as $j,_N as ak,$p as bk,zp as ck,Gp as dk,AN as ek,RN as fk,LN as gk,FN as hk,BN as ik,MN as jk,HN as kk,Nze as lk,Mze as mk,Hze as nk,Wze as ok,St as pk,Ise as qk,jN as rk,yse as sk,VN as tk,qN as uk,XN as vk,_se as wk,pGe as xk,_n as yk,kv as zk,vv as Ak,S5 as Bk,w5 as Ck,C5 as Dk,npe as Ek,v5 as Fk,spe as Gk,ll as Hk,lpe as Ik,ipe as Jk,jc as Kk,Ov as Lk,XO as Mk,hEe as Nk,wGe as Ok,CGe as Pk,Dse as Qk,ale as Rk,hz as Sk,Wn as Tk,cbe as Uk,upe as Vk,yh as Wk,ppe as Xk,mpe as Yk,ea as Zk,Bv as _k,Av as $k,Ch as al,A5 as bl,ype as cl,Kc as dl,Nv as el,R5 as fl,L5 as gl,F5 as hl,Cpe as il,vpe as jl,kpe as kl,Tpe as ll,fbe as ml,ube as nl,pbe as ol,due as pl,mue as ql,Pd as rl,nbe as sl,sbe as tl,lbe as ul,WUe as vl,IRe as wl,T1 as xl,Yl as yl,cEe as zl,qO as Al,dEe as Bl,fEe as Cl,uEe as Dl,K6e as El,_B as Fl,AB as Gl,RB as Hl,gP as Il,pG as Jl,No as Kl,sa as Ll,Nd as Ml,Md as Nl,kye as Ol,Tye as Pl,Eye as Ql,Oye as Rl,_ye as Sl,Aye as Tl,Rye as Ul,Fye as Vl,Wd as Wl,bP as Xl,Bx as Yl,hG as Zl,yP as _l,SP as $l,Jue as am,tpe as bm,Vc as cm,Yc as dm,cl as em,zv as fm,Dpe as gm,Npe as hm,qv as im,Th as jm,S6 as km,wme as lm,jme as mm,Jme as nm,Qme as om,V6 as pm,Bo as qm,pl as rm,$h as sm,zh as tm,Gh as um,Rhe as vm,Lhe as wm,Pk as xm,Fhe as ym,Bhe as zm,Dhe as Am,Rk as Bm,Fk as Cm,ta as Dm,zk as Em,vW as Fm,nge as Gm,Qk as Hm,uge as Im,oT as Jm,nT as Km,sT as Lm,lT as Mm,iT as Nm,cT as Om,dT as Pm,ix as Qm,GW as Rm,UW as Sm,Il as Tm,cx as Um,uT as Vm,Bge as Wm,KW as Xm,Dge as Ym,Nge as Zm,Mge as _m,mT as $m,zge as an,YW as bn,Gge as cn,Uge as dn,ZW as en,dx as fn,QW as gn,qge as hn,e$ as in,Yge as jn,px as kn,dIe as ln,bT as mn,n$ as nn,uIe as on,bl as pn,b$ as qn,RIe as rn,q$ as sn,qIe as tn,X$ as un,YIe as vn,XIe as wn,ZIe as xn,Gn as yn,Rd as zn,vbe as An,kbe as Bn,Tbe as Cn,nP as Dn,Ebe as En,ja as Fn,fa as Gn,Br as Hn,dwe as In,fwe as Jn,uwe as Kn,pwe as Ln,mwe as Mn,hwe as Nn,xwe as On,ywe as Pn,Swe as Qn,_U as Rn,wwe as Sn,Cwe as Tn,vwe as Un,kwe as Vn,Twe as Wn,Pwe as Xn,Ewe as Yn,Owe as Zn,FU as _n,_we as $n,jx as ao,Awe as bo,qd as co,Ko as do,ca as eo,QP as fo,qh as go,e0 as ho,Xd as io,Rwe as jo,Lwe as ko,tj as lo,Fwe as mo,Bwe as no,Dwe as oo,Nwe as po,Mwe as qo,Hwe as ro,et as so,Wwe as to,$we as uo,$d as vo,Jd as wo,Qd as xo,qx as yo,of as zo,zwe as Ao,bj as Bo,Gwe as Co,yj as Do,Uwe as Eo,jwe as Fo,c0 as Go,Kwe as Ho,Vwe as Io,qwe as Jo,Ywe as Ko,Xwe as Lo,Zwe as Mo,Jx as No,Jwe as Oo,f0 as Po,u0 as Qo,p0 as Ro,Qwe as So,eg as To,Lj as Uo,eCe as Vo,oCe as Wo,tAe as Xo,i1 as Yo,Vo as Zo,si as _o,hX as $o,H_ as ap,u1e as bp,p1e as cp,m1e as dp,h1e as ep,G_ as fp,b1e as gp,y1e as hp,S1e as ip,bE as jp,yE as kp,qf as lp,MO as mp,HO as np,$O as op,Yf as pp,j0e as qp,K0e as rp,Xf as sp,Bq as tp,tEe as up,ql as vp,sEe as wp,VO as xp,Tn as yp,F4 as zp,Ffe as Ap,Bfe as Bp,eFe as Cp,oFe as Dp,tFe as Ep,IEe as Fp,Zf as Gp,Hie as Hp,Xj as Ip,VCe as Jp,qCe as Kp,A0 as Lp,YCe as Mp,XCe as Np,zE as Op,_Te as Pp,ATe as Qp,RTe as Rp,LTe as Sp,iO as Tp,CPe as Up,vPe as Vp,n_ as Wp,c_e as Xp,u_ as Yp,ui as Zp,tJ as _p,aJ as $p,RRe as aq,HRe as bq,wu as cq,He as dq,Du as eq,Rt as fq,BB as gq,Gi as hq,DB as iq,NB as jq,Z6e as kq,J6e as lq,kD as mq,tS as nq,TD as oq,c2 as pq,XGe as qq,m2 as rq,y2 as sq,jp as tq,Yse as uq,Xse as vq,uUe as wq,Rie as xq,Die as yq,Yle as zq,j2 as Aq,Xle as Bq,sc as Cq,Tje as Dq,Pje as Eq,QKe as Fq};