efficient-storefront-blocks 0.88.0 → 0.90.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 (126) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/chunks/{EditorPreviewCheckout-ZGPS3Q3X.js → EditorPreviewCheckout-M4LID5YF.js} +1 -1
  3. package/dist/chunks/{SiteEditorProvider-HZ47WOEX.js → SiteEditorProvider-2JWQZN2Q.js} +1 -1
  4. package/dist/chunks/chunk-3XIZADE6.js +1 -0
  5. package/dist/chunks/chunk-6TDIG6W3.js +395 -0
  6. package/dist/chunks/chunk-JMUP4FBL.js +1 -0
  7. package/dist/chunks/{chunk-7C2YH2AQ.js → chunk-U6UPMVSX.js} +1 -1
  8. package/dist/chunks/{fitment-data-SH4US3BV.js → fitment-data-3VLLTJW6.js} +1 -1
  9. package/dist/contract.js +2 -2
  10. package/dist/editor/components/GalleryPicturesSource.d.ts +33 -0
  11. package/dist/editor/components/GalleryPicturesSource.js +1 -0
  12. package/dist/editor/components/ProductSourceRows.d.ts +35 -0
  13. package/dist/editor/components/ProductSourceRows.js +1 -0
  14. package/dist/editor/components/ReviewsProductSource.js +1 -1
  15. package/dist/editor/lib/document/blocks/commerce/GalleryB/fields.js +1 -1
  16. package/dist/editor/lib/document/blocks/service/FooterDivider/fields.js +1 -1
  17. package/dist/editor/lib/document/config.d.ts +1 -0
  18. package/dist/editor/lib/document/config.js +1 -1
  19. package/dist/editor/lib/efficient-backend.d.ts +0 -1
  20. package/dist/editor/lib/efficient-backend.js +1 -1
  21. package/dist/editor/lib/storefront-editor-words.d.ts +1 -0
  22. package/dist/editor/lib/storefront-editor-words.js +1 -1
  23. package/dist/editor.css +1 -1
  24. package/dist/index.js +62 -43
  25. package/dist/links.js +1 -1
  26. package/dist/render/built-with.json +1 -1
  27. package/dist/render/components/AppointmentBooking.js +1 -1
  28. package/dist/render/components/ArticleBody.js +1 -1
  29. package/dist/render/components/BoxHeaderBar.js +1 -1
  30. package/dist/render/components/CollectionCard.d.ts +1 -1
  31. package/dist/render/components/CollectionCard.js +1 -1
  32. package/dist/render/components/ContactRouting.js +1 -1
  33. package/dist/render/components/EuTyreLabels.d.ts +2 -1
  34. package/dist/render/components/EuTyreLabels.js +1 -1
  35. package/dist/render/components/Events.js +1 -1
  36. package/dist/render/components/FooterDivider.d.ts +1 -2
  37. package/dist/render/components/FooterDivider.js +1 -1
  38. package/dist/render/components/FooterEmailSignup.js +1 -1
  39. package/dist/render/components/FooterGroup.js +1 -1
  40. package/dist/render/components/FooterLogo.js +1 -1
  41. package/dist/render/components/FooterMenu.js +1 -1
  42. package/dist/render/components/FooterMessaging.js +1 -1
  43. package/dist/render/components/FooterPayment.js +1 -1
  44. package/dist/render/components/FooterSection.js +1 -1
  45. package/dist/render/components/FooterSocial.js +1 -1
  46. package/dist/render/components/FooterText.js +1 -1
  47. package/dist/render/components/GalleryCard.js +1 -1
  48. package/dist/render/components/GalleryGrid.d.ts +3 -1
  49. package/dist/render/components/GalleryGrid.js +3 -1
  50. package/dist/render/components/GalleryItem.d.ts +1 -0
  51. package/dist/render/components/GalleryItem.js +1 -1
  52. package/dist/render/components/GalleryShowcase.js +1 -1
  53. package/dist/render/components/GridCardTemplate.js +1 -1
  54. package/dist/render/components/HeaderNavItem.d.ts +1 -1
  55. package/dist/render/components/HeaderNavItem.js +1 -1
  56. package/dist/render/components/HeaderToolBlocks.js +1 -1
  57. package/dist/render/components/HeaderTools.d.ts +5 -3
  58. package/dist/render/components/HeaderTools.js +1 -1
  59. package/dist/render/components/LegalLine.js +1 -1
  60. package/dist/render/components/MenuLinkBlock.js +1 -1
  61. package/dist/render/components/MenuPlaceholderLabel.js +1 -1
  62. package/dist/render/components/ProductGallery.d.ts +2 -1
  63. package/dist/render/components/ProductGallery.js +1 -1
  64. package/dist/render/components/ProductRef.js +1 -1
  65. package/dist/render/components/QuoteLink.d.ts +2 -1
  66. package/dist/render/components/QuoteLink.js +1 -1
  67. package/dist/render/components/RatingStars.js +1 -1
  68. package/dist/render/components/ReviewForm.js +1 -1
  69. package/dist/render/components/SectionBand.js +1 -1
  70. package/dist/render/components/SectionFootnote.d.ts +2 -1
  71. package/dist/render/components/SectionFootnote.js +1 -1
  72. package/dist/render/components/SectionGroupBody.js +1 -1
  73. package/dist/render/components/SectionNotice.js +1 -1
  74. package/dist/render/components/TyreFitVerdicts.js +1 -1
  75. package/dist/render/components/booking/BookingBox.js +1 -1
  76. package/dist/render/components/booking/BookingRegions.js +1 -1
  77. package/dist/render/components/card-pieces/CardBuyButton.d.ts +3 -1
  78. package/dist/render/components/card-pieces/CardBuyButton.js +1 -1
  79. package/dist/render/components/card-pieces/CardEyebrow.js +1 -1
  80. package/dist/render/components/card-pieces/CardName.js +1 -1
  81. package/dist/render/components/card-pieces/CardPrice.js +1 -1
  82. package/dist/render/components/card-pieces/CardProductPicture.js +1 -1
  83. package/dist/render/components/card-pieces/CardSpecs.js +1 -1
  84. package/dist/render/components/card-pieces/HostPart.js +1 -1
  85. package/dist/render/components/card-pieces/card-row.js +1 -1
  86. package/dist/render/components/catalog/ShopperChips.js +1 -1
  87. package/dist/render/components/catalog/ShopperFilters.js +1 -1
  88. package/dist/render/components/fitment/FitmentPickerGrid.js +1 -1
  89. package/dist/render/components/fitment/StockFitmentCard.js +1 -1
  90. package/dist/render/components/fitment/StockFitmentPart.js +1 -1
  91. package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.d.ts +4 -0
  92. package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -1
  93. package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -1
  94. package/dist/render/components/pdp-dynamic/DynamicProductGallery.js +1 -1
  95. package/dist/render/components/submit/SubmitBox.js +1 -1
  96. package/dist/render/lib/content/served-lists.d.ts +8 -0
  97. package/dist/render/lib/content/served-lists.js +1 -0
  98. package/dist/render/lib/document/blocks/commerce/GalleryB/render.js +1 -1
  99. package/dist/render/lib/document/blocks/commerce/ProductHero/render.js +1 -1
  100. package/dist/render/lib/document/blocks/commerce/ProductPrice/render.js +1 -1
  101. package/dist/render/lib/document/blocks/service/Events/render.js +1 -1
  102. package/dist/render/lib/document/blocks/service/FooterDivider/meta.js +1 -1
  103. package/dist/render/lib/document/blocks/service/FooterDivider/render.js +1 -1
  104. package/dist/render/lib/document/blocks/service/RatingBlock/render.js +1 -1
  105. package/dist/render/lib/document/card-templates.d.ts +2 -0
  106. package/dist/render/lib/document/card-templates.js +1 -1
  107. package/dist/render/lib/document/lazy-draws.js +1 -1
  108. package/dist/render/lib/document/render-config.d.ts +1 -0
  109. package/dist/render/lib/document/render-config.js +1 -1
  110. package/dist/render/lib/document/section-to-box-rows-productgrid.d.ts +1 -0
  111. package/dist/render/lib/document/section-to-box-rows-productgrid.js +1 -0
  112. package/dist/render/lib/sections/product-pictures.d.ts +25 -0
  113. package/dist/render/lib/sections/product-pictures.js +1 -0
  114. package/dist/render/lib/sections/product-source.d.ts +8 -0
  115. package/dist/render/lib/sections/product-source.js +1 -0
  116. package/dist/render/lib/sections/reviews.js +1 -1
  117. package/dist/words.d.ts +11 -0
  118. package/dist/words.js +5 -5
  119. package/package.json +5 -4
  120. package/dist/chunks/chunk-O7GCI2MP.js +0 -1
  121. package/dist/chunks/chunk-RHNDIM7Z.js +0 -382
  122. package/dist/chunks/chunk-VOK5N3IB.js +0 -1
  123. /package/dist/chunks/{chunk-RHNDIM7Z.js.LEGAL.txt → chunk-6TDIG6W3.js.LEGAL.txt} +0 -0
  124. /package/dist/chunks/{chunk-NQLVRCTI.js → chunk-N445XY3W.js} +0 -0
  125. /package/dist/editor/lib/{editor-words-kept.d.ts → storefront-editor-words-kept.d.ts} +0 -0
  126. /package/dist/editor/lib/{editor-words-kept.js → storefront-editor-words-kept.js} +0 -0
@@ -0,0 +1,395 @@
1
+ import{$ as Ft,A as In,Aa as DS,B as gn,Ca as ic,D as SS,Ea as Ca,G as Ns,Ga as va,Ha as cc,I as wS,Ia as NS,J as Yp,Ka as MS,M as nc,N as CS,O as vS,Oa as he,P as kS,Q as sc,R as TS,S as PS,Sa as zS,Ta as GS,U as ES,V as Xp,Va as dc,Wa as US,X as OS,Xa as jS,Y as qo,Z as sr,_ as _S,a as dt,aa as lc,ab as KS,b as mn,c as xS,d as Xt,da as AS,e as Kp,ea as Jp,f as hn,ha as RS,ia as Zp,j as Ds,ka as Qp,l as wa,m as Vp,oa as LS,s as IS,t as gS,u as qp,ua as lr,v as eo,w as bS,wa as FS,x as yS,y as xn,ya as BS,z as Ao}from"./chunk-JMUP4FBL.js";import{d as HS,e as ka,f as WS,g as $S,j as bn,n as em}from"./chunk-N445XY3W.js";var ee=e=>typeof e=="string"&&e?e:void 0;var qS="en",fc=null,YS=qS,XS=null;function Xle(e,o,t){fc=e??null,YS=o||qS,XS=t??null}function re(){return XS}function om(){return YS}function JS(){return fc}function VS(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=fc?fc[e]:void 0;if(typeof t=="function"){try{let a=ee(t(o??{}));if(a)return a}catch{}return VS(e,o)}return VS(ee(t)??e,o)}function vo(e,o,t,a){return i(t===1?e:o,{...a,n:t})}import{jsx as tm,Fragment as rM,jsxs as nM}from"react/jsx-runtime";import{createContext as sM,useContext as lM}from"react";var iM={mirrorHostStyles:!0,css:null,fontHrefs:[]},ZS=sM(iM);function eie({value:e,children:o}){return tm(ZS.Provider,{value:e,children:o})}function am(){return lM(ZS)}function QS(){let{css:e,fontHrefs:o}=am();return nM(rM,{children:[o.map(t=>tm("link",{rel:"stylesheet",href:t},t)),e?tm("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as cM}from"react/jsx-runtime";import{createContext as dM,useContext as fM}from"react";var ew=dM(void 0);function rie({metadata:e,children:o}){return cM(ew.Provider,{value:e,children:o})}var ow=()=>fM(ew);import{jsx as uo,Fragment as N2,jsxs as ac}from"react/jsx-runtime";import{useCallback as Fs,useEffect as qt,useRef as Cle,useState as L2}from"react";import{SettingsSwitch as vle}from"efficient-easel/panel";import{PagesIcon as kle,StylesIcon as Tle}from"efficient-easel/rail";import{PaletteIcon as Ple}from"efficient-shell/icons/efficient";import{Subtree as Ele,TreeRow as M2}from"efficient-easel/tree";import{useEasel as H2}from"efficient-easel/easel";import{useEaselStrings as W2}from"efficient-easel/strings";import{createContext as uM,useContext as pM}from"react";var rm=uM(!1),lie=()=>pM(rm);import{useMemo as mM,useRef as hM}from"react";import{useEaselApi as xM}from"efficient-easel/easel";import{useSectionOps as IM}from"efficient-easel/screen/lib/document/use-section-ops";function uc(){let e=xM(),o=IM(),t=hM(o);return t.current=o,mM(()=>({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 Kj}from"efficient-easel/draw";import{insertAt as Vj,moveTo as qj,removeAt as Yj}from"efficient-easel/fields";function Ta(e,o){let t=globalThis,a=Symbol.for(e),r=t[a];return r===void 0&&(r=o(),t[a]=r),r}var Bt="dataSource",Ms="dataSourceOptions",gM="dataRows",ft="countKey",Hs="counts",xie="location-payment-methods",aw="shop-payment-methods";function bM(e){return typeof e.open=="function"}var yM=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;function Ws(){return Ta("efficient.block-sources",()=>({sources:new Map,revision:0}))}var SM=e=>[e?.key,e?.label,e?.value].every(o=>typeof o=="string"&&o.trim()!==""),wM=e=>[e?.key,e?.label].every(o=>typeof o=="string"&&o.trim()!==""),tw=e=>typeof e=="string"&&e.trim()!=="";function CM(e){if(!e||!tw(e.label))return null;if(bM(e))return{label:e.label.trim(),open:e.open};let o=e.href;return tw(o)?{label:e.label.trim(),href:o.trim()}:null}function vM(e){if(typeof e.key!="string"||!yM.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=CM(e.edit);return{key:e.key,label:e.label.trim(),blocks:[...e.blocks],...e.sample?{sample:e.sample.map(t=>nw(t)).filter(t=>t!==null)}:{},...Array.isArray(e.choices)?{choices:e.choices.filter(SM)}:{},...Array.isArray(e.fields)?{fields:e.fields.filter(wM).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 Iie(e){let o=e.map(vM),t=Ws();for(let a of o)t.sources.set(a.key,a);o.length&&(t.revision+=1)}function gie(e){let o=[...Ws().sources.values()];return e===void 0?o:o.filter(t=>t.blocks.includes(e))}function pc(e){return Ws().sources.get(e)??null}function rw(e){return Ws().sources.get(e)?.choices??[]}function bie(){return Ws().revision}function so(e){let o=e?.[Bt];return typeof o=="string"?o.trim():""}function nw(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 kM(e){let o=e?.[gM];return Array.isArray(o)?o.map(nw).filter(t=>t!==null):null}function yie(e,o,t=[]){let a=kM(e);if(a!==null&&(a.length||!o))return{rows:a,sample:!1};if(!o)return{rows:[],sample:!1};let r=pc(so(e))?.sample;return{rows:r?.length?r:t,sample:!0}}import{isNodeList as l4}from"efficient-easel/data";var sw=["general","commerce","service"],Pa=[{key:"openers",title:"Hero & intros",defaultExpanded:!0,templateable:!0,sections:[{type:"Hero",label:"Hero",set:"general"},{type:"HeroSingle",label:"Hero Single",set:"general"},{type:"IntroBleed",label:"Scroll-Over Text",set:"general"}]},{key:"shop",title:"Shop & galleries",templateable:!0,sections:[{type:"Collections",label:"Collections",set:"commerce"},{type:"AlloyWheelsListing",label:"List",set:"commerce"},{type:"CatalogFilterBar",label:"Catalog Filter Bar",set:"commerce"},{type:"ProductGrid",label:"Product Grid",set:"commerce"},{type:"FitmentFinder",label:"Fitment Form",set:"commerce"},{type:"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 wie(){return Object.fromEntries(Pa.map(e=>[e.key,{title:e.title,components:e.sections.map(o=>o.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var nm={Masthead:`Owner, 2026-10-10 (the page headers become ONE Layouts row): Issue Header and Document Header are one Page Header. Retired from the Add menu with no second preset (reviewer, 2026-11-06).
2
+
3
+ WHAT REPLACES IT: Page Header, a Box of Text blocks: a Header Box (the eyebrow, the title, a Details Box of one Text per line) over a Deck Box. Every Issue Header field is plain words with no data source, so the merchant makes the issue shape from Text blocks in that Box: the issue lines are Details lines, the lead is the Deck, and the "In this issue" panel is a Box of Texts beside it. Its converter row (\`section-to-box-rows-pageheader\` \`masthead\`, OFF) stays for a stored page that moves later.
4
+
5
+ WHAT A MERCHANT LOSES: a press that lays down the two-row issue shape with its "In this issue" panel; the merchant builds it from Boxes and Text blocks. No field is lost.
6
+
7
+ 1 Issue Header is stored on the US sites (journal, draft and published; read only, 2026-11-07). Old sites stay as they are (owner, 2026-11-06).
8
+
9
+ THE TYPE KEY STAYS AND SO DOES THE COMPONENT. A page holding an Issue Header still renders through it and can still be edited; no document is rewritten.`,Grid:'Lewis, 2026-09-14: Box and Grid duplicate each other and it feels confusing. 2026-09-15 he chose the order: give Box uneven widths FIRST, then merge Grid into Box. Shown three ways to pick the widths (mockup "Uneven Box Widths"), he chose A \u2014 shape pictures on the Box\'s `Block widths` row, the same "a row is a shape, pick a picture of it" rule he set for the photo wall on 2026-09-07.\n\nWHAT REPLACES IT: a Box set to One row, with `Block widths` at Equal or Custom, and its own `Columns` in the Phone view. Measured on PRODUCTION 2026-09-16 ~09:28 AEST (database `efficient-system`, all 10 tenant schemas, 128 storefront pages, both `layout` and `published_layout` \u2014 256 documents): 2 Grid nodes, and they are ONE Grid counted twice \u2014 the 9DIEM homepage on 9diem.com (`xtreme_mudder` schema), once as draft and once as published. It is top-level, holds three `ImageBlock`s at `columns` 3 \u2014 equal thirds \u2014 and NO block sets `Positions`. A Box draws that with `Block widths` at Equal.\n\n\u26A0\uFE0F THE COUNT MOVES; THE RULE MUST NOT DEPEND ON IT. This entry has already carried three different readings. A local-clone snapshot said no Grid used `Positions`. A PRODUCTION reading on 2026-09-15 ~13:15 AEST found 6 nodes on two sites, 4 of them spanned \u2014 hartesmetal.com.au homepage and about, 4 columns, spans 1 + 3. That one was TRUE when it was taken and stopped being true the same day: those two pages were rebuilt on Box (`Block widths: Bigger right`), and on 2026-09-16 they hold zero Grid nodes and are built from `Flex`. \u26D4 So the rule is NOT "there are still N spanned Grids". NEVER delete the Grid component or its `gridSpan` handling, whatever a census says \u2014 Grid still renders, still edits, still drags, and a merchant may rebuild a page either way on any day. Re-run the census on production before anyone PROPOSES deleting either, and read any number written here as the reading of its own day, not as the state of the world.\n\nWHAT A MERCHANT LOSES: a new Grid, and with it a fixed "N per row" that wraps by itself past three across, and the per-block `Positions` number. Box wraps with `Wrap`, but by content width, not by a fixed count.\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Grid still renders through it and can still be edited, dragged and added to; no document is rewritten and NO MIGRATION RUNS \u2014 the owner redoes live sections himself.\n\n\u26A0\uFE0F AND IT STAYS DROPPABLE WHERE IT LIVES. The drop rule in lib/document/config.tsx read the nestable containers off the catalogue\'s `structure` row, so leaving the catalogue would have made every open slot \u2014 a Box included \u2014 refuse a Grid already stored inside one. `scripts/test-retired-grid-stays-editable.tsx` \xA73 pins it.',CompatibleTyres:'Lewis, 2026-09-09: "Do not bother counting. Delete Compatible Tyres and use the new one. The new one needs complete settings \u2014 it must have every setting our cards have." Shown three ways to finish it, he chose C: retire from the menu now, and take styling the card text as its own card.\n\nWHAT REPLACES IT: `RelatedProducts` with its `Show` dropdown set to "Tyres that fit this product". That block is the GENERIC relationship section from card 1128 \u2014 it knows nothing about wheels or tyres, it asks the registry for a relationship by name. The two have rendered through the SAME renderer (`DynamicRelatedProducts`) since that card; this one is the pre-registry one-off that was never removed.\n\n\u26A0\uFE0F THE SWAP WAS NOT SAFE UNTIL #1305, AND SAYING SO IS THE POINT. The first old-versus-new table put in front of the owner was WRONG. `DynamicRelatedProducts` returns EARLY on a tyre answer and draws this component, so the seven card settings, the head split and the Width control all stopped at that call \u2014 nine settings, measured NO EFFECT, on precisely the relationship that replaces this block. #1283 gave the new block the card settings, #1299 the head split and its own Width, #1305 carried all of it onto the tyre branch. Only then was the claim true.\n\nWHAT WAS MEASURED BEFORE RETIRING, four ways, because the premise decides the card:\n \u2022 settable text kinds (SECTION_TEXT_KINDS): both blocks ABSENT \u2014 the map holds only TimelineTrack and Footprint, both AUTHORED lists\n \u2022 read-only text regions: neither `components/CompatibleTyres` nor `components/TyreCard` stamps one\n \u2022 panel rows through resolveFields: this block 31, `RelatedProducts` 42. This block\'s only style-ish key is `_sStyle`, the bucket HEADER, not a control\n \u2022 head text (num/title/description) is authored on both, so `_partStyles` reaches it identically\nSo on the CARD runs the two are zero against zero \u2014 neither can style them \u2014 and everywhere else the new block is ahead. Styling those runs needs a section-level prop family and a paint path for DERIVED text, which no section has yet: a part is anchored by matching an AUTHORED prop\'s string against the DOM, and `lib/document/source-bound-parts` keeps hydrated copy unreachable on purpose so a merchant cannot type into a copy of a product name and lose it at the next sync. That is its own card, and `lib/sections/text-regions` is the read-only half that already ships.\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT, the same contract Subscribe, Split and SubscribeBlogs have. Every page holding a `CompatibleTyres` still renders through it, no published document is rewritten, and NO MIGRATION RUNS \u2014 the owner\'s standing ruling of 2026-09-05: he redoes live sections himself and deletes the old ones when he does. He also said explicitly not to count them first.\n\n\u26A0\uFE0F AND THIS COMPONENT IS LOAD-BEARING FOR ITS OWN REPLACEMENT: `DynamicRelatedProducts` draws it for EVERY tyre answer. Deleting it would blank the block that replaces it, not just the pages still holding this one.',Spacer:`Lewis, 2026-10-10 (section-merges.md group 19, approved): one Divider holds space and lines. Style = None (was Spacer) / Line / Stripes; the space above and below as number boxes. Retired by card [MERGE] Spacer Into Divider (2026-10-26).
10
+
11
+ WHAT REPLACES IT: a Divider with Style set to None. It draws no line, only its space, and that space is the Divider's Padding row (top and bottom, each with its phone value): the Spacer's 24 / 48 / 96 / 160 px are None with Padding 12 + 12, 24 + 24, 48 + 48, 80 + 80. \`scripts/test-divider-holds-the-spacer.tsx\` \xA75 holds it.
12
+
13
+ WHAT A MERCHANT LOSES on a NEW space: nothing the Spacer had. Four fixed sizes become any number on the 4px grid, top and bottom apart, and a phone value.
14
+
15
+ NO CONVERTER ROW: 0 Spacer nodes on any page, draft or published, in any schema of the local production clone (read-only count, 2026-10-26), and none in the backend's seed files. This entry is its reason in the guard (\`scripts/test-section-to-box.tsx\` \xA75: a retired type is accounted for).
16
+
17
+ THE TYPE KEY STAYS AND SO DOES THE COMPONENT. A Spacer anywhere still renders through it and can still be edited; no document is rewritten.`,KeyFeatures:`Lewis, 2026-10-10 (section-merges.md group 4, approved): one Cards section holds Cards and Key Features; Key Features' diamond cells are the card style "Label only". Retired by card [MERGE] One Text Block And Click Through Parts (2026-10-22).
18
+
19
+ WHAT REPLACES IT: a Cards section with Card style set to Label only. It draws this section's own component (\`components/KeyFeatures\`), so for the same words it draws the same bytes: the pill eyebrow when no look is stored, the columns, each cell's link. A cell's words are the card's \`title\` (row "Feature label"), its link the card's \`href\` (row "Link"), both shown under Label only. \`scripts/test-cards-label-only.tsx\` \xA72 holds the bytes.
20
+
21
+ WHAT A MERCHANT LOSES on a NEW Label only section: nothing this section had. It GAINS the Cards head split (its head can move into a box of its own), which Key Features never had: that head draws the shared \`simple\` head, eyebrow ABOVE the heading, where Key Features drew it beside.
22
+
23
+ THE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Key Features still renders through it and can still be edited; no document is rewritten and NO MIGRATION RUNS.`,DeliveryOptions:`Lewis, 2026-10-10 (section-merges.md group 4, approved): one Cards section holds the five card grids \u2014 Cards, Key Features, Document Detail Cards, Recurring Columns and Delivery Options. Card content = Manual / Delivery options; the card's parts are Display chips; one Highlighted card row with its Highlight badge. Retired by card [MERGE] Delivery Options, Detail Cards And Recurring Columns Into Cards (M3, 2026-11-04).
24
+
25
+ WHAT REPLACES IT: Cards with Card content set to Delivery options, drawn from its card template: the backend's \`delivery-options\` rows (name, price, time, note), one card each, in the website's own currency. The one Highlighted card row and the Highlight badge replace the per-option Highlight switch.
26
+
27
+ WHAT A MERCHANT LOSES: more than one highlighted option (Lewis approved ONE Highlighted card row, 2026-10-10). No stored node held two.
28
+
29
+ NO CONVERTER ROW: 0 DeliveryOptions nodes on the US sites, draft or published (read only, 2026-11-04). This entry is its reason in the guard (\`scripts/test-section-to-box.tsx\` \xA75).
30
+
31
+ THE TYPE KEY STAYS AND SO DOES THE COMPONENT (efficient-storefront-blocks). A Delivery Options anywhere still renders through it and can still be edited; no document is rewritten.`,Series:`Lewis, 2026-10-10 (section-merges.md group 4, approved): one Cards section holds the five card grids \u2014 Cards, Key Features, Document Detail Cards, Recurring Columns and Delivery Options. Card content = Manual / Delivery options; the card's parts are Display chips; one Highlighted card row with its Highlight badge. Retired by card [MERGE] Delivery Options, Detail Cards And Recurring Columns Into Cards (M3, 2026-11-04).
32
+
33
+ WHAT REPLACES IT: Cards drawn from its card template. A column's number is Number, its "Right Top Text" Corner note, its title Card title, its words Card body, its count and label one Count, and the one \`viewLabel\` a plain Text typed once in the template, so every card shows it; the background is the Box's. The converter row (\`section-to-box-rows-cards.ts\`, OFF) lays down that Cards inside a Box.
34
+
35
+ WHAT A MERCHANT LOSES (the LOOK GAPS in that file): the grid takes the Cards block's own gaps and breakpoints; a short row no longer keeps 4 columns; the count is one plain Text, its figure no longer in the text ink; a card with no count still draws the footer line.
36
+
37
+ THE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Recurring Columns still renders through it and can still be edited; no document is rewritten.`,DocMetaCards:`Lewis, 2026-10-10 (section-merges.md group 4, approved): one Cards section holds the five card grids \u2014 Cards, Key Features, Document Detail Cards, Recurring Columns and Delivery Options. Card content = Manual / Delivery options; the card's parts are Display chips; one Highlighted card row with its Highlight badge. Retired by card [MERGE] Delivery Options, Detail Cards And Recurring Columns Into Cards (M3, 2026-11-04).
38
+
39
+ WHAT REPLACES IT: Cards drawn from its card template, each card a Label, a Value and a Card body. The converter row (\`section-to-box-rows-cards.ts\`, OFF) lays down that Cards inside a Box.
40
+
41
+ WHAT A MERCHANT LOSES (the LOOK GAPS in that file): the grid takes the Cards block's own gaps and breakpoints, not the old 40 (16 on a phone).
42
+
43
+ THE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Document Detail Cards still renders through it and can still be edited; no document is rewritten.`,StatsParagraph:`Lewis, 2026-10-10 (approved): one Stats holds Stats and Stats with Text. Its head (eyebrow, heading, body) and each number's Prefix, Unit, Superscript, Label, "Use accent color" and text go into Stats; Card style Table (the old Stats with Text) or List (the old Stats). 2026-10-27: no Number block, the cards are Box + Text. Retired when the two became one Stats (2026-11-06).
44
+
45
+ WHAT REPLACES IT: a Stats press, a Box of real parts: three head Texts, then a Stats Box holding ONE Card list, Card style Table. Each number is a row of the Card list; its card is a figure Text (the prefix and number typed in it, the unit marked \`==_yr_==\`, which draws the section theme's Main colour; a whole number in that colour is \`==_8_==\`), a superscript Text beside it, a label Text and a body Text, each showing its row's field, and a row may link its own live number. The Stats Box's Card style row (Table / List) writes the Box's Gap and the card's own Border, Padding and Height.
46
+
47
+ WHAT A MERCHANT LOSES: the numbers do not count up (the Text block's Count up numbers setting is its own change, held); the figure has no tabular numbers; a unit is not a lighter weight than its number; rows of four stack below 800px, not two columns from 1100px.
48
+
49
+ THE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Stats with Text still renders through it and can still be edited; no document is rewritten (owner 2026-11-06: old sites stay as they are).`,Testimonials:"Lewis, 2026-10-10 (section-merges.md group 6, approved): Testimonials goes into Reviews, whose Review content is Manual (typed quotes) or Reviews (the store's approved reviews), with a product choice in place of the old Design code. Retired by card [MERGE] Remaining Section Merges (2026-11-06), after Reviews took typed quotes and a card template (efficient-storefront-blocks #242) and the product choice (#359).\n\nWHAT REPLACES IT: Reviews with Review content set to Manual. Every Testimonials key has the same key there: `eyebrow`, `eyebrowLook`, `title`, `items[]` (`quote`, `name`, `role`), `columns` 1-3 and `headPlacement` (both split their head). A typed review also has a `title` and a `rating`, empty for a quote that has none.\n\nWHAT A MERCHANT LOSES on a NEW quote list: nothing this section had. Reviews is in the service set where this section was general; no host narrows the sets (2026-11-06).\n\nNO CONVERTER ROW HERE: its Box row is efficient-storefront-blocks' (`section-to-box-rows-reviews`, OFF). 0 Testimonials nodes on the US sites, draft or published (read only, 2026-11-06). Old sites stay as they are (owner, 2026-11-06).\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT. A Testimonials anywhere still renders through it and can still be edited; no document is rewritten.",SubscribeBlogs:"card 66396 \u2014 folded into `Subscribe`, which now chooses its rail's content with a `Type` control (the newsletter's own issues, or live blog posts). The two shared 21 of their fields and rendered THE SAME BYTES from equivalent rows, so offering both asked a merchant to choose between two names for one section. The type key stays because it is stored on published pages, and the component stays because those pages still render through it.",RelatedProducts:`Owner, 2026-11-06 (plan productgrid-card-template-2026-11-06, inovit row 19): a Product Grid with "Show the current product's related" on IS the related grid, so offering both asked a merchant to choose between two names for one section.
50
+
51
+ WHAT REPLACES IT: Product Grid, bound to the current product. Both draw every card through the grid's ONE card template (efficient-storefront-blocks, lib/content/product-card-seed).
52
+
53
+ THE TYPE KEY STAYS AND SO DOES THE COMPONENT. A stored Related Products node is read as that grid by the host (\`relatedToGrid\`) and draws the same cards; no document is rewritten. Its footnote is the one value the grid has no home for.`,BundleOffer:`Plan section-parts bundles grid source (2026-11-07): a Product Grid that shows "Bundles with this product" IS the bundle section, so offering both asked a merchant to choose between two names for one section.
54
+
55
+ WHAT REPLACES IT: Product Grid, bound to the current product, Show set to its bundles. Both draw every kit through the grid's ONE card template (efficient-storefront-blocks, lib/content/product-card-seed).
56
+
57
+ THE TYPE KEY STAYS AND SO DOES THE DRAWING. A stored Bundle Products node is read as that grid by the host (\`bundleToGrid\`) and draws its kits; no document is rewritten.`,TyreFitment:`Owner, 2026-10-10 (approved): the Tyre Fitment Form goes into the Fitment Form, whose answer follows the page. One vehicle section, not two.
58
+
59
+ WHAT REPLACES IT: the Fitment Form, a Box of a head, the vehicle picker (\`FitmentPicker\`), its answer (\`StockFitment\`) and a Button. On a tyre product page the answer part draws one verdict per size against the picked car, the same \`TyreFitVerdicts\` drawing this section made; on every other page it draws the car's OEM fitment card (efficient-storefront-blocks 0.87.0). The old escape link is the Box's Button.
60
+
61
+ WHAT A MERCHANT LOSES: the tyre-only head copy ("Will it fit your car?"); a press seeds the Fitment Form's own head. The page decides the answer, so there is no mode row.
62
+
63
+ NO CONVERTER ROW: 0 TyreFitment nodes on the US sites, draft or published (read only, 2026-11-07). Old sites stay as they are (owner, 2026-11-06).
64
+
65
+ THE TYPE KEY STAYS AND SO DOES THE COMPONENT (efficient-storefront-blocks). A stored Tyre Fitment Form still renders through it and can still be edited, its head split, width, heading level, settings groups and cover included; no document is rewritten.`,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."},Cie=["Grid","Spacer","TyreFitment"],vie=Array.from(new Set([...Pa.flatMap(e=>e.sections.map(o=>o.type)),...Object.keys(nm)])),hc=Object.fromEntries(Pa.flatMap(e=>e.sections.map(o=>[o.type,o.label]))),TM={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"},mc={...TM,...Object.fromEntries(Pa.flatMap(e=>e.sections.map(o=>[o.type,o.set])))};function lw(e){return Object.prototype.hasOwnProperty.call(mc,e)?mc[e]:void 0}function sm(e){return Object.keys(mc).filter(o=>mc[o]===e).sort()}var kie=sm("general"),Tie=sm("commerce"),Pie=sm("service"),lm="Flex",Jt="Box",Eie=`${Jt}es`;function PM(e){return e==="section"?"Blank section":Jt}function im(e,o,t){return e===lm?PM(o):t}var fe="content",q="Flex",EM="Text & media",OM="Layout & structure",cw=[{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"}],_M=[...cw,{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"},{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:EM})),AM=(Pa.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:OM})),iw=[..._M,...AM],cm=[...cw,{type:"HeroGroup",label:Jt}],Aie=cm.map(e=>e.type),RM=1,LM=cm.filter(e=>e.type!=="HeroGroup");function FM(e){return e<RM?cm:LM}var BM={Flex:{slot:fe,choices:()=>iw},Grid:{slot:fe,choices:()=>iw},HeroGroup:{slot:fe,choices:FM}};function dw(e,o=0){let t=BM[e];return t?{slot:t.slot,choices:t.choices(o)}:null}import{applyMark as Mie,markupTools as Hie,MARKUP_TOOLS as Wie,COPY_FIELD_TOOLS as $ie,STOREFRONT_MARKUP as zie,tokenizeInline as Gie,stripInline as Uie,isSafeLinkHref as Iw}from"efficient-shell/markup";import{applyMark as qM,clearStyle as YM,markedAt as XM,markupTools as JM,MARKUP_TOOLS as ZM,parseMarkup as QM,RETIRED_MARKS as eH,STOREFRONT_MARKUP as oH,tokenizeInline as Kie}from"efficient-shell/markup";var ir=["highlight","strong","quiet"],cr={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},Dt={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},mw=Object.fromEntries(ir.map(e=>[Dt[e].kind,e])),hw="data-sf-ws",DM=["accent","text","labels"],Ea={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},NM=80,MM=120,HM=100,WM=900,$M=.5,zM=3,GM=-.1,UM=.5,jM=3,dm={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},KM={highlight:{...dm},strong:{...dm},quiet:{...dm}};function fw(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function uw(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let a=10**jM;return Math.round(Math.min(Math.max(e,o),t)*a)/a}function pw(e){return typeof e=="boolean"?e:null}function VM(e){let o=typeof e?.font=="string"&&dt.some(a=>a.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&DM.includes(e.colour)?e.colour:null;return{font:o,size:fw(e?.size,NM,MM),weight:fw(e?.weight,HM,WM),bold:pw(e?.bold),italic:pw(e?.italic),lineGap:uw(e?.lineGap,$M,zM),textGap:uw(e?.textGap,GM,UM),colour:t}}function xw(e){let o={};for(let t of ir)o[t]=e&&t in e&&e[t]?VM(e[t]):{...KM[t]};return o}function Fie(e){let o=xw(e),t={};for(let a of ir){let r=o[a],n=`--sf-ws-${a}`;if(r.font){let s=dt.find(l=>l.key===r.font);s&&(t[`${n}-font`]=`var(${s.cssVar})`)}r.size!==null&&(t[`${n}-size`]=`${r.size/100}em`),r.weight!==null&&(t[`${n}-weight`]=String(r.weight)),r.bold!==null&&(t[`${n}-weight-bold`]=r.bold?"700":"400"),r.italic!==null&&(t[`${n}-style`]=r.italic?"italic":"normal"),r.lineGap!==null&&(t[`${n}-line`]=String(r.lineGap)),r.textGap!==null&&(t[`${n}-track`]=`${r.textGap}em`),r.colour!==null&&(t[`${n}-color`]=Ea[r.colour])}return t}function Bie(e){let o=e?.word_styles??void 0,t={};for(let a of ir)o&&a in o&&(t[a]=o[a]??null);return xw(t)}var tH=new Set(["strong"]),gw=ir.map(e=>({open:Dt[e].delimiter,close:Dt[e].delimiter,kind:Dt[e].kind,...tH.has(e)?{wordStart:!0}:{}})),qie=[{style:Dt.highlight.kind,label:cr.highlight,title:`${cr.highlight} word style`},{style:Dt.strong.kind,label:cr.strong,title:`${cr.strong} word style`},{style:Dt.quiet.kind,label:cr.quiet,title:`${cr.quiet} word style`}],aH=new Set(gw.map(e=>e.open)),dr=[...oH.filter(e=>!aH.has(e.open)),...gw];function fm(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function $s(e){return QM(typeof e=="string"?e:"",dr)}var rH=ZM.map(e=>e.style).filter(e=>!eH.includes(e)).filter(e=>dr.some(o=>o.kind===e));function bw(){return JM(rH)}var yw=Object.fromEntries(ir.map(e=>[Dt[e].kind,Dt[e].delimiter]));function Sw(e,o,t,a){let r=yw[a];if(!r)return qM(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 ww(e,o,t,a){let r=yw[a];return r?o>=r.length&&e.slice(o-r.length,o)===r&&e.slice(t,t+r.length)===r:XM(e,o,t,a)}function fr(e){return e.replace(/==(.+?)==/g,(o,t)=>t.startsWith("_")&&t.endsWith("_")?o:`==_${t}_==`)}function ur(e){return $s(e).map(o=>fm(o)+vw(o.children)).join(`
66
+ `)}function Cw(e,o,t){return YM(e,o,t,dr)}function vw(e){return e.map(o=>o.kind==="text"?o.text:vw(o.children)).join("")}function lo(e,o,t){return e.some(a=>(typeof a=="object"?a.value:a)===t)?t:o}var um="small",pm="dot",nH=[{label:"Small",value:"small"},{label:"Display",value:"display"}],mm=[{label:"Dot \u25CF",value:"dot"},{label:"Cross \u2715",value:"cross"},{label:"Slash /",value:"slash"},{label:"Triangle \u25BC",value:"triangle"},{label:"None",value:"none"}],xc={dot:"\u25CF",cross:"\u2715",slash:"/",triangle:"\u25BC",none:""},sH={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)]"},lH={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 Zie(e){return lo(nH,um,e)}function zs(e){return lo(mm,pm,e)}function Qie(e){return sH[e]}function kw(e,o){return lH[e][o]}var tce=[{value:"none"},{value:"dot"},{value:"cross"},{value:"slash"},{value:"triangle"}];function Tw(e){return mm.some(o=>o.value===e)?zs(e):void 0}var iH="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 pr(e,o){return e==="row"&&Tw(o)!==void 0}function ace(e,o){return pr(e,o)?iH:""}var cH="[&>*: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 rce(e,o){return pr(e,o)?cH:""}function nce(e,o){if(!pr(e,o))return{};let t=Tw(o),a=/^text-\[([\d.]+)em\]$/.exec(kw("small",t))?.[1],r=xc[t];return{"--sf-sep-mark":r===""?"none":JSON.stringify(r),...a?{"--sf-sep-k":a}:{}}}import{AUTO_RULES as uH,FOLLOW_RULES as pH,isAuto as mH,resolveViewValue as hH}from"efficient-easel/screen/lib/content/view-tiers";import{VIEW_DESKTOP_MIN as dH,VIEW_TABLET_MIN as Pw}from"efficient-easel/screen/lib/content/view-tiers";var hm="v1",fH=e=>e==="v2"?Pw:800,Ic={"view-tablet":Pw,"view-desktop":dH,"view-wide":fH(hm)};function ice(e){let o=e.startsWith("max-"),t=o?e.slice(4):e;if(t in Ic)return{px:Ic[t],max:o};let a=/^(max|min)-\[(\d+)px\]$/.exec(e);return a?{px:Number(a[2]),max:a[1]==="max"}:void 0}function mr(){return hm==="v2"?uH:pH}function ut(e,o,t,a,r=mr()){let n=hH(e,o,t,a,r),s={},l=(c,d)=>!mH(c)||d!=null&&d!==o;return l(t,n.tablet)&&(s.tablet=n.tablet),l(a,n.phone)&&(s.phone=n.phone),s}var js={sectionPaddingTop:0,sectionPaddingBottom:0},Gs={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},Us={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function hce(e,o){let t=typeof e=="string"&&e in Gs?Gs[e]:"",a=typeof o=="string"&&o in Us?Us[o]:"";return[t,a].filter(Boolean).join(" ")}function xH(e){return e===!0||e==="wrap"?"flex-wrap":""}var IH={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!"},gH={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!"},yH={start:"max-view-tablet:items-start",center:"max-view-tablet:items-center",end:"max-view-tablet:items-end",stretch:"max-view-tablet:items-stretch"},SH={wrap:"view-tablet:max-view-desktop:flex-wrap!",nowrap:"view-tablet:max-view-desktop:flex-nowrap!"};function Ir(e,o){return typeof o=="string"&&Object.prototype.hasOwnProperty.call(e,o)?o:void 0}function Im(e,o,t){let a=ut("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 gm(e,o,t){return[e.tablet?o[e.tablet]:"",e.phone?t[e.phone]:""].filter(Boolean).join(" ")}function wH(e,o,t){return Im(Ir(Gs,e)??"start",Ir(Gs,o),Ir(Gs,t))}function xce(e,o,t){return gm(wH(e,o,t),IH,gH)}function Ice(e,o,t){let a=Ir(Us,e)??"stretch";if(a==="stretch")return"";let r=Im(a,Ir(Us,o),Ir(Us,t));return gm(r,bH,yH)}function xm(e){if(e===!0||e==="wrap")return"wrap";if(e===!1||e==="nowrap")return"nowrap"}function gce(e,o){let t=xH(e)===""?"nowrap":"wrap",a=xm(o);return a&&a!==t?SH[a]:""}var gr="Block widths",Aw=[{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]}],CH="data-sf-box-items",bce=new RegExp(`[ \\t]+[^\\s"'\`]*\\[${CH}\\][^\\s"'\`]*`,"g");var bm=[{label:"Fit content",value:"content",weights:null},{label:"Equal",value:"equal",weights:[1,1]},{label:"Custom",value:"custom",weights:[2,1]}];function ym(e){return Array.isArray(e)?"custom":e==="equal"?"equal":typeof e=="string"&&e in bc?"custom":"content"}var Rw=4,Ew=10;function vH(e,o){if(!Number.isInteger(o)||o<2||o>Rw||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-Ew*(o-1-n),l=Math.min(s,Math.max(Ew,Math.round(r)));t.push(l),a+=l}),t}function Ow(e,o,t){if(!Array.isArray(o))return;let a=vH(o,t),r=a?[...a,100-a.reduce((s,l)=>s+l,0)]:[],n={};for(let s=0;s<Rw;s+=1)n[`--${e}-${s+1}`]=r[s]??1;return n}function yce(e,o,t){let a=Ow("sf-share",e,t),r=Ow("sf-share-tablet",o,t);return a||r?{...a,...r}:void 0}function kH(e,o){let t=Array.from({length:o},()=>1),a=Aw.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 gc(e,o){if(typeof e!="string"||!(e in bc)||e==="equal")return e;let t=kH(e,o),a=t.reduce((r,n)=>r+n,0);return t.slice(0,-1).map(r=>Math.round(r/a*100))}var hr="[&>*]: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",bc={equal:hr,bigLeft:`${hr} [&>*:first-child]:view-wide:grow-[2] [&>[data-sf-box-items]:first-child>*:first-child]:view-wide:grow-[2]`,bigRight:`${hr} [&>*:last-child]:view-wide:grow-[2] [&>[data-sf-box-items]:last-child>*:last-child]:view-wide:grow-[2]`,biggerLeft:`${hr} [&>*:first-child]:view-wide:grow-[3] [&>[data-sf-box-items]:first-child>*:first-child]:view-wide:grow-[3]`,biggerRight:`${hr} [&>*:last-child]:view-wide:grow-[3] [&>[data-sf-box-items]:last-child>*:last-child]:view-wide:grow-[3]`,twoThree:`${hr} [&>*: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]`},TH=`${hr} [&>*: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 PH(e){return Array.isArray(e)?TH:typeof e=="string"?bc[e]??"":""}var Sce={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(bc)}]}]}]},Lw="view-tablet:max-view-desktop:flex-row!",xr=`${Lw} [&>*: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!`,Fw={content:`${Lw} [&>*: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:xr,bigLeft:`${xr} [&>*: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:`${xr} [&>*: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:`${xr} [&>*: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:`${xr} [&>*: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:`${xr} [&>*: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]!`},EH=`${xr} [&>*: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 OH(e){return Array.isArray(e)||typeof e=="string"&&e in Fw?e:null}function wce(e){if(e.direction!=="row"||pr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0||Hw(e.columns)!==""||Ww(e.columnsTablet)!=="")return"";let o=OH(e.shareTablet);return o===null?"":typeof o=="string"?Fw[o]:EH}var _H="[&>*]:view-wide:basis-[content] [&>[data-sf-box-items]>*]:view-wide:basis-[content]";function Cce(e){return PH(e)===""?_H:""}var Sm="Columns",yc=1,Bw=3,wm={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)]"},Dw=Aw.filter(e=>e.value==="content"||e.value==="equal"),Nw="equal",Cm=1,Mw=6,yn="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!",AH={1:`${yn} [&>*]:view-wide:basis-[calc(100%/1)]! [&>[data-sf-box-items]>*]:view-wide:basis-[calc(100%/1)]!`,2:`${yn} [&>*]: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:`${yn} [&>*]: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:`${yn} [&>*]: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:`${yn} [&>*]: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:`${yn} [&>*]: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 Hw(e){return typeof e=="number"?AH[e]??"":""}var RH={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 Ww(e){return typeof e=="number"?RH[e]??"":""}function vce(e){return e.direction!=="row"||pr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":Ww(e.columnsTablet)}function kce(e){return e.direction!=="row"||pr(e.direction,e.separator)||e.loop==="scroll"||e.line===!0?"":Hw(e.columns)}var $w={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"},zw={2:"max-view-wide:grid max-view-wide:grid-cols-2",3:"max-view-wide:grid max-view-wide:grid-cols-3"},Tce=Object.keys($w).map(Number),Pce=Object.keys(zw).map(Number);function Ece(e,o,t=!1){let a=typeof e=="number"?$w[e]??"":"",r=zw[Number(o)]??"";return!a&&!r?"":[a,r,t?"gap-y-0!":""].filter(Boolean).join(" ")}var LH="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]",FH={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)]"},BH="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 DH(e,o){return(xm(e)??xm(o)??"wrap")==="nowrap"}function Oce(e,o,t,a){let r=wm[Number(e)];if(!r)return"max-view-wide:flex-col";let n=DH(t,a);return Gw(e,o)?n?BH:LH:n?FH[Number(e)]:r}function _ce(e,o){return Number(e)in wm&&!Gw(e,o)}function Gw(e,o){return Number(e)in wm&&o==="content"}var Uw="Block spacing",vm=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],NH="sf-box-gap-only";function Ace(e){return e==="gap"?NH:""}var _w={each:"sf-box-each-tablet",gap:"sf-box-gap-only-tablet"},MH={each:"sf-box-each-phone",gap:"sf-box-gap-only-phone"};function Rce(e,o,t){let a=n=>Ir(_w,n),r=Im(e==="gap"?"gap":"each",a(o),a(t));return gm(r,_w,MH)}var jw={label:"Text",defaultProps:{text:"",align:"left",tone:"default",tag:"p",contained:!0}};var{text:Nce,tag:Mce,...HH}=jw.defaultProps,$=HH,Q={...$,tone:"dim"},Sc={justify:"start",align:"stretch",wrap:!1,blockSpacing:"gap",padV2:!0},A={...Sc,direction:"column",...js},io=(e,o=e,t=e,a=o)=>({sectionPaddingTop:e,sectionPaddingRight:o,sectionPaddingBottom:e,sectionPaddingLeft:o,sectionPaddingTopPhone:t,sectionPaddingRightPhone:a,sectionPaddingBottomPhone:t,sectionPaddingLeftPhone:a}),W=(e,o,t,a)=>({sizeToken:{step:e,px:o,...a?{stepPhone:a}:{},...t?{pxPhone:t}:{}}}),Kw={case:"upper"},Wo={textStyle:"body-5",...Kw},Ks=(e,o)=>({...W("label",e,o),letterSpacing:.2,...Kw}),pt=(e,o)=>({...Wo,...Ks(e,o)});function ko(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]=ko(c,o,n);return{type:a.type,props:{...s,id:o(a.type,n)}}})}var Oa=()=>({tag:"h2",_partStyles:{text:{textStyle:"heading-2"}}}),mt=()=>({_partStyles:{text:{...Wo,color:"accent",letterSpacing:.3,lineHeight:1.5}}});var WH={...A,gap:12,gapPhone:12,...io(32,32,28,28)},$H={textStyle:"heading-3",...W("headingSmall",20),weight:500,case:"upper",lineHeight:1.5,letterSpacing:.02},Vs={textStyle:"body-1",...W("body",15),lineHeight:1.6},ge=(e,o,t,a=!1)=>({type:"Text",props:{...o,text:"",[So]:e,_partStyles:{text:{...a?mt()._partStyles?.text??{}:{},...t}}}}),qs={title:"title",body:"body"},wc={title:"name",body:"note"},km=(e=qs)=>({type:q,props:{...WH,name:"Card"},slots:{[fe]:[ge(e.title,{...$,tag:"p",widthFit:"fill"},$H),ge(e.body,{...Q,tag:"p",widthFit:"fill"},Vs)]}}),Cc=(e,o)=>ko([km(o)],e);function Vw(e,o){if(e!=="Cards")return o;if(o.template!==void 0)return GH(o);let t=ee(o.id)??"Cards",a=so(o)?wc:qs;return{...o,template:Cc((r,n)=>n==="0"?`${t}~card`:`${t}~card.${n.slice(2)}`,a)}}var zH=e=>{let[o,t]=e?[qs,wc]:[wc,qs];return new Map([[o.title,t.title],[o.body,t.body]])};function qw(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[fe];if(Array.isArray(c)){let d=qw(c,o);d!==c&&(s={...s,[fe]:d})}s!==n&&(t??=[...e],t[r]={...a,props:s})}),t??e}function GH(e,o){if(!Array.isArray(e.template))return e;let t=zH(!!so(e)),a=o?new Map([...t].filter(([n,s])=>o(s)&&!o(n))):t;if(!a.size)return e;let r=qw(e.template,a);return r===e.template?e:{...e,template:r}}var UH="label";function Yw(e){if(e.template!==void 0)return e;let o=ee(e.id)??"CardList",t={type:q,props:{...A,name:"Item"},slots:{[fe]:[ge(UH,{...$,tag:"p"},Vs)]}};return{...e,template:ko([t],(a,r)=>r==="0"?`${o}~item`:`${o}~item.${r.slice(2)}`)}}var Ys="ArticleBody",jH={textStyle:"heading-3",...W("headingSmall",20),weight:500,lineHeight:1.4,align:"center"},KH={...Vs,align:"center"},Xw=640,VH=()=>[ge("heading",{...$,tag:"h2",align:"center",maxWidth:Xw},jH),ge("paragraph",{...Q,tag:"p",align:"center",maxWidth:Xw},KH)],Tm=e=>ko(VH(),e);function qH(e){return Tm((o,t)=>`${e}~${t==="0"?"heading":"paragraph"}`)}function Jw(e){if(e.template!==void 0)return e;let o=typeof e.id=="string"&&e.id.trim()?e.id:Ys;return{...e,template:qH(o)}}var YH="label",Pm=()=>({type:"LogoBlock",props:{[So]:YH}}),Zw=e=>{let o=ee(e.id)??"Logos";return{...e,template:ko([Pm()],()=>`${o}~logo`)}};function Qw(e){return!so(e)||e.template!==void 0?e:Zw(e)}function fde(e){if(!so(e))return e;let o=e.template;return o!==void 0&&!(Array.isArray(o)&&o.length===0)?e:Zw(e)}import{addShowWhenFacts as XH}from"efficient-shell/format";import{showWhenOf as Em,shownForOption as JH,truthy as Om,withRowRules as _m,withRowsShownWhen as Xs,withShowWhen as oo}from"efficient-shell/format";var hde=XH;function ZH(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 QH="inline",e4=[{label:"In this section",value:"inline"},{label:"In its own box",value:"own-box"}];var To={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"}},Sn="SectionHeader";function eC(e){return e in To}function vc(e){return lo(e4,QH,e)}var o4=new Set(["Flex"]);function bde(e){return!!e?.type&&o4.has(e.type)}var oC={not:{field:"headPlacement",is:"own-box"}},yde={not:oC};function Sde(e,o,t){return Xs(e,t,oC)}var t4="question",a4="answer",r4={textStyle:"body-1",fontRole:"heading",...W("body",18,15),weight:500,case:"upper",letterSpacing:.02,lineHeight:1.5},n4={textStyle:"body-1",...W("body",15),lineHeight:1.7},Am=()=>({type:q,props:{...A,gap:0,name:"Question"},slots:{rowTitle:[ge(t4,{...$,tag:"p",widthFit:"fill"},r4)],[fe]:[ge(a4,{...Q,tag:"p",widthFit:"fill",maxWidth:760},n4)]}});function s4(e){return vc(e.headPlacement)==="own-box"?!1:["num","title","linkText"].some(o=>ee(e[o])!==void 0)}function tC(e){if(e.template!==void 0||s4(e))return e;let o=ee(e.id)??"FAQ",t=0;return{...e,template:ko([Am()],a=>a===q?`${o}~row`:`${o}~row.${t++}`)}}var to="template",aC="Card template",Po="CardList",rC=["Text","ImageBlock","ButtonBlock","Flex"],So="rowField",Rm="rowLinkField";function nC(){return{type:"slot",allow:[...rC]}}var i4=rC.filter(e=>e!=="ButtonBlock"),Js="items",sC="itemFields";function Wde(){return{type:"slot",allow:[...i4]}}var c4=[{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=>tC(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=>Vw("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:Po,label:"Card list"}]},{block:"Logos",fields:[{key:"label",label:"Name"},{key:"kind",label:"Kind"}],seed:e=>Qw(e)},{block:Po,fields:[{key:"badge",label:"Highlight badge",everySource:!0}],typedRows:Js,seed:e=>Yw(e)},{block:Ys,fields:[{key:"heading",label:"Subhead"},{key:"paragraph",label:"Paragraph",multiline:!0}],seed:e=>Jw(e)}];function $o(){return Ta("efficient.card-templates",()=>new Map(c4.map(e=>[e.block,e])))}function $de(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);$o().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 d4(e,o){let t=e?$o().get(e)?.seed:void 0;return t?t(o):o}function lC(e,o){if(!(o.template===void 0||Array.isArray(o.template)&&o.template.length===0))return o;let{template:t,...a}=o,r=e?$o().get(e)?.seedOnInsert:void 0,n=r?r(a):d4(e,a);return n===a?o:n}function iC(){for(let e of $o().values())if(e.blocks?.length)return!0;return!1}function cC(e){return $o().get(e)?.blocks??[]}function zde(e){for(let o of $o().values())if(o.blocks?.some(t=>t.type===e))return!0;return!1}function dC(e){return typeof e=="string"&&$o().get(e)?.typedRows||""}function Gde(e){return typeof e=="string"&&$o().get(e)?.linesBetween===!0}function Lm(e){return typeof e=="string"&&$o().has(e)}function f4(e,o){let t=$o().get(e)?.fields??[];return o?t.filter(a=>(a.kind??"text")===o):t}function u4(e){return typeof e=="string"?f4(e,"list")[0]?.key??"":""}function p4(e,o){return ht(e)||u4(o)}function fC(e,o){let t=typeof e?.type=="string"?e.type:"";if(!t)return[];let a=$o().get(t)?.fields??[],r=pc(so(e?.props))?.fields,n=r?.length?[...r.map(s=>({...s})),...a.filter(s=>s.everySource&&!r.some(l=>l.key===s.key))]:a;return o?n.filter(s=>(s.kind??"text")===o):n}function Fm(e,o,t){return e?t?fC(t).find(a=>a.key===o)??null:$o().get(e)?.fields.find(a=>a.key===o)??null:null}function ht(e,o=So){let t=e?.[o];return typeof t=="string"?t.trim():""}function kc(e,o){return e.key||String(o+1)}function uC(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 Bm="hideWhenRowEmpty";function Ude(e,o){let t=e[Bm];return!o||!Array.isArray(t)||!t.length?!1:t.every(a=>typeof a!="string"||!o[a]?.trim())}function jde(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 pC={Text:{text:So},ImageBlock:{src:So},ButtonBlock:{label:So,href:Rm},LogoBlock:{alt:So},Breadcrumb:{currentCrumb:So}};var m4=new Set(["ButtonBlock.label","LogoBlock.alt"]);function Kde(e,o,t){return Dm(e,o,t)&&!m4.has(`${e}.${t}`)}function Dm(e,o,t){return Nm(e,o,t)!==""}function Nm(e,o,t){let a=pC[e]?.[t];return a?ht(o,a):""}function Mm(e,o){return!o||!e?null:e[o]??""}function Vde(e,o,t,a){if(!t)return o;let r=null;for(let[n,s]of Object.entries(pC[e]??{})){let l=ht(o,s),c=Mm(t,l);c!==null&&(r??={...o},r[n]=a&&Fm(a,l)?.mark==="accentItalic"?fr(c):c)}return r??o}function Hm(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(!l4(d))continue;let f=c===to&&Lm(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 Zs(e,o){let t=Hm(e,o);return t&&t.owner}function qde(e,o){let t=Hm(e,o);return t&&(t.direct?t.owner:null)}function Yde(e,o){let t=Hm(e,o);if(t!==void 0)return t===null?{inCopy:!1,nestedCopy:!1,underBox:!1}:{inCopy:!0,nestedCopy:t.nested,underBox:t.underBox}}function Xde(e,o,t){if(o?.type!==Po)return[];let a=Zs(e,o.props?.id);if(!a){let s=pc(so(o.props))?.fields,l=s?.length?s.map(f=>({...f})):h4(o.props),c=($o().get(Po)?.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=p4(o.props,a.type),n=r&&fC(a,"list").find(s=>s.key===r)?.fields||[];return t?n.filter(s=>(s.kind??"text")===t):n}function Tc(e,o){return{[So]:"",[Js]:e.map(t=>({...t})),[sC]:o.map(t=>({...t}))}}function h4(e,o){let t=e?.[sC];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 Hj}from"react";import{isNodeList as Pc}from"efficient-easel/data";var mC="Flex";function wn(e,o){return ht(e)?typeof e?.[ft]=="string"?Wm(o?.[ft]):"":Wm(e?.[ft])}var Wm=e=>typeof e=="string"?e.trim():"",x4=e=>e.type===Po&&Array.isArray(e.props?.[Js])&&e.props[Js].some(o=>Wm(o?.[ft])!==""),I4=new Intl.NumberFormat("en-US");function g4(e){return/^\d+$/.test(e)?I4.format(Number(e)):e}function ofe(e,o){let t=o?o.find(a=>a.key===e)?.value:rw(Hs).find(a=>a.key===e)?.value;return t===void 0?null:g4(t)}var b4={[ft]:"any"};function $m(e,o=!1){let t=e.props;if(!t)return{node:e,names:!1};let a=e.type==="Text"&&(wn(t)!==""||o&&wn(t,b4)!==""),r=o||x4(e),n=t;for(let[l,c]of Object.entries(t)){if(!Pc(c))continue;let d=c.map(f=>$m(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!==mC)return{node:n===t?e:{...e,props:n},names:a};let s=so(n);if(a&&!s&&(n={...n,[Bt]:Hs}),!a&&s===Hs){let{[Bt]:l,...c}=n;n=c}return{node:n===t?e:{...e,props:n},names:!1}}function hC(e,o,t){for(let a of e){if(a?.props?.id===o)return t;for(let r of Object.values(a?.props??{})){if(!Pc(r))continue;let n=hC(r,o,a.type===mC?a:t);if(n!==void 0)return n}}}function tfe(e,o){if(!Pc(e))return!0;let t=hC(e,o,null);if(t===void 0)return!0;if(t===null)return!1;let a=so(t.props);return!a||a===Hs}function xC(e){let o=e?.content;if(!Pc(o))return e;let t=o.map(a=>$m(a));return t.every((a,r)=>a.node===o[r])?e:{...e,content:t.map(a=>a.node)}}function IC(e){return $m(e).node}import{jsx as S,jsxs as za,Fragment as ia}from"react/jsx-runtime";import{cloneElement as wP,createContext as tG,useContext as CP,useEffect as aG,useId as vP,useRef as Tl,useState as Pl}from"react";import{useEasel as Hd,useSelectedHost as Gn}from"efficient-easel/easel";import{toDateKey as sye,fromDateKey as lye}from"efficient-shell/format";function y4(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.src=="string"}function Eo(e){return typeof e=="string"?e:y4(e)?e.src:""}function rfe(e,o,t){return zm(e,o.split("."),t)}function zm(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=zm(u,r,t);return x!==u&&(f=!0),x});return f?{...l,[s]:m}:e}let d=zm(c,r,t);return d===c?e:{...l,[s]:d}}var S4=["upload","youtube"],w4="upload",lfe={upload:"Upload",youtube:"YouTube"},C4=["background","click"],v4="background",ife={background:"Background",click:"Click to play"};function bC(e){return S4.includes(e)?e:w4}function yC(e){return C4.includes(e)?e:v4}var gC=/^[A-Za-z0-9_-]{11}$/,k4=/^(?:www\.|m\.|music\.)?(?:youtube\.com|youtube-nocookie\.com|youtu\.be)$/;function SC(e){let o=typeof e=="string"?e.trim():"";if(!o)return null;if(gC.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:"||!k4.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&&gC.test(r)?r:null}function Gm(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 wC(e){return`https://i.ytimg.com/vi/${e}/maxresdefault.jpg`}function CC(e){return`https://i.ytimg.com/vi/${e}/hqdefault.jpg`}var Um="Play video";var jm={frame:"Video frame",image:"Image"},cfe={any:[{field:"loadingShows",is:"image"},{all:[{not:{field:"loadingShows",set:!0}},{field:"poster",set:!0}]}]};function Qs(e){let o=e.loadingShows;return o==="image"?"image":o!=null&&o!==""?"frame":Eo(e.poster)?"image":"frame"}function dfe(e){let[o,t]=Qs(e)==="image"?[e.poster,e.videoFrame]:[e.videoFrame,e.poster];return Eo(o)||Eo(t)||void 0}function vC(e){if(Eo(e.mediaVideo)){if(Qs(e)==="frame")return Eo(e.videoFrame)?void 0:Eo(e.poster)?"frame-missing-image":"frame-missing-surface";if(!Eo(e.poster))return Eo(e.videoFrame)?"image-missing-frame":"image-missing-surface"}}var Ec="videoFrames",Km="videoFramesNotOwn";function kC(e,o,t){let a=Eo(e.mediaVideo);if(!a||!o||Qs(e)!=="frame"||Eo(e.videoFrame))return;let r=o[a],n=!!Eo(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 T4(e,o){let t=Eo(e),a=t&&o?o[t]:void 0;return a?.state==="ready"&&a.frame?a.frame:void 0}function ffe(e,o,t){let a=t?.[Km];if(!(Array.isArray(a)&&a.includes(e)))return T4(o,t?.[Ec])}import{useSyncExternalStore as P4}from"react";function Oc(){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 P4(t,r,r)}}}var Ne="SiteHeader",Ae="SiteFooter",Vm="sections",hfe=[Ne,Ae],Cn=e=>e===Ne||e===Ae,TC=e=>`${e}:${Vm}`;function PC(e,o,t=[]){return{type:e,props:{id:o,[Vm]:t}}}var E4=new Set(["Footer",Ne,Ae]);function vn(e){let o=new Set,t=!1,a=e.filter(r=>{let n=r?.type??"";return n==="Header"?(t=!0,!1):E4.has(n)?o.has(n)?(t=!0,!1):(o.add(n),!0):!0});return t?a:e}function _c(e,o){return e.some(t=>t?.type===o.type)?e:o.type===Ne?[o,...e]:[...e,o]}var EC={[Ne]:{max:3,takes:["Flex","Ticker"]},[Ae]:{max:6,takes:["Flex","Prose","Logos","Divider"]}};function OC(e,o,t){if(!Cn(e))return!0;let a=EC[e];return t<a.max&&a.takes.includes(o)}function _C(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(!Cn(n?.type))continue;let s=n.props?.[Vm];if(!Array.isArray(s)||!s.some(c=>c?.props?.id===a))continue;let l=EC[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 O4}from"efficient-easel/draw";function el(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function Ac(e,o,t){let a=el(t?.zone),r=a?O4(e,o,a.ownerId):null;return r&&a?{...r,slot:a.slot}:null}import{isNode as _4}from"efficient-easel/data";var AC="Footer",RC=[Ne,AC,Ae],br=e=>{let o=e?.content;return Array.isArray(o)?o:[]},_a=e=>{let o=e?.zones;return o&&typeof o=="object"&&!Array.isArray(o)?o:null},kn=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0},LC=e=>el(e)?.ownerId??"";function FC(e){let o=vn(br(e)),t=o.some(a=>a?.type===Ae);return o.filter(a=>a?.type===Ne||a?.type===Ae||a?.type===AC&&!t)}function Rc(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(_4(r)){let n=kn(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(LC(s))||(n.add(s),a(l),r=!0)}}return t}function BC(e,o){let t=br(e).filter(a=>{let r=kn(a);return typeof a?.type=="string"&&RC.includes(a.type)||r!==void 0&&o(r)});return t.length?Rc(t,_a(e)):new Set}function qm(e,o){let t={},a={};for(let[r,n]of Object.entries(e??{}))(o.has(LC(r))?t:a)[r]=n;return{owned:t,rest:a}}function DC(e,o){if(!o)return e;let t=FC(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,...br(e),...r]},{owned:s}=qm(_a(o),Rc(t,_a(o)));return Object.keys(s).length&&(n.zones={..._a(e)??{},...s}),n}function Ym(e,o){if(!o)return{page:e,chrome:null};let t=FC(o),a=new Set(t.map(kn).filter(w=>!!w)),r=[],n=[];for(let w of br(e)){let b=kn(w);b&&a.has(b)||Cn(w?.type)?n.push(w):r.push(w)}let s=new Map(n.map(w=>[kn(w),w])),l=new Set,c=vn(br(o)).flatMap(w=>{let b=kn(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=vn(c);let d=c.length===br(o).length&&c.every((w,b)=>w===br(o)[b]),f=_a(e),m=Rc(c,f),{owned:u,rest:x}=qm(f,m),I=qm(_a(o),Rc(t,_a(o))).owned,g={...o,content:d?o.content:[...c]},k=_a(o);if(k||Object.keys(u).length){let w={};for(let[b,v]of Object.entries(k??{}))b in I?b in u&&(w[b]=u[b]):w[b]=v;for(let[b,v]of Object.entries(u))b in w||(w[b]=v);g.zones=w,k&&A4(g.zones,k)&&(g.zones=k)}let C={...e,content:r};return f&&(Object.keys(x).length||!Object.keys(I).length?C.zones=x:delete C.zones),{page:C,chrome:g}}function A4(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 NC(e,o){return t=>e(t)||t!==void 0&&RC.includes(t)&&o()}var MC=null;function Xm(e){MC=e}function xt(){return MC}var HC=null;function Jm(e){HC=e}function Lc(){return HC}var Zm=Oc();function WC(e,o,t){if(!o)return;let a={...Zm.get(e)};for(let[r,n]of Object.entries(o))a[r]={...n,noted:t};Zm.set(e,a)}function $C(e,o){WC(e,o,"load")}function zC(e,o){WC(e,o,"save")}function Fc(e){return Zm.use(e)}var Qm=e=>!!xt()?.sectionOf(e);function GC(e,o=Qm){return BC(e,o)}function UC(e,o,t,a=Qm){if(t)return e&&GC(o,a).has(e)?void 0:t}function jC(e,o,t=Qm){if(!e)return{};let a=[...GC(o,t)];return a.length?{[Ec]:e,[Km]:a}:{[Ec]:e}}import{ScreenDocumentContext as rG}from"efficient-easel/screen/components/ScreenDocumentContext";import{readHidable as Ua,hidableText as nG}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as kP,LINK_FIELD_MARKER as sG,MEDIA_FIELD_MARKER as lG,SCAFFOLD_FIELD_MARKER as iG,TEXT_FIELD_MARKER as sa,foldMetaOf as ca,textFieldIdentifier as mye}from"efficient-easel/draw";import{jsx as ZC}from"react/jsx-runtime";import{useCallback as F4}from"react";import{useEasel as B4}from"efficient-easel/easel";import{SettingsAction as D4}from"efficient-easel/panel";import{CORNER_SIDES as Bc,hasCornerSubset as ol,normalizeCornerSides as Nt}from"efficient-easel/screen/lib/content/style-keys";function eh(e){return typeof e=="number"&&Number.isFinite(e)}function Afe(e,o){if(!eh(e))return;let t=lc(Ft(e));if(Object.keys(t).length===0)return;let a=t[oh];if(typeof a!="string")return t;let r=ol(o)?yr(a,Nt(o)??[]):a;return{...t,[R4]:r}}var R4="--sf-section-radius",oh="--sf-card-radius";function yr(e,o){return Bc.map(t=>o.includes(t)?e:"0").join(" ")}var KC=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var L4="--sf-card-box-radius";function th(e){return typeof e=="number"&&Number.isFinite(e)}function Bfe(e,o){if(!th(e))return;let t=lc(Ft(e))[oh];if(typeof t!="string")return;let a=ol(o)?yr(t,Nt(o)??[]):t;return{[L4]:a}}function VC(e,o){let t=e.find(n=>n?.props?.id===o);if(!t)return[...e];let a=t.props?.cardCorners,r=t.props?.cardCornerSides;return e.map(n=>n?.props?.id===o?n:{...n,props:{...n.props,cardCorners:a,cardCornerSides:r}})}function qC(e,o,t){let a=Ac(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}:th(l?.props?.cardCorners)?{can:!0,others:d,zone:a.zone,index:a.index,data:{...a.item,props:{...a.item.props,[r]:VC(n,c)}}}:{can:!1,reason:"unset",others:d}}function YC(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 XC(e){return vo("Applied to {n} card","Applied to {n} cards",e)}function JC(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as N4}from"efficient-easel/screen/lib/document/use-section-ops";var M4="apply-corners-to-siblings",H4="Apply to all cards";function W4({plan:e,onPress:o}){return ZC(D4,{id:M4,label:i(H4),note:YC(e),disabled:!e.can,doneLabel:XC(e.others),onPress:o})}function QC(){let{appState:e,config:o}=B4(n=>n),t=N4(),a=qC(o,e.data.content??[],e.ui.itemSelector),r=F4(()=>{JC(a,t.replaceComponent)},[a,t]);return ZC(W4,{plan:a,onPress:r})}import{isShown as cv,lazyShowWhenContext as Q4}from"efficient-shell/format";var Aa="product",Dc="recordType",ev={key:Aa,label:"Product",fields:[]},$4=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,z4=/^[a-z][A-Za-z0-9]*$/,G4=["text","date","images"],ah=new Map,ov=0;function U4(e){if(typeof e.key!="string"||!$4.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===Aa)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"||!z4.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(!G4.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 Yfe(e){let o=e.map(U4);for(let t of o)ah.set(t.key,t);o.length&&(ov+=1)}function rh(){return[ev,...ah.values()]}function j4(e){return e===Aa?ev:ah.get(e)??null}function nh(){return ov}function tl(e){let o=e?.[Dc];return typeof o!="string"?Aa:o.trim()||Aa}function sh(e){return tl(e)===Aa}function Xfe(e,o){let t=j4(e)?.fields??[];return o?t.filter(a=>o.includes(a.kind)):t}var Nc="product",tv="tyre",K4=[Nc,tv];function Qfe(e){return K4.includes(e)}var V4="productType",q4={[Nc]:"alloy-wheel",[tv]:"tyre"},Y4=["alloy-wheel","tyre"];function av(e,o){return sh(o)?rv(o)??q4[e]??null:null}function rv(e){if(!sh(e))return null;let o=e?.[V4];return typeof o=="string"&&Y4.includes(o)?o:null}function eue(e){let o=e?.root;return rv(o?.props)}var lh="Main Pages",X4="Dynamic Pages",ih="dynamic",J4="dynamic";function Sr(e){return e.kind===J4}var ch="lightbox";function nv(e){return e.kind===ch}function sv(e){let o=[],t=[];for(let a of e){if(Sr(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??lh,rows:[a]})}if(t.length){let a=o.findIndex(r=>r.key.startsWith("system:"));o.splice(a===-1?o.length:a,0,{key:ih,label:X4,rows:t})}return o}var Mc=null,lv=null;function Z4(e,o){Mc=e,lv=o}function sue(e){Z4(e,null)}function lue(){return Mc}function al(){return Sr({kind:lv})||Mc===Nc}function iue(e){return av(Mc??"",e)??"alloy-wheel"}function cue(e){return al()?tl(e):null}function dh(e,o,t){let a=!1,r={};for(let[n,s]of Object.entries(e)){if(!cv(Em(s),o??{},t)){a=!0;continue}let l=e5(s,o?.[n],o??{},t);l!==s&&(a=!0),r[n]=l}return a?r:e}function e5(e,o,t,a){let r=e?.options;if(!Array.isArray(r))return e;let n=r.filter(s=>s?.value===o||!s?.showWhen||cv(s.showWhen,t,a));return n.length===r.length?e:{...e,options:n}}function dv(e,o,t,a){let r=Ac(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 xue(e,o={}){return Q4({parentType:()=>e.parent?.type??void 0,parent:()=>e.parent?.props??void 0,dynamicPage:()=>al(),root:()=>e.appState?.data?.root?.props,...o})}var fv=1;function o5(e){return Ft(e)}function bue(e){let o=o5(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var uv=1,pv="Corners";function t5(e){return Ft(e)}function Cue(e,o){let t=t5(e);if(t===null)return null;let a=`${t}px`;return{borderRadius:ol(o)?yr(a,Nt(o)??[]):a}}import{isNodeList as a5}from"efficient-easel/data";var Tn=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],hv="bottom-left",Pn=4,r5=Pn+1,mv=40,n5=30,s5=100,l5=60,Tue=100;var fh={"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 i5(e){let o=Tn.indexOf(rl(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function c5(e){return 1+i5(e).band*(r5+1)}function Pue(e){return c5(e)+1}function rl(e){return Tn.includes(e)?e:hv}function Eue(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-mv,Math.min(mv,Math.round(o)))}function Oue(e,o=l5){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(n5,Math.min(s5,Math.round(t)))}function uh(e,o){let t=rl(o);return e.filter(a=>rl(a?.props?.placement)===t).length}function xv(e){return`${fh[rl(e)]} already holds ${Pn} boxes. Move one somewhere else first.`}function Iv(e,o){let t=e.filter(a=>a?.props?.id!==o);return Tn.map(a=>{let r=uh(t,a)>=Pn,n=fh[a];return r?{value:a,label:n,disabled:!0,title:xv(a)}:{value:a,label:n}})}function Hc(e,o){let t=o===void 0?hv:rl(o?.props?.placement);return uh(e,t)>=Pn?xv(t):null}var Wc="HeroGroup";function d5(e){return Tn.map(o=>{let t=uh(e,o);return{anchor:o,total:t,hidden:t-Pn}}).filter(o=>o.hidden>0)}function ph(e){let o=d5(e);return o.length===0?null:o.map(({anchor:t,total:a,hidden:r})=>{let n=fh[t],s=r===1?"1 is not shown":`${r} are not shown`;return`${n} holds ${a} boxes. The published page draws the first ${Pn}, so ${s}. ${r===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function gv(e,o){let t=o;if(t?.type!==Wc)return null;let a=t.props?.id===void 0?"":String(t.props.id);return a?Hc(mh(e,a),t):null}function mh(e,o){let t=yv(e,o);return t&&t.ownerType===u5?t.siblings:[]}function bv(e,o){let t=yv(e,o);return t?t.ancestorTypes.filter(a=>a===Wc).length:f5}var f5=1,u5="HeroSlide";function yv(e,o){let t=(a,r,n)=>{if(r>12||!a||typeof a!="object")return null;if(a5(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 Ra(e){return`color-mix(in srgb, var(--overlay-scrim) ${Math.round(Math.min(1,Math.max(0,e))*1e3)/10}%, transparent)`}function Lue(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 hh=[{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 Fue(e){return hh.filter(o=>e.includes(o.shape))}function Bue(e){return e==="below"}var Due=`linear-gradient(180deg, transparent 40%, ${Ra(.85)} 100%)`,Nue=`linear-gradient(0deg, transparent 40%, ${Ra(.85)} 100%)`,Mue=Ra(.45);var wv=12,Cv=6,p5=800,Zt={twoAcross:{label:"Two across",across:2,acrossPhone:2,desktop:[[6,1],[6,1]],phone:[[3,1],[3,1]]},zigzag:{label:"Zigzag",across:2,acrossPhone:2,desktop:[[8,1],[4,1],[4,1],[8,1]],phone:[[4,1],[2,1],[2,1],[4,1]]},brick:{label:"Brick",across:2,acrossPhone:2,desktop:[[5,1],[7,1],[7,1],[5,1]],phone:[[2,1],[4,1],[4,1],[2,1]]},twoTall:{label:"Two tall",across:2,acrossPhone:2,desktop:[[6,2],[6,2]],phone:[[3,2],[3,2]]},offsetTall:{label:"Offset tall",across:2,acrossPhone:2,desktop:[[5,2],[7,1],[3,1],[4,1]],phone:[[3,2],[3,1],[3,1]]},ladder:{label:"Ladder",across:2,acrossPhone:2,desktop:[[3,2],[9,1],[5,1],[4,1]],phone:[[2,2],[4,1],[2,1],[2,1]]},threeAcross:{label:"Three across",across:3,acrossPhone:3,desktop:[[4,1],[4,1],[4,1]],phone:[[2,1],[2,1],[2,1]]},bigLeft:{label:"Big left",across:3,acrossPhone:3,desktop:[[6,1],[3,1],[3,1]],phone:[[4,1],[1,1],[1,1]]},bigRight:{label:"Big right",across:3,acrossPhone:3,desktop:[[3,1],[3,1],[6,1]],phone:[[1,1],[1,1],[4,1]]},threeStagger:{label:"Three stagger",across:3,acrossPhone:3,desktop:[[5,1],[4,1],[3,1],[3,1],[4,1],[5,1]],phone:[[3,1],[2,1],[1,1],[1,1],[2,1],[3,1]]},threeLadder:{label:"Three ladder",across:3,acrossPhone:3,desktop:[[3,1],[4,1],[5,1],[5,1],[4,1],[3,1]],phone:[[1,1],[2,1],[3,1],[3,1],[2,1],[1,1]]},tallMiddle:{label:"Tall middle",across:3,acrossPhone:3,desktop:[[4,1],[4,2],[4,1],[4,1],[4,1]],phone:[[2,1],[2,2],[2,1],[2,1],[2,1]]},fourAcross:{label:"Four across",across:4,acrossPhone:2,desktop:[[3,1],[3,1],[3,1],[3,1]],phone:[[3,1],[3,1]]},bigFirst:{label:"Big first",across:4,acrossPhone:2,desktop:[[6,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1]],phone:[[6,1],[3,1],[3,1]]},fourStagger:{label:"Four stagger",across:4,acrossPhone:2,desktop:[[4,1],[3,1],[2,1],[3,1],[2,1],[3,1],[4,1],[3,1]],phone:[[4,1],[2,1],[2,1],[4,1]]},tallFirst:{label:"Tall first",across:4,acrossPhone:2,desktop:[[3,2],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1]],phone:[[3,2],[3,1],[3,1]]},oneThenFour:{label:"One then four",across:4,acrossPhone:2,desktop:[[12,1],[3,1],[3,1],[3,1],[3,1]],phone:[[6,1],[3,1],[3,1]]},sixAcross:{label:"Six across",across:6,acrossPhone:3,desktop:[[2,1],[2,1],[2,1],[2,1],[2,1],[2,1]],phone:[[2,1],[2,1],[2,1]]},sixStagger:{label:"Six stagger",across:6,acrossPhone:6,desktop:[[3,1],[2,1],[1,1],[2,1],[1,1],[3,1],[1,1],[3,1],[2,1],[2,1],[1,1],[3,1]],phone:[[1,1],[1,1],[1,1],[1,1],[1,1],[1,1]]},twoThenThrees:{label:"Two, then threes",across:3,acrossPhone:3,lead:[[6,1],[6,1]],desktop:[[4,1],[4,1],[4,1]],leadPhone:[[3,1],[3,1]],phone:[[2,1],[2,1],[2,1]]},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"}},xh=Object.keys(Zt),vv=[2,3,4,6];function Ih(e,o){return xh.filter(t=>t===o||e===null||Zt[t].across===e)}function kv(e){return typeof e!="string"||e===""?null:Zt[e]??null}function Sv(e,o){return o?Cv/e.acrossPhone:wv/e.across}function gh(e){return e.ratio?hh.find(o=>o.shape===e.ratio)?.ratio??null:null}function Tv(e){return[...e.lead??[],...e.desktop]}var m5="sf-wall--";function h5(e){return`${m5}${e}`}function $ue(e){let o=Zt[e],t=`.${h5(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,I],g)=>{f.push(`${t} > :nth-child(${g+1}){grid-column:span ${x};grid-row:span ${I}}`)}),l.forEach(([x,I],g)=>{f.push(`${t} > :nth-child(${m}n+${u+g+1}){grid-column:span ${x};grid-row:span ${I}}`)});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(${wv},minmax(0,1fr))}`);let s=gh(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,Sv(o,!1),o.lead)),a.push(`@media (max-width:${p5}px){`),a.push(`${t}{grid-template-columns:repeat(${Cv},minmax(0,1fr))}`),a.push(...n(o.phone,Sv(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 $c=12,Pv=1,x5=3;var I5=3;function bh(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 g5(e){return bh(e,1,$c)??I5}function Uue(e,o){return bh(e,Pv,x5)??(g5(o)===4?2:Pv)}function jue(e){return e==null||e===""?null:bh(e,1,$c)}var Kue="data-sf-span";function Vue(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(kv(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 y5 from"efficient-easel/icons";function zc(e){let o=e.replace(/(^|-)([a-z])/g,(a,r,n)=>n.toUpperCase()),t=y5[`${o}Icon`];return t?b5(t,{size:16}):null}import{jsx as La,Fragment as C5,jsxs as Bv}from"react/jsx-runtime";import{useContext as v5,useEffect as k5,useId as T5,useState as Dv}from"react";import{SettingsField as P5,SettingsSwitch as E5}from"efficient-easel/panel";import{AnchorIcon as O5}from"efficient-easel/icons";import{ScreenDocumentContext as _5}from"efficient-easel/screen/components/ScreenDocumentContext";import{Snippet as A5}from"efficient-shell/ui";import{slugify as R5}from"efficient-shell/format";import{slugify as S5}from"efficient-shell/format";function nl(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}var Gc=e=>S5(nl(e));var Uc="homepage";import{slugify as w5}from"efficient-shell/format";var Ev=[{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 Ov(e){return e.offersCommerce&&e.offersService?Ev:Ev.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}var yh="#popup:";function _v(e){return`${yh}${e}`}function Av(e){return e.startsWith(yh)&&e.slice(yh.length).trim()||null}function sl(e){return e===Uc?"/":`/${e}`}function Rv(e){return`/journal/${e}`}function ape(e){return`/wheels/${e}`}function jc(e,o){return`${sl(e)}#${o}`}function Lv(...e){let o=new Set,t=[];for(let a of e)for(let r of a?.content??[]){let n=nl(r?.props?.anchor);if(!n)continue;let s=w5(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function rpe(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 Fv(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}import{readHidable as L5}from"efficient-easel/draw";function Nv({value:e,onChange:o,nameBox:t}){let a=L5(e).text,[r,n]=Dv(!1),s=r||a.trim()!=="",l=T5();return Bv(C5,{children:[La(P5,{label:i("Add an anchor"),labelId:l,icon:La(O5,{}),action:La(E5,{checked:s,ariaLabelledBy:l,onChange:c=>{n(c),!c&&a!==""&&o("")}})}),s&&t(e,o),s&&La(F5,{name:a})]})}function F5({name:e}){let o=v5(_5),t=o?.templateId?"":o?.currentSlug??"",[a,r]=Dv("");k5(()=>r(bn()||window.location.origin),[]);let n=R5(e);if(!n||!t)return null;let s=`${a}${jc(t,n)}`,l=s.replace(/^https?:\/\//,""),c=l.lastIndexOf("#");return La("div",{className:"sf-anchor-link",children:La(A5,{value:s,label:i("link"),size:"sm",children:Bv("span",{className:"sf-anchor-link-text",children:[La("span",{className:"sf-anchor-link-path",children:l.slice(0,c)}),La("span",{className:"sf-anchor-link-hash",children:l.slice(c)})]})})})}import{jsx as Mt,jsxs as B5}from"react/jsx-runtime";import{Fragment as D5}from"react";import{Button as Kc,Tooltip as N5}from"efficient-shell/ui";function Mv({status:e,statusText:o,onRefresh:t,busy:a=!1,edit:r,hint:n,spaced:s=!0,compact:l=!1,oneLine:c=!1}){return l?Mt("div",{className:`sf-blogsource sf-blogsource--compact${c?" sf-blogsource--line":""}`,style:s?{marginTop:8}:void 0,children:Mt(N5,{content:n,className:c?"sf-name-tip":void 0,children:Mt("p",{className:"sf-blogsource-status","data-state":e,children:[o?Mt(D5,{children:o},"status"):null,t?Mt(Kc,{variant:"link",size:"sm",className:"sf-blogsource-link",onClick:t,disabled:a,children:i("Refresh now")},"refresh"):null,r?Mt(Kc,{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])})})}):B5("div",{className:"sf-blogsource",style:s?{marginTop:9}:void 0,children:[Mt("p",{className:"sf-blogsource-status","data-state":e,children:o}),t?Mt(Kc,{variant:"secondary",className:"sf-blogsource-action",onClick:t,disabled:a,children:i("Refresh now")}):null,r?Mt(Kc,{variant:"secondary",className:"sf-blogsource-action",onClick:r.onClick,children:r.label}):null,Mt("p",{className:"es-field-hint",children:n})]})}import{AdjustIcon as cG,EyeIcon as dG,AnimationIcon as fG,BackgroundIcon as pP,BorderAllIcon as uG,BlockSectionIcon as pG,ColumnWidthsIcon as Bx,ColumnsIcon as TP,CornerIcon as mG,DirectionDownIcon as hG,DirectionLeftIcon as xG,DirectionRightIcon as IG,DirectionUpIcon as gG,EditIcon as bG,GapIcon as yG,GridIcon as SG,GroundIcon as Fx,HashIcon as PP,HeightIcon as wG,ImageIcon as CG,ListIcon as vG,LocationIcon as mP,PaddingBottomIcon as EP,PaddingLeftIcon as OP,PaddingRightIcon as _P,PaddingTopIcon as AP,PageIcon as kG,StickyIcon as TG,SearchIcon as PG,SquareIcon as EG,TypeIcon as OG,WidthIcon as _G}from"efficient-easel/icons";import{jsx as ze,Fragment as wr,jsxs as Cr}from"react/jsx-runtime";import{CaptionIcon as M5,DateIcon as H5,FlagIcon as W5,TitleIcon as $5,ButtonIcon as z5,DollarIcon as G5,HashIcon as U5,LinkIcon as j5,NoteIcon as K5,TagIcon as V5,TextLinesIcon as q5}from"efficient-easel/icons";var Hv={body:q5,button:z5,link:j5,label:V5,number:U5,price:G5,note:K5,name:W5,date:H5,caption:M5,title:$5},Wv={eyebrow:Cr(wr,{children:[ze("path",{d:"M5 6.5h5"}),ze("path",{d:"M5 12.5h14"}),ze("path",{d:"M5 18h11"})]}),heading:Cr(wr,{children:[ze("path",{d:"M6.5 5v14"}),ze("path",{d:"M17.5 5v14"}),ze("path",{d:"M6.5 12h11"})]}),intro:Cr(wr,{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:Cr(wr,{children:[ze("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),ze("path",{d:"M6.5 12h7"})]}),quote:Cr(wr,{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:Cr(wr,{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:Cr(wr,{children:[ze("path",{d:"M4 7h16"}),ze("path",{d:"M4 14h3.5"}),ze("path",{d:"M10.5 14h3"}),ze("path",{d:"M17 14h3"})]})};function Sh({noun:e,size:o=14,strokeWidth:t=1.8,className:a,style:r}){let n=Hv[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:Wv[e]})}var kpe=Object.keys(Hv);var Tpe=Object.keys(Wv);import{parseHexColor as a6}from"efficient-shell/format";import{parseHexColor as qv}from"efficient-shell/format";import{COLOR_SLOTS as Yv,FILL_COLOR_SLOTS as o6,colorRole as t6,fillColorRole as Xv}from"efficient-shell/markup";import{parseHexColor as Gv}from"efficient-shell/format";import{FILL_COLOR_SLOTS as Z5}from"efficient-shell/markup";var ll=[{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}],Y5=ll.filter(e=>e.ink);function X5(e){let o={color:e.fg};for(let{role:t,token:a}of Y5)o[a]=e[t];return o}var J5={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},$v=Object.freeze(X5(J5));var Vc=e=>{let o=ll.find(t=>t.role===e);return o?`var(${o.token})`:""},Q5=e=>Vc(e)?`var(--theme-${e})`:"",zv={main:{ink:Ea.accent,page:Ea.accent,key:"accent",label:()=>i("Main"),words:e=>i("Theme {n} main color",{n:e})},text:{ink:Ea.text,page:Ea.text,key:"text",label:()=>i("Text"),words:e=>i("Theme {n} text color",{n:e})},background:{ink:Vc("bg"),page:Q5("bg"),key:"background",label:()=>i("Background"),words:e=>i("Theme {n} background",{n:e})},muted:{ink:Ea.labels,page:Ea.labels,key:"muted",label:()=>i("Muted"),words:e=>i("Theme {n} muted color",{n:e})},surface:{ink:Vc("surface"),page:Vc("surface"),key:"surface",label:()=>i("Surface"),words:e=>i("Theme {n} surface color",{n:e})}};function Fa(e){return Object.hasOwn(zv,e)?zv[e]:void 0}var wh="#9ca3af";function En(e,o,t){let a=Fa(e);return a?{hex:Gv(o[a.key]??"")??"",words:a.words(t)}:null}function Uv(e,o){return Z5.flatMap(t=>{let a=En(t,e,o);return a&&Fa(t)?.ink?[{name:t,label:a.words,value:a.hex||wh}]:[]})}var e6=["main","text","background"];function jv(e){let o=new Set,t=[];return eo(e).themes.forEach((a,r)=>{for(let n of e6){let s=Fa(n),l=s?a[s.key]:void 0,c=typeof l=="string"&&l?Gv(l):null;!s||!c||o.has(c)||(o.add(c),t.push({value:c,label:s.words(r+1)}))}}),t}function Qt(e){return Fa(e)?.ink??""}function Ht(e){if(typeof e!="string")return null;let o=Xv(e.trim());return o?.kind==="slot"&&Qt(o.slot)?o.slot:null}var Kv={accent:"main",labels:"muted"};function zo(e){return Object.hasOwn(Kv,e)?Kv[e]:e}function On(e){if(!e)return"";if(e.startsWith("#"))return qv(e)===e.toLowerCase()?e:"";let o=t6(zo(e));return o?.kind==="slot"?Qt(o.slot):""}function _n(e,o=Yv){return o.flatMap(t=>{let a=Fa(t);return a?.ink?[{name:t,label:a.label(),value:e?.[t]||wh}]:[]})}function Jv(e){let o=Xv(zo(e));return o?.kind==="slot"?Qt(o.slot):""}function Ch(e){let o=e?.trim();return o?o6.find(t=>Qt(t)===o)??null:null}function Zv(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 Yv){let l=Qt(s);if(!l)continue;let c=l.replace(/^var\((--[\w-]+)\)$/,"$1"),d=r.getPropertyValue(c).trim();if(!d)continue;let f=Vv(d);!f&&n&&(n.fillStyle="#000000",n.fillStyle=d,f=Vv(String(n.fillStyle))),f&&(o[s]=f)}return o}function Vv(e){let o=e.trim().toLowerCase();if(o.startsWith("#"))return qv(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 r6="#ffffff";function vh(e){return Qv(e)||(n6(e)?e:r6)}function Qv(e){let o=Ht(e);return o?Fa(o)?.page??"":""}function n6(e){return typeof e=="string"&&a6(e)===e.toLowerCase()||Qv(e)!==""}function Gpe(e){return{"--bg":vh(e)}}import{parseHexColor as s6}from"efficient-shell/format";import{fillColorRole as l6}from"efficient-shell/markup";function il(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 Zpe="sf-card",Ba={min:0,max:100,step:5,fallback:0,unit:"%"},i6=[{label:"Even",value:"even"},{label:"From the bottom",value:"bottom"}],c6="68%",Qpe={desktop:20,phone:20,side:40,sidePhone:24},eme="sf-box-sides";function ok(e){return typeof e=="string"&&e.trim()!==""}function ek(e,o){let t=typeof e=="number"?e:Number.parseFloat(String(e??""));if(!Number.isFinite(t)||t<=0)return null;let a=(Math.min(Ba.max,Math.max(Ba.min,t))/100).toFixed(2);return o!=="bottom"?{background:Ra(Number(a))}:{background:`linear-gradient(0deg, ${Ra(Number(a))} 0%, ${Ra(0)} ${c6})`}}var qc=e=>typeof e=="string"?s6(e.trim()):null,kh=e=>{let o=qc(e);if(o!==null||typeof e!="string")return o;let t=e.trim();return t&&!t.startsWith("#")&&Jv(t)||null},Yc=e=>{if(typeof e!="string")return null;let o=l6(zo(e.trim()));return o?.kind==="slot"?o.slot:null},d6="swatch";function ome(e,o){if(!o)return null;let t=Mm(o,ht(e,d6)),a=Ht(t);return qc(t)??(a&&Qt(a)||null)}var f6={tabletClass:"sf-fill-tablet",tabletVar:"--sf-fill-tablet",phoneClass:"sf-fill-phone",phoneVar:"--sf-fill-phone"};function tme(e,o,t){return il(f6,kh(e),kh(o),kh(t))}var u6={tabletClass:"sf-wash-tablet",tabletVar:"--sf-wash-tablet",phoneClass:"sf-wash-phone",phoneVar:"--sf-wash-phone"};function ame(e){let o=ek(e.darken,e.darkenStyle);if(!o)return{className:"",style:{}};let t=(m,u)=>String(ek(m,u)?.background??"none"),a=m=>(typeof m=="number"||typeof m=="string"&&m.trim()!=="")&&Number.isFinite(Number(m))?m:void 0,r=m=>i6.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 il(u6,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 rme(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 tk(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(Th(a,o,0))return{type:typeof r=="string"?r:"",props:n??{}}}return null}function Th(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(r=>Th(r,o,t+1));let a=e.props;return a&&typeof a=="object"&&a.id===o?!0:Object.values(e).some(r=>Th(r,o,t+1))}function ak(e,o){let t=e?.content;return Array.isArray(t)?Xc(t,o,0)??[]:[]}function Xc(e,o,t){if(t>12||!e||typeof e!="object")return null;if(Array.isArray(e)){for(let r of e){let n=Xc(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=Xc(r,o,t+1);if(n)return[a,...n]}return null}for(let r of Object.values(e)){let n=Xc(r,o,t+1);if(n)return n}return null}import{SettingsDefaultReset as Co,SettingsDrill as AG,SettingsField as ro,SettingsGroup as RG,SettingsGroupSub as Rye,SettingsSegmented as LG,SettingsBorder as FG,SettingsSidesEach as BG,SettingsSwitch as Dx,borderSides as DG,borderStartEach as NG}from"efficient-easel/panel";import{ListField as MG}from"efficient-easel/fields";import{DisplayChips as HG}from"efficient-shell/ui";import{HIDDEN_KEY as p6,hiddenInEveryView as m6,hiddenInView as Ph,hiddenKeyOf as rk}from"efficient-easel/screen/lib/content/view-hide";var h6={"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 Jc(e){let o=t=>t?"1":"0";return h6[o(e.desktop)+o(e.tablet)+o(e.mobile)]}var An=[p6,rk("tablet"),rk("mobile")];function nk(e){return{desktop:Ph(e,"desktop"),tablet:Ph(e,"tablet"),mobile:Ph(e,"mobile")}}function cl(e){return m6(e)}function ime(e){let o=nk(e);return["desktop","tablet","mobile"].filter(t=>o[t]).join(" ")}var x6={"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 cme(e){let o=nk(e),t=a=>a?"1":"0";return x6[t(o.desktop)+t(o.tablet)+t(o.mobile)]}function Rn(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 Zc(e,o){return Rn(e)[o]!==!1}function Eh(e,o,t){let a=Rn(o)[t];return typeof a=="boolean"?a:Zc(e,t)}function sk(e){return Object.values(Rn(e)).some(o=>o===!1)}function lk(e){return Object.keys(Rn(e)).length>0}function ik(e,o,t){let a={...Rn(e)};return t?delete a[o]:a[o]=!1,Object.keys(a).length?a:void 0}function ck(e,o,t){return{...Rn(e),[o]:t}}function ume(e,o,t){let a=!Zc(e,t);return Jc({desktop:a,tablet:a,mobile:!Eh(e,o,t)})}import{AlignmentGrid as WG,Checkbox as Nye,ColorSwatch as $G,CornersInput as zG,DatePicker as Mye,DateTimePicker as GG,FOCAL_DEFAULT as Hye,IconPicker as RP,COLUMN_COUNT_MAX as hP,COLUMN_SHARE_MIN as UG,COLUMN_SHARES_EQUAL as jG,resolveColumnShares as LP,WidthsBar as KG,useShellStrings as VG,IconButton as FP,InputNumber as xP,Slider as qG,Tooltip as Nx}from"efficient-shell/ui";import{backendOf as I6}from"efficient-easel/screen/lib/session";var Ge=I6,Qc=e=>e.blocks;async function dk(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 Oh="Lookup busy \u2014 try again in a moment.",ed=e=>typeof e=="number"&&Number.isFinite(e);function bme(e){return e.some(o=>{let t=o?.geocode;return t?t.pending||t.manual&&t.lat===void 0&&t.lng===void 0?!0:ed(t.lat)&&t.lat!==o.lat||ed(t.lng)&&t.lng!==o.lng:!1})}async function yme(e,o,{geocode:t=dk,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:Oh}})}}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=ed(l.lat)&&l.lat!==s.lat?l.lat:s.lat,d=ed(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 Ro,jsxs as Ah}from"react/jsx-runtime";import{useRef as g6}from"react";import{ColorPicker as b6,ColorPickerPanel as y6,ColorSwatch as S6,HexInput as w6,Popover as C6,Tooltip as v6,colorFill as k6,colorSwatchClasses as T6,useShellStrings as P6}from"efficient-shell/ui";import{SettingsDefaultReset as E6,SettingsField as O6}from"efficient-easel/panel";import{typedHex as _h}from"efficient-easel/pick";var fk="Not set";function _6({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,ariaLabel:s,choices:l}){return Ro(R6,{value:e,onChange:o,label:i(s??t),id:a,caption:r,inherited:n,choices:l})}function A6(){let{theme:e}=he();return jv(e)}function R6({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,choices:s}){let l=A6(),c=e?null:_h(n??""),d=r!==void 0&&(!e||_h(r)!==_h(e))?r:null,f=m=>{m!==e&&o(m)};return Ah("div",{className:"sf-colour",children:[s?Ro(L6,{id:a,value:e,onChange:o,label:t,presets:l,follows:c,choices:s}):Ro(b6,{id:a,value:e,onChange:f,label:t,presets:l,fallback:c??void 0,size:"md",align:"start"}),d!==null?Ro("span",{className:"sf-colour-caption",children:d}):Ro("span",{className:"sf-colour-hexwrap",children:Ro(w6,{value:e||c||"",onChange:f,label:i("{label} hex code",{label:t}),placeholder:e||c?void 0:i(fk),className:c?"sf-colour-hex is-inherited":"sf-colour-hex",size:"md"})})]})}function L6({value:e,onChange:o,label:t,id:a,presets:r,follows:n,choices:s}){let l=P6().color,c=e||n||"",d=s.findIndex(u=>u.selected),f=d>=0,m=g6(d);return f&&(m.current=d),Ro(C6,{id:a,trigger:Ro("span",{"aria-hidden":"true",className:"absolute inset-0",style:k6(c)}),triggerLabel:l.swatch(t,c.toUpperCase()||l.none),triggerClassName:T6({size:"md"}),"aria-label":l.panel(t),align:"start",children:Ah("div",{className:"sf-colour-window",children:[Ro("div",{role:"group","aria-label":t,className:"sf-colour-choices",children:s.map(u=>Ro(v6,{content:u.label,children:Ro(S6,{color:u.color,"aria-label":u.label,selected:u.selected,onClick:()=>{u.selected||u.onPick()}})},u.label))}),Ro(y6,{value:f?"":e,onChange:o,label:t,presets:r,fallback:(f?c:n)??void 0},m.current)]})})}function Lo({label:e,icon:o,changed:t,hint:a,onReset:r,resetTo:n,children:s,...l}){return Ah(O6,{label:e,icon:o,htmlFor:l.id,changed:t,hint:a,action:r?Ro(E6,{words:re()?.panel,label:e,changed:!!t,detail:n,onReset:r}):void 0,children:[_6({...l,label:e}),s]})}function dl({label:e,icon:o,value:t,inherited:a,resetTo:r,onChange:n,onReset:s,hint:l,choices:c}){let d=!!t;return Ro(Lo,{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 YG}from"efficient-easel/screen/lib/document/style-fields";import{jsx as F6}from"react/jsx-runtime";import{useEffect as B6,useState as D6}from"react";import{clearRangeOf as N6,markSelection as M6,useCaretEdit as H6}from"efficient-easel/copy";import{TextToolbar as W6}from"efficient-shell/ui";function $6(e,o,t){return M6(e,o,t,Sw)}function uk(e,o){let t=N6(o,e.length),a=Cw(e,t.start,t.end);return a.text===e?null:a}function z6(e){let[o,t]=D6(null);return B6(()=>{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 G6({target:e,value:o,onChange:t,disabled:a=!1,label:r="Formatting"}){let n=H6({target:e,onChange:t}),[s,l]=z6(e),c=u=>n(x=>{let I=$6(o,u,x);return l({start:I.selectionStart,end:I.selectionEnd}),I}),d=bw(),f={};if(s)for(let u of d)f[u.style]=ww(o,s.start,s.end,u.style);let m=a?null:uk(o,s);return F6(W6,{offered:new Set(d.map(u=>u.style)),onMark:u=>c(u),pressed:f,disabled:a,"aria-label":i(r),className:"sf-markup-bar",clear:m?{onClear:()=>n(()=>{let u=e.current,x=u&&u.ownerDocument.activeElement===u?{start:u.selectionStart??0,end:u.selectionEnd??0}:null,I=uk(o,x)??{text:o,selectionStart:x?.start??0,selectionEnd:x?.end??0};return l({start:I.selectionStart,end:I.selectionEnd}),I})}:void 0})}var Rh=G6;import{deviceField as Gt}from"efficient-easel/screen/lib/document/device-fields";import{NO_CONTROL_FIELD as XG,NoControlMark as JG,noControlField as BP}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Lh="__ownBox";function pk(e){return!!e&&typeof e=="object"&&e[Lh]===!0}function od(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var td=void 0;import{phoneKey as na,tabletKey as zn}from"efficient-easel/draw";import{jsx as Bh,Fragment as K6}from"react/jsx-runtime";import{createContext as V6,useContext as q6}from"react";var ad={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},rd={Events:["posts"],SubscribeBlogs:["posts"]};var U6=["anchor"],j6=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function fl(e){return U6.includes(e)||j6.test(e)}var Fh={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"}}};Fh.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var Ume=Object.fromEntries(Object.entries(ad).map(([e,o])=>[e,Object.keys(o)])),jme=Object.fromEntries(Object.entries(rd).map(([e,o])=>[e,[...o]]));import{NoControlMark as Y6}from"efficient-easel/screen/lib/document/panel-no-control-mark";var mk=V6(!1);function hk({children:e}){return Bh(mk.Provider,{value:!0,children:e})}function X6(){return q6(mk)}function xk({name:e,children:o}){return!X6()||!e||!J6(e)||fl(e)?Bh(K6,{children:o}):Bh(Y6,{})}function J6(e){return/^[A-Za-z0-9_$]+$/u.test(e)}var Dh="off",Nh="none",Mh=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],Hh=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function Qme(e){return lo(Mh,Dh,e)}function ehe(e){return lo(Hh,Nh,e)}var Ik="sf-card-index",ul="sf-card-index",ohe="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",Z6={plain:`counter(${ul})`,padded:`counter(${ul}, decimal-leading-zero)`,numero:`"N\xB0" counter(${ul}, decimal-leading-zero)`};function the(e,o){return o==="off"?"":`.${e}{counter-reset:${ul}}.${e} .${Ik}{counter-increment:${ul}}.${e} .${Ik}::before{content:${Z6[o]}}`}function ahe(e){return e==="hairline"?"border border-line hover:border-accent":""}var gk=[{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 ZG}from"efficient-easel/draw";import{jsx as Fo}from"react/jsx-runtime";import{SettingsDefaultReset as s3,SettingsField as Wh}from"efficient-easel/panel";import{useSelectedHost as l3}from"efficient-easel/easel";import{FOCAL_DEFAULT as i3}from"efficient-shell/format";import{ImageIcon as $h,PlayIcon as yk}from"efficient-easel/icons";import{ImageFocusPoint as c3,MediaUploadField as d3}from"efficient-shell/ui";import{useContext as f3}from"react";import{ScreenDocumentContext as u3}from"efficient-easel/screen/components/ScreenDocumentContext";import{phoneKey as p3,tabletKey as Sk}from"efficient-easel/draw";import{usePreviewDevice as m3}from"efficient-easel/draw/client";import{formatFocal as Q6,parseFocal as e3}from"efficient-shell/format";var o3="sf-focus-phone",t3="--sf-focus-phone",a3="sf-focus-tablet",r3="--sf-focus-tablet",pl=e=>{if(typeof e!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(e))return null;let{x:o,y:t}=e3(e);return Q6(o,t)};function bk(e,o){return il(n3,null,pl(o),pl(e))}var n3={tabletClass:a3,tabletVar:r3,phoneClass:o3,phoneVar:t3};import{shownTier as zh}from"efficient-easel/screen/lib/document/device-fields";import{onDesktopWords as h3}from"efficient-easel/screen/lib/document/box-fields";import{requestMediaPick as x3}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as I3}from"efficient-easel/screen/lib/host";import{useEaselSession as g3}from"efficient-easel/screen/lib/session-context";function b3(e,o,t,a=!0){let r=zh(t),n=typeof e[o]=="string"&&e[o]?String(e[o]):i3;if(r==="desktop")return{ownView:!1,followed:n,followsView:"desktop",own:void 0,focus:n,key:o};let s=r==="tablet"?Sk(o):p3(o),l=pl(e[s])??void 0,c=r==="mobile"&&a?pl(e[Sk(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 y3(e,o,t){let a=l3();if(!o||!a)return null;let r=a.values??{};if(t&&!t(r,zh(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,td)}}function wk({value:e,onChange:o,label:t,accept:a,placeholder:r,focusKey:n,focusWhen:s,frameKey:l,fieldKey:c}){let d=I3(),f=g3(),m=i(t),u=m3(),x=a.startsWith("video"),I=y3(u,x?void 0:n,s),g=!!n&&zh(u)!=="desktop",k=f3(u3),C=Gh(),w=l&&c?{video:c,frame:l}:null,b=T=>x3(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=Eo(e);if(g&&(!I||!P))return null;if(k&&!k.capabilities.mediaEditing)return Fo(Wh,{label:m,icon:x?Fo(yk,{}):Fo($h,{}),children:Fo("div",{className:"sf-image-slot-inert",children:x?i("Templates don\u2019t store videos \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created."):i("Templates don\u2019t store images \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created.")})});let F=I?.ownView&&P?Fo(s3,{words:re()?.panel,label:i("Image focus"),changed:!!I.own,detail:h3(T=>i(T),I.followed,I.followsView),onReset:I.clear}):void 0;return g&&I?Fo(Wh,{label:m,icon:Fo($h,{}),action:F,children:Fo("div",{style:{flex:"1 1 auto",minWidth:0},children:Fo(c3,{value:I.focus,onChange:I.set,label:i("Image focus"),image:P,hint:null})})}):Fo(Wh,{label:m,icon:x?Fo(yk,{}):Fo($h,{}),children:Fo("div",{style:{flex:"1 1 auto",minWidth:0},children:Fo(d3,{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,...I?{focus:I.focus,onFocusChange:I.set}:{}})})})}import{jsx as Ck}from"react/jsx-runtime";import{useId as S3}from"react";import{FieldSelect as w3}from"efficient-easel/fields";import{SettingsField as C3}from"efficient-easel/panel";function v3(e){return e.map(({value:o,label:t,note:a})=>({value:o,label:t,...a?{meta:a}:{}}))}function vk({label:e,options:o,value:t,onChange:a,emptyLabel:r,icon:n,hint:s}){let l=S3(),c=`${l}-label`,d=`${l}-button`,f=Array.isArray(t)?t:[];return Ck(C3,{label:i(e),labelId:c,icon:n,hint:s,children:Ck(w3,{id:d,multiple:!0,value:f,options:v3(o),onChange:a,placeholder:r===void 0?i("None"):i(r),ariaLabelledBy:`${c} ${d}`,inline:!0})})}import{jsx as ao,jsxs as kr,Fragment as oW}from"react/jsx-runtime";import{useCallback as Hk,useContext as tW,useId as zk,useRef as Wk,useState as $k}from"react";import{ThemeIcon as aW}from"efficient-easel/icons";import{Button as rW,useClickOutside as nW}from"efficient-shell/ui";import{SettingsField as sW}from"efficient-easel/panel";import{ScreenDocumentContext as lW}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as ce,jsxs as Na,Fragment as L3}from"react/jsx-runtime";import{parseHexColor as F3}from"efficient-shell/format";import{Button as jh,IconButton as B3,Tooltip as D3}from"efficient-shell/ui";import{jsx as Da,jsxs as k3}from"react/jsx-runtime";import{AccentIcon as T3}from"efficient-easel/icons";import{Button as P3,Tooltip as E3}from"efficient-shell/ui";function Uh(e){return Ao(e).background}function O3(e){let o=wa(e.accent,Uh(e));return o===null?null:{ratio:o,grade:gn(o)}}function _3(e){let o=Uh(e),t=wa(e.accent,o);return t===null?[]:SS(e.accent).filter(a=>{let r=wa(a,o);return r!==null&&r>t&&gn(r)==="good"})}var A3={good:"Easy to read","large-only":In["large-only"],hard:In.hard};function kk({value:e,onChange:o}){let t=O3(e),a=t?.grade,r=t&&t.grade!=="good"?_3(e):[];return Da(Lo,{label:i("Main color"),icon:Da(T3,{}),hint:t?i(A3[t.grade]):void 0,value:e.accent,onChange:n=>o({...e,accent:n}),children:r.length>0?Da("div",{className:"w-full min-w-0",children:k3("div",{className:"sf-readability",children:[Da("p",{className:"sf-readability-advice",children:R3(a,!0)}),Da("div",{className:"sf-readability-suggestions",children:r.map(n=>{let s=wa(n,Uh(e));return Da(E3,{content:i("Use {colour}",{colour:n.toUpperCase()}),children:Da(P3,{variant:"secondary",className:"sf-readability-suggestion",leftIcon:Da("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 R3(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 N3,ChevronDownIcon as Pk,ChevronUpIcon as M3,GroundIcon as H3,LayoutIcon as W3,SquareIcon as $3,TextSmallIcon as z3,TypeIcon as Tk}from"efficient-easel/icons";var ml=e=>i("Theme {n}",{n:e+1});function Ek({colors:e}){let o=Ao(e),t=Ns(e)??o.accent;return Na("span",{className:"sf-theme-page",style:{background:o.background,color:o.text},"aria-hidden":!0,children:[ce("span",{className:"sf-theme-eyebrow",style:{color:o.muted},children:i("label")}),Na("span",{className:"sf-theme-headline",children:[i("Heading")," ",ce("span",{style:{color:o.accent},children:i("main")})]}),ce("span",{className:"sf-theme-body",children:i("body text")}),Na("span",{className:"sf-theme-row",children:[ce("span",{className:"sf-theme-btn",style:{background:t,color:Yp(e,o.accent)},children:i("button")}),ce("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:i("card")})]})]})}var Kh={"Text color":ce(Tk,{}),"Label color":ce(z3,{}),Background:ce(H3,{}),"Panels & cards":ce(W3,{}),Borders:ce($3,{}),"Button color":ce(N3,{}),"Button text color":ce(Tk,{})};function G3({label:e,colorKey:o,value:t,onChange:a,idPrefix:r="sf-theme-ink"}){let n=`${r}-${o}`;return ce(Lo,{label:i(e),icon:Kh[e],id:n,value:t,onChange:s=>a(o,s)})}function U3({value:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button`,n=e!==void 0&&F3(e)===e.toLowerCase(),s=n?e:o;return ce(Lo,{label:i("Button color"),icon:Kh["Button color"],id:r,value:s,caption:n?s:i("Main"),onChange:t})}function j3({colors:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button-ink`,n=wS(e),s=Yp(e,o),l=Ns(e)??o,c=gn(wa(s,l)??0);return ce(Lo,{label:i("Button text color"),icon:Kh["Button text color"],hint:n&&c!=="good"?i("{grade} on the button",{grade:i(In[c])}):void 0,id:r,value:s,caption:n?s:i("Auto"),onChange:t})}var K3=[{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 Vh({colors:e,onChange:o,idPrefix:t}){let a=Ao(e);return ce(L3,{children:K3.map(r=>"colour"in r?ce(kk,{value:e,onChange:o},"colour"):"moduleBreak"in r?ce("div",{className:"sf-theme-module-break","aria-hidden":"true"},"module-break"):"button"in r?ce(U3,{value:e.button,accent:a.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in r?ce(j3,{colors:e,accent:a.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):ce(G3,{label:r.label,colorKey:r.key,value:a[r.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},r.key))})}function nd({index:e,colors:o,selected:t,role:a="radio",open:r,editable:n=!0,onPick:s,onEdit:l,onChangeColors:c}){let d=Ao(o),f=ml(e),m=e<qp.length&&!o.brandInk?qp[e]:null,u=gn(wa(d.text,d.background)??0),x=m?JSON.stringify(o)!==JSON.stringify(m):!1,I=r!==void 0;return Na("div",{className:`sf-theme-card${t?" is-selected":""}`,children:[ce("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:ce(Ek,{colors:o})}),Na("div",{className:"sf-theme-foot",children:[ce("span",{className:"sf-theme-name",children:f}),u!=="good"&&ce("span",{className:"sf-theme-warn",children:i(In[u])}),n&&l&&I&&ce("span",{className:"sf-theme-edit",children:ce(D3,{content:r?i("Collapse"):i("Edit colors"),children:ce(B3,{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?ce(M3,{size:14}):ce(Pk,{size:14})})})}),n&&l&&!I&&ce(jh,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":i("Edit {name}",{name:f}),onClick:l,children:i("Edit")})]}),r&&Na("div",{id:`sf-theme-colours-${e}`,className:"sf-theme-colours",children:[ce(Vh,{colors:o,onChange:g=>c?.(g)}),m&&ce(jh,{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 Ok({colors:e,name:o,nameId:t,open:a,menuId:r,labelId:n,buttonRef:s,onClick:l,onKeyDown:c,onEdit:d}){return Na("div",{className:"sf-secttheme-btn",children:[ce("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?ce(Ek,{colors:e}):ce("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),Na("div",{className:"sf-theme-foot",children:[ce("span",{id:t,className:"sf-theme-name",children:o}),d&&ce(jh,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":i("Edit {name}",{name:o}),onClick:d,children:i("Edit")}),ce("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:l,children:ce(Pk,{size:12,className:"sf-multi-caret","aria-hidden":"true"})})]})]})}import{useCallback as Qh,useEffect as Fk,useRef as cd}from"react";import{currentEaselSession as Y3}from"efficient-easel/screen/lib/session";import{useEaselSession as X3}from"efficient-easel/screen/lib/session-context";import{useSyncExternalStore as V3}from"react";var Ak,qh=null,vr=null,sd=0,Yh=new Set;function Xh(e){Ak=e;for(let o of Yh)o()}function Jh(e){qh=e,sd+=1,vr&&clearTimeout(vr),vr=null,Xh(void 0)}function ld(e){sd+=1,Xh(e)}function ea(e=250){qh&&(vr&&clearTimeout(vr),vr=setTimeout(()=>{vr=null;let o=qh;if(!o)return;let t=++sd;o().then(a=>{t===sd&&Xh(a)}).catch(()=>{})},e))}function _k(){return Ak}function q3(e){return Yh.add(e),()=>{Yh.delete(e)}}function id(){return V3(q3,_k,_k)}var Zh=new Set;function Rk(e){return Zh.add(e),()=>{Zh.delete(e)}}async function Lk(){let e=(await Promise.allSettled([...Zh].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}import{WebsiteBackendError as J3}from"efficient-easel/screen/lib/backend-error";function Bk(e=Y3()){return(o,t,a)=>{let r=Ge(e).theme;return r?r.update(o,a?{siteId:a}:void 0):Promise.reject(new J3("invalid","This backend stores no site theme."))}}function Dk(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function Z3(e,o=Bk()){let{themeFromDocument:t,token:a,siteId:r,patch:n}=e,s=Dk({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 Ln({themeFromDocument:e,tokenRef:o,siteId:t,onResult:a}){let r=cd(null),n=cd({}),s=X3(),l=cd(a);l.current=a;let c=cd(null),d=Qh(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=Qh(async()=>{r.current&&(clearTimeout(r.current),r.current=null);let u=n.current;n.current={};let x=await Z3({themeFromDocument:e,token:o?.current,siteId:t,patch:u},Bk(s));return d(x),x.status==="saved"&&ea(),x.status==="failed"&&(n.current={...u,...n.current}),x},[e,o,t,d,s]),m=Qh((u,x=!1)=>{let I=Dk({themeFromDocument:e,token:o?.current});if(I){d(I);return}n.current={...n.current,...u},r.current&&clearTimeout(r.current),x?f():r.current=setTimeout(()=>{f()},500)},[e,o,f,d]);return Fk(()=>()=>{f()},[f]),Fk(()=>Rk(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 Wt=-1,Q3="sf-section-accent",Nk="Color",Mk=new Set(["CategoryBar","DocTabs"]),fxe=new Set(["Flex"]),ex=0;function It(e){return e===Wt?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:ex}function ox(e){return e??Wt}function eW(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 ll)t[`--sf-sec-${a}`]=`var(${o}-${a}, var(--theme-${a}))`;return t}function uxe(e){let o=It(e.sectionAccent);return o===null?null:{className:Q3,style:eW(o)}}var iW="Follow the page",Txe="Follow the slideshow",cW=e=>i("Editing {name} changes it everywhere.",{name:e});function dW({colors:e}){if(!e)return ao("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=Ao(e);return kr("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[ao("i",{style:{background:o.background}}),ao("i",{className:"sf-secttheme-chip-accent",style:{background:o.accent}})]})}function fW({themes:e,value:o,onPick:t,onEdit:a,menuId:r,followLabel:n}){return kr("div",{className:"sf-multi-menu sf-secttheme-menu",id:r,role:"listbox",children:[n!==void 0&&kr(oW,{children:[kr("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(Wt),children:[ao(dW,{}),ao("span",{className:"sf-secttheme-name",children:i(n)})]}),ao("div",{className:"sf-secttheme-sep",role:"presentation"})]}),o!==null&&e[o]&&ao("p",{className:"sf-secttheme-oncard",role:"presentation",children:i("{name} is on this section",{name:ml(o)})}),e.map((s,l)=>l===o?null:ao(nd,{role:"option",index:l,colors:s,selected:!1,onPick:()=>t(l),onEdit:()=>a(l)},l))]})}function uW({index:e,colors:o,onChange:t,onDone:a}){let r=ml(e),n=zk();return kr("div",{className:"sf-secttheme-sheet",children:[kr("div",{className:"sf-secttheme-sheet-head",children:[ao("span",{children:r}),ao(rW,{variant:"secondary",className:"sf-secttheme-done",onClick:a,children:i("Done")})]}),ao("div",{className:"sf-secttheme-rows",children:ao(Vh,{colors:o,onChange:t,idPrefix:n})}),ao("p",{className:"sf-secttheme-warn",children:cW(r)})]})}function Gk({value:e,onChange:o,followLabel:t,hint:a}){let{theme:r,setTheme:n}=he(),s=eo(r),l=tW(lW),c=l?.tokenRef,d=l?.siteId??null,f=!l?.capabilities?.hasSiteTheme,{persist:m,flush:u}=Ln({themeFromDocument:f,tokenRef:c,siteId:d}),x=eo(s),I=x.themes,g=It(e),k=g!==null?I[g]:void 0,C=k??(I.length?xn(x):void 0),[w,b]=$k(!1),[v,P]=$k(null),F=Wk(null),T=Wk(null),D=zk(),O=Hk(()=>{b(!1),P(null)},[]),R=Hk(()=>{!w&&v===null||(u(),O())},[w,v,O,u]);nW(F,R);let N=_=>{o(_),O()},y=_=>{if(v===null)return;let L=I.map((Y,V)=>V===v?_:Y),M={...x,themes:L};n(M),m({selected_preset:M.selected,theme_presets:M.themes})};return kr("div",{className:"sf-secttheme",ref:F,children:[ao(sW,{label:i("Theme"),icon:ao(aW,{}),labelId:`${D}-label`,hint:a,children:ao(Ok,{colors:C,onEdit:g!==null?()=>{P(g),b(!1)}:void 0,name:k?ml(g):i(t??iW),nameId:`${D}-value`,labelId:`${D}-label`,open:w,menuId:D,buttonRef:T,onClick:()=>{P(null),b(_=>!_)},onKeyDown:_=>{_.key==="Escape"&&(w||v!==null)&&(_.preventDefault(),O())}})}),w&&v===null&&ao("div",{onKeyDown:_=>{_.key==="Escape"&&(_.preventDefault(),O(),T.current?.focus())},children:ao(fW,{themes:I,value:g,onPick:N,onEdit:_=>{P(_),b(!1)},menuId:D,followLabel:t})}),v!==null&&I[v]&&ao(uW,{index:v,colors:I[v],onChange:y,onDone:()=>{u(),O(),T.current?.focus()}})]})}import{jsx as Uk}from"react/jsx-runtime";import{useId as pW}from"react";import{FieldSelect as mW}from"efficient-easel/fields";import{SettingsField as hW}from"efficient-easel/panel";function xW(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 Lxe({label:e,options:o,fallback:t,value:a,onChange:r,placeholder:n,bare:s=!1,icon:l}){let c=pW(),d=`${c}-label`,f=`${c}-button`,m=a??"",u=o.some(k=>k.value===m)?m:t,x=i(e),I=n===void 0?void 0:i(n),g=Uk(mW,{id:f,value:u,options:xW(o),onChange:r,placeholder:I,searchPlaceholder:I,...s?{ariaLabel:x}:{ariaLabelledBy:`${d} ${f}`},searchable:!0,groupCount:!0,inline:!0});return s?g:Uk(hW,{label:x,labelId:d,icon:l,children:g})}import{jsx as Pr,jsxs as YW}from"react/jsx-runtime";import{SettingsField as mT}from"efficient-easel/panel";import{LinkIcon as XW}from"efficient-easel/icons";import{LinkPicker as JW,TextLinkField as ZW}from"efficient-shell/ui";import{useEffect as pT,useMemo as pd,useRef as QW,useState as ud}from"react";import{currentEaselSession as IW}from"efficient-easel/screen/lib/session";function jk(){return IW().auth.token}import{currentEaselSession as e$}from"efficient-easel/screen/lib/session";import{useScreenDocument as o$}from"efficient-easel/screen/components/ScreenDocumentContext";var gW=()=>({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 Kk(e,o,t){if(!e)return"page";if(Av(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(Fv(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 tx(e,o){let t=gW(),a=e.pages.map(f=>({value:sl(f.slug),label:f.title})),r=o?.pageOptions?o.pageOptions(a):a,n=r.map(f=>f.value),s=e.pages.map(f=>({label:f.title,options:Lv(...f.docs).map(m=>({value:jc(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:Rv(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:_v(m.slug),label:m.title||m.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},c=Ov(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=>Kk(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=>Kk(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 t$}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 Vk(e,o){return j(e)??o}function oa(e,o){return typeof e=="boolean"?e:o}function dd(e,o){if(!Array.isArray(e))return o;let t=e.map(a=>typeof a=="string"?a:po(a?.text,"")).map(a=>a.trim()).filter(Boolean);return t.length?t:o}var Yk=["delay","scroll","exit"],Xk=["all","chosen","except"],Jk=["visit","days","never","once"],bW=["all","desktop","phone"],yW=["stop","continue"],Zk={min:0,max:60},Qk={min:10,max:90},eT={min:1,max:90},gt={autoOpen:!1,trigger:"delay",autoOpenDelaySec:15,scrollPercent:50,showOn:"all",showOnPages:[],devices:"all",hideAfter:"days",hideDays:7,afterSubmit:"stop",startDate:null,endDate:null};function Go(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function Fn(e,o,t){let a=Vk(e,t);return Math.min(o.max,Math.max(o.min,Math.round(a)))}function SW(e){return typeof e.hideAfter=="string"?Go(Jk,e.hideAfter,gt.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":gt.hideAfter}function wW(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function qk(e){if(typeof e!="string")return null;let o=e.trim();return/^\d{4}-\d{2}-\d{2}$/.test(o)?o:null}function oT(e){let o=e??{},t=gt;return{autoOpen:oa(o.autoOpen,t.autoOpen),trigger:Go(Yk,o.trigger,t.trigger),autoOpenDelaySec:Fn(o.autoOpenDelaySec,Zk,t.autoOpenDelaySec),scrollPercent:Fn(o.scrollPercent,Qk,t.scrollPercent),showOn:Go(Xk,o.showOn,t.showOn),showOnPages:wW(o.showOnPages),devices:Go(bW,o.devices,t.devices),hideAfter:SW(o),hideDays:Fn(o.hideDays,eT,t.hideDays),afterSubmit:Go(yW,o.afterSubmit,t.afterSubmit),startDate:qk(o.startDate),endDate:qk(o.endDate)}}import{parseHexColor as CW}from"efficient-shell/format";var bt="#000000";var ax="popup",vW=Tn,kW=["auto","full"],TW=["inside","outside","none"],PW={min:240,max:1440},EW={min:0,max:100},hl={placement:"center",fullWidth:!1,width:720,height:"auto",tintColor:bt,tintOpacity:60,outsideClick:!0,closeButton:"inside"};function OW(e,o){let t=typeof e=="string"?e.trim():"";return t&&CW(t)===t.toLowerCase()?t:o}function rx(e,o=hl){let t=e??{},a=o;return{placement:Go(vW,t.placement,a.placement),fullWidth:oa(t.fullWidth,a.fullWidth),width:Fn(t.width,PW,a.width),height:Go(kW,t.height,a.height),tintColor:OW(t.tintColor,a.tintColor),tintOpacity:Fn(t.tintOpacity,EW,a.tintOpacity),outsideClick:oa(t.outsideClick,a.outsideClick),closeButton:Go(TW,t.closeButton,a.closeButton)}}var tT="cart-drawer",tIe="cart-drawer",_W={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 aIe(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function rIe(e){let o=e??{},t=_W;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:dd(o.promises,t.promises),emptyKicker:po(o.emptyKicker,t.emptyKicker),emptyBody:po(o.emptyBody,t.emptyBody)}}var AW=["right","left"],RW={...hl,width:520,tintOpacity:68};function nIe(e){let o=e??{};return{...rx(o,RW),placement:Go(AW,o.placement,"right"),height:"full",fullWidth:!1,autoOpen:oa(o.autoOpen,!0)}}var rT="consent-banner",cIe="consent-banner";var LW=[{value:"bar",label:"Bar"},{value:"card",label:"Card"}],dIe="Layout",aT={layout:"bar"},FW=e=>LW.some(o=>o.value===e);function fIe(e){let o=po((e??{}).layout,aT.layout);return{layout:FW(o)?o:aT.layout}}var uIe={...hl,placement:"bottom-center",fullWidth:!0,width:440,tintOpacity:0,outsideClick:!1,closeButton:"none"};var BW="consentWords",DW=["eyebrow","notice","accept","reject","choose"];function nx(e){let o=(e??{})[BW];return typeof o=="string"&&DW.includes(o)?o:null}function sx(e){let o=e?.props;return o?nx(o)!==null?!0:Object.values(o).some(t=>Array.isArray(t)&&t.some(a=>a&&typeof a=="object"&&"props"in a&&sx(a))):!1}var NW=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],hIe={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"},MW={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"},xIe={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 nT(e){let o={};for(let t of NW){let a=Xt(e[MW[t]]);a&&(o[t]=a)}return o}var sT={heading:"Join our email list",placeholder:"Email address",buttonLabel:"Subscribe"},HW={lead:"We accept"},lT={...HW,methods:[],size:"sm",align:"start",dataSource:aw},yt="site-footer";var bIe=yt,yIe={desktop:!0,tablet:!0,mobile:!0},SIe={desktop:!1,tablet:!1,mobile:!1},lx=1,iT=6,wIe=Array.from({length:iT-lx+1},(e,o)=>lx+o),fd={desktop:6,tablet:3,mobile:2},WW={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}},Tr=e=>Math.min(Math.max(Math.round(e),lx),iT);function CIe(e){if(typeof e=="number")return WW[Tr(e)]??{desktop:Tr(e),tablet:Tr(e),mobile:Tr(e)};if(e&&typeof e=="object"){let o=e;return{desktop:Tr(o.desktop??fd.desktop),tablet:Tr(o.tablet??fd.tablet),mobile:Tr(o.mobile??fd.mobile)}}return{...fd}}var ix="subscribe-popup",AIe="subscribe-popup",$W=[ix,yt,tT,rT];function dT(e){return $W.includes(e)}var zW=["right","left"],GW={metaLabel:"Meta label",issueLabel:"Label",issueNumber:"00",kicker:"Kicker",heading:`Main heading
67
+ *Highlight line*`,deck:"Add a sentence or two of supporting copy.",stats:[{label:"Label",value:"Value"},{label:"Label",value:"Value"},{label:"Label",value:"Value"},{label:"Label",value:"Value"}],formLabel:"Section label",formHeading:"Main heading *highlight*",formIntro:"Add a sentence or two of supporting copy.",firstNameLabel:"Field label",firstNamePlaceholder:"Placeholder",emailLabel:"Field label",emailPlaceholder:"Placeholder",interestsLabel:"Field label",interests:["Option one","Option two","Option three"],frequencyLabel:"Field label",frequencies:["Option one","Option two","Option three"],submitText:"Button label",finePrint:"Fine print",dismissText:"Dismiss link",emailInvalidText:"Enter a valid email address.",submitErrorText:"Could not subscribe right now. Please try again.",successHeading:"Main heading *highlight*",successBody:"Add a sentence or two of supporting copy \u2014 the {email} and {issue} tokens are substituted here.",keepBrowsingText:"Button label",autoOpen:gt.autoOpen,autoOpenDelaySec:gt.autoOpenDelaySec,formSlug:"",trigger:gt.trigger,scrollPercent:gt.scrollPercent,showOn:gt.showOn,showOnPages:[],hideAfter:gt.hideAfter,hideDays:gt.hideDays,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},Ue=po,UW=oa,fT=dd;function cT(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 jW(e,o){return Array.isArray(e)?fT(e,[]):o}function KW(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 LIe(e){let o=e??{},t=GW,a=oT(o);return{metaLabel:Ue(o.metaLabel,t.metaLabel),issueLabel:cT(o.issueLabel,t.issueLabel),issueNumber:cT(o.issueNumber,t.issueNumber),kicker:Ue(o.kicker,t.kicker),heading:Ue(o.heading,t.heading),deck:Ue(o.deck,t.deck),stats:KW(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:fT(o.interests,t.interests),frequencyLabel:Ue(o.frequencyLabel,t.frequencyLabel),frequencies:jW(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:Go(zW,o.formSide,t.formSide),valuePanelOnPhone:UW(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:nT(o)}}function VW(e,o=Math.random){for(;;){let t=`popup-${Math.floor(o()*2176782336).toString(36).padStart(6,"0")}`;if(!e.has(t))return t}}function qW(e){return{root:{props:{title:e,kind:ax}},content:[],zones:{}}}function uT(e,o,t){return{slug:VW(o,t),title:e,kind:ch,layout:qW(e)}}function xl(e){return e?.root?.props?.kind===ax}function hT(e){let o=new Map;return(t="")=>{let a=jk(),r=o.get(t);if(!r||r.token===null&&a!==null){let n=a||!e$().usesBridgedToken?e(a??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:a}),n}return r.promise}}var a$=hT(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}))}),r$=hT(async(e,o)=>await Ge().blog?.posts(o?{siteId:o}:void 0)??[]);function n$({value:e,onChange:o,label:t="Link",data:a,filters:r}){let n=pd(()=>tx(a,r),[a,r]),s=i(t);return Pr(mT,{label:s,icon:Pr(XW,{}),children:Pr(JW,{value:e,onChange:l=>o(l),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function xT(){let{siteId:e,capabilities:o}=o$(),{offersCommerce:t,hasBlog:a}=o,[r,n]=ud([]),[s,l]=ud([]),[c,d]=ud([]),[f,m]=ud(null),u=t$().chrome,x=u?.products?.list,I=u?.linkFilters,g=I?void 0:u?.linkRow,k=QW(!0);pT(()=>(k.current=!0,()=>{k.current=!1}),[]),pT(()=>{let b=!0;return a$(e??void 0).then(v=>b&&k.current&&n(v)),a&&r$(e??void 0).then(v=>b&&k.current&&l(v)),t&&x?.().then(v=>b&&k.current&&d(v)),t&&I?I.load(e).catch(()=>null).then(v=>b&&k.current&&m(()=>v)):m(null),()=>{b=!1}},[e,t,a,x,I]);let C=pd(()=>({pages:r.filter(b=>!dT(b.slug)&&!xl(b.layout)).map(b=>({slug:b.slug,title:b.label,docs:[b.layout]})),popups:r.filter(b=>b.slug===ix||xl(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=pd(()=>f?f(C.pages):null,[f,C]);return{data:C,filters:w,pages:r,offersCommerce:t,HostLinkRow:g}}function QIe({label:e,icon:o,text:t,onTextChange:a,link:r,onLinkChange:n}){let{data:s,filters:l}=xT(),c=pd(()=>tx(s,l),[s,l]),d=i(e);return Pr(mT,{label:d,icon:o,children:Pr(ZW,{label:d,text:t,onTextChange:a,link:r,onLinkChange:f=>n(f),kinds:c.kinds,rules:c.rules,filtersFor:c.filtersFor})})}function IT({value:e,onChange:o,label:t="Link"}){let a=typeof e=="string"?e:"",{data:r,filters:n,pages:s,offersCommerce:l,HostLinkRow:c}=xT(),d=r.pages.map(m=>sl(m.slug)),f=l&&c&&(a==="/"||d.includes(a))?c:void 0;return YW("div",{children:[Pr(n$,{value:a,onChange:o,label:t,data:r,filters:n}),f&&Pr(f,{value:a,onChange:o,pages:s})]})}import{UiIcon as IP}from"efficient-easel/draw/client";import{phoneKey as Il,resolveViewValue as s$,tabletKey as gl}from"efficient-easel/draw";import{SECTION_PAD_UNIT_KEY as l$,convertLength as i$,isLengthUnit as bT,sideLengthAt as c$,withLength as cx}from"efficient-easel/screen/lib/content/length-units";var Yo={min:10,max:200,step:10};function d$(e,o,t,a=0){let r=j(e),n=j(o);if(r===void 0&&n===void 0)return;let s=md(t),l=c=>c===void 0?void 0:s==="px"?c:cx(c,s,a);return{paddingTop:l(r),paddingBottom:l(n)}}var md=e=>bT(e)?e:"px",f$="sf-pad-top-phone",u$="sf-pad-bottom-phone",p$="--sf-pad-t-phone",m$="--sf-pad-b-phone",h$="sf-pad-left-phone",x$="sf-pad-right-phone",I$="--sf-pad-l-phone",g$="--sf-pad-r-phone",b$="sf-pad-top-tablet",y$="sf-pad-bottom-tablet",S$="sf-pad-left-tablet",w$="sf-pad-right-tablet",C$="--sf-pad-t-tablet",v$="--sf-pad-b-tablet",k$="--sf-pad-l-tablet",T$="--sf-pad-r-tablet";function xd(e){let o={desktop:e.unit,tablet:e.unitTablet,phone:e.unitPhone},t=d$(e.top,e.bottom,e.unit,e.frame),a=dx({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 P$=[["top","paddingTop",[b$,C$],[f$,p$]],["bottom","paddingBottom",[y$,v$],[u$,m$]],["left","paddingLeft",[S$,k$],[h$,I$]],["right","paddingRight",[w$,T$],[x$,g$]]];function nge(e,o,t){return!bT(o)||o==="px"?e:i$(e,"px",o,t,{min:0,max:Yo.max,step:1})}function E$(e,o,t,a={},r=0){let n=(x,I)=>{if(I==="px")return`${x}px`;let g=cx(x,I,r);return typeof g=="number"?`${g}px`:g},s={n:e,[gl("n")]:o,[Il("n")]:t,u:a.desktop,[gl("u")]:a.tablet,[Il("u")]:a.phone},l=s$("spacing",e,o,t,mr()),c=(x,I,g)=>{let k=c$(s,{side:"n"},"u",x,"side");if(!k)return;let C=I!==null&&!g&&k.unit==="px"&&typeof l[I]=="number";return n(C?l[I]: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 dx(e,o,t={},a=e,r={},n=0){let s={},l={},c=[];for(let[d,f,...m]of P$){let u=j(e[d]),x=d==="top"||d==="bottom"?n:0;u!==void 0&&(s[f]=md(r.desktop)==="px"?u:cx(u,md(r.desktop),x));let I=E$(j(a[d]),j(t[d]),j(o[d]),r,x);for(let[g,[k,C]]of[["tablet",m[0]],["phone",m[1]]]){let w=I[g];w!==void 0&&(c.push(k),l[C]=w)}}return{classes:c,style:{...s,...l}}}function gT(e,o,t){let a=j(e)??t,r=j(o);return a===void 0?r:r===void 0?a:a+r}function Id(e,o={}){return{top:gT(e.padTop,e.sectionPaddingTop,o.top),bottom:gT(e.padBottom,e.sectionPaddingBottom,o.bottom)}}var hd={top:"sectionPaddingTop",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft",right:"sectionPaddingRight"};function yT(e,o=hd,t=!0,a=o===hd?l$:void 0){let r={};a&&(e[a]!==void 0&&(r.unit=e[a]),e[gl(a)]!==void 0&&(r.unitTablet=e[gl(a)]),e[Il(a)]!==void 0&&(r.unitPhone=e[Il(a)]));for(let n of t?["top","bottom","left","right"]:["top","bottom"])r[n]=e[o[n]],r[`${n}Tablet`]=e[gl(o[n])],r[`${n}Phone`]=e[Il(o[n])];return r}function sge(e){return xd(e)}function lge(e,o){let t=(a,r)=>typeof a!="number"?void 0:md(r)==="px"?a+o:a;return xd({...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 gd,buttonBorderOf as O$,buttonFillOpacityOf as _$,buttonPadSidesOf as A$}from"efficient-easel/draw";import{BUTTON_PAD_UNIT_KEY as fx}from"efficient-easel/screen/lib/content/length-units";var R$="px-6 py-4",L$=4,bd=e=>{let o=new RegExp(`\\bp${e}-(?:\\[(\\d+)px\\]|(\\d+))`).exec(R$);if(!o)throw new Error(`BUTTON_PAD_CLASSES has no p${e}`);return o[1]!==void 0?Number(o[1]):Number(o[2])*L$},hge={top:bd("y"),right:bd("x"),bottom:bd("y"),left:bd("x")},wT="var(--btn)";function F$(e){let o=e.variant==="ghost",t=_$(e.buttonFillOpacity),a=O$(e.buttonBorder),r=ee(e.buttonColor);return{fillOpacity:t??(o?0:100),border:{width:a?.width??1,color:a?.color??r??(o?"currentColor":wT)},changed:t!==void 0||a!==void 0}}function xge(e){let o=F$(e);if(!o.changed)return null;let t=ee(e.buttonColor)??wT;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 B$="var(--sf-button-radius, 0)";function Ige(e){let o=j(e.buttonCorners),t=Nt(e.buttonCornerSides);if(o===void 0&&t===null)return null;let a=o===void 0?B$:`${Math.max(0,o)}px`;return{borderRadius:t===null?a:yr(a,t)}}function gge(e){let o=n=>A$({top:e[`${gd.top}${n}`],right:e[`${gd.right}${n}`],bottom:e[`${gd.bottom}${n}`],left:e[`${gd.left}${n}`]})??{},t={desktop:e[fx],tablet:e[`${fx}Tablet`],phone:e[`${fx}Phone`]},{classes:a,style:r}=dx(o(""),o("Phone"),o("Tablet"),void 0,t);return Object.keys(r).length?{className:a.join(" "),style:r}:null}var ST="upper";function CT(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)??ST;return`${l} \xB7 ${c[d]??c[ST]}`}import{usePreviewParts as QG}from"efficient-easel/draw/client";import{encodePartId as eU}from"efficient-easel/draw";import{DEFAULT_EASEL_STRINGS as oU,useEaselStrings as tU}from"efficient-easel/strings";import{LENGTH_UNITS as D$}from"efficient-easel/screen/lib/content/length-units";var N$=["auto","fixed","screen"],M$=D$.filter(e=>e==="px"||e==="%"),H$="svh",W$="vh",$$="var(--sf-header-h, 88px)",ux={min:40,max:2e3,step:10,fallback:600},px={min:10,max:200,step:5,fallback:100},z$="sf-section-minh",yd="grid-cols-[minmax(0,1fr)]",vT={base:"--sf-section-minh",small:"--sf-section-minh-s"},mx=e=>typeof e=="string"&&N$.includes(e),G$=e=>typeof e=="string"&&M$.includes(e);function bl(e){let o=mx(e.sectionHeightMode)?e.sectionHeightMode:"auto",t=o==="screen"?"%":G$(e.sectionHeightUnit)?e.sectionHeightUnit:"px",a=o==="screen"?px.fallback:ux.fallback,r=typeof e.sectionHeightValue=="number"?e.sectionHeightValue:a;return{mode:o,value:r,unit:t}}function PT(e){let{mode:o,value:t,unit:a}=bl(e);if(o==="auto")return;if(o==="fixed"&&a==="px")return[`${t}px`,null];let r=t/100,n=s=>o==="screen"?`(100${s} - ${$$})`:`100${s}`;return[`calc(${n(W$)} * ${r})`,`calc(${n(H$)} * ${r})`]}function ET(e){let o=PT(e);if(!o)return;let[t,a]=o;return{display:"grid",[vT.base]:t,...a?{[vT.small]:a}:{}}}var Sge=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),Bn="Height",OT="sf-section-minh-phone",kT={base:"--sf-section-minh-p",small:"--sf-section-minh-ps"};function hx(e){return mx(e.sectionHeightModePhone)}function wge(e){return bl({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone})}var _T="sf-section-minh-tablet",TT={base:"--sf-section-minh-t",small:"--sf-section-minh-ts"};function yl(e){return mx(e.sectionHeightModeTablet)}function AT(e){return bl({sectionHeightMode:e.sectionHeightModeTablet,sectionHeightValue:e.sectionHeightValueTablet,sectionHeightUnit:e.sectionHeightUnitTablet})}function RT(e){let o=ET(e),t=(l,c,d)=>PT({sectionHeightMode:l,sectionHeightValue:c,sectionHeightUnit:d})??(o?["auto",null]:void 0),a=yl(e)?t(e.sectionHeightModeTablet,e.sectionHeightValueTablet,e.sectionHeightUnitTablet):void 0,r=hx(e)?t(e.sectionHeightModePhone,e.sectionHeightValuePhone,e.sectionHeightUnitPhone):a;if(!o&&!a&&!r)return null;let n=[z$,yd],s={...o??{}};return a&&(n.push(_T),s[TT.base]=a[0],a[1]&&(s[TT.small]=a[1])),r&&(n.push(OT),s[kT.base]=r[0],r[1]&&(s[kT.small]=r[1])),{className:n.join(" "),style:s}}function Cge(e){return RT(e)!==null}var U$=`grid ${yd}`,LT="h-full",j$="view-tablet:max-view-desktop:grid",FT="max-view-tablet:grid",K$=`${FT} ${yd}`;function BT(e){let o=RT(e);if(!o)return"";if(ET(e))return U$;let t=o.className.split(" ");if(!t.includes(_T))return K$;let a=t.includes(OT);return[j$,a?FT:"",yd].filter(Boolean).join(" ")}var Sd="Stick to top",Ma={min:0,max:200,step:4,fallback:0},V$="sf-section-stick",Tge="sf-scroll-over",q$="sf-section-stick-tablet-on",Y$="sf-section-stick-tablet-off",X$="sf-section-stick-phone-on",J$="sf-section-stick-phone-off",xx={desktop:"--sf-stick-distance",tablet:"--sf-stick-distance-tablet",phone:"--sf-stick-distance-phone"},Pge=new Set(["CategoryBar","DocTabs","IntroBleed","Contents"]);function Ix(e){let o=j(e)??Ma.fallback;return Math.min(Ma.max,Math.max(Ma.min,Math.round(o)))}function gx(e){return typeof e.stickTopTablet=="boolean"}function bx(e){return typeof e.stickTopPhone=="boolean"}function wd(e){let o=e.stickTop===!0,t=Ix(e.stickTopDistance),a=gx(e),r=a?e.stickTopTablet===!0:o,n=a?Ix(e.stickTopDistanceTablet):t,s=bx(e),l=s?e.stickTopPhone===!0:r,c=s?Ix(e.stickTopDistancePhone):n;return{desktop:o,desktopDistance:t,tablet:r,tabletDistance:n,ownTablet:a,phone:l,phoneDistance:c,ownPhone:s}}function Ege(e){let o=wd(e);if(!o.desktop&&!o.tablet&&!o.phone)return null;let t=[V$],a={};return o.desktop&&(a[xx.desktop]=`${o.desktopDistance}px`),o.ownTablet&&(t.push(o.tablet?q$:Y$),o.tablet&&(a[xx.tablet]=`${o.tabletDistance}px`)),(o.ownPhone||o.ownTablet||o.phone!==o.desktop)&&(t.push(o.phone?X$:J$),o.phone&&(a[xx.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:a}}var Z$=["column","row","tabs","accordion"];var Q$={column:"Stacked",row:"One row",tabs:"Tabs",accordion:"Accordion"},DT={Flex:Z$,HeroGroup:["column","row"]},ez={Flex:"row",HeroGroup:"column"},oz={column:"flex-col",row:"flex-row",tabs:"flex-col",accordion:"flex-col"};function Dn(e,o){return DT[e].includes(o)?o:ez[e]}function _ge(e,o){return oz[Dn(e,o)]}function NT(e){return DT[e].map(o=>({label:Q$[o],value:o}))}var tz=["solid","dashed","dotted"],HT=["top","right","bottom","left"],Rge="sf-section-border",Lge="sf-section-border-self",az=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,MT=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function Nn(e,{phone:o=!1,tablet:t=!1}={}){if(!e||typeof e!="object")return;let a=o?"-phone":t?"-tablet":"",r={};for(let n of HT){let s=MT(e[n])??MT(e.width);s!==void 0&&(r[`--sf-border-${n}-width${a}`]=s)}return typeof e.style=="string"&&tz.includes(e.style)&&(r[`--sf-border-style${a}`]=e.style),typeof e.color=="string"&&az.test(e.color)&&(r[`--sf-border-color${a}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function yx(e){let{width:o,...t}=e;return typeof o!="number"?e:{...t,...Object.fromEntries(HT.map(a=>[a,t[a]??o]))}}function Fge(e,o,t){let a=Nn(e),r=Nn(t,{tablet:!0}),n=Nn(t,{phone:!0})||Nn(o,{phone:!0})?{...Nn(t,{phone:!0}),...Nn(o,{phone:!0})}:void 0;return a||r||n?{...a,...r,...n}:void 0}var Cd="sf.gapContainer",ta={min:-32,max:64,step:2},GT={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},Mn={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},rz=new Set(["Events","GalleryB"]);function Or(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=ta.min)return o;if(typeof o=="string"){let a=GT[e]?.[o];if(typeof a=="number")return a}return typeof t=="number"&&Number.isFinite(t)?t:Mn[e]}var nz="sf-gap-overlap",sz="--sf-gap-overlap",UT="--sf-block-gap",lz="--sf-block-gap-rem",Er={min:0,max:ta.max,step:ta.step};function Sl(e){if(typeof e!="number"||!Number.isFinite(e))return null;let o=Math.min(Math.max(Math.round(e),Er.min),Er.max);return o-o%Er.step}function Dge(e){let o=Sl(e);return o===null?{}:{[UT]:`${o}px`,[lz]:`${o/16}rem`}}var iz="--sf-block-gap-phone",cz="--sf-block-gap-phone-rem",dz="--sf-block-gap-on-phone",fz="max-view-tablet:[--sf-block-gap-on-phone:var(--sf-block-gap-phone)]";function Nge(e){let o=Sl(e);return o===null?{}:{[iz]:`${o}px`,[cz]:`${o/16}rem`}}function Mge(e){return Sl(e)===null?"":fz}var WT="sf-gap-zone",$T="--sf-gap-len";function vd(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=ta.min?!0:typeof o=="string"&&typeof GT[e]?.[o]=="number"}var zT="--sf-gap-len-phone",uz="--sf-gap-len-tablet",wl={min:0,max:ta.max,step:ta.step};function Ha(e){return typeof e=="number"&&Number.isFinite(e)&&e>=wl.min}function Sx(e){return e/2}function wx(e,o,t){return Ha(t)&&!vd(e,o)}function Cx(e,o,t,a,r){return Ha(o)?o:wx(e,t,r)?r:Sx(Or(e,t,a))}var pz={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function Hge(e,o,t,a,r){let n={...Ha(a)?{[zT]:`${a}px`}:null,...Ha(r)?{[uz]:`${r}px`}:null};if(!vd(e,o)){let l=`${Mn[e]}px`,c=rz.has(e)?`var(--sf-card-gap, ${l})`:l;return{className:` ${WT}`,style:{[$T]:`var(${UT}, ${c})`,[zT]:`var(${dz})`,...n}}}let s=Or(e,o);return s>=0?{className:` ${WT}`,style:{[$T]:`${s}px`,...n}}:{className:` ${nz} ${pz[t]}`,style:{gap:"0px",[sz]:`${-s/2}px`}}}import{parseHexColor as mz}from"efficient-shell/format";var wo="var(--section-bg)",Cl="inherit";function $t(e,o){return e===Cl?wo:e===void 0?o:kd(e)}var hz=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function kd(e){let o=Ht(e);return o?Qt(o):e.replace(hz,"var(--site-$1")}var xz={"var(--section-bg)":"band","var(--site-surface)":"surface","var(--site-surface-2)":"surface2"};function vx(e,o,t){let a=$t(e,o);if(!a||a==="transparent")return t.background.toLowerCase();let r=a.trim(),n=r.startsWith("#")?mz(r):null;if(n)return n.toLowerCase();let s=xz[r.replace(/\s+/g,"")];return(s?t[s]:t.background).toLowerCase()}var kx="transparent";function jT(e,o){let t=$t(e,o);return!t||t===kx?"none":t===wo?"band":null}function KT(e,o,t=o){let a=n=>!n||n==="transparent",r=$t(e,o);return r===t||a(r)&&a(t)}var VT=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],qT={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},Hn="var(--wheel-stage)",Td="transparent",vl="inherit";function jge(e,o){return kd(Tx(e,o))}function Tx(e,o){return e===vl?Hn:e==null?o:e===!0?Hn:e===!1?Td:e}function Kge(e){return typeof e=="string"&&e!==vl?kd(e):Hn}function Vge(e){return e!==Td&&e!=="none"&&e!==""}function YT(e,o){return e===vl||e===!0?!0:e==null?o===Hn:!1}var XT="inherit",Pd="fixed",JT=e=>typeof e!="number"&&e!==Pd,Iz="var(--sf-heading-max, 9999px)";function Yge(e,o,t,a){if(typeof e=="number")return`${e}px`;if(e===Pd)return o;let r=a?`var(--size-${a}, ${o})`:o;return t==="heading"?`min(${r}, ${Iz})`:r}var mo={min:1e3,max:2e3,step:50,default:1600};function gz(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}var ZT="--sf-site-width",Px=`var(${ZT},${mo.default}px)`,Jge=`max-w-[${Px}]`,Zge=`max-w-[${mo.default}px]`;function QT(e){return typeof e!="number"||!Number.isFinite(e)?mo.default:Math.round(Math.min(Math.max(e,mo.min),mo.max))}function Qge(e){let o=QT(e);return o===mo.default?{}:{[ZT]:`${o}px`}}var aa={min:0,max:80,step:4,default:40},eP="--sf-site-gutter",kl={min:0,max:24,step:4},bz="--sf-site-gutter-phone",yz="max-view-tablet:[--sf-site-gutter:var(--sf-site-gutter-phone)]!",St=`var(${eP},${aa.default}px)`,Sz=`px-[${St}]`;var Wa={md:`min(24px,${St})`,sm:`min(20px,${St})`,frame:`min(24px,${St})`,tabs:`min(16px,${St})`},ebe=[[`max-view-desktop:px-[${Wa.md}]`,"max-view-desktop:px-6"],[`max-view-desktop:px-[${Wa.tabs}]`,"max-view-desktop:px-4"],[`max-[960px]:px-[${Wa.frame}]`,"max-[960px]:px-6"],[`max-[900px]:px-[${Wa.md}]`,"max-[900px]:px-6"],[`max-view-wide:px-[${Wa.md}]`,"max-view-wide:px-6"],[`max-view-tablet:px-[${Wa.sm}]`,"max-view-tablet:px-5"],[`max-view-wide:px-[${Wa.sm}]`,"max-view-wide:px-5"],[`max-[640px]:px-[${Wa.sm}]`,"max-[640px]:px-5"],[`view-wide:px-[${St}]`,"view-wide:px-10"],[`max-view-tablet:px-[min(24px,${St})]`,"max-view-tablet:px-6"],[`max-view-wide:-mx-[min(20px,${St})]`,"max-view-wide:-mx-5"],[`max-view-tablet:-mx-[min(20px,${St})]`,"max-view-tablet:-mx-5"],[`-mx-[${St}]`,"-mx-10"],[Sz,"px-10"]];var obe="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))]",tbe="[--sf-box-g:var(--sf-site-gutter,40px)] [&>*]:[--sf-site-gutter:0px]";var abe="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 Ed(e){return typeof e!="number"||!Number.isFinite(e)?aa.default:Math.round(Math.min(Math.max(e,aa.min),aa.max))}function rbe(e){let o=Ed(e);return o===aa.default?{}:{[eP]:`${o}px`}}function Od(e){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,kl.min),kl.max))}function oP(e){return typeof e=="number"&&Number.isFinite(e)?QT(e):null}function nbe(e){let o=Od(e);return o===null?{}:{[bz]:`${o}px`}}function sbe(e){return Od(e)===null?"":yz}function _d(e){return Math.min(kl.max,Ed(e))}var tP=Px,lbe=`max-w-[${tP}]`,ibe=`max-w-[min(var(--sf-page-cap,${mo.default}px),${mo.default}px)]`,aP="--sf-hero-cap",wz=`var(${aP},none)`,cbe=`max-w-[${wz}]`,Cz="--sf-hero-bleed-m",vz="--sf-hero-bleed-w",kz="--sf-hero-chrome-x",Tz="--sf-hero-chrome-cap";function dbe(e){return e===!0?{[aP]:tP,[Cz]:"auto",[vz]:"100%",[kz]:"24px",[Tz]:"none"}:{}}var Ex=`calc(${Px} - ${St}*2)`,fbe=`max-w-[${Ex.replace(/ /g,"_")}]`;var Pz="--sf-chrome-cap",Ez=`var(${Pz},${Ex})`,ube="data-page-width";function pbe(e){return e==="full"?"full":null}function mbe(e){return e==="full"?null:gz(e==="content"?Ex:Ez)}function hbe(e){if(e==="full")return"full";if(e==="content")return"content"}var Oz=["page","full"],rP=["full","page"],_r={full:"Full",page:"Content"},Ox="inherit",_z=e=>typeof e=="string"&&Oz.includes(e),Az=e=>e===Ox;function Rz(e,o){return Az(e.widthMode)?{mode:"full",inherited:!0}:_z(e.widthMode)?{mode:e.widthMode,inherited:!1}:{mode:o,inherited:o==="full"}}function gbe(e){return Rz(e,"page").mode==="full"}var Lz={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 bbe(e){return Object.prototype.hasOwnProperty.call(Lz,e)}var co={background:"sectionBackgroundWidth",content:"sectionContentWidth",contentMax:"sectionContentMax"};function Fz(e){let o=oP(e[co.contentMax]),t=Wn(e[co.content])??(o===null?null:"content");return{background:Wn(e[co.background]),content:t,contentMax:t==="content"?o:null}}function ybe(e){let o=Fz(e);return o.content===null&&e.fullWidth===!0?{...o,content:"full"}:o}function Sbe(e){return e.background!==null||e.content!==null}var wbe=e=>({[co.background]:e}),Cbe=e=>e==="full"?{[co.content]:e,[co.contentMax]:void 0}:{[co.content]:e},vbe=e=>({[co.content]:"content",[co.contentMax]:e}),kbe=e=>e==="background"?{[co.background]:void 0}:{[co.content]:void 0,[co.contentMax]:void 0},nP="siteWidths",Bz=e=>e==="full"||e==="content";function Wn(e){return Bz(e)?e:null}function sP(e,o){return{[nP]:{background:Wn(e),content:Wn(o)}}}function Tbe(e){let o=e.editor?.metadata?.[nP];return{background:Wn(o?.background),content:Wn(o?.content)}}import{jsx as Dz}from"react/jsx-runtime";import{createContext as Nz,useContext as _be}from"react";var Mz=2,Abe=Mz+1,Hz=Nz(2);function lP({tier:e,children:o}){return Dz(Hz.Provider,{value:e,children:o})}import{useEaselSession as aU}from"efficient-easel/screen/lib/session-context";import{BOX_GAP as rU,describedAs as Ga,group as wt,iconOf as El,sharedStyleKinds as Ol}from"efficient-easel/screen/lib/document/box-fields";import{VIEW_KEY_ACCESS as Mx,onDesktopWords as Ar,phoneTwinFields as Nd}from"efficient-easel/screen/lib/document/box-fields";import{createElement as Xo}from"react";import{SettingsDefaultReset as Wz,SettingsField as $z}from"efficient-easel/panel";import{boxFieldBuilders as zz,describedAs as Gz,iconOf as Uz,onDesktopWords as jz}from"efficient-easel/screen/lib/document/box-fields";import{LENGTH_UNITS as Kz}from"efficient-easel/screen/lib/content/length-units";import{IconPicker as Vz,Tooltip as qz,useShellStrings as Yz}from"efficient-shell/ui";import{RotateIcon as Xz}from"efficient-easel/icons";var zt={min:0,max:360,step:1},Fbe="angle";function Bbe(e){let o=j(e);if(o===void 0)return null;let t=Math.min(zt.max,Math.max(zt.min,o));return t===zt.min||t===zt.max?null:{rotate:`${t}deg`}}var iP=e=>i(e),Jz=Kz,ho=zz(iP,{paddingUnits:Jz}),Bo=ho.slider,ra=ho.select,Ad=ho.Segmented,Rd=ho.segmented,jbe=ho.alignmentField,Kbe=ho.alignmentFields,Vbe=ho.blockAlignmentField,qbe=ho.blockAlignmentFields,Ybe=ho.boxJustifyField,Xbe=ho.boxAlignField,Jbe=ho.boxWrapField,cP=ho.directionField,Ld=ho.gapField,Zbe=ho.placementField,Qbe=ho.PlacementGridView,eye=ho.positionFields,Fd=ho.sidesPaddingFields;function dP(e,o){return Bo("Angle",Xo(Xz),zt.min,zt.max,zt.step,e,"\xB0",o)}var Zz={width:"3.5rem",height:"2.75rem"};function _x({value:e}){return Yz().iconNames[e]??e}function Ax(e,o,t){return Xo(qz,{content:t,className:"sf-pick-tip",children:Xo("span",{className:"sf-pick"},Xo("span",{className:"sf-pick-pic"},e),Xo("span",{className:"sf-pick-cap"},o))})}function Qz(e){let o=t=>t.label===void 0?Xo(_x,{value:t.value}):i(t.label);return e.map(t=>({value:t.value,...t.label===void 0?{}:{label:i(t.hint??t.label)},icon:Ax(t.picture,o(t),t.hint===void 0?o(t):i(t.hint))}))}function fP(e,o){return Xo("span",{className:"sf-pick"},Xo("span",{className:"sf-pick-pic"},e),Xo("span",{className:"sf-pick-cap sf-pick-cap-closed"},o))}function uP(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",...Gz({},{type:"radio",label:e,options:l}),options:l,render:c=>{let{value:d,onChange:f,field:m}=c,u=m?.options,x=Qz(t.filter(v=>!u||u.some(P=>P.value===v.value))),I="follows"in c,g=I?s(r.phoneRest?r.phoneRest(c.follows):c.follows)??a:void 0,k=m?.currentValue,C=s(d)??g??s(k)??a,w=d!=null&&d!=="",b=g===void 0?void 0:t.find(v=>v.value===g);return Xo($z,{label:i(e),icon:Uz(o),action:I?Xo(Wz,{words:re()?.panel,label:i(e),changed:w,detail:b?.label!==void 0?jz(iP,i(b.label),c.followsView):void 0,disabled:c.readOnly===!0,onReset:()=>f(void 0)}):void 0},Xo(Vz,{label:i(e),value:C,options:x,onChange:f,columns:r.columns,cell:r.cell??Zz,tooltips:!1,disabled:c.readOnly===!0}))}}}import{TEXT_CONTROL_KINDS as MSe,SCALAR_TEXT_CONTROLS as HSe}from"efficient-easel/draw";function Rr(e,o){return i("{value} from {from}",{value:e,from:o})}function nU(){let{blockGap:e}=he();return e===null?i("this container's own spacing"):Rr(`${e}px`,i("Styles"))}function sU({inherited:e,onReset:o,label:t}){return S(Co,{words:re()?.panel,label:i(t),changed:!e,detail:nU(),onReset:o})}function lU(e){return Ld({...rU,builtIn:Mn[e],resolve:(o,t)=>Or(e,o,t?.siteGap),action:(o,t)=>S(sU,{inherited:!vd(e,o),onReset:()=>t(void 0),label:"Gap"}),mark:{[Cd]:e}})}function iU(e){return oo(Gt("mobile",{[Cd]:e,type:"custom",render:o=>S(fU,{container:e,...o})}),DP)}function cU(e){return oo(Gt("tablet",{[Cd]:e,type:"custom",render:o=>S(dU,{container:e,...o})}),DP)}var DP={not:{field:"gap",in:Array.from({length:-ta.min},(e,o)=>ta.min+o)}};function _Se(e){return{gap:Gt("desktop",lU(e)),[zn("gap")]:cU(e),[na("gap")]:iU(e)}}function dU({container:e,...o}){let[t]=la("gap"),{siteGap:a}=o.field??{},r=Math.max(wl.min,Or(e,t,a));return Ld({...wl,builtIn:r,resolve:n=>Ha(n)?n:r,action:(n,s)=>S(Co,{words:re()?.panel,label:i("Gap"),changed:Ha(n),detail:Ar(l=>i(l),`${r}px`),onReset:()=>s(void 0)})}).render(o)}function fU({container:e,...o}){let[t]=la("gap"),{siteGap:a,siteGapPhone:r}=o.field??{},n=Cx(e,void 0,t,a,r);return Ld({...wl,builtIn:n,resolve:s=>Cx(e,s,t,a,r),action:(s,l)=>S(Co,{words:re()?.panel,label:i("Gap"),changed:Ha(s),detail:Rr(`${n}px`,wx(e,t,r)?i("Styles"):i("Desktop")),onReset:()=>l(void 0)})}).render(o)}function ASe(e){return cP({offered:NT(e),fallback:Dn(e,void 0),resolve:o=>Dn(e,o)})}function RSe(e,o){return Iv(o?mh(e,o):[],o)}function uU({inherited:e,onReset:o,label:t}){return S(Co,{words:re()?.panel,label:i(t),changed:!e,detail:Rr(i("Full"),i("the page")),onReset:o})}function Lr({value:e,onChange:o,label:t,placeholder:a,hint:r,multiline:n,hideable:s=!0,markup:l=!0}){let{text:c,hidden:d}=Ua(e),f=Tl(null),m=Tl(null),u=w=>o(s?{text:w,hidden:d}:w),x=()=>o({text:c,hidden:!d}),I=s&&d,g=vP(),k=r?IU(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(ro,{label:i(t),icon:S(OG,{}),htmlFor:g,className:I?"is-hidden":void 0,hint:k,action:s?S(Nx,{content:C,children:S(FP,{"aria-pressed":d,"aria-label":C,onClick:x,children:d?S(IP,{name:"eye-off",size:14}):S(IP,{name:"eye",size:14})})}):void 0,children:za("div",{className:"sf-copybox",children:[l&&S(Rh,{target:n?m:f,value:c,onChange:u}),n?S("textarea",{id:g,ref:m,value:c,placeholder:a===void 0?void 0:i(a),onChange:w=>u(w.target.value)}):S("input",{id:g,ref:f,type:"text",value:c,placeholder:a===void 0?void 0:i(a),onChange:w=>u(w.target.value)})]})})}function LSe(e,o){return{...e,[iG]:o}}function FSe(e){let o=e[sa];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[sa]:{...o,offPage:!0}}}function Wd(e){return!e||typeof e!="object"?!1:e[sa]?.offPage===!0}var NP="sfPanelOnly";function BSe(e){if(!e[sa])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[NP]:!0}}function MP(e){return!!e&&typeof e=="object"&&e[NP]===!0}function DSe(e){let o=e[sa];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[sa]:{...o,identifier:!0}}}function WSe(e,o){if(!e[sa])throw new Error("inOwnBox: the field holds no authored text");let{[XG]:t,...a}=e;return{...a,[Lh]:!0,render:o}}var pU=new Set(ZG),Md={type:"radio",options:[{value:!0},{value:!1}]},HP={text:{type:"object",objectFields:{text:{type:"text"},hidden:Md}},textarea:{type:"object",objectFields:{text:{type:"textarea"},hidden:Md}},plainText:{type:"text"},copyText:{type:"text"},plainTextarea:{type:"textarea"},textList:{type:"array",arrayFields:{text:{type:"text"}}}},Fr=(e,o)=>{let t=Ga({...o,[sa]:e},{...HP[e.control],label:e.label});if(!pU.has(e.control))return t;let a=o.render;return{...BP(t,"authored-copy"),render:r=>S(xk,{name:r.name,children:a(r)})}},$Se="Everything else on this block comes from the linked post. Unlink it to edit by hand.",mU={field:"source.slug",set:!0},zSe={not:mU},hU="Select a word, then press the highlighter.",xU=new Set([hU]),IU=e=>xU.has(e);function GSe(e,o,t){return Fr({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>S(Lr,{value:a,onChange:r,label:e,placeholder:o,hint:t})})}function USe(e,o,t){return Fr({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>S(Lr,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0})})}function jSe(e,o,t){return Fr({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>S(Lr,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function KSe(e,o,t){return Fr({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>S(Lr,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1})})}function VSe(e){return{type:"custom",[sG]:{label:e},...Ga({},{type:"text",label:e}),render:({value:o,onChange:t})=>S(IT,{value:nG(o),onChange:t,label:e})}}function qSe(e,o,t){return Fr({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>S(Lr,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var WP={Design:cG,Animation:fG};function YSe(e){return{type:"custom",render:()=>S(gU,{text:e})}}function gU({text:e}){return S("p",{className:"sf-note",children:i(e)})}function XSe(e){return ca(e)!==null&&e?.tabs!==void 0}var gP=new Map;function $d(e,o){let t=`${e}\0${o?o.join(""):""}`,a=gP.get(t)??{type:"custom",tabs:o,[kP]:{label:e,level:1},bucket:e,marker:!0,render:()=>S(ia,{})};return gP.set(t,a),a}var bP=new Map;function Hx(e){let o=bP.get(e)??{type:"custom",[kP]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>S(ia,{})};return bP.set(e,o),o}function bU(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function $P(e,o){return bU(e)===o?e:{...e,marker:!0,fold:o,render:()=>S(ia,{})}}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(ia,{})}}function Wx({title:e,children:o}){let[t,a]=Pl(()=>!Rx.has(e));return S(RG,{title:e,open:t,onToggle:r=>{a(r),r?Rx.delete(e):Rx.add(e)},children:o})}var Rx=new Set;function yU({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 za("div",{className:"sf-swatches",children:[e.map(l=>{let c=a?.[l]?i(a[l]):l;return S(Nx,{content:c,children:S($G,{color:l,selected:o.toLowerCase()===l.toLowerCase(),onClick:()=>t(l),"aria-label":c})},l)}),S("span",{className:"sf-swatch-hex",children:s})]})}function JSe(e,o,t=!1){return{type:"custom",render:({value:a,onChange:r})=>S(SU,{label:e,builtIn:o,followsBand:t,value:a,onChange:r})}}function SU({label:e,builtIn:o,followsBand:t,value:a,onChange:r}){let n=typeof a=="string"?a:void 0,{colors:s,n:l}=Kx(),c={background:s.background,surface:s.surface,surface2:nc(s),band:CS(s)},d=t?wo:o,f=KT(n,o,d),m=vx(void 0,d,c),u=t?Cl:void 0,x=d===wo?i("the theme's section background"):i("Theme {n} background",{n:l}),I=wU(n,o,s,l,c,r),g=Rr(m.toUpperCase(),x),k=Ht(n),C=k?En(k,s,l):null;return C?S(Lo,{label:i(e),icon:S(pP,{}),value:C.hex,caption:C.words,onChange:r,changed:!0,onReset:()=>r(u),resetTo:g,choices:I}):S(dl,{label:i(e),icon:S(pP,{}),value:f?"":vx(n,o,c),inherited:m,resetTo:g,onChange:r,onReset:()=>r(u),choices:I})}function wU(e,o,t,a,r,n){let s=jT(e,o);return[{label:i("No fill"),color:"",selected:s==="none",onPick:()=>n(kx)},{label:`${i("Section band")} \xB7 ${r.band.toUpperCase()}`,color:r.band,selected:s==="band",onPick:()=>n(wo)},...jx(Ht(e)??"",t,a,n)]}function CU(e,o){return{type:"custom",render:({value:t,onChange:a})=>{let r=t,n=YT(r,o);return S(ro,{label:i(e),icon:S(Fx,{}),changed:!n,action:S(Co,{words:re()?.panel,label:i(e),changed:!n,detail:i("the theme's image stage"),onReset:()=>a(vl)}),children:yU({swatches:VT,current:n?Hn:Tx(r,o),onPick:a,names:qT})})}}}function zd(e=t=>t,o){return Ol({_gSectionTheme:wt(Nk),sectionAccent:{type:"custom",render:({value:t,onChange:a})=>S(Gk,{value:e(t),onChange:a,followLabel:o})}})}function Uo({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(qG,{min:e,max:o,step:t,value:a,...a===null&&f!==void 0?{placeholderValue:f}:{},...m?{emptyLabel:i(m)}:{},suffix:n||void 0,showInput:s,label:c===void 0?void 0:i(c),disabled:d,size:"sm",boxSize:"md",className:"sf-slider-track",onChange:I=>{I===null?u?.():I!==a&&r(I)}})})}function GP(e,o){let{min:t,max:a,step:r=1,unsetLabel:n,hint:s,restTrack:l,unsetMark:c,icon:d,unit:f="px"}=o;return{type:"custom",render:({value:m,onChange:u})=>{let x=typeof m=="number"?m:null,I=x===null;return S(ro,{label:i(e),icon:d?El(d):void 0,value:I?c||n===void 0?void 0:i(n):`${x}${f}`,changed:!I,action:c?wP(c,{changed:!I,onReset:()=>u(null)}):S(Co,{words:re()?.panel,label:i(e),changed:!I,onReset:()=>u(null)}),hint:typeof s=="string"?i(s):s,children:l?l({min:t,max:a,step:r,px:x,label:e,onChange:u}):Uo({min:t,max:a,step:r,value:x??t,readout:!1,ariaLabel:e,onChange:u})})}}}var Gd="Corners";function $x(e){return{type:"custom",render:({value:o,onChange:t})=>{let a=typeof o=="number"&&Number.isFinite(o)?o:null,r=a!==null;return S(ro,{label:i(Gd),icon:S(mG,{}),changed:r,action:wP(e.mark,{changed:r,onReset:()=>t(null)}),hint:e.hint,children:S(vU,{tier:e,px:a,onRadius:t})})}}}function la(e){let o=Gn();return[o?.values?.[e],t=>o?.onChange(e,t)]}function UP(){return BP({type:"custom",render:()=>S(JG,{})},"always")}function Gh(){let e=Gn();return o=>e?.onChangeMany(o)}function vU({tier:e,px:o,onRadius:t}){let a=e.useFollowed(),[r,n]=la(e.sidesKey),s=Nt(r)??[...Bc];return S(zG,{label:i(Gd),value:s,corners:KC,onChange:l=>{let c=Nt(l)??[];n(c.length===Bc.length?null:c)},radius:o,onRadiusChange:t,radiusMin:qo,radiusMax:sr,radiusStep:e.step??1,radiusPlaceholder:String(a)})}function jP(){return UP()}function kU({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:a}=he(),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"):Rr(r,i("Styles")),onReset:t})}function TU(){let{cornerRadiusPx:e}=he();return typeof e=="number"?e:qo}function PU(){return $x({sidesKey:"sectionCornerSides",useFollowed:TU,mark:S(kU,{label:Gd}),hint:EU})}var EU="Follows Styles \u25B8 Basics \u25B8 Corners until you set a number here.";function Ud(){return Ol({_gShape:wt("Shape"),sectionCorners:PU(),sectionCornerSides:jP(),...$n("sectionBorder",FU)})}var OU=()=>({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 _U(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function AU(){let e;try{let o=eo(he().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||gS.line}function RU({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]=Pl(()=>r?NG(l,s):!1),f=OU(),m=u=>_U(r&&n?u:{width:u.width,color:u.color,...n?{style:u.style}:{}});return S(ro,{label:i("Border"),icon:S(uG,{}),action:r?S(BG,{each:c,label:i("Each side"),onChange:d}):void 0,children:S(FG,{label:i("Border"),value:l,each:c,onChange:u=>o(m(u)),placeholder:t,presets:a,words:f,styles:n,max:20})})}function LU({value:e,onChange:o,view:t}){let[a]=la("sectionBorder"),[r]=la(zn("sectionBorder")),n=AU(),s=c=>c&&typeof c=="object"?c:{},l=t==="phone"?{...yx(s(a)),...yx(s(r))}:t==="tablet"?s(a):{};return S(RU,{value:e,onChange:o,placeholder:{sides:DG(l),style:l.style??"solid",color:l.color||n},presets:[n],above:l})}function FU(e){return{type:"custom",render:({value:o,onChange:t})=>S(LU,{value:o,onChange:t,view:e})}}function $n(e,o){let t=(a,r)=>Nd(e,o(a),Mx)[r];return{[e]:t("desktop",e),[zn(e)]:t("tablet",zn(e)),[na(e)]:t("phone",na(e))}}function ZSe(e){return{type:"custom",render:()=>S(BU,{partKey:e})}}function BU({partKey:e}){let[o]=la("id"),[t]=la("_partStyles"),{textStyles:a}=he(),r=tU(),n=null;try{n=QG().select}catch{n=null}let s=t&&typeof t=="object"?t[e]:void 0,l=Array.isArray(a)?a:null;return S(AG,{name:i("Text"),preview:CT(s,l,{noStyle:i("No style"),styleName:r.textStyles.styleName,cases:(r.copy.panel??oU.copy.panel).cases}),onOpen:()=>{n&&typeof o=="string"&&n(eU(o,e))}})}function KP(e){let{cornerRadiusPx:o}=he(),t=typeof o=="number"?o:e,a=null;try{let{appState:n,selectedItem:s}=Hd(c=>c),l=s?.props?.id?String(s.props.id):void 0;a=l?tk(n?.data,l)?.props??null:null}catch{a=null}if(!a)return t;let r=a.sectionCorners;return eh(r)?r:t}function DU({label:e,changed:o=!1,onReset:t=()=>{}}){let a=KP(qo);return S(Co,{words:re()?.panel,label:i(e),changed:o,detail:Rr(`${a}px`,i("the section")),onReset:t})}function NU(){return S(ia,{children:i("Follows the section's Corners until you set a number here.")})}function MU(){return $x({sidesKey:"cardCornerSides",useFollowed:()=>KP(qo),mark:S(DU,{label:Gd}),hint:S(NU,{})})}function HU(){return{type:"custom",render:()=>S(QC,{})}}function QSe(){return{_gShape:wt("Shape"),cardCorners:MU(),cardCornerSides:jP(),cardCornersApplyAll:HU()}}function WU(){return Ga({type:"custom",render:e=>S(zU,{...e})},{type:"select",label:gr,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 $U(e,o){let t=ym(e);if(t!=="custom")return i(bm.find(r=>r.value===t)?.label??"");let a=LP(gc(e,o),o);return a?[...a,100-a.reduce((r,n)=>r+n,0)].join(" / "):i("Custom")}function zU(e){let{value:o,onChange:t}=e,[a]=la("content"),r=Array.isArray(a)?a.length:0,n="follows"in e,s=o!=null,l=s?o:n?e.follows:void 0,c=ym(l),d=r>=2&&r<=hP,f=()=>[...jG[r]??[]],m=Tl(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)},I=i("The width bar works for 2 to {count} blocks.",{count:hP}),g=s&&(n||o!=="content"),k=VG().widths.hint(r,UG);return S(ro,{label:i(gr),icon:S(Bx,{}),changed:g,hint:c!=="custom"?void 0:d?k:I,action:S(Co,{words:re()?.panel,label:i(gr),changed:g,disabled:e.readOnly===!0,detail:n?Ar(C=>i(C),$U(e.follows,r),e.followsView):i("Fit content"),onReset:()=>t(void 0)}),children:za("div",{className:"sf-share-row",children:[S("div",{className:"sf-share-pick",children:S(RP,{label:i(gr),value:c,options:bm.map(C=>({value:C.value,label:C.value==="custom"&&!d?I:i(C.label),icon:Ax(S("span",{className:"sf-gallery-pic sf-share-pic",children:VP(C.weights).map((w,b)=>S("i",{style:{gridColumn:`span ${w}`}},b))}),i(C.label),C.value==="custom"&&!d?I:i(C.label))})),onChange:x,columns:3,cell:qP,tooltips:!1,disabled:e.readOnly===!0})}),c==="custom"&&d?S("div",{onFocus:()=>{m.current={value:o,shares:LP(gc(l,r),r)}},onBlur:()=>{m.current=null},children:S(KG,{label:i(gr),count:r,value:gc(l,r),onChange:u,readOnly:e.readOnly===!0})}):null]})})}function VP(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 ewe(){return ra(Uw,S(yG,{}),vm,vm[0].value)}function owe(){return Gt("mobile",uP(gr,S(Bx,{}),Dw.map(e=>({label:e.label,value:e.value,picture:S("span",{className:"sf-gallery-pic sf-share-pic",children:VP(e.weights).map((o,t)=>S("i",{style:{gridColumn:`span ${o}`}},t))})})),Nw,{columns:2,cell:qP}))}var qP={width:"5.75rem",height:"3.25rem"};function twe(){return Nd("share",WU(),Mx)[zn("share")]}function GU(){return Gt("mobile",Bo(Sm,S(TP,{}),yc,Bw,1,yc,"",{clear:{phoneFollows:!1,hint:yc}}))}var yP={read:e=>e.phoneRow,write:(e,o,t)=>({phoneRow:t}),fieldKey:()=>"phoneRow",ownField:!0};function awe(){let e=Bo(Sm,S(TP,{}),Cm,Mw,1,Cm,"",{clear:{emptyLabel:"Auto"}}),o=Nd("columns",e,{...yP,tablet:Mx.tablet}),t=Nd("columns",e,yP,{phoneRow:GU()});return{...o,phoneRow:t.phoneRow}}function rwe(e,o,t,a,r,n){return{type:"custom",render:({value:s,onChange:l})=>S(ro,{label:i(e),icon:S(Sh,{noun:n}),action:S(Co,{words:re()?.panel,label:i(e),changed:!JT(s),detail:i("the Text style in Styles"),onReset:()=>l(XT),defaultAction:{onPress:()=>l(Pd),title:i("Keep this section's own built-in size"),icon:S(pG,{})}}),children:Uo({min:o,max:t,step:a,value:typeof s=="number"?s:r,suffix:"px",ariaLabel:e,onChange:l})})}}function nwe(){return{_gCellWidth:wt("Cell width"),gridSpan:ra("Positions",S(Bx,{}),[{label:"Auto",value:""},...Array.from({length:$c},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function Jo(){let e=null,o=null;try{e=CP(zx),o=Hd(t=>t).selectedItem}catch{o=null}return e??o?.props??{}}var zx=tG(null);function UU({min:e,max:o,step:t,px:a,label:r,onChange:n,desktopKey:s,fallback:l}){let c=Jo()[s],d=od(void 0,c,l);return S(ia,{children:Uo({min:e,max:o,step:t,value:od(a,c,l),readout:!1,ariaLabel:r,notch:d,onChange:n})})}function jU({label:e,desktopKey:o,fallback:t,unit:a="px",changed:r=!1,onReset:n=()=>{}}){let s=Jo()[o],l=od(void 0,s,t);return S(Co,{words:re()?.panel,label:i(e),changed:r,detail:Ar(c=>i(c),`${l}${a}`),onReset:n})}function jd(e){return GP(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unit:e.unit,unsetLabel:"Follows Desktop",unsetMark:S(jU,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback,unit:e.unit}),restTrack:o=>S(UU,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}var KU={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},VU={Top:AP,Bottom:EP,Left:OP,Right:_P},qU=e=>{let o=VU[e];return S(o,{})};function swe(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",a=e.group!==!1,r=k=>KU[k],n=k=>Bo(r("Top"),S(AP,{}),Yo.min,Yo.max,Yo.step,k,"px"),s=(k,C,w,b=Yo)=>Gt("mobile",jd({label:r(k),icon:qU(k),desktopKey:C,min:b.min,max:b.max,step:b.step,fallback:w})),l=e.top??Yo.min,c=e.bottom??Yo.min,d="sectionPaddingLeft",f="sectionPaddingRight",m=e.sideBounds??Yo,u=e.side??m.min,x=e.sidePhone??u,I=e.phone===!0,g=k=>I?Gt("desktop",k):k;return Ol({...a?{_gSpacing:wt("Padding")}:{},[o]:g(n(l)),...I?{[na(o)]:s("Top",o,l)}:{},...e.only==="top"?{}:{[t]:g(Bo(r("Bottom"),S(EP,{}),Yo.min,Yo.max,Yo.step,c,"px")),...I?{[na(t)]:s("Bottom",t,c)}:{}},...e.sides?{[d]:g(Bo(r("Left"),S(OP,{}),m.min,m.max,m.step,u,"px")),...I?{[na(d)]:s("Left",d,x,m)}:{},[f]:g(Bo(r("Right"),S(_P,{}),m.min,m.max,m.step,u,"px")),...I?{[na(f)]:s("Right",f,x,m)}:{}}:{}})}function lwe(e,o){let t=Object.fromEntries(Object.entries(o).map(([n,s])=>[n,n in e&&ca(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 Bd="Width";function Kd(e,o=rP,t=!0){let a=o.map(r=>({label:_r[r],value:r}));return Ol({...t?{_gWidth:wt(Bd)}:{},widthMode:{type:"custom",render:({onChange:r,field:n})=>S(ro,{label:i(Bd),icon:S(_G,{}),action:t?S(uU,{inherited:n?.inherited??!1,onReset:()=>r(Ox),label:Bd}):void 0,children:Ad({options:a,value:n?.currentValue||e,onChange:r,ariaLabel:Bd})})}})}function Vd(){let e=(a,r)=>({type:"custom",render:({value:n,onChange:s})=>S(YU,{value:n,onChange:s,view:a,badge:r})}),o=a=>({type:"custom",render:({value:r,onChange:n,field:s})=>S(JU,{value:r,onChange:n,unit:s?.unit,view:a})}),t=a=>{let r=Rd("Unit",S(PP,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");if(a==="desktop")return r;let n=r.render;return{...r,render:s=>S(ZU,{props:s,draw:n,view:a})}};return Ol({_gHeight:wt(Bn),...$n("sectionHeightMode",a=>a==="desktop"?e(a):e(a,r=>S(QU,{view:a,onClear:()=>r(void 0)}))),...$n("sectionHeightValue",o),...$n("sectionHeightUnit",t)})}function YU({value:e,onChange:o,view:t,badge:a}){let r=Jo(),n=l=>["auto","fixed","screen"].includes(l),s=qd(t,r)?.mode??"auto";return S(ro,{label:Bn,icon:El(S(wG,{})),action:a?a(o):void 0,children:Ad({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:n(e)?e:s,onChange:o,ariaLabel:Bn})})}function YP(e,o){return e==="phone"&&yl(o)?AT(o):bl(o)}function qd(e,o){return e==="desktop"||(e==="tablet"?yl(o):hx(o))?null:YP(e,o)}var $a=(e,o)=>e==="tablet"?zn(o):na(o);function XU(e,o,t,a){let r=qd(e,o);return!r||e==="desktop"?null:a===void 0?{}:{[$a(e,"sectionHeightMode")]:r.mode,...r.mode==="fixed"?{[$a(e,"sectionHeightUnit")]:r.unit}:{},...t==="sectionHeightUnit"?{[$a(e,"sectionHeightValue")]:r.value}:{},[$a(e,t)]:a}}function XP(e,o,t){let a=Gn(),r=qd(e,Jo());return!a||!r?{followed:null,write:t}:{followed:r,write:n=>a.onChangeMany(s=>{let l=XU(e,s,o,n);return l===null?{[e==="desktop"?o:$a(e,o)]:n}:Object.keys(l).length?l:null})}}function JU({value:e,onChange:o,unit:t,view:a}){let{followed:r,write:n}=XP(a,"sectionHeightValue",o),s=(r?r.unit:t)==="%"?"%":"px",l=s==="%"?px:ux;return S("div",{className:"sf-field",children:Uo({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:Bn,onChange:n})})}function ZU({props:e,draw:o,view:t}){let{followed:a,write:r}=XP(t,"sectionHeightUnit",e.onChange);return o({...e,...a?{value:void 0,storedValue:void 0,follows:a.unit}:{},onChange:r})}function QU({view:e,onClear:o}){let t=Jo(),a=qd(e,t)===null,r=e==="phone"&&yl(t),n=YP(e,t),s=Ar(l=>i(l),n.mode==="auto"?i("Auto"):`${n.value}${n.unit}`,r?"tablet":"desktop");return S(Co,{words:re()?.panel,label:i(Bn),changed:a,detail:s,onReset:o})}function Gx(){let e=t=>({type:"custom",render:({value:a,onChange:r,id:n,name:s})=>S(tj,{value:a,onChange:r,labelId:`${n??s??"stickTop"}-label`,view:t})}),o=t=>({type:"custom",render:({value:a,onChange:r})=>S(ej,{value:a,onChange:r,view:t})});return{_gStick:wt(Sd),...$n("stickTop",e),...$n("stickTopDistance",o)}}function ej({value:e,onChange:o,view:t}){let a=Gn(),r=Jo(),n=t==="desktop"||Ux(t,r)?null:JP(t,wd(r)),s=n&&a?l=>a.onChangeMany(c=>{let d=oj(t,c,l);return d===null?{[$a(t,"stickTopDistance")]:l}:Object.keys(d).length?d:null}):o;return S("div",{className:"sf-field",children:Uo({min:Ma.min,max:Ma.max,step:Ma.step,value:n?null:typeof e=="number"?e:Ma.fallback,...n?{placeholder:n.distance}:{},suffix:"px",ariaLabel:i("Distance from top"),onChange:s})})}function Ux(e,o){return e==="tablet"?gx(o):bx(o)}function JP(e,o){return e==="phone"?{on:o.tablet,distance:o.tabletDistance}:{on:o.desktop,distance:o.desktopDistance}}function oj(e,o,t){return e==="desktop"||Ux(e,o)?null:t===void 0?{}:{[$a(e,"stickTop")]:!0,[$a(e,"stickTopDistance")]:t}}function tj({value:e,onChange:o,labelId:t,view:a}){let r=Jo(),n=wd(r),s=a==="phone"?n.phone:a==="tablet"?n.tablet:e===!0,l=a==="phone"&&n.ownTablet,c=a==="desktop"?null:JP(a,n),d=c?.on?`${c.distance}px`:i("Off");return S(ro,{label:i(Sd),labelId:t,icon:El(S(TG,{})),action:za(ia,{children:[a!=="desktop"?S(Co,{words:re()?.panel,label:i(Sd),changed:Ux(a,r),detail:Ar(f=>i(f),d,l?"tablet":"desktop"),onReset:()=>o(void 0)}):null,S(Dx,{checked:s,onChange:o,ariaLabelledBy:t})]})})}var SP="e.g. about";function Yd(){return{_gAnchor:wt("Anchor"),anchor:Fr({control:"plainText",label:"Name",placeholder:SP},{type:"custom",render:({value:e,onChange:o})=>S(Nv,{value:e,onChange:o,nameBox:(t,a)=>S(Lr,{value:t,onChange:a,label:"Name",placeholder:SP,hideable:!1,markup:!1})})})}}function iwe(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(ro,{label:i(e),icon:o,htmlFor:l,hint:t===void 0?void 0:i(t),children:S(GG,{id:l,value:Number.isFinite(c)?new Date(c):null,onChange:d=>r(d?d.toISOString():"")})})}}}function aj(e,o,t,a){return{type:"custom",...Ga({},{...Md,label:e}),render:r=>{let{value:n,onChange:s,id:l,name:c}=r,d="follows"in r,f=r,m=typeof n=="boolean",u=typeof f.follows=="boolean"?f.follows:o,x=m?n:d?u:o,I=`${l??c??e}-label`,g=f.readOnly===!0,k=S(Dx,{checked:x,onChange:s,disabled:g,ariaLabelledBy:I});return S(ro,{label:i(e),labelId:I,icon:t,hint:a===void 0?void 0:i(a),action:d?za(ia,{children:[S(Co,{words:re()?.panel,label:i(e),changed:m,detail:f.followsNoView?i(u?"On":"Off"):Ar(C=>i(C),i(u?"On":"Off"),f.followsView),disabled:g,onReset:()=>s(void 0)}),k]}):k})}}}function ZP(){return{type:"custom",render:({value:e,onChange:o,id:t,name:a})=>{let r=`${String(t??a??"pageBackground")}-colour`;return S(rj,{label:"Background",icon:S(kG,{}),id:r,value:e,shown:vh(e),onChange:o})}}}function cwe(e,o,t){return{type:"custom",render:({value:a,onChange:r})=>S(Lo,{label:i(e),icon:t,value:a||o,onChange:r})}}function rj({label:e,icon:o,id:t,value:a,shown:r,onChange:n}){let{colors:s,n:l}=Kx(),c=Ht(a),d=c?En(c,s,l):null;return S(Lo,{label:i(e),icon:o,id:t,value:d?d.hex:r,caption:d?.words,onChange:n,choices:jx(c??"",s,l,n)})}function dwe(){return{type:"custom",render:e=>{let{value:o,onChange:t}=e,a=e;return S(nj,{value:typeof o=="string"?o:"",onChange:t,twin:"follows"in e?{follows:a.follows,view:a.followsView}:void 0})}}}function jx(e,o,t,a){let r=Yc(e);return Uv(o,t).map(n=>({label:n.label,color:n.value,selected:r===n.name,onPick:()=>a(n.name)}))}function nj({value:e,onChange:o,twin:t}){let{colors:a,n:r}=Kx(),n=a.background,s=Rr(n.toUpperCase(),i("Theme {n} background",{n:r})),l=Yc(e),c=l?En(l,a,r):null,d=jx(e,a,r,o),f=t?()=>o(void 0):()=>o(""),m=n,u=s;if(t){let x=Yc(t.follows),I=qc(t.follows),g=x?En(x,a,r):I?{hex:I,words:I.toUpperCase()}:null;m=g?.hex??n,u=Ar(k=>i(k),g?g.words:s,t.view)}return c?S(Lo,{label:i("Fill"),icon:S(Fx,{}),value:c.hex,caption:c.words,onChange:o,changed:!0,onReset:f,resetTo:u,choices:d}):S(dl,{label:i("Fill"),icon:S(Fx,{}),value:e,inherited:m,resetTo:u,onChange:o,onReset:f,choices:d})}function sj(e,o,t){if((e?.content??[]).some(n=>n?.props?.id===o))return It(t);let a=ak(e,o);if(a.length===0)return null;let r=It(ox(t));if(r!==null)return r;for(let n=a.length-1;n>0;n-=1){let s=It(ox(a[n].sectionAccent));if(s!==null)return s}return It(a[0].sectionAccent)}function Kx(){let e=eo(he().theme),[o]=la("sectionAccent"),t=null;try{let{appState:r,selectedItem:n}=Hd(l=>l),s=n?.props?.id?String(n.props.id):void 0;t=s?sj(r?.data,s,o):null}catch{t=null}let a=t!==null&&e.themes[t]?t:e.selected;return{colors:Ao(e.themes[a]),n:a+1}}var lj=[{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 ij({label:e,value:o,onChange:t,points:a=lj}){let r=a.map(n=>({...n,label:i(n.label),...n.title?{title:i(n.title)}:null}));return S(WG,{label:i(e),value:o,points:r,onChange:t})}function fwe(){return UP()}var QP={top:S(gG,{}),right:S(IG,{}),bottom:S(hG,{}),left:S(xG,{})};function e0(e,o,t,a,r,n,s){let l=m=>o.find(u=>u.value===m),c=m=>({value:m,label:"",disabled:!0,title:a}),d=m=>{let u=o.find(I=>I.cell===m);if(!u)return c(`missing-${m}`);let x=n?.[m];return x?{value:u.value,label:u.label,icon:x}:{value:u.value,label:u.label}},f=[c("corner-top-left"),d("top"),c("corner-top-right"),d("left"),c("centre"),d("right"),c("corner-bottom-left"),d("bottom"),c("corner-bottom-right")];return{type:"custom",render:({value:m,onChange:u})=>{let x=o.some(I=>I.value===m)?m:t;return S(ro,{label:i(e),icon:r,value:l(x)?.label?i(l(x).label):s?i(s):"",children:ij({label:e,value:x,onChange:u,points:f})})}}}function uwe(e,o,t){return{type:"custom",options:o,render:({value:a,onChange:r,field:n})=>S(vk,{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 pwe(e,o={}){return{type:"custom",render:({value:t,onChange:a})=>{let r={value:t,onChange:a,...o};return S(e,{...r})}}}var mwe=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function hwe(e,o,t){let a=Object.keys(jm).map(r=>({label:jm[r],value:r,picture:t[r]}));return{type:"custom",...Ga({},{type:"radio",label:e,options:a.map(r=>({value:r.value,label:r.label}))}),render:({onChange:r})=>S(dj,{label:e,icon:o,options:a,onChange:r})}}function cj(e,o,t){let a=kC(e,o,t);if(a!==void 0)return a==="save-makes-frame"?i("A frame is made from this video when you save the page."):a==="starts-dark"?i("This video starts dark, so no frame was made. The slide shows its background colour while the video loads. Choose Image to show a picture."):a==="outside"?i("This video is on another website, so no frame can be made. The slide shows its background colour while the video loads. Choose Image to show a picture."):a==="unsupported"?i("This video's file type gives no frame. The slide shows its background colour while the video loads. Choose Image to show a picture."):a==="failed"?i("No frame could be made from this video. It is tried again the next time you save the page. The slide shows its background colour while the video loads."):a==="image-no-frame"?i("The slide shows your Image while the video loads, because this video has no frame."):void 0;let r=vC(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 dj({label:e,icon:o,options:t,onChange:a}){let r=Gn(),n=r?.values??{},s=Qs(n),l=CP(rG),c=Fc(l?.docId??null),d=null;try{d=Hd(m=>m.appState.data)}catch{d=null}let f=UC(r?.id,d,c);return S(ro,{label:i(e),icon:El(o),hint:cj(n,f,l?.hasUnsavedEdits??!1),children:Ad({options:t,value:s,onChange:a,ariaLabel:e})})}function xwe(e,o,t,a={}){let r={type:"custom",[lG]:!0,render:({value:n,onChange:s,name:l})=>S(wk,{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?Gt("each",r):r}function fj(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 Iwe({value:e,onChange:o,label:t}){let a=e||{},r=Gn(),n=r?r.values!==r.node.props:!0,s=!!a.pending&&n,l=!!a.pending&&!n,c=!!Ge(aU()).geocode,d=vP(),f=(m,u)=>o({...a,[m]:u??void 0});return za(ia,{children:[S(ro,{label:i(t),icon:S(mP,{}),action:c?S(Nx,{content:i("Find from the address (OpenStreetMap)"),children:S(FP,{"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(PG,{})})}):void 0,children:c&&a.status?S(Mv,{compact:!0,oneLine:!0,spaced:!1,status:s?"busy":a.ok&&!l?"found":"notfound",statusText:s?i("Finding\u2026"):l?i(Oh):i(a.status),hint:fj(a)}):null}),S(ro,{label:i("Enter by hand"),labelId:d,icon:S(bG,{}),action:S(Dx,{checked:!!a.manual,onChange:m=>o({...a,manual:m}),ariaLabelledBy:d})}),a.manual&&S(ro,{label:i("Latitude, longitude"),icon:S(mP,{}),children:za("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8,width:"100%",minWidth:0},children:[S(xP,{value:typeof a.lat=="number"?a.lat:null,onChange:m=>f("lat",m),min:-90,max:90,step:1e-4,placeholder:i("Latitude")}),S(xP,{value:typeof a.lng=="number"?a.lng:null,onChange:m=>f("lng",m),min:-180,max:180,step:1e-4,placeholder:i("Longitude")})]})})]})}function uj(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function pj(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 mj(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 Vx={label:"Ticker items",icon:S(vG,{})};function gwe(e,o,t,a){return{type:"custom",[sa]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:a},...Ga({},{...HP.textList,label:e}),render:({value:r,onChange:n})=>S(qx,{label:e,icon:El(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=Tl(null),[l,c]=Pl(null),d=m=>m.map(u=>({text:u?.text??""})),f=m=>{let u=mj(t,m,l);u===null&&(s.current=null),c(u),r(d(m))};return S(MG,{label:i(e),icon:o,noun:i("item"),items:t,onChange:f,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?S(Rh,{target:s,value:uj(t,l),onChange:m=>r(pj(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:I=>x({text:I.target.value}),onFocus:I=>{s.current=I.currentTarget,c(u)}})})}function o0(e,o){let t=`${e.label} \u2014 row ${o+1}`;return Fr({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:a,onChange:r})=>S(Lr,{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 t0(e){return{_gCards:wt("Cards"),coverIndex:ra("Cover image",S(CG,{}),gk,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:CU("Image background",Td),cardImage:Ij()}}function a0(){return{outline:ra("Card outline",S(EG,{}),Hh,Nh),indexBadge:ra("Card number",S(PP,{}),Mh,Dh),showBadge:aj("Product badge",!0,S(Sh,{noun:"tag"}))}}function r0(e){let o=e?.defaults??{showCardSizes:!0,showCardBuy:!0,showCardPage:!0},t=r=>({...Md,label:Dd.find(n=>n.id===r).label}),a=r=>Ga(YG(Lx),t(r));return{_gShowOnCard:wt("Show on a card"),[Lx]:Ga({type:"custom",render:()=>S(hj,{rest:{showCardPrice:!0,showCardFinishes:!0,...o}})},t(Lx)),showCardFinishes:a("showCardFinishes"),showCardSizes:a("showCardSizes"),showCardBuy:a("showCardBuy"),showCardPage:a("showCardPage")}}var Lx="showCardPrice",Dd=[{id:"showCardPrice",label:"Price"},{id:"showCardFinishes",label:"Finish swatches"},{id:"showCardSizes",label:"Sizes"},{id:"showCardBuy",label:"Buy button"},{id:"showCardPage",label:"Page button"}];function hj({rest:e}){let o=Jo(),t=Gh(),a=s=>typeof o[s]=="boolean"?o[s]:void 0,r=s=>a(s)??e[s],n=Dd.some(({id:s})=>a(s)!==void 0&&a(s)!==e[s]);return S(Yx,{parts:Dd,changed:n,shown:r,onPress:(s,l)=>t({[s]:l}),onReset:()=>t(Object.fromEntries(Dd.map(({id:s})=>[s,void 0])))})}function bwe(e,o="display"){let t=na(o);return{[o]:Gt("desktop",{type:"custom",render:({value:a,onChange:r})=>S(Yx,{parts:e,changed:sk(a),shown:n=>Zc(a,n),onPress:(n,s)=>r(ik(a,n,s)),onReset:()=>r(void 0)})}),[t]:Gt("mobile",{type:"custom",render:({value:a,onChange:r})=>S(xj,{parts:e,desktopKey:o,value:a,onChange:r})})}}function Yx({parts:e,changed:o,shown:t,onPress:a,onReset:r,detail:n,disabledReason:s}){let l=i("Display");return S(ro,{label:l,icon:S(dG,{}),changed:o,action:S(Co,{words:re()?.panel,label:l,changed:o,detail:n,onReset:r}),children:S(HG,{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 xj({parts:e,desktopKey:o,value:t,onChange:a}){let r=Jo()[o];return S(Yx,{parts:e,changed:lk(t),shown:n=>Eh(r,t,n),onPress:(n,s)=>a(ck(t,n,s)),onReset:()=>a(td),detail:i("the same as Desktop")})}function Ij(){return GP("Card image",{min:qo,max:sr,step:fv,hint:"Rounds the picture. The card's own corner is in Styles."})}function ywe(){return $x({sidesKey:"cornerSides",step:uv,useFollowed:()=>qo,mark:S(gj,{label:pv}),hint:i("Rounds the picture. Left alone it stays square.")})}function gj({label:e,changed:o=!1,onReset:t=()=>{}}){return S(Co,{words:re()?.panel,label:i(e),changed:o,onReset:t})}function Swe(){return{type:"custom",render:({value:e,onChange:o})=>S(wj,{value:typeof e=="string"?e:"",onChange:o})}}function bj({layout:e,width:o}){let t=gh(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:Tv(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 yj={width:"3.5rem",height:"2.5rem"},Sj=200;function wj({value:e,onChange:o}){let[t,a]=Pl(null),[r,n]=Pl(4),s=Tl(null);aG(()=>{let u=s.current;if(!u||typeof ResizeObserver!="function")return;let x=()=>n(u.getBoundingClientRect().width>=Sj?4:3);x();let I=new ResizeObserver(x);return I.observe(u),()=>I.disconnect()},[]);let l=e&&e in Zt?e:"",c=Ih(t,l),d=Ih(t,"").length,f=zc("no-symbol"),m=[{value:"",label:i("Not chosen"),icon:fP(f,i("Not chosen"))},...c.map(u=>({value:u,label:i(Zt[u].label),icon:S(bj,{layout:Zt[u],width:40})}))];return S(ro,{label:i("Layout"),icon:S(SG,{}),value:l?i(Zt[l].label):void 0,children:S("div",{ref:s,style:{flex:"1 1 auto",minWidth:0},children:S(RP,{label:i("Layout"),value:l,options:m,onChange:o,columns:r,cell:yj,header:za("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(LG,{options:[{id:"all",label:i("All")},...vv.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:xh.length})})]})})})})}import{decodePartId as Wj}from"efficient-easel/draw";import{decodePartId as Qx,encodePartId as ef}from"efficient-easel/draw";import{LINK_FIELD_MARKER as m0,SCAFFOLD_FIELD_MARKER as u0,TEXT_FIELD_MARKER as of}from"efficient-easel/draw";import{readHidable as h0}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as Oj}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as Ej}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as n0}from"efficient-easel/draw";import{readHidable as s0}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as Cj}from"efficient-easel/draw";var vj=Cj,kj=["text","textarea"],Tj=["textarea","plainTextarea"];function Pj(e){return!e||typeof e!="object"?null:e[n0]?.control??null}function Un(e){let o=Pj(e);return o&&vj.includes(o)?o:null}function Xd(e){return Tj.includes(e)}function l0(e){return!e||typeof e!="object"?void 0:e[n0]?.placeholder}function Jd(e){return s0(e).text}function Xx(e,o,t){return kj.includes(e)?{text:t,hidden:s0(o).hidden}:t}function i0(e,o,t,a){return Jd(e[o])===a?null:{...e,[o]:Xx(t,e[o],a)}}function jn(e,o){return o?`${e}[${o.index}].${o.rowKey}`:e}function Ct(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 Zd(e){if(!(!e||typeof e!="object"))return e[Ej]}function Jx(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function c0(e,o){if(!Array.isArray(o))return[];let t=Zd(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=Jx(e);return r?(o.forEach((n,s)=>{for(let[l,c]of Object.entries(r)){if(!Un(c))continue;let d=Jd(n?.[l])||Zd(c)?.placeholder||"";d&&a.push({row:{index:s,rowKey:l},text:d})}}),a):[]}function _l(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function Zx(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 d0(e,o,t,a,r){let n=_l(e[o],t);return Jd(n)===r?null:Zx(e,o,t,Xx(a,n,r))}function f0(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var vt="data-sf-part",zwe="data-sf-region-part",Gwe="data-sf-part-row";function Uwe(e,o){return`${e}[${o}]`}var jwe="data-sf-part-kind",_j="data-sf-part-style-owner",Aj="data-sf-part-style-kind";function Kwe(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(_j),a=o.getAttribute(Aj);if(t&&a)return{owner:t,kind:a};if(o.getAttribute("data-easel-block"))return null}return null}var p0=2;function Kn(e){return ur(e).replace(/\s+/gu,"")}function Qd(e,o,t){let a=e[of];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}=h0(o);r?t.push(r):a.placeholder&&t.push(a.placeholder);return}if(!e[m0]){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))Qd(s,r?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[r,n]of Object.entries(e.objectFields))Qd(n,o[r],t)}}function eI(e){if(!e||typeof e!="object")return!1;let o=e;return o[m0]?!1:!!o[of]||o.type==="text"||o.type==="textarea"}function tf(e,o){let t=e[of];return t?.label?t.label:typeof e.label=="string"?e.label:o}function oI(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function Vwe(e,o,t){if(!e)return[];let a=[];for(let[r,n]of Object.entries(e)){if(!n||typeof n!="object"||fl(r))continue;let s=n,l=[];Qd(s,o?.[r],l),!l.length&&s[u0]!==void 0&&Qd(s,s[u0],l);let c=tf(s,r);if(t?.(r)&&eI(s)){l.length&&a.push({key:r,label:c,texts:[],keyed:!0});continue}let d=new Set;for(let{row:u,text:x}of c0(s,o?.[r])){let I=Kn(x);I.length<p0||(d.add(I),a.push({key:r,label:c,texts:[I],row:u}))}let f=new Set(d),m=[];for(let u of l){let x=Kn(u);x.length<p0||f.has(x)||(f.add(x),m.push(x))}m.length&&a.push({key:r,label:c,texts:m})}return a}function tI(e){return!e.offPage&&!e.hidden}var Rj=Oj;function x0(e,o){if(!o||typeof o!="object"||fl(e)||pk(o))return null;let t=o[of];return!t||!Rj.includes(t.control)?null:t}function qwe(e,o){let t=x0(e,o);return t!==null&&t.identifier!==!0}function I0(e,o){if(!e)return[];let t=[];for(let[a,r]of Object.entries(e)){let n=x0(a,r);if(!n)continue;let{text:s,hidden:l}=h0(o?.[a]);if(tI({offPage:n.offPage===!0,hidden:!!l}))continue;let c=s||n.placeholder||"",d=ur(c).replace(/\s+/gu," ").trim();t.push({key:a,label:oI(tf(r,a)),preview:d,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!l})}return t}function Vn(e,o){let t=Zd(e);return t?.control==="textList"?o.rowKey===(t.itemKey??"text")?o0(t,o.index):null:Jx(e)?.[o.rowKey]??null}function af(e,o,t){let a=e.node.props,{key:r,row:n}=Ct(e.propKey),s=n?d0(a,r,n,e.kind,o):i0(a,r,e.kind,o);return s?(t(e.zone,e.index,{...e.node,props:s}),!0):!1}import{readHidable as S0}from"efficient-easel/draw";import{isNodeList as Lj}from"efficient-easel/data";var aI=e=>String(e+1).padStart(2,"0"),tCe=[{label:"01 \xB7",value:"two-digit"},{label:"1.",value:"plain"}],rI="two-digit",g0=e=>e==="plain"?"plain":rI,rf=(e,o)=>e==="plain"?`${o+1}.`:aI(o);var sI="Contents",nI="Flex",b0="Text",Fj="numberForm",pCe="_contentsEntries",mCe="_kickerNumber",w0="data-sf-kicker-number",Bj=e=>S0(e).text.trim(),C0=e=>Gc(e?.anchor),y0=e=>String(e.props?.id??""),Dj=e=>!S0(e.props?.text).hidden&&!wn(e.props)&&!ht(e.props);function Al(e){return Object.values(e.props??{}).filter(Lj)}function v0(e){for(let o of Al(e))for(let t of o){if(cl(t.props??{}))continue;if(t.type===b0&&Dj(t))return t;if(t.type===b0)continue;let a=v0(t);if(a)return a}}function k0(e){return Al(e).some(o=>o.some(t=>t&&!cl(t.props??{})&&(t.type===sI||k0(t))))}var T0=e=>e.type===nI&&Dn(nI,e.props?.direction)==="row";function P0(e){return Al(e).some(o=>o.some(t=>t&&!cl(t.props??{})&&(t.type===sI||!T0(t)&&P0(t))))}function Nj(e){let o=[],t=(a,r)=>{for(let n of a){if(!n||cl(n.props??{}))continue;if(n.type===sI){r.open={contents:n,sections:r.waiting??[]},r.waiting=null,o.push(r.open);continue}if(T0(n)&&P0(n)){let l={inRow:!0,open:null,waiting:[]};for(let c of Al(n))t(c,l);r.inRow||(r.open=null);continue}let s=r.open?.sections??r.waiting;if(n.type===nI&&C0(n.props)&&s&&!k0(n)){s.push({box:n,kicker:v0(n)});continue}for(let l of Al(n))t(l,r)}};return t(e,{inRow:!1,open:null,waiting:null}),o}function Mj(e){return e.map(o=>({label:o.kicker?ur(Bj(o.kicker.props?.text)):"",anchor:C0(o.box.props)}))}function hCe(e){let o=e?.length?Nj(e):[];if(!o.length)return null;let t=new Map,a=new Map;for(let r of o){let n=y0(r.contents);n&&t.set(n,Mj(r.sections));let s=g0(r.contents.props?.[Fj]);r.sections.forEach((l,c)=>{let d=l.kicker?y0(l.kicker):"";d&&a.set(d,rf(s,c))})}return{entries:t,numbers:a}}var xCe=e=>e.endsWith(".")?`${e} `:`${e} \xB7 `;var $j=`[${w0}]`,zj=["bold","italic","underline","strike","link","sup","sub"],Gj=["bullet","number"];function cI(e,o){return e?[...zj,...o?Gj:[]]:[]}function E0(e,o){let t=Wj(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}=Ct(r),d=o.components[n.type]?.fields?.[l],f=c?Vn(d,c):d,m=Un(f);if(!m)return null;let u=n.props??{};if(nx(u)!==null||!c&&Dm(n.type,u,l)||n.type==="Text"&&l==="text"&&wn(u)||c&&!(Array.isArray(u[l])&&c.index<u[l].length))return null;let x=c?_l(u[l],c):u[l];return{node:n,selector:s,propKey:r,kind:m,stored:x,offPage:Wd(f)}}function nf(e,o){let t=E0(e,o);if(!t)return null;let{text:a,hidden:r}=Ua(t.stored);if(!tI({offPage:t.offPage,hidden:!!r}))return null;let n=Xd(t.kind);return{partId:e,value:a,rules:dr,multiline:n,skip:$j,offered:cI(t.kind!=="plainText",n),write:s=>{let l=E0(e,o);l&&af({node:l.node,propKey:l.propKey,kind:l.kind,zone:l.selector.zone,index:l.selector.index},s,o.replace)}}}function dI(e,o,t){return e?.isConnected&&e.getAttribute(vt)===t?e:o?.querySelector(`[${vt}="${sf(t)}"]`)??null}function sf(e){return e.replace(/["\\]/g,"\\$&")}function O0(e){let o=e.activeElement;return o?o.tagName==="IFRAME"||!!o.closest(".es-canvas"):!1}var lI=null,iI=new Set;function Uj(){return lI}function fI(e){if(e!==lI){lI=e;for(let o of iI)o()}}function jj(e){return iI.add(e),()=>{iI.delete(e)}}function _0(){return Hj(jj,Uj,()=>null)}function A0(e,o){if(e.outer)return null;let t=o.getItemById(e.ownerId);if(!t)return null;let a=dC(t.type);return!a||so(t.props)?null:{node:t,rows:a}}function Xj(e,o){let t=A0(e,o),a=o.getItemById(e.nodeId);if(!t||!a)return null;let r=Nm(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:Kj(e.ownerId,jn(t.rows,{index:e.index,rowKey:r}))}function lf(e,o){let t=Xj(e,o);return t?nf(t,o):null}function R0(e,o){return lf(e,o)?.value}function L0(e,o){let t=lf(e,o);return t?(t.write(e.text),!0):!1}function F0(e,o){let t=A0(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=Vj(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=qj(n,s,c);break}case"delete":l=Yj(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 IO,jsxs as Ul}from"react/jsx-runtime";import{Fragment as L7,useEffect as F7,useId as B7,useMemo as gO,useRef as D7,useState as ja}from"react";import{useScreenDocument as TO}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as dg}from"efficient-easel/draw/client";import N7 from"efficient-easel/screen/components/SidePanelHead";import{jsx as be,Fragment as ns,jsxs as Hr}from"react/jsx-runtime";import{useEasel as cO,useRootFields as WV}from"efficient-easel/easel";import{Inspector as $V}from"efficient-easel/fields";import{SettingsGroup as zV}from"efficient-easel/panel";import{useEffect as GV,useRef as UV,useState as lg}from"react";import{jsx as Br,Fragment as eK,jsxs as oK}from"react/jsx-runtime";import{useState as M0}from"react";import{SettingsDefaultReset as tK,SettingsField as aK}from"efficient-easel/panel";import{useEaselStrings as rK}from"efficient-easel/strings";import{AddIcon as nK}from"efficient-easel/icons";import{Button as sK}from"efficient-shell/ui";import{iconOf as lK,noGlyph as iK}from"efficient-easel/screen/lib/document/box-fields";import{jsx as cf,Fragment as Jj,jsxs as B0}from"react/jsx-runtime";import{Button as D0,Dialog as Zj}from"efficient-shell/ui";function Qj(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 N0({count:e,onCancel:o,onConfirm:t}){return B0(Zj,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Clear this site\u2019s colors?"),footer:B0(Jj,{children:[cf(D0,{variant:"secondary",onClick:o,children:i("Cancel")}),cf(D0,{variant:"danger",onClick:t,children:i("Clear colors")})]}),children:[cf("p",{children:Qj(e)}),cf("p",{className:"mt-2 font-medium",children:i("This cannot be undone.")})]})}var cK=iK("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"),dK="Reset color",fK={selected:0,themes:[]};function uK(e){e(fK)}function H0({value:e,onChange:o}){let t=e?.themes??[],a=t.length===0,r=eo(e),[n,s]=M0(!1),l=rK(),[c,d]=M0(null),f=(C,w)=>{o({...r,themes:r.themes.map((b,v)=>v===C?w:b)})},m=xn(r).accent,u=new Set(r.themes.map(C=>C.brandInk).filter(Boolean)),x=bS.filter(C=>!u.has(C)).map(C=>yS(m,C)),I=[...r.themes,...x],g=C=>{if(C<r.themes.length)return o({...r,selected:C});let w=[...r.themes,I[C]];o({...r,themes:w,selected:w.length-1})},k=()=>{let C=[...r.themes,{...Ao(r.themes[r.selected])}];o({...r,themes:C,selected:C.length-1}),d(C.length-1)};return oK(eK,{children:[a?null:Br(aK,{label:i(dK),icon:lK(cK),labelId:"sf-theme-reset",action:Br(tK,{label:i("all theme colors"),words:l.panel,changed:!0,onReset:()=>s(!0)})}),n&&Br(N0,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),uK(o)}}),Br("div",{className:"sf-theme-list",role:"radiogroup","aria-label":i("Theme"),children:I.map((C,w)=>Br(nd,{index:w,colors:C,selected:w===r.selected,open:c===w&&w<r.themes.length,editable:w<r.themes.length,onPick:()=>g(w),onEdit:()=>d(b=>b===w?null:w),onChangeColors:b=>f(w,b)},w))}),Br(sK,{variant:"secondary",leftIcon:Br(nK,{}),onClick:k,className:"sf-theme-add",children:i("Add new theme")})]})}import{jsx as df}from"react/jsx-runtime";import{SettingsDefaultReset as pK,SettingsField as mK}from"efficient-easel/panel";import{SquareIcon as hK}from"efficient-easel/icons";var xK="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",uI="Corners";function W0({value:e,onChange:o}){let t=e===null;return df(mK,{label:i(uI),icon:df(hK,{}),changed:!t,action:df(pK,{words:re()?.panel,label:i(uI),changed:!t,detail:i("the built-in corners"),onReset:()=>o(null)}),hint:i(xK),children:df(Uo,{min:qo,max:sr,step:1,value:e,...e===null?{}:{suffix:"px"},placeholder:qo,placeholderWord:"Auto",onClear:()=>o(null),ariaLabel:i(uI),onChange:o})})}import{jsx as Rl}from"react/jsx-runtime";import{SettingsDefaultReset as IK,SettingsField as gK}from"efficient-easel/panel";import{IconPicker as bK}from"efficient-shell/ui";import{ShadowIcon as yK}from"efficient-easel/icons";var pI={none:"None",soft:"Soft",lifted:"Lifted"},SK="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",wK={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 $0({value:e,onChange:o}){let t=e===null,a=e??Jp;return Rl(gK,{label:i("Card shadow"),icon:Rl(yK,{}),value:i(pI[a]),changed:!t,action:Rl(IK,{words:re()?.panel,label:i("Card shadow"),changed:!t,detail:i(pI[Jp]),onReset:()=>o(null)}),hint:i(SK),children:Rl(bK,{label:i("Card shadow"),value:a,options:AS.map(r=>({value:r,label:i(pI[r]),icon:Rl("span",{className:"sf-shadow-chip border border-line bg-surface",style:{boxShadow:wK[r]}})})),onChange:o})})}import{jsx as z0}from"react/jsx-runtime";import{ShadowIcon as CK}from"efficient-easel/icons";var vK="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 G0({value:e,onChange:o}){let t=e===null;return z0(dl,{label:i("Shadow color"),icon:z0(CK,{}),value:e??"",inherited:Qp,resetTo:Qp,onChange:o,onReset:()=>o(null),hint:i(vK)})}import{jsx as uf}from"react/jsx-runtime";import{SettingsDefaultReset as kK,SettingsField as TK}from"efficient-easel/panel";import{AlignSeparateIcon as PK}from"efficient-easel/icons";function ff(e,o){return e==="tablet"?null:e==="mobile"?o.phone:o.desktop}var EK="The space between the blocks inside a row, a grid or a box. Auto means each one keeps the spacing it already has.",OK="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.",mI="Block gap",U0=Mn.Grid;function j0(e,o){return ff(e,{desktop:{key:"block_gap",value:o.gap,followsPx:null},phone:{key:"block_gap_phone",value:o.phone,followsPx:o.gap===null?null:Sx(o.gap)}})}function K0({value:e,onChange:o,followsPx:t=null}){let a=e===null,r=t===null?null:`${t}px`,n=t===null?U0:Sl(t)??U0;return uf(TK,{label:i(mI),labelId:"sf-block-gap",icon:uf(PK,{}),changed:!a,action:uf(kK,{words:re()?.panel,label:i(mI),changed:!a,detail:r??i("each block's own spacing"),onReset:()=>o(null)}),hint:i(r===null?EK:OK),children:uf(Uo,{min:Er.min,max:Er.max,step:Er.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(mI),onChange:o})})}import{jsx as yf}from"react/jsx-runtime";import{SettingsDefaultReset as LK,SettingsField as FK,SettingsSegmented as BK}from"efficient-easel/panel";import{HoverIcon as DK}from"efficient-easel/icons";import{HOVER_MOTION as _K,hoverKindsOf as mf,motionSeconds as pf}from"efficient-shell/format";var Do="hover",hf="_gHover",qn={none:"None",nextImage:"Show next image",rotate:"Rotate",zoom:"Zoom",lift:"Lift",mono:"Black and white"},xf=mf(["none","lift"]);function q0(e){let o=e[Do];return xf.includes(o)?o:"none"}var If=mf(["none","rotate"]),Me={kind:Do,angle:"hoverAngle",duration:"hoverDuration",delay:"hoverDelay"},Ll="spinOnHover",V0=zt,Y0={ProductGrid:"rotate",RelatedProducts:"rotate",AlloyWheelsListing:"none"},Lve=Object.keys(Y0);function hI(e){return Y0[e]??"none"}var xI=_K.rotateFallbackDeg;function II(e,o){let t=e[Me.kind];if(If.includes(t))return t;let a=e[Ll];return typeof a=="boolean"?a?"rotate":"none":o}function gI(e){let o=j(e);return o===void 0?xI:Math.min(V0.max,Math.max(V0.min,o))}function Fve(e,o){let t=hI(o),a=II(e,t);return{kind:a,angle:a==="rotate"?gI(e[Me.angle]):null,duration:pf("hover","duration",a==="rotate"?e[Me.duration]:void 0),delay:pf("hover","delay",a==="rotate"?e[Me.delay]:void 0)}}function X0(e){let o={field:Me.kind,in:[...If]};return{any:[{field:Me.kind,is:"rotate"},{all:[{not:o},e==="rotate"?{not:{field:Ll,is:!1}}:{field:Ll,is:!0}]}]}}var gf=mf(["none","mono"]),bI=mf(["none","nextImage","mono"]),J0={ImageBlock:"none",Manifesto:"none",Split:"none",ContactLocations:"mono"},Bve=Object.keys(J0);function yI(e){return J0[e]??"none"}var Fl={zoom:"hoverZoom",darken:"hoverDarken"},da={min:100,max:150,step:1,unit:"%"},bf=["nextImage"];function AK(e,o){if(!bf.includes(o))return null;let t=j(e[Fl.zoom]);if(t===void 0)return null;let a=Math.min(da.max,Math.max(da.min,t));return a===da.min?null:String(a/100)}function RK(e,o){if(!bf.includes(o))return null;let t=j(e[Fl.darken]);return t!==void 0&&t>0?t:null}var SI=["ImageBlock"];function wI(e,o,t=gf){let a=e[Do];return t.includes(a)?a:o}function Z0(e,o=""){let t=SI.includes(o)?bI:gf,a=wI(e,yI(o),t),r=a!=="none";return{kind:a,duration:pf("hover","duration",r?e[Me.duration]:void 0),delay:pf("hover","delay",r?e[Me.delay]:void 0),...bf.includes(a)?{zoom:AK(e,a),darken:RK(e,a)}:{}}}function Q0(){return{field:Do,in:[...bf]}}function eE(e){return e==="none"?{field:Do,in:["mono","nextImage"]}:{not:{field:Do,is:"none"}}}var CI={none:qn.none,lift:qn.lift,highlight:"Highlight"},NK="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 oE({value:e,onChange:o}){let t=e===null,a=e??Zp;return yf(FK,{label:i("Hover effect"),icon:yf(DK,{}),value:i(CI[a]),changed:!t,action:yf(LK,{words:re()?.panel,label:i("Hover effect"),changed:!t,detail:i(CI[Zp]),onReset:()=>o(null)}),hint:i(NK),children:yf(BK,{options:RS.map(r=>({id:r,label:i(CI[r])})),value:a,ariaLabel:i("Hover effect"),onChange:o})})}import{jsx as Sf}from"react/jsx-runtime";import{SettingsDefaultReset as MK,SettingsField as HK,SettingsSegmented as WK}from"efficient-easel/panel";import{DropIcon as $K}from"efficient-easel/icons";var vI="Photography",tE={shot:"As shot",mono:"Black and white"},kI=[{grayscale:!1,label:tE.shot},{grayscale:!0,label:tE.mono}],zK="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function aE({value:e,onChange:o}){let t=e===null,a=e??!1;return Sf(HK,{label:i(vI),icon:Sf($K,{}),value:i(kI.find(r=>r.grayscale===a).label),changed:!t,action:Sf(MK,{words:re()?.panel,label:i(vI),changed:!t,detail:i(kI.find(r=>!r.grayscale).label),onReset:()=>o(null)}),hint:i(zK),children:Sf(WK,{options:kI.map(r=>({id:r.grayscale,label:i(r.label)})),value:a,ariaLabel:i(vI),onChange:o})})}import{jsx as TI}from"react/jsx-runtime";import{useId as GK}from"react";import{SettingsField as UK,SettingsSwitch as jK}from"efficient-easel/panel";import{ShareIcon as KK}from"efficient-easel/icons";var VK="Share button",qK="On every blog post.";function rE({value:e,onChange:o}){let t=GK();return TI(UK,{label:i(VK),labelId:t,icon:TI(KK,{}),action:TI(jK,{checked:e===!0,onChange:o,ariaLabelledBy:t}),hint:i(qK)})}import{usePreviewDevice as ig}from"efficient-easel/draw/client";import{jsx as wf}from"react/jsx-runtime";import{SettingsDefaultReset as YK,SettingsField as XK}from"efficient-easel/panel";import{PaddingXIcon as JK}from"efficient-easel/icons";var PI="Side space",nE=aa.default,ZK="The room left at the left and right edge of every page.";function sE(e,o){return ff(e,{desktop:{key:"site_gutter",value:o.gutter,unsetPx:nE,bounds:aa},phone:{key:"site_gutter_phone",value:o.phone,unsetPx:_d(o.gutter),bounds:kl}})}function lE({value:e,onChange:o,unsetPx:t=nE,bounds:a=aa}){let r=e===null;return wf(XK,{label:i(PI),labelId:"sf-side-space",icon:wf(JK,{}),changed:!r,action:wf(YK,{words:re()?.panel,label:i(PI),changed:!r,detail:`${t}px`,onReset:()=>o(null)}),hint:i(ZK),children:wf(Uo,{min:a.min,max:a.max,step:a.step,value:e,suffix:"px",placeholder:t,onClear:()=>o(null),ariaLabel:i(PI),onChange:o})})}import{jsx as EI}from"react/jsx-runtime";import{BACKGROUND_WIDTHS as fke,SettingsBackgroundWidth as QK,SettingsContentWidth as e8}from"efficient-easel/panel";var o8="Background width",t8="Content width";var Cf=e=>i(_r[e==="content"?"page":"full"]),iE="The width of every section's background.",cE="The width of every section's content.";function dE({value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n,labelId:s}){return EI(QK,{value:e,changed:o,detail:t,onChange:a,onReset:r,hint:n?i(n):void 0,labelId:s,words:{label:i(o8),full:Cf("full"),content:Cf("content")},resetWords:re()?.panel})}function fE({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(t8),x=e!=="full"?EI(Uo,{min:a,max:t,step:mo.step,value:Math.min(Math.max(o,a),t),onChange:c,suffix:"px",ariaLabel:u}):null;return EI(e8,{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:Cf("full"),content:Cf("content")},resetWords:re()?.panel})}import{jsx as YE}from"react/jsx-runtime";import{TextStyleItem as xV,TextStylesGroup as IV}from"efficient-easel/text-styles";import{jsx as cV}from"react/jsx-runtime";import{useState as dV}from"react";import{TextStylesList as fV}from"efficient-easel/text-styles";import{usePreviewDevice as uV}from"efficient-easel/draw/client";import{defaultTextStyles as BE,textStyleCaseCss as eV,textStyleViewKey as oV}from"efficient-easel/text-styles/model";import{phoneKey as tV,resolveViewValue as DE,tabletKey as aV}from"efficient-easel/draw";import{VIEW_DESKTOP_MIN as a8,VIEW_TABLET_MIN as uE}from"efficient-easel/draw";var pE=.02,vf=`(min-width: ${uE}px) and (max-width: ${a8-pE}px)`,Yn=`(max-width: ${uE-pE}px)`;import{textStyleCaseCss as n8,textStyleCaseOfCss as s8}from"efficient-easel/draw";var kf="data-sf-spec-region";function mE(e){return e.writable===!0&&e.sized===!0}function Tf(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 Xn(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 OI(e){return`@${e}`}function Bl(e,o){if(!o.startsWith("@"))return null;let t=o.slice(1);return t in e?t:null}function r8(e,o){return o&&o in e?o:null}function Jn(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function Zn(e,o){return Jn(e?.[o])??{}}function Pf(e,o,t){let a=Zn(e,o);return Object.hasOwn(a,t)?Jn(a[t])??{}:{}}function Ef(e,o,t,a){let{[t]:r,...n}=Zn(e,o),s=a?{...n,[t]:a}:n,{[o]:l,...c}=e;return Object.keys(s).length?{...c,[o]:s}:c}var FI="_partStyles",BI="data-sf-part-styled",Qn="data-sf-text-style",l8=/^(heading|body)-[1-7]$/;function Nr(e){return typeof e=="string"&&l8.test(e)}var Of={heading:"heading-1",heading2:"heading-2",heading3:"heading-3",body:"body-1",label:"body-5"};function i8(e){if(!e)return null;for(let[o,t]of Object.entries(Of))if(t===e)return o;return null}function DI(e){if(Nr(e.textStyle))return e.textStyle;let o=Xt(e.role);return o?Of[o]:void 0}var c8=[400,500,600,700],Nl=["left","center","right","justify"],_I=5,AI=1e3,d8=-5,f8=10,NI=0,MI=64,HI=2,hE={size:{min:_I,max:AI,step:1},sizeTablet:{min:_I,max:AI,step:1},sizePhone:{min:_I,max:AI,step:1},padding:{min:NI,max:MI,step:HI}},u8=.05,p8=.01,m8=["line","letter"],h8=.5,x8=2.5,I8=-1,g8=1,b8=0,y8=400,S8=[...new Set(Object.values(hn))];function SE(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 _ke(e){return Zn(e,FI)}function Ml(e,o){return Pf(e,FI,o)}function wE(e,o,t){return Ef(e,FI,o,w8(t).length?t:null)}function w8(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function C8(e){return m8.includes(e)}var Dl=(e,o,t)=>Math.min(t,Math.max(o,e));function v8(e,o){if(C8(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:Dl(t,d8,f8)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?es(Dl(t,h8,x8),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?es(Dl(t,I8,g8),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:Dl(t,b8,y8)}if(Object.hasOwn(hE,e)){let{min:t,max:a}=hE[e],r=Math.round(Number(o));return Number.isFinite(r)?Dl(r,t,a):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"||e==="fontRole"?Xt(o)?o:null:e==="sizeToken"?WI(o)?o:null:e==="textStyle"?Nr(o)?o:null:e==="alignPhone"||e==="alignTablet"?Nl.includes(o)?o:null:o}var k8=["weight","size","sizeTablet","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding"];function os(e){let o=null,t=a=>{o??={...e},delete o[a]};for(let a of k8){let r=e[a];r!==void 0&&!(typeof r=="number"&&Number.isFinite(r))&&t(a)}return e.align!==void 0&&!Nl.includes(e.align)&&t("align"),e.alignTablet!==void 0&&!Nl.includes(e.alignTablet)&&t("alignTablet"),e.alignPhone!==void 0&&!Nl.includes(e.alignPhone)&&t("alignPhone"),e.textStyle!==void 0&&!Nr(e.textStyle)&&t("textStyle"),e.sizeToken!==void 0&&!WI(e.sizeToken)&&t("sizeToken"),e.fontRole!==void 0&&!Xt(e.fontRole)&&t("fontRole"),o??e}function WI(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"&&S8.includes(c);return l(o)&&s(t)&&(a===void 0||l(a))&&(r===void 0||s(r))&&(n===void 0||T8(n,t))}function T8(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 $I(e){return e?.pxPhone&&WI(e)?{step:e.stepPhone??e.step,px:e.pxPhone}:null}function CE({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 P8=[["font","role"],["font","fontRole"],["role","textStyle"],["line","lineHeight"],["letter","letterSpacing"]];function E8(e){let o=[];for(let[t,a]of P8)t===e?o.push(a):a===e&&o.push(t);return o}function fa(e,o,t,a){let r={...Ml(e,o)},n=a==null?null:v8(t,a);if(n===null)delete r[t];else{r[t]=n;for(let s of E8(t))delete r[s]}return wE(e,o,r)}function vE(e,o){return wE(e,o,{})}function O8(e){return s8(e)??"none"}function _8(e){return n8(e)??""}var xE={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 A8(e,o){return Xt(e.role)||(o?.blockDrawsStyle?null:i8(e.textStyle))}function kE(e,o){return e==="Text"&&o==="text"}var R8={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 L8(e){let o=hn[e],t=R8[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function Hl(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=es(F8+e.line*u8,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=es(e.letter*p8,4)),o}var F8=1,Dr="--sf-part-para";function B8(e){e=os(e);let o={};if(typeof e.sizePhone=="number"&&e.sizePhone>0)o.fontSize=`${e.sizePhone}px`;else{let a=$I(e.sizeToken);if(a)o.fontSize=CE(a);else{let r=Af(e);r!==void 0&&(o.fontSize=`${r}px`)}}let t=e.alignPhone??_f(e);return t&&(o.textAlign=t),o}function _f(e){return e.alignTablet&&e.alignTablet!==e.align?e.alignTablet:void 0}function Af(e){let o=ut("textSize",e.size,e.sizeTablet,void 0).tablet;return o&&o>0?o:void 0}function D8(e){let o=os(e),t={},a=Af(o);a!==void 0&&(t.fontSize=`${a}px`);let r=_f(o);return r&&(t.textAlign=r),t}function TE(e,o){if(o==="desktop")return;let t=os(e);return(o==="mobile"?_f(t):void 0)??t.align}function N8(e,o){if(o==="desktop")return e;let t=os(e),a=Af(t),r=_f(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=$I(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 zI(e,o,t){return UI(N8(e,o),Rf,t)}function GI(e){return e==="mobile"?"sizePhone":e==="tablet"?"sizeTablet":"size"}function PE(e,o){if(o==="desktop")return null;let t=os(e);if(o==="mobile"){if($I(t.sizeToken))return null;let a=Af(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 EE(e,o){let t=GI(o);if(!Object.hasOwn(e,t))return e;let a={...e};return delete a[t],a}function Ake(e,o,t){let a=zI(EE(e,o),o,t);return{fontFamily:a.fontFamily,fontSize:a.fontSize}}function UI(e,o,t){e=os(e);let a=A8(e,t),r=Hl(e),n=e.size?`${e.size}px`:e.sizeToken?CE(e.sizeToken):a?L8(a):"";return{fontFamily:e.font?$8(e.font):e.fontRole?`var(${xE[e.fontRole]})`:a?`var(${xE[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`:"",[Dr]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:_8(e.case),textAlign:e.align??"",paddingTop:IE(e.padding),paddingBottom:IE(e.padding),color:M8(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var M8=e=>On(e),IE=e=>e===void 0?"":`${e}px`,es=(e,o)=>Number(e.toFixed(o));function Rke(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:H8(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(a)?es(a/t,3):1.2,letterEm:Number.isFinite(r)?es(r/t,4):0,align:W8(e.textAlign),case:O8(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0}}function H8(e){return Number.isFinite(e)?c8.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function W8(e){for(let o of Nl)if(o===e)return o;return e==="end"?"right":"left"}function Lke(e,o){let t=gE(e);if(!t)return"";for(let a of dt)if(gE(o(a.cssVar))===t)return a.key;return""}var gE=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function $8(e){let o=mn(e);return o?`var(${o.cssVar})`:""}function Fke(e,o,t,a){return!o||Qx(o)?.nodeId!==e?null:t.find(r=>a(r.getAttribute("class")))??t[0]??null}function z8(e,o){return Object.hasOwn(e,o)?Jn(e[o])??{}:{}}function Bke(e,o,t=()=>Rf,a=l=>l,r=j8,n="desktop",s=()=>!1){let l=0;for(let{element:c,partId:d}of e){let f=Qx(d)?.propKey;if(!f)continue;let m=z8(o,a(f)),u=zI(m,n,{blockDrawsStyle:s(f)});Nr(m.textStyle)?c.setAttribute?.(Qn,m.textStyle):c.removeAttribute?.(Qn);let x=RI.some(g=>c.style[g]),I=!1;for(let[g,k]of Object.entries(u))q8(c,g,k),k&&(I=!0);if(x||RI.some(g=>u[g]))for(let g of G8(c,r))for(let k of RI)g.style[k]=u[k]??"";I&&(l+=1)}return l}function G8(e,o){let t=Kn(e.textContent??""),a=[],r=e;for(let n=0;n<U8&&o(r);n+=1){let s=r.parentElement;if(!s||Kn(s.textContent??"")!==t)break;a.push(s),r=s}return a}var U8=8;function j8(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var Rf={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0};function K8(e){if(!e||typeof e!="object")return null;let o={};return Nr(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 V8(e,o){let t=K8(e);if(!t)return{};let a=zI(t,o);return{...a.fontFamily?{fontFamily:a.fontFamily}:{},...a.fontSize?{fontSize:a.fontSize}:{}}}function OE(e){return Nr(e?.textStyle)||!!e?.role||typeof e?.size=="number"&&e.size>0}function Dke(e,o,t){if(!e||typeof e!="object")return{};let a=Tf(e.role,o,hn)??{},r=o.sized?V8(EE(e,t),t):{};return{...a,...r}}function Nke(e,o,t){t.fontFamily&&e.fontFamily===t.fontFamily&&(e.fontFamily=o.fontFamily),t.fontSize&&e.fontSize===t.fontSize&&(e.fontSize=o.fontSize)}function q8(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===Dr&&(t?r.setAttribute?.(bE,""):r.removeAttribute?.(bE))}var bE="data-sf-part-para",Y8=Object.keys(UI({},Rf)),LI=new Set(["color","overflowWrap",Dr,"fontStyle"]),RI=Y8.filter(e=>!LI.has(e));function _E(e,o,t,a=l=>l,r=()=>!1,n=()=>null,s=[]){let l=new Map;for(let m of e){let u=jn(m.key,m.row);for(let x of m.texts){let I=l.get(x);I?(I.keys.add(m.key),I.partKeys.add(u)):l.set(x,{keys:new Set([m.key]),partKeys:new Set([u])})}}let c=new Map;for(let m of new Set([...Object.keys(o),...s])){if(!X8(m))continue;let u=yE(t,m,Jn(o[m])??{},!1,n(m));u&&c.set(m,u)}let d=m=>{let u=a(m),x=n(u);if(!Object.hasOwn(o,u)&&!x)return null;let I=Jn(o[u])??{};return yE(t,m,I,r(m),x)},f=new Map;for(let[m,{keys:u,partKeys:x}]of l){let I=x.size===1?[...x][0]:u.size===1?[...u][0]:null;if(!I)continue;let g=d(I);g&&f.set(m,g)}for(let m of e){if(!m.keyed)continue;let u=d(jn(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 yE(e,o,t,a,r){let n=UI(t,Rf,{blockDrawsStyle:a}),s=D8(t),l=B8(t),c=Nr(t.textStyle)?t.textStyle:void 0;return!Object.values(n).some(Boolean)&&!Object.keys(s).length&&!Object.keys(l).length&&!c&&!r?null:{stamp:J8(e,o),declarations:n,...Object.keys(s).length?{tablet:s}:{},...Object.keys(l).length?{phone:l}:{},...c?{textStyle:c}:{},...r?{motion:r}:{}}}function X8(e){return e.startsWith("@")}function jI(e,o){return e?.kindRules.get(o)??null}function J8(e,o){let t=a=>a.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function AE(e){let o=[],t=new Set,a=r=>{let{stamp:n,declarations:s}=r;if(t.has(n))return;t.add(n);let l=Object.entries(s).filter(([,I])=>I!==""),c=I=>I.map(([g,k])=>`${Z8(g)}: ${k}`).join("; "),d=`[${BI}="${n}"]`,f=l.filter(([I])=>!LI.has(I)),m=l.filter(([I])=>LI.has(I));f.length&&o.push(`${d}, *:has(> ${d}) { ${c(f)} }`),m.length&&o.push(`${d} { ${c(m)} }`),s[Dr]&&(o.push(`*:has(> ${d}) { ${Dr}: ${s[Dr]} }`),o.push(...Lf(d,`*:has(> ${d})`)));let u=Object.entries(r.tablet??{}).filter(([,I])=>I!=="");u.length&&o.push(`@media ${vf} { ${d}, *:has(> ${d}) { ${c(u)} } }`);let x=Object.entries(r.phone??{}).filter(([,I])=>I!=="");x.length&&o.push(`@media ${Yn} { ${d}, *:has(> ${d}) { ${c(x)} } }`)};for(let r of e.rules.values())a(r);for(let r of e.kindRules.values())a(r);return o.join(`
68
+ `)}function Lf(e,o){let t=`var(${Dr})`,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 Z8=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function RE(e,o){if(!e)return null;let t=Kn(o),a=e.rules.get(t);if(a)return a;if(t.length<Q8||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 Q8=8;function LE(e){switch(e.id){case"heading-1":return"font-display";case"heading-2":return"font-heading2";case"heading-3":return"font-heading3";case"body-1":return"font-body";case"body-5":return"font-mono";default:return`font-${e.id}`}}var KI=e=>e==="sentence"?"none":void 0,NE=["font","color","size","sizeTablet","sizePhone","weight","italic","lineHeight","lineHeightTablet","lineHeightPhone","letterSpacing","letterSpacingTablet","letterSpacingPhone","paragraphSpacing","paragraphSpacingTablet","paragraphSpacingPhone","letterCase","largestSize","largestSizeTablet","largestSizePhone"],ts=["desktop","tablet","phone"],Wl=(e,o)=>o==="desktop"?e:o==="tablet"?aV(e):tV(e),Mr=(e,o)=>o==="desktop"?e:oV(e,o);function YI(e,o,t,a=mr()){return DE("textSize",o,e.sizeTablet,e.sizePhone,a)[t]}var rV=[["lineSpacing","lineHeight","line"],["letterSpacing","letterSpacing","letter"]];function VI(e){for(let[o,t,a]of rV)for(let r of ts)if(e===Mr(o,r))return{key:Wl(t,r),view:r,spacing:a};return{key:e,view:"desktop",spacing:null}}function Ut(e){let o={};for(let t of NE)e[t]!==void 0&&(o[t]=e[t]);return o}function XI(e,o){let{auto:t,...a}=e,r=new Set(o??[]),n=NE.filter(s=>r.has(s)&&e.values[s]===void 0);return n.length?{...a,auto:n}:a}function ME(e){let o=e.fonts,t=e.sizes,a=e.typography,r=FS(e.compression),n={"heading-1":{font:ee(o.heading),size:j(t.headingLarge),weight:j(a.weight),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:KI(a.case),largestSize:j(a.maxPx)},"heading-2":{font:ee(o.heading2),size:j(t.headingMedium),weight:j(a.weight2),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:KI(a.case2)},"heading-3":{font:ee(o.heading3),size:j(t.headingSmall),weight:j(a.weight3),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:KI(a.case3)},"body-1":{font:ee(o.body),size:j(t.body)},"body-5":{font:ee(o.label),size:j(t.label)}};return BE().map(({id:s,kind:l,name:c})=>({id:s,kind:l,name:c,values:Ut(n[s]??{})}))}function JI(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=>XI({...o,values:Ut(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function Xke(e){return JI(e)??[]}function HE(e){return JI(e)??BE().map(({id:o,kind:t,name:a})=>({id:o,kind:t,name:a,values:{}}))}function ua(e,o){let t=ME(o),a=JI(e);return a?a.map(r=>{let n={...qI(t,r.id)};for(let s of r.auto??[])delete n[s];return{...r,values:Ut({...n,...r.values})}}):t}var qI=(e,o)=>e.find(t=>t.id===o)?.values??{},FE=["heading-1","heading-2","heading-3"];function WE({saved:e,old:o,cur:t,next:a,sizeOf:r,panelView:n="desktop"}){let s=ME(o),l=HE(e),c=ua(l,o),d=[],f=a.map(u=>{let x=t.find(P=>P.id===u.id),I=l.find(P=>P.id===u.id);if(!x||!I){let P=nV([u],r,n)[0],F=P.values.color;return F===void 0?P:{...P,values:{...P.values,color:zo(F)}}}let g={...I.values},k=new Set(I.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=>VI(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}=VI(P),O=F,R=C[P];if(R===void 0){delete g[O],qI(s,u.id)[O]!==void 0&&(d.push([u.id,O]),k.add(O));continue}if(k.delete(O),D==="line")g[O]=as(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[VI(L).key];let y=Ut({...N,...g}),_=YI(y,r({...u,values:y}),T);g[O]=_?as(R/_,4):0}else g[O]=R}return XI({id:u.id,kind:u.kind,name:u.name,values:Ut(g)},k)}),m=o.compression;if(d.some(([u,x])=>(x==="lineHeight"||x==="letterSpacing")&&FE.includes(u))&&lr(m)!=="normal"){for(let u of FE){let x=f.find(g=>g.id===u);if(!x)continue;let I={...x.values};for(let g of["lineHeight","letterSpacing"])d.some(([k,C])=>k===u&&C===g)||I[g]===void 0&&!(x.auto??[]).includes(g)&&(I[g]=qI(s,u)[g]);x.values=Ut(I)}m="normal"}return{saved:f,old:{...o,compression:m}}}function $E(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=lr(e.old.compression)),t}var as=(e,o)=>Number(e.toFixed(o)),zE=(e,o)=>ts.indexOf(e)<ts.indexOf(o)?o:e;function GE(e,o,t="desktop"){return e.map(a=>{let r={...a.values},n=o(a);for(let s of ts){let l=Wl("lineHeight",s),c=a.values[l],d=a.values[Wl("letterSpacing",s)];delete r[l],c!==void 0&&(r[Mr("lineSpacing",s)]=as(c*100,1));let f=zE(s,t);d!==void 0&&(r[Mr("letterSpacing",s)]=as(d*YI(a.values,n,f),f===s?2:4))}return{id:a.id,kind:a.kind,name:a.name,values:r}})}function nV(e,o,t="desktop"){return e.map(a=>{let r=a.values,n={...r};for(let d of ts)delete n[Mr("lineSpacing",d)],delete n[Mr("letterSpacing",d)];let s={id:a.id,kind:a.kind,name:a.name,values:Ut(n)},l={...s.values},c=o({...s,values:{...s.values}});for(let d of ts){let f=r[Mr("lineSpacing",d)],m=r[Mr("letterSpacing",d)];if(typeof f=="number"&&(l[Wl("lineHeight",d)]=as(f/100,3)),typeof m=="number"){let u=YI(s.values,c,zE(d,t));l[Wl("letterSpacing",d)]=u?as(m/u,4):0}}return{...s,values:Ut(l)}})}function Jke(e){let o={fonts:Ds({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:Xp({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:lr(e.heading_compression),typography:DS(e)},t=e.text_styles??null,a=Array.isArray(t)?ZI(ua(t,o),o):o;return{fonts:Ds(a.fonts),sizes:Xp(a.sizes),compression:lr(a.compression),typography:a.typography,textStyles:t}}function ZI(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 Zke(e){let o=[];for(let t of e){let a=t.values,r=`.${LE(t)}`,n=`[${Qn}="${t.id}"]`,s=`${r}, ${n}`,l=[],c=a.font!==void 0?dt.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=On(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=eV(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(...Lf(`:is(${s})`,`*:has(> ${n})`))),o.push(...sV(t,s,r,n))}return o.join(`
69
+ `)}function sV(e,o,t,a){let r=e.values,n=ut("textSize",r.size,r.sizeTablet,r.sizePhone),s=ut("textSize",r.largestSize,r.largestSizeTablet,r.largestSizePhone),l=ut("same",r.lineHeight,r.lineHeightTablet,r.lineHeightPhone),c=ut("same",r.letterSpacing,r.letterSpacingTablet,r.letterSpacingPhone),d=ut("spacing",r.paragraphSpacing,r.paragraphSpacingTablet,r.paragraphSpacingPhone),f=DE("textSize",r.size,r.sizeTablet,r.sizePhone,mr()),m=lV[e.id],u=[];for(let[x,I]of[["tablet",vf],["phone",Yn]]){let g=[],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&&g.push(`${o} { ${k.join("; ")} }`),e.kind==="heading"&&v.length&&g.push(`${o}, ${t}:is(h1, h2, h3, h4), ${a}:is(h1, h2, h3, h4) { ${v.join("; ")} }`),d[x]!==void 0&&g.push(`*:has(> ${a}) { --sf-part-para: ${d[x]}px }`),d[x]!==void 0&&!r.paragraphSpacing&&g.push(...Lf(`:is(${o})`,`*:has(> ${a})`)),b!==void 0&&m&&g.push(`.sf-themed-content { --size-${m}: ${b}px !important }`),g.length&&u.push(`@media ${I} { ${g.join(" ")} }`)}return u}var lV={"heading-1":"headingLarge","heading-2":"headingMedium","heading-3":"headingSmall","body-1":"body","body-5":"label"};function Qke(e){return e!==!0&&e!==!1?"":`em.text-accent { font-style: ${e?"italic":"normal"} }`}function UE(e){return e?Of[e]:void 0}function QI(e){let o=Hl(e);return Ut({font:e.font,color:e.color===void 0?void 0:zo(e.color),size:e.size,weight:e.weight,italic:e.italic,lineHeight:o.lineHeight,letterSpacing:o.letterSpacingEm,paragraphSpacing:e.paragraphSpacing,letterCase:e.case})}function jE(e){return Object.keys(QI(e)).length>0}function KE({saved:e,old:o,styleId:t,values:a}){let r=HE(e);return{saved:iV(r,t,a),old:o}}function iV(e,o,t){return e.map(a=>a.id===o?XI({...a,values:Ut({...a.values,...t})},a.auto):a)}var pV={desktop:"desktop",tablet:"tablet",mobile:"phone"},VE=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],mV=["size","lineSpacing","letterSpacing","letterCase"],hV=500,eg=dt.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function qE({saved:e,old:o,colours:t,colourNameOf:a,sizeOf:r,onChange:n,openId:s,onOpenChange:l,readOnly:c=!1,withoutSize:d=!1}){let f=uV(),[m,u]=dV(null),x=ua(e,o),I=pV[f],g=GE(x,r,I);return cV(fV,{styles:g,onChange:k=>n(WE({saved:e,old:o,cur:g,next:k,sizeOf:r,panelView:I})),fonts:eg,colours:t,colourNameOf:a,settings:d?VE.filter(k=>k!=="size"):VE,auto:mV,openId:s===void 0?m:s,onOpenChange:l??u,readOnly:c,device:I,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=hV),w}})}var XE=["font","size","weight","emphasis"],gV=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 yV(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 JE(e){let{headingWeight:o,open:t,onOpenChange:a,onChange:r,withoutSize:n=!1}=e,s=bV(e);return YE(IV,{label:i("Emphasis"),children:YE(xV,{style:s,fonts:eg,settings:n?XE.filter(l=>l!=="size"):XE,auto:["size"],fallback:()=>({weight:o??gV}),open:t,onOpenChange:a,onChange:l=>yV(s,l).forEach(r)})})}import{EmptyState as jV,SliderGroup as KV,Tabs as VV,Tooltip as SPe,tabButtonId as qV,tabPanelId as YV}from"efficient-shell/ui";import{ContrastIcon as XV,SettingsIcon as JV,TypeIcon as ZV}from"efficient-easel/icons";function ZE(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 rg}from"react/jsx-runtime";import{ListIcon as LV,PaddingTopIcon as FV}from"efficient-easel/icons";import{jsx as Ff}from"react/jsx-runtime";import{SettingsDefaultReset as SV,SettingsField as wV,SettingsSegmented as CV}from"efficient-easel/panel";import{WidthIcon as vV}from"efficient-easel/icons";function QE({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 Ff(wV,{label:d,labelId:r,icon:Ff(vV,{}),value:l?n:void 0,changed:!l,action:Ff(SV,{words:re()?.panel,label:d,changed:!l,onReset:()=>t(void 0)}),hint:s,children:Ff(CV,{options:[{label:i(_r.full),id:"full"},{label:i(_r.page),id:"content"}],value:c,ariaLabel:d,onChange:t})})}import{HEADER_TYPE as og,FOOTER_TYPE as kV}from"efficient-easel/draw";var TV=new Set(["Hero","HeroSingle","IntroBleed"]),eO={min:56,max:140,default:88},wTe={min:0,max:120,step:2,default:32},CTe=`var(--sf-header-h, ${eO.default}px)`,PV="--sf-header-set-h",vTe="--sf-header-h",kTe=`var(${PV}, ${eO.default}px)`,TTe="sf-header-clearance",PTe="sf-sticky-underheader";function EV(e){return e?.find(o=>o?.type&&o.type!==og)??null}function oO(e){let o=EV(e)?.type;return!o||!TV.has(o)}function ETe(e){return!oO(e)}function OTe(e){return!!e?.some(o=>o?.type===og)}function _Te(e){return!e||e.length===0?!1:!e.some(o=>o?.type===og||o?.type===kV)}var OV=["auto","shared","own"],tg="auto",_V="topSpace",ATe="data-top-space";function AV(e){return OV.includes(e)?e:tg}function RV(e,o){let t=AV(e?.props?.[_V]);return t==="own"?!0:t==="shared"?!1:oO(o)}function RTe(e,o){return RV(e,o)?"own":null}function BV(){return{type:"custom",render:({value:e,onChange:o})=>rg(QE,{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 DV=[{label:"Auto",value:"auto"},{label:"Shared",value:"shared"},{label:"Its own",value:"own"}],GTe={pageBackground:ZP(),topSpace:ra("Top space",rg(FV,{}),DV,tg),widthChoice:BV()},$l=["pageBackground","topSpace","widthChoice"],NV="Record type",ag=new Map,tO=-1;function MV(e){tO!==nh()&&(ag.clear(),tO=nh());let o=rh(),t=o.some(r=>r.key===e)?"":e,a=ag.get(t);return a||(a=ra(NV,rg(LV,{}),[...o.map(r=>({label:r.label,value:r.key})),...t?[{label:t,value:t}]:[]],Aa),ag.set(t,a)),a}var aO=new WeakMap;function UTe(e,o){if(!al()||rh().length<2||Dc in e)return e;let t=MV(tl(o)),a=aO.get(e);if(a&&a.row===t)return a.fields;let r={[Dc]:t,...e};return aO.set(e,{row:t,fields:r}),r}import{previewFrame as QV}from"efficient-easel/screen/lib/document/preview-dom";var rO="background";function nO(e){let o=Ao(xn(e));return _n({main:o.accent,text:o.text,background:o.background,muted:o.muted}).map(t=>({key:t.name,name:t.label??t.name,value:t.value}))}function sO(e){return nO(e).filter(o=>o.key!==rO)}function lO(e){let o=nO(e).filter(t=>t.key===rO);return t=>{let a=zo(t);return o.find(r=>r.key===a)?.value??a}}import{useEasel as HV}from"efficient-easel/easel";function Bf({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=HV(T=>T),{fonts:r,setFonts:n,sizes:s,setSizes:l,headingCompression:c,setHeadingCompression:d,headingTypography:f,setHeadingTypography:m,textStyles:u,setTextStyles:x}=he(),I=t.data,g=I.root?.props??{},k=e?Ds(g.fonts):r,C=e?ES:s,w=e?lr(g.headingCompression):c,b=e?BS(g.headingTypography):f,v={fonts:k,sizes:C,compression:w,typography:b},P=e?g.textStyles:u,F=T=>a({type:"replaceRoot",root:{...I.root,props:{...g,...T}},recordHistory:!0});return{fonts:k,sizes:C,compression:w,typography:b,old:v,saved:P,write:(T,D)=>{let O=ZI(ua(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($E(T,v),D)},writeRoot:F}}var sg="sf-site-styles",e7="sf-site-styles-tabpanel",dO="text",ss="basics",iO="this-page-group",rs=[{id:ss,label:"Basics",icon:be(JV,{})},{id:"theme",label:"Theme",icon:be(XV,{})},{id:"text",label:"Text",icon:be(ZV,{})}];function o7({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=cO(d=>d),{theme:r,setTheme:n}=he(),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(H0,{value:e?l.theme:r,onChange:c})}function t7({themeFromDocument:e,persist:o}){let[t,a]=lg(null),{theme:r,setFonts:n,setSizes:s,setHeadingTypography:l}=he(),c=Bf({themeFromDocument:e,persist:o}),{old:d,saved:f,writeRoot:m}=c,u=c.fonts,x=c.sizes,I=c.typography,g=T=>T.values.size??s7(a7[T.id]??"body")??r7[T.kind],k=T=>c.write(T),C=sO(r),w=lO(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={...I,weightStrong:T};e?m({headingTypography:D}):l(D),o({heading_weight_strong:T})},F=T=>{let D={...I,italicStrong:T};e?m({headingTypography:D}):l(D),o({accent_italic:T})};return Hr(ns,{children:[be(qE,{saved:f,old:d,colours:C,colourNameOf:w,sizeOf:g,onChange:k,openId:t===ng?null:t,onOpenChange:a,withoutSize:e}),be(JE,{font:u.accent,size:x.accent,weight:I.weightStrong,italic:I.italicStrong,headingWeight:I.weight,open:t===ng,onOpenChange:T=>a(T?ng: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 ng="accent",a7={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},r7={heading:32,body:14},n7={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 s7(e){if(typeof document>"u")return null;let o=(QV()?.contentDocument??document).querySelector(n7[e]);if(!o)return null;let t=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(t)?t:null}function l7({themeFromDocument:e,persist:o}){let{appState:t,dispatch:a}=cO(m=>m),{cornerRadiusPx:r,setCornerRadiusPx:n}=he(),s=t.data,l=s.root?.props??{},c=l.cornerRadiusPx===void 0?_S[OS(l.cornerStyle)]:Ft(l.cornerRadiusPx),d=e?c:r,f=m=>a({type:"replaceRoot",root:{...s.root,props:{...l,...m}},recordHistory:!0});return be(W0,{value:d,onChange:m=>{e?f({cornerRadiusPx:m}):n(m),o({corner_radius_px:m})}})}function i7(e){return{site_width:e}}function c7({persist:e}){let{siteWidth:o,setSiteWidth:t,sectionBackgroundWidth:a,setSectionBackgroundWidth:r,sectionContentWidth:n,setSectionContentWidth:s}=he();if(ig()!=="desktop")return null;let l=typeof o=="number"?o:mo.default,c=m=>{t(m),e(i7(m),m===null)},d=m=>{r(m),e({section_background_width:m},!0)},f=m=>{s(m),e({section_content_width:m},!0)};return Hr(ns,{children:[be(dE,{value:a??"full",changed:a!==null,detail:i("Full width"),onChange:d,onReset:()=>d(null),hint:iE}),be(fE,{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:cE})]})}function d7(e){return{block_gap:e}}function f7(e){return{block_gap_phone:e}}function u7(e){return{site_gutter:e}}function p7(e){return{site_gutter_phone:e}}function fO(e,[o,t],a){o(e),a(t(e),e===null)}function m7({persist:e}){let{siteGutter:o,siteGutterPhone:t,setSiteGutter:a,setSiteGutterPhone:r}=he(),n=sE(ig(),{gutter:o,phone:t});if(!n)return null;let s=n.key==="site_gutter_phone"?[r,p7]:[a,u7];return be(lE,{value:n.value,onChange:l=>fO(l,s,e),unsetPx:n.unsetPx,bounds:n.bounds})}function h7({persist:e}){let{blockGap:o,blockGapPhone:t,setBlockGap:a,setBlockGapPhone:r}=he(),n=j0(ig(),{gap:o,phone:t});if(!n)return null;let s=n.key==="block_gap_phone"?[r,f7]:[a,d7];return be(K0,{value:n.value,onChange:l=>fO(l,s,e),followsPx:n.followsPx})}function x7({persist:e}){return Hr(ns,{children:[be(c7,{persist:e}),be(m7,{persist:e}),be(h7,{persist:e})]})}function I7(e){return{card_shadow:e}}function g7(e){return e===null?{shadow_color:null}:{shadow_color:LS(e)}}function b7(e){return{hover_effect:e}}function y7({persist:e}){let{cardShadow:o,setCardShadow:t,shadowColor:a,setShadowColor:r,hoverEffect:n,setHoverEffect:s}=he();return Hr(ns,{children:[be($0,{value:o,onChange:l=>{t(l),e(I7(l),!0)}}),be(G0,{value:a,onChange:l=>{r(l),e(g7(l),l===null)}}),be(oE,{value:n,onChange:l=>{s(l),e(b7(l),!0)}})]})}function S7(e){return{photography_grayscale:e}}function w7({persist:e}){let{photographyGrayscale:o,setPhotographyGrayscale:t}=he();return be(aE,{value:o,onChange:a=>{t(a),e(S7(a),!0)}})}function C7({persist:e}){return be(ns,{children:be(w7,{persist:e})})}function v7(e){return{share_button_on_posts:e}}function k7({persist:e}){let{shareButtonOnPosts:o,setShareButtonOnPosts:t}=he();return be(rE,{value:o,onChange:a=>{t(a),e(v7(a),!0)}})}function ls(){let{websiteName:e}=he();return e?.trim()||GS}function Df({themeFromDocument:e=!1,tokenRef:o,siteId:t,onNotify:a,tab:r,onTabChange:n,initialTab:s,revealPageGroup:l=!1,onPageGroupRevealed:c}){let{persist:d}=Ln({themeFromDocument:e,tokenRef:o,siteId:t,onResult:k=>{let C=ZE(k);C&&a?.(C.msg,C.tone)}}),[f,m]=lg(s??rs[0].id),u=r!==void 0,x=u?r:f,I=u?n??(()=>{}):m,g=rs.find(k=>k.id===x)??rs[0];return Hr(KV,{children:[be(E7,{activeId:g.id,onSelect:I}),Hr("div",{id:YV(sg,g.id),className:e7,role:"tabpanel","aria-labelledby":qV(sg,g.id),children:[x===ss&&Hr(ns,{children:[be(l7,{themeFromDocument:e,persist:d}),!e&&be(y7,{persist:d}),!e&&be(x7,{persist:d}),!e&&be(C7,{persist:d}),!e&&be(k7,{persist:d}),be(T7,{reveal:l,onRevealed:c})]}),x==="theme"&&be(o7,{themeFromDocument:e,persist:d}),x==="text"&&be(t7,{themeFromDocument:e,persist:d})]})]})}function T7({reveal:e,onRevealed:o}){let[t,a]=lg(!0),r=UV(o);return r.current=o,GV(()=>{if(!e)return;a(!0);let n=requestAnimationFrame(()=>{document.getElementById(iO)?.scrollIntoView({block:"start"}),r.current?.()});return()=>cancelAnimationFrame(n)},[e]),be(zV,{title:i("This page"),open:t,onToggle:a,id:iO,children:be(P7,{})})}function P7(){let{fields:e,values:o,readOnly:t,onChange:a}=WV(),r=Object.fromEntries($l.filter(n=>n in e).map(n=>[n,e[n]]));return Object.keys(r).length===0?be(jV,{variant:"none",icon:!1,message:i("This page has no look of its own to set.")}):be($V,{fields:r,values:o,onChange:a,readOnly:t,tabs:!1,idPrefix:"this-page",ariaLabel:i("This page")})}function E7({activeId:e,onSelect:o}){return be("div",{className:"es-insp-tabs",children:be(VV,{variant:"underline",block:!0,labelsFit:!0,"aria-label":i("Styles"),idPrefix:sg,value:e,onChange:o,items:rs.map(t=>{let a=i(t.label);return{id:t.id,icon:t.icon,label:a}})})})}import{InspectorIconButton as M7}from"efficient-easel/chrome";import{Button as bO,Dialog as H7,FormField as W7,Input as yO,PopupMenu as $7,PopupMenuItem as SO,toast as wO}from"efficient-shell/ui";import{LayersTree as z7,TreeGroupLabel as G7,TreeRow as CO,TreeRowAction as Wf}from"efficient-easel/tree";import{AddIcon as U7,DuplicateIcon as j7,PageIcon as K7,SettingsIcon as V7}from"efficient-easel/icons";import{PagesIcon as q7}from"efficient-easel/rail";import{useEaselHost as Y7}from"efficient-easel/screen/lib/host";import{useEaselSession as PO}from"efficient-easel/screen/lib/session-context";import{useCallback as Nf,useEffect as O7,useSyncExternalStore as _7}from"react";import{useScreenDocument as hO}from"efficient-easel/screen/components/ScreenDocumentContext";var uO=new WeakMap;function zl(e){let o=uO.get(e);return o||(o={rows:null,loading:null,listeners:new Set},uO.set(e,o)),o}function cg(e,o){e.rows=o;for(let t of e.listeners)t()}var Mf=new Set;function Hf(e,o){o?Mf.add(e):Mf.delete(e)}function pO(e){let o=zl(e),t=e.listPages().then(a=>cg(o,Mf.size?a.filter(r=>!Mf.has(r.id)):a),()=>cg(o,[])).finally(()=>{o.loading===t&&(o.loading=null)});return o.loading=t,t}var mO=()=>null,A7=()=>()=>{};function Gl(){let{adapter:e,ready:o}=hO(),t=Nf(l=>{let{listeners:c}=zl(e);return c.add(l),()=>c.delete(l)},[e]),a=Nf(()=>zl(e).rows,[e]),r=_7(o?t:A7,o?a:mO,mO);O7(()=>{if(!o)return;let l=zl(e);l.rows===null&&!l.loading&&pO(e)},[e,o]);let n=Nf(()=>o?pO(e):Promise.resolve(),[e,o]),s=Nf(l=>cg(zl(e),l),[e]);return{rows:r,reload:n,setRows:s,getRows:a}}function R7(e,o){return e?.find(t=>t.slug===o)?.label?.trim()||`/${o}`}function xO(){let{currentSlug:e}=hO(),{rows:o}=Gl();return R7(o,e)}import{canDuplicatePage as X7,DuplicatePageDialog as J7,uniqueSlug as vO}from"efficient-easel/page-copy";var kO="sf-editor-pages-collapsed-groups";function Z7(){let e=PO(),{siteId:o,templateId:t}=TO(),a=Ge(e).pages;if(!(!a.duplicate||t))return(r,n)=>a.duplicate(r.id,{...n,...o?{siteId:o}:{}})}function Q7(){try{let e=bn()||(typeof window>"u"?"":window.location.origin);return e?new URL(e).host:""}catch{return""}}function EO({onNavigate:e,onClose:o,activeSurface:t,onPreviewSurface:a}){let r=PO().chrome?.pageRows,n=Y7(),{adapter:s,capabilities:l,ready:c,currentSlug:d}=TO(),f=ls(),{rows:m,reload:u,setRows:x,getRows:I}=Gl(),[g,k]=ja(""),[C,w]=ja(!1),[b,v]=ja(null),[P,F]=ja(!1),[T,D]=ja(""),O=B7(),R=Z7(),[N,y]=ja(null),[_,L]=ja(()=>{if(typeof window>"u")return new Set;try{let H=window.localStorage.getItem(kO);return new Set(H?JSON.parse(H):[])}catch{return new Set}});F7(()=>{try{window.localStorage.setItem(kO,JSON.stringify([..._]))}catch{}},[_]);let M=H=>L(Le=>{let ne=new Set(Le);return ne.has(H)?ne.delete(H):ne.add(H),ne}),Y=gO(()=>sv(m??[]),[m]),V=g.trim().toLowerCase(),U=H=>!V||H.toLowerCase().includes(V),xe=H=>V?!0:!_.has(H),te=gO(()=>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:vO(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(uT(i("New popup"),te));await u(),e(H.slug)}catch{v(i("Couldn\u2019t add the popup \u2014 please retry."))}finally{w(!1)}}},Ee=D7(null),[$e,Qe]=ja(null),yo=()=>{if(!Pe)return Re();if($e)return Qe(null);let H=Ee.current?.getBoundingClientRect();H&&Qe({top:H.bottom+6,right:Math.max(8,window.innerWidth-H.right)})},me=H=>{let Le=m??[],ne=s.deletePage;if(!c||C||!ne||Le.length<=1)return;let Fe=Le.findIndex(Ye=>Ye.id===H.id),_e=Le.filter(Ye=>Ye.id!==H.id),lt=H.slug===d;Hf(H.id,!0),x(_e),v(null),lt&&_e[0]&&e(_e[0].slug);let Rt=()=>{Hf(H.id,!1);let Ye=I()??[];if(Ye.some(Lt=>Lt.id===H.id))return;let it=[...Ye];it.splice(Math.max(0,Math.min(Fe,it.length)),0,H),x(it)};wO.undoable(i("Deleted \u201C{name}\u201D",{name:H.label}),{actionLabel:i("Undo"),commit:async Ye=>{await ne(H.id,Ye),Hf(H.id,!1)},undo:()=>{Rt(),lt&&e(H.slug)},onFail:()=>{Rt(),wO.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=Sr(H),_e=nv(H),lt=[...Fe?[{label:i("Dynamic"),tone:"info"}]:[],..._e?[{label:i("Lightbox"),tone:"success"}]:[],...H.draft?[{label:i("draft"),tone:"draft"}]:[]],Rt=lt.length>0?lt:void 0,Ye=!!R&&X7(H),it=Ye||l.pageCreationInAdminForm||ne?Ul(IO,{children:[Ye&&we(Wf,{kind:"plain",label:i("Duplicate \u201C{name}\u201D",{name:H.label}),disabled:C,onClick:()=>y(H),children:we(j7,{size:13})}),l.pageCreationInAdminForm&&we(Wf,{kind:"plain",label:i("Page settings for \u201C{name}\u201D",{name:H.label}),onClick:()=>Ke(H.slug),children:we(V7,{size:13})}),ne&&we(Wf,{kind:"delete",label:i("Delete \u201C{name}\u201D",{name:H.label}),disabled:C,onClick:()=>me(H),children:we(dg,{name:"trash",size:13,strokeWidth:1.7,rounded:!0})})]}):void 0;return we(CO,{icon:we(K7,{size:14}),name:H.label,selected:Le,onSelect:()=>e(H.slug),badge:Rt,actions:it,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=xe(H);return Ul(L7,{children:[we(G7,{count:Fe.length,countLabel:vo("{n} page","{n} pages",Fe.length),expanded:_e,onToggle:()=>M(H),children:Le}),_e&&Fe]},H)},qe=(r?.rows??[]).filter(H=>U(H.label)).map(H=>{let Le=t===H.key;return we(CO,{icon:H.icon,name:H.label,selected:Le,onSelect:()=>a(H.key),badge:{label:i("Preview"),tone:"warning"},actions:we(Wf,{kind:"plain",label:i("Open the {name} in a new tab",{name:H.label}),onClick:()=>window.open(H.href,"_blank","noopener,noreferrer"),children:we(dg,{name:"external-link",size:13,strokeWidth:1.7,rounded:!0})}),rowProps:{"data-shop-surface":H.key}},H.key)}),At=l.hasSiteSettings&&!!r,_o=(()=>{if(m===null)return null;let H=[],Le=!1;for(let ne of Y){At&&!Le&&ne.key.startsWith("system:")&&(H.push(ve("shop",r.title,qe)),Le=!0);let Fe=ne.key===ih||ne.label===lh?i(ne.label):ne.label;H.push(ve(ne.key,Fe,ne.rows.map(Oe)))}return At&&!Le&&H.push(ve("shop",r.title,qe)),H})();return Ul("div",{className:"sf-pages",children:[we(N7,{icon:we(q7,{}),title:i("Pages"),context:f,actions:we(M7,{buttonRef:Ee,label:Pe?i("Add"):i("New page"),hasPopup:Pe?"menu":void 0,expanded:Pe?$e!==null:void 0,onClick:yo,children:we(U7,{size:15})})}),$e&&we($7,{portal:!0,style:{top:$e.top,right:$e.right},onClose:()=>Qe(null),children:Ul("div",{role:"menu","aria-label":i("Add"),children:[we(SO,{role:"menuitem",onClick:()=>{Qe(null),Re()},children:i("Page")}),we(SO,{role:"menuitem",disabled:C,onClick:()=>{Qe(null),Ie()},children:i("Popup")})]})}),we("div",{className:"sf-pages-find",children:we(yO,{type:"search",leftIcon:we(dg,{name:"search",size:14,rounded:!0}),placeholder:i("Search all pages\u2026"),value:g,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}),_o===null?we("div",{className:"sf-note",children:i("Loading\u2026")}):_o.some(Boolean)?we(z7,{ariaLabel:i("Pages"),className:"sf-scroll",children:_o}):we("div",{className:"sf-note",children:g.trim()?i("No pages match your search"):i("No pages yet. Add one with + above.")}),R&&N&&we(J7,{source:{title:N.label,slug:N.slug},taken:te,host:Q7(),duplicate:H=>R(N,H),onClose:()=>y(null),onDuplicated:H=>{y(null),u(),e(H.slug)}},N.id),we(H7,{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:Ul(IO,{children:[we(bO,{variant:"secondary",onClick:()=>F(!1),children:i("Cancel")}),we(bO,{onClick:()=>{We()},disabled:C||!T.trim(),loading:C,children:i("Add page")})]}),children:we(W7,{label:i("Page name"),htmlFor:O,hint:T.trim()?i("URL: /{slug}",{slug:vO(T,te)}):void 0,error:b??void 0,children:we(yO,{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 AO}from"react/jsx-runtime";import{createContext as oq,useCallback as tq,useContext as aq,useMemo as rq,useState as nq}from"react";import{CanvasChromeContext as sq}from"efficient-easel/easel";import{useSelectHandler as lq}from"efficient-easel/draw/client";import{parseHexColor as eq}from"efficient-shell/format";var $f=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],is=$f[0];var Wr="right";function zf(e){return $f.includes(e??"")?e:is}function OO(e){return e==="left"?"left":Wr}function _O(e){return e&&eq(e)===e.toLowerCase()?e.toLowerCase():""}var RO="chat",Gf={enabled:!0,title:"",subtitle:"",greeting:"",launcherColor:"",launcherIcon:"",launcherPosition:Wr,launcherLabel:"",showOnPhones:!0};function f0e(e){return{enabled:e.enabled,title:e.title,subtitle:e.subtitle,greeting:e.greeting,launcherColor:_O(e.launcherColor),launcherIcon:e.launcherIcon?zf(e.launcherIcon):"",launcherPosition:OO(e.launcherPosition),launcherLabel:e.launcherLabel??"",showOnPhones:e.showOnPhones!==!1}}var LO=oq({chat:Gf,setChat:()=>{},setSelected:()=>{},setSelectHandler:()=>{}});function u0e({children:e,chat:o=Gf,onChatChange:t}){let[a,r]=nq(!1),n=tq(d=>t?.(d),[t]),{select:s,setSelectHandler:l}=lq(),c=rq(()=>({selected:()=>a?RO:null,select:d=>d===RO&&s()}),[a,s]);return AO(LO.Provider,{value:{chat:o,setChat:n,setSelected:r,setSelectHandler:l},children:AO(sq.Provider,{value:c,children:e})})}var Uf=()=>aq(LO);import{jsx as fg}from"react/jsx-runtime";import{DesktopIcon as iq,PhoneIcon as cq,TabletIcon as dq}from"efficient-easel/icons";import{VIEW_TIERS as fq,VIEW_TIER_LABEL as uq}from"efficient-easel/draw";var pq={desktop:fg(iq,{}),tablet:fg(dq,{}),mobile:fg(cq,{})},FO=fq.map(e=>({id:e,get label(){return i(uq[e])},icon:pq[e]}));import{PreviewDeviceContext as Ole}from"efficient-easel/draw/client";import{jsx as mq}from"react/jsx-runtime";import{createContext as hq,useCallback as BO,useContext as xq,useMemo as Iq,useRef as gq}from"react";var bq=Object.fromEntries(dc.map(e=>[e,{value:"",error:null}])),DO=hq({links:jS,rows:bq,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function w0e({children:e,value:o}){let t=gq(()=>{}),a=BO(()=>t.current(),[]),r=BO(s=>{t.current=s},[]),n=Iq(()=>({...o,openPanel:a,setOpenHandler:r}),[o,a,r]);return mq(DO.Provider,{value:n,children:e})}var jl=()=>xq(DO);import{jsx as yq}from"react/jsx-runtime";import{createContext as Sq,useContext as wq,useMemo as Cq,useState as vq}from"react";var NO=Sq(null);function T0e({children:e}){let[o,t]=vq(null),a=Cq(()=>({surface:o,setSurface:t}),[o]);return yq(NO.Provider,{value:a,children:e})}function MO(){return wq(NO)??{surface:null,setSurface:()=>{}}}import{createPreviewSelectionContext as kq}from"efficient-easel/draw/client";var Kl="Scrolling Bar",{Provider:O0e,useSelection:HO}=kq("selectedHeroId"),_0e="data-sf-hero-ticker";function A0e(e){return`${e}::ticker`}function R0e(e){return!e||!e.endsWith("::ticker")?null:e.slice(0,-8)||null}var WO=["","","","","",""],$O="#ticker",Vl="strip",ug={sectionAccent:Wt,line:!1};function Tq(e){return(Array.isArray(e.tickerItems)?e.tickerItems:[]).map(o=>typeof o?.text=="string"?o.text:"").filter(o=>o.trim()!=="")}function pg(e){return Tq(e).length>0}function B0e(e){return e.showTicker!==!1&&pg(e)}import{createPreviewSelectionContext as Pq}from"efficient-easel/draw/client";var{Provider:M0e,useSelection:jf}=Pq("selectedHeroPart");var GO=["one","side","stacked"];var W0e={one:"One",side:"Side by side",stacked:"Stacked"};function Kf(e){return GO.includes(e)?e:"one"}function zO(e){return e==="one"?1:2}function mg(e,o){if(GO.includes(e))return e;let t=Kf(o);return t==="side"?"stacked":t}function ql(e){let o=Kf(e.mediaLayout);return Math.max(zO(o),zO(mg(e.mediaLayoutPhone,o)))}var $r=["media","image","image2"],zr={media:"Media",image:"Image",image2:"Image 2"},Yl={media:"heroMedia",image:"heroImage",image2:"heroImage2"};function Vf(e,o){return e==="image"&&ql(o)>1?"Image 1":zr[e]}var U0e="Video file",j0e="Upload a video file";function Eq(e,o){return{field:"mediaType",is:e,default:o}}var Oq=new Set(["HeroSingle"]),UO="heroPart";function _q(e,o){return{...o,[UO]:e}}function K0e(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]=oo(n[l],Eq(s,a));for(let[s,l]of Object.entries(r??{}))l&&(n[s]=oo(n[s],l));for(let s of $r)for(let l of o[s]??[])n[l]=_q(s,n[l]);return n}function Aq(e){let o=e?.[UO];return $r.includes(o)?o:null}function jO(e,o){let t={};for(let[a,r]of Object.entries(e))Aq(r)===o&&(t[a]=r);return t}function KO(e){if(!Oq.has(e.type))return[];let o=[{part:"media",label:zr.media,depth:0}];return(e.props.mediaType??"image")!=="video"&&(o.push({part:"image",label:Vf("image",e.props),depth:1}),ql(e.props)>1&&o.push({part:"image2",label:Vf("image2",e.props),depth:1})),o}function Xl(e,o){return`${e}::${o}`}function VO(e){if(!e)return null;let o=e.lastIndexOf("::");if(o<=0)return null;let t=e.slice(o+2);return $r.includes(t)?{nodeId:e.slice(0,o),part:t}:null}var qO="data-sf-hero-part";import{jsx as Se,jsxs as Ka,Fragment as hA}from"react/jsx-runtime";import{useEasel as fQ,useRootFields as uQ}from"efficient-easel/easel";import{Button as pQ,EmptyState as mQ}from"efficient-shell/ui";function YO({kind:e,pageName:o}){return{name:o?.trim()||i("This page"),kindLabel:Sr({kind:e})?i("Template"):i("Page")}}import{headWords as bA,InspectorHead as hQ,InspectorIconButton as xA}from"efficient-easel/chrome";import{DuplicateIcon as xQ,TrashIcon as IQ}from"efficient-easel/icons";import{panelFieldsOf as gQ}from"efficient-easel/screen/lib/document/panel-fields";import{jsx as B,Fragment as ue,jsxs as pe}from"react/jsx-runtime";import{BlockBannerIcon as Fq,BlockBoxIcon as Bq,BlockButtonIcon as Dq,BlockDividerIcon as JO,BlockFooterIcon as ZO,BlockHeadingIcon as Nq,BlockProductIcon as Mq,BlockSocialIcon as Hq,BlockTextIcon as Wq,CardPaymentIcon as $q,ChatIcon as zq,AccountIcon as Gq,GlobeIcon as Uq,GridIcon as jq,ImageIcon as xg,MapIcon as Kq,MediaIcon as Vq,PageIcon as qq}from"efficient-easel/icons";import{jsx as hg,Fragment as Rq,jsxs as Lq}from"react/jsx-runtime";var XO=Lq(Rq,{children:[hg("circle",{cx:"9",cy:"20",r:"1.3"}),hg("circle",{cx:"18",cy:"20",r:"1.3"}),hg("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 Yq={header:pe(ue,{children:[B("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),B("path",{d:"M3 9.5h18"})]}),social:pe(ue,{children:[B("circle",{cx:"6",cy:"12",r:"2.5"}),B("circle",{cx:"18",cy:"6",r:"2.5"}),B("circle",{cx:"18",cy:"18",r:"2.5"}),B("path",{d:"M8.2 10.8l7.6-3.6M8.2 13.2l7.6 3.6"})]}),ticker:pe(ue,{children:[B("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),B("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),FooterLogo:pe(ue,{children:[B("path",{d:"M4 15.5h6M4 18h4"}),B("path",{d:"M14 8.5l3 7 3-7"})]}),FooterMenu:B("path",{d:"M6 7h12M6 11h12M6 15h8M6 19h8"}),FooterGroup:pe(ue,{children:[B("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",strokeDasharray:"3 2.5"}),B("path",{d:"M8 9h8M8 13h8M8 16h5"})]}),FooterText:B("path",{d:"M5 7h14M5 12h14M5 17h9"}),FooterEmailSignup:pe(ue,{children:[B("rect",{x:"3",y:"6",width:"18",height:"12",rx:"2"}),B("path",{d:"M3.5 7l8.5 6 8.5-6"})]}),SearchBlock:pe(ue,{children:[B("circle",{cx:"11",cy:"11",r:"6"}),B("path",{d:"M20 20l-4.2-4.2"})]}),CartBlock:XO,CountrySwitchBlock:pe(ue,{children:[B("circle",{cx:"12",cy:"12",r:"8.5"}),B("path",{d:"M3.5 12h17M12 3.5c2.6 2.4 3.6 5.2 3.6 8.5s-1 6.1-3.6 8.5M12 3.5c-2.6 2.4-3.6 5.2-3.6 8.5s1 6.1 3.6 8.5"})]}),ThemeSwitchBlock:pe(ue,{children:[B("circle",{cx:"12",cy:"12",r:"8.5"}),B("path",{d:"M12 3.5v17M12 5.5l6 6M12 10.5l5.2 5.2M12 15.5l2.8 2.8"})]}),LegalLineBlock:pe(ue,{children:[B("path",{d:"M3 9h18"}),B("path",{d:"M3 14h8M14 14h2M18 14h3"})]}),Hero:pe(ue,{children:[B("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),B("path",{d:"M7 13.5h7M7 16.5h10"})]}),HeroSlide:pe(ue,{children:[B("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),B("path",{d:"M7 15h6M16 9.5h.01M9.5 12l-2.5 3"})]}),HeroSingle:pe(ue,{children:[B("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),B("path",{d:"M10.5 8.5l4 2.5-4 2.5z"}),B("path",{d:"M7 17h7"})]}),Collections:pe(ue,{children:[B("rect",{x:"3",y:"5",width:"4.6",height:"14",rx:"1.3"}),B("rect",{x:"9.7",y:"5",width:"4.6",height:"14",rx:"1.3"}),B("rect",{x:"16.4",y:"5",width:"4.6",height:"14",rx:"1.3"})]}),CollectionCard:pe(ue,{children:[B("rect",{x:"6",y:"4",width:"12",height:"16",rx:"2"}),B("path",{d:"M9 15h6M9 17.5h4"})]}),AlloyWheelsListing:pe(ue,{children:[B("path",{d:"M3 5h5M3 9h5M3 13h5M3 17h5"}),B("rect",{x:"11.5",y:"5",width:"4.2",height:"5",rx:"1"}),B("rect",{x:"17.3",y:"5",width:"4.2",height:"5",rx:"1"}),B("rect",{x:"11.5",y:"12",width:"4.2",height:"5",rx:"1"}),B("rect",{x:"17.3",y:"12",width:"4.2",height:"5",rx:"1"})]}),CatalogFilterBar:pe(ue,{children:[B("path",{d:"M3 7h9M15.5 7H21"}),B("circle",{cx:"13.5",cy:"7",r:"1.7"}),B("path",{d:"M3 12h4M10.5 12H21"}),B("circle",{cx:"8.5",cy:"12",r:"1.7"}),B("path",{d:"M3 17h9M15.5 17H21"}),B("circle",{cx:"13.5",cy:"17",r:"1.7"})]}),ProductGrid:pe(ue,{children:[B("rect",{x:"3",y:"5",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"9.6",y:"5",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"16.2",y:"5",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"3",y:"13",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"9.6",y:"13",width:"4.8",height:"6",rx:"1"}),B("rect",{x:"16.2",y:"13",width:"4.8",height:"6",rx:"1"})]}),RelatedProducts:pe(ue,{children:[B("path",{d:"M3 5h10"}),B("rect",{x:"3",y:"9.5",width:"5",height:"9",rx:"1"}),B("rect",{x:"9.5",y:"9.5",width:"5",height:"9",rx:"1"}),B("rect",{x:"16",y:"9.5",width:"5",height:"9",rx:"1"})]}),Gallery:pe(ue,{children:[B("rect",{x:"3",y:"4",width:"11",height:"16",rx:"2"}),B("rect",{x:"15.5",y:"4",width:"5.5",height:"7.5",rx:"1.5"}),B("rect",{x:"15.5",y:"12.5",width:"5.5",height:"7.5",rx:"1.5"})]}),GalleryB:pe(ue,{children:[B("rect",{x:"3.5",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),B("rect",{x:"13",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),B("rect",{x:"3.5",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"}),B("rect",{x:"13",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"})]}),GalleryItem:pe(ue,{children:[B("rect",{x:"4",y:"5",width:"16",height:"14",rx:"2"}),B("circle",{cx:"9",cy:"10",r:"1.6"}),B("path",{d:"M20 15.5l-4.5-4L7 19"})]}),Events:pe(ue,{children:[B("rect",{x:"4",y:"5",width:"16",height:"15",rx:"2"}),B("path",{d:"M4 9.5h16M8.5 3v4M15.5 3v4M8 14h2M14 14h2"})]}),PostCard:pe(ue,{children:[B("rect",{x:"4",y:"3.5",width:"16",height:"17",rx:"2"}),B("rect",{x:"6.5",y:"6",width:"11",height:"6",rx:"1"}),B("path",{d:"M6.5 14.5h11M6.5 17.5h7"})]}),Manifesto:pe(ue,{children:[B("path",{d:"M7 8h3.2v4c0 1.6-1 2.6-3 3.2"}),B("path",{d:"M14 8h3.2v4c0 1.6-1 2.6-3 3.2"})]}),Stats:pe(ue,{children:[B("path",{d:"M3.5 20h17"}),B("path",{d:"M6 20v-7M11 20V7M16 20v-5M20.5 20v-9"})]}),Logos:pe(ue,{children:[B("circle",{cx:"6",cy:"12",r:"2.6"}),B("rect",{x:"10",y:"9.4",width:"5.2",height:"5.2",rx:"1.2"}),B("path",{d:"M19 9.2l2.4 5h-4.8z"})]}),Ticker:pe(ue,{children:[B("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),B("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),SectionHeader:pe(ue,{children:[B("rect",{x:"3.5",y:"6",width:"5",height:"5",rx:"1.2"}),B("path",{d:"M11 8.5h9M3.5 15.5h17"})]}),IntroBleed:pe(ue,{children:[B("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),B("path",{d:"M3 13.5h18M7 16.8h6"})]}),Split:pe(ue,{children:[B("rect",{x:"3",y:"5",width:"8",height:"14",rx:"1.5"}),B("path",{d:"M14 8.5h6M14 12h6M14 15.5h4"})]}),Eyebrow:pe(ue,{children:[B("path",{d:"M4 8.5h4.5M11 8.5h9"}),B("path",{d:"M4 14.5h16"})]}),HeroGroup:pe(ue,{children:[B("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2"}),B("path",{d:"M7 9h8M7 12.5h10M7 16h6"})]}),Form:pe(ue,{children:[B("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),B("path",{d:"M6.5 9h11M6.5 12.5h11"}),B("rect",{x:"6.5",y:"15",width:"6.5",height:"2.6",rx:"1.3"})]}),LogoBlock:B(ue,{children:B("path",{d:"M12 3.5l7.5 3.2v5.1c0 4.2-3.2 7.1-7.5 8.7-4.3-1.6-7.5-4.5-7.5-8.7V6.7z"})}),Spacer:pe(ue,{children:[B("path",{d:"M12 4v6M9.5 6.5L12 4l2.5 2.5M12 20v-6M9.5 17.5L12 20l2.5-2.5"}),B("path",{d:"M5 13h14",strokeDasharray:"2 2.5"})]}),ContactRouting:pe(ue,{children:[B("rect",{x:"3",y:"4",width:"5",height:"5",rx:"1"}),B("rect",{x:"9.5",y:"4",width:"5",height:"5",rx:"1"}),B("rect",{x:"16",y:"4",width:"5",height:"5",rx:"1"}),B("path",{d:"M4 13.5h11M4 17.5h7"}),B("path",{d:"M17 15l3 2-3 2"})]}),Contents:pe(ue,{children:[B("path",{d:"M4 7h2M4 12h2M4 17h2"}),B("path",{d:"M9 7h11M9 12h9M9 17h10"})]}),ListSearch:pe(ue,{children:[B("path",{d:"M4 6h9M4 11h5M4 16h5"}),B("circle",{cx:"15",cy:"15",r:"4"}),B("path",{d:"M20.5 20.5l-2.7-2.7"})]}),CustomHTML:B("path",{d:"M9 8l-4 4 4 4M15 8l4 4-4 4"})},Xq=B("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),Jq={footer:ZO,Footer:ZO,Divider:JO,FooterDivider:JO,Banner:Fq,Flex:Bq,FooterSocial:Hq,FooterPayment:$q,page:qq,website:Uq,AccountBlock:Gq,chat:zq,Heading:Nq,Text:Wq,ImageBlock:xg,ButtonBlock:Dq,LocationMap:Kq,Grid:jq,ProductRef:Mq,heroMedia:Vq,heroImage:xg,heroImage2:xg},Zq={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",PaymentLogosBlock:"FooterPayment",SiteHeader:"header",SiteFooter:"footer"};function Gr({type:e,size:o=16,className:t}){let a=Zq[e]??e,r=Jq[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:Yq[a]??Xq})}import{PanelHideButton as IA}from"efficient-easel/screen/components/SidePanelHead";import{useEaselSession as bQ}from"efficient-easel/screen/lib/session-context";import{jsx as Ce,jsxs as Jl,Fragment as Qq}from"react/jsx-runtime";import{useEffect as e9,useId as QO,useState as o9}from"react";import{IconPicker as t9}from"efficient-shell/ui";import{SettingsDefaultReset as a9,SettingsField as Zl,SettingsSegmented as r9,SettingsSwitch as e_}from"efficient-easel/panel";import{ButtonIcon as n9,ButtonIconIcon as s9,EyeIcon as l9,PhoneIcon as i9,PlacementIcon as c9,TypeIcon as d9}from"efficient-easel/icons";var f9="Chat with us",u9="We usually reply within a few minutes",p9="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function qf({label:e,value:o,placeholder:t,onCommit:a,multiline:r=!1,hint:n}){let[s,l]=o9(o);e9(()=>l(o),[o]);let c=()=>{s!==o&&a(s)};return Ce(Zl,{label:e,icon:Ce(d9,{}),changed:o!=="",action:Ce(Ql,{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 Ql({label:e,changed:o,onReset:t}){return Ce(a9,{words:re()?.panel,label:e,changed:o,onReset:t})}function m9({label:e,icon:o,checked:t,fallback:a,onChange:r,hint:n}){let s=QO();return Ce(Zl,{label:e,labelId:s,icon:o,changed:t!==a,action:Jl("span",{className:"inline-flex items-center gap-2",children:[Ce(e_,{checked:t,onChange:r,ariaLabelledBy:s}),Ce(Ql,{label:e,changed:t!==a,onReset:()=>r(a)})]}),hint:n})}var h9=$f.map(e=>({value:e,icon:zc(e)}));function x9(){let{theme:e}=he(),o=eo(e).themes[0];return Ns(o)??o?.accent??""}function o_(){let{chat:e,setChat:o}=Uf(),t=QO(),a=x9(),r=e.launcherIcon?zf(e.launcherIcon):is;return Jl(Qq,{children:[Ce(Zl,{label:i("Show the chat bubble"),labelId:t,icon:Ce(l9,{}),changed:!e.enabled,action:Jl("span",{className:"inline-flex items-center gap-2",children:[Ce(e_,{checked:e.enabled,onChange:n=>o({enabled:n}),ariaLabelledBy:t}),Ce(Ql,{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.")}),Jl(Wx,{title:i("Look"),children:[Ce(Lo,{label:i("Button color"),icon:Ce(n9,{}),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(Zl,{label:i("Icon"),icon:Ce(s9,{}),value:Ce(_x,{value:r}),changed:r!==is,action:Ce(Ql,{label:i("Icon"),changed:r!==is,onReset:()=>o({launcherIcon:""})}),children:Ce(t9,{label:i("Icon"),value:r,options:h9,onChange:n=>o({launcherIcon:n===is?"":n})})}),Ce(Zl,{label:i("Position"),icon:Ce(c9,{}),changed:e.launcherPosition!==Wr,action:Ce(Ql,{label:i("Position"),changed:e.launcherPosition!==Wr,onReset:()=>o({launcherPosition:Wr})}),children:Ce(r9,{options:[{label:i("Right"),id:"right"},{label:i("Left"),id:"left"}],value:e.launcherPosition,ariaLabel:i("Position"),onChange:n=>o({launcherPosition:n})})}),Ce(qf,{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(m9,{label:i("Show on phones"),icon:Ce(i9,{}),checked:e.showOnPhones,fallback:Gf.showOnPhones,onChange:n=>o({showOnPhones:n})})]}),Jl(Wx,{title:i("Wording"),children:[Ce(qf,{label:i("Title"),value:e.title,placeholder:f9,onCommit:n=>o({title:n})}),Ce(qf,{label:i("Subtitle"),value:e.subtitle,placeholder:u9,onCommit:n=>o({subtitle:n})}),Ce(qf,{label:i("Greeting message"),value:e.greeting,placeholder:p9,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 Ur,Fragment as Mg,jsxs as s_}from"react/jsx-runtime";import{useEffect as K9,useId as r_,useState as n_}from"react";import{SettingsField as V9}from"efficient-easel/panel";import{jsx as N9}from"react/jsx-runtime";import{forwardRef as I9,createElement as Ig}from"react";var t_={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=I9(({color:n="currentColor",size:s=24,stroke:l=2,title:c,className:d,children:f,...m},u)=>Ig("svg",{ref:u,...t_[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&&Ig("title",{key:"svg-title"},c),...a.map(([x,I])=>Ig(x,I)),...Array.isArray(f)?f:[f]]));return r.displayName=`${t}`,r};var g9=[["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"}]],gg=se("outline","brand-facebook","BrandFacebook",g9);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"}]],bg=se("outline","brand-instagram","BrandInstagram",b9);var y9=[["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"}]],yg=se("outline","brand-line","BrandLine",y9);var S9=[["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"}]],Sg=se("outline","brand-linkedin","BrandLinkedin",S9);var w9=[["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"}]],wg=se("outline","brand-pinterest","BrandPinterest",w9);var C9=[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]],Cg=se("outline","brand-telegram","BrandTelegram",C9);var v9=[["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"}]],vg=se("outline","brand-tiktok","BrandTiktok",v9);var k9=[["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"}]],kg=se("outline","brand-wechat","BrandWechat",k9);var T9=[["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"}]],Tg=se("outline","brand-whatsapp","BrandWhatsapp",T9);var P9=[["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"}]],Pg=se("outline","brand-x","BrandX",P9);var E9=[["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"}]],Eg=se("outline","brand-youtube","BrandYoutube",E9);var O9=[["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"}]],Og=se("filled","brand-facebook-filled","BrandFacebookFilled",O9);var _9=[["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"}]],_g=se("filled","brand-instagram-filled","BrandInstagramFilled",_9);var A9=[["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"}]],Ag=se("filled","brand-linkedin-filled","BrandLinkedinFilled",A9);var R9=[["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"}]],Rg=se("filled","brand-pinterest-filled","BrandPinterestFilled",R9);var L9=[["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"}]],Lg=se("filled","brand-tiktok-filled","BrandTiktokFilled",L9);var F9=[["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"}]],Fg=se("filled","brand-whatsapp-filled","BrandWhatsappFilled",F9);var B9=[["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"}]],Bg=se("filled","brand-x-filled","BrandXFilled",B9);var D9=[["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"}]],Dg=se("filled","brand-youtube-filled","BrandYoutubeFilled",D9);var OOe="outline",Yf={fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},M9={},Ng={fillRule:"evenodd"},H9=[["path",{...Yf,d:"M21 4L3 11L7 13L9 19L12 15L17 20z"}],["path",{...Ng,d:"M21 4L3 11L7 13L9 19L12 15L17 20zM15.212 8.939 10.576 13.576 11.424 14.424 16.061 9.788z"}]],W9=[["path",{...Yf,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",{...M9,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("")}]],$9=[["path",{...Yf,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",{...Yf,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",{...Ng,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",{...Ng,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("")}]],z9=se("filled","brand-telegram-filled","BrandTelegramFilled",H9),G9=se("filled","brand-line-filled","BrandLineFilled",W9),U9=se("filled","brand-wechat-filled","BrandWechatFilled",$9),j9={instagram:{outline:bg,solid:_g},facebook:{outline:gg,solid:Og},tiktok:{outline:vg,solid:Lg},youtube:{outline:Eg,solid:Dg},x:{outline:Pg,solid:Bg},linkedin:{outline:Sg,solid:Ag},pinterest:{outline:wg,solid:Rg},whatsapp:{outline:Tg,solid:Fg},telegram:{outline:Cg,solid:z9},line:{outline:yg,solid:G9},wechat:{outline:kg,solid:U9}};function a_({platform:e,iconStyle:o,size:t}){let a=j9[e][o];return N9(a,{size:t,stroke:1.75,"aria-hidden":"true",focusable:"false"})}var q9={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 Y9({platform:e}){let{rows:o,saveLink:t}=jl(),{value:a,error:r}=o[e],[n,s]=n_(a),[l,c]=n_(!1),d=r_(),f=r_();K9(()=>s(a),[a]);let m=async()=>{if(n.trim()===a){n!==a&&s(a);return}c(!0),await t(e,n),c(!1)},u=US[e];return s_(Mg,{children:[Ur(V9,{label:i(u),htmlFor:d,icon:Ur(a_,{platform:e,iconStyle:"outline",size:18}),children:Ur("input",{id:d,type:"text",inputMode:"url",value:n,placeholder:q9[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&&Ur("p",{id:f,className:"sf-note sf-note--error",role:"alert",children:r})]})}function l_({unavailable:e}){let{canSave:o}=jl();return!o&&e?Ur(Mg,{children:e}):s_(Mg,{children:[Ur("p",{className:"es-field-hint",children:i("Paste a link to each profile. A platform left empty shows nothing on the site.")}),dc.map(t=>Ur(Y9,{platform:t},t))]})}import{jsx as Vr,Fragment as fJ,jsxs as uJ}from"react/jsx-runtime";import{useId as pJ,useMemo as mJ}from"react";import{useEasel as hJ}from"efficient-easel/easel";import{SettingsField as xJ,SettingsSwitch as IJ}from"efficient-easel/panel";import{EyeIcon as gJ}from"efficient-easel/icons";import{fieldShownInView as bJ}from"efficient-easel/fields";import{usePreviewDevice as yJ}from"efficient-easel/draw/client";import{jsx as Kr,Fragment as dX,jsxs as fX}from"react/jsx-runtime";import{createContext as uX,useContext as pX,useLayoutEffect as W_,useMemo as iu,useRef as $_,useState as Vg}from"react";import{useEasel as z_,useSelectedFields as mX}from"efficient-easel/easel";import{fieldShownInView as hX,Inspector as xX,planFields as qg}from"efficient-easel/fields";function i_({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 XY}from"efficient-easel/screen/lib/document/box-fields";import{deviceField as JY,deviceMetaOf as P_}from"efficient-easel/screen/lib/document/device-fields";import{jsx as Be,Fragment as sY,jsxs as lY}from"react/jsx-runtime";import{useRef as b_}from"react";import{phoneKey as pa}from"efficient-easel/draw";import{SettingsDefaultReset as iY}from"efficient-easel/panel";import{ClockIcon as cY,DirectionDownIcon as dY,DirectionIcon as fY,DirectionLeftIcon as uY,DirectionRightIcon as pY,DirectionUpIcon as mY,DurationIcon as hY,EntranceBounceIcon as xY,EntranceFadeIcon as IY,EntranceFlipIcon as gY,EntranceGlideIcon as bY,EntranceRevealIcon as yY,EntranceRiseIcon as SY,EntranceScaleIcon as wY,EntranceSpinIcon as CY,NoSymbolIcon as vY}from"efficient-easel/icons";import{effectTiles as kY}from"efficient-easel/screen/lib/document/effect-tiles";import{deviceField as us}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as TY,noControlField as PY}from"efficient-easel/screen/lib/document/panel-no-control-mark";import{customize as EY,describedAs as y_,group as OY,onDesktopWords as _Y,phoneTwinFields as AY}from"efficient-easel/screen/lib/document/box-fields";import{ENTRANCE_FROM as RY,ENTRANCE_FROM_DEFAULT as S_,ENTRANCE_KINDS as nu,ENTRANCE_KINDS_WITH_FROM as I_,MOTION_TIMING as LY,entranceAttrs as FY,playEntrance as BY,readEntrance as DY}from"efficient-shell/format";import{jsx as $g}from"react/jsx-runtime";import{ClockIcon as Q9,DurationIcon as eY}from"efficient-easel/icons";import{MOTION_TIMING as m_}from"efficient-shell/format";import{useSelectedHost as oY}from"efficient-easel/easel";import{MOTION_EASING as X9,MOTION_TIMING as c_,motionSeconds as d_}from"efficient-shell/format";var Hg="none",Xf=[{label:"None",value:"none"},{label:"Marquee",value:"scroll"}];function zOe(e){return lo(Xf,Hg,e)}var ei={field:"loop",is:"scroll"},oi="left",Wg=[{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"},{label:"Up",value:"up",cell:"top"},{label:"Down",value:"down",cell:"bottom"}],J9={left:"storefront-ticker",right:"storefront-ticker-right",up:"storefront-ticker-up",down:"storefront-ticker-down"};function f_(e){return lo(Wg,oi,e)}function GOe(e){return e==="up"||e==="down"}function u_(e){return d_("loop","duration",e.loopDuration!=null?e.loopDuration:e.speed)}var UOe=c_.loop.duration.default,Z9=c_.loop.delay.default;function p_(e){return d_("loop","delay",e.loopDelay)}function jOe(e,o,t=Z9){return`${J9[e]} ${o}s ${X9.loop}${t?` ${t}s`:""} infinite`}function cs(e){let{min:o,max:t,step:a,default:r}=m_[e].duration;return Bo("Duration",$g(eY,{}),o,t,a,r,"s")}function ds(e){let{min:o,max:t,step:a,default:r}=m_[e].delay;return Bo("Delay",$g(Q9,{}),o,t,a,r,"s")}function fs(e,o){let t=e.render,a=r=>{let n=oY();return t({...r,value:o(r.value,n?.values)})};return{...e,render:r=>$g(a,{...r})}}function Jf({readsSpeed:e}){return fs(cs("loop"),(o,t)=>u_({loopDuration:o,speed:e?t?.speed:void 0}))}function Zf(){return fs(ds("loop"),e=>p_({loopDelay:e}))}import{phoneKey as tY}from"efficient-easel/draw";import{readEntrance as aY}from"efficient-shell/format";var eu="sf-entrance",ke={kind:"entrance",from:"entranceFrom",duration:"entranceDuration",delay:"entranceDelay"},ou="sectionAnimation",h_=e=>e!=null&&e!=="";function rY(e,o){let t=e[ke[o]];return o==="kind"&&!h_(t)?e[ou]:t}function Qf(e,o,t){if(t==="phone"){let a=e[tY(ke[o])];if(h_(a))return a}return rY(e,o)}function ti(e,o){return aY(Qf(e,"kind",o),Qf(e,"from",o),Qf(e,"duration",o),Qf(e,"delay",o))}function tu(e){let o=ti(e,"desktop"),t=ti(e,"phone");return o.kind==="none"&&t.kind==="none"?null:{desktop:o,phone:t}}var nY={...Object.fromEntries([...Mk].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)"},a_e=new Set(Object.keys(nY));var x_="_gEntrance";var zg={none:"None",fade:"Fade",rise:"Rise",scale:"Scale",glide:"Glide",bounce:"Bounce",flip:"Flip",reveal:"Reveal",spin:"Spin"},NY={top:"Top",bottom:"Bottom",left:"Left",right:"Right"},MY={top:()=>Be(dY,{}),bottom:()=>Be(mY,{}),left:()=>Be(pY,{}),right:()=>Be(uY,{})},Gg="Entrance",au=nu.filter(e=>e!=="none"),ru=e=>({any:[{field:ke.kind,in:e},{all:[{field:ke.kind,set:!1},{field:ou,in:e}]}]}),g_=e=>({any:[{field:pa(ke.kind),in:e},{all:[{field:pa(ke.kind),set:!1},ru(e)]}]}),HY={any:[ru(au),{field:pa(ke.kind),in:au}]},WY=[[[ke.from],ru(I_)],[[pa(ke.from)],g_(I_)],[[ke.duration,ke.delay],ru(au)],[[pa(ke.duration),pa(ke.delay)],g_(au)]],$Y={none:()=>Be(vY,{}),fade:()=>Be(IY,{}),rise:()=>Be(SY,{}),scale:()=>Be(wY,{}),glide:()=>Be(bY,{}),bounce:()=>Be(xY,{}),flip:()=>Be(gY,{}),reveal:()=>Be(yY,{}),spin:()=>Be(CY,{})},w_="data-entrance-tile";function zY({kind:e}){let{attrs:o}=FY(DY(e,S_));return Be("span",{className:"sf-entrance-stage",[w_]:e,children:Be("i",{...o,children:$Y[e]()})})}var GY=e=>o=>{let t=e.current?.querySelector(`[${w_}="${o}"] > i`);t&&BY(t)},C_=e=>kY({label:i(Gg),options:nu.map(o=>({value:o,label:i(zg[o]),picture:Be(zY,{kind:o})})),fallback:"none",onPreview:e?GY(e):void 0});function v_({row:e,children:o}){return Be("div",{ref:e,style:{display:"contents"},children:o})}function UY({value:e,onChange:o}){let t=Jo(),a=ti({...t,[ke.kind]:e},"desktop").kind,r=b_(null);return Be(v_,{row:r,children:C_(r).render({value:a,onChange:n=>o(n??"none")})})}function jY({value:e,onChange:o}){let t=Jo(),a=typeof e=="string"&&nu.includes(e),r=ti(t,"desktop").kind,n=b_(null);return lY(sY,{children:[Be(v_,{row:n,children:C_(n).render({value:a?e:r,onChange:o})}),a&&Be(iY,{words:re()?.panel,label:i(KY),changed:a,detail:_Y(s=>i(s),i(zg[r])),onReset:()=>o(void 0)})]})}var KY="Effect",k_={type:"select",label:Gg,options:nu.map(e=>({value:e,label:zg[e]}))},VY=()=>y_({type:"custom",render:({value:e,onChange:o})=>Be(UY,{value:e,onChange:o})},k_),qY=()=>y_({type:"custom",render:({value:e,onChange:o})=>Be(jY,{value:e,onChange:o})},k_),YY=RY.map(e=>({label:NY[e],value:e,picture:MY[e]()}));function kt(){let{duration:e,delay:o}=LY.entrance,t={[x_]:OY(Gg,{dot:HY}),[ke.kind]:us("desktop",VY()),[ou]:PY({type:"custom",render:()=>Be(TY,{})},"always"),[pa(ke.kind)]:us("mobile",qY()),_cEntrance:EY(),...AY(ke.from,Rd("From",Be(fY,{}),YY,S_)),[ke.duration]:us("desktop",cs("entrance")),[pa(ke.duration)]:us("mobile",jd({label:"Duration",desktopKey:ke.duration,icon:Be(hY,{}),min:e.min,max:e.max,step:e.step,fallback:e.default,unit:"s"})),[ke.delay]:us("desktop",ds("entrance")),[pa(ke.delay)]:us("mobile",jd({label:"Delay",desktopKey:ke.delay,icon:Be(cY,{}),min:o.min,max:o.max,step:o.step,fallback:o.default,unit:"s"}))};return _m(t,WY)}import{DESIGN_GROUPS as jg,SETTINGS_BUCKETS as ZY}from"efficient-easel/panel";import{BUCKET_KEY as jo,DESIGN_GROUP_KEY as ai}from"efficient-easel/screen/lib/document/field-buckets";var ri=ZY;var QY="Editor only \u2014 not shown live",Kg={"Archive link":"Content",Article:"Content",Blocks:"Content","Blog posts":"Content","Browser mock":"Content",Button:"Content","Call to action":"Content","Car prompt":"Content","Card link":"Content","Card list":"Content",Cards:"Content","Claims bars":"Content","Contact info":"Content",Content:"Content",Display:"Content","Content source":"Content",Contents:"Content",Filters:"Content","Show on a card":"Content",Footnote:"Content",Form:"Content",Founders:"Content","Gallery A":"Content","Gallery B":"Content","Gallery link":"Content",Header:"Content","Header link":"Content","Image caption":"Content","In this issue":"Content",Items:"Content","Kanban columns":"Content",Lead:"Content","Left panel":"Content",Link:"Content",Links:"Content",List:"Content","Message form":"Content",Metadata:"Content",Milestones:"Content","Mockup card":"Content","Newsletter panel":"Content",Offices:"Content",Options:"Content","Others gallery":"Content","Overlay button":"Content",Product:"Content","Product page":"Content",Products:"Content","Pull quote":"Content",Questions:"Content","Recent issues":"Content","Recent posts":"Content",Reviews:"Content","Right panel \xB7 actions":"Content","Right panel \xB7 choices":"Content","Right panel \xB7 form":"Content","Routing groups":"Content",Rows:"Content",Search:"Content",Section:"Content","Section header":"Content",Sections:"Content","Signup form":"Content",Source:"Content","Source product":"Content","Stat & note":"Content",Stats:"Content","Submit button":"Content","Success state":"Content",Wheel:"Content",Terminal:"Content",Text:"Content","Text column":"Content","Timeline entries":"Content","Top row":"Content",Total:"Content","Trailing note":"Content","\u201COther\u201D reason":"Content","Background images":"Design",Gallery:"Content",Image:"Content","Image column":"Content",Images:"Content",Logo:"Content",Map:"Content",Media:"Content","Background image":"Design",Color:"Design","Image tint":"Design",Style:"Design",Shape:"Design",Shadow:"Design",Texture:"Design",Overlay:"Design","Text style":"Design",Entrance:"Animation",Hover:"Animation",Loop:"Animation",Anchor:"Anchor",Arrangement:"Layout","Auto-slide":"Layout",Bar:"Layout","Cell width":"Size",Behavior:"Layout",Schedule:"Layout",Controls:"Layout",Diagram:"Layout",[QY]:"Layout","Filters shown":"Layout","Slide picker":"Layout",Arrows:"Layout","On a phone":"Layout",Placement:"Position",Nudge:"Position","Stick to top":"Position","Image gallery":"Layout",Grid:"Layout",Layout:"Layout",Padding:"Layout",Price:"Layout",Preview:"Layout",Setup:"Layout","Show / hide elements":"Layout","Show in the buy box":"Layout",Visibility:"Layout",Width:"Size",Size:"Size",Height:"Size"},E_={"AlloyWheelsListing._gCards":"Design"},O_={"Text._gSpacing":"Size","Heading._gSpacing":"Size"};function Ug(e,o,t){let a=`${e}.${o}`;return O_[a]??E_[a]??Kg[t]}function __(e){return e==="Animation"?[jo.Animation]:[jo.Design,ai[e]]}function su(...e){let o=[];for(let t of e)for(let a of Object.values(t)){let r=P_(a),n=ca(r?r.inner:a),s=n?Kg[n.label]:void 0;if(s)for(let l of __(s))o.includes(l)||o.push(l)}return o}var R_e=[...su(Fd({tablet:!0}),Kd("full"),Vd(),Yd(),Gx()),...Object.keys(Fd({tablet:!0})),...Object.keys(Kd("full")),...Object.keys(Vd()),...Object.keys(Yd()),...Object.keys(Gx())],L_e=[...su(zd()),...Object.keys(zd())],F_e=[...su(Ud()),...Object.keys(Ud())],B_e=[...su(kt()),...Object.keys(kt())],eX=Object.keys(t0()),oX=new Set(["cardImage","imageBackground"]),D_e=[...__(Ug("ProductGrid","_gCards","Cards")??"Design"),...eX.filter(e=>e.startsWith("_g")||oX.has(e))],N_e=Object.keys(a0()),M_e=Object.keys(r0()),tX={"ImageBlock._gStyle":"duplicated the Style bucket header above it (2026-09-04)","ButtonBlock._gStyle":"duplicated the Style bucket header above it (2026-09-04)","HeroGroup._gContent":"duplicated the Content bucket header above it (2026-09-04)","HeroGroup._gLayout":"duplicated the Layout bucket header above it (2026-09-04)","Footer._gLayout":"duplicated the Layout bucket header above it (2026-09-04)","FooterLogo._gContent":"duplicated the Content bucket header above it (2026-09-04)","FooterLogo._gStyle":"duplicated the Style bucket header above it (2026-09-04)","FooterMenu._gContent":"duplicated the Content bucket header above it (2026-09-04)","FooterMenu._gStyle":"duplicated the Style bucket header above it (2026-09-04)","FooterGroup._gLayout":"duplicated the Layout bucket header above it (2026-09-04)","FooterText._gContent":"duplicated the Content bucket header above it (2026-09-04)","FooterText._gStyle":"duplicated the Style bucket header above it (2026-09-04)","FooterSocial._gStyle":"duplicated the Style bucket header above it (born tabbed, 2026-09-17)","FooterSocial._gLayout":"duplicated the Layout bucket header above it (born tabbed, 2026-09-17)","MenuBlock._gContent":"duplicated the Content bucket header above it (born tabbed, H.1)","MenuBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.1)","SocialLogosBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.1)","SocialLogosBlock._gLayout":"duplicated the Layout bucket header above it (born tabbed, H.1)","SearchBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.2)","CartBlock._gStyle":"duplicated the Style bucket header above it (born tabbed, H.2)","CountrySwitchBlock._gStyle":"duplicated the Style bucket header above it (born tabbed with its Show as, 2026-10-17)","Split._gContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gVehicleContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gWheelContent":"duplicated the Content bucket header above it (2026-09-04)","Gallery._gOthersContent":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gHeadCopy":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gLeftCopy":"duplicated the Content bucket header above it (2026-09-04)","Subscribe._gRightCopy":"duplicated the Content bucket header above it (2026-09-04)","CollectionCard._gContent":"duplicated the Content bucket header above it (A Card Sets Its Own Corners)","HeroSlide._gContent":"duplicated the Content bucket header above it (Hero Slide Tabs And Theme)","KeyFeatures._gContent":"duplicated the Content bucket header above it (66049)","KeyFeatures._gStyle":"duplicated the Style bucket header above it (66049)","ParagraphsA._gContent":"duplicated the Content bucket header above it (66049)","ParagraphsA._gStyle":"duplicated the Style bucket header above it (66049)","Chart._gContent":"duplicated the Content bucket header above it (66049)","Chart._gStyle":"duplicated the Style bucket header above it (66049)","Logos._gContent":"duplicated the Content bucket header above it (66049)","Logos._gStyle":"duplicated the Style bucket header above it (66049)","Mockup._gContent":"duplicated the Content bucket header above it (66049)","Mockup._gStyle":"duplicated the Style bucket header above it (66049)","Stats._gContent":"duplicated the Content bucket header above it (66049)","Stats._gStyle":"duplicated the Style bucket header above it (66049)","StatsParagraph._gContent":"duplicated the Content bucket header above it (66049)","StatsParagraph._gStyle":"duplicated the Style bucket header above it (66049)","Testimonials._gContent":"duplicated the Content bucket header above it (66049)","Testimonials._gStyle":"duplicated the Style bucket header above it (66049)","AppointmentBooking._gContent":"duplicated the Content bucket header above it (66050)","BookingBox._gContent":"duplicated the Content bucket header above it ([SPLIT] Booking Form Into Three Boxes) \u2014 the same fault its own section retired in 66050, one level down","FAQ._gContent":"duplicated the Content bucket header above it (66050, family sweep)","FAQ._gLayout":"duplicated the Layout bucket header above it (66050, family sweep)","Form._gContent":"duplicated the Content bucket header above it (66050)","ReviewForm._gContent":"duplicated the Content bucket header above it (66050)","SubmitBuild._gContent":"duplicated the Content bucket header above it (66050)","SubmitBox._gContent":"duplicated the Content bucket header above it ([SPLIT] SubmitBuild Keeps Its Two Columns) \u2014 the same fault its own section retired in 66050, one level down","CheckoutCTA._gContent":"duplicated the Content bucket header above it (66051)","CheckoutCTA._gLayout":"duplicated the Layout bucket header above it (66051)","DeliveryOptions._gContent":"duplicated the Content bucket header above it (66051)","DeliveryOptions._gLayout":"duplicated the Layout bucket header above it (66051)","OrderSummary._gContent":"duplicated the Content bucket header above it (66051)","OrderSummary._gLayout":"duplicated the Layout bucket header above it (66051)","PaymentBadges._gContent":"duplicated the Content bucket header above it (66051)","PaymentBadges._gLayout":"duplicated the Layout bucket header above it (66051)","Collections._gContent":"duplicated the Content bucket header above it (66052)","Collections._gLayout":"duplicated the Layout bucket header above it (66052)","DocMasthead._gContent":"duplicated the Content bucket header above it (66053)","Events._gContent":"duplicated the Content bucket header above it (66054)","Events._gLayout":"duplicated the Layout bucket header above it (66054)","FeaturedCover._gContent":"duplicated the Content bucket header above it (66054)","Series._gStyle":"duplicated the Style bucket header above it (66054)","Flex._gContent":"duplicated the Content bucket header above it (66055)","Flex._gLayout":"duplicated the Layout bucket header above it (66055)","SectionHeader._gContent":"duplicated the Content bucket header above it (66055)","Breadcrumb._gContent":"duplicated the Content bucket header above it (66056)","CategoryBar._gStyle":"duplicated the Style bucket header above it (66056)","Hero._gContent":"duplicated the Content bucket header above it (66056)","Hero._gStyle":"duplicated the Style bucket header above it (66056)","HeroSingle._gStyle":"duplicated the Style bucket header above it (66056)","IntroBleed._gContent":"duplicated the Content bucket header above it (66056)","IntroBleed._gLayout":"duplicated the Layout bucket header above it (66056)","BundleOffer._gLayout":"duplicated the Layout bucket header above it (66059)","ProcessSteps._gContent":"duplicated the Content bucket header above it (66059)","Banner._gContent":"duplicated the Content bucket header above it (66060.1)","Banner._gLayout":"duplicated the Layout bucket header above it, and governed no controls (66060.1)","Manifesto._gContent":"duplicated the Content bucket header above it (66060.1)","SubscribeBlogs._gHeadCopy":"duplicated the Content bucket header above it (66060.1)","SubscribeBlogs._gLeftCopy":"duplicated the Content bucket header above it (66060.1)","SubscribeBlogs._gRightCopy":"duplicated the Content bucket header above it (66060.1)","Ticker._gContent":"duplicated the Content bucket header above it (66060.1)","Ticker._gStyle":"duplicated the Style bucket header above it (66060.1)","Timeline._gContent":"duplicated the Content bucket header above it (66060.1)","TitleWithButtons._gContent":"duplicated the Content bucket header above it (66060.1)","TitleWithButtons._gStyle":"duplicated the Style bucket header above it (66060.1)","Cards._gContent":"duplicated the Content bucket header above it (66218)","Cards._gStyle":"duplicated the Style bucket header above it (66218)","Prose._gContent":"duplicated the Content bucket header above it (66218)","Reviews._gContent":"duplicated the Content bucket header above it (66218)","Reviews._gStyle":"duplicated the Style bucket header above it (66218)"},A_={Content:["Content"],Size:["Size"],Design:["Design","Style"],Layout:["Layout"],Position:["Position"],Anchor:["Anchor"],Animation:["Animation"]},R_={_gAnchor:"repeated the Anchor group heading above it (two tabs, 11.0.0)"};{let e={...Fd({tablet:!0}),...Kd("full"),...Vd(),...Yd(),...zd(),...Ud(),...kt()};for(let o of Object.keys(R_)){let t=ca(e[o]),a=t?Kg[t.label]:void 0;if(!t||t.level!==2||!a||!A_[a].includes(t.label))throw new Error(`INJECTED_RETIRED (lib/document/field-groups.ts) lists "${o}", but no uniform builder makes a level-2 heading by that key whose label repeats its place's word. The heading was renamed, moved or removed and the row is stale \u2014 a list that quietly matches nothing is worse than no list.`)}}var aX=new Set(["_sContent","_sStyle","_sLayout","_sMedia"]),rX=new Map([[jo.Design,"Content"],[jo.Animation,"Animation"],...jg.map(e=>[ai[e],e])]);function L_(e){let o=new Set([...Object.values(jo),ai.Content]);for(let[t,a]of Object.entries(e))if(!o.has(t)&&ca(a)?.level===1)return 1;return 2}function nX(e){let o=`${e}.`;return Object.keys(tX).filter(t=>t.startsWith(o)).map(t=>t.slice(o.length))}function sX(e,o){let t=P_(e),a=XY(o);return t?JY(t.tier,a):a}function lX(e,o){let t=ca(o);return t?e==="Content"||e==="Animation"?$P(o,t.label):zP(o):o}function T_(e){return e==="Design"?jg:["Animation"]}function F_(e,o){let t=[],a=new Set(nX(o)),r=new Set,n=!1,s=null;for(let[u,x]of Object.entries(e)){let I=ca(x);if(aX.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 g=rX.get(u);if(g!==void 0){if(I?.level!==1)throw new Error(`${o}.${u}: that key is reserved for the ${g} heading of the settings panel, but this field is ${I?`a level-${I.level} "${I.label}" header`:"not a header"}, so it cannot serve as one. Rename the section's own field.`);(u===jo.Design||u===jo.Animation)&&(n=!0),t.push(s={place:g,entries:[],adopted:!0});continue}if(!I){s||t.push(s={place:"Content",entries:[]}),s.entries.push([u,x]);continue}if(a.has(u)||u in R_){let C=Ug(o,u,I.label);if(I.level!==2||!C||!A_[C].includes(I.label))throw new Error(`${o}.${u}: ${a.has(u)?"RETIRED":"INJECTED_RETIRED"} (lib/document/field-groups.ts) lists this sub-heading as one whose name repeats the place it sits in, but it is a level-${I.level} "${I.label}" header in the ${C??"(unclassified)"} place. Only a level-2 header whose label is one of its place's words (PLACE_WORDS) may be retired \u2014 anything else is a heading a merchant reads for its own sake. Fix the row or drop it.`);a.has(u)&&r.add(u),t.push(s={place:C,entries:[]});continue}let k=Ug(o,u,I.label);if(!k)throw new Error(`${o}.${u}: the inspector group "${I.label}" is not classified in LABEL_GROUP (lib/document/field-groups.ts), so there is no way to say which of ${[...jg,"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,I.level===2?x:sX(x,I.label)]]})}let l=new Set(Object.entries(e).filter(([,u])=>ca(u)).map(([u])=>u));for(let[u,x]of[["BLOCK_KEY_GROUP",O_],["KEY_GROUP",E_]]){let I=Object.keys(x).filter(g=>g.startsWith(`${o}.`)).filter(g=>!l.has(g.slice(o.length+1)));if(I.length)throw new Error(`${o}: ${u} (lib/document/field-groups.ts) lists ${JSON.stringify(I)}, but no fold header by that key is in this section's panel. Either the heading was renamed or removed and the row is stale, or the row names the wrong key \u2014 an override that quietly matches nothing is worse than no override.`)}let c=n?[]:[...a].filter(u=>!r.has(u));if(c.length)throw new Error(`${o}: RETIRED (lib/document/field-groups.ts) lists ${JSON.stringify(c)}, but this section has no such fold header${c.length>1?"s":""}. Either the heading was renamed or removed and the row is stale, or the row names the wrong section \u2014 a list that quietly matches nothing is worse than no list.`);let d=new Set(t.filter(u=>u.entries.length>0).map(u=>u.place)),f=ri.filter(u=>T_(u).some(x=>d.has(x))),m={};for(let u of f){m[jo[u]]=$d(u,u===f[0]?f:null);for(let x of T_(u)){if(!d.has(x))continue;let I=t.filter(k=>k.place===x),g=I.findIndex(k=>k.adopted);g>0&&I.unshift(...I.splice(g,1)),u==="Design"&&(m[ai[x]]=Hx(x));for(let k of I)for(let[C,w]of k.entries)m[C]=lX(x,w)}}return m}function H_e(e){return jo.Design in e?e:{[jo.Design]:$d("Design",null),[ai.Content]:Hx("Content"),...e}}function W_e(e){return ri.some(o=>jo[o]in e)}function $_e(e){let o=ri.filter(a=>jo[a]in e);if(o.length===0)return e;let t={...e};for(let a of o)t[jo[a]]=$d(a,a===o[0]?o:null);return t}import{jsx as iX}from"react/jsx-runtime";import{EmptyState as cX}from"efficient-shell/ui";function jr(){return iX(cX,{variant:"none",icon:!1,message:i("These settings apply to every view.")})}import{usePreviewDevice as IX}from"efficient-easel/draw/client";import{deviceField as gX}from"efficient-easel/screen/lib/document/device-fields";var lu=" text",B_="Text";function ni(e){let o=e.rows.filter(t=>t.shown);return o.length===0||o.length===1&&o[0].labelled}function D_(e){return e.filter(ni).map(o=>o.key)}function N_(e,o){let t=e.filter(r=>!ni(r));if(t.length!==1)return null;let a=e.filter(ni).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 M_(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 H_(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var Yg=new Map,cu=new Set;function G_(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(ri.map(e=>{let o=WP[e];return[e,Kr(o,{},e)]})),U_=uX(null),yX={_partBody:gX("each",{type:"custom",render:()=>Kr(SX,{})})};function SX(){return Kr(dX,{children:pX(U_)})}function Tt({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}=mX(),u=iu(()=>r?{...d,...r.values}:d,[d,r?.values]),x=(me,Ke)=>r?.keys.has(me)?r.onChange(me,Ke):m(me,Ke),I=IX(),{appState:g,config:k}=z_(me=>me),C=dv(I,k,g.data.content??[],g.ui.itemSelector),w=n===void 0?jO(c,t):yX,b=iu(()=>{let me=a?.length?Object.fromEntries(Object.entries(w).filter(([Ke])=>!a.includes(Ke))):w;return r?{...me,...r.fields}:me},[w,a,r?.fields]),v=dh(b,u,C),[P,F]=Vg(()=>new Set(cu)),[T,D]=Vg(()=>new Set),O=$_(null),{bandRows:R,designBands:N,looseRows:y}=iu(()=>{let me=new Map,Ke=new Set,Oe=[];for(let ve of qg(v).rows){if(!ve.fold){ve.bucket==="Design"&&Oe.push(ve.name);continue}let qe=me.get(ve.fold.key)??[];qe.push(ve.name),me.set(ve.fold.key,qe),ve.bucket==="Design"&&Ke.add(ve.fold.key)}return{bandRows:me,designBands:Ke,looseRows:new Map([["",Oe]])}},[v]),_=hX({},I),L={key:lu,rows:Array.from({length:_?o:0},()=>({shown:!0,labelled:!0}))};W_(()=>{let me=O.current?.parentElement;if(!me)return;let Ke=G_(me,R),Oe=new Set(D_(Ke)),ve=N_([L,...Ke.filter(qe=>N.has(qe.key))],G_(me,y)[0].rows);ve&&Oe.add(ve),D(qe=>H_(qe,Oe)?qe:Oe)});let M=iu(()=>M_(v,T),[v,T]),Y=!ni(L)&&!T.has(lu)?{key:lu,title:B_}:void 0,V=z_(me=>me.selectedItem)!==null,U=r?.part??t??"",xe=`${l}:${U}:${String(I)}`,[te,Re]=Vg(()=>({tab:Yg.get(xe)})),We=`${l}:${U}`,Pe=$_(null),Ie={...C,node:u},Ee=qg(v,{values:u,context:Ie}).buckets,$e=i_({allTabs:V,remembered:Yg.get(xe),inherited:Pe.current?.panel===We?Pe.current.tab:te.tab,buckets:Ee,hasText:_&&o>0}),Qe=!_&&!Ee.includes($e)&&(qg(dh(b,u,{...C,device:"desktop"}),{values:u,context:{...Ie,device:"desktop"}}).buckets.includes($e)||$e==="Design"&&o>0);W_(()=>{Pe.current={panel:We,tab:$e}});let yo=$e==="Design";return Kr(U_.Provider,{value:n??null,children:Kr(zx.Provider,{value:r?u:null,children:fX(xX,{fields:M,values:u,onChange:x,readOnly:f,allTabs:V,showWhenContext:Ie,context:{itemWord:s},tab:$e,onTab:me=>{Yg.set(xe,me),Re({tab:me})},tabIcons:bX,idPrefix:l,ariaLabel:i("Section settings"),lead:yo?e:null,leadFold:Y,closedFolds:P,onFold:(me,Ke)=>{Ke?cu.delete(me):cu.add(me),F(new Set(cu))},children:[Kr("span",{ref:O,hidden:!0}),Qe&&Kr(jr,{})]})})})}import{useMemo as aJ}from"react";import{useEasel as rJ}from"efficient-easel/easel";import{useSectionOps as nJ}from"efficient-easel/screen/lib/document/use-section-ops";import{jsx as ma}from"react/jsx-runtime";import{ContrastIcon as wX,NoSymbolIcon as CX,HoverLiftIcon as vX,HoverNextImageIcon as kX,HoverRotateIcon as TX,HoverZoomIcon as K_,OpacityIcon as PX}from"efficient-easel/icons";import{customize as EX,describedAs as OX,group as _X}from"efficient-easel/screen/lib/document/box-fields";import{effectTiles as AX}from"efficient-easel/screen/lib/document/effect-tiles";import{deviceField as Zo}from"efficient-easel/screen/lib/document/device-fields";import{NoControlMark as RX,noControlField as LX}from"efficient-easel/screen/lib/document/panel-no-control-mark";var Xg=e=>Zo("desktop",_X("Hover",{dot:e})),V_=()=>Zo("desktop",EX()),FX="What this does when a shopper points at it, or taps it on a phone.",BX="What this picture does when a shopper points at it. Black and white shows it in grey until then. A phone shows its colour.",DX="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.",NX="What each card does when a shopper points at it, or taps it on a phone. Rotate turns the wheel picture.",MX={none:()=>ma(CX,{}),nextImage:()=>ma(kX,{}),rotate:()=>ma(TX,{}),zoom:()=>ma(K_,{}),lift:()=>ma(vX,{}),mono:()=>ma(wX,{})};function Jg(e,o){let t=AX({label:i("Hover effect"),options:e.map(a=>({value:a,label:i(qn[a]),picture:MX[a]()})),fallback:o});return OX(t,{type:"select",label:"Hover effect",options:e.map(a=>({value:a,label:qn[a]}))})}function q_(){return{[hf]:Xg({field:Do,in:xf.filter(e=>e!=="none")}),[Do]:Zo("desktop",{...Jg(xf,"none"),description:FX})}}function Y_(e){let o=X0(e),t=dP(xI);return{[hf]:Xg(o),[Me.kind]:Zo("desktop",{...fs(Jg(If,e),(a,r)=>II(r??{},e)),description:NX}),[Ll]:LX({type:"custom",render:()=>ma(RX,{})},"always"),_cHover:V_(),[Me.angle]:Zo("desktop",oo(fs(t,a=>gI(a)),o)),[Me.duration]:Zo("desktop",oo(cs("hover"),o)),[Me.delay]:Zo("desktop",oo(ds("hover"),o))}}function Zg(e,o=""){let t=eE(e);return{[hf]:Xg(t),[Me.kind]:X_(gf,e,BX),_cHover:V_(),...SI.includes(o)?HX():{},[Me.duration]:Zo("desktop",oo(cs("hover"),t)),[Me.delay]:Zo("desktop",oo(ds("hover"),t))}}function HX(){let e=Q0(),o=Bo("Zoom",ma(K_,{}),da.min,da.max,da.step,da.min,da.unit),t=Bo("Darken on hover",ma(PX,{}),Ba.min,Ba.max,Ba.step,Ba.fallback,Ba.unit);return{[Fl.zoom]:Zo("desktop",oo(o,e)),[Fl.darken]:Zo("desktop",oo(t,e))}}function X_(e,o,t){let a=Zo("desktop",{...fs(Jg(e,o),r=>wI({[Do]:r},o,e)),description:t});return Object.assign(a,{[J_]:o})}var J_="sfPictureResting",j_=new WeakMap;function w1e(e,o,t){let a=e[Me.kind],r=a?.[J_];if(!a||!r)return e;let n=o.props?.[Do]==="nextImage",s=n?null:Zs(t.appState,o.props?.id),l=s?Fm(String(s.type),ht(o.props),s):null;if(!n&&!l?.next)return e;let c=j_.get(e);return c||(c={...e,[Me.kind]:X_(bI,r,DX)},j_.set(e,c)),c}import{customize as YX}from"efficient-easel/screen/lib/document/box-fields";import{jsx as Qg}from"react/jsx-runtime";import{DirectionIcon as WX,LoopMarqueeIcon as $X,NoSymbolIcon as zX}from"efficient-easel/icons";import{customize as GX,describedAs as UX,group as jX}from"efficient-easel/screen/lib/document/box-fields";import{effectTiles as KX}from"efficient-easel/screen/lib/document/effect-tiles";function eb(){return e0("Direction",Wg,oi,"A marquee cannot run diagonally, so the corners are not answers.",Qg(WX,{}),QP)}var ob=e=>jX("Loop",e?{dot:e}:void 0),VX={none:()=>Qg(zX,{}),scroll:()=>Qg($X,{})};function qX(){let e=KX({label:i("Loop"),options:Xf.map(({value:o,label:t})=>({value:o,label:i(t),picture:VX[o]()})),fallback:Hg});return UX(e,{type:"select",label:"Loop",options:Xf.map(({value:o,label:t})=>({value:o,label:t}))})}function Z_(){return{_gLoop:ob(ei),loop:qX(),_cLoop:GX(),scrollDirection:oo(eb(),ei),loopDuration:oo(Jf({readsSpeed:!1}),ei),loopDelay:oo(Zf(),ei)}}function XX(){let e=Zg("none");return Xs(e,Object.keys(e),Om("bgImage"))}function Q_(e,o=""){switch(e){case"section":case"block":return kt();case"box":return{...kt(),...Z_(),...XX()};case"picture":return{...kt(),...Zg(yI(o),o)};case"textPart":return{...kt(),...q_()};case"cards":return{...kt(),...Y_(hI(o))};case"marquee":return{...kt(),_gLoop:ob(),_cLoop:YX(),scrollDirection:eb(),loopDuration:Jf({readsSpeed:!0}),loopDelay:Zf()}}}import{phoneKey as JX}from"efficient-easel/draw";import{ENTRANCE_STATE_ATTR as ZX,entranceAttrs as QX}from"efficient-shell/format";var o1={},tb="_partMotion",ab=[...Object.values(ke).flatMap(e=>[e,JX(e)]),Do,Me.duration,Me.delay];function q1e(e){return Zn(e,tb)}function ps(e,o){return Pf(e,tb,o)}var eJ=new Set([ke.kind,Do]);function t1(e,o,t,a){let{[t]:r,...n}=ps(e,o),s=a==null||a===""||a==="none"&&eJ.has(t)?n:{...n,[t]:a};return Ef(e,tb,o,Object.keys(s).length?s:null)}function rb(e){return{entrance:tu(e),hover:q0(e)}}function a1(e){let o=rb(e);return o.entrance!==null||o.hover!=="none"}function r1(e,o){let{attrs:t,style:a}=QX(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(ZX)}}var oJ=4;function n1(e){let o;for(let t of e)(!o||t.element.compareDocumentPosition(o.element)&oJ)&&(o=t);return o}var tJ="data-sf-part-host";function s1(e){let o=e?.ownerDocument.defaultView,t=e;for(;t&&!t.hasAttribute(tJ)&&!t.classList.contains(eu);){let a=o?.getComputedStyle(t).display??"";if(a==="contents")return null;if(a!=="inline")return t;t=t.parentElement}return null}var du="data-sf-part-lift",e1="sf-part-lift";function l1(e){if(e.getElementById(e1))return;let o=e.createElement("style");o.id=e1,o.textContent=SE(`[${du}]`).join(`
70
+ `),e.head.appendChild(o)}var i1=new Map,sJ=e=>{let o=i1.get(e);return o||i1.set(e,o=F_(Q_(e),`part:${e}`)),o},lJ=new Set(ab);function ms(e,o,t){let{getItemById:a,getSelectorForId:r}=rJ(f=>f),n=nJ(),s=a(e)?.props??{},l=ps(s,o),c=JSON.stringify(l),d=aJ(()=>Object.fromEntries(ab.map(f=>[f,l[f]])),[c]);return{part:o,fields:sJ(t),values:d,keys:lJ,onChange:(f,m)=>{let u=r(e),x=a(e);if(!u||!x)return;let I=t1(x.props??{},o,f,m);n.replaceComponent(u.zone,u.index,{...x,props:I})}}}import{Fragment as iJ,createElement as cJ}from"react";import{deviceField as nb}from"efficient-easel/screen/lib/document/device-fields";var xo=()=>({type:"custom",render:()=>cJ(iJ)});var sb={words:xo(),sourceNote:xo(),style:xo(),font:xo(),italic:xo(),fontSize:nb("each",xo()),lineHeight:xo(),letterSpacing:xo(),paragraphSpacing:xo(),padding:xo(),align:nb("each",xo()),letterCase:xo(),fixedSizeHint:nb("each",xo()),regionNote:xo(),regionStyle:xo()},dJ=["fontSize","align"];function c1(e){return dJ.includes(e)}var d1={showTicker:xo(),items:xo()};var SJ="root:default-zone";function f1({heroId:e}){let{appState:o,dispatch:t}=hJ(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=mJ(()=>{let x=n?.props.tickerItems;return Array.isArray(x)?x:WO.map(I=>({text:I}))},[n]),c=pJ(),d=yJ(),f=x=>bJ(d1[x],d),m=ms(e,$O,"block");if(!n)return Vr("p",{className:"sf-note",children:i("This ticker\u2019s hero is no longer on the page.")});let u=x=>t({type:"replace",destinationZone:SJ,destinationIndex:r,data:{...n,props:{...n.props,...x}}});return Vr(Tt,{motion:m,body:uJ(fJ,{children:[!f("showTicker")&&!f("items")&&Vr(jr,{}),f("showTicker")&&Vr(xJ,{label:i("Show ticker"),labelId:c,icon:Vr(gJ,{}),action:Vr(IJ,{checked:s,onChange:x=>u({showTicker:x}),ariaLabelledBy:c})}),f("items")&&Vr(qx,{label:Vx.label,icon:Vx.icon,items:l,placeholder:"item",onChange:x=>u({tickerItems:x}),markup:!0})]})})}import{jsx as X,Fragment as fi,jsxs as Qo}from"react/jsx-runtime";import{useContext as zJ,useEffect as ib,useRef as GJ,useState as O1}from"react";import{FieldSelect as UJ,InspectorField as jJ,fieldShownInView as KJ}from"efficient-easel/fields";import{InertHint as M1,SettingsField as VJ}from"efficient-easel/panel";import{InspectorUpLevel as bu}from"efficient-easel/chrome";import{StylesIcon as qJ,TypeIcon as YJ}from"efficient-easel/icons";import{useEasel as XJ}from"efficient-easel/easel";import{TextPartPanel as _1}from"efficient-easel/copy";import{Button as JJ,IconButton as ZJ,Tooltip as QJ}from"efficient-shell/ui";import{jsx as u1,jsxs as wJ}from"react/jsx-runtime";import{COPY_CELLS as fu,CopyBox as CJ}from"efficient-easel/copy";import{PaddingYIcon as vJ}from"efficient-easel/icons";import{onDesktopWords as kJ}from"efficient-easel/screen/lib/document/box-fields";var TJ=["left","center","right","justify"];function uu(e,o,t,a="desktop"){let r=Hl(e),n=GI(a),s=e[n]??e.size??o.sizePx,l=PE(e,a);return[{...fu.fontSize,key:"fontSize",value:e[n],styleValue:Math.round(o.sizePx),onChange:c=>t({[n]:c??null}),...n==="size"?{}:{reset:{detail:l?kJ(c=>i(c),`${l.px}px`,l.view):void 0}}},{...fu.lineHeight,key:"lineHeight",value:r.lineHeight,styleValue:o.lineRatio,onChange:c=>t(c===void 0?{lineHeight:null,line:null}:{lineHeight:c})},{...fu.letterSpacing,key:"letterSpacing",scale:s,value:r.letterSpacingEm,styleValue:o.letterEm,onChange:c=>t(c===void 0?{letterSpacing:null,letter:null}:{letterSpacing:c})},{...fu.paragraphSpacing,key:"paragraphSpacing",value:e.paragraphSpacing,styleValue:0,onChange:c=>t({paragraphSpacing:c??null})},{key:"padding",name:i("Padding"),icon:u1(vJ,{}),unit:"px",step:HI,shiftStep:10,min:NI,max:MI,value:e.padding,styleValue:o.paddingPx,onChange:c=>t({padding:c??null})}]}function p1({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=uu(n,s,l),I=cI(a,t);return wJ("div",{className:"sf-part-textbox",children:[m,u1(CJ,{value:e,onChange:o,multiline:t,placeholder:d,ariaLabel:f,rules:dr,tools:I,barShows:u?"focus":"always",colors:a?c:[],colorNameOf:zo,align:r?{value:n.align??s.align,allow:TJ,onChange:g=>l({align:g})}:void 0,letterCase:r?{value:n.case==="capitalize"?"":n.case??"",onChange:g=>l({case:g||null})}:void 0,cells:r?x:void 0})]})}import{UiIcon as A1}from"efficient-easel/draw/client";import{jsx as pu,Fragment as PJ,jsxs as EJ}from"react/jsx-runtime";import{Button as m1,Dialog as OJ}from"efficient-shell/ui";function h1({styleName:e,onCancel:o,onConfirm:t}){return pu(OJ,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:i("Update {style}?",{style:e}),footer:EJ(PJ,{children:[pu(m1,{variant:"secondary",onClick:o,children:i("Cancel")}),pu(m1,{variant:"primary",onClick:t,children:i("Update style")})]}),children:pu("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 eZ}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewDevice as oZ}from"efficient-easel/draw/client";import{shownTier as Iu}from"efficient-easel/screen/lib/document/device-fields";import{jsx as _J}from"react/jsx-runtime";import{createContext as AJ,useContext as RJ,useMemo as LJ,useState as FJ}from"react";var BJ={partStyle:null,setPartStyle:()=>{}},x1=AJ(BJ);function MAe({children:e}){let[o,t]=FJ(null),a=LJ(()=>({partStyle:o,setPartStyle:t}),[o]);return _J(x1.Provider,{value:a,children:e})}function I1(){return RJ(x1)}import{TEXT_FIELD_MARKER as tZ}from"efficient-easel/draw";import{useSectionOps as aZ}from"efficient-easel/screen/lib/document/use-section-ops";var si="@name",g1="@body",b1="@value",y1={[si]:"Name",[g1]:"Body",[b1]:"Value"},DJ={TimelineTrack:{"entries.date":si,"entries.title":si,"entries.blurb":g1},Footprint:{"offices.city":si},Stats:{"items.label":si,"items.value":b1}};function NJ(e){let{key:o,row:t}=Ct(e);return t?`${o}.${t.rowKey}`:null}function li(e,o){if(!e)return o;let t=NJ(o);return t?DJ[e]?.[t]??o:o}import{useEaselHost as rZ}from"efficient-easel/screen/lib/host";function MJ(e){let o=new Set([...Object.keys(ad[e]??{}),...rd[e]??[]]);for(let[t,a]of Object.entries(Fh[e]??{}))a.verb==="snapshot"&&o.add(t);return[...o].sort()}var HJ={CollectionCard:"product",FooterMenu:"menu",Gallery:"product",GalleryItem:"product",ProductGrid:"product",ProductHero:"product",SpecTable:"product",Events:"blog",FeaturedCover:"blog",LongRead:"blog",SubscribeBlogs:"blog"},S1={product:"Synced from the product.",blog:"Synced from the blog post.",menu:"Synced from the site menu."},w1="Open",C1={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 hs(e){let o=e?.source?.slug;return ee(o)}function ii(e){return HJ[e]??null}function v1(e,o){let t=ii(e);return t&&MJ(e).includes(o)?t:null}function mu(e){let o=e?.menu?.id;return ee(o)}var ci={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)]"},WJ={tag:{label:"Tag",follows:"Labels",builtIn:Xn(ci.tag),writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:Xn(ci.name),writable:!0},body:{label:"Body",follows:"Body",builtIn:Xn(ci.body),writable:!0},price:{label:"Price",follows:"Labels",builtIn:Xn(ci.price),writable:!0},link:{label:"Link",follows:"Labels",builtIn:Xn(ci.link),writable:!0}},k1=WJ;var $J={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}},T1=$J;var hu={entry:{label:"Entry",follows:"Labels",builtIn:"13px",writable:!0},number:{label:"Entry number",follows:"Labels",builtIn:"13px",writable:!0}};var ZAe=kf,P1={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 lb={SpecTable:P1,FAQ:T1,Collections:k1,Contents:hu};function E1(){return Ta("efficient.section-text-regions",()=>new Map)}function nRe(e){let o=E1();for(let[t,a]of Object.entries(e)){if(Object.hasOwn(lb,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 xu(e){return e?Object.hasOwn(lb,e)?lb[e]:E1().get(e)??null:null}function cb(e){return e?i(e):null}function R1(e){return e.kind==="role"?Kp[e.role]:e.kind==="custom"?"Custom":null}function nZ(e){let o=Xt(e.role);return o?{kind:"role",role:o}:null}function sZ(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 gu(e,o,t,a){return nZ(Ml(e,o))??sZ(t,a)}function lZ(e,o){if(!e.length)return null;let t=o(e[0]);return e.every(a=>o(a)===t)?t:null}function L1(e){return[{value:di,label:i("No style"),description:i("Section\u2019s own")},...e.map(o=>({value:o.id,label:o.name,description:o.values.font?mn(o.values.font)?.label:void 0}))]}var di="";function iZ({face:e,base:o,onPick:t}){let a=e.kind==="role"?e.role:di,r=[{label:i("No style"),value:di},...xS.map(n=>({label:i(Kp[n]),value:n}))];return X(UJ,{ariaLabel:i("Style"),value:a,options:r,inline:!0,onChange:n=>t(n===di?null:n),renderOption:n=>n.value===di?Qo(fi,{children:[X("span",{className:"es-fsel-label sf-part-style-keep",children:n.label}),X("span",{className:"sf-part-style-aside","aria-hidden":"true",children:i("Section\u2019s own")})]}):X("span",{className:"es-fsel-label",style:{fontFamily:`var(--font-role-${n.value})`},children:n.label}),renderValue:()=>X("span",{style:{fontFamily:o?.fontKey?`var(${mn(o.fontKey)?.cssVar})`:void 0,fontWeight:o?.weight},children:cb(R1(e))}),valueText:n=>cb(R1(e))??n?.label??""})}var H1=["regionNote","regionStyle"],cZ=Object.keys(sb).filter(e=>!H1.includes(e));function W1(e,o){return!e.some(o)}function dZ({sectionName:e,onBack:o,textEditor:t,styleRow:a,children:r,tabs:n}){let s=Qo(fi,{children:[t,a,r]});return Qo("div",{className:"sf-part-panel",children:[X(bu,{inline:!0,name:i(e),onSelect:o}),n?n(s):s]})}function yu({source:e,slug:o,menuId:t}){let a=rZ(),r=C1[e],n=!r.needsSlug||!!o;return X("div",{className:"sf-note sf-note--source",children:Qo(M1,{children:[i(S1[e]),n?Qo(fi,{children:[" ",X(JJ,{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(w1)})]}):null]})})}var F1=4,fZ=120;function B1(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 D1({region:e,sizePx:o,face:t,base:a,onFollowStyle:r,source:n,slug:s,onBack:l,shows:c,sizedStyle:d,ownLook:f}){let m=e.follows;return Qo("div",{className:"sf-note",children:[X("p",{children:X("strong",{children:i(e.label)})}),c("regionNote")&&!f&&X("p",{children:o?i("Its size follows Styles \u25B8 {follows} \u2014 {px}px right now.",{follows:i(m),px:Math.round(o)}):i("Its size follows Styles \u25B8 {follows}.",{follows:i(m)})}),d?Qo(fi,{children:[d,c("regionStyle")&&X("p",{className:"es-field-hint",children:B1(e)})]}):r?c("regionStyle")?X(fi,{children:X(VJ,{label:i("Style"),icon:X(qJ,{}),hint:B1(e),children:X(iZ,{face:t,base:a,onPick:r})})}):null:c("regionNote")&&X("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")?X(yu,{source:n,slug:s}):null,W1([...H1,"sourceNote",...d?["fontSize"]:[]],u=>c(u)&&(u!=="sourceNote"||!!n))&&X(jr,{}),X(bu,{inline:!0,name:i("Page"),onSelect:l})]})}function uZ({onBack:e}){return Qo("div",{className:"sf-note",children:[X("p",{children:X("strong",{children:i("This part is no longer here.")})}),X("p",{children:i("The section it belonged to has been changed or removed.")}),X(bu,{inline:!0,name:i("Page"),onSelect:e})]})}function pZ({onBack:e,partId:o,why:t}){return Qo("div",{className:"sf-note",children:[X("p",{children:X("strong",{children:i("This part's settings did not open.")})}),X("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.")}),X("p",{className:"sf-note-detail",children:Qo("code",{children:[o," \u2014 ",t]})}),X(bu,{inline:!0,name:i("Page"),onSelect:e})]})}function $1({nodeId:e,propKey:o,onBack:t,onEditStyle:a}){let{getItemById:r,getSelectorForId:n,config:s}=XJ(G=>G),l=aZ(),c=_0(),{partStyle:d}=I1(),{fonts:f,textStyles:m}=he(),u=zJ(eZ),x=!u?.capabilities?.hasSiteTheme,{persist:I}=Ln({themeFromDocument:x,tokenRef:u?.tokenRef,siteId:u?.siteId??null}),g=Bf({themeFromDocument:x,persist:I}),[k,C]=O1(!1),w=oZ(),b=G=>(Iu(w)!=="tablet"||c1(G))&&KJ(sb[G],w),v=GJ(null),P=r(e),F=n(e),T=P?s.components[P.type]:void 0,{key:D,row:O}=Ct(o),R=T?.fields?.[D],N=O?Vn(R,O):R,y=ef(e,o),_=P?.props??{},L=Un(N),M=Wd(N),Y=eI(N),V=P?ii(P.type):null,U=P?v1(P.type,D):null,xe=O?_l(_[D],O):_[D],te=!!O&&!(Array.isArray(_[D])&&O.index<_[D].length);ib(()=>{O0(document)||v.current?.querySelector(".es-copy [contenteditable='true'], .es-copy textarea, .sf-copybox textarea, .sf-copybox input")?.focus()},[y]);let[Re,We]=O1(0);ib(()=>We(0),[y]);let Pe=!!P&&!te&&(!F||!N);ib(()=>{if(!Pe||Re>=F1)return;let G=setTimeout(()=>We(Ve=>Ve+1),fZ);return()=>clearTimeout(G)},[Pe,Re]);let Ie=Pe&&Re<F1,Ee=ms(e,li(P?.type,o),"textPart");if(!P||te)return X(uZ,{onBack:t});let $e=xu(P.type),Qe=$e?Bl($e,o):null;if($e&&Qe){let G=d?.partId===y?d:null,Ve=$e[Qe],ct=Ve.writable===!0&&!!F,Sa=rr=>{F&&l.replaceComponent(F.zone,F.index,{...P,props:fa(_,o,"role",rr)})};if(ct&&mE(Ve)){let rr=Ml(_,o),hS=nr=>{if(!F)return;let jp=_;for(let[tM,aM]of Object.entries(nr))jp=fa(jp,o,tM,aM??null);l.replaceComponent(F.zone,F.index,{...P,props:jp})},Q2=ua(g.saved,g.old),eM=DI(rr)??"",oM=uu(rr,G?.base??N1,hS,Iu(w)).filter(nr=>nr.key==="fontSize"&&b(nr.key));return X(Tt,{motion:Ee,body:X(D1,{region:Ve,sizePx:G?.base.sizePx??null,face:gu(_,o,G,f),base:G?.base??null,source:V,slug:hs(_),onBack:t,shows:b,ownLook:OE(rr),sizedStyle:X(_1,{style:b("style")?{value:eM,options:L1(Q2),onChange:nr=>hS(nr?{textStyle:nr}:{textStyle:null,role:null}),onEditStyles:a}:void 0,cells:oM})})})}return X(Tt,{motion:Ee,body:X(D1,{region:Ve,sizePx:G?.base.sizePx??null,face:gu(_,o,G,f),base:G?.base??null,onFollowStyle:ct?Sa:void 0,source:V,slug:hs(_),onBack:t,shows:b})})}if(!F||!N)return Ie?X("div",{className:"sf-note","aria-busy":"true"}):X(pZ,{onBack:t,partId:y,why:F?"no field":"no selector"});let yo=G=>{l.replaceComponent(F.zone,F.index,{...P,props:G})},me=G=>{if(Ua(G).hidden!==Ua(xe).hidden||!L){let Ve=O?Zx(_,D,O,G):{..._,[D]:G};Ve&&yo(Ve);return}af({node:P,propKey:o,kind:L,zone:F.zone,index:F.index},Ua(G).text,l.replaceComponent)},Ke=xe,Oe=d?.partId===y?d:null,ve=Oe?.styleOwner,qe=ve?r(ve.owner):null,At=ve&&qe?n(ve.owner):null,_o=!!(ve&&qe&&At),H=_o?qe.props??{}:_,Le=_o?G=>l.replaceComponent(At.zone,At.index,{...qe,props:G}):yo,ne=_o?ve.kind:li(P?.type,o),Fe=Ml(H,ne),_e=[{partKey:ne,face:gu(H,ne,Oe,f),sizeGroup:Oe?.sizeGroup??null,base:Oe?.base??N1,style:Fe}],lt=lZ(_e,G=>G.sizeGroup),Rt=_n(Oe?.inks),Ye=(G,Ve)=>{let ct=H;for(let Sa of _e)ct=fa(ct,Sa.partKey,G,Ve);Le(ct)},it=G=>G?Ye("textStyle",G):Lt({textStyle:null,role:null}),Lt=G=>{let Ve=H;for(let ct of _e)for(let[Sa,rr]of Object.entries(G))Ve=fa(Ve,ct.partKey,Sa,rr??null);Le(Ve)},un=L==="text"||L==="textarea",{text:Bs,hidden:Yt}=Ua(xe),tr=N?.[tZ]?.label??o,pn=Yt?i("Show {label} on the slide",{label:i(tr)}):i("Hide {label} on the slide",{label:i(tr)}),uS=Qo("div",{className:"sf-field-head",children:[X(YJ,{}),X("span",{className:"sf-field-label sf-field-label--inline",children:i(tr)}),un&&X(QJ,{content:pn,children:X(ZJ,{"aria-pressed":Yt,"aria-label":pn,onClick:()=>me({text:Bs,hidden:!Yt}),children:Yt?X(A1,{name:"eye-off",size:14}):X(A1,{name:"eye",size:14})})})]}),rc=!M&&Y,K2=!!L&&(MP(N)||M||Yt||!Y),pS=gu(H,ne,Oe,f),V2=pS.kind==="role"?pS.role:null,Up=DI(Fe)??UE(V2),mS=ua(g.saved,g.old),q2=Object.entries(Fe).filter(([G,Ve])=>G!=="role"&&G!=="textStyle"&&Ve!==void 0).length,Y2=()=>{let G=H;for(let Ve of _e){let{role:ct,textStyle:Sa}=Ve.style;G=vE(G,Ve.partKey),ct&&(G=fa(G,Ve.partKey,"role",ct)),Sa&&(G=fa(G,Ve.partKey,"textStyle",Sa))}Le(G)},ar=Up,X2=jE(_e[0].style),J2=ar?mS.find(G=>G.id===ar)?.name??ar:"",Z2=()=>{C(!1),ar&&(g.write(KE({saved:g.saved,old:g.old,styleId:ar,values:QI(_e[0].style)}),!0),Y2())};return Qo(dZ,{sectionName:T?.label??P.type,onBack:t,tabs:G=>X(Tt,{motion:Ee,body:G}),textEditor:b("words")?X("div",{ref:v,className:"sf-part-text",children:K2?X(p1,{text:Bs,onTextChange:G=>me(un?{text:G,hidden:Yt}:G),multiline:Xd(L),markup:L!=="plainText",styled:!1,style:_e[0].style,base:_e[0].base,setValue:Lt,colors:Rt,placeholder:cb(l0(N))??void 0,ariaLabel:i(tr),head:uS,typedOnCanvas:c===y}):L?un?uS:null:X(jJ,{field:N,name:o,value:Ke,onChange:me,id:`sf-part-${e}-${o}`})}):void 0,children:[U&&b("sourceNote")&&X(yu,{source:U,slug:hs(_),menuId:mu(_)}),rc&&X(_1,{style:b("style")?{value:Up??"",options:L1(mS),onChange:G=>it(G||null),changed:q2>0,onEditStyles:a,onUpdateStyle:ar&&X2?()=>C(!0):void 0}:void 0,font:b("font")?{value:Fe.font??"",styleValue:mn(_e[0].base.fontKey)?.label,options:dt.map(G=>({label:G.label,value:G.key})),onChange:G=>Ye("font",G||null)}:void 0,italic:b("italic")?{value:Fe.italic,styleValue:xZ(m,Up),onChange:G=>Ye("italic",G??null)}:void 0,cells:uu(_e[0].style,_e[0].base,Lt,Iu(w)).filter(G=>b(G.key)),align:b("align")?hZ(Fe,_e[0].base.align,Iu(w),Ye):void 0,letterCase:b("letterCase")?{value:Fe.case??"",styleValue:_e[0].base.case,onChange:G=>Ye("case",G||null)}:void 0}),k&&ar&&X(h1,{styleName:J2,onCancel:()=>C(!1),onConfirm:Z2}),rc&&lt===null&&b("fixedSizeHint")&&X(M1,{children:i("Fixed size \u2014 the site\u2019s Text setting doesn\u2019t resize this.")}),W1(cZ,G=>b(G)&&(G==="words"||(G==="sourceNote"?!!U:G==="fixedSizeHint"?rc&&lt===null:rc)))&&X(jr,{})]})}var mZ={desktop:"align",tablet:"alignTablet",mobile:"alignPhone"};function hZ(e,o,t,a){let r=mZ[t],n=TE(e,t);return{value:e[r]??"",styleValue:n??o,onChange:s=>a(r,s||null)}}function xZ(e,o){return!o||!Array.isArray(e)?!1:e.find(t=>t?.id===o)?.values?.italic===!0}var N1={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0};import{jsx as Pt,jsxs as gb,Fragment as vZ}from"react/jsx-runtime";import{useCallback as kZ,useRef as TZ,useState as mi}from"react";import{InspectorIconButton as PZ}from"efficient-easel/chrome";import{useEasel as EZ}from"efficient-easel/easel";import{PopupMenu as OZ,PopupMenuItem as _Z,PopupMenuLabel as Eu}from"efficient-shell/ui";import{CopyToPageIcon as AZ}from"efficient-easel/icons";import{useEaselSession as RZ}from"efficient-easel/screen/lib/session-context";import{cloneNodeWithFreshIds as LZ}from"efficient-easel/screen/lib/document/section-doc";import{FOOTER_TYPE as FZ}from"efficient-easel/draw";import{currentEaselSession as IZ}from"efficient-easel/screen/lib/session";var gZ={general:!0,commerce:!0,service:!0};function db(e){let o=e?.sets;return o?Object.fromEntries(sw.map(t=>[t,o.includes(t)])):gZ}function fb(e=IZ()){return db(e.blocks)}import{isBackendError as xs}from"efficient-easel/screen/lib/backend-error";import{isEfficientBackend as Z1}from"efficient-easel/screen/lib/session";var Su=Oc(),ub=Su.set;function wu(e,o){ub(e,o)}function Cu(e,o){let t=Su.get(e);ub(e,o??(t==="live"?"changed":t))}function vu(e,o){ub(e,o??"live")}function z1(e){return Su.get(e)}function G1(e){return Su.use(e)}function U1(e,o){return e==="live"&&o?"changed":e}function pb({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 j1(e){return e.map(o=>o.change==="take_down"?i("{name} (taken down)",{name:o.name}):o.name)}var K1="SharedSection",bZ=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,ui=e=>{let o=e?.content;return Array.isArray(o)?o:[]},pi=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0};function V1(e){if(e?.type!==K1)return null;let o=e.props?.section;return typeof o=="string"&&bZ.test(o)?o.toLowerCase():null}function q1(e){let o=[];for(let t of ui(e)){let a=V1(t),r=pi(t);a&&r&&o.push({refId:r,section:a})}return o}function ku(e){let o=ui(e)[0];return o&&typeof o=="object"&&pi(o)?o:null}function yZ(e,o){return{type:K1,props:{id:e,section:o}}}function Y1(e,o){let t=new Map,a=new Set,r=!1,n=ui(e).map(s=>{let l=V1(s),c=pi(s);if(!l||!c||a.has(l))return s;let d=ku(o.get(l)),f=pi(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 X1(e,o,t){let a=new Map,r=!1,n=ui(e).map(s=>{let l=pi(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=ui(d).slice(1),m=ku(d);return a.set(c.section,m===s?d:{...d,content:[s,...f]}),r=!0,c.reference??yZ(c.refId,c.section)});return{page:r?{...e,content:n}:e,docs:a}}var Tu=null;function mb(e){Tu=e}function J1(){return!!(Tu&&Tu.state().lockHolder)}function qr(){return Tu!==null}function Ib(e){return!!(e?.publish&&e.liveState)}function SZ(e,o){if(!Ib(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 wZ(e,o){return async(t,a)=>{try{await Lk()}catch(r){throw new Error(i("A change waiting to go live could not be saved."),{cause:r})}return(await e.publish(o)).state==="live"?ld({state:"live",changes:[]}):ea(0),{version:a??null}}}function xb(e,o,t){let a=o?{siteId:o}:void 0;return{resolve:r=>e.load({slug:r,...a}).then(n=>(n&&(wu(n.id,n.live),$C(n.id,n.videoFrames)),n)),saveLayout:(r,n,s,l)=>e.save(r,{layout:n},{version:s,clientId:l??""}).then(c=>(Cu(r,c.live),zC(r,c.videoFrames),ea(),c)),rereadVersion:e.version?r=>e.version(r):void 0,publish:Ib(t)?wZ(t,a):e.publish?(r,n)=>e.publish(r,n?{version:n}:void 0).then(s=>(vu(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 CZ(e,o,t,a,r=!1){let n=null,s=new Set,l=!1,c=new Map,d=new Map,f=new Map,m=new Map,u={docId:null,lockHolder:null,conflict:null,saveFailed:!1,unpublished:!1,loadFailed:!1,sections:[]},x=new Set,I=()=>{if(!n)return!1;let O=z1(n.id);return O==="changed"||O==="never"||O===void 0&&l},g=O=>{u={...u,...O,docId:n?.id??null,unpublished:I(),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 _=C(R);c.set(O,{layout:_,version:N,savedJson:JSON.stringify(_),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),g({})},place:O=>{if([...d.values()].some(y=>y.section===O.id))return null;let R=ku(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})}g({})}},D=async(O,R)=>{for(let[N,y]of O){let _=c.get(N),L=JSON.stringify(y);if(!(!_||L===_.savedJson||f.get(N)?.problem==="lock"))try{let M=await e.save(N,{layout:y},{version:_.version,clientId:R??""});Cu(N,M.live),_.layout=y,_.version=M.version,_.savedJson=L,k(N,null)}catch(M){xs(M,"changed-elsewhere")?k(N,"conflict"):xs(M,"lock-taken")?k(N,"lock",M.holder??void 0):k(N,"save")}}O.size&&ea(),g({})};return{resolve:async O=>{if(mb(O===yt?null:F),Xm(O===yt?null:T),c=new Map,d=new Map,f=new Map,m=new Map,O===yt)return t.resolve(O);let R=!1,[N,y]=await Promise.all([t.resolve(O),e.load({slug:yt,...o}).catch(()=>(R=!0,null))]);if(y&&!xl(N?.layout)){wu(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 g({conflict:null,saveFailed:!1,loadFailed:R}),N;let _=C(N.layout),L=q1(_),M=await Promise.all(L.map(U=>e.load({id:U.section,...o}).catch(()=>null)));L.forEach((U,xe)=>{let te=M[xe];te?(wu(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 Y=Y1(_,b());if(d=Y.held,!n)return d.size&&s.add(N.id),g({conflict:null,saveFailed:!1,loadFailed:R}),d.size?{...N,layout:Y.working}:N;let V=DC(Y.working,n.layout);return n.savedJson=JSON.stringify(Ym(V,n.layout).chrome),s.add(N.id),g({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 _=n,L=_?Ym(R,_.layout):{page:R,chrome:null},M=X1(L.page,d,b()),Y=await t.saveLayout(O,M.page,N,y);if(await D(M.docs,y),!_)return Y;let V=JSON.stringify(L.chrome);if(!L.chrome||V===_.savedJson||u.lockHolder)return Y;try{let U=await e.save(_.id,{layout:L.chrome},{version:_.version,clientId:y??""});Cu(_.id,U.live),ea(),_.layout=L.chrome,_.version=U.version,_.savedJson=V,l=!0,g({conflict:null,saveFailed:!1})}catch(U){xs(U,"changed-elsewhere")?g({conflict:U.conflict??{savedBy:"",savedByYou:!1,secondsAgo:0}}):xs(U,"lock-taken")?g({lockHolder:U.holder??{name:"",secondsSinceSeen:0,secondsSinceHeld:0}}):g({saveFailed:!0})}return Y},publish:t.publish?async(O,R)=>{let N=await t.publish(O,R),y=n;if(y&&w(O)&&!r&&e.publish&&I()&&!u.lockHolder){let _=await e.publish(y.id,y.version?{version:y.version}:void 0);vu(y.id,_.live),_.version!==null&&(y.version=_.version),l=!1,g({})}if(w(O)&&!r&&e.publish)for(let[_,L]of c){if(f.get(_)?.problem==="lock")continue;let M=await e.publish(_,L.version?{version:L.version}:void 0);vu(_,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 _=n;if(_)try{await a.claim(_.id,R,!1),u.lockHolder&&g({lockHolder:null})}catch(L){xs(L,"lock-taken")&&g({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){xs(M,"lock-taken")&&k(L,"lock",M.holder??void 0)}return c.size&&g({}),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 Pu(e){let o=(t,a,r)=>e.save(t,a.layout?{...a,layout:xC(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 yLe(e,o,t){return e.update(o,IC(t))}function SLe(e,o=Ge(),t=fb(),a={}){let r=Z1(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=Ib(o.site)?o.site:void 0,m=Pu(o.pages),u=xb(m,e,f),x=d?CZ(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,...Q1(u.resolve),lock:o.lock,...x,site:s?()=>o.site.get(n):void 0,siteLiveState:f?()=>f.liveState(n):void 0,siteVersions:SZ(f,n),updateSite:s&&l?I=>l(I,n):void 0,previewHref:o.preview?I=>o.preview.href(I):void 0}}function wLe(e,o=Ge(),t=fb()){let a=Z1(o),r=o.templates,n=r?Pu(r.pages(e)):{list:()=>Promise.reject(new Error(hb)),load:()=>Promise.reject(new Error(hb)),save:()=>Promise.reject(new Error(hb))};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},...xb(n,void 0),...Q1(xb(n,void 0).resolve),publish:void 0,templateName:r?()=>r.get(e).then(s=>s.name):void 0}}function Q1(e){return{resolve:o=>(mb(null),Xm(null),e(o))}}var hb="This editor's backend has no website templates.";function BZ(e,o,t){let a=LZ(e,void 0,o);return t?.(a)??a}function eA({node:e,currentSlug:o,siteId:t,tokenRef:a,runAuthed:r,onNotify:n}){let[s,l]=mi(!1),[c,d]=mi(null),f=RZ(),m=EZ(T=>T.config.components),[u,x]=mi(!1),[I,g]=mi(null),k=TZ(null),[C,w]=mi(null),b=kZ(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(I)return;g(T.slug);let D=BZ(e,m,f.documentHooks?.storedNode),O=await r(()=>DZ(Ge(f).pages,T,D));g(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 gb(vZ,{children:[Pt("span",{"data-menu-toggle":!0,style:{display:"contents"},children:Pt(PZ,{buttonRef:k,label:i("Duplicate to another page"),hasPopup:"menu",expanded:s,onClick:v,children:Pt(AZ,{size:15})})}),s&&C&&Pt(OZ,{portal:!0,style:{top:C.top,right:C.right},onClose:()=>l(!1),children:gb("div",{role:"menu","aria-label":i("Duplicate to page"),children:[Pt(Eu,{children:i("Duplicate to page")}),u?Pt(Eu,{children:i("Couldn\u2019t load pages")}):c===null?Pt(Eu,{children:i("Loading\u2026")}):P.length===0?Pt(Eu,{children:i("No other pages")}):P.map(T=>gb(_Z,{role:"menuitem",disabled:I!==null,onClick:()=>{F(T)},children:[Pt("span",{className:"min-w-0 flex-1 truncate",children:T.label}),I===T.slug?Pt("span",{className:"shrink-0 text-xs",children:i("Copying\u2026")}):T.draft&&Pt("span",{className:"shrink-0 text-xs",children:i("draft")})]},T.id))]})})]})}async function DZ(e,o,t){let a=Pu(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===FZ);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 yQ}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSectionOps as SQ}from"efficient-easel/screen/lib/document/use-section-ops";import{SELECTION_MODE as JFe,isSelectionMode as Cb}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as wQ}from"efficient-easel/draw/client";import{jsx as hi,jsxs as NZ}from"react/jsx-runtime";import{SettingsDrill as MZ}from"efficient-easel/panel";import{UiIcon as HZ}from"efficient-easel/draw/client";var WZ="Not shown on the page";function $Z({part:e,onOpen:o}){return hi(MZ,{name:i(e.label),preview:e.offPage?i(WZ):e.preview||i("Empty"),offPage:e.offPage,status:e.hidden?hi("span",{className:"sf-entry-eye",role:"img","aria-label":i("Hidden on the page"),children:hi(HZ,{name:"eye-off",size:14})}):void 0,onOpen:()=>o(e.key)})}function bb(e){return e.filter(o=>!o.identifier)}function oA({parts:e,onOpen:o,heading:t=!0}){let a=bb(e);return a.length?NZ("div",{className:"sf-entries",children:[t?hi("h3",{className:"sf-entries-head",children:i("Text")}):null,a.map(r=>hi($Z,{part:r,onOpen:o},r.key))]}):null}import{HEADER_TYPE as CQ,ROOT_ZONE as gA}from"efficient-easel/draw";import{HEADER_TYPE as No,FOOTER_TYPE as He,newNodeId as zZ}from"efficient-easel/draw";function Ou(){return{type:No,props:{id:zZ(No)}}}var tA=[{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"}],GZ=tA.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),UZ="FooterGroup",aA="blocks";function rA(e){return e===He?tA:e===UZ?GZ:null}function _u(){let e=(o,t)=>({type:o,props:{id:`${o}-${crypto.randomUUID()}`,...t}});return[e("FooterLogo",{widthPct:100,align:"left",tagline:""}),e("FooterEmailSignup",{...sT}),e("FooterPayment",{...lT})]}function yb(e){switch(e?.type){case Ne:case Ae:return i("On every page");case No:case He:return i("On every page \xB7 old style");default:return null}}var nA=()=>null,sA=()=>i("Changed on every page");function Au(e,o){let t=gv(e,o);if(t)return t;let a=_C(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 Lu,Fragment as tQ,jsxs as aQ}from"react/jsx-runtime";import{useState as rQ}from"react";import{createNode as nQ,newId as sQ}from"efficient-easel/data";import{useEasel as lQ}from"efficient-easel/easel";import{Banner as iQ,Button as Sb}from"efficient-shell/ui";import{useScreenDocument as cQ}from"efficient-easel/screen/components/ScreenDocumentContext";import{isNodeList as jZ}from"efficient-easel/data";import{hiddenKeyOf as KZ}from"efficient-easel/screen/lib/content/view-hide";var Ru="Flex",VZ={FooterMenu:"MenuBlock",FooterEmailSignup:"EmailFormBlock",FooterSocial:"SocialLogosBlock",FooterPayment:"PaymentLogosBlock"},qZ=e=>{let{id:o,...t}=e;return t},lA=e=>typeof e=="string"?e:"",iA={sm:12,md:13,lg:15},YZ="md",cA=1.5,XZ={size:13,lineHeight:cA,width:280},JZ=14,ZZ=40,QZ=e=>e==="center"||e==="right"?e:"left";function eQ(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 oQ(e,o,t){let a=t(e,qZ(o));if(Array.isArray(o.template))return{...a,props:{...a.props,template:dA(o.template,String(a.props.id))}};if(o.template!==void 0)return a;let r=lC(e,a.props);return r===a.props?a:{...a,props:r}}function dA(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))jZ(s)&&(r[n]=dA(s,o,t));return{...a,props:r}})}function fA(e,o){let t=e.props??{},a=VZ[e.type];if(a)return[oQ(a,t,o)];switch(e.type){case"FooterLogo":{let r=QZ(t.align),n=o("LogoBlock",{...t.reverse?{reverse:t.reverse}:{},...typeof t.customColor=="string"&&t.customColor?{customColor:t.customColor}:{},heightPx:Math.round(KS*((j(t.widthPct)??100)/100)),href:"/",align:r,...eQ(t)}),s=lA(t.tagline).trim();return s?[n,o("Text",{text:s,tone:"dim",align:r,_partStyles:{text:{...XZ}}})]:[n]}case"FooterText":{let r=typeof t.size=="string"&&t.size in iA?t.size:YZ;return[o("Text",{text:lA(t.text),tone:typeof t.tone=="string"?t.tone:"default",_partStyles:{text:{size:iA[r],lineHeight:cA}}})]}case"FooterDivider":{let r=j(t.thickness),n=j(t.lengthPct);return[o("Divider",{...r!==void 0?{thickness:r}:{},...n!==void 0?{lengthPct:n}:{},...t.hideOnMobile===!0?{[KZ("mobile")]:!0}:{}})]}case"FooterGroup":{let r=Array.isArray(t.blocks)?t.blocks:[];return[o(Ru,{direction:t.direction==="horizontal"?"row":"column",gap:Or("FooterGroup",t.gap),align:t.align==="center"||t.align==="end"||t.align==="stretch"?t.align:"start",...js,content:r.flatMap(n=>fA(n,o))})]}default:return[]}}function xi(e,o,t){let a=e&&Array.isArray(e.props?.blocks)?e.props.blocks:[],r=d=>o(Ru,{direction:"row",wrap:!0,share:"equal",gap:ZZ,content:d}),n=[],s=[];for(let d of a){let f=fA(d,o);if(d.type==="FooterDivider"){s.length&&n.push(r(s)),s=[],n.push(...f);continue}f.length<=1?s.push(...f):s.push(o(Ru,{direction:"column",gap:JZ,align:"stretch",...js,content:f}))}(s.length||!n.length)&&n.push(r(s));let l=o(Ru,{direction:"column",content:[o("LegalLineBlock")]}),c=PC(Ae,t,[...n,l]);return{...c,props:{...c.props,...e?.props?.width==="full"?{fullWidth:!0}:{}}}}function uA(){let{appState:e,dispatch:o,config:t}=lQ(f=>f),{readOnly:a}=cQ(),[r,n]=rQ(!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)=>nQ(t,f,m),d=()=>{let f=xi(l,c,sQ(Ae));o({type:"setData",data:m=>({...m,content:[..._c(m.content,f)]}),recordHistory:!0}),n(!1)};return Lu(iQ,{tone:"info",title:i("This footer uses the old layout"),action:r?aQ(tQ,{children:[Lu(Sb,{variant:"primary",size:"sm",onClick:d,children:i("Switch now")}),Lu(Sb,{variant:"secondary",size:"sm",onClick:()=>n(!1),children:i("Cancel")})]}):Lu(Sb,{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 wb,jsxs as dQ}from"react/jsx-runtime";import{InspectorUpLevel as pA}from"efficient-easel/chrome";function mA({nodeId:e,part:o,sectionName:t,onUpToSection:a}){let{select:r}=jf(),n=ms(e,o,"picture");return dQ("div",{children:[o!=="media"?wb(pA,{inline:!0,name:i(zr.media),onSelect:()=>r(Xl(e,"media"))}):wb(pA,{inline:!0,name:i(t),onSelect:a}),wb(Tt,{part:o,motion:n,itemWord:i(zr[o])})]})}import{HintsToggle as vQ,SettingsSwitch as kQ,hintsFoldClass as TQ}from"efficient-easel/panel";import{useHints as PQ}from"efficient-easel/screen/lib/hints";var yA={kind:"header"},kb={kind:"website"},SA={kind:"website",tab:ss,revealPageGroup:!0},wA={kind:"chat"},CA={kind:"social"},Ii="Part";function EQ(e){return i("Part of {name}",{name:i(e)})}function OQ(e,o,t){let a=e.describeNode(o);return{name:t,kindLabel:a?EQ(a.label):i(Ii)}}function _Q(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 vA({what:e}){let o=_Q(e);return Ka("div",{className:"sf-note",children:[Se("p",{children:Se("strong",{children:o.title})}),Ka("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 vb(e){let o=Yl[e];return{name:zr[e],kindLabel:Ii,icon:o,head:(t,a)=>{if(t.kind!==o)return null;let r=a.describeNode(t.nodeId);if(!r)return null;let n=bA({name:i(Vf(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(mA,{nodeId:t.nodeId,part:e,sectionName:a.describeNode(t.nodeId)?.label??"Hero",onUpToSection:()=>a.onSelectNode(t.nodeId)}):null}}var AQ={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(Df,{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(o_,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>Se(l_,{unavailable:Se(vA,{what:"Social link"})})},ticker:{name:Kl,kindLabel:Ii,icon:"ticker",head:(e,o)=>e.kind==="ticker"?OQ(o,e.heroId,i(Kl)):null,render:e=>Se(f1,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:vb("media"),heroImage:vb("image"),heroImage2:vb("image2"),part:{name:Ii,kindLabel:Ii,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}=Ct(e.propKey),n=r?Vn(t.fields[a],r):t.fields[a],s=xu(t.type),l=s?Bl(s,e.propKey):null,c=s&&l?s[l].label:y1[e.propKey],d=c?i(c):f0(i(oI(tf(n??{},a))),r),f=bA({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($1,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>o.onSelectNode(e.nodeId),onEditStyle:o.onOpenSiteStyles}):null}},RQ=new Set(["header","website","chat"]);function LQ(e,o){if(e==="selection")return null;let t=AQ[e];return RQ.has(e)&&!o.hasSiteSettings?{...t,kindLabel:"Not part of a template",render:()=>Se(vA,{what:t.name})}:t}function kA({mode:e,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onOpenPageStyles:a,onSelectNode:r,hideNodeActions:n=!1,onNotify:s,onHidePanel:l}){let{capabilities:c,tokenRef:d,notifyParent:f,currentSlug:m,siteId:u,runAuthed:x,readOnly:I,navigate:g}=yQ(),{rows:k}=Gl(),C=k?.find(ne=>ne.slug===m)??null,w=uQ(),b=Object.keys(w.fields).some(ne=>!ne.startsWith("_")&&!$l.includes(ne)),{websiteName:v}=he(),P=SQ({readOnly:I}),{select:F}=wQ(),{selectedItem:T,getItemById:D,getSelectorForId:O,config:R,appState:N}=fQ(ne=>ne),y=gQ(R,T?{type:T.type,props:T.props}:null),_=T?I0(y??R.components[T.type]?.fields,T.props):[],L=ne=>R.components[ne]?.label??ne,M=T?O(T.props.id):void 0,Y=LQ(e.kind,c),V=bQ(),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},xe=Y?.head?.(e,U)??null,te=YO({kind:C?.kind,pageName:C?.label}),Re=xe?.name??(Y?i(Y.name):T?i(L(T.type)):te.name),We=xe?.kindLabel??(Y?i(Y.kindLabel):T?M&&M.zone!==gA?i("Block"):i("Section"):te.kindLabel),Pe=Y?Y.icon:T?T.type:"page",Ie=Y?null:T?R.components[T.type]?.fields??null:R.root?.fields??null,Ee=Ie?L_(Ie):2,$e=Cb(e)&&T?ii(T.type):null,Qe=!!T&&!!M&&M.zone===gA&&T.type!==He&&T.type!==CQ,yo=Au(N?.data,T),me=()=>{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=Cb(e)&&!!T&&!!M&&Oe!==void 0,qe=ve&&T.props.previewHover===!0,At=()=>{!T||!M||P.replaceComponent(M.zone,M.index,{...T,props:{...T.props,previewHover:!qe}})},{shown:_o,setShown:H}=PQ(),Le=!!(Y||T||b);return Ka("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right ${TQ(_o)}`.trim(),children:[Se(hQ,{icon:Se(Gr,{type:Pe,size:15}),name:Re,kind:We,actions:!n&&Cb(e)&&T&&T.type!==He?Ka(hA,{children:[Se(xA,{label:i("Duplicate section"),title:yo??void 0,disabled:yo!==null,onClick:me,children:Se(xQ,{size:15})}),Qe&&c.hasSiteSettings&&Se(eA,{node:T,currentSlug:m,siteId:u??void 0,tokenRef:d,runAuthed:x,onNotify:s}),Se(xA,{label:i("Remove section"),danger:!0,onClick:Ke,children:Se(IQ,{size:15})}),l?Se(IA,{side:"right",onHide:l,divider:!0}):null]}):l?Se(IA,{side:"right",onHide:l}):void 0}),ve&&Ka("div",{className:"sf-preview-pin",children:[Ka("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(kQ,{checked:qe,onChange:At,ariaLabel:i("Preview hover state")})]}),Se(lP,{tier:Ee,children:Ka("div",{className:"sf-insp-body es-insp-body sf-scroll",children:[Y?Y.render(e,U):T?Ka(hA,{children:[T.type===He&&c.hasSiteSettings&&Se(uA,{}),Se(hk,{children:Se(Tt,{entries:Se(oA,{parts:_,heading:!1,onOpen:ne=>F(ef(T.props.id,ne))}),entryCount:bb(_).length,itemWord:Re})}),$e&&Se(yu,{source:$e,slug:hs(T?.props),menuId:mu(T?.props)})]}):b?Se(Tt,{omit:$l}):Se(mQ,{variant:"none",icon:!1,message:i("Select a section or block to edit it."),children:a&&Se(pQ,{variant:"secondary",onClick:a,children:i("This page")})}),Le&&Se(vQ,{shown:_o,onChange:H,label:i("Show hints")})]})})]})}import{jsx as p,jsxs as E,Fragment as _A}from"react/jsx-runtime";var no={dark:"var(--sf-thumb-bar-dark)",soft:"var(--sf-thumb-bar-light)",accent:"var(--sf-thumb-accent)",tint:"var(--sf-thumb-accent-tint)",block:"var(--sf-thumb-block)",line:"var(--sf-thumb-border)",card:"var(--sf-thumb-card)"},Tb="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:no[t],flex:"none",...r}})}var FQ={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 xa({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 Bu({children:e}){return p("span",{style:{fontSize:"4.64cqw",fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:h.muted},children:e})}function TA({over:e,overTone:o,head:t,headSize:a=11.5,cta:r,ctaBg:n,ctaFg:s,tone:l}){return E(_A,{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 Pb({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(xa,{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 ha({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(Bu,{children:e}),o]})}function PA({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 Eb({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 gi({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 Xe({children:e,w:o}){return p("span",{style:{fontSize:"3.98cqw",lineHeight:1.45,color:h.muted,width:o,display:"block"},children:e})}function Fu({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 EA({children:e}){return p("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:h.text,color:h.onInk},children:e})}var BQ={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(xa,{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(Bu,{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(xa,{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(Fu,{label:"Name"}),p(Fu,{label:"Email"})]}),p(Fu,{label:"Message",filled:!0}),p(EA,{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(Eb,{filled:4,size:14}),p(Fu,{label:"Your review",filled:!0}),p(EA,{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(xa,{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(Xe,{children:"Every failure starts in the same place:"}),p(Xe,{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(Xe,{w:"100%",children:"A wider wheel adds grip only if the offset still"}),p(Xe,{w:"88%",children:"clears the arch, so the offset is chosen first."}),p(Xe,{w:"80%",children:"Width follows from the space left."})]}),series:p(Te,{title:"Recurring columns",children:p("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[["Shed Notes","Monthly"],["Track Tested","Fortnightly"],["Reader Rigs","Weekly"]].map(([e,o])=>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(Xe,{children:o})]},e))}),docmetacards:p(Te,{title:"At a glance",children:p("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gap:5,minHeight:0},children:[["30 days","To return"],["5 years","Structural"],["Free","Fitting"],["48 hrs","Dispatch"]].map(([e,o])=>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(Xe,{children:"Unfitted wheels come back within 30 days, no questions."}),p(Xe,{w:"58%",children:"Freight on a change of mind is yours."})]})]}),paragraphs: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(Xe,{children:"Forged, correctly offset, rated for what you actually"}),p(Xe,{children:"carry. Everything else is a photograph."})]})]}),keyfeatures:p(Te,{title:"Key features",children:p("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:["Flow-formed barrel","1250 kg per corner","Hub-centric fit"].map(e=>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(gi,{n:"27k",label:"Rigs"}),p(gi,{n:"4.9",label:"Rating"})]}),E("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[p(Xe,{children:"Twelve years of fitting the same three questions, and the"}),p(Xe,{children:"answer has not moved: load rating, offset, then looks."})]})]}),chart: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(Xe,{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(xa,{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(Xe,{children:"One shed, one lathe, one idea."}),p(Xe,{w:"66%",children:"It turned out to be right."})]})]}),gallerygrid:p(Te,{title:"From our customers",children:p("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gridTemplateRows:"repeat(2,1fr)",gap:4,minHeight:0},children:[[h.rust,h.warm],[h.inkSoft,h.ink],[h.paper2,h.mark2],[h.ink,h.inkSoft2],[h.warm,h.paper2],[h.mark2,h.inkSoft]].map(([e,o],t)=>p("div",{style:{borderRadius:3,...De(e,o,140+t*22)}},t))})}),gallery: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(xa,{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(ha,{k:"Subtotal",v:"$1,956"}),p(ha,{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(Bu,{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(gi,{n:"27k",label:"Rigs fitted",tone:h.onInk}),p(gi,{n:"12",label:"Years",tone:h.onInk}),p(gi,{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(Eb,{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(PA,{}),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(PA,{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(Eb,{filled:o})]}),p(Xe,{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(Xe,{children:"he number on the back of your wheel decides whether the"}),p(Xe,{w:"76%",children:"tyre sits under the guard or an inch outside it."})]})]})]}),cards:p(Te,{title:"What you get",children:p("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Fitted free","In store, same day."],["5 yr cover","Structural, no fine print."],["Swap it","30 days, any reason."]].map(([e,o])=>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(Xe,{children:o})]},e))})}),faq:p(Te,{title:"Questions",children:p("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[["Will these fit my Hilux?",!0],["Do you fit them for me?",!1],["What if I pick wrong?",!1]].map(([e,o])=>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(Xe,{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(TA,{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(xa,{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(TA,{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(xa,{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(Pb,{name:"Ridge 19",price:"$365"}),p(Pb,{name:"Ridge 29",price:"$410"}),p(Pb,{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(xa,{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(ha,{k:"Diameter",v:'20"'}),p(ha,{k:"Width",v:"9.0J"}),p(ha,{k:"Offset",v:"+12"}),p(ha,{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(ha,{k:"Hilux N80",v:"20\xD79 +12",ok:!0}),p(ha,{k:"Ranger PX3",v:"20\xD79 +12",ok:!0}),p(ha,{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(Bu,{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))})},OA={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:no.line,marginBottom:10}}),E("div",{style:{flex:1,display:"flex",gap:10,border:`1px solid ${no.line}`,borderRadius:7,padding:10},children:[E("div",{style:{flex:1.1,display:"flex",flexDirection:"column",justifyContent:"center",gap:5},children:[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 ${no.line}`,background:no.block}}),p(z,{w:34,h:13,r:5,tone:"accent"})]})]}),E("div",{style:{flex:1,background:no.block,borderRadius:6,padding:8,display:"flex",flexDirection:"column",gap:6},children:[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 ${no.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:Tb}}),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(_A,{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:no.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:no.block}},o))}),blanksection:p("div",{style:{...K,padding:14,display:"flex"},children:E("div",{style:{flex:1,border:`1px dashed ${no.line}`,borderRadius:7,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:[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:Tb},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:Tb}}),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 ${no.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 ${no.line}`,display:"flex",alignItems:"center",gap:7,padding:"0 9px"},children:[p("div",{style:{width:9,height:9,borderRadius:5,border:`2px solid ${no.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 ${no.dark}`}}),p("div",{style:{padding:"2px 6px",borderRadius:6,border:`1.5px solid ${no.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 ${no.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 ${no.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:no.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:no.block}})};function AA({type:e}){let o=FQ[e]??"",t=BQ[o]??OA[o]??OA.fallback;return p("div",{className:"sf-thumb","aria-hidden":"true",style:{position:"absolute",inset:0,background:"var(--sf-thumb-thumb-bg)",pointerEvents:"none",containerType:"inline-size"},children:t})}import{useScreenDocument as Gp}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as Is,jsxs as RA}from"react/jsx-runtime";import DQ from"efficient-easel/screen/components/SidePanelHead";import{StylesIcon as NQ}from"efficient-easel/rail";import{Tooltip as MQ}from"efficient-shell/ui";import{HintsToggle as HQ,hintsFoldClass as WQ}from"efficient-easel/panel";import{useHints as $Q}from"efficient-easel/screen/lib/hints";function LA({tokenRef:e,siteId:o,onClose:t,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}){let c=ls(),{shown:d,setShown:f}=$Q();return RA("div",{className:`sf-styles ${WQ(d)}`.trim(),children:[Is(DQ,{icon:Is(NQ,{}),title:i("Styles"),context:Is(MQ,{content:i("{name} \u2014 renamed in the Console: {place}.",{name:c,place:i("Storefront \u25B8 Sites \u25B8 Settings")}),className:"sf-name-tip",children:Is("span",{className:"sf-name-text",children:c})})}),RA("div",{className:"sf-insp-body es-insp-body sf-scroll",children:[Is(Df,{tokenRef:e,siteId:o,onNotify:a,tab:r,onTabChange:n,revealPageGroup:s,onPageGroupRevealed:l}),Is(HQ,{shown:d,onChange:f,label:i("Show hints")})]})]})}import{jsx as fo,jsxs as Xr,Fragment as qQ}from"react/jsx-runtime";import{Fragment as VA,useEffect as qA,useRef as Fb}from"react";import{useTreeDrag as YA}from"efficient-easel/drag";import{GlobeIcon as YQ,ImageIcon as XQ,LocationIcon as JQ,MapIcon as ZQ,TextLinesIcon as QQ,TrashIcon as XA}from"efficient-easel/icons";import{Subtree as JA,TreeRow as Si,TreeRowAction as ZA,TreeSeam as QA}from"efficient-easel/tree";import{useEaselStrings as eee}from"efficient-easel/strings";import{createPreviewSelectionContext as zQ}from"efficient-easel/draw/client";var{Provider:OBe,useSelection:FA}=zQ("selectedLocationPartId");function BA(e,o,t){return`${e}::${o}::${t}`}function DA(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 oee}from"efficient-easel/screen/lib/screen-parts";import{useSyncExternalStore as GQ}from"react";var UQ={level:"groups"},MA=UQ,Ob=new Set;function Et(e){MA=e;for(let o of Ob)o()}function jQ(e){return Ob.add(e),()=>{Ob.delete(e)}}var NA=()=>MA;function HA(){return GQ(jQ,NA,NA)}function Du(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 LBe(e){return KQ[bi(e)]}var KQ={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4"};function bi(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 yi=e=>String(e?.group??""),_b=new WeakMap,VQ=0;function Nu(e){let o=_b.get(e);return o||(o=`loc${++VQ}`,_b.set(e,o)),o}var WA=(e,o)=>o||e||"Ungrouped",$A={photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
71
+ Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""};function Yr(e){return Du(e,yi,o=>String(o?.groupName??"")).map(o=>({key:o.key,name:o.name,cards:o.items.map(t=>t.item)}))}var Ab=e=>e.flatMap(o=>o.cards),zA=(e,o,t)=>Math.min(Math.max(e,o),t);function Mu(e,o,t){let a=0;for(let r=0;r<e.length;r++)if(yi(e[r])===o){if(a===t)return r;a++}return-1}function Rb(e,o,t){let a=Yr(e);if(o<0||o>=a.length)return e;let[r]=a.splice(o,1),n=zA(o<t?t-1:t,0,a.length);return a.splice(n,0,r),Ab(a)}function Lb(e,o,t,a,r){let n=Yr(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&&_b.set(d,Nu(c));let f=zA(s===l&&t<r?r-1:r,0,l.cards.length);return l.cards.splice(f,0,d),Ab(n)}function GA(e,o){let t=Yr(e),a=t.find(n=>n.key===o),r={...$A,group:o,groupName:a?.name??""};return a?(a.cards.push(r),Ab(t)):[...e,r]}function UA(e){let o=new Set(Yr(e).map(r=>r.key)),t=o.size+1,a=`Group ${t}`;for(;o.has(a);)a=`Group ${++t}`;return{cards:[...e,{...$A,group:a,groupName:""}],key:a}}function jA(e,o){return e.filter(t=>yi(t)!==o)}function KA(e,o,t){let a=Mu(e,o,t);return a<0?e:e.filter((r,n)=>n!==a)}function DBe(e,o,t){let a=e.flatMap((s,l)=>yi(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 NBe(e,o,t){return o.flatMap(a=>{let r=e.filter(n=>yi(n)===a);return r.length?r:t(a)})}var Wu="ContactLocations",Hu=e=>({parentId:`locations-${e}`,slot:"groups"}),Bb=(e,o)=>({parentId:`locations-${e}`,slot:`cities:${o}`});function eR(e,o){let{readOnly:t,selected:a}=o,r=eee().tree,n=o.data?.content??[],s=oee(e),l=Fb(null);qA(()=>{let b=a?.type===Wu?String(a.props.id):null;b&&b!==l.current&&Et({level:"groups"}),l.current=b},[a?.props.id]);let{selectedLocationPartId:c,setSelectedLocationPartId:d,setSelectHandler:f}=FA(),m=HA(),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:[]},I=YA({keyOf:b=>`group:${b.si}:${b.index}`,readOnly:!!t,canDrop:(b,v)=>v.parentId===Hu(b.si).parentId&&v.slot==="groups",onDrop:(b,v)=>{u(b.si,Rb(x(b.si),b.index,v.index)),m.level==="city"&&Et({level:"groups"})},onStep:(b,v)=>{u(b.si,Rb(x(b.si),b.index,v<0?b.index-1:b.index+2)),m.level==="city"&&Et({level:"groups"})}}),g=YA({keyOf:b=>`city:${b.si}:${b.group}:${b.index}`,readOnly:!!t,canDrop:(b,v)=>v.parentId===Hu(b.si).parentId&&v.slot.startsWith("cities:"),onDrop:(b,v)=>{let P=v.slot.slice(7);u(b.si,Lb(x(b.si),b.group,b.index,P,v.index)),Et({level:"group",key:P})},onStep:(b,v)=>{u(b.si,Lb(x(b.si),b.group,b.index,b.group,v<0?b.index-1:b.index+2)),m.level==="city"&&Et({level:"group",key:b.group})}}),k=Fb(n);k.current=n;let C=Fb(()=>{});qA(()=>{f(b=>{let v=DA(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),Et(v),e.reveal();let P=n[b]?.props?.id;typeof P=="string"&&(v.level==="city"||v.level==="image"||v.level==="map")?d(BA(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=Yr(D),R=String(b.props.id),N=s&&a?.props.id===R,y=L=>fo(QA,{...t?{}:I.seam({place:{...Hu(v),index:L}})},`seam:${R}:groups:${L}`),_=(L,M)=>fo(QA,{...t?{}:g.seam({place:{...Bb(v,L),index:M}})},`seam:${R}:cities:${L}:${M}`);return Xr(qQ,{children:[fo(Si,{icon:fo(QQ,{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 Y=`${R}::grp::${L.key}`,V=F(Y),U=N&&m.level==="group"&&m.key===L.key,xe=L.name||L.key?WA(L.key,L.name):i("Ungrouped"),te={...Bb(v,L.key),index:L.cards.length},Re=g.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=I.row({item:{si:v,index:M},place:{...Hu(v),index:M}},Re.rowProps);return Xr(VA,{children:[M===0&&y(0),fo(Si,{icon:fo(YQ,{size:13}),name:xe,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(Y)},actions:fo(ZA,{kind:"delete",label:vo("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",L.cards.length,{label:xe}),onClick:()=>{u(v,jA(D,L.key)),Et({level:"groups"})},children:fo(XA,{size:15})}),rowProps:We.rowProps,count:L.cards.length,countLabel:vo("{n} city","{n} cities",L.cards.length)}),!V&&Xr(JA,{children:[L.cards.map((Pe,Ie)=>{let Ee=Mu(D,L.key,Ie),$e=N&&m.level==="city"&&m.index===Ee,Qe=String(Pe?.name??"")||i("City"),yo=`${R}::city::${Nu(Pe)}`,me=F(yo),{rowProps:Ke,...Oe}=g.row({item:{si:v,group:L.key,index:Ie},place:{...Bb(v,L.key),index:Ie}},{onClick:P(()=>w(v,{level:"city",index:Ee}))});return Xr(VA,{children:[Ie===0&&_(L.key,0),fo(Si,{icon:fo(JQ,{size:13}),name:Qe,words:r,onSelect:()=>w(v,{level:"city",index:Ee}),selected:$e,...Oe,fold:{open:!me,label:Qe,onToggle:()=>T(yo)},actions:fo(ZA,{kind:"delete",label:i("Delete {name}",{name:Qe}),onClick:()=>{u(v,KA(D,L.key,Ie)),Et({level:"group",key:L.key})},children:fo(XA,{size:15})}),rowProps:Ke}),!me&&Xr(JA,{children:[fo(Si,{icon:fo(XQ,{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(Si,{icon:fo(ZQ,{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}))}})]}),_(L.key,Ie+1)]},Nu(Pe))}),Xr("button",{type:"button",className:"sf-add-card",onClick:()=>{let Pe=GA(D,L.key);u(v,Pe);let Ie=Yr(Pe).find(Ee=>Ee.key===L.key);Et(Ie&&Ie.cards.length?{level:"city",index:Mu(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)]},Y)}),Xr("button",{type:"button",className:"sf-add-card",onClick:()=>{let{cards:L,key:M}=UA(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===Wu&&Et({level:"groups"})}}}import{useEffect as pee,useRef as mee}from"react";import{createNode as Mb,newId as Hb}from"efficient-easel/data";import{useEaselApi as hee}from"efficient-easel/easel";import{useScreenDocument as xee}from"efficient-easel/screen/components/ScreenDocumentContext";import{useEaselSession as Iee}from"efficient-easel/screen/lib/session-context";import{useEffect as iR,useRef as dee}from"react";import{useEasel as fee}from"efficient-easel/easel";import{ROOT_ZONE as Nb}from"efficient-easel/draw";import{readHidable as tee}from"efficient-easel/draw";var jt=q,Kt=fe;function Va(e){if(e.theme)return eo(e.theme);let o=e.site?.themePresets;return o?eo({selected:e.site?.selectedPreset??0,themes:[...o]}):void 0}function aee(e,o){return o===0?`${e}~box`:`${e}~box-${o+1}`}var tR=new Set(["id"]),Jr={},aR=[],wi=["Breadcrumb","DocBody","Form","SubmitBuild","Footprint","FAQ","ProductGrid","Stats","Logos","PaymentBadges","FitmentFinder","DocMasthead","Timeline","TimelineTrack","OrderSummary","Chart","Mockup","Countdown","FeaturedCover","Cards"];function Io(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 gs(e){return Jr[e]}function ree(e){return e in Jr&&aR.includes(e)}function rR(e,o=wi){return e in Jr&&(o.includes(e)||ree(e))}function sDe(e){let o=To[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 Db=e=>tee(e),Je=e=>Db(e).text.trim()!=="";function nee(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 see=e=>e==="heading"?Oa():e==="eyebrow"?mt():{};function lee(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 iee(e,o){if(e===void 0)return{};if(typeof e=="string")return{variant:e};let t=o[e.key];return{variant:typeof t=="string"&&Object.hasOwn(e.map,t)?e.map[t]:e.fallback}}function oR(e,o,t,a,r={}){let n={...o};for(let s of e){let[l,c,d]=typeof s=="string"?[s,s,void 0]:s;if(t[l]===void 0)continue;let 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 cee(e){let o=new Set([...tR,"headPlacement","_partStyles",...Object.keys(e.drop??{}),...Object.keys(e.reads??{})]),t=r=>{for(let n of r??[])o.add(typeof n=="string"?n:n[0])},a=r=>{for(let n of r)switch(n.kind){case"text":case"image":o.add(n.key),n.kind==="image"&&n.alt&&o.add(n.alt);break;case"button":o.add(n.key),o.add(n.href),typeof n.variant=="object"&&o.add(n.variant.key);break;case"list":o.add(n.key);break;case"group":case"block":t(n.box),a(n.parts??[]);break;case"core":if(n.keep!=="rest"&&n.keep.forEach(s=>o.add(s)),Object.keys(n.rename??{}).forEach(s=>o.add(s)),n.derive?.reads.forEach(s=>o.add(s)),typeof n.slots!="function")for(let s of Object.values(n.slots??{}))for(let l of s)"kind"in l&&o.add(l.key);break}};for(let r of[e,...e.also??[]])t(r.box),a(r.parts);return o}function $u(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=cee(o),x=0,I=(P,F)=>({type:P,props:{...F,id:`${n}~${P}-${++x}`}}),g=(P,F,T,D,O,R,N)=>{if(O){for(let _ of P??[]){let L=typeof _=="string"?_:_[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 oR(P??[],y,T,(_,L,M)=>N(_,M?`nothing \u2014 the old value draws nothing (${D}: no ${L})`:`${R}${D}: ${L}`),t)},k=P=>ko(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,Y)=>{let V=M??{},U=P.item?.(V,Y,a)??{},xe=w(U.reverse?[...P.parts].reverse():P.parts,V,!1,`item ${Y+1}: `);return P.flat?U.props?xe.map(te=>({...te,props:{...te.props,...U.props,id:te.props.id}})):xe:[I(jt,{name:`${P.name} ${Y+1}`,...O,...U.props??{},[Kt]:xe})]});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"),Du(D.map(Y=>Y??{}),M.of,M.of).map((Y,V)=>{let U=Y.items.map(Ie=>Ie.item),xe=M.parts?w(M.parts,M.head?.(U,a)??{},!1,`group ${V+1}: `):[],te=Y.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 I(jt,{name:`${M.name} ${V+1}`,...M.props??{},[Kt]:[...xe,I(jt,{name:`${M.itemsName} ${V+1}`,...M.itemsProps?.(U.length,a)??{},[Kt]:Pe.length?Pe.map((Ie,Ee)=>I(jt,{name:`${M.rowName??`${M.itemsName} row`} ${Ee+1}`,...M.rowProps??{},[Kt]: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 _=typeof P.rowProps=="function"?P.rowProps(a,t):P.rowProps??{},L=[];for(let M=0;M*y<R.length;M++){let Y=R.slice(M*y,(M+1)*y).flat(),V=P.rowFiller?y-R.slice(M*y,(M+1)*y).length:0;L.push(I(jt,{name:`${P.rowName??`${P.name} row`} ${M+1}`,..._,[Kt]:[...Y,...Array.from({length:V},(U,xe)=>I(jt,{name:`Empty ${xe+1}`,...P.rowFiller,[Kt]:[]}))]}))}return L},w=(P,F,T,D)=>{let O=[],R=(y,_)=>T?f(y,_):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 _=Db(F[y.key]);if(!_.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=see(y.role??"body"),{_partStyles:M,...Y}=L,V=lee(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(I("Text",{text:y.mark==="accentLead"?nee(_.text):y.mark==="accentItalic"?fr(_.text):_.text,...Y,...y.props??{},...V,..._.hidden?{_hidden:!0}:{}})),R(y.key,`${D}Text block: its words${_.hidden?", hidden":""}`);break}case"button":{let _=Db(F[y.key]);if(!_.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(I("ButtonBlock",{label:_.text,href:L,...typeof y.props=="function"?y.props(F,t):y.props??{},...iee(y.variant,F),...Object.keys(M).length?{_partStyles:{label:M}}:{},..._.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 _=F[y.key];if(typeof _!="string"||!_){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(I("ImageBlock",{src:_,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 _=w(y.parts,F,T,D),L=g(y.box,y.props,F,`${y.name} Box`,!_.length&&!y.keepEmpty,D,R);L&&O.push(I(jt,{name:y.name,...L,[Kt]:_}));break}case"block":{let _=y.parts?w(y.parts,F,T,D):[],L=g(y.box,y.props,F,`${y.type} block`,!!y.parts&&!_.length&&!y.keepEmpty,D,R);L&&O.push(I(y.type,{...L,...y.slot?{[y.slot]:_}:{}}));break}case"core":{let _=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 ${_} 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 ${_} block inside the Box has the row's own value`);F.headPlacement!==void 0&&R("headPlacement",`the ${_} block inside the Box: own-box`);let V=Object.fromEntries(Object.entries(m).filter(([U])=>!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 ${_} 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 ${_} block inside the Box`)}let Y=typeof y.slots=="function"?y.slots(F,t):y.slots??{};for(let[V,U]of Object.entries(Y))L[V]=U.flatMap(xe=>"kind"in xe?C(xe,F,R):k([xe]));O.push(I(_,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=oR(P.box??[],O,a,(N,y,_)=>f(N,_?`nothing \u2014 the old value draws nothing (${T}: no ${y})`:`${T}: ${y}`),t);return{type:jt,props:{name:P.name,...R,[Kt]:D,id:aee(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))tR.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 nR(e,o=aR,t={}){if(!Array.isArray(e))return[];let a=[];return e.forEach((r,n)=>{let s=r&&typeof r.type=="string"&&o.includes(r.type)?Jr[r.type]:void 0;if(!s)return;let l=$u(r,s,t);l.skipped===void 0&&a.push({index:n,node:l.node,nodes:l.nodes})}),a}var Ci={};function sR(e){return Ci=e?.theme?{theme:e.theme}:{},Ci}function lR(e){Ci===e&&(Ci={})}function zu(){return Ci}function dR(e){let o=fee(s=>s.appState.data.content),{theme:t,themeRow:a,themeFromDocument:r}=he(),n=dee(new Set);iR(()=>{let s=cR({theme:t,themeRow:a,themeFromDocument:r});s&&uee(nR(o,void 0,s),e,n.current)},[o,e,t,a,r]),iR(()=>{let s=sR(cR({theme:t,themeRow:a,themeFromDocument:r}));return()=>lR(s)},[t,a,r])}function cR(e){return e.themeFromDocument||e.themeRow==="none"?{}:e.themeRow==="read"?{theme:e.theme}:null}function uee(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(Nb,a,r[0]),r.slice(1).forEach((s,l)=>{o.insertNode(Nb,a+1+l,s),o.replaceComponent(Nb,a+1+l,s)}))}}import{ROOT_ZONE as bs,missingPinnedTypes as gee,pinnedDuplicateIds as Wb}from"efficient-easel/draw";function fR(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function uR(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===No),seedFooter:s,seedSiteHeader:s&&!e.some(l=>l?.type===Ne)}}async function pR(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(_c(a,t)),!0)}function mR(e,o){let{adapter:t,capabilities:a,currentSlug:r,docId:n,data:s,saveStatus:l,siteId:c,tokenRef:d}=xee(),f=Iee(),{hasSiteSettings:m,hasPinnedChrome:u}=a;dR(e);let x=!!a.editsPinnedInPlace&&r!==yt,I=r===yt,g=hee().getState,k=mee(null);pee(()=>{if(!fR({docId:n,saveStatus:l,seededDocId:k.current})||(k.current=n,!u))return;let C=g().appState.data,w=C.content,b=s?.content??[],v=(D,O)=>D.some(R=>R?.type===O);if(!m){let D=new Set(Wb(w)),O=D.size?w.filter(N=>!D.has(N.props.id)):w;if(D.size&&e.setDocument({...C,content:O}),I)return;let R=gee(O,b);if(R.includes(He)){let N=O.length,y=e.insertSection(He,N);e.replaceComponent(bs,N,{type:He,props:{id:y,blocks:_u()}})}R.includes(No)&&e.insertNode(bs,0,Ou());return}if(I){let D=vn(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)=>Mb(o,N,y),R={type:He,props:{blocks:_u()}};e.insertNode(bs,D.length,xi(R,O,Hb(Ae)))}return}if(x){let D=!!t?.pinnedChrome?.state().docId,O=uR(w,{hasChromeDoc:D}),R=new Set([...O.remove,...Wb(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)=>Mb(o,L,M),_={type:He,props:{blocks:_u()}};e.insertNode(bs,N.length,xi(_,y,Hb(Ae)))}if(O.seedHeader&&!v(b,No)){let y=N[0]?.type===Ne?1:0;e.insertNode(bs,y,Ou())}if(O.seedSiteHeader&&!v(b,Ne)&&!v(b,He)&&!v(b,Ae)){let y=n;pR({blocks:Qc(f),make:(_,L)=>Mb(o,_,L),id:Hb(Ne),siteId:c??null,token:d.current,latest:()=>g().appState.data.content,stillOpen:()=>k.current===y,write:_=>{let L=g().appState.data;e.setDocument({...L,content:[..._]})}})}return}let P=w.filter(D=>D.type!==He),F=new Set(Wb(P)),T=F.size?P.filter(D=>!F.has(D.props.id)):P;T.length!==w.length&&e.setDocument({...C,content:T}),!v(T,No)&&!v(b,No)&&e.insertNode(bs,0,Ou())},[n,l,s,g,e,m,u,I,x,t,f,c,d])}import{useEffect as sD,useMemo as rre,useRef as lD}from"react";import{useEasel as nre}from"efficient-easel/easel";import{useEaselHost as sre}from"efficient-easel/screen/lib/host";import{FIELD_DESCRIPTION_MARKER as Zae}from"efficient-easel/screen/lib/host";import{isNode as zy}from"efficient-easel/data";var hR=[{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"},{text:"Ticker item"}],$De={label:"Scrolling Bar",defaultProps:{items:[],tone:"scrim",borders:!0,size:um,separator:pm,scrollDirection:oi}};var xR=()=>[{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"},{text:i("Spec label"),tone:"normal"},{text:i("Spec value"),tone:"muted"}],UDe={label:"Spec Strip",defaultProps:{cells:[{text:"",tone:"normal"},{text:"",tone:"normal"}],fill:"dark"}};var Zr={direction:"row",share:"content",align:"center"},vi={top:14,bottom:14,topPhone:12,bottomPhone:12},Gu={wrap:"nowrap",loop:"scroll",sectionAccent:ex,gap:60,gapPhone:32,separator:"dot",sectionBorder:{top:1,bottom:1}},IR={gap:120,gapPhone:64},Uu={...Wo,sizeToken:{step:"label",px:14,pxPhone:12},letterSpacing:.25,lineHeight:1.5},gR={textStyle:"heading-3",letterSpacing:.005,case:"upper",lineHeight:1},ki={top:16,bottom:16,topPhone:12,bottomPhone:12},Ti={justify:"between",wrap:"wrap",gap:32,separator:"none"},Pi={...Wo,letterSpacing:.1,lineHeight:1.5};function go(e,o,t,a={}){return{type:e,props:{...o(e),id:t(e),...a}}}function bR(e,o,t){return go(q,e,o,{...t,sectionPaddingTop:void 0,sectionPaddingBottom:void 0})}var ju={Manifesto:(e,o)=>({type:q,props:{...e(q),id:o(q),direction:"row",share:"equal",sectionHeightMode:"screen",name:"Brand Text",content:[go(q,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:40,sectionPaddingRight:40,content:[go("Text",e,o,mt()),go("Text",e,o,Oa()),go("Text",e,o),go("Stats",e,o)]}),bR(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:[go(q,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:60,sectionPaddingRight:60,content:[go("Text",e,o,mt()),go("Text",e,o,Oa()),go("Text",e,o),go("ButtonBlock",e,o)]}),bR(e,o,{direction:"column",name:"Image",content:[go("ImageBlock",e,o)]})]}}),Subscribe:(e,o)=>({type:q,props:{...e(q),id:o(q),direction:"column",name:"Subscribe",content:[go("Text",e,o,Oa()),go("Text",e,o),go("Form",e,o)]}}),Ticker:(e,o)=>yR("Scrolling Bar",Gu,vi,hR.map(t=>({text:t.text,style:Uu,muted:!0})),e,o),SpecStrip:(e,o,t)=>yR("Spec Strip",t?.theme?{...Ti,sectionAccent:sc(eo(t.theme))}:{...Ti,sectionBorder:{top:1}},ki,xR().map(a=>({text:a.text??"",style:Pi,muted:a.tone==="muted"})),e,o)};function yR(e,o,t,a,r,n){return go(q,r,n,{...Zr,...o,blockSpacing:"gap",padV2:!0,name:e,sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom,sectionPaddingTopPhone:t.topPhone,sectionPaddingBottomPhone:t.bottomPhone,content:a.map(s=>go("Text",r,n,{text:s.text,...s.muted?{tone:"dim"}:{},_partStyles:{text:s.style}}))})}function SR(e){return ju[e]??null}import{phoneKey as kee}from"efficient-easel/draw";var wR={label:"Button",defaultProps:{label:"",href:"#",variant:"primary",align:"left",contained:!0}};import{jsx as yee}from"react/jsx-runtime";import{isNodeList as bee}from"efficient-easel/data";var $b=new Set(["FAQ"]);function CR(e,o){if(!$b.has(e))return!1;let t=o.template;return typeof t=="function"?(t.blockCount??0)>0:bee(t)}var Ku={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}},vR=new Set(Object.keys(Ku)),TR=new Set(["Flex","Text","Heading","ImageBlock"]),See=new Set(["Divider"]),wee=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),kR=new Set(["ProductGrid"]);function zb(e,o,t=!1){let a=e.render;e.render=r=>{if(o?.(r))return a(r);let n=xd(yT(r,hd,t)),s=a(r),l=BT(r);return n?yee(cc,{className:l?`${n.className} ${l}`:n.className,style:n.style,children:s}):s}}var fNe={name:"sectionPadding",applies:(e,o,t)=>o.isSection(e)&&!wee.has(e)&&!!t&&typeof t.render=="function",panel(e,o,t){vR.has(o)||kR.has(o)||(e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})})},draw(e,o){if(vR.has(o)){let t=e.render,a=Ku[o];e.render=r=>{let n=Id(r,a);return t({...r,padTop:n.top,padBottom:n.bottom})};return}if(kR.has(o)){zb(e);return}TR.has(o)||See.has(o)||zb(e,o==="Flex"?t=>ok(t.bgImage):$b.has(o)?t=>CR(o,t):void 0,!0)}},Cee=["Heading","Text","ImageBlock"],vee=["LogoBlock"],uNe={name:"blockPadding",applies:(e,o,t)=>(Cee.includes(e)||vee.includes(e))&&!!t&&typeof t.render=="function",panel(e,o,t){e.fields={...e.fields,...t.sidesPaddingFields({tablet:!0})}},draw(e,o){TR.has(o)||zb(e,void 0,!0)}};import{parseHexColor as Tee}from"efficient-shell/format";import{convertLength as Pee,isLengthUnit as Eee}from"efficient-easel/screen/lib/content/length-units";var Gb=e=>Eee(e)?e:"px",qa=(e,o,t,a)=>o===t?e:Pee(e,o,t,a,{min:0,max:200,step:4}),Qr={textFit:"line",textFitPhone:"wrap"},en={...$,[ft]:""},{label:LNe,href:FNe,...Oee}=wR.defaultProps,Ze=Oee,Ia={buttonFillOpacity:0,buttonBorder:{width:0},buttonPaddingTop:0,buttonPaddingRight:0,buttonPaddingBottom:0,buttonPaddingLeft:0},J={...Sc,sectionAccent:0},Ss={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",...An,...Object.values(ke).flatMap(e=>[e,kee(e)]),"widthFit","widthFitTablet","widthFitPhone","width","widthTablet","widthPhone","minWidth","minWidthTablet","minWidthPhone","maxWidth","maxWidthTablet","maxWidthPhone",...Object.values(co)],ys="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:ys,fullWidth:ys,pageWidth:ys,backgroundWidth:ys,contentWidth:ys,contentMax:ys},ie=Object.fromEntries(["sectionPaddingLeft","sectionPaddingRight","sectionPaddingLeftTablet","sectionPaddingRightTablet","sectionPaddingLeftPhone","sectionPaddingRightPhone"].map(e=>[e,"needs Box side padding outside its gutter: the old section added it outside its frame, a Box's side padding replaces the gutter. 0 live nodes store it (JJ's read-only export, 2026-10-24)"]));function le(e,o){let t=j(e.sectionPaddingTop)??0,a=j(e.sectionPaddingBottom)??0,r=j(e.sectionPaddingTopTablet),n=j(e.sectionPaddingBottomTablet),s=Gb(e.sectionPaddingUnit),l=Gb(e.sectionPaddingUnitTablet),c=Gb(e.sectionPaddingUnitPhone),d=(m,u,x,I)=>{let g=j(m);if(g!==void 0)return g+qa(I,"px",c,"mobile");let k=u===void 0?{n:x,unit:s}:{n:u,unit:l};return qa(k.n,k.unit,c,"mobile")+qa(I,"px",c,"mobile")},f=(m,u,x,I,g)=>u!==void 0?{[m]:u+qa(g??I,"px",l,"tablet")}:g===void 0?{}:{[m]:qa(x,s,l,"tablet")+qa(g,"px",l,"tablet")};return{sectionPaddingTop:t+qa(o.top,"px",s,"desktop"),sectionPaddingBottom:a+qa(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)=>le(a,typeof e=="function"?e(a):e)[o]]),["sectionPaddingUnit","sectionPaddingUnit"],["sectionPaddingUnitTablet","sectionPaddingUnitTablet"],["sectionPaddingUnitPhone","sectionPaddingUnitPhone"]];function Oo(e,o){let t=Id(e,Ku[o]);return{sectionPaddingTop:t.top,sectionPaddingBottom:t.bottom}}var Ya=e=>[["padTop","sectionPaddingTop",(o,t)=>Oo(t,e).sectionPaddingTop],["padBottom","sectionPaddingBottom",(o,t)=>Oo(t,e).sectionPaddingBottom],["sectionPaddingTop","sectionPaddingTop",(o,t)=>Oo(t,e).sectionPaddingTop],["sectionPaddingBottom","sectionPaddingBottom",(o,t)=>Oo(t,e).sectionPaddingBottom]],_ee={kind:"heading-case-upper",styles:["heading-1","heading-2","heading-3"]},BNe=e=>o=>Je(o.props[e])?[_ee]:[],de=(e,o)=>({kind:"text",key:e,role:"eyebrow",props:$,...o?{style:o}:{}}),PR=e=>e.background!=="transparent",Aee=(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},Ei={align:"right",alignPhone:"left"},Ree=(e,o,t)=>{let a=r=>Aee(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}},Oi=(e,o,t,a={})=>Ree(e,o,{...en,...Ei,...a,_partStyles:{text:{...Wo,color:"labels",...t,case:Wo.case,...Ei}}}),on=(e,o)=>typeof e=="number"&&Number.isInteger(e)&&e>=0?e:Va(o)?.selected??0,ER="var(--site-surface-2)",Vu=(e,o)=>Va(o)?.themes[on(e.sectionAccent??0,o)],Ko=(e,o)=>(t,a)=>{if(!o?.(t,a))return{fillColor:e};let r=Vu(t,a)?.[e];return r?{fillColor:r}:{}},qu=(e,o)=>Xa(e,o)>=0,OR=e=>e.startsWith("#")&&Tee(e)!==null,Yu=(e,o,t)=>{let a=e?.trim();if(a&&OR(a))return{fillColor:a};let r=Ch(a);if(r)return{fillColor:r};let n=a===ER?Vu(o,t):void 0;return n?{fillColor:nc(n)}:{}},Xu=e=>{let o=e?.trim();return!o||o==="transparent"||o===wo||Ch(o)||o===ER||OR(o)?void 0:"it paints a colour that no Box Fill can hold"},Xa=(e,o)=>{let t=Va(o)?.themes;return t&&PR(e)?vS(t,on(e.sectionAccent,o)):-1},Ja=(e,o,t)=>{let a=Xa(o,t);return a>=0?a:e},tn=(e,o)=>{let t=Xa(e,o);return t>=0?{sectionAccent:t}:{}},Za=(e,o)=>PR(e.props)&&Xa(e.props,o)<0?[{kind:"band-preset",page:on(e.props.sectionAccent,o)}]:[],ws=e=>Ed(e.site?.siteGutter),_i=Object.fromEntries(["Top","Right","Bottom","Left","TopPhone","RightPhone","BottomPhone","LeftPhone"].map(e=>[`sectionPadding${e}`,0])),Ai=e=>({top:0,right:0,bottom:0,left:0,...e}),Ub=(e,o,t,a=[])=>({kind:"group",name:e,keepEmpty:!0,props:(r,n)=>({...A,..._i,...Ko("surface")(r,n),...typeof t=="function"?t(r,n):t}),box:[[o,"bgImage"],Me.kind,Me.duration,Me.delay],parts:a});import{phoneKey as qR,readHidable as Zb}from"efficient-easel/draw";import{isNodeList as Xee,newId as Jee}from"efficient-easel/data";function _R(e){return Math.min(4,Math.max(2,e??3))}var HNe={eyebrow:"Label",title:"Section *heading.*"},Lee={template:nC()},AR={label:"Cards",fields:Lee,defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var zNe={eyebrow:"Highlight",title:"Key *features.*"},GNe=()=>[{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")}],RR={label:"Key Features",defaultProps:{eyebrow:"",title:"",items:[],columns:3}};var jb="cardPlace";function KNe(e){return e[jb]==="top-line"?"top-line":""}var VNe="absolute left-5 top-0 z-10 -translate-y-1/2 bg-bg px-2",qNe="data-sf-top-line",Fee=new Set(["Cards",Po]);function YNe(e){return typeof e=="string"&&Fee.has(e)}var Bee=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 XNe(e,o,t){return!t||!o?.linesBetween||o.index!==0?e:Bee(e)?{...e,top:0}:e}var JNe="outsideFramedCard";function e2e(e){return typeof e=="string"?e.trim():""}var o2e="data-sf-box-link",LR="absolute inset-0 -z-[1] outline-none focus-visible:z-[2] focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent",t2e="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",Dee="data-sf-box-jump";function Nee(e){return`sf-box-jump-${e}`}function a2e(e,o){return e===!0?Gc(o):""}function Mee({box:e,lit:o,first:t}){let a=s=>s.join(`,
72
+ `),r=t(e),n=o.flatMap(t);return`
73
+ ${e} {
74
+ outline: 2px solid transparent;
75
+ outline-offset: -2px;
76
+ transition: outline-color 600ms ease-out;
77
+ }
78
+ ${a(r)} { transition: background-color 600ms ease-out; }
79
+ ${a(r.map(s=>`${s} *`))} { transition: color 600ms ease-out; }
80
+ ${a(o)} { outline-color: var(--accent); }
81
+ ${a(n)} { background-color: var(--accent); }
82
+ ${a([...n,...n.map(s=>`${s} *`)])} { color: var(--bg) !important; }
83
+ `}function r2e(e){let o=`[${Dee}="${e}"]`,t=`.${Nee(e)}`,a=`[id="${e}"]:target`;return Mee({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 Hee=["selected","highlighted"],Wee="data-sf-card-state",i2e="pointer-events-none absolute inset-0 border border-accent",c2e="pointer-events-none absolute inset-x-0 bottom-0 border-b-2 border-accent";function $ee(e){return e?Hee.filter(o=>e[o]===!0).join(" "):""}function d2e(e){let o=$ee(e);return o?{[Wee]:o,className:"relative"}:{}}var zee={highlighted:!0},Gee={},Ju="badge";function f2e(e,o=[]){return e.map((t,a)=>({...t,key:t.key||o[a]?.key||kc(t,a)}))}function u2e(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 p2e(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?zee:Gee)}}function m2e(e){return{chosen:typeof e.highlightedCard=="string"?e.highlightedCard.trim():"",badge:typeof e.highlightBadge=="string"?e.highlightBadge:""}}function h2e(e){if(!e||typeof e!="object")return;let o=e.press;return typeof o=="function"?{press:o}:void 0}var x2e="data-sf-card-press",I2e=`${LR} appearance-none bg-transparent border-0 p-0 m-0 cursor-pointer`;function vs(e){if(e==="ProductGrid")return"shelf";let o=To[e]?.headStyle;return o==="editorial"||o==="simple"||o==="essay"?o:"standard"}var Qu={standard:64,editorial:60,simple:36,essay:28,shelf:20},Uee={SectionHeader:"accent",FAQ:"accent",FitmentFinder:"accent",FitmentTable:"accent",SpecTable:"accent",RelatedProducts:"accent",Collections:"accentNum"};function jee(e){if(e==="SectionHeader")return{num:"num",title:"title",description:"description",link:!0};let o=To[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 ep(e,o,t){let a=`editorial:${e}|${o}|${t}`,r=Zu.get(a);if(r)return r;let n=NR({num:e,title:o,description:t,link:!1});return Zu.set(a,n),n}var Vb={top:0,right:0,bottom:1,left:0},Mo=(e,o,t,a)=>({sizeToken:{step:e,px:a,fluid:{minPx:o,vw:t}}}),op=(e,o,t={})=>de(e,{...W("label",o),...t}),tp=(e,o)=>({kind:"text",key:e,role:"heading",props:$,style:{textStyle:"heading-2",...o}}),qb=800,Yb=(e,o,t,a)=>({kind:"text",key:e,props:{...Q,align:"right",alignPhone:"left",...t?{maxWidth:t,maxWidthPhone:qb}:{}},style:{textStyle:"body-5",fontRole:"heading",alignPhone:"left",...W("body",o),...a}}),DR={...Ze,align:"right",alignPhone:"left",...Ia,icon:"arrow-right",iconPosition:"after"},Kb=e=>({kind:"button",key:"linkText",href:"linkHref",variant:"ghost",props:DR,style:{...pt(e),color:"labels"}}),FR=(e,o,t)=>{let a=t.role==="heading"?{tag:"h2"}:{};return{kind:"block",type:"Text",when:r=>r[e]===void 0,props:{...$,...a,...t.props,text:o,_partStyles:{text:{...t.role==="eyebrow"?Kee(mt()):{},...t.style}}}}},Kee=e=>e._partStyles.text??{},Cs={widthFitPhone:"fill"};function Xb(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),...Cs}):{...o,...Cs}}}return{...e,parts:e.parts.map(Xb)}}function Vee(e,o){let t=Uee[e],a=t==="accent",r=op(o.num,14,{color:a?"accent":"labels"}),n=t==="accentNum"&&r.kind==="text"?{...r,mark:"accentLead"}:r,s=tp(o.title,a?{...Mo("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:{...A,direction:"row",align:"end",justify:"between",gap:40,gapPhone:12,share:"content",sectionBorder:Vb,sectionPaddingBottom:24,sectionPaddingBottomPhone:20},parts:[{kind:"group",name:"Title",props:{...A,...Cs,direction:"row",align:"end",gap:40,gapPhone:12,share:"content"},parts:[{kind:"group",name:"Number",props:{...A,...Cs,align:"start",gap:12},parts:[{kind:"image",key:"logoSrc",alt:"logoAlt",props:{aspect:"auto",contained:!1}},n,...l?[FR(o.num,"==01== / Collections",n)]:[]]},{kind:"group",name:"Heading",props:{...A,...Cs},parts:[s,...l?[FR(o.title,`Three ranges,
84
+ one standard.`,s)]:[]]}]},{kind:"group",name:"Words",props:{...A,...Cs,gap:12,maxWidth:340,maxWidthPhone:qb},parts:[...o.description?[Yb(o.description,14,void 0,{lineHeight:1.5})]:[],...o.link?[Kb(14)]:[],...l?[{kind:"block",type:"ButtonBlock",props:{...DR,variant:"ghost",label:"View all",href:"/wheels",_partStyles:{label:Kb(14).style}}}]:[]]}]}}function NR(e){return{kind:"group",name:"Header",props:{...A,direction:"row",align:"end",justify:"between",gap:40,gapPhone:14,share:"content",sectionBorder:Vb,sectionPaddingBottom:32},parts:[{kind:"group",name:"Title",props:{...A,direction:"row",align:"end",gap:40,gapPhone:14,share:"content"},parts:[{kind:"group",name:"Number",props:{...A,sectionPaddingBottom:8},parts:[{...op(e.num,13),props:{...$,...Qr}}]},tp(e.title,{...Mo("headingMedium",40,5.5,80),case:"upper",weight:500,lineHeight:1,letterSpacing:-.03})]},{kind:"group",name:"Words",props:{...A,sectionPaddingBottom:4,maxWidth:360,maxWidthPhone:qb},parts:e.description?[Yb(e.description,14,void 0,{lineHeight:1.5})]:[]}]}}function BR(e,o){return{kind:"group",name:"Header",props:{...A,gap:16,gapPhone:16},parts:[op(e.num,13),tp(e.title,o)]}}var MR=[["para",{...pt(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}]],qee=e=>MR.some(([o])=>o===e.titleSize)?e.titleSize:"lg";function Yee(e){return{kind:"group",name:"Header",props:{...A,direction:"row",align:"center",justify:"between",gap:16,share:"content",stickTop:!0,sectionBorder:Vb,sectionPaddingTop:12,sectionPaddingBottom:12},parts:[{kind:"group",name:"Title",props:{...A,direction:"row",align:"end",gap:24,share:"content"},parts:[op(e.num,13,{color:"labels",letterSpacing:.22,lineHeight:1}),...MR.map(([o,t])=>({...tp(e.title,t),when:a=>qee(a)===o}))]},{kind:"group",name:"Words",props:{...A,direction:"row",align:"center",justify:"end",gap:20,share:"content"},parts:[...e.description?[Yb(e.description,13,340,{lineHeight:1.4})]:[],...e.link?[Kb(13)]:[]]}]}}function ap(e){return vs(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 Zu=new Map;function et(e){let o=Zu.get(e);if(o)return o;let t=jee(e),a=vs(e),r=a==="editorial"?NR(t):a==="simple"?BR(t,{...W("headingMedium",44,32),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02}):a==="essay"?BR(t,{...W("headingMedium",38,28,"headingSmall"),case:"upper",lineHeight:1,letterSpacing:-.02}):a==="shelf"?Yee(t):Vee(e,t);return Zu.set(e,r),r}var an={Series:"transparent",StatsParagraph:"transparent",TimelineTrack:wo,Stats:void 0};var ga=(e,o,t,a)=>({sectionBorder:{top:e,right:o,bottom:t,left:a}}),YR=e=>o=>_R(j(o.columns)??j(e.columns)),Zee=e=>({kind:"group",name:"Grid",props:{...A,gap:0,...ga(1,0,0,1)},parts:[e]}),Qee={...A,direction:"row",gap:0,share:"equal"},eoe="its head sits in a Box of its own above it (own-box): the row draws the head inline",XR=e=>vc(e.headPlacement)==="own-box",ooe="inline is the head the row draws; an own-box node is skipped (`skip`)",toe=e=>({kind:"group",name:"Heading",props:e,parts:[de("eyebrow"),{kind:"text",key:"title",role:"heading",props:$,style:{textStyle:"heading-3",case:"upper"},was:{size:44}}]}),HR={top:76,bottom:76,topPhone:76,bottomPhone:76},aoe={...A,direction:"row",align:"center",gap:16,sectionPaddingTop:32,sectionPaddingRight:28,sectionPaddingBottom:32,sectionPaddingLeft:28,...ga(0,1,1,0)},WR={textStyle:"body-1",color:"text"},$R=(e,o)=>typeof o?.href=="string"&&o.href.trim()!=="",roe={name:"Key Features",boxProps:e=>({...J,direction:"column",gap:44,...ga(1,0,1,0),...le(e,HR)}),box:[...ae,...ye(HR)],parts:[toe({...A,direction:"row",align:"end",gap:20,wrap:!0,share:"content"}),Zee({kind:"list",key:"items",name:"Feature",perRow:YR(RR.defaultProps),rowName:"Row",rowProps:Qee,props:aoe,parts:[{kind:"button",key:"label",href:"href",when:$R,variant:"ghost",props:{...Ze,...Ia,icon:"none"},style:WR},{kind:"text",key:"label",when:(e,o)=>!$R(e,o),props:$,style:WR,was:{size:17}}]})],drop:{...oe,...ie,columns:"the rows of N: one Row Box per `columns` cells, which the Box draws as N equal blocks",eyebrowLook:"needs the eyebrow's Filled look on a Text block: Filled is Key Features' own default (lib/sections/section-eyebrow-look), so 20 of 21 published nodes draw it with nothing stored; the row draws the Plain start look (the stored-node export, 2026-10-24)"}},zR={top:120,bottom:120,topPhone:80,bottomPhone:80,topTablet:80,bottomTablet:80},np=e=>{let o=$t(typeof e.background=="string"?e.background:void 0,an.Series);return o&&o!=="transparent"?o:void 0},rp=e=>np(e)===wo,noe={...A,justify:"between",gap:16,gapPhone:16,sectionHeightMode:"fixed",sectionHeightValue:340,sectionHeightUnit:"px",sectionPaddingTop:36,sectionPaddingRight:28,sectionPaddingBottom:32,sectionPaddingLeft:28,sectionPaddingTopPhone:36,sectionPaddingRightPhone:28,sectionPaddingBottomPhone:32,sectionPaddingLeftPhone:28},GR={...A,direction:"row",justify:"between",gap:12,share:"content",phoneRow:2,[qR("share")]:"content"},soe=e=>{let o=np(e)?1:2;return{...A,direction:"row",columns:4,columnsTablet:2,gap:o,gapPhone:o}},Jb={...pt(12),letterSpacing:.22,lineHeight:1.5},UR=e=>Je(e.viewLabel)&&!Zb(e.viewLabel).hidden,Ot=e=>Zb(e).text?.trim?.()??"",JR=e=>Object.fromEntries(Object.entries(e).filter(([,o])=>ee(o)!==void 0)),Qb=e=>e.map(([o,t,a])=>({key:o,label:t,...a?{multiline:!0}:{}})),loe=Qb([["num","Number"],["since","Corner note"],["title","Card title"],["body","Card body",!0],["count","Count"],["countLabel","Count word"]]),ioe=Qb([["label","Label"],["value","Value"],["body","Card body",!0]]),ey=(e,o,t,a,r,{reads:n=["cards"],keep:s=[]}={})=>({kind:"group",name:e,props:o,parts:[{kind:"core",as:Po,headless:!0,keep:s,derive:{reads:n,props:l=>Tc(a(l),t)},slots:(l,c)=>({[to]:[r(l,c)]})}]}),ZR=e=>Array.isArray(e.cards)?e.cards:[],jR={top:72,bottom:72,topPhone:72,bottomPhone:72},KR=(e,o)=>({...ga(0,1,1,0),...Ko("background")(e,o)}),coe=e=>{let o=YR(AR.defaultProps)(e);return{...A,direction:"row",columns:o,columnsTablet:o,gap:0,gapPhone:0,...ga(1,0,0,1),shadow:!0}},doe=Qb([["title","Card title"],["body","Card body",!0]]),foe=e=>(Array.isArray(e.items)?e.items:[]).map((o,t)=>({key:typeof o?.key=="string"&&o.key?o.key:kc(uC(o),t),title:Ot(o?.title),body:Ot(o?.body)})),QR=e=>{let o={},t={};for(let[a,r]of Object.entries(e.props??{}))a!=="id"&&(Xee(r)?t[a]=r.map(QR):o[a]=r);return{type:String(e.type),props:o,...Object.keys(t).length?{slots:t}:{}}},uoe=e=>({...e,slots:{...e.slots,[fe]:[...e.slots?.[fe]??[],ge(Ju,{...$,tag:"p",[jb]:"top-line"},{},!0)]}}),poe=(e,o)=>{let t=Array.isArray(e.template)?e.template.map(QR):[uoe(km())],[a]=t;return t.length===1&&a.type===q?{...a,props:{...KR(e,o),...a.props}}:{type:q,props:{...A,...KR(e,o),name:"Card"},slots:{[fe]:t}}},moe=e=>Array.isArray(e.template)&&e.template.length===0,hoe=["dataSource","dataSourceOptions","highlightedCard","highlightBadge"];function eL(){let e=t=>({key:Jee("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 xoe={name:"Cards",boxProps:(e,o)=>({...J,direction:"column",gap:36,gapPhone:28,...Ko("surface")(e,o),...le(e,jR)}),box:[...ae,...ye(jR)],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:[{...et("Cards"),when:e=>!XR(e)},{...ey("Cards",coe,doe,foe,poe,{reads:["items"],keep:hoe}),when:e=>!moe(e)}],drop:{...oe,...ie,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)"}},Ioe={name:"Recurring Columns",boxProps:(e,o)=>({...J,direction:"column",gap:60,gapPhone:60,...ga(0,0,1,0),...rp(e)?tn(e,o):{},...Yu(np(e),e,o),...le(e,zR)}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>rp(o)?Ja(e,o,t):e],...ye(zR)],skip:e=>Xu(np(e))??(XR(e)?eoe:void 0),site:(e,o)=>rp(e.props)?Za(e,o):[],parts:[et("Series"),ey("Cards",soe,loe,e=>ZR(e).map(o=>JR({num:Ot(o.num),since:Ot(o.since),title:Ot(o.title),body:Ot(o.desc),count:Ot(o.entries),countLabel:Ot(o.entriesLabel)})),(e,o)=>({type:q,props:{...noe,...Ko("background",(t,a)=>rp(t)&&qu(t,a))(e,o),name:"Card"},slots:{[fe]:[{type:q,props:{...A,name:"Words",gap:16,gapPhone:16},slots:{[fe]:[{type:q,props:{...GR,name:"Top"},slots:{[fe]:[ge("num",$,W("label",13),!0),ge("since",$,W("label",13),!0)]}},ge("title",{...$,tag:"h3"},{textStyle:"heading-3",...W("headingSmall",28),weight:500,case:"upper",lineHeight:1.04,letterSpacing:-.02}),ge("body",Q,{textStyle:"body-5",fontRole:"heading",...W("body",14),lineHeight:1.6})]}},{type:q,props:{...GR,name:"Footer",align:"center",gap:0,gapPhone:0,sectionPaddingTop:16,sectionPaddingTopPhone:16,...ga(1,0,0,0),...UR(e)?{}:{[Bm]:["count","countLabel"]}},slots:{[fe]:[{type:q,props:{...A,name:"Count",direction:"row",align:"center",gap:12,gapPhone:12,share:"content",[qR("share")]:"content"},slots:{[fe]:[ge("count",$,Jb),ge("countLabel",Q,Jb)]}},...UR(e)?[{type:q,props:{...A,name:"View",maxWidthPhone:266},slots:{[fe]:[{type:"Text",props:{...$,text:Zb(e.viewLabel).text,_partStyles:{text:{...mt()._partStyles.text,...Jb}}}}]}}]:[]]}}]}}))],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,...ie,headPlacement:ooe}},VR={top:60,bottom:60,topPhone:40,bottomPhone:40},goe={...A,direction:"row",columns:3,gap:40,gapPhone:16},boe={...A,gap:8,gapPhone:8,...io(24),...ga(1,1,1,1)},yoe={name:"Document Detail Cards",boxProps:e=>({...J,direction:"column",gap:40,gapPhone:16,...ga(0,0,1,0),...le(e,VR)}),box:[...ae,...ye(VR)],parts:[ey("Cards",goe,ioe,e=>ZR(e).map(o=>JR({label:Ot(o.label),value:Ot(o.value),body:Ot(o.desc)})),(e,o)=>({type:q,props:{...boe,...Ko("surface")(e,o),name:"Card"},slots:{[fe]:[ge("label",$,{...W("label",12),lineHeight:1.5},!0),{type:q,props:{...A,name:"Words",gap:14,gapPhone:14},slots:{[fe]:[ge("value",$,{textStyle:"heading-3",...W("headingSmall",20),weight:500,letterSpacing:-.015,lineHeight:1.5}),ge("body",Q,{textStyle:"body-5",fontRole:"accent",...W("body",14),italic:!0,lineHeight:1.5})]}}]}}))],drop:{...oe,...ie}},oL={Cards:xoe,KeyFeatures:roe,Series:Ioe,DocMetaCards:yoe};import{phoneKey as voe}from"efficient-easel/draw";import{newId as koe}from"efficient-easel/data";import{phoneKey as Soe}from"efficient-easel/draw";import{isNode as Ri}from"efficient-easel/data";var ks="cardStyle";function tL(e){let{widthPhone:o,...t}=e;return e.widthFitPhone==="fixed"?{...t,widthFitPhone:"fill"}:{...e}}var sp={table:{items:{gap:0,gapPhone:0,columnsTablet:2},grid:{gap:0},row:{gap:0,[Soe("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}}}},ot={table:{...sp.table,listCard:tL(sp.table.card)},list:{...sp.list,listCard:tL(sp.list.card)}},Z2e=[{label:"Table",value:"table"},{label:"List",value:"list"}],Q2e=e=>e==="table"||e==="list",woe=e=>[...new Set([...Object.keys(ot.table[e]),...Object.keys(ot.list[e])])];function Li(e,o,t){let a={...e};for(let r of woe(o))delete a[r];return{...a,...structuredClone(ot[t][o])}}function Coe(e,o,t){let a=e.props??{},r=Array.isArray(a[to])?a[to]:[],n=r.findIndex(c=>Ri(c)&&c.type===t);if(n<0)return e;let s=r[n],l=r.map((c,d)=>d===n?{...s,props:Li(s.props??{},"listCard",o)}:c);return{...e,props:{...a,[to]:l}}}function eMe(e,o,t,a){let r=Array.isArray(e[a])?e[a]:[];if(r.some(s=>Ri(s)&&s.type===Po)){let s=r.map(l=>Ri(l)&&l.type===Po?Coe(l,o,t):l);return{...Li(e,"items",o),[ks]:o,[a]:s}}let n=r.map(s=>{if(!Ri(s)||s.type!==t)return s;let l=s.props??{},c=(Array.isArray(l[a])?l[a]:[]).map(d=>Ri(d)&&d.type===t?{...d,props:Li(d.props??{},"card",o)}:d);return{...s,props:{...Li(l,"row",o),[a]:c}}});return{...Li(e,"grid",o),[ks]:o,[a]:n}}var oy=e=>typeof e=="string"?e.trim():"";function aL(e){let o=`${oy(e.prefix)}${oy(e.value)}`,t=oy(e.suffix);return e.emphasizeAll===!0?o?`==_${o}_==`:"":`${o}${t?`==_${t}_==`:""}`}var sL={textStyle:"heading-2",...Mo("headingMedium",56,7,96),weight:500,case:"none",lineHeight:.9,letterSpacing:-.04},ty={kind:"block",type:"Text",props:{...en,_partStyles:{text:sL}},box:[["value","text",(e,o)=>aL(o)]],when:(e,o)=>o!==void 0&&typeof o.value=="string"&&aL(o)!==""},rL=e=>Je(e?.supSuffix),lL={textStyle:"body-1",fontRole:"heading",...W("body",16),lineHeight:1.5,letterSpacing:-.01},iL={color:"labels",...W("label",12),lineHeight:1.5,letterSpacing:.24},cL={...A,direction:"row",align:"start",gap:32,gapPhone:32,share:"content",phoneRow:2,[voe("share")]:"content"},dL={textStyle:"body-5",...W("label",13),weight:500,color:"accent",letterSpacing:.18,lineHeight:1,padding:12},ay=e=>$t(e.background,an.StatsParagraph),Fi=e=>ay(e)===wo,lp=e=>({...e,sectionAccent:e.sectionAccent??0}),Toe=(e,o)=>Fi(e)?Ko("background",(t,a)=>qu(lp(t),a))(e,o):{},Poe={name:"Stats with Text",skip:e=>ay(e)&&ay(e)!=="transparent"&&!Fi(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},...Oo(e,"StatsParagraph"),...Fi(e)?tn(lp(e),o):{}}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Fi(o)?Ja(e,lp(o),t):e],...Ya("StatsParagraph")],site:(e,o)=>Fi(e.props)?Za({props:lp(e.props)},o):[],parts:[et("StatsParagraph"),{kind:"group",name:"Stats",props:{...A,...ot.table.grid,[ks]:"table"},parts:[{kind:"list",key:"stats",name:"Stat",perRow:()=>4,rowName:"Stats row",rowProps:{...A,direction:"row",share:"equal",phoneRow:2,...ot.table.row},props:(e,o)=>({...A,...ot.table.card,...Toe(e,o)}),parts:[{...ty,when:(e,o)=>!rL(o)&&ty.when(e,o)},{kind:"group",name:"Figure",props:cL,when:(e,o)=>rL(o),parts:[ty,{kind:"text",key:"supSuffix",props:$,style:dL}]},{kind:"group",name:"Words",props:{...A,gap:4,gapPhone:4},parts:[{kind:"text",key:"label",props:$,style:lL},de("sub",iL)]}]}]}],drop:{...oe,...ie,background:"the band is the Box's theme: the site's band preset (`sectionAccent`), or a declared band-preset write; none paints nothing, and any other colour is skipped",headPlacement:"needs a row per head placement: an own-box Stats with Text draws no head (its words sit in a Section Header above it), the row always draws the head"}},Eoe=new Set(["value","label",ft]),nL={top:48,bottom:48,topPhone:48,bottomPhone:48},Ooe=e=>{let o=$t(typeof e.background=="string"?e.background:void 0,an.Stats);return!!o&&o!=="transparent"},_oe={name:"Stats",skip:e=>Ooe(e)?"it paints a colour inside its padding, and a Box paints its Fill over the padding too":Je(e.dataSource)?"its figures come from a source":Array.isArray(e.items)&&e.items.some(o=>Je(o?.[ft]))?"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=>!Eoe.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,...le(e,nL)}),box:[...ae,...ye(nL)],parts:[de("heading",{color:"labels",...W("label",12),letterSpacing:.2}),{kind:"group",name:"Stats",props:{...A,...ot.list.grid,[ks]:"list"},parts:[{kind:"list",key:"items",name:"Stat",perRow:e=>j(e.columns)??4,rowName:"Stats row",rowProps:{...A,direction:"row",share:"equal",phoneRow:2,...ot.list.row},props:{...A,...ot.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}},de("label",{color:"labels",...W("label",12),letterSpacing:.2})]}]}],drop:{...oe,...ie,columns:"the rows of N: one row Box per `columns` figures, which the Box draws",dataSource:"an empty source is typed figures, what the row draws; a sourced node is skipped (0 Hartes nodes)",dataSourceOptions:"read only with a source; a sourced node is skipped (0 Hartes nodes)",contained:"the Box draws the site frame now; each figure fills the Box's column",background:"only no fill reaches here: a node that paints a colour is skipped"}},fL={StatsParagraph:Poe,Stats:_oe};function uL(){return{eyebrow:i("By the numbers"),title:i("What we count."),desc:i("A few numbers that matter to us."),stats:[],background:"transparent"}}var Aoe=[{key:"figure",label:"Figure"},{key:"superscript",label:"Superscript"},{key:"label",label:"Label"},{key:"body",label:"Text",multiline:!0}];function pL(){let e=(o,t,a,r="")=>({key:koe("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 Roe(e){return{type:q,props:{...A,name:"Card",...structuredClone(ot[e].listCard)},slots:{[fe]:[{type:q,props:{...cL,name:"Figure"},slots:{[fe]:[ge("figure",en,sL),ge("superscript",$,dL)]}},{type:q,props:{...A,name:"Words",gap:4,gapPhone:4},slots:{[fe]:[ge("label",{...$,widthFit:"fill"},lL),ge("body",{...$,widthFit:"fill"},iL,!0)]}}]}}}function ry(e,o,t=4){return{type:q,props:{...A,name:"Stats",direction:"row",columns:t,...structuredClone(ot[o].items),[ks]:o},slots:{[fe]:[{type:Po,props:Tc(e,Aoe),slots:{[to]:[Roe(o)]}}]}}}var mL={heading:"Trusted by *teams worldwide*"},hL=()=>[{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")}],Loe={logos:{type:"slot",allow:["LogoBlock"]},template:{type:"slot",allow:["LogoBlock"]}},gMe={label:"Logos",fields:Loe,defaultProps:{items:[],contained:!0}};var xL={heading:"Ways to pay"},IL=()=>[{label:"Visa"},{label:"Mastercard"},{label:"Amex"},{label:"PayPal"}],gL=()=>[{text:i("Secure encrypted checkout")},{text:i("30-day returns")}],SMe={label:"Payment Methods",defaultProps:{heading:"",badges:[],assurances:[],contained:!0}};import{phoneKey as bL,readHidable as Foe}from"efficient-easel/draw";var SL={contained:!1},wL=(e,o)=>({logos:[{kind:"list",key:e,name:"Logo",flat:!0,parts:[{kind:"block",type:"LogoBlock",box:["src",[o,"alt"]],when:(t,a)=>Je(a?.src)||Je(a?.[o])}]}]}),ny=e=>{let o=j(e.bandPadding)??40;return{top:o,bottom:o,topPhone:o,bottomPhone:o}},Boe={...de("heading",{color:"labels",letterSpacing:.2}),props:{...$,align:"center"}},Doe={name:"Logos",boxProps:e=>({...J,direction:"column",gap:32,...le(e,ny(e))}),box:[...ae,...ye(ny),["bandPadding","sectionPaddingTop",(e,o)=>le(o,ny(o)).sectionPaddingTop]],parts:[Boe,{kind:"core",keep:["columns","logoHeight","grayscale"],rename:{logosPerRow:"columns"},props:SL,slots:wL("items","alt")}],drop:{...oe,...ie,contained:"the Box draws the site frame now; the Logos block inside it fills the Box's column (`contained: false`)",headPlacement:"a Logos band has no split head (not in SPLITTABLE_SECTIONS): no stored node can hold one, and the converted block stores own-box"}},Noe={kind:"group",name:"Mark",keepEmpty:!0,parts:[],props:{...A,widthFit:"fixed",width:4,minWidth:4,sectionHeightMode:"fixed",sectionHeightValue:4,sectionHeightUnit:"px",sectionCorners:2,fillColor:"main"}},yL={top:24,bottom:24,topPhone:24,bottomPhone:24},Moe={name:"Payment Methods",boxProps:e=>({...J,direction:"column",...le(e,yL)}),box:[...ae,...ye(yL)],parts:[{kind:"group",name:"Methods",props:{...A,align:"center",gap:20,gapPhone:20,sectionBorder:{top:1,bottom:1},sectionPaddingTop:32,sectionPaddingBottom:32},parts:[{...de("heading",{color:"labels"}),props:{...$,align:"center"}},{kind:"core",keep:[],as:"Logos",derive:{reads:[Bt,Ms],props:e=>Je(e[Bt])?{[Bt]:e[Bt],...e[Ms]!==void 0?{[Ms]:e[Ms]}:{}}:{}},props:{...SL,look:"cards",grayscale:!1},slots:e=>({...wL("badges","label"),...Je(e[Bt])?{[to]:[Pm()]}:{}})},{kind:"group",name:"Reassurance",props:{...A,direction:"row",wrap:!0,justify:"center",gap:24,gapPhone:24,phoneRow:2,[bL("share")]:"content"},parts:[{kind:"list",key:"assurances",name:"Line",of:e=>(Array.isArray(e.assurances)?e.assurances:[]).filter(o=>Je(o?.text)),props:{...A,direction:"row",align:"center",gap:8,gapPhone:8,phoneRow:2,[bL("share")]:"content"},item:e=>Foe(e.text).hidden?{props:{_hidden:!0}}:{},parts:[Noe,{kind:"text",key:"text",props:{...$,align:"center"},style:{...W("label",13),color:"labels",lineHeight:1.5}}]}]}]}],drop:{...oe,...ie,contained:"the Box draws the site frame now; the Logos block inside it fills the Box's column (`contained: false`)"}},CL={Logos:Doe,PaymentBadges:Moe},vL=()=>({heading:mL.heading,items:hL()}),kL=()=>({heading:xL.heading,badges:IL(),assurances:gL()});import{mixHex as Woe}from"efficient-shell/format";var FMe="none",BMe=[{label:"Nothing",value:"none"},{label:"Section above",value:"above"},{label:"Section below",value:"below"}];function TL(e){return e==="above"||e==="below"?e:null}var DMe="sf-ticker-join";function Hoe(e){return e==="above"?"sf-ticker-join-above":"sf-ticker-join-below"}function NMe(e){return`absolute inset-x-0 ${Hoe(e)}`}var PL=e=>e.size==="display",$oe=(e,o)=>{let t=Vu(e,o),a=e.tone!=="plain"&&t?.text&&t.background?Woe(t.text,t.background,.3):null;return a?{color:a}:{}},zoe=(e,o)=>e.tone!=="plain"&&It(e.sectionAccent)===null?Ko("background")(e,o):{},EL=(e,o)=>({kind:"list",key:"items",name:"Item",flat:!0,when:o,parts:[{kind:"text",key:"text",props:Q,style:e,styleFrom:$oe}]}),Goe={name:"Scrolling Bar",boxProps:(e,o)=>({...J,...Zr,...Gu,...xc[zs(e.separator)]===""?IR:{},...le(e,vi),...zoe(e,o)}),box:[["scrollDirection","scrollDirection",e=>f_(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=>zs(e)],["join","join",e=>TL(e)??void 0],["borders","sectionBorder",e=>e===!1?void 0:{top:1,bottom:1}],...ae,["tone","sectionAccent",(e,o)=>It(o.sectionAccent)??Wt],...ye(vi)],parts:[EL(Uu,e=>!PL(e)),EL(gR,PL)],drop:{...oe,...ie,size:"each item's Text style: Small \u2192 Body 5, Display \u2192 Heading 3"}},OL=e=>e?.tone==="muted",_L=e=>sc(Va(e)),Uoe={name:"Spec Strip",boxProps:(e,o)=>({...J,...Zr,...Ti,...e.fill==="none"?{sectionBorder:{top:1}}:{sectionAccent:_L(o)},...le(e,ki)}),box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>o.fill==="none"?e:_L(t)],...ye(ki)],parts:[{kind:"list",key:"cells",name:"Cell",flat:!0,parts:[{kind:"text",key:"text",props:$,style:Pi,when:(e,o)=>!OL(o)},{kind:"text",key:"text",props:Q,style:Pi,when:(e,o)=>OL(o)}]}],drop:{...oe,...ie,fill:"None \u2192 no fill and a line on top. Dark band (the default) \u2192 the Box's theme is the site's first dark preset that is not its page (lib/theme `darkBandIndex`; Theme 2 with no site theme): the old fixed `plate-band` colour, as a theme"}},AL={Ticker:Goe,SpecStrip:Uoe};import{jsxs as Hi,jsx as je}from"react/jsx-runtime";import{Fragment as KL}from"react";import{Fragment as ste,jsx as uy}from"react/jsx-runtime";import{Fragment as DL,jsx as Di,jsxs as Zoe}from"react/jsx-runtime";import{createContext as fy,useContext as Ni,useEffect as Qoe,useId as ete,useMemo as ote,useRef as tte}from"react";import{armEntrance as ate}from"efficient-shell/format";import{jsx as Voe}from"react/jsx-runtime";import{useEffect as BL,useRef as FL,useState as qoe}from"react";import{armEntrance as Yoe,entranceAttrs as Xoe,playEntrance as Joe}from"efficient-shell/format";import{jsx as Bi}from"react/jsx-runtime";import{createContext as LL,useContext as Qa}from"react";var RL={stretchedRow:!1,fillingColumn:!1},er=LL(null),QMe=()=>Qa(er)!==null,eHe=()=>Qa(er),oHe=()=>Qa(er)?.id??null,ip=LL(!1);function joe(){let e=Qa(er)?.stretchedRow===!0,o=Qa(ip);return e&&!o}var Koe=()=>Qa(ip);function sy(){let e=Qa(er),o=joe(),t=Koe();return{fill:t?` ${LT}`:"",inner:a=>{let r=o||t?Bi(ip.Provider,{value:!0,children:a}):a;return e?.columnsRow?Bi(er.Provider,{value:{...e,columnsRow:!1},children:r}):r}}}function tHe({className:e,style:o,attrs:t,children:a}){let{fill:r,inner:n}=sy(),s=Ca();return s.scope(Bi("div",{className:va(`${e}${r}`,s.className),...o?{style:o}:{},...t,...s.attrs,children:n(a)}))}function aHe({children:e}){let o=Qa(er),t=o===null?null:o.id===void 0?RL:{...RL,id:o.id};return Bi(er.Provider,{value:t,children:Bi(ip.Provider,{value:!1,children:e})})}function iy({desktop:e,phone:o,editing:t,boxClass:a,boxAttrs:r,boxStyle:n,takesViewHide:s=!1,children:l}){let c=FL(null),d=sy(),f=Ca(),m=s?f:ic,u=cy(c),x=u?o:e,{attrs:I,style:g}=Xoe(x),k=FL(ly.seed(e,o)),C=JSON.stringify(e),w=JSON.stringify(o);return BL(()=>{let b=c.current;if(b){if(t){let v=ly.next(k.current,e,o,u);k.current=v.seen,v.play&&Joe(b);return}return Yoe(b)}},[C,w,u,t]),m.scope(Voe("div",{ref:c,className:va(`${eu}${d.fill}${a?` ${a}`:""}`,m.className),...r,...m.attrs,...I,...Object.keys(g).length||n?{style:{...n,...g}}:{},children:d.inner(l)}))}var ly={seed(e,o){return{desktop:JSON.stringify(e),phone:JSON.stringify(o)}},next(e,o,t,a){let r=ly.seed(o,t);return{play:a?r.phone!==e.phone:r.desktop!==e.desktop,seen:r}}};function cy(e,o=!0){let[t,a]=qoe(!1);return BL(()=>{if(!o)return;let r=e.current?.ownerDocument?.defaultView??(typeof window>"u"?null:window);if(!r?.matchMedia)return;let n=r.matchMedia(Yn),s=()=>a(n.matches);return s(),n.addEventListener("change",s),()=>n.removeEventListener("change",s)},[e,o]),t}var cp=fy(null),ML=fy(null),HL=fy(null);function yHe({needles:e,styles:o,motions:t=o1,type:a,children:r}){let n=ete(),s=JSON.stringify([n,e,o,t,a]),l=ote(()=>{let d=Object.keys(t).filter(f=>a1(t[f]));return _E(e,o,n,f=>li(a,f),f=>kE(a,f),f=>d.includes(f)?rb(t[f]):null,d)},[s]);if(!l)return Di(DL,{children:r});let c=AE(l);return Zoe(DL,{children:[c&&Di("style",{href:`${rte}${n}-${nte(c)}`,precedence:$L,dangerouslySetInnerHTML:{__html:c.replace(/</g,"\\3c ")}}),Di(cp.Provider,{value:l,children:r})]})}var dy=new WeakMap;function NL(e,o){let t=n1(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)?(l1(e.ownerDocument),e.setAttribute(du,"")):e.removeAttribute(du)}function WL(e){let o=tte(null),t=e?.motion?.entrance??null,a=e?.motion?.hover==="lift",r=cy(o,t!==null),n=JSON.stringify(t);return Qoe(()=>{let s=o.current,l=s1(s?.parentElement??null);if(!t&&!a||!s||!l)return;let c=t?()=>{let m=r1(l,r?t.phone:t.desktop),u=ate(l);return()=>{u?.(),m()}}:null,d=dy.get(l)??[];dy.set(l,d);let f={element:s,arm:c,lift:a};return d.push(f),NL(l,d),()=>{let m=d.indexOf(f);m<0||(d.splice(m,1),f.undo?.(),f.undo=void 0,NL(l,d),d.length||dy.delete(l))}},[n,a,r]),o}var $L="sf-part-styles",rte=`${$L}-`;function nte(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 zL(e){let o=Ni(cp),t=Ni(ML),a=RE(o,e);return a&&a.stamp!==t?a:null}function SHe(e){return jI(Ni(cp),e)}function GL({stamp:e,children:o}){return Di(ML.Provider,{value:e,children:o})}function wHe({children:e}){let o=Ni(cp);return Di(HL.Provider,{value:o,children:e})}function CHe(e){return jI(Ni(HL),e)}function Mi({value:e,children:o}){let t=zL(e),a=WL(t);return t?uy(GL,{stamp:t.stamp,children:uy("span",{ref:a,[BI]:t.stamp,...t.textStyle?{[Qn]:t.textStyle}:{},children:o})}):uy(ste,{children:o})}import{jsx as py,Fragment as lte}from"react/jsx-runtime";function UL({className:e=""}){return py("sup",{className:`text-accent tracking-normal text-[length:min(1em,max(0.75em,11px))] ${e}`,children:"\xAE"})}function dp(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(py(UL,{},`r${r}`))}),py(lte,{children:t})}var _He=UL;function ba(e,o=!1,t){let a=hte(o),r=$s(e);if(r.length===1){let[s]=r,l=fm(s),c=l?pte(l,s.children):s.children;return Hi(Mi,{value:e,children:[t,fp(c,a)]})}let n=[];return r.forEach((s,l)=>{if(s.bullet){n.push(je("span",{"data-sf-bullet":"",className:ite,children:fp(s.children,a)},l));return}if(s.number!=null){n.push(Hi("span",{"data-sf-number":s.number,className:cte,children:[Hi("span",{className:dte,children:[s.number,"."]}),fp(s.children,a)]},l));return}l>0&&!fte(r[l-1])&&n.push(je("br",{},`br${l}`)),n.push(je(KL,{children:fp(s.children,a)},l))}),Hi(Mi,{value:e,children:[t,n]})}var ite="relative block pl-6 before:absolute before:left-1.5 before:font-bold before:text-accent before:content-['\xB7']",cte="relative block pl-[2em]",dte="absolute left-0 w-[1.6em] text-right tabular-nums";function fte(e){return e.bullet||e.number!=null}var ute="text-accent underline underline-offset-[0.18em]";function pte(e,o){let[t,...a]=o;return t?.kind==="text"?[{kind:"text",text:`${e}${t.text}`},...a]:[{kind:"text",text:e},...o]}function mte(e){return On(e)||void 0}function fp(e,o){let t=[],a=!1;return e.forEach((r,n)=>{if(r.kind==="text"){t.push(je("span",{children:dp(r.text)},n)),a=!0;return}a||t.push(je("span",{},`e${n}`)),t.push(VL(r,n,o)),a=!1}),a||t.push(je("span",{},"end")),t}function jL(e,o){return e.length===1&&e[0].kind==="text"?dp(e[0].text):e.map((t,a)=>t.kind==="text"?je(KL,{children:dp(t.text)},a):VL(t,a,o))}function hte(e){return e?"font-normal italic text-accent":"not-italic text-accent"}function HHe(e){return je(Mi,{value:e,children:je("span",{children:e})})}function VL(e,o,t){if(e.kind==="link")return je("a",{href:e.href,className:ute,children:jL(e.children,t)},o);let a=jL(e.children,t),r=mw[e.kind];if(r)return je("span",{[hw]: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=mte(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 WHe(e,o=!0){let t=e.split(`
85
+ `);return je(Mi,{value:e,children:t.map((a,r)=>Hi("span",{children:[ba(a,o),r<t.length-1?je("br",{}):null]},r))})}function qL(e){return e.split(/\n\s*\n/).map(o=>o.trim()).filter(Boolean)}var YL={direction:"column",justify:"between",gap:14,gapPhone:14,sectionPaddingLeft:14,sectionPaddingRight:14,sectionPaddingLeftPhone:0,sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},my={name:"Year and title",direction:"column",gap:14,gapPhone:14};var ya={text:"Button label",href:"#"},Wi=e=>e.replace(/\*([^*]+)\*/g,"==$1=="),bo={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 up={eyebrow:bo.eyebrow,title:`Section heading
86
+ *Highlight line*`,intro:bo.body,imageCaption:bo.imageCaption,imageMeta:bo.imageMeta,cta:ya.text},XL=()=>[{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.")}],KHe={label:"Story Timeline",defaultProps:{layout:"split",eyebrow:"",title:"",intro:"",imageSrc:"",imageCaption:"",imageMeta:"",ctaText:"",ctaHref:"",entries:[],padTop:120,padBottom:120}};var pp={eyebrow:bo.eyebrow,title:bo.headingAccent,intro:bo.body,cta:ya.text},JL=()=>[{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}],JHe={label:"Milestone Timeline",defaultProps:{eyebrow:"",title:"",intro:"",entries:[],ctaText:"",ctaHref:"",background:Cl,padTop:120,padBottom:120}};var aF={buttonBorder:{width:0}},xp=(e,o,t={})=>({textStyle:"body-5",...W("label",e),letterSpacing:o,lineHeight:1.5,weight:400,...t}),Ts=(e,o,t={})=>({...xp(e,o),...Wo,...t}),Ip=(e,o,t)=>({...e,case:"upper",weight:500,letterSpacing:o,lineHeight:t}),$i=(e,o,t={})=>({textStyle:"body-1",fontRole:"heading",...e,weight:400,case:"none",lineHeight:o,...t}),tt=(e,o,t={})=>({kind:"text",key:e,props:$,style:o,...t});function rF(e,o){return e.kind==="text"?o.includes(e.key)?{...e,mark:"accentItalic"}:e:e.kind==="group"?{...e,parts:e.parts.map(t=>rF(t,o))}:e}var ZL=(e,o)=>o?.future===!0,mp=e=>qL(typeof e?.body=="string"?e.body:""),by=e=>$t(typeof e.background=="string"?e.background:void 0,an.TimelineTrack),hy=e=>by(e)===wo?e:{...e,background:"transparent"},xte={name:"Milestone Timeline",skip:e=>Xu(by(e)),boxProps:(e,o)=>{let t=Xa(hy(e),o);return{...J,direction:"column",gap:60,gapPhone:36,sectionBorder:{bottom:1},...Oo(e,"TimelineTrack"),...Yu(by(e),e,o),...t>=0?{sectionAccent:t}:{}}},box:[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>Ja(e,hy(o),t)],...Ya("TimelineTrack")],parts:[Xb(rF(ep("eyebrow","title","intro"),["title","intro"])),{kind:"group",name:"Track",props:{...A,gap:48,gapPhone:48},parts:[{kind:"group",name:"Years",props:{...A,direction:"row",share:"equal",gap:0,line:!0},parts:[{kind:"list",key:"entries",name:"Year",props:{...A,...YL},item:e=>({props:e.future===!0?{upcoming:!0}:{}}),parts:[{kind:"group",name:my.name,props:{...A,...my},parts:[tt("date",xp(13,.22,{color:"accent"}),{when:(e,o)=>!ZL(e,o)}),tt("date",xp(13,.22,{color:"labels"}),{when:ZL}),tt("title",{textStyle:"heading-3",...Ip(W("headingSmall",20),-.02,1.1)},{role:"heading"})]},tt("blurb",$i(W("body",13),1.55),{props:Q,mark:"accentItalic"})]}]},{kind:"group",name:"Button row",props:{...A,sectionBorder:{top:1,right:0,bottom:0,left:0},sectionPaddingTop:32},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:{...Ze,align:"right",...aF},style:Ts(13,.3)}]}]}],site:(e,o)=>Za({props:hy(e.props)},o),drop:{...oe,...ie,background:"another colour is the Box's Fill, or a skip if no Fill holds it; the band is the Box's theme: the site's band preset (`sectionAccent`), or a declared band-preset write (`lib/theme` `bandPresetIndex`)",headPlacement:"needs a row per head placement: an own-box Milestone Timeline draws no head (its words sit in a Section Header above it), the row always draws the head"}},Sy=e=>typeof e.layout=="string"?e.layout:"split",hp=e=>Sy(e)==="split",yy=e=>!hp(e),nF=e=>Sy(e)==="spine",Ite=e=>yy(e)&&!nF(e),QL=(e,o,t,a)=>({kind:"group",name:"Picture",keepEmpty:!0,box:[["imageSrc","bgImage"]],props:{...A,sectionBorder:{top:1,right:1,bottom:1,left:1},darken:75,darkenStyle:"bottom",placement:"bottom-center",sectionHeightMode:"fixed",sectionHeightValue:e,sectionHeightUnit:"px",sectionHeightModePhone:"fixed",sectionHeightValuePhone:o,sectionHeightUnitPhone:"px",...io(12,16),...t},when:r=>a(r)&&typeof r.imageSrc=="string"&&r.imageSrc.trim()!=="",parts:[{kind:"group",name:"Caption",props:{...A,direction:"row",justify:"between",align:"center",gap:12,gapPhone:12,share:"content",phoneRow:2},parts:[tt("imageCaption",Ts(11,.24,{color:"text"})),tt("imageMeta",Ts(11,.24,{color:"accent"}),{props:{...$,align:"right"}})]}]}),eF=(e={})=>({kind:"button",key:"ctaText",href:"ctaHref",variant:"ghost",props:{...Ze,...e,...aF},style:Ts(13,.3)}),xy=()=>[tt("title",{textStyle:"heading-3",...Ip(W("headingSmall",24,20),-.02,1.5)},{role:"heading",mark:"accentItalic"}),{kind:"block",type:"Text",props:{...$,_partStyles:{text:$i(W("body",17,16),1.6)}},box:[["body","text",(e,o)=>fr(mp(o)[0]??"")]],when:(e,o)=>mp(o).length>0},{kind:"block",type:"Text",props:{...Q,_partStyles:{text:$i(W("body",17,16),1.6,{paragraphSpacing:14})}},box:[["body","text",(e,o)=>fr(mp(o).slice(1).join(`
87
+
88
+ `))]],when:(e,o)=>mp(o).length>1}],Iy=()=>tt("date",xp(13,.24,{color:"accent"})),gy=(e,o,t={})=>tt(e,o,{...t,props:{...$,...t.props??{},align:"center"}}),oF=Mo("headingMedium",40,5,76),tF={sectionBorder:{bottom:1}},gte={name:"Story Timeline",skip:e=>Sy(e)==="track"?'display "track": not converted (it draws the Milestone rail; a Track story is not stored anywhere)':void 0,boxProps:e=>hp(e)?{...J,direction:"row",share:[40],gap:80,gapPhone:48,align:"start",...tF,...Oo(e,"Timeline")}:{...J,direction:"column",gap:48,gapPhone:48,align:"center",...tF,...Oo(e,"Timeline")},box:[...ae,...Ya("Timeline")],parts:[{kind:"group",name:"Heading",props:{...A,gap:24,gapPhone:24},when:hp,parts:[tt("eyebrow",Ts(12,.3,{color:"accent"}),{role:"eyebrow"}),tt("title",{textStyle:"heading-2",...Ip(oF,-.03,.94)},{role:"heading",mark:"accentItalic"}),tt("intro",$i(W("body",14),1.6),{props:{...Q,maxWidth:360},mark:"accentItalic"}),QL(667,419,{},()=>!0),eF()]},{kind:"group",name:"Chapters",props:{...A,gap:48,gapPhone:48,line:!1},when:hp,parts:[{kind:"list",key:"entries",name:"Chapter",props:{...A,direction:"row",gap:24,gapPhone:8,share:[12],align:"start"},parts:[Iy(),{kind:"group",name:"Words",props:{...A,gap:14,gapPhone:14},parts:xy()}]}]},{kind:"group",name:"Heading",props:{...A,gap:24,gapPhone:24,align:"center",maxWidth:760,widthFit:"fill"},when:yy,parts:[gy("eyebrow",Ts(12,.3,{color:"accent"}),{role:"eyebrow"}),gy("title",{textStyle:"heading-2",...Ip(oF,-.03,.94)},{role:"heading",mark:"accentItalic"}),gy("intro",$i(W("body",14),1.6),{props:{...Q,maxWidth:520},mark:"accentItalic"}),eF({align:"center"})]},QL(506,192,{maxWidth:900,widthFit:"fill"},yy),{kind:"group",name:"Chapters",props:{...A,gap:48,gapPhone:48,line:!0,maxWidth:760,widthFit:"fill",sectionPaddingTop:16},when:nF,parts:[{kind:"list",key:"entries",name:"Chapter",props:{...A,gap:8,gapPhone:8},parts:[Iy(),{kind:"group",name:"Words",props:{...A,gap:14,gapPhone:14},parts:xy()}]}]},{kind:"group",name:"Chapters",props:{...A,gap:56,gapPhone:56,maxWidth:1e3,widthFit:"fill",sectionPaddingTop:16,mirrorCards:"even"},when:Ite,parts:[{kind:"list",key:"entries",name:"Chapter",props:{...A,direction:"row",gap:64,gapPhone:0,share:[50],align:"start"},parts:[{kind:"group",name:"Entry",props:{...A,gap:8,gapPhone:8},parts:[Iy(),{kind:"group",name:"Words",props:{...A,gap:14,gapPhone:14},parts:xy()}]},{kind:"group",name:"Spacer",props:{...A},keepEmpty:!0,parts:[]}]}]}],drop:{...oe,...ie,layout:"the Box's own arrangement replaces it: Split a row of two Boxes; Spine and Alternating a centred column (Track is skipped)"}},sF=()=>({eyebrow:up.eyebrow,title:Wi(up.title),intro:up.intro,ctaText:ya.text,ctaHref:ya.href,entries:XL()}),lF=()=>({eyebrow:pp.eyebrow,title:Wi(pp.title),intro:pp.intro,ctaText:ya.text,ctaHref:ya.href,entries:JL()}),iF={TimelineTrack:xte,Timeline:gte};import{tabletKey as Cte}from"efficient-easel/draw";import{slugify as h4e}from"efficient-shell/format";import{rootIsDark as bte}from"efficient-shell/format";function u4e(e="auto"){return e==="light"?!0:e==="dark"?!1:!bte({whenUnset:!0})}function cF(e,o){return Number.isFinite(e)&&Number.isFinite(o)&&!(e===0&&o===0)}function wy(e){let o=Number.parseFloat(e??"");return Number.isFinite(o)?o:0}var yte=["tall","square","wide"],Ste="tall";function dF(e){return yte.includes(String(e??""))?String(e):Ste}var I4e={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"},g4e=[{photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
89
+ 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
90
+ Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""}],wte=/^https?:\/\//i;function b4e(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:wy(e.lat),lng:wy(e.lng),mapsUrl:wte.test(o)?o:""}}function Cy(e){let o=String(e??"").split(" \xB7 ");return{state:(o[0]??"").trim(),country:(o[1]??"").trim()}}var y4e="other",S4e={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 fF(e){let o=String(e??"").replace(/[^+\d]/g,"");return o?`tel:${o}`:void 0}var at=e=>typeof e=="string"?e:e==null?"":String(e),ky=e=>Array.isArray(e.locations)?e.locations.map(o=>o??{}):[],Ps=e=>at(e.group),yF=e=>`loc-${e}`,SF=e=>at(e.state).trim()||Cy(at(e.region)).state,wF=e=>at(e.country).trim()||Cy(at(e.region)).country,uF=e=>[SF(e),wF(e)].filter(Boolean).join(" \xB7 "),vte=e=>ky(e).some(o=>at(o.photo).trim()!==""),kte=e=>ky(e).some(o=>cF(Number(o.lat),Number(o.lng))),Tte=(e,o)=>ky(e).filter(t=>Ps(t)===Ps(o)).length,Pte=(e,o)=>Tte(e,o)===1?"wide":dF(e.imageShape),vy={top:100,bottom:100,topPhone:60,bottomPhone:60},pF=48,_t=(e,o={})=>({...pt(e),...o}),Ty={top:1,right:1,bottom:1,left:1},Py={...A,direction:"row",share:"equal",gap:0},Ete=e=>o=>o>bi(o)?{...A,gap:0}:{...Py,...o>1?{phoneRow:e}:{}},Ote={kind:"group",name:"Gallery",props:{...A,gap:20,_hidden:!0},when:vte,parts:[{kind:"group",name:"Gallery head",props:{...A,direction:"row",justify:"between",align:"end",gap:24,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},parts:[de("galleryKicker",_t(12,{color:"accent",letterSpacing:.3})),{kind:"text",key:"galleryHint",props:{...Q,align:"right",alignPhone:"left"},style:_t(11,{letterSpacing:.22,alignPhone:"left"})}]},{kind:"group",name:"Groups",props:{...A,gap:24},parts:[{kind:"list",key:"locations",name:"City picture",props:{...A,darken:85,darkenStyle:"bottom",placement:"bottom-left",sectionBorder:Ty,...io(12,12)},item:(e,o,t)=>({props:{...at(e.photo).trim()?{bgImage:at(e.photo),hover:"mono"}:{},link:`#${yF(o)}`,boxShape:Pte(t,e)}}),parts:[{kind:"text",key:"name",props:$,style:_t(11,{letterSpacing:.22,color:"text"})}],groups:{of:Ps,name:"Group",props:{...A,gap:10},head:e=>({label:Ps(e[0]??{})}),parts:[de("label",_t(11,{color:"accent",letterSpacing:.3}))],itemsName:"Cities",itemsProps:Ete(2),perRow:bi,rowName:"Row",rowProps:{...Py,phoneRow:2}}}]}]},_te={kind:"group",name:"Words",props:{...A,gap:12,gapPhone:12,...io(28,28),sectionHeightMode:"fixed",sectionHeightValue:280,sectionHeightUnit:"px",sectionHeightModePhone:"auto"},parts:[{kind:"group",name:"Name row",props:{...A,direction:"row",justify:"between",align:"start",gap:14,share:"content",phoneRow:2,sharePhone:"content",wrapPhone:"wrap",sectionPaddingBottom:6,sectionPaddingBottomPhone:6},parts:[{kind:"group",name:"Name",props:{...A,gap:6,gapPhone:6},parts:[{kind:"text",key:"name",role:"heading",props:$,style:{textStyle:"heading-3",...W("headingSmall",30),case:"upper",weight:500,lineHeight:1,letterSpacing:-.02}},{kind:"block",type:"Text",props:{...$,_partStyles:{text:_t(12,{color:"accent",letterSpacing:.24,lineHeight:1.5})}},box:["region","state","country"].map(e=>[e,"text",(o,t)=>uF(t)]),when:(e,o)=>uF(o??{})!==""}]},{kind:"group",name:"Time zone",props:{...A,sectionBorder:Ty,...io(6,10)},parts:[{kind:"text",key:"timezone",props:{...Q,textFit:"line"},style:_t(12,{letterSpacing:.22,lineHeight:1.5})}]}]},{kind:"text",key:"address",props:Q,style:{textStyle:"body-5",fontRole:"heading",...W("body",14),lineHeight:1.5}},{kind:"block",type:"ButtonBlock",props:{...Ze,...Ia,variant:"ghost",arrow:!1,_partStyles:{label:_t(13,{letterSpacing:.18,color:"text",lineHeight:24/13})}},box:[["phone","label"],["phone","href",e=>fF(at(e))??"#"]],when:(e,o)=>at(o?.phone).trim()!==""},{kind:"text",key:"hours",props:Q,style:_t(12,{letterSpacing:.18,lineHeight:1.7})}]},Ate={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)=>SF(t)]),...["region","country"].map(e=>[e,"country",(o,t)=>wF(t)])]},Rte={kind:"group",name:"Map",props:{...A,sectionBorder:{top:1,right:0,bottom:0,left:0}},parts:[Ate]},Lte={kind:"list",key:"locations",name:"City",props:(e,o)=>({...A,gap:0,justify:"between",sectionBorder:Ty,jumpHighlight:!0,sectionAccent:Xa(e,o)>=0?on(e.sectionAccent,o):-1}),item:(e,o)=>({props:{anchor:yF(o)}}),parts:[_te,Rte],groups:{of:Ps,name:"Group",props:{...A,gap:20},head:e=>{let o=e[0]??{};return{key:Ps(o),groupName:at(o.groupName),count:`${e.length} location${e.length===1?"":"s"}`}},parts:[{kind:"group",name:"Group head",props:{...A,direction:"row",justify:"between",align:"end",gap:16,share:"content",sectionBorder:{bottom:1},sectionPaddingBottom:16},when:(e,o)=>at(o?.key).trim()!=="",parts:[de("key",_t(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:Q,style:_t(12,{letterSpacing:.22})}]}],itemsName:"Cities",itemsProps:e=>({...Py,columns:bi(e),[Cte("columns")]:1})}},mF=_t(10,{letterSpacing:.25}),Fte={kind:"block",type:jt,props:{...A,name:"Credit",direction:"row",justify:"end",align:"center",gap:6,share:"content",wrap:!0},when:kte,slot:Kt,keepEmpty:!0,parts:[{kind:"block",type:"Text",props:{...Q,text:"Location coordinates \xA9",_partStyles:{text:mF}}},{kind:"block",type:"ButtonBlock",props:{...Ze,...Ia,variant:"ghost",arrow:!1,label:"OpenStreetMap contributors",href:"https://www.openstreetmap.org/copyright",_partStyles:{label:{...mF,color:"labels"}}}}]},hF=(e,o)=>Object.fromEntries(o.filter(t=>e[t]!==void 0).map(t=>[t,e[t]])),xF=["sectionPaddingTop","sectionPaddingTopTablet","sectionPaddingTopPhone"],IF=["sectionPaddingBottom","sectionPaddingBottomTablet","sectionPaddingBottomPhone"],gF=e=>e.map(o=>[o,o,(t,a)=>le(a,vy)[o]]),bF=["sectionAccent","sectionAccent",Ja],Bte=["gridSpan",...An,...Object.values(co)],Dte={name:"City pictures",skip:e=>so(e)?`fed by the data source "${so(e)}": its cities are read as the page is served, not stored on the node`:void 0,boxProps:(e,o)=>({...J,direction:"column",gap:40,anchor:"studios",...hF(le(e,vy),xF),sectionPaddingBottom:pF,sectionPaddingBottomPhone:pF,...tn(e,o)}),box:[...ae.filter(e=>e!=="sectionAccent"&&e!=="anchor"),bF,["anchor","anchor",e=>nl(e).trim()?e:"studios"],...gF(xF)],parts:[ep("sectionNumber","heading","tagline"),Ote],also:[{name:"City maps",boxProps:(e,o)=>({...J,direction:"column",gap:40,sectionBorder:{bottom:1},sectionPaddingTop:0,sectionPaddingTopPhone:0,...hF(le(e,vy),IF),...tn(e,o)}),box:[...Bte,bF,...gF(IF)],parts:[Lte,Fte]}],reads:{mapTheme:"City maps Box: each Map block's Map theme",imageShape:"City pictures Box: each picture Box's Box shape"},site:Za,drop:{...oe,...ie,apiKey:"a stored Google Maps key from before the map needed none: the website's one map (components/SiteMap) takes no key, and a key is a credential, never page content",mapId:"a Google Maps style id from the same retired map: nothing in src/ reads it",gallery:"the retired separate tile list: the wall is derived from the cities (`components/ContactLocations`), nothing in src/ reads it",dataSource:"always empty here: a node fed by a source is skipped (see skip)"}},CF={ContactLocations:Dte};var gp=Ks(11),Nte={textStyle:"body-1",...W("body",18),weight:500,lineHeight:1.2},vF=()=>({type:q,props:{...A,gap:8,gapPhone:8,...io(20,24,20,20),name:"Office"},slots:{[fe]:[ge("badge",{...$,tag:"p",widthFit:"fill"},gp,!0),ge("role",{...$,tag:"p",widthFit:"fill"},gp,!0),ge("city",{...$,tag:"p",widthFit:"fill"},Nte),ge("country",{...Q,tag:"p",widthFit:"fill"},gp),ge("address",{...Q,tag:"p",widthFit:"fill"},gp),{type:"ButtonBlock",props:{variant:"link",label:"",href:"",[So]:"linkLabel",[Rm]:"href"}}]}});var Mte=["Collections","Events","FAQ","Footprint","GalleryB","LongRead","ProcessSteps","RelatedProducts"];var or=(e,o)=>()=>({top:e,topPhone:o}),kF=e=>o=>{let t=Oo(o,e).sectionPaddingTop;return{top:t,topPhone:t}},Hte={Collections:or(120,70),Events:or(120,70),FAQ:or(120,70),GalleryB:or(120,70),FitmentTable:or(120,80),SpecTable:or(120,80),LongRead:or(120,80),RelatedProducts:or(0,0),Footprint:kF("Footprint"),ProcessSteps:kF("ProcessSteps"),ProductGrid:e=>({top:j(e.padTop)??120,topPhone:0})};function Wte(e,o={}){let t=To[e],a=Hte[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=et(e),s=ap(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:hc[e]??e,boxProps:d=>{let f=a(d),m=o.roomBelow?{sectionPaddingBottom:o.roomBelow.bottom,sectionPaddingBottomPhone:o.roomBelow.bottomPhone}:{};return{...J,direction:"column",gap:Qu[vs(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 $te={...A,direction:"accordion",rowStyle:"numbered"},zte={Footprint:{slots:{[to]:[vF()]},pressHeading:!0},FAQ:{slots:{[to]:[Am()]},pressHeading:!0,coreBox:{name:"Questions",props:$te},coreProps:{sectionAccent:Wt},roomBelow:{bottom:120,bottomPhone:70}}},TF=Object.fromEntries(Mte.map(e=>[e,Wte(e,zte[e])]));import{BLOCK_WIDTH_LIMIT as Gte}from"efficient-easel/draw";var bp={eyebrow:bo.eyebrow,title:bo.headingAccent,deck:"Add a sentence or two introducing this document."},o5e={label:"Document masthead",defaultProps:{eyebrow:"",title:"",deck:"",meta:[]}};var BF={minWidth:Gte.min},PF=(e,o,t)=>({...de(e,{...o,...Ei}),props:{...$,align:"right",...Qr,...t}}),DF={top:1,bottom:0},Oy=(e,o,t,a)=>({kind:"group",name:e,props:{...A,sectionPaddingBottom:o,sectionPaddingBottomPhone:t},parts:[a]}),EF={widthFit:"fill",...BF},OF={top:100,bottom:60,topPhone:60,bottomPhone:40},Ute={...W("label",13),letterSpacing:.22,lineHeight:1.8},_F={textStyle:"heading-1",...Mo("headingLarge",56,8,128),case:"upper",weight:500,lineHeight:.88,letterSpacing:-.04},AF=e=>e.titleLevel===2,jte=()=>({name:"Page Header",boxProps:e=>({...J,direction:"column",gap:0,sectionBorder:{bottom:1},...le(e,OF)}),box:[...ae,...ye(OF)],parts:[{kind:"group",name:"Header",props:{...A,direction:"row",align:"end",justify:"between",gap:40,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[Oy("Eyebrow",12,0,{...de("eyebrow",W("label",13)),props:{...$,...Qr}}),{kind:"text",key:"title",role:"heading",props:{...$,tag:"h1",...EF},style:_F,mark:"accentItalic",when:e=>!AF(e)},{kind:"text",key:"title",role:"heading",props:{...$,tag:"h2",...EF},style:_F,mark:"accentItalic",when:AF},{kind:"group",name:"Details",props:{...A,align:"stretch",gap:0,gapPhone:0,sectionPaddingBottom:12,sectionPaddingBottomPhone:0},parts:[{kind:"list",key:"meta",name:"Detail",flat:!0,parts:[Oi("label","value",Ute,Qr)]}]}]},{kind:"group",name:"Deck",props:{...A,maxWidth:760,sectionBorder:DF,sectionPaddingTop:28},parts:[{kind:"text",key:"deck",props:Q,style:{textStyle:"body-1",fontRole:"accent",...W("body",22,19),italic:!0,lineHeight:1.5}}]}],drop:{...oe,...ie,titleLevel:"read by the title part's `when`: 2 (set by lib/document/one-h1 on a later opener) makes the Text an h2, anything else an h1"}}),NF=()=>({eyebrow:bp.eyebrow,title:Wi(bp.title),deck:bp.deck,meta:[{label:bo.label,value:bo.value},{label:bo.label,value:bo.value}]}),RF={top:80,bottom:40,topPhone:60,bottomPhone:32},Kte={...W("label",13),letterSpacing:.18,lineHeight:1.8},LF={...W("label",13),letterSpacing:.22,lineHeight:1.9},Vte=()=>({name:"Issue Header",boxProps:e=>({...J,direction:"column",gap:0,sectionBorder:{bottom:1},...le(e,RF)}),box:[...ae,...ye(RF)],parts:[{kind:"group",name:"Top",props:{...A,direction:"row",align:"end",justify:"between",gap:60,gapPhone:16,share:"content",sectionPaddingBottom:32},parts:[Oy("Eyebrow",14,14,de("eyebrow",W("label",14))),{kind:"group",name:"Issue",props:{...A,align:"end",gap:0,gapPhone:0,sectionPaddingBottom:14},parts:[{kind:"list",key:"issueMeta",name:"Issue line",flat:!0,parts:[Oi("lead","rest",Kte)]}]}]},{kind:"group",name:"Bottom",props:{...A,direction:"row",align:"start",justify:"between",gap:60,gapPhone:16,share:"content",sectionBorder:DF,sectionPaddingTop:32},parts:[{kind:"text",key:"lead",props:{...$,maxWidth:720,...BF},style:{textStyle:"body-1",fontRole:"heading3",...W("headingSmall",20),lineHeight:1.5,letterSpacing:-.005,paragraphSpacing:16}},{kind:"group",name:"In this issue",props:{...A,align:"stretch",gap:0},parts:[Oy("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,...Ei}}),{kind:"group",name:"Lines",props:{...A,align:"stretch",gap:0},parts:[{kind:"list",key:"issueList",name:"Line",flat:!0,parts:[PF("text",{color:"labels",...LF})]}]},PF("issueTotal",LF)]}]}],drop:{...oe,...ie}}),FF={top:24,bottom:24,topPhone:16,bottomPhone:16},Ey={color:"labels",...W("label",13),letterSpacing:.2},MF=e=>(Array.isArray(e.items)?e.items:[]).filter(o=>o&&typeof o.label=="string"&&o.label.trim()!==""),_y=(e,o)=>o!==void 0&&MF(e).at(-1)===o,HF=(e,o)=>o!==void 0&&MF(e).includes(o),qte=(e,o)=>HF(e,o)&&!_y(e,o)&&Je(o?.href),Yte=()=>({name:"Breadcrumb",skip:e=>Je(e.meta)?'a trailing note after "\xB7" needs a second mark; none live':void 0,boxProps:e=>({...J,...Zr,wrap:"wrap",gap:16,gapPhone:16,separator:"slash",sectionBorder:{bottom:1},...le(e,FF)}),box:[...ae,...ye(FF)],parts:[{kind:"list",key:"items",name:"Crumb",flat:!0,parts:[{kind:"button",key:"label",href:"href",variant:"ghost",when:qte,props:{...Ze,...Ia,icon:"none"},style:Ey},{...de("label",Ey),when:(e,o)=>HF(e,o)&&!_y(e,o)&&!Je(o?.href)},{...de("label",{...Ey,color:"text"}),when:_y}]}],drop:{...oe,...ie,meta:"a node that stores a note is skipped (`skip`); an empty one draws nothing"}}),WF={DocMasthead:jte(),Masthead:Vte(),Breadcrumb:Yte()};import{jsx as rn,jsxs as Ry}from"react/jsx-runtime";import{slugify as Xte}from"efficient-shell/format";import{jsx as Ay,jsxs as $F}from"react/jsx-runtime";var f5e="sticky top-[120px]";var zF=(e,o)=>e?{[kf]:o}:{},GF=(e,o)=>Tf(e?.[OI(o)]?.role,hu[o],hn),UF=120;function jF({title:e,entries:o,stickyTop:t,sticky:a=!0,editing:r=!1,partStyles:n,numberForm:s=rI,takesViewHide:l=!1}){let c=s==="plain",d=Ca(),f=l?d:ic;return f.scope($F("aside",{className:va(`${a?"sticky ":""}flex flex-col self-start max-[900px]:static`,f.className),style:a?{top:t}:void 0,...f.attrs,children:[e&&Ay("h4",{className:"mb-[18px] font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-accent",children:ba(e)}),o.map((m,u)=>{let x=Ay("span",{...zF(r,"number"),style:GF(n,"number"),className:"text-accent",children:rf(s,u)});return $F("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,Ay("span",{...zF(r,"entry"),style:GF(n,"entry"),children:ba(m.label||"Section")}),!c&&x]},`${u}-${m.anchor}`)})]}))}function Jte(e,o){return Xte(e)||`section-${o+1}`}var Ly=e=>typeof e=="string"&&e.trim()!=="";function Fy(e){return(e??[]).filter(o=>Ly(o.heading)||Ly(o.label)||Ly(o.body))}function By(e){let o=new Set;return e.map((t,a)=>{let r=Jte(t.label||t.heading||"",a),n=r,s=2;for(;o.has(n);)n=`${r}-${s++}`;return o.add(n),n})}function Dy(e){let o=[];for(let t of e.replace(/\r\n?/g,`
91
+ `).split(/\n[ \t]*\n/))t.split(`
92
+ `).map(a=>a.replace(/\s+$/,"")).filter(a=>a.trim()!=="").forEach((a,r)=>{let n=$s(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+=`
93
+ ${a}`:o.push({type:"p",text:a})});return o}var Zte=()=>[{label:i("First section"),heading:i("Your *first* section."),body:i(`Write the opening paragraph here.
94
+
95
+ - Start a line with a dash for a bullet.
96
+ - 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.")}],Qte=UF;function _5e({tocTitle:e,sections:o,editing:t=!1,stickyTop:a=Qte}){let r=Fy(o);if(r.length===0&&!t)return null;let n=r.length===0&&t?Zte():r,s=By(n);return rn(cc,{as:"section",className:"relative z-[2] bg-bg",children:Ry("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:[rn(jF,{title:e,entries:n.map((l,c)=>({label:l.label||"Section",anchor:s[c]})),stickyTop:a}),rn("div",{className:"flex flex-col gap-16",children:n.map((l,c)=>Ry("article",{id:s[c],className:"flex flex-col gap-[18px]",style:{scrollMarginTop:a},children:[Ry("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.3em] text-accent",children:[aI(c)," \xB7 ",ba(l.label||"Section")]}),l.heading&&rn("h2",{className:"mb-2 border-b border-line pb-[18px] font-heading2 text-[length:min(var(--size-headingMedium,clamp(28px,3.5vw,44px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[1.04] tracking-[-0.025em]",children:ba(l.heading)}),Dy(l.body??"").map((d,f)=>d.type==="ul"?rn("ul",{className:"flex max-w-[680px] list-none flex-col gap-2.5 pl-0",children:d.items.map((m,u)=>rn("li",{className:"relative pl-6 font-serif text-[length:var(--size-body,17px)] leading-[1.65] text-fg-dim before:absolute before:-top-0.5 before:left-1.5 before:text-[length:var(--size-body,24px)] before:leading-none before:text-accent before:content-['\xB7']",children:ba(m)},u))},f):rn("p",{className:"max-w-[680px] font-serif text-[length:var(--size-body,17px)] leading-[1.7] text-fg-dim",children:ba(d.text)},f))]},s[c]))})]})})}import{VIEW_DESKTOP_MIN as Ny,VIEW_TABLET_MIN as eae}from"efficient-easel/draw";var yp=Ic["view-wide"],KF=960,oae=eae,VF={min:yp,max:1600,step:10},qF="stackBelow";function F5e(e){if(!(typeof e!="number"||!Number.isFinite(e))&&!(e<VF.min||e>VF.max))return Math.round(e)}var tae=e=>`sf-stack-${e}`,aae=e=>`sf-stack-${e}-gutter`,rae=e=>`sf-stack-${e}-outer`,Es=e=>`${e-.02}px`;function B5e(e){let o=`.${tae(e)}`,t=`.${aae(e)}`,a=`.${rae(e)}`,r=[];if(e>yp){let n=`${o}>.sf-block-size,${o}>[data-easel-block]>[data-sf-part-host]>.sf-block-size`,s=Math.min(e,Ny);r.push(`@media (min-width:${yp}px) and (max-width:${Es(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:${yp}px) and (max-width:${Es(s)}){.sf-gap-zone${o}{gap:var(--sf-gap-len-tablet,var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2)))}}`),e>Ny&&r.push(`@media (min-width:${Ny}px) and (max-width:${Es(e)}){.sf-gap-zone${o}{gap:var(--sf-gap-len-phone,calc(var(--sf-gap-len) / 2))}}`)}return r.push(`@media (max-width:${Es(e)}){${t}${t}{padding-inline:min(24px,var(--sf-site-gutter,40px))}}`),e<KF&&r.push(`@media (min-width:${e}px) and (max-width:${Es(KF)}){${t}${t}{padding-inline:var(--sf-site-gutter,40px)}}`),r.push(`@media (min-width:${oae}px) and (max-width:${Es(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 YF={top:80,bottom:80,topPhone:60,bottomPhone:60},XF=18,JF=18,ZF=8,nae=10,My=e=>typeof e=="string"&&e.trim()!=="",QF=e=>Fy(e.sections),sae=e=>Dy(typeof e.body=="string"?e.body:"").map(o=>o.type==="ul"?{kind:"ul",text:o.items.map(t=>`- ${t}`).join(`
97
+ `)}:{kind:"p",text:o.text}),Hy={...pt(12),letterSpacing:.3,color:"accent",lineHeight:1.5},eB={textStyle:"body-1",fontRole:"accent",...W("body",17)},lae=[de("label",Hy),{...de("title",Hy),when:(e,o)=>!My(o?.label)},{kind:"block",type:"Text",when:(e,o)=>!My(o?.label)&&!My(o?.title),props:{...$,text:"Section",_partStyles:{text:Hy}}},{kind:"group",name:"Heading",props:{...A,sectionPaddingBottom:ZF,sectionPaddingBottomPhone:ZF},parts:[{kind:"group",name:"Heading line",props:{...A,sectionBorder:{bottom:1},sectionPaddingBottom:JF,sectionPaddingBottomPhone:JF},parts:[{kind:"text",key:"heading",role:"heading",props:$,style:{textStyle:"heading-2",...Mo("headingMedium",28,3.5,44),case:"upper",weight:500,lineHeight:1.04,letterSpacing:-.025}}]}]},{kind:"list",key:"body",name:"Body",flat:!0,of:sae,parts:[{kind:"text",key:"text",props:Q,style:{...eB,lineHeight:1.7},when:(e,o)=>o?.kind==="p"},{kind:"text",key:"text",props:Q,style:{...eB,lineHeight:1.65,paragraphSpacing:nae},when:(e,o)=>o?.kind==="ul"}]}],iae=900,cae={name:"Document Text",boxProps:e=>({...J,direction:"row",gap:80,gapPhone:40,[qF]:iae,sectionBorder:{bottom:1},...le(e,YF)}),box:["anchor","sectionAccent",...An,...Object.values(co),...ye(YF)],parts:[{kind:"block",type:"Contents",props:e=>({title:e.tocTitle??"",sticky:!0,widthFit:"fixed",width:240,widthFitPhone:"fill"})},{kind:"group",name:"Sections",props:{...A,gap:64,gapPhone:64,widthFit:"fill"},parts:[{kind:"list",key:"sections",name:"Section",of:e=>QF(e),props:{...A,gap:XF,gapPhone:XF},item:(e,o,t)=>({props:{anchor:By(QF(t))[o]??`section-${o+1}`}}),parts:lae}]}],reads:{tocTitle:"the Contents block's Heading"},drop:{...oe,stickyTop:"the Contents block draws DocBody's default (120px); 0 live nodes store it"}},oB={DocBody:cae};var K5e="[--intro-edge:60px] max-[960px]:[--intro-edge:24px]",dae="overlay",fae=[{label:"Copy over image",value:"overlay"},{label:"Copy above image",value:"stacked"}];function tB(e){return lo(fae,dae,e)}var V5e={desktop:40,mobile:45,min:20,max:80,step:5};function q5e(e,o){return`${typeof e=="number"?e:o}%`}var aB=(e,o)=>{let t=j(e),a=j(o);return{...t===void 0?{}:{size:t},...a===void 0?{}:{sizePhone:a}}},uae=e=>tB(e.layout)==="stacked",rB=e=>Math.min(Math.max(j(e.overlay)??60,0),100),Sp=e=>j(e)??100,pae={textStyle:"heading-1",sizeToken:{...Mo("headingLarge",48,7,96).sizeToken,pxPhone:36},weight:500,lineHeight:.95,letterSpacing:-.03},mae=[de("eyebrow",W("label",14)),...[!0,!1].map(e=>({kind:"text",key:"title",role:"heading",props:$,style:{...pae,case:e?"upper":"none"},styleFrom:o=>aB(o.titleSizeDesktop,o.titleSizeMobile),when:o=>o.uppercase===!0===e})),{kind:"text",key:"body",props:{...Q,maxWidth:560},style:{textStyle:"body-1",...W("body",17,16),lineHeight:1.6,paragraphSpacing:24},styleFrom:e=>aB(e.bodySizeDesktop,e.bodySizeMobile)},{kind:"group",name:"Button",props:{...A,align:"start",sectionPaddingTop:8,sectionPaddingTopPhone:8},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:Ze}]}],nB=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)`,hae=()=>({name:"Scroll-Over Text",skip:e=>uae(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",..._i,placement:"left",darken:rB(e),darkenStyle:"even",sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:Sp(e.heightDesktop),sectionHeightModePhone:"fixed",sectionHeightUnitPhone:"%",sectionHeightValuePhone:Sp(e.heightMobile)}),box:[...ae.filter(e=>!String(typeof e=="string"?e:e[0]).startsWith("sectionHeight")),["imageSrc","bgImage"],["imageSrcMobile","bgImagePhone"],["overlay","darken",(e,o)=>rB(o)],["heightDesktop","sectionHeightValue",e=>Sp(e)],["heightMobile","sectionHeightValuePhone",e=>Sp(e)]],parts:mae,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:nB("Button color"),buttonTextColor:nB("Button text color"),...oe}}),iB={textStyle:"heading-2",...W("headingMedium",56,36),weight:400,lineHeight:1.05,letterSpacing:-.03},xae={textStyle:"body-1",...W("body",16),lineHeight:1.7},cB=e=>({kind:"text",key:"body",props:{...Q,maxWidth:520},style:{...xae,paragraphSpacing:e}}),Cp={top:0,bottom:0,topPhone:0,bottomPhone:0},Wy=(e,o)=>typeof e.sectionHeightMode=="string"&&e.sectionHeightMode!=="auto"?{}:{sectionHeightMode:"fixed",sectionHeightUnit:"%",sectionHeightValue:o,sectionHeightModePhone:"auto"},Iae=(e,o)=>{let t=Wy(e,o);return Object.keys(t).length?t:{sectionHeightMode:e.sectionHeightMode,...e.sectionHeightValue===void 0?{}:{sectionHeightValue:e.sectionHeightValue},...e.sectionHeightUnit===void 0?{}:{sectionHeightUnit:e.sectionHeightUnit},sectionHeightModePhone:"auto"}},dB={boxShapePhone:"landscape"},fB="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)",gae=(e,o)=>({[e]:o,[`${e}Phone`]:o}),bae={textStyle:"heading-2",...W("headingMedium",40),weight:500,case:"none",lineHeight:1,letterSpacing:-.02},sB=e=>(Array.isArray(e.stats)?e.stats:[]).filter(o=>o&&(String(o.value??"").trim()!==""||String(o.label??"").trim()!=="")),yae=()=>({name:"Brand Text",boxProps:(e,o)=>({...J,...Ko("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...le(e,Cp),...Wy(e,100)}),box:[...ae,...ye(Cp)],parts:[{kind:"group",name:"Words",props:(e,o)=>({...A,justify:"center",gap:28,gapPhone:28,sectionBorder:Ai({right:1}),sectionBorderPhone:Ai({}),..._i,sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60,sectionPaddingRight:ws(o)}),parts:[de("eyebrow",W("label",14)),{kind:"text",key:"heading",role:"heading",props:$,style:{...iB,case:"none"},mark:"accentItalic"},cB(28),{kind:"group",name:"Stats",props:{...A,sectionPaddingTop:16,sectionPaddingTopPhone:16},parts:[{kind:"group",name:"Figures",props:e=>({...A,direction:"row",share:"equal",gap:24,gapPhone:24,maxWidth:520,phoneRow:Math.min(Math.max(sB(e).length,1),3),...gae("sectionBorder",Ai({top:1})),sectionPaddingTop:28,sectionPaddingTopPhone:28}),parts:[{kind:"list",key:"stats",name:"Stat",of:sB,props:{...A,gap:4,gapPhone:4},parts:[{kind:"text",key:"value",props:en,style:bae},de("label",{...W("label",13),color:"labels",letterSpacing:.2})]}]}]}]},Ub("Picture","imageSrc",dB)],drop:{...oe,grayscale:fB,...ie}}),wp=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}},Sae=e=>e.textAlign==="center"?"center":e.textAlign==="right"?"end":"stretch",wae=e=>Math.min(Math.max(j(e.overlay)??60,0),100),uB=e=>typeof e=="string"&&e.trim()!=="",Cae={...Ze,align:"center",alignPhone:"center",buttonFillOpacity:0,buttonBorder:{width:1},buttonPaddingTop:16,buttonPaddingRight:28,buttonPaddingBottom:16,buttonPaddingLeft:28,buttonPaddingTopPhone:12,buttonPaddingRightPhone:20,buttonPaddingBottomPhone:12,buttonPaddingLeftPhone:20},lB=e=>({...Ub("Picture","imageSrc",(o,t)=>({...uB(o.imageSrc)?{darken:40,darkenStyle:"even"}:{},placement:"center",...dB,sectionBorder:Ai(e?{left:1}:{right:1}),...pB(e?"left":"right",ws(t))}),[{kind:"button",key:"imageBtnText",href:"imageBtnHref",variant:"ghost",props:Cae,style:{...pt(13,12),letterSpacing:.18}}]),when:o=>o.reverse===!0===e}),pB=(e,o)=>{let t=Math.max(60-o,0);return{sectionPaddingLeft:e==="left"?60:t,sectionPaddingRight:e==="right"?60:t}},vae={kind:"group",name:"Words",props:(e,o)=>{let t=e.reverse===!0;return{...A,justify:"center",align:Sae(e),placement:e.textAlign==="center"?"center":e.textAlign==="right"?"right":"left",...Iae(e,72),gap:24,gapPhone:24,...uB(e.textBgSrc)?{darken:wae(e),darkenStyle:"even"}:{},..._i,sectionPaddingTop:100,sectionPaddingBottom:100,...pB(t?"right":"left",ws(o)),sectionPaddingTopPhone:60,sectionPaddingBottomPhone:60}},box:[["textBgSrc","bgImage"]],parts:[{...de("eyebrow",W("label",14)),styleFrom:wp},{kind:"text",key:"title",role:"heading",props:$,style:iB,styleFrom:e=>({case:e.uppercase===!0?"upper":"none",...wp(e)})},{...cB(24),styleFrom:wp},{kind:"group",name:"Button",props:{...A,sectionPaddingTop:8,sectionPaddingTopPhone:8},parts:[{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:e=>{let o=wp(e);return{...Ze,...o.align?{align:o.align}:{},...o.alignPhone?{alignPhone:o.alignPhone}:{}}}}]}]},kae=()=>({name:"Image & Text Split",boxProps:(e,o)=>({...J,...Ko("background")(e,o),direction:"row",share:"equal",gap:0,gapPhone:0,sectionBorder:{top:1,bottom:1},...le(e,Cp),...Wy(e,72)}),box:[...ae,...ye(Cp)],parts:[lB(!1),vae,lB(!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:fB,...oe,...ie}}),mB={IntroBleed:hae(),Manifesto:yae(),Split:kae()};var IB={headPlacement:void 0},hB={top:0,bottom:0,topPhone:0,bottomPhone:0},Tae=()=>({name:"Form",boxProps:e=>({...J,direction:"column",...le(e,hB)}),box:[...ae,...ye(hB)],parts:[{kind:"core",keep:"rest",props:IB}],drop:{...oe,...ie}}),xB={top:120,bottom:120,topPhone:60,bottomPhone:60},Pae=()=>({name:"Photo Submission Form",boxProps:e=>({...J,direction:"column",gap:24,...le(e,xB)}),box:[...ae,...ye(xB)],parts:[de("eyebrow"),{kind:"text",key:"title",role:"heading",props:$,style:{textStyle:"heading-2"},mark:"accentItalic"},{kind:"text",key:"body",role:"body",props:Q},{kind:"core",as:"Form",keep:["formSlug"],rename:{buttonText:"submitText",consent:"finePrint"},props:IB}],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,...ie,layout:'the marker of the two-region drawing; a node that has it is skipped (above), so here it is never "boxes"',boxes:'the SubmitBox regions, drawn only under layout "boxes", which this row skips (above); without that marker they draw nothing'}}),gB={Form:Tae(),SubmitBuild:Pae()};import{phoneKey as bB}from"efficient-easel/draw";var SB=1.5,yB={textStyle:"body-1",...W("body",15),lineHeight:SB},Eae={...Wo,...W("label",12),letterSpacing:.12,lineHeight:SB},wB=()=>({type:q,props:{...A,direction:"row",justify:"between",align:"start",gap:16,gapPhone:16,share:"content",phoneRow:2,[bB("share")]:"content",[bB("wrap")]:"nowrap",...io(12,0),sectionBorder:{top:1},name:"Item"},slots:{[fe]:[{type:q,props:{...A,gap:0,gapPhone:0,name:"Item words"},slots:{[fe]:[ge("label",{...$,tag:"p"},yB),ge("meta",{...Q,tag:"p"},Eae)]}},ge("amount",{...$,tag:"p"},yB)]}});var Oae=()=>({name:"Order Table",boxProps:()=>({...J,direction:"column"}),box:[...ae],parts:[{kind:"core",keep:"rest",headless:!0,slots:{[to]:[wB()]}}],drop:{...oe}}),CB={OrderSummary:Oae()};import{phoneKey as _ae}from"efficient-easel/draw";var p6e={eyebrow:"By the numbers",title:`A picture worth
98
+ *a thousand rows.*`},vB=["eyebrow","title","body","caption"],m6e={label:"Chart",defaultProps:{eyebrow:"",title:"",body:"",items:[],caption:"",chartStyle:"bars",valueSuffix:""}};var kB=["eyebrow","title","body"],x6e={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 EB={top:76,bottom:76,topPhone:76,bottomPhone:76},OB=()=>({kind:"group",name:"Words",props:{...A,gap:20,gapPhone:20},parts:[{kind:"group",name:"Chip row",props:{...A,direction:"row",phoneRow:2,[_ae("share")]:"content"},parts:[{kind:"group",name:"Chip",props:{...A,fillColor:"main",...io(6,14)},parts:[de("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:{...Q,maxWidth:435},style:{textStyle:"body-1",...W("body",15),lineHeight:1.625}}]}),_B=(e,o)=>{let t=Va(o)?.themes,a=t?kS(t,on(e,o)):-1;return a>=0?a:e},AB=e=>(o,t)=>({...J,sectionAccent:_B(o.sectionAccent??0,t),direction:"row",align:"center",gap:56,gapPhone:56,share:e,sectionBorder:{top:1,bottom:1},...le(o,EB)}),RB=[...ae.filter(e=>e!=="sectionAccent"),["sectionAccent","sectionAccent",(e,o,t)=>_B(e,t)],...ye(EB)],Aae=()=>({name:"Chart",boxProps:AB([42]),box:RB,parts:[OB(),{kind:"group",name:"Chart",props:{...A,gap:16,gapPhone:16},keepEmpty:!0,parts:[{kind:"core",keep:"rest",props:Ss},de("caption",{color:"muted",...W("label",10),letterSpacing:.14})]}],pressKeepsEmpty:[...vB],drop:{...oe,...ie}}),TB=e=>e.align==="left",PB={kind:"group",name:"Card",keepEmpty:!0,props:A,parts:[{kind:"core",keep:"rest",props:Ss}]},Rae=()=>({name:"Mockup Card",boxProps:AB("equal"),box:RB,parts:[{...PB,when:TB},OB(),{...PB,when:e=>!TB(e)}],pressKeepsEmpty:[...kB],drop:{...oe,...ie}}),LB={Chart:Aae(),Mockup:Rae()};var Lae={title:"Back online in",zeroText:"Almost done. Back very soon."},FB=["title"],T6e={label:"Countdown",defaultProps:{...Lae,endsAt:"",showUnits:!0}};var BB={top:48,bottom:48,topPhone:48,bottomPhone:48},Fae={...de("title",{...Ks(12),color:"muted"}),props:{...$,align:"center"}},Bae=()=>({name:"Countdown",boxProps:e=>({...J,direction:"column",align:"center",gap:16,gapPhone:16,...le(e,BB)}),box:[...ae,...ye(BB)],parts:[Fae,{kind:"core",keep:"rest",props:Ss}],pressKeepsEmpty:[...FB],drop:{...oe,...ie}}),DB={top:80,bottom:80,topTablet:60,bottomTablet:60,topPhone:60,bottomPhone:60},Dae=()=>({name:"Feature Banner",boxProps:e=>({...J,direction:"column",sectionBorder:{bottom:1},...le(e,DB)}),box:[...ae,...ye(DB)],parts:[{kind:"core",keep:"rest",props:Ss}],drop:{...oe,...ie}}),NB={Countdown:Bae(),FeaturedCover:Dae()};var MB={top:80,bottom:80,topPhone:60,bottomPhone:60},Nae=()=>{let e=ap("FitmentFinder");return{name:"Fitment Form",boxProps:o=>({...J,direction:"column",gap:Qu[vs("FitmentFinder")],...le(o,MB)}),box:[...ae,...ye(MB)],parts:[et("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,...ie,layout:'the section shape; "bar" is skipped (above), so here it is the stacked shape this Box draws'}}},HB={FitmentFinder:Nae()};var WB={top:72,bottom:72,topPhone:72,bottomPhone:72},Mae={name:"Editorial Text",boxProps:e=>({...J,direction:"column",gap:28,gapPhone:28,sectionBorder:{top:1},...le(e,WB)}),box:[["topBorder","sectionBorder",e=>e===!1?void 0:{top:1}],...ae,...ye(WB)],parts:[et("Prose"),{kind:"text",key:"body",props:Q,style:{textStyle:"body-1",...W("body",16),lineHeight:1.7,paragraphSpacing:18}}],drop:{...oe,...ie,headPlacement:"needs a row per head placement: an own-box Prose draws no head (its words sit in a Section Header above it), the row always draws the head. 0 of 123 live nodes store it (the live export, 2026-10-24)"}},$B={buttonPaddingTop:20,buttonPaddingBottom:20,buttonPaddingLeft:28,buttonPaddingRight:28},zB=(e,o)=>o?.variant==="primary",GB=(e,o)=>({kind:"list",key:"buttons",name:"Button",flat:!0,when:e,parts:[{kind:"button",key:"label",href:"href",when:zB,variant:"primary",style:{letterSpacing:.3},props:{...Ze,...$B,...o}},{kind:"button",key:"label",href:"href",when:(t,a)=>!zB(t,a),variant:"ghost",style:{letterSpacing:.3},props:{...Ze,...$B,...o}}]}),vp=e=>Je(e.title),Hae={name:"Call-to-Action Heading",boxProps:e=>({...J,direction:"row",align:"center",justify:vp(e)?"between":"end",gap:60,gapPhone:60,share:"content",sectionBorder:{bottom:1},...Oo(e,"TitleWithButtons")}),box:[...ae,...Ya("TitleWithButtons")],parts:[{kind:"group",name:"Title",props:{...A,maxWidth:1e3,widthFitPhone:"fill"},parts:[{kind:"text",key:"title",role:"heading",props:$,style:{textStyle:"heading-1",...Mo("headingLarge",48,7,108),case:"upper",lineHeight:.94,letterSpacing:-.035}}]},{kind:"group",name:"Buttons",props:e=>({...A,gap:14,gapPhone:14,widthFitPhone:"fill",...vp(e)?{minWidth:280,minWidthPhone:0}:{}}),parts:[GB(vp,{widthFit:"fill",iconPosition:"end"}),GB(e=>!vp(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 Wae(e){let{siteGutter:o,siteGutterPhone:t}=e.site??{},a=ws(e),r=Math.min(20,Od(t)??_d(o));return{sectionPaddingLeft:a,sectionPaddingRight:a,sectionPaddingLeftPhone:r,sectionPaddingRightPhone:r}}var UB={top:40,bottom:64,topPhone:24,bottomPhone:36},$ae={name:"Section Header",boxProps:(e,o)=>({...J,direction:"column",gap:0,...le(e,UB),...Wae(o)}),box:[...ae,...ye(UB)],parts:[et("SectionHeader")],drop:{...oe,...ie,headStyle:"needs a row per head look: the row draws the standard look; the editorial, simple, statement, natural and essay looks are other layouts. 0 of 69 live nodes store it (the live export, 2026-10-24)",eyebrowLook:"read only by the simple, statement, natural and essay looks, which this row does not draw. 0 of 69 live nodes store it",rowGap:"read only by the natural look, which this row does not draw. 0 of 69 live nodes store it",descriptionSize:"read only by the natural look, which this row does not draw. 0 of 69 live nodes store it",numStyle:"Solid (the default; 4 of 69 live nodes store it) IS the eyebrow Text the row draws; Outlined (0 live) needs an outlined-number text look"}},jB={...A,direction:"row",share:[67],gap:30},KB={...A,sectionPaddingLeft:30,sectionPaddingLeftPhone:0},VB=(e,o,t)=>({kind:"group",name:e,props:o,parts:[t]}),zae={name:"Lead Text",boxProps:e=>({...J,direction:"column",gap:40,gapPhone:40,sectionBorder:{bottom:1},...Oo(e,"ParagraphsA")}),box:[...ae,...Ya("ParagraphsA")],parts:[{kind:"group",name:"Numbers",props:{...jB,gapPhone:24,sectionBorder:{bottom:1},sectionPaddingBottom:40,sectionPaddingBottomPhone:40},parts:[{kind:"group",name:"Eyebrow",props:{...A,sectionPaddingTop:5,sectionPaddingBottom:1,sectionPaddingTopPhone:5,sectionPaddingBottomPhone:1},parts:[de("eyebrow",{color:"labels",...W("label",12),letterSpacing:.24})]},VB("Stats column",A,{kind:"group",name:"Stats",props:{...KB,gap:0,gapPhone:0},parts:[{kind:"list",key:"stats",name:"Stat",flat:!0,parts:[Oi("value","label",{...W("label",13),letterSpacing:.18,lineHeight:1.8})]}]})]},{kind:"group",name:"Words",props:{...jB,gapPhone:28},parts:[{kind:"group",name:"Lead",props:A,parts:[{kind:"group",name:"Measure",props:{...A,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}}]}]},VB("Note column",{...A,justify:"end",widthFit:"fill"},{kind:"group",name:"Founders",props:{...KB,gap:8,gapPhone:8},parts:[{kind:"group",name:"Note",props:{...A,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:Q,style:{textStyle:"body-5",fontRole:"heading",...W("body",14,12),lineHeight:1.7}}]},de("attribution",{...W("label",12,10),letterSpacing:.24,lineHeight:1.7})]})]}],drop:{...oe}},qB={top:24,bottom:24,topPhone:24,bottomPhone:24},Gae={name:"Banner",boxProps:e=>({...J,direction:"column",gap:0,...le(e,qB)}),box:[...ae,"contained",...ye(qB)],parts:[{kind:"group",name:"Card",keepEmpty:!0,props:{...A,gap:28,placement:"top-left",darken:60,darkenStyle:"even",sectionBorder:{width:1},...io(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:{...A,gap:20},parts:[de("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:{...Q,maxWidth:680},style:{textStyle:"body-1",lineHeight:1.6},was:{size:16}}]},{kind:"button",key:"ctaText",href:"ctaHref",variant:"primary",props:Ze}]}],drop:{...oe,...ie}},$y={Prose:Mae,TitleWithButtons:Hae,SectionHeader:$ae,ParagraphsA:zae,Banner:Gae};function t3e(){Io($y),Io(fL),Io(CL),Io(oL),Io(AL),Io(iF),Io(CF),Io(TF),Io(WF),Io(oB),Io(mB),Io(gB),Io(CB),Io(HB),Io(LB),Io(NB)}import{isNodeList as zi}from"efficient-easel/data";var h3e=Object.keys($y),Uae={Logos:vL,DocMasthead:NF,Timeline:sF,TimelineTrack:lF},jae={PaymentBadges:kL};function kp(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]=zi(n)?n.map(s=>kp(s,o,t)):n;return a.id=t(e.type),{type:e.type,props:a}}var YB=e=>({...e?.theme?{theme:e.theme}:{},press:!0});function Tp(e,o,t=0,a=()=>({})){return(r,n,s)=>{let{nodes:l}=$u({type:e,props:{...r(e),...a(),id:n(e)}},o,YB(s));return kp(l[t],r,n)}}var Kae={Stats:qae,Cards:Vae};function Vae(){let e=gs("Cards");if(!e)return null;let o=Tp("Cards",e,0,eL);return(t,a,r)=>{let n=o(t,a,r);return{...n,props:{...n.props,name:"Cards section"}}}}function qae(){let e=gs("StatsParagraph");return e?(o,t,a)=>{let{nodes:r}=$u({type:"StatsParagraph",props:{...o("StatsParagraph"),...uL(),id:t("StatsParagraph")}},e,YB(a)),n=r[0],s=zi(n.props.content)?n.props.content.filter(f=>f.props?.cardStyle===void 0):[],l=JB(ry(pL(),"table")),c=s.map(XB),d=kp({...n,props:{...n.props,content:[...c,l]}},o,t);return{...d,props:{...d.props,name:"Stats section"}}}:null}function XB(e){if(e.props?.name==="Words"){let o=zi(e.props.content)?e.props.content.map(Yae):e.props.content;return{...e,props:{...e.props,widthFitPhone:"fill",content:o}}}return zi(e.props?.content)?{...e,props:{...e.props,content:e.props.content.map(XB)}}:e}function Yae(e){return e.type!=="Text"?e:{...e,props:fa({...e.props,alignTablet:"left"},"text","alignTablet","left")}}var JB=e=>ko([e],(o,t)=>`${o}-seed-${t}`)[0];function Xae(e,o){if(!rR(e,o))return null;let t=Kae[e];if(t)return t();let a=gs(e);return a?Tp(e,a,0,Uae[e]??jae[e]):null}function Jae(e){return(o,t,a)=>{let r=n=>{if(n.type==="Stats"){let c=kp(JB(ry([],"list")),o,t);return{...c,props:{...c.props,name:"Numbers"}}}let s=!1,l={};for(let[c,d]of Object.entries(n.props))if(zi(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 Os(e,o=wi){let t=SR(e);return t?Jae(t):Xae(e,o)}function Gi(e,o){let t=e.components[o]?.label;return typeof t=="string"&&t.trim()?t.trim():o}function Qae(e){return e.length>3&&e.endsWith("s")?e.slice(0,-1):e}function Gy(e,o,t,a){e.forEach((r,n)=>{if(zy(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(zy)&&Gy(l,r,s,a)}})}function ere(e){let o=[];Gy(Array.isArray(e.content)?e.content:[],null,"",o);for(let t of Object.values(e.zones??{}))Array.isArray(t)&&Gy(t,null,"",o);return o}function eD(e,o){return ere(e).find(t=>String(t.node.props.id)===o)}function oD(e,o,t){if(!t)return null;let a=eD(o,t);if(!a)return null;let r=Gi(e,a.node.type),n=a.parent?`${Gi(e,a.parent.type)} \xB7 ${Qae(a.slot)} ${a.index+1}`:r;return{blockId:t,type:a.node.type,label:n,path:""}}var ore=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 tre(e){if(!e||typeof e!="object")return null;let o=e;if(typeof o.type!="string")return null;let t=o.type==="custom"?o[Zae]: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=ore(n));for(let s of["arrayFields","objectFields"]){let l=t?.[s]??o[s];l&&typeof l=="object"&&(a[s]=tD(l))}return a}function tD(e){let o={};for(let[t,a]of Object.entries(e??{})){let r=tre(a);r&&(o[t]=r)}return o}function aD(e){let o={};for(let[t,a]of Object.entries(e.components))a&&(o[t]={label:Gi(e,t),fields:tD(a.fields),...rD(t)?{retired:!0}:{}});return o}function rD(e){return Object.prototype.hasOwnProperty.call(nm,e)}function ZB(e,o){let t=e.components[o]?.defaultProps;return t&&typeof t=="object"?structuredClone(t):{}}function are(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 Uy(e,o){return e.findIndex(t=>zy(t)&&String(t.props.id)===o)}function QB(e,o,t){let a=o||t;if(!a)return e.length;let r=Uy(e,a);if(r<0)throw new Error(`there is no top-level block ${a}`);return o?r+1:r}function nD(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=eD(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=are(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}`),rD(l.type)&&d(`${Gi(e,l.type)} is retired: it is no longer added (a page that holds one keeps it)`);let f=Os(l.type),m=Object.keys(l.props??{}).filter(x=>x!=="id");f&&m.length&&d(`${Gi(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=>ZB(e,x),a,r):{type:l.type,props:{...ZB(e,l.type),...structuredClone(l.props),id:a(l.type)}};s.splice(QB(s,l.after,l.before),0,u);break}case"remove_block":{let f=Uy(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=Uy(s,l.block_id);f<0&&d(`there is no top-level block ${l.block_id}`);let[m]=s.splice(f,1);s.splice(QB(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 jy=e=>ee(e.requestId)??null;function iD(){let e=sre(),{appState:o,selectedItem:t,dispatch:a,history:r,config:n}=nre(u=>u),s=n,l=lD({appState:o,dispatch:a,history:r,blockConfig:s});l.current={appState:o,dispatch:a,history:r,blockConfig:s};let c=lD(new Map),d=t?.props?.id,f=rre(()=>oD(s,o.data,d),[s,o.data,d]),m=f?JSON.stringify(f):"";sD(()=>{e.connected&&e.send("storefront-editor:selection",{selection:f})},[e,m]),sD(()=>e.subscribe(u=>{let{appState:x,dispatch:I,history:g,blockConfig:k}=l.current;switch(u.type){case"storefront-editor:request-document":{let C=jy(u);if(!C)return;e.send("storefront-editor:document",{requestId:C,document:x.data,blocks:aD(k)});return}case"storefront-editor:apply-page-edits":{let C=jy(u);if(!C)return;let w=Array.isArray(u.ops)?u.ops:[],b=w.length?nD(k,x.data,w,v=>`${v}-${crypto.randomUUID()}`,zu()):{ok:!1,reason:"no changes"};b.ok&&(I({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=jy(u);if(!C)return;let w=c.current.get(C),b=w!==void 0&&w===JSON.stringify(x.data.content??[]);b&&g.hasPast&&(g.back(),c.current.delete(C)),e.send("storefront-editor:page-edits-result",{requestId:C,applied:b&&g.hasPast,reason:b?null:"the page has changed since"});return}case"storefront-editor:set-right-panel":typeof u.shown=="boolean"&&I({type:"setUi",ui:{rightSideBarVisible:u.shown}});return;default:return}}),[e])}import{useEffect as fD,useState as uD}from"react";var Pp=new Map;async function lre(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 cD(e,o){let t=Pp.get(o);return t||(t=lre(e,o),Pp.set(o,t),t.catch(()=>{Pp.get(o)===t&&Pp.delete(o)})),t}var ire=/^(localhost|(?:[a-z0-9-]+\.)+localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|::1)$/i;function Ky(e){return!!e&&ire.test(e)}function dD(e){let{pageSlug:o,siteSlug:t,hostname:a}=e,r=o===Uc?"/":`/${encodeURIComponent(o)}`;if(!Ky(a))return r;let n=t?.trim();return n?`${r}?site=${encodeURIComponent(n)}`:r}function pD(e){let{pageSlug:o,siteId:t,token:a}=e,[r,n]=uD(null),[s,l]=uD(null),c=bn();fD(()=>l(c?new URL(c).hostname:window.location.hostname),[c]),fD(()=>{if(!Ky(s)||!t||!a){n(null);return}let f=!1;return cD(a,t).then(m=>{f||n(m)}),()=>{f=!0}},[s,t,a]);let d=dD({pageSlug:o,siteSlug:r,hostname:s});return c?`${c}${d}`:d}import{jsx as Ui}from"react/jsx-runtime";import{useEffect as cre,useRef as mD,useState as dre}from"react";import{ExternalIcon as hD}from"efficient-easel/icons";import{EaselIconButton as fre}from"efficient-easel/chrome";import{Tooltip as ure,iconButtonClasses as pre}from"efficient-shell/ui";import{useSettledPress as mre}from"efficient-easel/easel";import{useScreenDocument as hre}from"efficient-easel/screen/components/ScreenDocumentContext";async function xre({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 xD({liveHref:e,pageId:o,draftLink:t}){let{flushSave:a}=hre(),r=mD(a);r.current=a;let n=mre(),[s,l]=dre(!1),c=mD(null);if(cre(()=>()=>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),xre({pageId:o,liveHref:e,draftLink:t,ready:d}).finally(()=>l(!1)))};return Ui(fre,{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:Ui(hD,{})})}return Ui(ure,{content:i("Preview the live site (opens in a new tab)"),side:"bottom",children:Ui("a",{className:pre({className:"es-iconbtn"}),href:e,target:"_blank",rel:"noopener noreferrer","aria-label":i("Preview the live site in a new tab"),children:Ui(hD,{})})})}import{createElement as Sre,useCallback as wre,useEffect as LD,useRef as FD,useState as Cre}from"react";import{ClockIcon as vre}from"efficient-shell/icons/efficient";import{useScreenDocument as kre}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSyncExternalStore as Ire}from"react";import{useScreenDocument as gre}from"efficient-easel/screen/components/ScreenDocumentContext";var bre=()=>()=>{},ID=()=>null;function Ep(e){return Ire(e?e.subscribe:bre,e?e.state:ID,e?e.state:ID)}function Op(){let{adapter:e}=gre();return e?.pinnedChrome}import{useSyncExternalStore as yD}from"react";var ji=!1,_s=null,Vy=new Set;function Vi(){for(let e of Vy)e()}function SD(e){return Vy.add(e),()=>{Vy.delete(e)}}function wD(){ji||(ji=!0,Vi())}function CD(){ji&&(ji=!1,Vi())}function gD(){return ji}function vD(){return yD(SD,gD,gD)}function bD(){return _s}function _p(){_s&&(_s=null,Vi())}function kD(){return yD(SD,bD,bD)}var Ki=class extends Error{constructor(){super("The editor's last changes could not be saved, so nothing was restored."),this.name="HeldEditsNotSaved"}};async function TD(e,o,t,{flushSave:a,reload:r}){if(!await a())throw new Ki;let n=await e.restore(o,t);return ld(n.liveState),r(),n}async function PD({access:e,version:o,page:t,...a}){let r=await TD(e,o.id,t?{page:t.id}:{},a);_s={title:yre(o,t??null),undo:r.undo},Vi()}async function ED({access:e,...o}){let t=_s?.undo;t&&(await TD(e,t,{},o),_s=null,Vi())}function OD(e){return e.name?e.name:e.kind==="draft_before_restore"?i("Draft before restore"):i("Version {n}",{n:e.number})}function yre(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 _D(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(om(),{type:"conjunction"}).format(t)}catch{return t.join(", ")}}function AD(e){return e.change==="take_down"?i("{name} (taken down)",{name:e.name}):e.name}function RD(e,o=new Date){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let a=om(),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 BD(e){let{docId:o,capabilities:t,hasUnsavedEdits:a,onPublish:r,adapter:n}=kre(),s=U1(G1(o??null),a),l=Ep(Op()),c=n.siteLiveState;LD(()=>{if(c)return Jh(c),ea(0),()=>Jh(null)},[c]);let d=id(),[f,m]=Cre(!1),u=FD(e);u.current=e;let x=FD(!0);LD(()=>(x.current=!0,()=>{x.current=!1}),[]);let I=wre(()=>{m(!0),r(u.current).then(()=>{_p()}).finally(()=>{x.current&&m(!1)})},[r]);if(t.canPublish){if(c){let g=d===void 0?void 0:a||d.state==="changed"?"changed":"live",k=pb({live:g,onPress:I,busy:f,goingLive:j1(d?.changes??[])});return n.siteVersions?{...k,menuItems:Tre()}:k}return pb({live:s,onPress:I,busy:f,pinnedUnpublished:l?.unpublished??!1})}}function Tre(){return[{key:"version-history",label:i("Version history"),icon:Sre(vre),onSelect:wD}]}import{jsx as Z,jsxs as Vo,Fragment as Xi}from"react/jsx-runtime";import{useCallback as Pre,useEffect as Ere,useId as MD,useRef as Ore,useState as rt}from"react";import{useSettledAction as _re}from"efficient-easel/easel";import{Avatar as Are,Banner as qi,Button as nn,ColoredBadge as qy,Dialog as HD,Drawer as Rre,DropdownMenu as Lre,FormField as WD,iconButtonClasses as Fre,Inline as Yy,Input as Bre,ListRow as Dre,Select as Nre,SortableList as Mre,Stack as Yi}from"efficient-shell/ui";import{EditIcon as Hre,EyeIcon as DD,MenuIcon as Wre,MoreIcon as $re,PageIcon as $D,RevertIcon as ND,StylesIcon as zre}from"efficient-shell/icons/efficient";import{useScreenDocument as zD}from"efficient-easel/screen/components/ScreenDocumentContext";var Gre={page:$D,menu:Wre};function Ure(e,o){return e.pages.find(t=>t.id===o)??e.pages[0]??null}function jre(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 Kre({version:e,page:o,waiting:t,busy:a,error:r,onCancel:n,onConfirm:s,onPage:l}){let c=MD();if(!e)return null;let d=e.kind==="draft_before_restore",f=e.number,m=_D(e),u=d?i("Put your drafts back?"):o?i("Restore {page} from version {n}?",{page:o.name,n:f}):i("Restore version {n}?",{n:f}),x=d?i("Your drafts go back to how they were before the restore."):o?i("{page} goes back to version {n} as a draft. Nothing else on your website changes.",{page:o.name,n:f}):m?i("The whole website goes back to version {n} as a draft: {what}.",{n:f,what:m}):i("The whole website goes back to version {n} as a draft.",{n:f}),I=e.deletedPictures??0;return Z(HD,{open:!0,onClose:()=>{a||n()},size:"sm",title:u,footer:Vo(Xi,{children:[Z(nn,{variant:"secondary",onClick:n,disabled:a,children:i("Cancel")}),Z(nn,{onClick:s,loading:a,disabled:a,children:i("Restore as draft")})]}),children:Vo(Yi,{gap:4,children:[o&&e.pages.length>1?Z(WD,{label:i("Page"),htmlFor:c,children:Z(Nre,{id:c,value:o.id,options:e.pages.map(g=>({value:g.id,label:g.name})),onChange:l,disabled:a})}):null,Z("p",{children:x}),Z("p",{children:i("Your live website does not change until you press Publish.")}),I>0?Z(qi,{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.",I)}):null,t?Z(qi,{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?Z(qi,{tone:"danger",children:r}):null]})})}function Vre({version:e,onCancel:o,onSave:t}){let a=MD(),[r,n]=rt(null),[s,l]=rt(""),[c,d]=rt(!1),[f,m]=rt(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 Z(HD,{open:!0,onClose:()=>{c||o()},size:"sm",title:i("Name this version"),footer:Vo(Xi,{children:[Z(nn,{variant:"secondary",onClick:o,disabled:c,children:i("Cancel")}),Z(nn,{onClick:()=>{x()},loading:c,disabled:c||u,children:i("Save")})]}),children:Z(WD,{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:Z(Bre,{id:a,value:s,invalid:!!f,onChange:I=>l(I.target.value),onKeyDown:I=>{I.key==="Enter"&&x()}})})})}function qre({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:Z(DD,{}),onSelect:a}],...c?[{key:"restore",label:l?i("Put these drafts back"):i("Restore whole website"),icon:Z(ND,{}),onSelect:r}]:[],...c&&!l&&e.pages.length?[{key:"restore-page",label:i("Restore one page only"),icon:Z($D,{}),onSelect:n}]:[],...l?[]:[{type:"divider",key:"divider"},{key:"name",label:i("Name this version"),icon:Z(Hre,{}),onSelect:s}]];return Z(Dre,{title:Vo("span",{className:"sf-version-title",children:[Z("span",{children:OD(e)}),e.live?Z(qy,{tone:"success",size:"xs",children:i("Live")}):null,e.name?Z(qy,{tone:"neutral",size:"xs",children:i("Version {n}",{n:e.number})}):null,l?Z(qy,{tone:"warning",size:"xs",children:i("Not published")}):null]}),expanded:o,onToggle:t,actions:Z(Lre,{align:"end","aria-label":i("More"),items:f,triggerClassName:Fre({variant:"ghost",size:"sm"}),trigger:Z($re,{})}),below:Vo(Yi,{gap:3,children:[Vo(Yy,{gap:2,align:"center",wrap:!0,className:"sf-version-meta",children:[Z(Are,{name:e.createdBy,size:"xs"}),Z("span",{children:e.createdBy}),Z("span",{"aria-hidden":"true",children:"\xB7"}),Z("span",{children:RD(e.createdAt)}),d?Vo(Xi,{children:[Z("span",{"aria-hidden":"true",children:"\xB7"}),Z("span",{children:vo("{n} change","{n} changes",d)})]}):null]}),o?Vo(Yi,{gap:3,children:[d?Z(Yi,{gap:2,children:e.changes.map(m=>{let u=Gre[m.kind]??zre;return Vo(Yy,{gap:2,align:"center",children:[Z(u,{size:16}),Z("span",{children:AD(m)})]},`${m.kind}:${m.id}`)})}):null,Vo(Yy,{gap:2,children:[l?null:Z(nn,{variant:"secondary",size:"sm",leftIcon:Z(DD,{}),onClick:a,children:i("Preview")}),c?Z(nn,{variant:"secondary",size:"sm",leftIcon:Z(ND,{}),onClick:r,children:i("Restore")}):null]})]}):null]})})}function Yre({open:e,onClose:o,access:t,waiting:a}){let{flushSave:r,reloadFromServer:n,docId:s}=zD(),[l,c]=rt(null),[d,f]=rt(!1),[m,u]=rt(null),[x,I]=rt(null),[g,k]=rt(!1),[C,w]=rt(null),[b,v]=rt(null),[P,F]=rt(!1),T=Ore(0),D=Pre(()=>{let y=++T.current;f(!1),t.list().then(_=>{y===T.current&&c(_)},()=>{y===T.current&&f(!0)})},[t]);Ere(()=>{e&&D()},[e,D]);let O=y=>{F(!1),jre(t,y.id).catch(()=>F(!0))},R=async()=>{if(!(!x||g)){k(!0),w(null);try{await PD({access:t,version:x.version,page:x.page,flushSave:r,reload:n}),I(null),o()}catch(y){w(y instanceof Ki?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=_re({onPress:()=>{R()},busy:g});return Vo(Xi,{children:[Z(Rre,{open:e,onClose:o,side:"right",size:"md",title:i("Version history"),description:Vo(Xi,{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:Z("span",{className:"sf-version-foot",children:i("The newest 30 are kept. Named versions are always kept.")}),children:Vo(Yi,{gap:3,children:[P?Z(qi,{tone:"danger",onDismiss:()=>F(!1),children:i("The preview did not open. Try again.")}):null,d?Z(qi,{tone:"danger",action:Z(nn,{variant:"secondary",size:"sm",onClick:D,children:i("Try again")}),children:i("Version history did not load.")}):l===null?Z("p",{className:"sf-version-foot",children:i("Loading versions")}):l.length===0?Z("p",{className:"sf-version-foot",children:i("No versions yet. Every Publish from now on keeps one.")}):Z(Mre,{"aria-label":i("Versions"),spacing:"comfortable",children:l.map(y=>Z(qre,{version:y,expanded:m===y.id,onToggle:()=>u(_=>_===y.id?null:y.id),onPreview:()=>O(y),onRestore:()=>{w(null),I({version:y,page:null})},onRestorePage:()=>{w(null),I({version:y,page:Ure(y,s)})},onName:()=>v(y)},y.id))})]})}),Z(Kre,{version:x?.version??null,page:x?.page??null,waiting:a,busy:N.busy===!0,error:C,onCancel:()=>I(null),onConfirm:N.onPress,onPage:y=>I(_=>_&&{..._,page:_.version.pages.find(L=>L.id===y)??_.page})}),Z(Vre,{version:b,onCancel:()=>v(null),onSave:async y=>{await t.name(b.id,y),v(null),D()}})]})}function GD(){let{adapter:e,hasUnsavedEdits:o}=zD(),t=e.siteVersions,a=vD(),r=id();return t?Z(Yre,{open:a,onClose:CD,access:t,waiting:o||r?.state==="changed"}):null}import{useEaselSession as $2}from"efficient-easel/screen/lib/session-context";import{buildPaletteSections as yWe,categoryLabel as SWe,paletteWithoutPinned as wWe,pinnedSection as CWe}from"efficient-easel/screen/lib/document/palette-sections";var Xre={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 UD(e){return Xre[e]?.label}var jD=lm;import{currentEaselSession as UN}from"efficient-easel/screen/lib/session";import{blockTypesIn as $N}from"efficient-easel/screen/lib/document/block-types-in";import{jsx as nt,jsxs as BN}from"react/jsx-runtime";import{createContext as qne,useContext as Yne,useEffect as Xne,useRef as Jne,useState as DN}from"react";import{jsx as As,jsxs as nN}from"react/jsx-runtime";import{useEffect as Rs,useRef as xne,useState as ln}from"react";import{jsx as sn}from"react/jsx-runtime";import{Component as ene,createContext as one,lazy as LWe,Suspense as FWe,useContext as tne}from"react";var Jre="hrefRewrite";function Zre(){return Ta("efficient.link-href-rewrites",()=>({rewrites:new Map,count:0,missed:new Set}))}function Qre(){return typeof process<"u"&&!0}function PWe(e){let o=e?.[Jre];return typeof o=="string"?o.trim():""}function KD(e){if(!e)return null;let o=Zre(),t=o.rewrites.get(e);return!t&&!Qre()&&o.missed.add(e),t??null}var ane={Link:MS,Image:NS},VD=one(ane);function MWe({runtime:e,children:o}){return sn(VD.Provider,{value:e,children:o})}function Jy(){return tne(VD)}function HWe(){return Jy().pagePath??null}function WWe({hrefRewrite:e,...o}){let{Link:t}=Jy(),a=KD(e);return a?sn(Xy,{name:a.name,href:o.href,fallback:sn(t,{...o}),children:sn(rne,{Link:t,rewrite:a.rewrite,...o})},a.key):sn(t,{...o})}function rne({Link:e,rewrite:o,...t}){let a=ee(o(t.href)),r=a&&Iw(a)?a:t.href;return sn(e,{...t,href:r})}var Xy=class extends ene{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 qD(e){let{Image:o}=Jy();return sn(o,{...e})}import{jsx as YD,Fragment as nne,jsxs as sne}from"react/jsx-runtime";import{useEffect as lne,useRef as XD,useState as ine}from"react";var cne="#t=0.001",dne=2;function fne(e,o){if(e.readyState<dne||!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 JD({src:e,objectPosition:o="50% 50%",onError:t}){let a=XD(null),r=XD(null),[n,s]=ine(!1);return lne(()=>{let l=a.current,c=r.current;if(n||!l||!c)return;let d=()=>{fne(l,c)&&s(!0)};return d(),l.addEventListener("loadeddata",d),l.addEventListener("seeked",d),()=>{l.removeEventListener("loadeddata",d),l.removeEventListener("seeked",d)}},[n]),sne(nne,{children:[YD("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&&YD("video",{ref:a,src:`${e}${cne}`,muted:!0,playsInline:!0,preload:"auto",className:"hidden",onError:t})]})}import{imageCopyUrl as QD,imageSrcSet as une}from"efficient-shell/image-copies";var ZD;function Zy(){return ZD===void 0?{}:{host:ZD}}var KWe="(max-width: 800px) 100vw, min(100vw, 1600px)",VWe="(max-width: 960px) 100vw, 50vw";function eN(e,{fallbackWidth:o=1280,maxWidth:t}={}){let a=une(e,{...Zy(),...t===void 0?{}:{maxWidth:t}});return a?{src:QD(e,o,Zy()),srcSet:a}:{src:e}}function qWe(e){let o=QD(e,1920,Zy());return o===e?`url(${e})`:`url("${o}")`}import{jsx as oN}from"react/jsx-runtime";import{createContext as pne,useContext as mne,useMemo as ZWe}from"react";var tN=pne(null);function aN({children:e}){return oN(tN.Provider,{value:"below",children:e})}function Ji(){return mne(tN)}function hne(){return Ji()==="below"?{loading:"lazy"}:{}}function rN(e){let o=hne();return oN("img",{...e,...o})}var QWe="laterSlideIds";var Ine=.5;function Zi({videoSrc:e,posterSrc:o,showVideo:t=!0,playbackRate:a=Ine,objectPosition:r="50% 50%",objectPositionPhone:n,objectPositionTablet:s,quiet:l=!1,slideShown:c,laterSlide:d=!1,laterOfLead:f=!1}){let m=bk(n,s),u=Ji(),[x,I]=ln(!1),g=u==="below"&&!x,k=u==="first",C=o||"",w=e||"",[b,v]=ln(!1),[P,F]=ln(!1),[T,D]=ln(!1),[O,R]=ln(!1),N=c??!0,[y,_]=ln(!1),L=u!=="first"&&!f,[M,Y]=ln(!1),V=xne(null);Rs(()=>{if(!L)return;if(document.readyState==="complete"){Y(!0);return}let te=()=>Y(!0);return window.addEventListener("load",te,{once:!0}),()=>window.removeEventListener("load",te)},[L]),Rs(()=>{v(!1),F(!1),D(!1),R(!1)},[e,o]),Rs(()=>{N&&_(!0)},[N]),Rs(()=>{let te=V.current;te&&(N?te.play()?.catch(()=>{}):te.pause())},[N,y,M]),Rs(()=>{if(!d||L&&!M)return;let te=()=>I(!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]),Rs(()=>{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=HS(C),xe=C&&U&&!P?eN(C):{src:C};return nN("div",{className:"absolute inset-0 z-[1]",children:[As("div",{className:"absolute inset-0",style:{background:"var(--site-surface)"}}),C&&(U?As("img",{src:xe.src,...xe.srcSet?{srcSet:xe.srcSet,sizes:"100vw"}:{},alt:"",...g?{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:()=>xe.srcSet?F(!0):v(!0)},C):As(qD,{src:C,alt:"",fill:!0,...g?{}: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&&nN("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:[WS(w)&&As("source",{src:w.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),As("source",{src:w,type:"video/mp4"})]},w),t&&l&&w&&y&&(!L||M)&&!O&&(!C||b)&&As(JD,{src:w,objectPosition:r,onError:()=>R(!0)},w)]})}import{Fragment as uN,jsx as Ho,jsxs as oS}from"react/jsx-runtime";import{MOTION_TIMING as gne}from"efficient-shell/format";var cN="grayscale(1) contrast(1.03)",f$e="Black and white";function bne(e){return e===!0?{filter:cN}:{}}function yne(e){let{filter:o}=bne(e);return o?{style:{filter:o}}:{}}var dn="sf-photo-grayscale",eS="data-sf-photo-host",sN={duration:"--sf-photo-hover-duration",delay:"--sf-photo-hover-delay"},Fp=`@media (hover:hover){.${dn}{filter:${cN};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))}.${dn}:hover,[data-sf-photo-host]:hover .${dn}{filter:none}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${dn}{transition:none}}`;function dN(e){let o=gne.hover,t={...e.duration!==o.duration.default?{[sN.duration]:`${e.duration}s`}:{},...e.delay!==o.delay.default?{[sN.delay]:`${e.delay}s`}:{}};return Object.keys(t).length?t:void 0}function fN(e,o,t){if(e===!0)return yne(!0);if(t?.kind==="mono"){let a=dN(t);return{className:dn,sheet:Fp,...a?{style:a}:{}}}return e===!1?{}:o===!0?{className:dn}:{}}var cn="sf-photo-next",lN="data-sf-repeat",Qy="sf-photo-zoom",Sne="--sf-photo-zoom",u$e="sf-photo-wash",Ap="sf-photo-wash-rest",Qi="sf-photo-wash-hover",Rp="sf-photo-frame",Lp=(e,o)=>{let t=`:not([${lN}]:not(:hover) .${e})`;return`${o},[${lN}]:hover .${e}${t},[${eS}]:hover .${e}${t}`},iN=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))`,wne=`.${cn}{opacity:0}.${Qi}{opacity:0}@media (hover:hover){.${cn},.${Ap},.${Qi}{transition:${iN("opacity")}}${Lp(cn,`.${cn}:hover,.${Rp}:hover .${cn}`)},${Lp(Qi,`.${Rp}:hover .${Qi}`)}{opacity:1}${Lp(Ap,`.${Rp}:hover .${Ap}`)}{opacity:0}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.${Qy}{transition:${iN("transform")}}${Lp(Qy,`.${Rp}:hover .${Qy}`)}{transform:scale(var(${Sne}))}}@media (hover:hover) and (prefers-reduced-motion:reduce){.${cn},.${Ap},.${Qi}{transition:none}}`;function p$e(e){if(e?.kind!=="nextImage")return null;let o=dN(e);return{className:cn,sheet:wne,...o?{style:o}:{}}}function m$e(e){return e===!0?{[dn]:Fp}:{}}import{hidableText as Cne}from"efficient-easel/draw";var vne={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"},kne={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 pN(e){let o=e.isVideo&&bC(e.videoSource)==="youtube",t=e.isVideo&&yC(e.videoPlayback)==="click",a=o?SC(Cne(e.youtubeUrl)):null,r=Kf(e.mediaLayout);return{fromYouTube:o,onClick:t,youTubeId:a,backgroundFile:e.isVideo&&!o&&!t,desktopLayout:r,phoneLayout:mg(e.mediaLayoutPhone,r),twoPictures:!e.isVideo&&ql(e)>1}}function ec(e,o){return tu(ps({_partMotion:e},o))}function Ls(e,o){return fN(void 0,void 0,Z0(ps({_partMotion:e},o)))}function mN(e){return $r.some(o=>Ls(e,o).className)?{hostAttrs:{[eS]:""},sheet:Fp}:{}}function Bp({treatment:e,children:o}){return e.className?Ho("div",{className:`absolute inset-0 ${e.className}`,...e.style?{style:e.style}:{},children:o}):Ho(uN,{children:o})}function Dp({color:e,opacity:o,passClicks:t=!0}){return o>0?Ho("div",{className:t?"pointer-events-none absolute inset-0 z-[2]":"absolute inset-0 z-[2]",style:{background:e,opacity:Math.min(Math.max(o,0),100)/100}}):null}function Np({part:e,editing:o,marked:t=!0,entrance:a,className:r,children:n}){let s=o&&t?{[qO]:e}:void 0;return a?Ho(iy,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:r,boxAttrs:s,children:n}):Ho("div",{className:r,...s,children:n})}function hN({partMotion:e,editing:o,children:t}){let a=ec(e,"media"),r=Ls(e,"media"),n=r.className?Ho("div",{className:`absolute inset-0 z-[1] ${r.className}`,...r.style?{style:r.style}:{},children:t}):t;return a?Ho(iy,{desktop:a.desktop,phone:a.phone,editing:o,boxClass:"absolute inset-0 z-[1]",children:n}):Ho(uN,{children:n})}function xN({desktopLayout:e,phoneLayout:o,editing:t,marked:a=!0,partMotion:r,first:n,second:s,laterSlide:l=!1}){return oS("div",{className:`absolute inset-0 z-[1] grid ${vne[o]} ${kne[e]}`,"data-hero-layout":e,"data-hero-layout-phone":o,children:[Ho(Np,{part:"image",editing:t,marked:a,entrance:ec(r,"image"),className:"relative overflow-hidden",children:oS(Bp,{treatment:Ls(r,"image"),children:[Ho(Zi,{posterSrc:ka(n.src),showVideo:!1,laterSlide:l,objectPosition:n.objectPosition,objectPositionPhone:n.objectPositionPhone,objectPositionTablet:n.objectPositionTablet}),Ho(Dp,{color:n.tintColor,opacity:n.tintOpacity})]})}),Ho(Np,{part:"image2",editing:t,marked:a,entrance:ec(r,"image2"),className:`relative overflow-hidden ${Jc({desktop:e==="one",tablet:e==="one",mobile:o==="one"})}`.trimEnd(),children:oS(Bp,{treatment:Ls(r,"image2"),children:[Ho(Zi,{posterSrc:ka(s.src),showVideo:!1,laterSlide:l,objectPosition:s.objectPosition,objectPositionPhone:s.objectPositionPhone,objectPositionTablet:s.objectPositionTablet}),Ho(Dp,{color:s.tintColor,opacity:s.tintOpacity})]})})]})}import{jsx as fn,Fragment as Tne,jsxs as Pne}from"react/jsx-runtime";import{useEffect as Ene,useState as One}from"react";import{PlaySolidIcon as _ne}from"efficient-shell/icons/efficient-looks";function IN({youTubeId:e,ownPoster:o,background:t,editing:a}){let[r,n]=One("large");return Ene(()=>n("large"),[e]),e?Pne(Tne,{children:[!o&&r!=="none"&&fn(rN,{src:r==="large"?wC(e):CC(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&&fn("div",{className:"pointer-events-none absolute inset-0 z-[3] overflow-hidden [container-type:size]","aria-hidden":"true",children:fn("iframe",{src:Gm(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 gN({youTubeId:e,fileSrc:o,playing:t,onPlay:a,editing:r}){return!e&&!o?null:t&&!r?e?fn("iframe",{src:Gm(e,"click"),title:Um,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"}):fn("video",{src:o,controls:!0,autoPlay:!0,playsInline:!0,className:"absolute inset-0 z-[6] h-full w-full bg-overlay-scrim object-contain"}):fn("button",{type:"button","aria-label":Um,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:fn(_ne,{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 yN=["top","middle","bottom"],SN=["left","center","right"],wN="bottom",CN="left",Ane={top:"Top",middle:"Middle",bottom:"Bottom"},Rne={left:"Left",center:"Center",right:"Right"},N$e="Up and down",M$e="Sideways",Lne={top:"flex-start",middle:"center",bottom:"flex-end"},Fne={left:"flex-start",center:"center",right:"flex-end"},Bne="--sf-hero-phone-y",Dne="--sf-hero-phone-x";function Nne(e){return yN.includes(e)?e:wN}function Mne(e){return SN.includes(e)?e:CN}function vN(e,o){let t=Nne(e),a=Mne(o),r={};return t!==wN&&(r[Bne]=Lne[t]),a!==CN&&(r[Dne]=Fne[a]),r}function H$e(){return yN.map(e=>({label:Ane[e],value:e}))}function W$e(){return SN.map(e=>({label:Rne[e],value:e}))}import{hexToRgb as Hne}from"efficient-shell/format";var Wne=!0;var $ne=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function kN(e){let o=Hne(e);return o?`${o.r},${o.g},${o.b}`:null}function TN(e){return e==null?Wne:e!==!1}function PN(e){let o=(e?kN(e):null)??kN(bt);return`linear-gradient(180deg, ${$ne.map(([t,a])=>`rgba(${o},${a}) ${t}%`).join(", ")})`}import{hexToRgb as EN}from"efficient-shell/format";var ON="bottom";var zne=[{label:"Bottom",value:"bottom",cell:"bottom"},{label:"Top",value:"top",cell:"top"},{label:"Left",value:"left",cell:"left"},{label:"Right",value:"right",cell:"right"}],Gne={bottom:180,top:0,left:270,right:90},Une=[[.55,0],[.15,18],[null,35],[null,55],[.85,100]],jne=[[null,33],[.6,67],[.94,100]];function Kne(e,o){let{r:t,g:a,b:r}=EN(e)??EN(bt);return`rgba(${t},${a},${r},${o})`}function _N(e){return lo(zne,ON,e)}function AN(e=bt,o=ON){let t=_N(o),a=(t==="top"||t==="bottom"?Une:jne).map(([r,n])=>`${r===null?"transparent":Kne(e,r)} ${n}%`);return`linear-gradient(${Gne[t]}deg, ${a.join(", ")})`}function RN(e,o){let t=ee(e.overlayColor),a=ee(e.overlayPosition),r=ee(o)??bt;return!t&&!a?{own:!1,color:r,position:null}:{own:!0,color:t??r,position:_N(a)}}import{jsx as Vne}from"react/jsx-runtime";var LN="sf-photo-hover";function FN({sheet:e,name:o=LN}){return e?Vne("style",{href:o,precedence:LN,dangerouslySetInnerHTML:{__html:e}}):null}var Zne=qne({});function pze({name:e,process:o,mediaType:t="video",mediaSrc:a,videoSpeed:r,poster:n,objectPosition:s,objectPositionPhone:l,objectPositionTablet:c,tintColor:d=bt,tintOpacity:f=0,groups:m,editing:u=!1,themeClassName:x,themeStyle:I,overlayColor:g,overlayPosition:k,mediaLayout:C,mediaLayoutPhone:w,mediaImage2:b,objectPosition2:v,objectPosition2Phone:P,objectPosition2Tablet:F,tintColor2:T=bt,tintOpacity2:D=0,videoSource:O,youtubeUrl:R,videoPlayback:N,partMotion:y,laterSlide:_=!1}){let L=Ca(),{alignment:M="left",textureOpacity:Y,textureOn:V,textureColor:U,quietVideo:xe,phoneUpDown:te,phoneSideways:Re,holdReel:We,reelHeld:Pe,shownSlide:Ie,ratioMin:Ee}=Yne(Zne),$e=Ji(),Qe=_&&$e==="first",yo=Jne(null),[me,Ke]=DN(Ie===void 0?void 0:!1);Xne(()=>{let pn=yo.current;Ke(Ie===void 0||!pn?void 0:bN(pn.closest(".hero-track"),"data-slide-name")[Ie]===pn)});let Oe=t==="video",ve=Oe?ka(a):void 0,qe=Oe?ka(n):ka(a)??ka(n),At=typeof r=="number"?r/100:1,{fromYouTube:_o,onClick:H,youTubeId:Le,backgroundFile:ne,desktopLayout:Fe,phoneLayout:_e,twoPictures:lt}=pN({isVideo:Oe,videoSource:O,videoPlayback:N,youtubeUrl:R,mediaLayout:C,mediaLayoutPhone:w}),[Rt,Ye]=DN(!1);Rt&&Pe===!1&&Ye(!1);let it=!Rt,Lt=RN({overlayColor:g,overlayPosition:k},U),un=Oe?null:ec(y,"image"),Bs=mN(y),Yt=nt(Bp,{treatment:Oe?{}:Ls(y,"image"),children:nt(Zi,{videoSrc:ne?ve:void 0,posterSrc:qe,showVideo:ne,playbackRate:At,objectPosition:s,objectPositionPhone:Oe?void 0:l,objectPositionTablet:Oe?void 0:c,quiet:xe,slideShown:me,laterSlide:_,laterOfLead:Qe})}),tr=BN("section",{ref:yo,className:va(`${Ee?"relative min-h-full w-full overflow-clip":"relative h-full w-full overflow-hidden"}${x?` ${x}`:""}`,L.className),...L.attrs,style:I,"data-slide-name":e??"","data-slide-process":o??"","data-slide-media":ne&&ve?"video":"still",...Bs.hostAttrs,children:[nt(FN,{sheet:Bs.sheet}),nt(hN,{partMotion:y,editing:u,children:lt?nt(xN,{laterSlide:_,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}}):_o||un?BN(Np,{part:Oe?"media":"image",editing:u,marked:!1,entrance:un,className:"absolute inset-0 z-[1]",children:[Yt,_o&&nt(IN,{youTubeId:Le,ownPoster:!!qe,background:!H,editing:u})]}):Yt}),H&&nt(gN,{youTubeId:Le,fileSrc:_o?void 0:ve,playing:Rt,onPlay:()=>{Ye(!0),We?.()},editing:u}),it&&!lt&&nt(Dp,{color:d,opacity:f,passClicks:!1}),it&&TN(V)&&nt("div",{className:"absolute inset-0 z-[2]",style:{background:Lt.own?AN(Lt.color,Lt.position??void 0):PN(Lt.color),...Y!==void 0?{opacity:Y/100}:null}}),it&&nt("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:{...$v,...vN(te,Re)},children:m&&nt(m,{className:"sf-hero-group-zone",minEmptyHeight:160})})]});return L.scope(Qe?nt(aN,{children:tr}):tr)}var NN=Array.from({length:3},(e,o)=>({name:`Slide ${o+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{newNodeId as HN}from"efficient-easel/draw";var Qne="ImageBlock",ese=3,Mp=(e,o,t={})=>({type:e,props:{...o?.(e)??{},id:HN(e),...t}}),ose=e=>({...e?.(q)??{},direction:"column",[fe]:[Mp(Qne,e),Mp(q,e,{direction:"column",[fe]:[Mp("Text",e,Oa()),Mp("Text",e)]})]}),Vt={Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>NN.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${Jt.toLowerCase()}`,seeds:()=>[],addBlocked:Hc,notice:ph},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${Jt.toLowerCase()}`,seeds:()=>[],addBlocked:Hc,notice:ph},ProcessSteps:{slot:"boxes",childType:q,addLabel:`Add ${Jt.toLowerCase()}`,seeds:e=>Array.from({length:ese},()=>ose(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}},MN=1,tse={slot:Vl,childType:q,addLabel:`Add ${Jt.toLowerCase()}`,seeds:()=>[],addBlocked:e=>e.length>=MN?"This Hero has its Scrolling Bar already. Delete it to add another.":null,notice:e=>e.length>MN?`This Hero holds ${e.length} Scrolling Bars. Keep one and delete the others.`:null},WN={Hero:{[Vl]:tse}};function wze(e){for(let[o,t]of Object.entries(e)){if(o in Vt&&Vt[o]!==t)throw new Error(`lib/document/slot-specs: "${o}" already has a slot spec`);Vt[o]=t}}function Cze(e,o){let t=Vt[e];return t?{slot:t.slot,children:t.seeds(o).map(a=>({type:t.childType,props:{id:HN(t.childType),...a}}))}:null}var zN=()=>({}),GN=new Map;function ase(e){let o=GN.get(e);if(o)return o;let t=new Set,a=Vt[e];if(a)for(let s of a.seeds(zN))for(let l of $N({type:a.childType,props:s}))t.add(l);let r=Os(e);if(r){let s=0;for(let l of $N(r(zN,c=>`${c}-${s+=1}`)))t.add(l)}t.delete(e);let n=[...t].sort();return GN.set(e,n),n}function rse(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let o=db(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=lw(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)&&ase(c).every(l);return s.set(c,f),f};return{sets:o,offers:l}}var nse="block-offer";function tS(e=UN()){return e.cache(nse,()=>rse(Qc(e)))}function jN(e,o=UN()){let t=tS(o);return t?t.offers(e):!0}function sse(e){let o=ju.Ticker(e.nodeDefaults,e.newNodeId),{sectionBorder:t,...a}=o.props,r=ug.line?{sectionBorder:t}:{};return{...o,props:{...a,...r,sectionAccent:ug.sectionAccent}}}var lse={Hero:{[Vl]:{newChild:sse,childLabel:hc.Ticker}}},KN=Object.fromEntries(Object.entries(WN).map(([e,o])=>[e,Object.fromEntries(Object.entries(o).map(([t,a])=>[t,{...a,...lse[e]?.[t]}]))]));function VN(e,o=0,t,a){let r=cse(dse(e,o,a),t),n=r?tS():null;return r&&n?ise(r,n):r}function ise(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 cse(e,o){if(!e||e.source!=="container"||!o||!iC())return e;let t=Zs({data:o.data},o.id),a=typeof t?.type=="string"?cC(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 dse(e,o,t){let a=t?KN[e]?.[t]:void 0;if(a)return{source:"section",slot:a.slot,choices:null,spec:a};let r=Vt[e];if(r)return{source:"section",slot:r.slot,choices:null,spec:r};let n=dw(e,o);if(n)return{source:"container",slot:n.slot,choices:n.choices,spec:null};let s=rA(e);return s?{source:"footer",slot:aA,choices:s,spec:null}:null}function qN(e,o=[to]){return Lm(e.type)?o.map(t=>t===to?{slot:t,label:i(aC),rung:!0}:{slot:t,label:t,rung:!1}):null}import{useSyncExternalStore as fse}from"react";var aS=null,rS=new Set;function YN(e){if(aS!==e){aS=e;for(let o of rS)o()}}function use(e){return rS.add(e),()=>{rS.delete(e)}}function Xze(){return fse(use,()=>aS,()=>null)}function XN(e){return el(e)?.ownerId??null}function JN(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 ZN=(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 QN="sf-editor-left-view";function e2(){if(typeof window>"u")return"pages";try{let e=window.localStorage.getItem(QN);return e==="sections"||e==="styles"?e:"pages"}catch{return"pages"}}function o2(e){if(!(typeof window>"u"))try{window.localStorage.setItem(QN,e)}catch{}}function t2(e,o){return e==="styles"&&!o?"sections":e}function a2(e,o){return e?"sections":o}var pse=new Set(["BookingBox","SubmitBox"]);function mse(e){return typeof e=="string"&&pse.has(e)}var hse=NC(mse,J1);function r2(e,o){return hse(e)||sx(o)}import{copyNode as xse}from"efficient-easel/data";function n2(e){let o=typeof e?.props?.id=="string"?e.props.id:null,t=xt(),a=o&&t?t.sectionOf(o):null;if(!t||!a)return null;let r=t.usedOn(a);return r?r.length===1?i("On 1 page"):i("On {count} pages",{count:r.length}):i("On other pages")}var s2={usedOn:e=>{let o=xt(),t=o?.sectionOf(e.props.id)??null;return!o||!t?null:o.usedOn(t)??[]},openPage:e=>Lc()?.openPage(e),adopt:(e,o)=>xt()?.adopt(e.props.id,o),nodeOf:e=>xt()?.place(e)??null,detach:e=>{let o=Lc()?.config;return o?xse(e,o):e},removed:()=>Lc()?.reload()};import{sharedSectionsOf as _le}from"efficient-easel/screen/lib/shared-sections";import{scrollPreviewToSection as Ale,scrollPreviewToTop as F2}from"efficient-easel/screen/lib/document/preview-dom";import{jsx as lS,Fragment as qse,jsxs as Yse}from"react/jsx-runtime";import{useContext as Xse,useEffect as Jse,useMemo as dS,useRef as g2}from"react";import{EaselCanvas as Zse,repeatCopyAt as Qse,useEasel as ele}from"efficient-easel/easel";import{jsx as f2,Fragment as Ose,jsxs as _se}from"react/jsx-runtime";import{useEffect as u2,useLayoutEffect as Ase}from"react";var Hp="data-theme",l2="light";function Ise(e){return e.getAttribute(Hp)===l2?"light":"dark"}function gse(e,o){return Ise(e)===o?!1:(o==="light"?e.setAttribute(Hp,l2):e.removeAttribute(Hp),!0)}function bse(e){return em(e).getItem(Vp)}function uGe(e,o){em(e).setItem(Vp,o)}function yse(e,o,t=new Date().getHours()){return IS({mode:o.mode,override:bse(e),switchShown:o.switchShown,hour:t})}function i2(e,o){let t=e.documentElement;if(!t)return()=>{};let a=()=>gse(t,yse(e,o));a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[Hp]}),()=>n.disconnect()}var Sse="style";function wse(e,o){let t=PS(o),a=!1;for(let r of TS){let n=t[r]??"";e.style.getPropertyValue(r)!==n&&(n?e.style.setProperty(r,n):e.style.removeProperty(r),a=!0)}return a}function c2(e,o){let t=e.body;if(!t)return()=>{};let a=()=>wse(t,o);a();let r=e.defaultView?.MutationObserver;if(!r)return()=>{};let n=new r(a);return n.observe(t,{attributes:!0,attributeFilter:[Sse]}),()=>n.disconnect()}import{VIEW_DESKTOP_MIN as Cse,VIEW_TABLET_MIN as vse}from"efficient-easel/screen/lib/content/view-tiers";var kse={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"},st=kse,Tse=e=>e.flatMap(o=>[`[${o}] p`,`[${o}] li`]).join(","),Pse=String.raw`(function (doc) {
99
+ if (doc.__sfFitWords) return;
100
+ var win = doc.defaultView;
101
+ var SELECTOR = "h1,h2,h3,h4,h5,h6,[class*='font-heading'],[class*='font-display']";
102
+ // Body text a block asked to shrink (its Text group's Shrink), beside
103
+ // the headings: what this script may fit at all. modeOf() decides each one.
104
+ var SHRINK_BODY = ${JSON.stringify(Tse([st.fit,st.fitTablet,st.fitPhone]))};
105
+ var CANDIDATES = SELECTOR + "," + SHRINK_BODY;
106
+ var MIN_SCALE = 0.3, MIN_PX = 16, SLACK = 1, PHONE_BELOW = 800;
107
+ var TABLET_MIN = ${vse}, DESKTOP_MIN = ${Cse};
108
+
109
+ // A block's own answer (lib/content/block-size, the wrapper's attributes):
110
+ // the fit "wrap" | "shrink" | "line" and the floor, each with a tablet and a
111
+ // phone twin. From 1100 the desktop's; 720-1099 the tablet's where it has one;
112
+ // under 720 the phone's, else the tablet's, else the desktop's. With no
113
+ // tablet answer the phone's is read under 800, as before (the edge moves with
114
+ // F1). With none, a heading shrinks and body text wraps, as always.
115
+ // A holder with any tablet attribute takes the three views (720 and 1100)
116
+ // for its fit AND its floor together; one with none keeps the 800 edge.
117
+ var TABLET_ATTRS = [${JSON.stringify(st.fitTablet)}, ${JSON.stringify(st.minTablet)}];
118
+ function own(el, attr, tabletAttr, phoneAttr) {
119
+ var holder = el.closest("[" + attr + "],[" + tabletAttr + "],[" + phoneAttr + "]");
120
+ if (!holder) return null;
121
+ var w = win.innerWidth, d = holder.getAttribute(attr);
122
+ if (w >= DESKTOP_MIN) return d;
123
+ var t = holder.getAttribute(tabletAttr), p = holder.getAttribute(phoneAttr);
124
+ if (w < TABLET_MIN) return p || t || d;
125
+ if (holder.hasAttribute(TABLET_ATTRS[0]) || holder.hasAttribute(TABLET_ATTRS[1])) return t || d;
126
+ return (w < PHONE_BELOW && p) || d;
127
+ }
128
+ function modeOf(el) {
129
+ var mode = own(el, ${JSON.stringify(st.fit)}, ${JSON.stringify(st.fitTablet)}, ${JSON.stringify(st.fitPhone)});
130
+ if (mode === "wrap" || mode === "shrink") return mode;
131
+ if (mode === "line") return "wrap"; // One line: the block keeps its words whole, nothing shrinks
132
+ return el.matches(SELECTOR) ? "shrink" : "wrap";
133
+ }
134
+ function floorOf(el, set) {
135
+ var min = parseFloat(own(el, ${JSON.stringify(st.min)}, ${JSON.stringify(st.minTablet)}, ${JSON.stringify(st.minPhone)}));
136
+ return min >= 0 ? min : Math.max(set * MIN_SCALE, MIN_PX);
137
+ }
138
+
139
+ function measure(el) {
140
+ var widest = 0, current = 0, last = null, split = false, lastBlock = null;
141
+ function blockOf(n) {
142
+ for (var p = n.parentElement; p && p !== el; p = p.parentElement) {
143
+ var d = win.getComputedStyle(p).display;
144
+ if (d.indexOf("inline") !== 0 && d !== "contents") return p;
145
+ }
146
+ return el;
147
+ }
148
+ function close() { if (current > widest) widest = current; current = 0; last = null; }
149
+ var walker = doc.createTreeWalker(el, 5), range = doc.createRange(), node;
150
+ while ((node = walker.nextNode())) {
151
+ if (node.nodeType === 1) {
152
+ if (node.tagName === "BR" || node.tagName === "WBR") close();
153
+ continue;
154
+ }
155
+ var block = blockOf(node);
156
+ if (block !== lastBlock) close();
157
+ lastBlock = block;
158
+ var re = /(\S+)|(\s+)/g, m;
159
+ while ((m = re.exec(node.data))) {
160
+ if (m[2]) { close(); continue; }
161
+ range.setStart(node, m.index);
162
+ range.setEnd(node, m.index + m[0].length);
163
+ var rects = range.getClientRects();
164
+ for (var i = 0; i < rects.length; i++) {
165
+ var r = rects[i];
166
+ if (r.width <= 0) continue;
167
+ current += r.width;
168
+ if (last && r.top > last.top + last.height / 2) split = true;
169
+ last = r;
170
+ }
171
+ }
172
+ }
173
+ close();
174
+ return { widest: widest, split: split };
175
+ }
176
+
177
+ function lineWidth(el) {
178
+ var cs = win.getComputedStyle(el);
179
+ return el.getBoundingClientRect().width - parseFloat(cs.paddingLeft) - parseFloat(cs.paddingRight)
180
+ - parseFloat(cs.borderLeftWidth) - parseFloat(cs.borderRightWidth);
181
+ }
182
+
183
+ // ⚠️ THE HEADING ELEMENT IS NEVER TOUCHED — no style="", no data-*. This
184
+ // runs before React hydrates, and React 19 in development reports ANY
185
+ // attribute that differs from what it rendered ("a tree hydrated but some
186
+ // attributes didn't match"): first our inline font-size on the hero (which
187
+ // React owns via --heading-size), then, when that moved to a data-sf-fit
188
+ // attribute, the attribute itself. So the fitted size lives only in this
189
+ // script's own stylesheet, in <head>, addressed to each heading by its
190
+ // POSITION (":root>*:nth-child(2)>…"). A position goes stale when the page's
191
+ // structure changes, so the rules are rewritten in the MutationObserver
192
+ // callback, which runs before the next paint. !important so the size also
193
+ // beats a part's own inline size.
194
+ var head = doc.head || doc.documentElement;
195
+ var fitEl = doc.createElement("style");
196
+ fitEl.id = "storefront-fit-words-sizes";
197
+ head.appendChild(fitEl);
198
+ // heading -> [[element, fitted size]]: the heading and each Text part inside
199
+ // it that holds its own size (a span [data-sf-part-styled]), e.g.
200
+ // [[h2, "43.8px"], [span, "43.8px"]]. Sizing the heading alone leaves such
201
+ // a part at its own size, and the word still breaks (card C25, Spec Table).
202
+ var fitted = new Map();
203
+
204
+ function pathOf(el) {
205
+ var parts = [];
206
+ for (var e = el; e && e.parentElement; e = e.parentElement) {
207
+ var i = 1, s = e;
208
+ while ((s = s.previousElementSibling)) i++;
209
+ parts.unshift("*:nth-child(" + i + ")");
210
+ }
211
+ return ":root>" + parts.join(">");
212
+ }
213
+ function writeRules() {
214
+ var css = "";
215
+ fitted.forEach(function (sizes, el) {
216
+ if (!el.isConnected) { fitted.delete(el); return; }
217
+ for (var i = 0; i < sizes.length; i++) css += pathOf(sizes[i][0]) + "{font-size:" + sizes[i][1] + " !important}";
218
+ });
219
+ if (fitEl.textContent !== css) fitEl.textContent = css;
220
+ }
221
+
222
+ function unfit(el) {
223
+ if (fitted.delete(el)) writeRules();
224
+ }
225
+
226
+ function fits(el) {
227
+ var m = measure(el);
228
+ return !m.split && m.widest <= lineWidth(el) + SLACK;
229
+ }
230
+
231
+ function fit(el) {
232
+ unfit(el);
233
+ if (modeOf(el) !== "shrink") return; // the block's own Wrap
234
+ if (lineWidth(el) <= 0) return; // hidden, or not laid out yet
235
+ if (fits(el)) return;
236
+ var set = parseFloat(win.getComputedStyle(el).fontSize);
237
+ if (!set) return;
238
+ var floor = floorOf(el, set);
239
+ if (floor >= set) return;
240
+ function size(px) { return Math.floor(px * 10) / 10 + "px"; }
241
+ // The SEARCH tries sizes on the element's own style and then puts that
242
+ // attribute back byte for byte (or removes it, if it had none), so nothing
243
+ // is left for React to see. A trial in a stylesheet instead restyles the
244
+ // whole page per step: a full pass on the Hartes home took 75–160ms at 4x
245
+ // CPU that way.
246
+ // Every trial scales the heading AND each part inside it that holds its
247
+ // own size, by the same ratio, so a part keeps its proportion to the
248
+ // heading.
249
+ var carriers = [el].concat(Array.prototype.slice.call(el.querySelectorAll("[data-sf-part-styled]")));
250
+ var base = carriers.map(function (c) { return parseFloat(win.getComputedStyle(c).fontSize) || set; });
251
+ var saved = carriers.map(function (c) { return c.hasAttribute("style") ? c.getAttribute("style") : null; });
252
+ function attempt(px) {
253
+ for (var i = 0; i < carriers.length; i++) carriers[i].style.setProperty("font-size", size(base[i] * px / set), "important");
254
+ }
255
+ function done() {
256
+ for (var i = 0; i < carriers.length; i++) {
257
+ if (saved[i] !== null) carriers[i].setAttribute("style", saved[i]); else carriers[i].removeAttribute("style");
258
+ }
259
+ }
260
+ attempt(floor);
261
+ if (!fits(el)) { done(); return; } // even the floor does not fit: leave it as set
262
+ var lo = floor, hi = set;
263
+ for (var i = 0; i < 8; i++) {
264
+ var mid = (lo + hi) / 2;
265
+ attempt(mid);
266
+ if (fits(el)) lo = mid; else hi = mid;
267
+ }
268
+ done();
269
+ fitted.set(el, carriers.map(function (c, i) { return [c, size(base[i] * lo / set)]; }));
270
+ writeRules();
271
+ }
272
+
273
+ // What each heading measured right after we last fitted it, so the
274
+ // ResizeObserver below can tell a real change (a font swap, a rotate, a
275
+ // container that moved) from the size change our own write just caused.
276
+ var seen = new WeakMap();
277
+ function remember(el) {
278
+ var b = el.getBoundingClientRect();
279
+ seen.set(el, b.width + "x" + b.height);
280
+ }
281
+ function fitAndRemember(el) { fit(el); remember(el); }
282
+
283
+ // ⚠️ A ResizeObserver, NOT fonts.ready or a resize event, and the reason is
284
+ // WHEN it runs: after layout, BEFORE paint. The web font arriving re-wraps a
285
+ // fitted heading, and fonts.ready resolves only after that frame is painted —
286
+ // measured on the Hartes hero: a 42px jump in 2 of 3 loads. A size change
287
+ // reported here is fitted in the same frame, so the broken state is never
288
+ // drawn. It also covers a container that resizes.
289
+ var ro = new win.ResizeObserver(function (entries) {
290
+ for (var i = 0; i < entries.length; i++) {
291
+ var el = entries[i].target;
292
+ var b = el.getBoundingClientRect();
293
+ if (seen.get(el) === b.width + "x" + b.height) continue; // our own write
294
+ fitAndRemember(el);
295
+ }
296
+ });
297
+ // Its own set, not seen: fitAndRemember has written seen by the
298
+ // time watch runs, so a seen test observed no heading at all, and a
299
+ // heading fitted in the fallback face was never fitted again when the web
300
+ // font arrived (hartesmetal.com.au, "FusionForge." with its "." alone).
301
+ var watched = new WeakSet();
302
+ function watch(el) { if (!watched.has(el)) { watched.add(el); ro.observe(el); } }
303
+
304
+ function fitAll() {
305
+ var els = doc.querySelectorAll(CANDIDATES);
306
+ for (var i = 0; i < els.length; i++) {
307
+ if (modeOf(els[i]) === "shrink") { fitAndRemember(els[i]); watch(els[i]); }
308
+ else unfit(els[i]); // Wrap here (a phone value may differ from the desktop's)
309
+ }
310
+ }
311
+
312
+ var queued = 0, all = false, touched = new Set();
313
+ function run() {
314
+ queued = 0;
315
+ if (all) { all = false; touched.clear(); fitAll(); return; }
316
+ var els = Array.from(touched);
317
+ touched.clear();
318
+ for (var i = 0; i < els.length; i++) {
319
+ if (!els[i].isConnected) continue;
320
+ if (modeOf(els[i]) === "shrink") { fitAndRemember(els[i]); watch(els[i]); }
321
+ else unfit(els[i]);
322
+ }
323
+ }
324
+ function schedule() { if (!queued) queued = win.requestAnimationFrame(run); }
325
+ function scheduleAll() { all = true; schedule(); }
326
+
327
+ fitAll();
328
+ // A backstop only: a font that changes widths without changing any
329
+ // heading's box is not seen by the ResizeObserver.
330
+ if (doc.fonts && doc.fonts.ready) doc.fonts.ready.then(scheduleAll, function () {});
331
+
332
+ // …and the viewport WIDTH, which the ResizeObserver cannot stand in for: a
333
+ // heading sized to its own text (fit-content, a flex item) keeps the SAME box
334
+ // when the phone turns to 844, so nothing reports a change and it would stay
335
+ // shrunk. The probe's rotate check caught exactly that.
336
+ var lastWidth = win.innerWidth;
337
+ function onResize() {
338
+ if (win.innerWidth === lastWidth) return; // a phone's toolbar changing HEIGHT is not our business
339
+ lastWidth = win.innerWidth;
340
+ scheduleAll();
341
+ }
342
+ win.addEventListener("resize", onResize);
343
+
344
+ var mo = new win.MutationObserver(function (records) {
345
+ // Positions first: a node added or removed anywhere can shift the
346
+ // nth-child path of a fitted heading, and this callback runs before paint.
347
+ if (fitted.size) {
348
+ for (var q = 0; q < records.length; q++) if (records[q].type === "childList") { writeRules(); break; }
349
+ }
350
+ for (var i = 0; i < records.length; i++) {
351
+ var r = records[i];
352
+ // A block's text fit (Wrap / Shrink / One line) or Min font size changed in the editor:
353
+ // only a data-fit attribute moved, so every heading is measured again.
354
+ if (r.type === "attributes") { scheduleAll(); continue; }
355
+ var target = r.target.nodeType === 1 ? r.target : r.target.parentElement;
356
+ var owner = target && target.closest(CANDIDATES);
357
+ if (owner) touched.add(owner);
358
+ for (var j = 0; j < r.addedNodes.length; j++) {
359
+ var n = r.addedNodes[j];
360
+ if (n.nodeType !== 1) continue;
361
+ if (n.matches(CANDIDATES)) touched.add(n);
362
+ var inner = n.querySelectorAll(CANDIDATES);
363
+ for (var k = 0; k < inner.length; k++) touched.add(inner[k]);
364
+ }
365
+ }
366
+ if (touched.size) schedule();
367
+ });
368
+ mo.observe(doc.body, {
369
+ childList: true,
370
+ subtree: true,
371
+ characterData: true,
372
+ attributes: true,
373
+ attributeFilter: ${JSON.stringify(Object.values(st))},
374
+ });
375
+
376
+ doc.__sfFitWords = function stop() {
377
+ win.removeEventListener("resize", onResize);
378
+ ro.disconnect();
379
+ mo.disconnect();
380
+ if (queued) win.cancelAnimationFrame(queued);
381
+ fitted.clear();
382
+ fitEl.remove();
383
+ delete doc.__sfFitWords;
384
+ };
385
+ // For the probe and for debugging: which headings are fitted, at what size,
386
+ // and the sheet that holds it (disable it to read a heading's set size).
387
+ doc.__sfFitWords.fitted = fitted;
388
+ doc.__sfFitWords.sheet = fitEl;
389
+ // …and the two questions a block's own answer changes, for the guard
390
+ // (scripts/test-block-size.tsx §5): which mode an element is in, and its floor.
391
+ doc.__sfFitWords.modeOf = modeOf;
392
+ doc.__sfFitWords.floorOf = floorOf;
393
+ })(document);`,Ese="storefront-fit-words";function d2(e){let o=e.createElement("script");return o.id=Ese,o.textContent=Pse,(e.head??e.documentElement).appendChild(o),()=>{e.__sfFitWords?.(),o.remove()}}var Rse=`
394
+ [${vt}][${vt}] { cursor: text; }
395
+ `;function p2({children:e,document:o}){let{theme:t,themeMode:a,themeSwitchShown:r}=he(),n=eo(t);return u2(()=>{if(o)return i2(o,{mode:a,switchShown:r})},[o,a,r]),u2(()=>{if(o)return c2(o,n)},[o,n]),Ase(()=>{if(o)return d2(o)},[o]),_se(Ose,{children:[f2(QS,{}),f2("style",{children:Rse}),e]})}import{jsx as nS}from"react/jsx-runtime";import{useEffect as Lse,useState as Fse}from"react";import{Banner as Bse}from"efficient-shell/ui";var Wp={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."},Dse={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."},Nse=Wp.load,Mse=Wp.lock,Hse=Wp.conflict,Wse=Wp.save;function $se(e){if(!e)return null;if(e.loadFailed)return i(Nse);if(e.lockHolder)return i(Mse,{name:e.lockHolder.name||i("Somebody else")});if(e.conflict)return i(Hse);if(e.saveFailed)return i(Wse);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(Dse[o.problem],{section:t,name:a})}function zse({report:e}){let o=$se(Ep(e)),[t,a]=Fse(null);return Lse(()=>{o||a(null)},[o]),!o||t===o?null:nS("aside",{className:"sf-canvas-notice",children:nS(Bse,{tone:"warning",onDismiss:()=>a(o),children:o})})}function m2(){return nS(zse,{report:Op()})}import{jsx as $p}from"react/jsx-runtime";import{useState as h2}from"react";import{Banner as Gse,Button as Use}from"efficient-shell/ui";import{UndoIcon as jse}from"efficient-shell/icons/efficient";import{useScreenDocument as Kse}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSettledAction as Vse}from"efficient-easel/easel";function x2(){let e=kD(),{adapter:o,flushSave:t,reloadFromServer:a}=Kse(),r=o.siteVersions,[n,s]=h2(!1),[l,c]=h2(!1),d=async()=>{if(!(!r||n)){s(!0),c(!1);try{await ED({access:r,flushSave:t,reload:a})}catch{c(!0)}finally{s(!1)}}},f=Vse({onPress:()=>{d()},busy:n});return e?$p("aside",{className:"sf-canvas-notice",children:$p(Gse,{tone:l?"danger":"info",title:e.title,onDismiss:_p,action:r&&e.undo?$p(Use,{variant:"secondary",size:"sm",leftIcon:$p(jse,{}),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 ole,REPEAT_ATTRIBUTE as iS,REPEAT_INDEX_ATTRIBUTE as cS}from"efficient-easel/draw";import{usePreviewParts as tle}from"efficient-easel/draw/client";var I2=null;function sS(e){I2=e}function WGe(){return I2}import{ScreenDocumentContext as ale}from"efficient-easel/screen/components/ScreenDocumentContext";function b2(e){let{mirrorHostStyles:o}=am(),t=ow(),{sectionBackgroundWidth:a,themeFromDocument:r}=he(),n=zS(),s=Xse(ale),l=Fc(s?.docId??null),c=ele(C=>C.appState.data),d=jC(l,c),f=JSON.stringify(d),m=dS(()=>d,[f]),u=dS(()=>({...e.metadata??t??{},...sP(r?null:a,n),...m}),[e.metadata,t,a,n,r,m]);Jse(()=>(sS(n),()=>sS(null)),[n]);let x=g2(null),I=rle(x),{onDocument:g}=e,k=C=>{x.current=C,g?.(C)};return Yse(qse,{children:[lS(x2,{}),lS(m2,{}),lS(Zse,{...e,onDocument:k,typing:I,metadata:u,height:"fill",mirrorStyles:o,frameWrapper:p2})]})}function rle(e){let o=uc(),t=tle(),a=g2({parts:t});return a.current={parts:t},dS(()=>{let r=(n,s)=>{let l=nf(n,o),c,d=null,f=s??(l?null:dI(null,e.current,n)),m=!l&&f?Qse(f):null,u=m?ole(n):null;if(m&&f&&u?.propKey){l=lf({...m,nodeId:u.nodeId,key:u.propKey},o),c=u.propKey;let k=f.closest(`[${iS}][${cS}]`),C=`[${iS}="${sf(k?.getAttribute(iS)??"")}"][${cS}="${sf(k?.getAttribute(cS)??"")}"]`;d=()=>(f.ownerDocument??e.current)?.querySelector(C)??null}if(!l)return null;let x=f,I=()=>(x=dI(x,d?d():x?.ownerDocument??e.current,n),x),g=I();return g?{element:I,value:l.value,rules:l.rules,multiline:l.multiline,skip:l.skip,write:l.write,key:c,toolbar:{offered:l.offered,colors:l.offered.length>0?_n(Zv(g)):void 0,colorNameOf:zo}}:null};return{at:n=>{let s=n.closest(`[${vt}]`),l=s?.getAttribute(vt);return s&&l?r(l,s):null},atSelection:()=>{let n=a.current.parts.selectedPartId;return n?r(n,null):null},onCopyText:n=>L0(n,o),copyValue:n=>R0(n,o),onChange:n=>{if(!n.typing){fI(null);return}let s=n.element.closest(`[${vt}]`)?.getAttribute(vt)??null;fI(s),s&&a.current.parts.selectedPartId!==s&&a.current.parts.select(s)}}},[o,e])}var nle=$S.mediaFields,sle=/video|poster|focal|phone/i;function y2(e){return(nle[e]??[]).find(o=>!o.includes("[]")&&!sle.test(o))??null}var S2={adds:{kind:"block",type:"ImageBlock"},takes:e=>y2(e.type)!==null,replace:(e,o)=>{let t=y2(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 w2={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 zp}from"react/jsx-runtime";import{useState as lle}from"react";import{Button as ile,Tooltip as cle,toast as C2}from"efficient-shell/ui";import{TemplateIcon as dle}from"efficient-easel/icons";import{useSettledAction as fle}from"efficient-easel/easel";import{useScreenDocument as ule}from"efficient-easel/screen/components/ScreenDocumentContext";function k2({enabled:e,reason:o,onSaved:t}){let{flushSave:a}=ule(),[r,n]=lle(!1),s=async()=>{if(!r){n(!0);try{await a()?t():C2.error(i(v2))}catch{C2.error(i(v2))}finally{n(!1)}}},l=fle({onPress:()=>{s()},busy:r});return zp(cle,{side:"bottom",content:e?i("Save this website as a platform template"):i(o),children:zp("span",{className:"sf-tip-disabled",tabIndex:e?void 0:0,children:zp(ile,{variant:"secondary",disabled:!e||l.busy,loading:l.busy,onClick:l.onPress,rightIcon:zp(dle,{size:15}),children:i("Save as Template")})})})}var v2="Your last changes did not save, so the template was not made. Try again.";var ple="Save your page changes first";function T2(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:ple}:{visible:!0,enabled:!0}:{visible:!1,hiddenReason:"no-site"}:{visible:!1,hiddenReason:"not-operator"}:{visible:!1,hiddenReason:"no-console"}}var P2="storefront-editor:save-as-template";var oc="ContactLocations",mle="CityPictures",hle="CityMaps",xle=[{key:mle,label:"City pictures",desc:"A wall of city photos, grouped by region. Each photo links to its city's card."},{key:hle,label:"City maps",desc:"A card per city, grouped by region: address, phone, hours and a map."}];function E2(e=wi){let o=Pa.find(t=>t.sections.some(a=>a.type===oc))?.key;return!e.includes(oc)||!o?[]:xle.map(({key:t,label:a,desc:r},n)=>({key:t,label:a,cat:o,after:oc,desc:r,alias:"locations offices stores branches",insert:s=>{let l=gs(oc);return l?Tp(oc,l,n)(s.nodeDefaults,s.newNodeId):null}}))}var Ile="plain",O2=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],gle="line",ble={KeyFeatures:"filled"};function tc(e){return ble[e]??Ile}function TUe(e,o){return lo(O2,tc(o),e)}function PUe(e){return lo(O2,gle,e)}function A2(e,{nodeDefaults:o,newNodeId:t,sectionLabel:a,blockIsOffered:r}){let n=Os(e);if(n)return n(o,t,zu());if(eC(e)&&r(q)&&r(Sn))return{type:q,props:{...o(q),id:t(q),direction:"column",name:`${a(e)} section`,content:[{type:Sn,props:{...o(Sn),id:t(Sn),...To[e]?.headStyle?{headStyle:To[e].headStyle}:{},...To[e]?.headRowGap?{rowGap:To[e].headRowGap}:{},...To[e]?.headDescriptionSize?{descriptionSize:To[e].headDescriptionSize}:{},...tc(e)!==tc(Sn)?{eyebrowLook:tc(e)}:{}}},{type:e,props:{...o(e),id:t(e),headPlacement:"own-box",..._2(e,t)}}]}};if(Vt[e]?.fixed===!0)return{type:e,props:{...o(e),id:t(e),layout:"boxes"}};let s=_2(e,t);return Object.keys(s).length?{type:e,props:{...o(e),id:t(e),...s}}:null}function _2(e,o){return e==="Cards"?{template:Cc(t=>o(t))}:e===Ys?{template:Tm(t=>o(t))}:{}}import{useEffect as yle,useState as Sle}from"react";import{useEaselSession as wle}from"efficient-easel/screen/lib/session-context";function R2(){let e=wle().chrome?.products?.list,[o,t]=Sle(null);return yle(()=>{if(!e)return;let a=!1;return e().then(r=>{a||t(r)}),()=>{a=!0}},[e]),o}function z2({mode:e,open:o}){let{setSelectedHeroId:t,setSelectHandler:a}=HO(),r=W2().tree,n=e,s=n.kind==="ticker"?n.heroId:null,l=Fs(c=>{c&&(o({kind:"ticker",heroId:c}),Ale(c))},[o]);return qt(()=>{t(s)},[s,t]),qt(()=>{a(l)},[a,l]),{partRows:(c,{rowClick:d})=>{let f=String(c.props.id);return c.type==="Hero"&&pg(c.props)&&uo(M2,{icon:uo(Gr,{type:"ticker",size:13}),name:i(Kl),onSelect:()=>l(f),selected:s===f,rowProps:{onClick:d(()=>l(f))},words:r})}}}function G2({mode:e,select:o}){let{setSelectedHeroPart:t,setSelectHandler:a}=jf(),r=W2().tree,{appState:n}=H2(u=>u),s=n.data.content??[],l=Cle(s);l.current=s;let c=e,d=$r.find(u=>Yl[u]===c.kind),f=d&&"nodeId"in c?Xl(String(c.nodeId),d):null,m=Fs(u=>{let x=VO(u);if(!x)return;let I=l.current.findIndex(k=>String(k.props.id)===x.nodeId);if(I<0)return;let g={kind:Yl[x.part],nodeId:x.nodeId};o({index:I},g)},[o]);return qt(()=>{t(f)},[f,t]),qt(()=>{a(m)},[a,m]),{partRows:(u,{rowClick:x})=>{let I=String(u.props.id),g=KO(u);if(g.length===0)return null;let k=b=>{let v=Xl(I,b.part);return uo(M2,{icon:uo(Gr,{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]=g;return ac(N2,{children:[k(C),w.length>0&&uo(Ele,{children:w.map(k)})]})}}}function U2(e,o){return{partRows:(t,a)=>ac(N2,{children:[e.partRows?.(t,a),o.partRows?.(t,a)]})}}function Rle(e){let{adapter:o,capabilities:t,currentSlug:a,siteId:r,docId:n,hasUnsavedEdits:s,bridgeCapabilities:l,notifyParent:c,token:d}=Gp(),{hasPreviewLink:f}=t,m=Ge($2()).preview?.draftLink,u=BD(e.data),x=T2({hasTrustedConsole:!!d,canCreatePlatformTemplate:l.canCreatePlatformTemplate,capabilities:t,siteId:r,hasUnsavedEdits:s}),I=Fs(()=>{!r||!a||c(P2,{siteId:r,slug:a})},[c,r,a]),g=pD({pageSlug:a,siteId:r,token:d}),k=o.previewHref?.(a)??g;return{barLead:()=>x.visible&&uo(k2,{enabled:x.enabled,reason:x.enabled?"":x.disabledReason,onSaved:I}),barView:()=>f&&a&&uo(xD,{liveHref:k,pageId:n??null,draftLink:m}),mainAction:u}}function Lle(e,o){let{capabilities:t,templateId:a,siteId:r,tokenRef:n,navigate:s}=Gp(),{hasSiteTheme:l,explainsSiteSettings:c}=t,d=b=>o.setView(b),[f,m]=L2(rs[0].id),[u,x]=L2(!1),{surface:I,setSurface:g}=MO(),k=()=>{if(l){d("styles"),o.reveal(),F2();return}e.show(kb),e.reveal(),F2()},C={id:"pages",label:i("Pages"),icon:uo(kle,{}),panel:({onHide:b})=>uo(EO,{activeSurface:I,onPreviewSurface:g,onNavigate:v=>{g(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(Ple,{}),active:e.kind==="website",onSelect:k}),l&&w.push({id:"styles",label:i("Styles"),icon:uo(Tle,{}),panel:({onHide:b,notify:v})=>uo(LA,{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=>t2(b,l),openSettings:k,openStyles:()=>{m(dO),d("styles")},openPageStyles:l?()=>{m(ss),x(!0),d("styles"),o.reveal()}:c?()=>{e.show(SA),e.reveal()}:void 0}}function Fle(){let{navigate:e,siteId:o,reloadFromServer:t,docId:a}=Gp(),r=H2(s=>s.config),n=$2();qt(()=>(Jm({openPage:s=>e({kind:"page",slug:s.slug,siteId:o??void 0}),reload:()=>{t()},config:r}),()=>Jm(null)),[e,o,t,r]),qt(()=>{let s=xt();if(!s||!a)return;let l=!1;return _le(n).list().then(c=>{l||s.learn(c)}).catch(()=>{}),()=>{l=!0}},[a,n])}function j2(){let e=uc();return Fs(o=>{F0(o,e)},[e])}function Ble(e,o,t,a){let{kind:r,open:n}=e,{selected:s,zoneOf:l}=o;qt(()=>{YN(s?.type==="BookingBox"&&s.props.region==="confirm"?XN(l(String(s.props.id))):null)},[s?.props.id]);let c=eR(e,o),{capabilities:{hasSiteSettings:d}}=Gp();Fle();let{chat:f,setChat:m,setSelected:u,setSelectHandler:x}=Uf(),I=Fs(()=>n(wA),[n]),g=r==="chat";qt(()=>{u(g)},[g,u]),qt(()=>{x(I)},[x,I]);let{setOpenHandler:k}=jl(),C=Fs(()=>n(CA),[n]);qt(()=>{k(C)},[k,C]);let w=U2(z2(e),G2(e)),b=Rle(o),v=Lle(e,a),P=t.device,F=j2();return{...w,...b,...v,hasOwnRows:T=>T.type===Wu,ownRows:c.renderLocationTree,sectionPressed:c.sectionPressed,onCopyItem:F,wrap:T=>uo(rm.Provider,{value:!0,children:ac(Ole.Provider,{value:P,children:[T,uo(GD,{})]})}),addPanelRow:T=>d?ac("div",{className:"sf-addside-sitewide",children:[uo("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:uo(Gr,{type:"chat",size:16})}),ac("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{T(),I()},children:[i("Live chat"),uo("span",{className:"sf-addside-sitewide-desc",children:i("A chat bubble on every page")})]}),uo(vle,{checked:f.enabled,onChange:D=>m({enabled:D}),ariaLabel:i("Show the chat bubble on the whole site")})]}):void 0}}var B2=null,fS=new WeakMap;function Dle(e){let o=JS();if(!e||!o)return e;B2!==o&&(B2=o,fS=new WeakMap);let t=fS.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},fS.set(e,t)),t}var Nle={isLockedBlock:(e,o)=>r2(e,o)||!!(o&&xt()?.heldElsewhere(o.props.id)),duplicateBlocked:Au,nestDepth:(e,o,t)=>o===Wc?bv(e,t):0,newSectionNode:A2,canAddTo:(e,o,t,a)=>Dle(VN(e,o,a,t)),blockIsOffered:jN,slotsOf:qN,resolveOnInsert:!0},Mle=new Proxy(w2,{get:(e,o)=>{let t=Reflect.get(e,o);return typeof t=="string"?i(t):t}}),Hle={labelAtLevel:(e,o,t)=>i(im(e,o,t)),descriptions:Mle,categoryLabel:e=>{let o=UD(e);return o===void 0?void 0:i(o)},firstSection:jD,blockRowName:JN,rowName:ZN,plainText:ur,Icon:Gr,Thumbnail:AA,useProducts:R2,presets:E2()},Wle={desktop:2e3,tablet:800,mobile:390},D2="desktop",$le={options:FO,initial:D2,fluid:D2,widths:Wle,hidesPerView:!0},zle={read:e2,write:e=>o2(e),forSelection:(e,o)=>a2(e,o)},Gle={first:No,last:He,firstGroup:Ne,lastGroup:Ae,isSectionGroup:Cn,sectionGroupZone:TC,panelOf:e=>e===No?yA:null,get sharedReach(){return qr()?jle:void 0},get shared(){return xt()?s2:void 0},get groupTab(){return qr()?nA:void 0},get groupBadge(){return qr()?yb({type:Ae})??void 0:void 0},get changeNotice(){return qr()?sA():void 0},get band(){return qr()?Ule:void 0},get groupAccepts(){return qr()?OC:void 0}},Ule={foldable:!0},jle=e=>yb(e)??n2(e);function Kle(e){return{...U2(z2(e),G2(e)),onCopyItem:j2(),openSettings:()=>e.show(kb)}}function Vle(e,o){mR(e,o),iD()}var Qje={useOwnerName:ls,useDocumentLabel:xO,useBridges:Ble,useStandaloneBridges:Kle,useDocumentPass:Vle,blockRules:Nle,blockLook:Hle,devices:$le,leftView:zle,pinned:Gle,Canvas:b2,canvasDrag:{media:S2},Inspector:kA};export{Ta as a,ee as b,Bt as c,gM as d,ft as e,Hs as f,xie as g,aw as h,bM as i,Iie as j,gie as k,pc as l,rw as m,bie as n,so as o,kM as p,yie as q,wie as r,Cie as s,vie as t,hc as u,Jt as v,fe as w,q as x,iw as y,Aie as z,dw as A,Fie as B,Bie as C,dr as D,Sw as E,ur as F,lo as G,um as H,pm as I,nH as J,xc as K,Zie as L,zs as M,Qie as N,kw as O,tce as P,Tw as Q,pr as R,ace as S,rce as T,nce as U,Ic as V,ice as W,ut as X,Us as Y,hce as Z,xH as _,wH as $,xce as aa,Ice as ba,xm as ca,gce as da,CH as ea,yce as fa,PH as ga,Sce as ha,OH as ia,wce as ja,Cce as ka,Cm as la,Mw as ma,Hw as na,Ww as oa,vce as pa,kce as qa,Tce as ra,Pce as sa,Ece as ta,DH as ua,Oce as va,_ce as wa,Gw as xa,NH as ya,Ace as za,Rce as Aa,jw as Ba,$ as Ca,Q as Da,Sc as Ea,A as Fa,io as Ga,W as Ha,pt as Ia,ko as Ja,Vs as Ka,ge as La,wc as Ma,GH as Na,Yw as Oa,fde as Pa,Em as Qa,JH as Ra,Om as Sa,_m as Ta,Xs as Ua,oo as Va,hde as Wa,ZH as Xa,To as Ya,vc as Za,bde as _a,oC as $a,yde as ab,Sde as bb,to as cb,Po as db,So as eb,Rm as fb,nC as gb,Js as hb,sC as ib,Wde as jb,$de as kb,d4 as lb,lC as mb,cC as nb,zde as ob,Gde as pb,Lm as qb,f4 as rb,p4 as sb,fC as tb,Fm as ub,ht as vb,kc as wb,uC as xb,Bm as yb,Ude as zb,jde as Ab,Kde as Bb,Mm as Cb,Vde as Db,Zs as Eb,qde as Fb,Yde as Gb,Xde as Hb,db as Ib,Ge as Jb,Qc as Kb,j as Lb,Du as Mb,LBe as Nb,jt as Ob,Kt as Pb,Io as Qb,sDe as Rb,zOe as Sb,ei as Tb,oi as Ub,f_ as Vb,GOe as Wb,u_ as Xb,UOe as Yb,Z9 as Zb,p_ as _b,jOe as $b,x_ as ac,hR as bc,$De as cc,Xle as dc,re as ec,i as fc,vo as gc,xR as hc,UDe as ic,$v as jc,Wt as kc,Mk as lc,fxe as mc,ox as nc,eW as oc,uxe as pc,mo as qc,gz as rc,Px as sc,QT as tc,Qge as uc,St as vc,obe as wc,tbe as xc,abe as yc,Ed as zc,rbe as Ac,Od as Bc,nbe as Cc,sbe as Dc,tP as Ec,aP as Fc,kz as Gc,Tz as Hc,dbe as Ic,ube as Jc,pbe as Kc,mbe as Lc,hbe as Mc,rP as Nc,_r as Oc,Rz as Pc,gbe as Qc,Lz as Rc,bbe as Sc,co as Tc,Fz as Uc,ybe as Vc,Sbe as Wc,wbe as Xc,Cbe as Yc,vbe as Zc,kbe as _c,Wn as $c,Tbe as ad,ke as bd,ou as cd,ti as dd,tu as ed,a_e as fd,Fbe as gd,Bbe as hd,hf as id,Me as jd,Lve as kd,Fve as ld,Bve as md,Z0 as nd,xd as od,nge as pd,E$ as qd,yT as rd,sge as sd,lge as td,wR as ud,Zv as vd,Ra as wd,Zpe as xd,Ba as yd,i6 as zd,Qpe as Ad,eme as Bd,ok as Cd,ek as Dd,kh as Ed,d6 as Fd,ome as Gd,tme as Hd,ame as Id,rme as Jd,N$ as Kd,ux as Ld,yd as Md,bl as Nd,Sge as Od,hx as Pd,wge as Qd,yl as Rd,AT as Sd,RT as Td,Cge as Ud,LT as Vd,BT as Wd,CR as Xd,Ku as Yd,TR as Zd,fNe as _d,uNe as $d,Cl as ae,$t as be,cl as ce,ime as de,cme as ee,J as fe,ae as ge,oe as he,ie,le as je,ye as ke,BNe as le,_i as me,Ai as ne,_R as oe,HNe as pe,Lee as qe,AR as re,zNe as se,GNe as te,RR as ue,jb as ve,KNe as we,VNe as xe,qNe as ye,YNe as ze,XNe as Ae,JNe as Be,Gc as Ce,e2e as De,o2e as Ee,LR as Fe,t2e as Ge,Dee as He,Nee as Ie,a2e as Je,Mee as Ke,r2e as Le,Wee as Me,i2e as Ne,c2e as Oe,$ee as Pe,d2e as Qe,f2e as Re,u2e as Se,p2e as Te,m2e as Ue,h2e as Ve,x2e as We,I2e as Xe,an as Ye,ks as Ze,Z2e as _e,Q2e as $e,eMe as af,mL as bf,hL as cf,Loe as df,gMe as ef,xL as ff,IL as gf,gL as hf,SMe as if,FMe as jf,BMe as kf,TL as lf,DMe as mf,NMe as nf,jn as of,fl as pf,Xx as qf,Qx as rf,ef as sf,vt as tf,zwe as uf,Gwe as vf,Uwe as wf,jwe as xf,_j as yf,Aj as zf,Kwe as Af,Kn as Bf,oI as Cf,Vwe as Df,qwe as Ef,kf as Ff,Tf as Gf,Xn as Hf,OI as If,r8 as Jf,Yn as Kf,FI as Lf,BI as Mf,Qn as Nf,Nr as Of,_ke as Pf,Ml as Qf,kE as Rf,Ake as Sf,UI as Tf,Rke as Uf,Lke as Vf,Fke as Wf,z8 as Xf,Bke as Yf,K8 as Zf,V8 as _f,Dke as $f,Nke as ag,Y8 as bg,er as cg,QMe as dg,eHe as eg,oHe as fg,ip as gg,joe as hg,Koe as ig,tHe as jg,aHe as kg,iy as lg,ly as mg,si as ng,g1 as og,b1 as pg,li as qg,o1 as rg,tb as sg,q1e as tg,ps as ug,rb as vg,r1 as wg,n1 as xg,tJ as yg,s1 as zg,du as Ag,l1 as Bg,yHe as Cg,WL as Dg,SHe as Eg,wHe as Fg,CHe as Gg,Mi as Hg,dp as Ig,_He as Jg,ba as Kg,HHe as Lg,WHe as Mg,qL as Ng,ya as Og,bo as Pg,up as Qg,XL as Rg,KHe as Sg,pp as Tg,JL as Ug,JHe as Vg,u4e as Wg,cF as Xg,wy as Yg,dF as Zg,I4e as _g,g4e as $g,b4e as ah,Cy as bh,y4e as ch,S4e as dh,fF as eh,Wte as fh,bp as gh,o5e as hh,aI as ih,tCe as jh,rI as kh,g0 as lh,f5e as mh,UF as nh,jF as oh,_5e as ph,yp as qh,VF as rh,qF as sh,F5e as th,tae as uh,aae as vh,rae as wh,B5e as xh,K5e as yh,dae as zh,fae as Ah,tB as Bh,V5e as Ch,q5e as Dh,p6e as Eh,vB as Fh,m6e as Gh,kB as Hh,x6e as Ih,Lae as Jh,FB as Kh,T6e as Lh,t3e as Mh,PWe as Nh,MWe as Oh,Jy as Ph,HWe as Qh,WWe as Rh,qD as Sh,KWe as Th,VWe as Uh,eN as Vh,qWe as Wh,bk as Xh,eO as Yh,wTe as Zh,CTe as _h,PV as $h,vTe as ai,kTe as bi,TTe as ci,PTe as di,EV as ei,ETe as fi,OTe as gi,_Te as hi,ATe as ii,RV as ji,RTe as ki,hne as li,rN as mi,QWe as ni,Zi as oi,Aa as pi,Yfe as qi,j4 as ri,nh as si,tl as ti,Xfe as ui,Qfe as vi,V4 as wi,av as xi,eue as yi,Sr as zi,Z4 as Ai,sue as Bi,lue as Ci,al as Di,iue as Ei,cue as Fi,dh as Gi,iv as Hi,xue as Ii,GO as Ji,W0e as Ki,mg as Li,zr as Mi,U0e as Ni,j0e as Oi,Eq as Pi,K0e as Qi,Xl as Ri,VO as Si,qO as Ti,f$e as Ui,eS as Vi,fN as Wi,cn as Xi,Qy as Yi,Sne as Zi,u$e as _i,Ap as $i,Qi as aj,Rp as bj,p$e as cj,m$e as dj,y4 as ej,rfe as fj,S4 as gj,w4 as hj,lfe as ij,C4 as jj,v4 as kj,ife as lj,cfe as mj,dfe as nj,ffe as oj,pN as pj,ec as qj,Ls as rj,mN as sj,Bp as tj,Dp as uj,Np as vj,hN as wj,xN as xj,IN as yj,gN as zj,bN as Aj,wN as Bj,CN as Cj,N$e as Dj,M$e as Ej,H$e as Fj,W$e as Gj,bt as Hj,Wne as Ij,ON as Jj,zne as Kj,AN as Lj,RN as Mj,FN as Nj,Zne as Oj,pze as Pj,Tn as Qj,hv as Rj,mv as Sj,n5 as Tj,s5 as Uj,l5 as Vj,Tue as Wj,i5 as Xj,Pue as Yj,rl as Zj,Eue as _j,Oue as $j,Wc as ak,bv as bk,$O as ck,B0e as dk,wze as ek,Cze as fk,rse as gk,kse as hk,Q$ as ik,Dn as jk,_ge as kk,Lue as lk,hh as mk,Fue as nk,Bue as ok,Zt as pk,kv as qk,Sv as rk,h5 as sk,$ue as tk,$c as uk,Pv as vk,x5 as wk,I5 as xk,g5 as yk,Uue as zk,jue as Ak,Kue as Bk,Vue as Ck,Ne as Dk,Ae as Ek,hfe as Fk,PC as Gk,_c as Hk,Rge as Ik,Lge as Jk,Fge as Kk,Afe as Lk,Bfe as Mk,Sd as Nk,Tge as Ok,Pge as Pk,Ege as Qk,WGe as Rk,MAe as Sk,I1 as Tk,Kl as Uk,O0e as Vk,HO as Wk,_0e as Xk,A0e as Yk,R0e as Zk,OBe as _k,FA as $k,BA as al,DA as bl,iP as cl,Jz as dl,Bo as el,ra as fl,Ad as gl,Rd as hl,jbe as il,Kbe as jl,qbe as kl,Ybe as ll,Xbe as ml,Jbe as nl,Zbe as ol,eye as pl,Fd as ql,dP as rl,_x as sl,Qz as tl,fP as ul,uP as vl,bue as wl,Cue as xl,zc as yl,Uc as zl,sl as Al,Rv as Bl,ape as Cl,rpe as Dl,Mv as El,Sh as Fl,n6 as Gl,Gpe as Hl,ume as Il,bme as Jl,yme as Kl,A6 as Ll,Lo as Ml,dl as Nl,Dh as Ol,Nh as Pl,Mh as Ql,Qme as Rl,ehe as Sl,Ik as Tl,ohe as Ul,the as Vl,ahe as Wl,wk as Xl,vk as Yl,ea as Zl,Rk as _l,iW as $l,Txe as am,Gk as bm,Lxe as cm,jk as dm,Yk as em,Xk as fm,Jk as gm,Zk as hm,Qk as im,eT as jm,ax as km,PW as lm,EW as mm,hl as nm,rx as om,tT as pm,tIe as qm,_W as rm,aIe as sm,rIe as tm,nIe as um,rT as vm,cIe as wm,LW as xm,dIe as ym,fIe as zm,BW as Am,nx as Bm,NW as Cm,hIe as Dm,MW as Em,xIe as Fm,HW as Gm,yt as Hm,bIe as Im,yIe as Jm,SIe as Km,wIe as Lm,fd as Mm,CIe as Nm,ix as Om,AIe as Pm,dT as Qm,GW as Rm,LIe as Sm,xl as Tm,a$ as Um,QIe as Vm,R$ as Wm,hge as Xm,F$ as Ym,xge as Zm,Ige as _m,gge as $m,Cd as an,Sl as bn,Dge as cn,Nge as dn,Mge as en,WT as fn,$T as gn,zT as hn,Hge as in,Hn as jn,Td as kn,jge as ln,Kge as mn,Vge as nn,XT as on,Yge as pn,Ua as qn,ca as rn,Rr as sn,_Se as tn,ASe as un,RSe as vn,LSe as wn,FSe as xn,BSe as yn,DSe as zn,WSe as An,$Se as Bn,mU as Cn,zSe as Dn,GSe as En,USe as Fn,jSe as Gn,KSe as Hn,VSe as In,qSe as Jn,YSe as Kn,gU as Ln,XSe as Mn,Wx as Nn,JSe as On,zd as Pn,Uo as Qn,la as Rn,UP as Sn,Gh as Tn,jP as Un,Ud as Vn,ZSe as Wn,QSe as Xn,WU as Yn,ewe as Zn,owe as _n,twe as $n,awe as ao,rwe as bo,nwe as co,Jo as do,swe as eo,lwe as fo,Bd as go,Kd as ho,Vd as io,Gx as jo,Yd as ko,iwe as lo,aj as mo,cwe as no,rj as oo,dwe as po,fwe as qo,e0 as ro,uwe as so,pwe as to,mwe as uo,hwe as vo,xwe as wo,Iwe as xo,Vx as yo,gwe as zo,t0 as Ao,a0 as Bo,r0 as Co,bwe as Do,Yx as Eo,Ij as Fo,ywe as Go,Swe as Ho,w1e as Io,Q_ as Jo,jo as Ko,ai as Lo,QY as Mo,__ as No,R_e as Oo,L_e as Po,F_e as Qo,B_e as Ro,F_ as So,H_e as To,W_e as Uo,$_e as Vo,dE as Wo,fE as Xo,zf as Yo,OO as Zo,_O as _o,RO as $o,Gf as ap,f0e as bp,u0e as cp,Uf as dp,bq as ep,w0e as fp,jl as gp,T0e as hp,MO as ip,wn as jp,g4 as kp,ofe as lp,tfe as mp,yLe as np,SLe as op,wLe as pp,M0e as qp,jf as rp,lie as sp,Fj as tp,pCe as up,mCe as vp,w0 as wp,hCe as xp,xCe as yp,LE as zp,Xke as Ap,Jke as Bp,Zke as Cp,Qke as Dp,QE as Ep,GTe as Fp,UTe as Gp,XO as Hp,OOe as Ip,a_ as Jp,ci as Kp,WJ as Lp,$J as Mp,ZAe as Np,nRe as Op,xu as Pp,He as Qp,_u as Rp,Et as Sp,HA as Tp,yi as Up,WA as Vp,$A as Wp,DBe as Xp,NBe as Yp,cD as Zp,Ky as _p,dD as $p,VN as aq,Xze as bq,ZN as cq,r2 as dq,Hp as eq,Ise as fq,gse as gq,uGe as hq,eie as iq,rie as jq,Ile as kq,O2 as lq,gle as mq,tc as nq,TUe as oq,PUe as pq,Qje as qq};