efficient-storefront-blocks 0.61.0 → 0.62.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 (139) hide show
  1. package/CHANGELOG.md +63 -1
  2. package/dist/chunks/{EditorPreviewCheckout-55ERZEPV.js → EditorPreviewCheckout-BQFPYYBS.js} +1 -1
  3. package/dist/chunks/{SiteEditorProvider-XF374NLZ.js → SiteEditorProvider-3E6XWZIS.js} +1 -1
  4. package/dist/chunks/chunk-4BQ44OLC.js +250 -0
  5. package/dist/chunks/chunk-MT5KWSYX.js +1 -0
  6. package/dist/chunks/chunk-OJ4OD3N6.js +1 -0
  7. package/dist/chunks/{fitment-data-RORHKBID.js → fitment-data-PWZAAUFK.js} +1 -1
  8. package/dist/editor/components/EditorPreviewChat.js +4 -4
  9. package/dist/editor/components/PreviewHeader.d.ts +1 -1
  10. package/dist/editor/components/PreviewHeader.js +4 -4
  11. package/dist/editor/lib/efficient-backend.d.ts +1 -0
  12. package/dist/editor/lib/efficient-backend.js +1 -1
  13. package/dist/editor/lib/efficient-block-sources.d.ts +2 -0
  14. package/dist/editor/lib/efficient-block-sources.js +1 -0
  15. package/dist/editor/lib/puck/blocks/commerce/EuTyreLabelBlock/fields.d.ts +2 -0
  16. package/dist/editor/lib/puck/blocks/commerce/EuTyreLabelBlock/fields.js +1 -0
  17. package/dist/editor/lib/puck/blocks/commerce/ProductGallery/fields.d.ts +6 -0
  18. package/dist/editor/lib/puck/blocks/commerce/ProductGallery/fields.js +1 -0
  19. package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.js +1 -1
  20. package/dist/editor/lib/puck/blocks/commerce/index.d.ts +1 -1
  21. package/dist/editor/lib/puck/blocks/commerce/index.js +1 -1
  22. package/dist/editor/lib/puck/blocks/service/RatingBlock/fields.d.ts +2 -0
  23. package/dist/editor/lib/puck/blocks/service/RatingBlock/fields.js +1 -0
  24. package/dist/editor/lib/puck/blocks/service/index.d.ts +1 -1
  25. package/dist/editor/lib/puck/blocks/service/index.js +1 -1
  26. package/dist/editor/lib/puck/config.js +1 -1
  27. package/dist/editor/lib/storefront-editor-words.d.ts +1 -0
  28. package/dist/editor/lib/storefront-editor-words.js +1 -1
  29. package/dist/editor.css +1 -1
  30. package/dist/index.d.ts +8 -0
  31. package/dist/index.js +101 -81
  32. package/dist/render/app/globals.css +70 -14
  33. package/dist/render/built-with.json +1 -1
  34. package/dist/render/components/CartContext.d.ts +1 -0
  35. package/dist/render/components/CartContext.js +1 -1
  36. package/dist/render/components/CartDrawer.d.ts +0 -8
  37. package/dist/render/components/CartDrawer.js +2 -2
  38. package/dist/render/components/ChatWidget.js +1 -1
  39. package/dist/render/components/EuTyreLabels.d.ts +3 -0
  40. package/dist/render/components/EuTyreLabels.js +1 -1
  41. package/dist/render/components/FooterMenu.js +1 -1
  42. package/dist/render/components/FormBlock.js +1 -1
  43. package/dist/render/components/GalleryItem.js +1 -1
  44. package/dist/render/components/Header.js +1 -1
  45. package/dist/render/components/LegalLine.js +1 -1
  46. package/dist/render/components/PopupFrame.d.ts +2 -1
  47. package/dist/render/components/PopupFrame.js +1 -1
  48. package/dist/render/components/PopupHost.d.ts +17 -0
  49. package/dist/render/components/PopupHost.js +1 -0
  50. package/dist/render/components/ProductCard.js +1 -1
  51. package/dist/render/components/ProductGallery.d.ts +15 -0
  52. package/dist/render/components/ProductGallery.js +1 -0
  53. package/dist/render/components/ProductHeroPanel.js +1 -1
  54. package/dist/render/components/RatingStars.d.ts +4 -0
  55. package/dist/render/components/RatingStars.js +1 -0
  56. package/dist/render/components/Reviews.js +1 -1
  57. package/dist/render/components/StorefrontProviders.d.ts +1 -3
  58. package/dist/render/components/StorefrontProviders.js +1 -1
  59. package/dist/render/components/SubscribePopupContext.d.ts +3 -15
  60. package/dist/render/components/SubscribePopupContext.js +1 -1
  61. package/dist/render/components/TyrePlpCard.js +1 -1
  62. package/dist/render/components/WheelCardFrame.d.ts +3 -27
  63. package/dist/render/components/WheelCardFrame.js +1 -1
  64. package/dist/render/components/card-pieces/CardBuyButton.d.ts +7 -0
  65. package/dist/render/components/card-pieces/CardBuyButton.js +1 -0
  66. package/dist/render/components/card-pieces/CardFinishSwatches.d.ts +5 -0
  67. package/dist/render/components/card-pieces/CardFinishSwatches.js +1 -0
  68. package/dist/render/components/card-pieces/CardPrice.d.ts +7 -0
  69. package/dist/render/components/card-pieces/CardPrice.js +1 -0
  70. package/dist/render/components/card-pieces/CardProductBadge.d.ts +7 -0
  71. package/dist/render/components/card-pieces/CardProductBadge.js +1 -0
  72. package/dist/render/components/card-pieces/CardSizes.d.ts +9 -0
  73. package/dist/render/components/card-pieces/CardSizes.js +1 -0
  74. package/dist/render/components/card-pieces/ProductCardState.d.ts +53 -0
  75. package/dist/render/components/card-pieces/ProductCardState.js +1 -0
  76. package/dist/render/components/card-pieces/card-row.d.ts +20 -0
  77. package/dist/render/components/card-pieces/card-row.js +1 -0
  78. package/dist/render/components/cart/drawer-parts.d.ts +28 -0
  79. package/dist/render/components/cart/drawer-parts.js +1 -0
  80. package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.d.ts +3 -0
  81. package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -1
  82. package/dist/render/components/pdp-dynamic/DynamicProductGallery.d.ts +9 -0
  83. package/dist/render/components/pdp-dynamic/DynamicProductGallery.js +1 -0
  84. package/dist/render/components/useHeaderBar.js +1 -1
  85. package/dist/render/components/useIsLightTheme.d.ts +1 -0
  86. package/dist/render/components/useIsLightTheme.js +1 -0
  87. package/dist/render/components/wheels-plp/PlpCard.d.ts +3 -2
  88. package/dist/render/components/wheels-plp/PlpCard.js +1 -1
  89. package/dist/render/components/wheels-plp/usePlpCardSelection.d.ts +1 -1
  90. package/dist/render/components/wheels-plp/usePlpCardSelection.js +1 -1
  91. package/dist/render/lib/api/index.d.ts +4 -2
  92. package/dist/render/lib/api/index.js +1 -1
  93. package/dist/render/lib/api/types.d.ts +48 -1
  94. package/dist/render/lib/chrome-load.d.ts +1 -1
  95. package/dist/render/lib/chrome-load.js +1 -1
  96. package/dist/render/lib/content/product-hero.d.ts +1 -0
  97. package/dist/render/lib/content/product-hero.js +1 -1
  98. package/dist/render/lib/header-fit.d.ts +2 -0
  99. package/dist/render/lib/header-fit.js +1 -0
  100. package/dist/render/lib/popup/popup-stores.d.ts +2 -0
  101. package/dist/render/lib/popup/popup-stores.js +1 -0
  102. package/dist/render/lib/puck/blocks/commerce/EuTyreLabelBlock/meta.d.ts +2 -0
  103. package/dist/render/lib/puck/blocks/commerce/EuTyreLabelBlock/meta.js +1 -0
  104. package/dist/render/lib/puck/blocks/commerce/EuTyreLabelBlock/render.d.ts +2 -0
  105. package/dist/render/lib/puck/blocks/commerce/EuTyreLabelBlock/render.js +1 -0
  106. package/dist/render/lib/puck/blocks/commerce/ProductGallery/meta.d.ts +2 -0
  107. package/dist/render/lib/puck/blocks/commerce/ProductGallery/meta.js +1 -0
  108. package/dist/render/lib/puck/blocks/commerce/ProductGallery/render.d.ts +2 -0
  109. package/dist/render/lib/puck/blocks/commerce/ProductGallery/render.js +1 -0
  110. package/dist/render/lib/puck/blocks/commerce/metas.d.ts +2 -0
  111. package/dist/render/lib/puck/blocks/commerce/metas.js +1 -1
  112. package/dist/render/lib/puck/blocks/commerce/renders.d.ts +2 -0
  113. package/dist/render/lib/puck/blocks/commerce/renders.js +1 -1
  114. package/dist/render/lib/puck/blocks/service/RatingBlock/meta.d.ts +3 -0
  115. package/dist/render/lib/puck/blocks/service/RatingBlock/meta.js +1 -0
  116. package/dist/render/lib/puck/blocks/service/RatingBlock/render.d.ts +2 -0
  117. package/dist/render/lib/puck/blocks/service/RatingBlock/render.js +1 -0
  118. package/dist/render/lib/puck/blocks/service/metas.d.ts +1 -0
  119. package/dist/render/lib/puck/blocks/service/metas.js +1 -1
  120. package/dist/render/lib/puck/blocks/service/renders.d.ts +1 -0
  121. package/dist/render/lib/puck/blocks/service/renders.js +1 -1
  122. package/dist/render/lib/puck/lazy-draws.js +1 -1
  123. package/dist/render/lib/storefront-page-groups.js +1 -1
  124. package/dist/render/lib/wheels/plp-fitment-match.d.ts +4 -0
  125. package/dist/render/lib/wheels/plp-fitment-match.js +1 -1
  126. package/dist/render/lib/wheels/spec-sheet.js +1 -1
  127. package/dist/words.d.ts +2 -2
  128. package/dist/words.js +3 -3
  129. package/package.json +4 -4
  130. package/dist/chunks/chunk-FCCEAXMM.js +0 -1
  131. package/dist/chunks/chunk-VVQ7KFQO.js +0 -1
  132. package/dist/chunks/chunk-YNI65Q6Z.js +0 -250
  133. package/dist/render/components/wheels-plp/useWheelCardBottom.d.ts +0 -20
  134. package/dist/render/components/wheels-plp/useWheelCardBottom.js +0 -1
  135. package/dist/render/lib/popup/popup-rules.d.ts +0 -25
  136. package/dist/render/lib/popup/popup-rules.js +0 -1
  137. /package/dist/chunks/{chunk-YNI65Q6Z.js.LEGAL.txt → chunk-4BQ44OLC.js.LEGAL.txt} +0 -0
  138. /package/dist/chunks/{chunk-VT346MLP.js → chunk-FZFBLN7K.js} +0 -0
  139. /package/dist/chunks/{chunk-I6VNNXUI.js → chunk-TRUOK5AD.js} +0 -0
@@ -0,0 +1,250 @@
1
+ import{$ as Ps,A as Uo,Aa as hu,B as Gt,C as Ut,Ca as Ka,Da as gu,E as tu,Ea as yu,H as Or,J as ru,Ja as bu,K as ks,L as au,N as nu,O as lu,Q as su,R as Ts,T as iu,U as Ue,V as it,W as fu,X as ho,Y as qa,_ as cu,a as Kd,c as Vd,ca as du,d as Xe,da as Fs,e as Wt,f as Oo,fa as Es,g as Cs,h as Zd,ja as uu,l as Er,n as ws,pa as ft,ra as pu,s as Qd,t as Jd,ta as mu,u as vs,v as He,va as xu,w as eu,x as ou,y as zt,z as Io,za as V}from"./chunk-TRUOK5AD.js";import{d as Yd,e as Fr,f as Xd,g as Iu,j as ja,n as Os}from"./chunk-FZFBLN7K.js";var Va=null,Cu="en",wu=null;function BH(e,o,t){Va=e??null,Cu=o||"en",wu=t??null}function X(){return wu}function Ls(){return Cu}function vu(){return Va}function Su(e,o){return o?e.replace(/\{([A-Za-z][A-Za-z0-9_]*)\}/g,(t,r)=>Object.prototype.hasOwnProperty.call(o,r)?String(o[r]):t):e}function l(e,o){let t=Va?Va[e]:void 0;if(typeof t=="function"){try{let r=t(o??{});if(typeof r=="string"&&r)return r}catch{}return Su(e,o)}return Su(typeof t=="string"&&t?t:e,o)}function $e(e,o,t,r){return l(t===1?e:o,{...r,n:t})}import{jsx as Rs,Fragment as xw,jsxs as Iw}from"react/jsx-runtime";import{createContext as hw,useContext as gw}from"react";var yw={mirrorHostStyles:!0,css:null,fontHrefs:[]},ku=hw(yw);function MH({value:e,children:o}){return Rs(ku.Provider,{value:e,children:o})}function As(){return gw(ku)}function Tu(){let{css:e,fontHrefs:o}=As();return Iw(xw,{children:[o.map(t=>Rs("link",{rel:"stylesheet",href:t},t)),e?Rs("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as bw}from"react/jsx-runtime";import{createContext as Sw,useContext as Cw}from"react";var Pu=Sw(void 0);function GH({metadata:e,children:o}){return bw(Pu.Provider,{value:e,children:o})}var Fu=()=>Cw(Pu);import{jsx as me,Fragment as ew,jsxs as za}from"react/jsx-runtime";import{useCallback as Ga,useEffect as Ke,useRef as nH,useState as lH}from"react";import{Button as sH,Tooltip as iH}from"efficient-shell/ui";import{SettingsSwitch as fH}from"efficient-easel/panel";import{PagesIcon as cH,StylesIcon as dH}from"efficient-easel/rail";import{PaletteIcon as uH}from"efficient-shell/icons/efficient";import{TemplateIcon as pH}from"efficient-easel/icons";import{Subtree as mH,TreeRow as ow}from"efficient-easel/tree";import{useEasel as tw}from"efficient-easel/easel";import{useEaselStrings as rw}from"efficient-easel/strings";import{createContext as ww,useContext as vw}from"react";var Bs=ww(!1),qH=()=>vw(Bs);import{jsx as ee,Fragment as Hh,jsxs as aa}from"react/jsx-runtime";import{Fragment as NL,useEffect as ML,useId as HL,useMemo as Wh,useRef as WL,useState as rt}from"react";import{useScreenDocument as zL}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as wl}from"efficient-easel/draw/client";import GL from"efficient-easel/screen/components/SidePanelHead";import{jsx as Q,jsxs as tt,Fragment as Ft}from"react/jsx-runtime";import{useEasel as vh}from"efficient-easel/easel";import{useState as Wf}from"react";import{jsx as or,jsxs as II,Fragment as F1}from"react/jsx-runtime";import{useState as hI}from"react";import{SettingsDefaultReset as E1,SettingsField as O1}from"efficient-easel/panel";import{useEaselStrings as L1}from"efficient-easel/strings";import{AddIcon as R1}from"efficient-easel/icons";import{jsx as h,jsxs as Do,Fragment as oo}from"react/jsx-runtime";import{cloneElement as Rx,useId as SP,useRef as Vi,useState as qr}from"react";import{useEasel as jr,useSelectedFields as Yi}from"efficient-easel/easel";import{readHidable as Qo,hidableText as CP}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as Xi,LINK_FIELD_MARKER as wP,MEDIA_FIELD_MARKER as vP,SCAFFOLD_FIELD_MARKER as kP,TEXT_FIELD_MARKER as _o,foldMetaOf as No,textFieldIdentifier as yG}from"efficient-easel/draw";import{jsx as Du}from"react/jsx-runtime";import{useCallback as Ew,useEffect as Ow,useRef as Lw,useState as Rw}from"react";import{useEasel as Aw}from"efficient-easel/easel";import{SettingsAction as Bw}from"efficient-easel/panel";function Ds(e){return typeof e=="number"&&Number.isFinite(e)}function VH(e,o){if(!Ds(e))return;let t=qa(ho(e));if(Object.keys(t).length===0)return;let r=t[Ya];if(typeof r!="string")return t;let a=Lr(o)?Rr(r,Lo(o)??[]):r;return{...t,[kw]:a}}var kw="--sf-section-radius",Ya="--sf-card-radius",ct=["tl","tr","br","bl"];function Lo(e){if(!Array.isArray(e))return null;let o=e.filter(t=>ct.includes(t));return ct.filter(t=>o.includes(t))}function Lr(e){let o=Lo(e);return o!==null&&o.length<ct.length}function Rr(e,o){return ct.map(t=>o.includes(t)?e:"0").join(" ")}var Eu=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var Tw="--sf-card-box-radius",Pw="--sf-site-card-radius",QH="sf-section-bleeds";function _s(e){return typeof e=="number"&&Number.isFinite(e)}function JH(e,o){if(!_s(e))return;let t=qa(ho(e))[Ya];if(typeof t!="string")return;let r=Lr(o)?Rr(t,Lo(o)??[]):t;return{[Tw]:r}}function e5(e){let o=e[Ya];return typeof o=="string"?{[Pw]:o}:{}}function Ou(e,o){let t=e.find(n=>n?.props?.id===o);if(!t)return[...e];let r=t.props?.cardCorners,a=t.props?.cardCornerSides;return e.map(n=>n?.props?.id===o?n:{...n,props:{...n.props,cardCorners:r,cardCornerSides:a}})}import{locateNode as Fw}from"efficient-easel/draw";function Ar(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function Xa(e,o,t){let r=Ar(t?.zone),a=r?Fw(e,o,r.ownerId):null;return a&&r?{...a,slot:r.slot}:null}function Lu(e,o,t){let r=Xa(e,o,t),a=r?.slot??"",n=r&&Array.isArray(r.item.props[a])?r.item.props[a]:[],s=t?.index??-1,i=s>=0?n[s]:void 0,f=i?.props?.id?String(i.props.id):"",d=Math.max(n.length-1,0);return!r||!f?{can:!1,reason:"unreachable",others:0}:n.length<=1?{can:!1,reason:"alone",others:d}:_s(i?.props?.cardCorners)?{can:!0,others:d,zone:r.zone,index:r.index,data:{...r.item,props:{...r.item.props,[a]:Ou(n,f)}}}:{can:!1,reason:"unset",others:d}}function Ru(e){return e.can?$e("Gives the other card this card's Corners.","Gives the other {n} cards this card's Corners.",e.others):e.reason==="alone"?l("This is the only card in the section."):e.reason==="unset"?l("Set this card's corners first."):l("This card is not in a section that can share corners.")}function Au(e){return $e("Applied to {n} card","Applied to {n} cards",e)}function Bu(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as Dw}from"efficient-easel/screen/lib/puck/use-section-ops";var _w=2200,Nw="apply-corners-to-siblings",Mw="Apply to all cards";function Hw({plan:e,doneCount:o,onPress:t}){return Du(Bw,{id:Nw,label:l(Mw),note:Ru(e),disabled:!e.can,done:o!==null,doneLabel:Au(o??0),onPress:t})}function _u(){let{appState:e,config:o}=Aw(f=>f),t=Dw(),[r,a]=Rw(null),n=Lw(null);Ow(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Lu(o,e.data.content??[],e.ui.itemSelector),i=Ew(()=>{Bu(s,t.replaceComponent),s.can&&(a(s.others),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>a(null),_w))},[s,t]);return Du(Hw,{plan:s,doneCount:r,onPress:i})}var Nu=1;function Ww(e){return ho(e)}function h5(e){let o=Ww(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var Mu=1,Hu="Corners";function zw(e){return ho(e)}function S5(e,o){let t=zw(e);if(t===null)return null;let r=`${t}px`;return{borderRadius:Lr(o)?Rr(r,Lo(o)??[]):r}}var Ro={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]]}},Ns=Object.keys(Ro),zu=[2,3,4,6];function Gu(e){return typeof e!="string"||e===""?null:Ro[e]??null}function Wu(e,o){return o?6/e.acrossPhone:12/e.across}var Gw="sf-wall--";function Uw(e){return`${Gw}${e}`}function w5(e){let o=Ro[e],t=`.${Uw(e)}`,r=[],a=(n,s)=>{let i=[],f=n.length;n.forEach(([d,p],m)=>{i.push(`${t} > :nth-child(${f}n+${m+1}){grid-column:span ${d};grid-row:span ${p}}`)});for(let d=1;d<f;d+=1)i.push(`${t}:has(> :nth-child(${f}n+${d}):last-child) > :nth-last-child(-n+${d}){grid-column:span ${s};grid-row:span 1}`);return i};return r.push(`${t}{grid-template-columns:repeat(12,minmax(0,1fr))}`),r.push(...a(o.desktop,Wu(o,!1))),r.push("@media (max-width:800px){"),r.push(`${t}{grid-template-columns:repeat(6,minmax(0,1fr))}`),r.push(...a(o.phone,Wu(o,!0))),r.push("}"),r.join("")}var Za=12,Uu=1,$w=3;var qw=3;function Ms(e,o,t){let r=typeof e=="number"?e:Number.parseInt(String(e??""),10);return Number.isFinite(r)?Math.min(t,Math.max(o,Math.trunc(r))):null}function jw(e){return Ms(e,1,Za)??qw}function T5(e,o){return Ms(e,Uu,$w)??(jw(o)===4?2:Uu)}function P5(e){return e==null||e===""?null:Ms(e,1,Za)}var F5="data-sf-span";function E5(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(Gu(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}var $o=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],Qa="bottom-left";var Hs={"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 Kw(e){let o=$o.indexOf(dt(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function Vw(e){return 1+Kw(e).band*6}function L5(e){return Vw(e)+1}function dt(e){return $o.includes(e)?e:Qa}function R5(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-40,Math.min(40,Math.round(o)))}function A5(e,o=60){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(30,Math.min(100,Math.round(t)))}function Ws(e,o){let t=dt(o);return e.filter(r=>dt(r?.props?.placement)===t).length}function $u(e){return`${Hs[dt(e)]} already holds 4 boxes. Move one somewhere else first.`}function zs(e,o){let t=e.filter(r=>r?.props?.id!==o);return $o.map(r=>{let a=Ws(t,r)>=4,n=Hs[r];return a?{value:r,label:n,disabled:!0,title:$u(r)}:{value:r,label:n}})}function Ja(e,o){let t=o===void 0?Qa:dt(o?.props?.placement);return Ws(e,t)>=4?$u(t):null}var en="HeroGroup";function Yw(e){return $o.map(o=>{let t=Ws(e,o);return{anchor:o,total:t,hidden:t-4}}).filter(o=>o.hidden>0)}function Gs(e){let o=Yw(e);return o.length===0?null:o.map(({anchor:t,total:r,hidden:a})=>{let n=Hs[t],s=a===1?"1 is not shown":`${a} are not shown`;return`${n} holds ${r} boxes. The published page draws the first 4, so ${s}. ${a===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function qu(e,o){let t=o;if(t?.type!==en)return null;let r=t.props?.id===void 0?"":String(t.props.id);return r?Ja(Us(e,r),t):null}function Us(e,o){let t=Ku(e,o);return t&&t.ownerType===Zw?t.siblings:[]}function ju(e,o){let t=Ku(e,o);return t?t.ancestorTypes.filter(r=>r===en).length:Xw}var Xw=1,Zw="HeroSlide";function Ku(e,o){let t=a=>Array.isArray(a)&&a.length>0&&a.every(n=>!!n&&typeof n=="object"&&typeof n.type=="string"),r=(a,n,s)=>{if(n>12||!a||typeof a!="object")return null;if(t(a)){if(a.some(i=>i?.props?.id===o))return{siblings:a,ownerType:s.at(-1)??null,ancestorTypes:s};for(let i of a){let f=i.type,d=r(i,n+1,[...s,String(f)]);if(d)return d}return null}for(let i of Object.values(a)){let f=r(i,n+1,s);if(f)return f}return null};return r(e,0,[])}import{jsx as Qw}from"react/jsx-runtime";var Jw="sf-hint-keep";function Vu({children:e}){return Qw("span",{className:Jw,children:e})}import{jsx as qo,Fragment as ov,jsxs as tp}from"react/jsx-runtime";import{useContext as tv,useEffect as rv,useId as av,useState as rp}from"react";import{SettingsField as nv,SettingsSwitch as lv}from"efficient-easel/panel";import{AnchorIcon as sv}from"efficient-easel/icons";import{ScreenDocumentContext as iv}from"efficient-easel/screen/components/ScreenDocumentContext";import{Snippet as fv}from"efficient-shell/ui";var on="homepage";function ut(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}var Yu=[{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 Xu(e){return e.offersCommerce&&e.offersService?Yu:Yu.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}var $s="#popup:";function Zu(e){return`${$s}${e}`}function Qu(e){return e.startsWith($s)&&e.slice($s.length).trim()||null}function Br(e){return e===on?"/":`/${e}`}function Ju(e){return`/journal/${e}`}function z5(e){return`/wheels/${e}`}function tn(e,o){return`${Br(e)}#${o}`}function qs(e){return ut(e)}function ev(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}function ep(...e){let o=new Set,t=[];for(let r of e)for(let a of r?.content??[]){let n=ev(a?.props?.anchor);if(!n)continue;let s=qs(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function G5(e){let o=e.indexOf("#"),t=o===-1?e:e.slice(0,o),r=t.indexOf("?");return r===-1?t:t.slice(0,r)}function op(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}import{readHidable as cv}from"efficient-easel/draw";function ap({value:e,onChange:o,nameBox:t}){let r=cv(e).text,[a,n]=rp(!1),s=a||r.trim()!=="",i=av();return tp(ov,{children:[qo(nv,{label:l("Add an anchor"),labelId:i,icon:qo(sv,{}),action:qo(lv,{checked:s,ariaLabelledBy:i,onChange:f=>{n(f),!f&&r!==""&&o("")}})}),s&&t(e,o),s&&qo(dv,{name:r})]})}function dv({name:e}){let o=tv(iv),t=o?.templateId?"":o?.currentSlug??"",[r,a]=rp("");rv(()=>a(ja()||window.location.origin),[]);let n=qs(e);if(!n||!t)return null;let s=`${r}${tn(t,n)}`,i=s.replace(/^https?:\/\//,""),f=i.lastIndexOf("#");return qo("div",{className:"sf-anchor-link",children:qo(fv,{value:s,label:l("link"),size:"sm",children:tp("span",{className:"sf-anchor-link-text",children:[qo("span",{className:"sf-anchor-link-path",children:i.slice(0,f)}),qo("span",{className:"sf-anchor-link-hash",children:i.slice(f)})]})})})}import{AdjustIcon as TP,AlignLeftIcon as PP,EyeIcon as FP,AlignSeparateIcon as EP,AnimationIcon as Ax,BackgroundIcon as OP,BorderAllIcon as LP,BlockSectionIcon as RP,CartIcon as AP,ColumnWidthsIcon as Bx,ColumnsIcon as BP,CornerIcon as DP,DirectionDownIcon as _P,DirectionLeftIcon as NP,DirectionRightIcon as MP,DirectionUpIcon as HP,DollarIcon as WP,FinishIcon as zP,GapIcon as Dx,GridIcon as GP,GroundIcon as UP,HashIcon as _x,HeightIcon as $P,ImageIcon as qP,ListIcon as jP,LocationIcon as ji,NudgeIcon as KP,PaddingAllIcon as VP,PaddingBottomIcon as Nx,PaddingLeftIcon as Mx,PaddingRightIcon as Hx,PaddingTopIcon as Wx,PageIcon as zx,PhoneIcon as YP,PlacementIcon as XP,ProductSizeIcon as ZP,StickyIcon as QP,RotateIcon as JP,SquareIcon as eF,TypeIcon as oF,WidthIcon as tF,WrapIcon as rF}from"efficient-easel/icons";import{jsx as J,Fragment as go,jsxs as yo}from"react/jsx-runtime";import{TitleIcon as uv,ButtonIcon as pv,DollarIcon as mv,HashIcon as xv,LinkIcon as Iv,NoteIcon as hv,TagIcon as gv,TextLinesIcon as yv}from"efficient-easel/icons";var np={body:yv,button:pv,link:Iv,label:gv,number:xv,price:mv,note:hv,title:uv},lp={eyebrow:yo(go,{children:[J("path",{d:"M5 6.5h5"}),J("path",{d:"M5 12.5h14"}),J("path",{d:"M5 18h11"})]}),heading:yo(go,{children:[J("path",{d:"M6.5 5v14"}),J("path",{d:"M17.5 5v14"}),J("path",{d:"M6.5 12h11"})]}),intro:yo(go,{children:[J("path",{d:"M4 5.5v13"}),J("path",{d:"M8 7.5h12"}),J("path",{d:"M8 12h12"}),J("path",{d:"M8 16.5h8"})]}),value:yo(go,{children:[J("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),J("path",{d:"M6.5 12h7"})]}),name:yo(go,{children:[J("path",{d:"M6 3.5v17"}),J("path",{d:"M6 5h11.5l-2.6 3.6L17.5 12H6z"})]}),date:yo(go,{children:[J("rect",{x:"4",y:"5.5",width:"16",height:"15",rx:"2"}),J("path",{d:"M4 10.5h16"}),J("path",{d:"M9 3.2v4.4"}),J("path",{d:"M15 3.2v4.4"})]}),caption:yo(go,{children:[J("rect",{x:"3.5",y:"4.5",width:"17",height:"11",rx:"2"}),J("path",{d:"M3.5 12.8l4.2-3.2 3.6 2.8 3.4-2.4 5.8 4"}),J("path",{d:"M6.5 19.5h11"})]}),quote:yo(go,{children:[J("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),J("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:yo(go,{children:[J("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),J("path",{d:"M8 9.5h8"}),J("path",{d:"M12 9.5v5"})]}),meta:yo(go,{children:[J("path",{d:"M4 7h16"}),J("path",{d:"M4 14h3.5"}),J("path",{d:"M10.5 14h3"}),J("path",{d:"M17 14h3"})]})};function js({noun:e,size:o=14,strokeWidth:t=1.8,className:r,style:a}){let n=np[e];return n?J("span",{className:r,style:{display:"inline-flex",...a},"aria-hidden":"true",children:J(n,{size:o})}):J("svg",{className:r,style:a,width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:lp[e]})}var r3=Object.keys(np);var a3=Object.keys(lp);var bv="#ffffff",Sv=/^#[0-9a-fA-F]{6}$/;function Ks(e){return Cv(e)?e:bv}function Cv(e){return typeof e=="string"&&Sv.test(e)}function l3(e){return{"--bg":Ks(e)}}var Vs=[{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}],wv=Vs.filter(e=>e.ink);function vv(e){let o={color:e.fg};for(let{role:t,token:r}of wv)o[r]=e[t];return o}var kv={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},sp=Object.freeze(vv(kv));var rn=-1,Tv="sf-section-accent",ip="Color",fp=new Set(["CategoryBar","DocTabs"]),c3=new Set(["Flex"]),Pv=0;function Ys(e){return e===rn?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:Pv}function d3(e){return e??rn}function Fv(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:r}of Vs)t[`--sf-sec-${r}`]=`var(${o}-${r}, var(--theme-${r}))`;return t}function u3(e){let o=Ys(e.sectionAccent);return o===null?null:{className:Tv,style:Fv(o)}}var Ev=["fade","rise","scale"],Xs="none",cp=[{label:"None",value:Xs},{label:"Fade",value:"fade"},{label:"Rise",value:"rise"},{label:"Scale",value:"scale"}];function x3(e){return Ev.includes(e)?e:null}var dp="data-sf-anim",Dr="data-sf-anim-state";function I3(e){let o=()=>{};if(typeof IntersectionObserver>"u"||!e.getAttribute(dp))return o;let t=window.innerHeight||document.documentElement.clientHeight;if(e.getBoundingClientRect().top<t)return o;e.setAttribute(Dr,"armed");let r=new IntersectionObserver(a=>{for(let n of a)if(n.isIntersecting){r.disconnect(),Ov(e);break}},{threshold:0});return r.observe(e),()=>{r.disconnect(),e.removeAttribute(Dr)}}function Ov(e){if(!e.getAttribute(dp))return;e.removeAttribute(Dr),e.offsetWidth,e.setAttribute(Dr,"play");let o=t=>{t.target===e&&(e.removeAttribute(Dr),e.removeEventListener("animationend",o))};e.addEventListener("animationend",o)}var h3=fp;function Qs(e,o){let t=e?.content;if(!Array.isArray(t))return null;for(let r of t){if(!r||typeof r!="object")continue;let a=r.props;if(a?.id===o)return null;if(Zs(r,o,0))return a??{}}return null}function Zs(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(a=>Zs(a,o,t+1));let r=e.props;return r&&typeof r=="object"&&r.id===o?!0:Object.values(e).some(a=>Zs(a,o,t+1))}import{SettingsDefaultReset as Ee,SettingsField as re,SettingsGroup as aF,SettingsGroupSub as nF,SettingsBorder as lF,SettingsSegmented as sF,SettingsSides as iF,SettingsSidesEach as Gx,sidesStartEach as fF,SettingsSwitch as Ux,borderSides as cF,borderStartEach as dF}from"efficient-easel/panel";import{FieldSelect as uF,ListField as pF}from"efficient-easel/fields";import{DisplayChips as mF}from"efficient-shell/ui";function $t(e){if(!e||typeof e!="object"||Array.isArray(e))return{};let o={};for(let[t,r]of Object.entries(e))typeof r=="boolean"&&(o[t]=r);return o}function an(e,o){return $t(e)[o]!==!1}function Js(e,o,t){let r=$t(o)[t];return typeof r=="boolean"?r:an(e,t)}function up(e){return Object.values($t(e)).some(o=>o===!1)}function pp(e){return Object.keys($t(e)).length>0}function mp(e,o,t){let r={...$t(e)};return t?delete r[o]:r[o]=!1,Object.keys(r).length?r:void 0}function xp(e,o,t){return{...$t(e),[o]:t}}function b3(e,o,t){let r=an(e,t),a=Js(e,o,t);return r&&a?"":!r&&!a?"hidden":r?"max-[720px]:hidden":"min-[720px]:hidden"}import{AlignmentGrid as xF,Checkbox as HG,CornersInput as IF,DateTimePicker as hF,FOCAL_DEFAULT as WG,PictureTiles as $x,PositionInput as gF,Slider as yF,Tooltip as qx}from"efficient-shell/ui";import{jsx as pt,jsxs as hp}from"react/jsx-runtime";import{ColorPicker as Rv,HexInput as Av}from"efficient-shell/ui";import{SettingsDefaultReset as Bv,SettingsField as Dv}from"efficient-easel/panel";import{typedHex as ei}from"efficient-easel/pick";import{typedHex as Lv}from"efficient-easel/pick";function Ip(e){let o=new Set,t=[];return He(e).themes.forEach((r,a)=>{let n=[[l("Theme {n} main color",{n:a+1}),r.accent],[l("Theme {n} text color",{n:a+1}),r.text],[l("Theme {n} background",{n:a+1}),r.background]];for(let[s,i]of n){let f=i?Lv(i):null;!f||o.has(f)||(o.add(f),t.push({name:s,value:f}))}}),t}function _v({value:e,onChange:o,label:t,id:r,caption:a,inherited:n,ariaLabel:s}){return pt(Mv,{value:e,onChange:o,label:l(s??t),id:r,caption:a,inherited:n})}function Nv(){let{theme:e}=V();return Ip(e).map(o=>({value:o.value,label:o.name}))}function Mv({value:e,onChange:o,label:t,id:r,caption:a,inherited:n}){let s=Nv(),i=e?null:ei(n??""),f=a!==void 0&&(!e||ei(a)!==ei(e))?a:null,d=p=>{p!==e&&o(p)};return hp("div",{className:"sf-colour",children:[pt(Rv,{id:r,value:e,onChange:d,label:t,presets:s,fallback:i??void 0,size:"md",align:"start"}),f!==null?pt("span",{className:"sf-colour-caption",children:f}):pt("span",{className:"sf-colour-hexwrap",children:pt(Av,{value:e||i||"",onChange:d,label:l("{label} hex code",{label:t}),placeholder:e||i?void 0:l("Not set"),className:i?"sf-colour-hex is-inherited":"sf-colour-hex",size:"md"})})]})}function qe({label:e,icon:o,changed:t,hint:r,onReset:a,resetTo:n,children:s,...i}){return hp(Dv,{label:e,icon:o,htmlFor:i.id,changed:t,hint:r,action:a?pt(Bv,{words:X()?.panel,label:e,changed:!!t,detail:n,onReset:a}):void 0,children:[_v({...i,label:e}),s]})}function nn({label:e,icon:o,value:t,inherited:r,resetTo:a,onChange:n,onReset:s,hint:i}){let f=!!t;return pt(qe,{label:e,icon:o,value:t,inherited:f?void 0:r,onChange:n,changed:f,onReset:s,resetTo:a,hint:i})}import{jsx as _r}from"react/jsx-runtime";import{useEffect as ik,useState as fk}from"react";import{markSelection as ck,useCaretEdit as dk}from"efficient-easel/copy";import{RevertIcon as uk}from"efficient-easel/icons";import{IconButton as pk,TextToolbar as mk,Tooltip as xk}from"efficient-shell/ui";import{applyMark as z3,markupTools as G3,MARKUP_TOOLS as U3,COPY_FIELD_TOOLS as $3,STOREFRONT_MARKUP as q3,tokenizeInline as j3,stripInline as K3,isSafeLinkHref as V3}from"efficient-shell/markup";import{applyMark as Xv,markedAt as Zv,markupTools as Qv,MARKUP_TOOLS as Jv,parseMarkup as ek,RETIRED_MARKS as ok,STOREFRONT_MARKUP as tk,tokenizeInline as X3}from"efficient-shell/markup";var mt=["highlight","strong","quiet"],xt={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},bo={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},D3=Object.fromEntries(mt.map(e=>[bo[e].kind,e])),_3="data-sf-ws",ln=["accent","text","labels"],Sp={accent:"Accent",text:"Text",labels:"Labels"},qt={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},Hv=80,Wv=120,zv=100,Gv=900,Uv=.5,$v=3,qv=-.1,jv=.5,Kv=3,oi={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},Vv={highlight:{...oi},strong:{...oi},quiet:{...oi}};function gp(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function yp(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let r=10**Kv;return Math.round(Math.min(Math.max(e,o),t)*r)/r}function bp(e){return typeof e=="boolean"?e:null}function Yv(e){let o=typeof e?.font=="string"&&Xe.some(r=>r.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&ln.includes(e.colour)?e.colour:null;return{font:o,size:gp(e?.size,Hv,Wv),weight:gp(e?.weight,zv,Gv),bold:bp(e?.bold),italic:bp(e?.italic),lineGap:yp(e?.lineGap,Uv,$v),textGap:yp(e?.textGap,qv,jv),colour:t}}function Cp(e){let o={};for(let t of mt)o[t]=e&&t in e&&e[t]?Yv(e[t]):{...Vv[t]};return o}function N3(e){let o=Cp(e),t={};for(let r of mt){let a=o[r],n=`--sf-ws-${r}`;if(a.font){let s=Xe.find(i=>i.key===a.font);s&&(t[`${n}-font`]=`var(${s.cssVar})`)}a.size!==null&&(t[`${n}-size`]=`${a.size/100}em`),a.weight!==null&&(t[`${n}-weight`]=String(a.weight)),a.bold!==null&&(t[`${n}-weight-bold`]=a.bold?"700":"400"),a.italic!==null&&(t[`${n}-style`]=a.italic?"italic":"normal"),a.lineGap!==null&&(t[`${n}-line`]=String(a.lineGap)),a.textGap!==null&&(t[`${n}-track`]=`${a.textGap}em`),a.colour!==null&&(t[`${n}-color`]=qt[a.colour])}return t}function M3(e){let o=e?.word_styles??void 0,t={};for(let r of mt)o&&r in o&&(t[r]=o[r]??null);return Cp(t)}var rk=new Set(["strong"]),wp=mt.map(e=>({open:bo[e].delimiter,close:bo[e].delimiter,kind:bo[e].kind,...rk.has(e)?{wordStart:!0}:{}})),Q3=[{style:bo.highlight.kind,label:xt.highlight,title:`${xt.highlight} word style`},{style:bo.strong.kind,label:xt.strong,title:`${xt.strong} word style`},{style:bo.quiet.kind,label:xt.quiet,title:`${xt.quiet} word style`}],ak=new Set(wp.map(e=>e.open)),jt=[...tk.filter(e=>!ak.has(e.open)),...wp];function nk(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function lk(e){return ek(typeof e=="string"?e:"",jt)}var sk=Jv.map(e=>e.style).filter(e=>!ok.includes(e)).filter(e=>jt.some(o=>o.kind===e));function vp(){return Qv(sk)}var kp=Object.fromEntries(mt.map(e=>[bo[e].kind,bo[e].delimiter]));function Tp(e,o,t,r){let a=kp[r];if(!a)return Xv(e,o,t,r);let n=e.slice(o,t),s=e.slice(Math.max(0,o-a.length),o),i=e.slice(t,t+a.length);if(s===a&&i===a)return{text:e.slice(0,o-a.length)+n+e.slice(t+a.length),selectionStart:o-a.length,selectionEnd:o-a.length+n.length};let f=n||"styled text";return{text:e.slice(0,o)+a+f+a+e.slice(t),selectionStart:o+a.length,selectionEnd:o+a.length+f.length}}function Pp(e,o,t,r){let a=kp[r];return a?o>=a.length&&e.slice(o-a.length,o)===a&&e.slice(t,t+a.length)===a:Zv(e,o,t,r)}function It(e){return lk(e).map(o=>nk(o)+Fp(o.children)).join(`
2
+ `)}function Fp(e){return e.map(o=>o.kind==="text"?o.text:Fp(o.children)).join("")}var Ep="Clear formatting";function Ik(e,o,t){return ck(e,o,t,Tp)}function hk(e){let[o,t]=fk(null);return ik(()=>{let r=e.current?.ownerDocument??(typeof document>"u"?null:document);if(!r)return;let a=()=>{let n=e.current;if(!n||r.activeElement!==n)return;let s=n.selectionStart??n.value.length,i=n.selectionEnd??s;t(f=>f&&f.start===s&&f.end===i?f:{start:s,end:i})};return r.addEventListener("selectionchange",a),()=>r.removeEventListener("selectionchange",a)},[e]),[o,t]}function gk({target:e,value:o,onChange:t,disabled:r=!1,label:a="Formatting"}){let n=dk({target:e,onChange:t}),[s,i]=hk(e),f=x=>n(I=>{let y=Ik(o,x,I);return i({start:y.selectionStart,end:y.selectionEnd}),y}),d=vp(),p={};if(s)for(let x of d)p[x.style]=Pp(o,s.start,s.end,x.style);let m=It(o);return _r(mk,{offered:new Set(d.map(x=>x.style)),onMark:x=>f(x),pressed:p,disabled:r,"aria-label":l(a),className:"sf-markup-bar",last:_r("span",{className:"sf-markup-clear",children:_r(xk,{content:l(Ep),children:_r(pk,{size:"sm",onMouseDown:x=>x.preventDefault(),onClick:()=>t(m),disabled:r||m===o,"aria-label":l(Ep),children:_r(uk,{size:14})})})})})}var ti=gk;import{deviceField as we}from"efficient-easel/screen/lib/puck/device-fields";import{NO_CONTROL_FIELD as bF,NoControlMark as An,noControlField as Kr}from"efficient-easel/screen/lib/puck/panel-no-control-mark";var ri="__ownBox";function Op(e){return!!e&&typeof e=="object"&&e[ri]===!0}function Ao(e){return`${e}Phone`}function sn(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var fn=void 0;import{jsx as ni,Fragment as Sk}from"react/jsx-runtime";import{createContext as Ck,useContext as wk}from"react";var cn={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},dn={Events:["posts"],SubscribeBlogs:["posts"]};var yk=["anchor"],bk=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function Nr(e){return yk.includes(e)||bk.test(e)}var ai={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"}}};ai.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var u4=Object.fromEntries(Object.entries(cn).map(([e,o])=>[e,Object.keys(o)])),p4=Object.fromEntries(Object.entries(dn).map(([e,o])=>[e,[...o]]));import{NoControlMark as vk}from"efficient-easel/screen/lib/puck/panel-no-control-mark";var Lp=Ck(!1);function Rp({children:e}){return ni(Lp.Provider,{value:!0,children:e})}function kk(){return wk(Lp)}function Ap({name:e,children:o}){return!kk()||!e||!Tk(e)||Nr(e)?ni(Sk,{children:o}):ni(vk,{})}function Tk(e){return/^[A-Za-z0-9_$]+$/u.test(e)}function jo(e,o,t){return e.some(r=>(typeof r=="object"?r.value:r)===t)?t:o}var li="off",si="none",ii=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],fi=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function C4(e){return jo(ii,li,e)}function w4(e){return jo(fi,si,e)}var Bp="sf-card-index",Mr="sf-card-index",v4="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",Pk={plain:`counter(${Mr})`,padded:`counter(${Mr}, decimal-leading-zero)`,numero:`"N\xB0" counter(${Mr}, decimal-leading-zero)`};function k4(e,o){return o==="off"?"":`.${e}{counter-reset:${Mr}}.${e} .${Bp}{counter-increment:${Mr}}.${e} .${Bp}::before{content:${Pk[o]}}`}function T4(e){return e==="hairline"?"border border-line hover:border-accent":""}var Dp=[{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 SF}from"efficient-easel/draw";import{jsx as So}from"react/jsx-runtime";import{SettingsDefaultReset as Ok,SettingsField as Np}from"efficient-easel/panel";import{useSelectedFields as Lk}from"efficient-easel/easel";import{FOCAL_DEFAULT as Rk}from"efficient-shell/format";import{ImageIcon as Mp,PlayIcon as Hp}from"efficient-easel/icons";import{MediaUploadField as Ak}from"efficient-shell/ui";import{useContext as Bk}from"react";import{ScreenDocumentContext as Dk}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewDevice as _k}from"efficient-easel/draw/client";import{requestMediaPick as Nk}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as Mk}from"efficient-easel/screen/lib/host";function Fk(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.src=="string"}function _p(e){return typeof e=="string"?e:Fk(e)?e.src:""}function E4(e,o,t){return ci(e,o.split("."),t)}function ci(e,o,t){if(o.length===0)return t(e);let[r,...a]=o,n=r.endsWith("[]"),s=n?r.slice(0,-2):r;if(!e||typeof e!="object"||Array.isArray(e))return e;let i=e;if(!(s in i))return e;let f=i[s];if(n){if(!Array.isArray(f))return e;let p=!1,m=f.map(x=>{let I=ci(x,a,t);return I!==x&&(p=!0),I});return p?{...i,[s]:m}:e}let d=ci(f,a,t);return d===f?e:{...i,[s]:d}}import{backendOf as Ek}from"efficient-easel/screen/lib/session";var Se=Ek,un=e=>e.blocks;import{useEaselSession as Hk}from"efficient-easel/screen/lib/session-context";function Wk(e,o){let t=null;try{t=Lk()}catch{t=null}let r=_k()==="mobile";if(!e||!t||o&&!o(t.values??{}))return null;let a=typeof t.values?.[e]=="string"&&t.values[e]?String(t.values[e]):Rk,n=Ao(e),s=typeof t.values?.[n]=="string"&&t.values[n]?String(t.values[n]):void 0,i=t.onChange;return{phone:r,desktop:a,own:s,focus:r?s??a:a,set:f=>i(r?n:e,f),clear:()=>i(n,fn)}}function Wp({value:e,onChange:o,label:t,accept:r,placeholder:a,focusKey:n,focusWhen:s}){let i=Mk(),f=Hk(),d=l(t),p=r.startsWith("video"),m=Wk(p?void 0:n,s),x=Bk(Dk),I=v=>Nk(i,{accept:r,title:d,...v?{file:v}:{}}).then(k=>k?.url??null);if(x&&!x.capabilities.mediaEditing)return So(Np,{label:d,icon:p?So(Hp,{}):So(Mp,{}),children:So("div",{className:"sf-image-slot-inert",children:p?l("Templates don\u2019t store videos \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created."):l("Templates don\u2019t store images \u2014 this slot stays a placeholder. Each website picks its own after it\u2019s created.")})});let y=_p(e),w=m?.phone&&y?So(Ok,{words:X()?.panel,label:l("Image focus"),changed:!!m.own,detail:l("{value} on desktop",{value:m.desktop}),onReset:m.clear}):void 0;return So(Np,{label:d,icon:p?So(Hp,{}):So(Mp,{}),action:w,children:So("div",{style:{flex:"1 1 auto",minWidth:0},children:So(Ak,{value:y,onChange:o,onPick:I,accept:p?"video/*":"image/*",kind:p?"video":"image",placeholder:a===void 0?void 0:l(a),maxSizeBytes:Se(f).media.maxUploadBytes,...m?{focus:m.focus,onFocusChange:m.set}:{}})})})}import{jsx as zp}from"react/jsx-runtime";import{useId as zk}from"react";import{FieldSelect as Gk}from"efficient-easel/fields";import{SettingsField as Uk}from"efficient-easel/panel";function $k(e){return e.map(({value:o,label:t,note:r})=>({value:o,label:t,...r?{meta:r}:{}}))}function Gp({label:e,options:o,value:t,onChange:r,emptyLabel:a,icon:n,hint:s}){let i=zk(),f=`${i}-label`,d=`${i}-button`,p=Array.isArray(t)?t:[];return zp(Uk,{label:l(e),labelId:f,icon:n,hint:s,children:zp(Gk,{id:d,multiple:!0,value:p,options:$k(o),onChange:r,placeholder:a===void 0?l("None"):l(a),ariaLabelledBy:`${f} ${d}`,inline:!0})})}import{jsx as ge,jsxs as yt,Fragment as hT}from"react/jsx-runtime";import{useCallback as gT,useContext as yT,useEffect as bT,useId as rm,useRef as om,useState as tm}from"react";import{ThemeIcon as ST}from"efficient-easel/icons";import{SettingsField as CT}from"efficient-easel/panel";import{ScreenDocumentContext as wT}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as j,jsxs as Ko,Fragment as Zk}from"react/jsx-runtime";import{Button as ui,IconButton as Qk,Tooltip as Jk}from"efficient-shell/ui";import{jsx as ht,jsxs as Up}from"react/jsx-runtime";import{AccentIcon as qk}from"efficient-easel/icons";import{Tooltip as jk}from"efficient-shell/ui";function di(e){return Io(e).background}function Kk(e){let o=Uo(e.accent,di(e));return o===null?null:{ratio:o,grade:Ut(o)}}function Vk(e){let o=di(e),t=Uo(e.accent,o);return t===null?[]:tu(e.accent).filter(r=>{let a=Uo(r,o);return a!==null&&a>t&&Ut(a)==="good"})}var Yk={good:"Easy to read","large-only":Gt["large-only"],hard:Gt.hard};function $p({value:e,onChange:o}){let t=Kk(e),r=t?.grade,a=t&&t.grade!=="good"?Vk(e):[];return ht(qe,{label:l("Main color"),icon:ht(qk,{}),hint:t?l(Yk[t.grade]):void 0,value:e.accent,onChange:n=>o({...e,accent:n}),children:a.length>0?ht("div",{className:"w-full min-w-0",children:Up("div",{className:"sf-readability",children:[ht("p",{className:"sf-readability-advice",children:Xk(r,!0)}),ht("div",{className:"sf-readability-suggestions",children:a.map(n=>{let s=Uo(n,di(e));return ht(jk,{content:l("Use {colour}",{colour:n.toUpperCase()}),children:Up("button",{type:"button",className:"sf-readability-suggestion",onClick:()=>o({...e,accent:n}),children:[ht("span",{className:"sf-readability-chip",style:{background:n},"aria-hidden":!0}),s?`${s.toFixed(1)}:1`:n.toUpperCase()]})},n)})})]})}):null})}function Xk(e,o){return e?e==="good"?l("This color reads clearly on your pages."):o?l("This color is hard to read on this theme's page. The buttons below are the same hue, darkened."):l("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."):l("Pick a color to see how it reads.")}import{ButtonIcon as eT,ChevronDownIcon as oT,ChevronUpIcon as tT,GroundIcon as rT,LayoutIcon as aT,SquareIcon as nT,TextSmallIcon as lT,TypeIcon as qp}from"efficient-easel/icons";var Hr=e=>l("Theme {n}",{n:e+1});function jp({colors:e}){let o=Io(e),t=Or(e)??o.accent;return Ko("span",{className:"sf-theme-page",style:{background:o.background,color:o.text},"aria-hidden":!0,children:[j("span",{className:"sf-theme-eyebrow",style:{color:o.muted},children:l("label")}),Ko("span",{className:"sf-theme-headline",children:[l("Heading")," ",j("span",{style:{color:o.accent},children:l("accent")})]}),j("span",{className:"sf-theme-body",children:l("body text")}),Ko("span",{className:"sf-theme-row",children:[j("span",{className:"sf-theme-btn",style:{background:t,color:ks(e,o.accent)},children:l("button")}),j("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:l("card")})]})]})}var pi={"Text color":j(qp,{}),"Label color":j(lT,{}),Background:j(rT,{}),"Panels & cards":j(aT,{}),Borders:j(nT,{}),"Button color":j(eT,{}),"Button text color":j(qp,{})};function sT({label:e,colorKey:o,value:t,onChange:r,idPrefix:a="sf-theme-ink"}){let n=`${a}-${o}`;return j(qe,{label:l(e),icon:pi[e],id:n,value:t,onChange:s=>r(o,s)})}function iT({value:e,accent:o,onChange:t,idPrefix:r="sf-theme-ink"}){let a=`${r}-button`,n=/^#[0-9a-fA-F]{6}$/.test(e??""),s=n?e:o;return j(qe,{label:l("Button color"),icon:pi["Button color"],id:a,value:s,caption:n?s:l("Main"),onChange:t})}function fT({colors:e,accent:o,onChange:t,idPrefix:r="sf-theme-ink"}){let a=`${r}-button-ink`,n=ru(e),s=ks(e,o),i=Or(e)??o,f=Ut(Uo(s,i)??0);return j(qe,{label:l("Button text color"),icon:pi["Button text color"],hint:n&&f!=="good"?l("{grade} on the button",{grade:l(Gt[f])}):void 0,id:a,value:s,caption:n?s:l("Auto"),onChange:t})}var cT=[{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 mi({colors:e,onChange:o,idPrefix:t}){let r=Io(e);return j(Zk,{children:cT.map(a=>"colour"in a?j($p,{value:e,onChange:o},"colour"):"moduleBreak"in a?j("div",{className:"sf-theme-module-break","aria-hidden":"true"},"module-break"):"button"in a?j(iT,{value:e.button,accent:r.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in a?j(fT,{colors:e,accent:r.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):j(sT,{label:a.label,colorKey:a.key,value:r[a.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},a.key))})}function pn({index:e,colors:o,selected:t,role:r="radio",open:a,editable:n=!0,onPick:s,onEdit:i,onChangeColors:f}){let d=Io(o),p=Hr(e),m=e<vs.length&&!o.brandInk?vs[e]:null,x=Ut(Uo(d.text,d.background)??0),I=m?JSON.stringify(o)!==JSON.stringify(m):!1,y=a!==void 0;return Ko("div",{className:`sf-theme-card${t?" is-selected":""}`,children:[j("button",{type:"button",role:r,"aria-checked":r==="radio"?t:void 0,"aria-selected":r==="option"?t:void 0,"aria-label":p,className:"sf-theme-pick",onClick:s,children:j(jp,{colors:o})}),Ko("div",{className:"sf-theme-foot",children:[j("span",{className:"sf-theme-name",children:p}),x!=="good"&&j("span",{className:"sf-theme-warn",children:l(Gt[x])}),n&&i&&y&&j("span",{className:"sf-theme-edit",children:j(Jk,{content:a?l("Collapse"):l("Edit colors"),children:j(Qk,{size:"sm","aria-expanded":a,"aria-controls":`sf-theme-colours-${e}`,"aria-label":a?l("Collapse {name}",{name:p}):l("Edit colors for {name}",{name:p}),onClick:i,children:a?j(tT,{size:14}):j(oT,{size:14})})})}),n&&i&&!y&&j(ui,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":l("Edit {name}",{name:p}),onClick:i,children:l("Edit")})]}),a&&Ko("div",{id:`sf-theme-colours-${e}`,className:"sf-theme-colours",children:[j(mi,{colors:o,onChange:w=>f?.(w)}),m&&j(ui,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!I,onClick:()=>f?.({...m}),children:I?l("Reset {name} to the preset",{name:p}):l("Not changed")})]})]})}function Kp({colors:e,name:o,nameId:t,open:r,menuId:a,labelId:n,buttonRef:s,onClick:i,onKeyDown:f,onEdit:d}){return Ko("div",{className:"sf-secttheme-btn",children:[j("button",{ref:s,type:"button",className:"sf-theme-pick","aria-expanded":r,"aria-controls":a,"aria-labelledby":`${n} ${t}`,onClick:i,onKeyDown:f,children:e?j(jp,{colors:e}):j("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),Ko("div",{className:"sf-theme-foot",children:[j("span",{id:t,className:"sf-theme-name",children:o}),d&&j(ui,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":l("Edit {name}",{name:o}),onClick:d,children:l("Edit")}),j("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:i,children:j("span",{className:"sf-multi-caret",children:"\u25BE"})})]})]})}import{useCallback as bi,useEffect as Qp,useRef as hn}from"react";import{currentEaselSession as pT}from"efficient-easel/screen/lib/session";import{useEaselSession as mT}from"efficient-easel/screen/lib/session-context";import{useSyncExternalStore as dT}from"react";var Yp,xi=null,gt=null,mn=0,Ii=new Set;function hi(e){Yp=e;for(let o of Ii)o()}function gi(e){xi=e,mn+=1,gt&&clearTimeout(gt),gt=null,hi(void 0)}function Xp(e){mn+=1,hi(e)}function xn(e=250){xi&&(gt&&clearTimeout(gt),gt=setTimeout(()=>{gt=null;let o=xi;if(!o)return;let t=++mn;o().then(r=>{t===mn&&hi(r)}).catch(()=>{})},e))}function Vp(){return Yp}function uT(e){return Ii.add(e),()=>{Ii.delete(e)}}function In(){return dT(uT,Vp,Vp)}var yi=new Set;function Zp(e){return yi.add(e),()=>{yi.delete(e)}}async function y6(){let e=(await Promise.allSettled([...yi].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}import{WebsiteBackendError as xT}from"efficient-easel/screen/lib/backend-error";function Jp(e=pT()){return(o,t,r)=>{let a=Se(e).theme;return a?a.update(o,r?{siteId:r}:void 0):Promise.reject(new xT("invalid","This backend stores no site theme."))}}function em(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function IT(e,o=Jp()){let{themeFromDocument:t,token:r,siteId:a,patch:n}=e,s=em({themeFromDocument:t,token:r});if(s)return s;if(Object.keys(n).length===0)return{status:"skipped",reason:"empty"};try{return await o(n,r,a??void 0),{status:"saved"}}catch(i){return{status:"failed",error:i}}}function Kt({themeFromDocument:e,tokenRef:o,siteId:t,onResult:r}){let a=hn(null),n=hn({}),s=mT(),i=hn(r);i.current=r;let f=hn(null),d=bi(x=>{if(x.status==="skipped"){let I=`skipped:${x.reason}`;if(f.current===I)return;f.current=I}else f.current=null;i.current?.(x)},[]),p=bi(async()=>{a.current&&(clearTimeout(a.current),a.current=null);let x=n.current;n.current={};let I=await IT({themeFromDocument:e,token:o?.current,siteId:t,patch:x},Jp(s));return d(I),I.status==="saved"&&xn(),I.status==="failed"&&(n.current={...x,...n.current}),I},[e,o,t,d,s]),m=bi((x,I=!1)=>{let y=em({themeFromDocument:e,token:o?.current});if(y){d(y);return}n.current={...n.current,...x},a.current&&clearTimeout(a.current),I?p():a.current=setTimeout(()=>{p()},500)},[e,o,p,d]);return Qp(()=>()=>{p()},[p]),Qp(()=>Zp(async()=>{if(!a.current&&Object.keys(n.current).length===0)return;let x=await p();if(x.status==="failed")throw x.error}),[p]),{persist:m,flush:p}}var vT="Follow the page",W6="Follow the slideshow",kT=e=>l("Editing {name} changes it everywhere.",{name:e});function TT({colors:e}){if(!e)return ge("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=Io(e);return yt("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[ge("i",{style:{background:o.background}}),ge("i",{className:"sf-secttheme-chip-accent",style:{background:o.accent}})]})}function PT({themes:e,value:o,onPick:t,onEdit:r,menuId:a,followLabel:n}){return yt("div",{className:"sf-multi-menu sf-secttheme-menu",id:a,role:"listbox",children:[n!==void 0&&yt(hT,{children:[yt("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(rn),children:[ge(TT,{}),ge("span",{className:"sf-secttheme-name",children:l(n)})]}),ge("div",{className:"sf-secttheme-sep",role:"presentation"})]}),o!==null&&e[o]&&ge("p",{className:"sf-secttheme-oncard",role:"presentation",children:l("{name} is on this section",{name:Hr(o)})}),e.map((s,i)=>i===o?null:ge(pn,{role:"option",index:i,colors:s,selected:!1,onPick:()=>t(i),onEdit:()=>r(i)},i))]})}function FT({index:e,colors:o,onChange:t,onDone:r}){let a=Hr(e),n=rm();return yt("div",{className:"sf-secttheme-sheet",children:[yt("div",{className:"sf-secttheme-sheet-head",children:[ge("span",{children:a}),ge("button",{type:"button",className:"sf-secttheme-done",onClick:r,children:l("Done")})]}),ge("div",{className:"sf-secttheme-rows",children:ge(mi,{colors:o,onChange:t,idPrefix:n})}),ge("p",{className:"sf-secttheme-warn",children:kT(a)})]})}function am({value:e,onChange:o,followLabel:t,hint:r}){let{theme:a,setTheme:n}=V(),s=He(a),i=yT(wT),f=i?.tokenRef,d=i?.siteId??null,p=!i?.capabilities?.hasSiteTheme,{persist:m,flush:x}=Kt({themeFromDocument:p,tokenRef:f,siteId:d}),I=He(s),y=I.themes,w=Ys(e),v=w!==null?y[w]:void 0,k=v??(y.length?zt(I):void 0),[C,g]=tm(!1),[b,O]=tm(null),F=om(null),L=om(null),P=rm(),M=gT(()=>{g(!1),O(null)},[]);bT(()=>{if(!C&&b===null)return;let A=W=>{F.current&&!F.current.contains(W.target)&&(x(),M())};return document.addEventListener("mousedown",A),()=>document.removeEventListener("mousedown",A)},[C,b,M,x]);let z=A=>{o(A),M()},B=A=>{if(b===null)return;let W=y.map((te,ie)=>ie===b?A:te),D={...I,themes:W};n(D),m({selected_preset:D.selected,theme_presets:D.themes})};return yt("div",{className:"sf-secttheme",ref:F,children:[ge(CT,{label:l("Theme"),icon:ge(ST,{}),labelId:`${P}-label`,hint:r,children:ge(Kp,{colors:k,onEdit:w!==null?()=>{O(w),g(!1)}:void 0,name:v?Hr(w):l(t??vT),nameId:`${P}-value`,labelId:`${P}-label`,open:C,menuId:P,buttonRef:L,onClick:()=>{O(null),g(A=>!A)},onKeyDown:A=>{A.key==="Escape"&&(C||b!==null)&&(A.preventDefault(),M())}})}),C&&b===null&&ge("div",{onKeyDown:A=>{A.key==="Escape"&&(A.preventDefault(),M(),L.current?.focus())},children:ge(PT,{themes:y,value:w,onPick:z,onEdit:A=>{O(A),g(!1)},menuId:P,followLabel:t})}),b!==null&&y[b]&&ge(FT,{index:b,colors:y[b],onChange:B,onDone:()=>{x(),M(),L.current?.focus()}})]})}import{jsx as nm}from"react/jsx-runtime";import{useId as ET}from"react";import{FieldSelect as OT}from"efficient-easel/fields";import{SettingsField as LT}from"efficient-easel/panel";function RT(e){return e.map(({value:o,label:t,group:r,thumb:a,meta:n})=>({value:o,label:t,...r!==void 0?{group:r}:{},...a!==void 0?{thumb:a}:{},...n!==void 0?{meta:n}:{}}))}function K6({label:e,options:o,fallback:t,value:r,onChange:a,placeholder:n,bare:s=!1,icon:i}){let f=ET(),d=`${f}-label`,p=`${f}-button`,m=r??"",x=o.some(v=>v.value===m)?m:t,I=l(e),y=n===void 0?void 0:l(n),w=nm(OT,{id:p,value:x,options:RT(o),onChange:a,placeholder:y,searchPlaceholder:y,...s?{ariaLabel:I}:{ariaLabelledBy:`${d} ${p}`},searchable:!0,groupCount:!0,inline:!0});return s?w:nm(LT,{label:I,labelId:d,icon:i,children:w})}import{jsx as Ct,jsxs as s0}from"react/jsx-runtime";import{SettingsField as Pm}from"efficient-easel/panel";import{LinkIcon as i0}from"efficient-easel/icons";import{LinkPicker as f0,TextLinkField as c0}from"efficient-shell/ui";import{useEffect as Tm,useMemo as Sn,useRef as d0,useState as bn}from"react";import{currentEaselSession as AT}from"efficient-easel/screen/lib/session";function lm(){return AT().auth.token}import{currentEaselSession as u0}from"efficient-easel/screen/lib/session";import{useScreenDocument as p0}from"efficient-easel/screen/components/ScreenDocumentContext";var BT=()=>({choosePage:l("Choose a page"),chooseSection:l("Choose a section"),noSections:l("No section anchors yet"),sectionHint:l("Jumps to a section on that page."),choosePost:l("Choose a post"),chooseProduct:l("Choose a product"),choosePopup:l("Choose a popup")});function sm(e,o,t){if(!e)return"page";if(Qu(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(op(e))return"product";if(e.includes("#")){let r=e.slice(0,e.indexOf("#"));if(r===""||r==="/"||o.includes(r))return"anchor"}return e==="/"||o.includes(e)||t&&t.listingPaths.includes(t.targetOf(e))?"page":"custom"}function Si(e,o){let t=BT(),r=e.pages.map(p=>({value:Br(p.slug),label:p.title})),a=o?.pageOptions?o.pageOptions(r):r,n=a.map(p=>p.value),s=e.pages.map(p=>({label:p.title,options:ep(...p.docs).map(m=>({value:tn(p.slug,m.slug),label:m.name}))})).filter(p=>p.options.length>0),i=p=>{switch(p){case"page":return{type:"select",options:a,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:Ju(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:Zu(m.slug),label:m.title||m.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},f=Xu(e.offers).map(p=>({value:p.value,label:l(p.label),target:i(p.value),...p.value==="anchor"?{hint:t.sectionHint}:{},...p.value==="blog"||p.value==="product"||p.value==="popup"?{hideWhenEmpty:!0}:{}}));if(!o)return{kinds:f,rules:{kindOf:p=>sm(p,n),targetOf:p=>p,readFilter:()=>null,withFilter:p=>p}};let d=p=>{let m=o.withFilter(p,null);return o.listingPaths.includes(m)?m:p};return{kinds:f,rules:{kindOf:p=>sm(p,n,{listingPaths:o.listingPaths,targetOf:d}),targetOf:d,readFilter:o.readFilter,withFilter:o.withFilter},filtersFor:p=>o.listingPaths.includes(p)?o.filtersFor(p):null}}import{useEaselSession as m0}from"efficient-easel/screen/lib/session-context";function Ce(e,o){if(typeof e=="string")return e||o;if(e&&typeof e=="object"&&"text"in e){let t=e.text;return typeof t=="string"&&t?t:o}return o}function im(e,o){return typeof e=="number"&&Number.isFinite(e)?e:o}function bt(e,o){return typeof e=="boolean"?e:o}function gn(e,o){if(!Array.isArray(e))return o;let t=e.map(r=>typeof r=="string"?r:Ce(r?.text,"")).map(r=>r.trim()).filter(Boolean);return t.length?t:o}var fm="cart-drawer",tW="cart-drawer";var DT={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 rW(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function aW(e){let o=e??{},t=DT;return{kickerBadge:Ce(o.kickerBadge,t.kickerBadge),kickerText:Ce(o.kickerText,t.kickerText),titleLead:Ce(o.titleLead,t.titleLead),titleAccent:Ce(o.titleAccent,t.titleAccent),subtitleEmpty:Ce(o.subtitleEmpty,t.subtitleEmpty),subtitleOne:Ce(o.subtitleOne,t.subtitleOne),subtitleMany:Ce(o.subtitleMany,t.subtitleMany),leadTimeValue:Ce(o.leadTimeValue,t.leadTimeValue),shipsToFallback:Ce(o.shipsToFallback,t.shipsToFallback),promises:gn(o.promises,t.promises),emptyKicker:Ce(o.emptyKicker,t.emptyKicker),emptyBody:Ce(o.emptyBody,t.emptyBody)}}var dm="consent-banner",sW="consent-banner";var _T=[{value:"bar",label:"Bar"},{value:"card",label:"Card"}],iW="Layout",cm={layout:"bar"},NT=e=>_T.some(o=>o.value===e);function fW(e){let o=Ce((e??{}).layout,cm.layout);return{layout:NT(o)?o:cm.layout}}var MT=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],uW={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"},HT={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"},pW={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 WT(e){return typeof e=="string"&&Oo.includes(e)?e:null}function um(e){let o={};for(let t of MT){let r=WT(e[HT[t]]);r&&(o[t]=r)}return o}var mm=["delay","scroll","exit"],xm=["all","chosen","except"],Im=["visit","days","never","once"],zT=["all","desktop","phone"],GT=["stop","continue"],hm={min:0,max:60},gm={min:10,max:90},ym={min:1,max:90},Qe={autoOpen:!1,trigger:"delay",autoOpenDelaySec:15,scrollPercent:50,showOn:"all",showOnPages:[],devices:"all",hideAfter:"days",hideDays:7,afterSubmit:"stop",startDate:null,endDate:null};function Ze(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function Vt(e,o,t){let r=im(e,t);return Math.min(o.max,Math.max(o.min,Math.round(r)))}function UT(e){return typeof e.hideAfter=="string"?Ze(Im,e.hideAfter,Qe.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":Qe.hideAfter}function $T(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function pm(e){if(typeof e!="string")return null;let o=e.trim();return/^\d{4}-\d{2}-\d{2}$/.test(o)?o:null}function bm(e){let o=e??{},t=Qe;return{autoOpen:bt(o.autoOpen,t.autoOpen),trigger:Ze(mm,o.trigger,t.trigger),autoOpenDelaySec:Vt(o.autoOpenDelaySec,hm,t.autoOpenDelaySec),scrollPercent:Vt(o.scrollPercent,gm,t.scrollPercent),showOn:Ze(xm,o.showOn,t.showOn),showOnPages:$T(o.showOnPages),devices:Ze(zT,o.devices,t.devices),hideAfter:UT(o),hideDays:Vt(o.hideDays,ym,t.hideDays),afterSubmit:Ze(GT,o.afterSubmit,t.afterSubmit),startDate:pm(o.startDate),endDate:pm(o.endDate)}}var Yt="site-footer";var hW=Yt,gW={desktop:!0,tablet:!0,mobile:!0},yW={desktop:!1,tablet:!1,mobile:!1},Ci=1,Sm=6,bW=Array.from({length:Sm-Ci+1},(e,o)=>Ci+o),yn={desktop:6,tablet:3,mobile:2},qT={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}},St=e=>Math.min(Math.max(Math.round(e),Ci),Sm);function SW(e){if(typeof e=="number")return qT[St(e)]??{desktop:St(e),tablet:St(e),mobile:St(e)};if(e&&typeof e=="object"){let o=e;return{desktop:St(o.desktop??yn.desktop),tablet:St(o.tablet??yn.tablet),mobile:St(o.mobile??yn.mobile)}}return{...yn}}var wi="subscribe-popup",EW="subscribe-popup";var jT=[wi,Yt,fm,dm];function wm(e){return jT.includes(e)}var KT=["right","left"],VT={metaLabel:"Meta label",issueLabel:"Label",issueNumber:"00",kicker:"Kicker",heading:`Main heading
3
+ *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:Qe.autoOpen,autoOpenDelaySec:Qe.autoOpenDelaySec,formSlug:"",trigger:Qe.trigger,scrollPercent:Qe.scrollPercent,showOn:Qe.showOn,showOnPages:[],hideAfter:Qe.hideAfter,hideDays:Qe.hideDays,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},ce=Ce,YT=bt,vm=gn;function Cm(e,o){if(e==null)return o;let t=r=>r.trim()?r:"";if(typeof e=="string")return t(e);if(typeof e=="object"&&"text"in e){let r=e.text;return typeof r=="string"?t(r):""}return o}function XT(e,o){return Array.isArray(e)?vm(e,[]):o}function ZT(e,o){return Array.isArray(e)?e.map(t=>{let r=t??{};return{label:ce(r.label,""),value:ce(r.value,"")}}).filter(t=>t.label||t.value):o}function LW(e){let o=e??{},t=VT,r=bm(o);return{metaLabel:ce(o.metaLabel,t.metaLabel),issueLabel:Cm(o.issueLabel,t.issueLabel),issueNumber:Cm(o.issueNumber,t.issueNumber),kicker:ce(o.kicker,t.kicker),heading:ce(o.heading,t.heading),deck:ce(o.deck,t.deck),stats:ZT(o.stats,t.stats),formLabel:ce(o.formLabel,t.formLabel),formHeading:ce(o.formHeading,t.formHeading),formIntro:ce(o.formIntro,t.formIntro),firstNameLabel:ce(o.firstNameLabel,t.firstNameLabel),firstNamePlaceholder:ce(o.firstNamePlaceholder,t.firstNamePlaceholder),emailLabel:ce(o.emailLabel,t.emailLabel),emailPlaceholder:ce(o.emailPlaceholder,t.emailPlaceholder),interestsLabel:ce(o.interestsLabel,t.interestsLabel),interests:vm(o.interests,t.interests),frequencyLabel:ce(o.frequencyLabel,t.frequencyLabel),frequencies:XT(o.frequencies,t.frequencies),submitText:ce(o.submitText,t.submitText),finePrint:ce(o.finePrint,t.finePrint),dismissText:ce(o.dismissText,t.dismissText),emailInvalidText:ce(o.emailInvalidText,t.emailInvalidText),submitErrorText:ce(o.submitErrorText,t.submitErrorText),successHeading:ce(o.successHeading,t.successHeading),successBody:ce(o.successBody,t.successBody),keepBrowsingText:ce(o.keepBrowsingText,t.keepBrowsingText),formSlug:typeof o.formSlug=="string"?o.formSlug.trim():t.formSlug,autoOpen:r.autoOpen,autoOpenDelaySec:r.autoOpenDelaySec,trigger:r.trigger,scrollPercent:r.scrollPercent,showOn:r.showOn,showOnPages:r.showOnPages,hideAfter:r.hideAfter,hideDays:r.hideDays,formSide:Ze(KT,o.formSide,t.formSide),valuePanelOnPhone:YT(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:um(o)}}var vi="popup",QT=$o,JT=["auto","full"],e0=["inside","outside","none"],o0={min:240,max:1440},t0={min:0,max:100},r0={placement:"center",fullWidth:!1,width:720,height:"auto",tintColor:"#000000",tintOpacity:60,outsideClick:!0,closeButton:"inside"};function a0(e,o){return typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e.trim())?e.trim():o}function _W(e){let o=e??{},t=r0;return{placement:Ze(QT,o.placement,t.placement),fullWidth:bt(o.fullWidth,t.fullWidth),width:Vt(o.width,o0,t.width),height:Ze(JT,o.height,t.height),tintColor:a0(o.tintColor,t.tintColor),tintOpacity:Vt(o.tintOpacity,t0,t.tintOpacity),outsideClick:bt(o.outsideClick,t.outsideClick),closeButton:Ze(e0,o.closeButton,t.closeButton)}}function n0(e,o=Math.random){for(;;){let t=`popup-${Math.floor(o()*2176782336).toString(36).padStart(6,"0")}`;if(!e.has(t))return t}}function l0(e){return{root:{props:{title:e,kind:vi}},content:[],zones:{}}}function km(e,o,t){return{slug:n0(o,t),title:e,kind:"lightbox",layout:l0(e)}}function ki(e){return e?.root?.props?.kind===vi}function Fm(e){let o=new Map;return(t="")=>{let r=lm(),a=o.get(t);if(!a||a.token===null&&r!==null){let n=r||!u0().usesBridgedToken?e(r??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:r}),n}return a.promise}}var x0=Fm(async(e,o)=>{let t=o?{siteId:o}:void 0,{pages:r}=Se();return r.linkTargets?r.linkTargets(t):(await r.list(t)).map(a=>({id:a.id,slug:a.slug,label:a.label,layout:null}))}),I0=Fm(async(e,o)=>await Se().blog?.posts(o?{siteId:o}:void 0)??[]);function h0({value:e,onChange:o,label:t="Link",data:r,filters:a}){let n=Sn(()=>Si(r,a),[r,a]),s=l(t);return Ct(Pm,{label:s,icon:Ct(i0,{}),children:Ct(f0,{value:e,onChange:i=>o(i),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function Em(){let{siteId:e,capabilities:o}=p0(),{offersCommerce:t,hasBlog:r}=o,[a,n]=bn([]),[s,i]=bn([]),[f,d]=bn([]),[p,m]=bn(null),x=m0().chrome,I=x?.products?.list,y=x?.linkFilters,w=y?void 0:x?.linkRow,v=d0(!0);Tm(()=>(v.current=!0,()=>{v.current=!1}),[]),Tm(()=>{let g=!0;return x0(e??void 0).then(b=>g&&v.current&&n(b)),r&&I0(e??void 0).then(b=>g&&v.current&&i(b)),t&&I?.().then(b=>g&&v.current&&d(b)),t&&y?y.load(e).catch(()=>null).then(b=>g&&v.current&&m(()=>b)):m(null),()=>{g=!1}},[e,t,r,I,y]);let k=Sn(()=>({pages:a.filter(g=>!wm(g.slug)&&!ki(g.layout)).map(g=>({slug:g.slug,title:g.label,docs:[g.layout]})),popups:a.filter(g=>g.slug===wi||ki(g.layout)).map(g=>({slug:g.slug,title:g.label})),posts:r?s.map(g=>({slug:g.slug,title:g.title})):[],products:t?f.map(g=>({href:g.href,name:g.name})):[],offers:{offersCommerce:t,offersService:r}}),[a,s,f,t,r]),C=Sn(()=>p?p(k.pages):null,[p,k]);return{data:k,filters:C,pages:a,offersCommerce:t,HostLinkRow:w}}function oz({label:e,icon:o,text:t,onTextChange:r,link:a,onLinkChange:n}){let{data:s,filters:i}=Em(),f=Sn(()=>Si(s,i),[s,i]),d=l(e);return Ct(Pm,{label:d,icon:o,children:Ct(c0,{label:d,text:t,onTextChange:r,link:a,onLinkChange:p=>n(p),kinds:f.kinds,rules:f.rules,filtersFor:f.filtersFor})})}function Om({value:e,onChange:o,label:t="Link"}){let r=typeof e=="string"?e:"",{data:a,filters:n,pages:s,offersCommerce:i,HostLinkRow:f}=Em(),d=a.pages.map(m=>Br(m.slug)),p=i&&f&&(r==="/"||d.includes(r))?f:void 0;return s0("div",{children:[Ct(h0,{value:r,onChange:o,label:t,data:a,filters:n}),p&&Ct(p,{value:r,onChange:o,pages:s})]})}import{UiIcon as kx}from"efficient-easel/draw/client";var Je={min:10,max:200,step:10};function Lm(e,o){let t=typeof e=="number"?e:void 0,r=typeof o=="number"?o:void 0;if(!(t===void 0&&r===void 0))return{paddingTop:t,paddingBottom:r}}var g0="sf-pad-top-phone",y0="sf-pad-bottom-phone",b0="--sf-pad-t-phone",S0="--sf-pad-b-phone",C0="sf-pad-left-phone",w0="sf-pad-right-phone",v0="--sf-pad-l-phone",k0="--sf-pad-r-phone";function Bm(e,o,t,r,a,n,s,i){let f=Lm(e,o)??{},d={},p=["sf-section-pad"];typeof t=="number"&&(p.push(g0),d[b0]=`${t}px`),typeof r=="number"&&(p.push(y0),d[S0]=`${r}px`);let m={};return typeof a=="number"&&(m.paddingLeft=a),typeof n=="number"&&(m.paddingRight=n),typeof s=="number"&&(p.push(C0),d[v0]=`${s}px`),typeof i=="number"&&(p.push(w0),d[k0]=`${i}px`),p.length===1&&Lm(e,o)===void 0&&!Object.keys(m).length?null:{className:p.join(" "),style:{...f,...m,...d}}}var Rm=e=>typeof e=="number"?e:void 0;function Am(e,o,t){let r=Rm(e)??t,a=Rm(o);return r===void 0?a:a===void 0?r:r+a}function rz(e,o={}){return{top:Am(e.padTop,e.sectionPaddingTop,o.top),bottom:Am(e.padBottom,e.sectionPaddingBottom,o.bottom)}}function az(e){return{top:e.sectionPaddingTop,bottom:e.sectionPaddingBottom,topPhone:e.sectionPaddingTopPhone,bottomPhone:e.sectionPaddingBottomPhone,left:e.sectionPaddingLeft,right:e.sectionPaddingRight,leftPhone:e.sectionPaddingLeftPhone,rightPhone:e.sectionPaddingRightPhone}}function nz(e){return Bm(e.top,e.bottom,e.topPhone,e.bottomPhone,e.left,e.right,e.leftPhone,e.rightPhone)}function lz(e,o){let t=r=>typeof r=="number"?r+o:void 0;return Bm(t(e.top),t(e.bottom),t(e.topPhone),t(e.bottomPhone),e.left,e.right,e.leftPhone,e.rightPhone)}var T0=["auto","fixed","screen"],P0=["px","%"];var F0="var(--sf-header-h, 88px)",Ti={min:40,max:2e3,step:10,fallback:600},Pi={min:10,max:200,step:5,fallback:100},E0="sf-section-minh",Dm={base:"--sf-section-minh",small:"--sf-section-minh-s"},Nm=e=>typeof e=="string"&&T0.includes(e),O0=e=>typeof e=="string"&&P0.includes(e);function Cn(e){let o=Nm(e.sectionHeightMode)?e.sectionHeightMode:"auto",t=o==="screen"?"%":O0(e.sectionHeightUnit)?e.sectionHeightUnit:"px",r=o==="screen"?Pi.fallback:Ti.fallback,a=typeof e.sectionHeightValue=="number"?e.sectionHeightValue:r;return{mode:o,value:a,unit:t}}function Mm(e){let{mode:o,value:t,unit:r}=Cn(e);if(o==="auto")return;if(o==="fixed"&&r==="px")return[`${t}px`,null];let a=t/100,n=s=>o==="screen"?`(100${s} - ${F0})`:`100${s}`;return[`calc(${n("vh")} * ${a})`,`calc(${n("svh")} * ${a})`]}function L0(e){let o=Mm(e);if(!o)return;let[t,r]=o;return{display:"grid",[Dm.base]:t,...r?{[Dm.small]:r}:{}}}var iz=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),Xt="Height",R0="sf-section-minh-phone",_m={base:"--sf-section-minh-p",small:"--sf-section-minh-ps"};function Fi(e){return Nm(e.sectionHeightModePhone)}function fz(e){return Cn({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone})}function A0(e){let o=L0(e),t=Fi(e)?Mm({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone}):void 0;if(!o&&!t)return null;let r=[E0],a={...o??{}};return t&&(r.push(R0),a[_m.base]=t[0],t[1]&&(a[_m.small]=t[1])),{className:r.join(" "),style:a}}function cz(e){return A0(e)!==null}var wn="Stick to top",Vo={min:0,max:200,step:4,fallback:0},B0="sf-section-stick",D0="sf-section-stick-phone-on",_0="sf-section-stick-phone-off",Hm={desktop:"--sf-stick-distance",phone:"--sf-stick-distance-phone"},uz=new Set(["CategoryBar","DocTabs","IntroBleed"]);function Wm(e){let o=typeof e=="number"&&Number.isFinite(e)?e:Vo.fallback;return Math.min(Vo.max,Math.max(Vo.min,Math.round(o)))}function Ei(e){return typeof e.stickTopPhone=="boolean"}function Oi(e){let o=e.stickTop===!0,t=Wm(e.stickTopDistance),r=Ei(e),a=r?e.stickTopPhone===!0:o,n=r?Wm(e.stickTopDistancePhone):t;return{desktop:o,desktopDistance:t,phone:a,phoneDistance:n,ownPhone:r}}function pz(e){let o=Oi(e);if(!o.desktop&&!o.phone)return null;let t=[B0],r={};return o.desktop&&(r[Hm.desktop]=`${o.desktopDistance}px`),(o.ownPhone||o.phone!==o.desktop)&&(t.push(o.phone?D0:_0),o.phone&&(r[Hm.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:r}}var N0=["column","row","tabs"],zm="Direction",M0={column:"Stacked",row:"One row",tabs:"Tabs"},Gm={Flex:N0,HeroGroup:["column","row"]},H0={Flex:"row",HeroGroup:"column"},W0={column:"flex-col",row:"flex-row",tabs:"flex-col"};function vn(e,o){return Gm[e].includes(o)?o:H0[e]}function xz(e,o){return W0[vn(e,o)]}function Um(e){return Gm[e].map(o=>({label:M0[o],value:o}))}var Li=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Space between",value:"between"},{label:"End",value:"end"}],jm=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"},{label:"Stretch",value:"stretch"}],Km="Wrap",Ri=[{label:"Wrap",value:"wrap"},{label:"No wrap",value:"nowrap"}],$m={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},qm={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function hz(e,o){let t=typeof e=="string"&&e in $m?$m[e]:"",r=typeof o=="string"&&o in qm?qm[o]:"";return[t,r].filter(Boolean).join(" ")}function gz(e){return e===!0||e==="wrap"?"flex-wrap":""}var Ai="Block widths",kn=[{label:"Fit content",value:"content",weights:null},{label:"Equal",value:"equal",weights:[1,1]},{label:"Big left",value:"bigLeft",weights:[2,1]},{label:"Big right",value:"bigRight",weights:[1,2]},{label:"Bigger left",value:"biggerLeft",weights:[3,1]},{label:"Bigger right",value:"biggerRight",weights:[1,3]}],Wr="[&>*]:min-w-0 [&>*]:flex-1 [&>*]:basis-0",z0={equal:Wr,bigLeft:`${Wr} [&>*:first-child]:min-[800px]:grow-[2]`,bigRight:`${Wr} [&>*:last-child]:min-[800px]:grow-[2]`,biggerLeft:`${Wr} [&>*:first-child]:min-[800px]:grow-[3]`,biggerRight:`${Wr} [&>*:last-child]:min-[800px]:grow-[3]`};function yz(e){return typeof e=="string"?z0[e]??"":""}var Vm="Columns on phone",Bi=1,Ym=3,G0={2:"max-[800px]:flex-wrap [&>*]:max-[800px]:min-w-0 [&>*]:max-[800px]:basis-[calc((100%_-_var(--sf-gap-len,0px))/2)]",3:"max-[800px]:flex-wrap [&>*]:max-[800px]:min-w-0 [&>*]:max-[800px]:basis-[calc((100%_-_var(--sf-gap-len,0px)_*_2)/3)]"};function bz(e){let o=Number(e);return G0[o]??"max-[800px]:flex-col"}var Xm="Block spacing",Di=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],U0="sf-box-gap-only";function Sz(e){return e==="gap"?U0:""}var $0=["solid","dashed","dotted"],q0=["top","right","bottom","left"],wz="sf-section-border",vz="sf-section-border-self",j0=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,Zm=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function Qm(e,{phone:o=!1}={}){if(!e||typeof e!="object")return;let t=o?"-phone":"",r={};for(let a of q0){let n=Zm(e[a])??Zm(e.width);n!==void 0&&(r[`--sf-border-${a}-width${t}`]=n)}return typeof e.style=="string"&&$0.includes(e.style)&&(r[`--sf-border-style${t}`]=e.style),typeof e.color=="string"&&j0.test(e.color)&&(r[`--sf-border-color${t}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function kz(e,o){let t=Qm(e),r=Qm(o,{phone:!0});return t||r?{...t,...r}:void 0}var ox="sf.gapContainer",Yo={min:-32,max:64,step:2},tx={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},Zt={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},K0=new Set(["Events","GalleryB"]);function zr(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=Yo.min)return o;if(typeof o=="string"){let r=tx[e]?.[o];if(typeof r=="number")return r}return typeof t=="number"&&Number.isFinite(t)?t:Zt[e]}var V0="sf-gap-overlap",Y0="--sf-gap-overlap",rx="--sf-block-gap",X0="--sf-block-gap-rem",wt={min:0,max:Yo.max,step:Yo.step};function Z0(e){if(typeof e!="number"||!Number.isFinite(e))return null;let o=Math.min(Math.max(Math.round(e),wt.min),wt.max);return o-o%wt.step}function Pz(e){let o=Z0(e);return o===null?{}:{[rx]:`${o}px`,[X0]:`${o/16}rem`}}var Jm="sf-gap-zone",ex="--sf-gap-len";function _i(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=Yo.min?!0:typeof o=="string"&&typeof tx[e]?.[o]=="number"}var Q0={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function Fz(e,o,t){if(!_i(e,o)){let a=`${Zt[e]}px`,n=K0.has(e)?`var(--sf-card-gap, ${a})`:a;return{className:` ${Jm}`,style:{[ex]:`var(${rx}, ${n})`}}}let r=zr(e,o);return r>=0?{className:` ${Jm}`,style:{[ex]:`${r}px`}}:{className:` ${V0} ${Q0[t]}`,style:{gap:"0px",[Y0]:`${-r/2}px`}}}var ax=["transparent","var(--section-bg)","var(--surface)","var(--surface-2)"],nx={transparent:"No fill","var(--section-bg)":"Section band","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},Tn="var(--section-bg)",Pn="inherit";function Oz(e,o){return e===Pn?Tn:e===void 0?o:Fn(e)}var J0=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function Fn(e){return e.replace(J0,"var(--site-$1")}function lx(e,o){return e===Pn?!0:e===void 0&&o===Tn}var sx=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],ix={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},Qt="var(--wheel-stage)",En="transparent",Gr="inherit";function Az(e,o){return Fn(Ni(e,o))}function Ni(e,o){return e===Gr?Qt:e==null?o:e===!0?Qt:e===!1?En:e}function Bz(e){return typeof e=="string"&&e!==Gr?Fn(e):Qt}function Dz(e){return e!==En&&e!=="none"&&e!==""}function fx(e,o){return e===Gr||e===!0?!0:e==null?o===Qt:!1}var cx="inherit",On="fixed",dx=e=>typeof e!="number"&&e!==On,eP="var(--sf-heading-max, 9999px)";function Nz(e,o,t,r){if(typeof e=="number")return`${e}px`;if(e===On)return o;let a=r?`var(--size-${r}, ${o})`:o;return t==="heading"?`min(${a}, ${eP})`:a}var pe={min:1e3,max:2e3,step:50,default:1600};function oP(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}var ux="--sf-site-width",Mi=`var(${ux},${pe.default}px)`,Hz=`max-w-[${Mi}]`,Wz=`max-w-[${pe.default}px]`;function tP(e){return typeof e!="number"||!Number.isFinite(e)?pe.default:Math.round(Math.min(Math.max(e,pe.min),pe.max))}function zz(e){let o=tP(e);return o===pe.default?{}:{[ux]:`${o}px`}}var Co={min:0,max:80,step:4,default:40},px="--sf-site-gutter",eo=`var(${px},${Co.default}px)`,rP=`px-[${eo}]`;var Xo={md:`min(24px,${eo})`,sm:`min(20px,${eo})`,frame:`min(24px,${eo})`,tabs:`min(16px,${eo})`},Gz=[[`max-[1100px]:px-[${Xo.md}]`,"max-[1100px]:px-6"],[`max-[1100px]:px-[${Xo.tabs}]`,"max-[1100px]:px-4"],[`max-[960px]:px-[${Xo.frame}]`,"max-[960px]:px-6"],[`max-[900px]:px-[${Xo.md}]`,"max-[900px]:px-6"],[`max-[800px]:px-[${Xo.md}]`,"max-[800px]:px-6"],[`max-[720px]:px-[${Xo.sm}]`,"max-[720px]:px-5"],[`max-[800px]:px-[${Xo.sm}]`,"max-[800px]:px-5"],[`max-[640px]:px-[${Xo.sm}]`,"max-[640px]:px-5"],[`min-[800px]:px-[${eo}]`,"min-[800px]:px-10"],[`max-[720px]:px-[min(24px,${eo})]`,"max-[720px]:px-6"],[`max-[800px]:-mx-[min(20px,${eo})]`,"max-[800px]:-mx-5"],[`max-[720px]:-mx-[min(20px,${eo})]`,"max-[720px]:-mx-5"],[`-mx-[${eo}]`,"-mx-10"],[rP,"px-10"]];var Uz="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",$z="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]";function aP(e){return typeof e!="number"||!Number.isFinite(e)?Co.default:Math.round(Math.min(Math.max(e,Co.min),Co.max))}function qz(e){let o=aP(e);return o===Co.default?{}:{[px]:`${o}px`}}var mx=Mi,jz=`max-w-[${mx}]`,Kz=`max-w-[min(var(--sf-page-cap,${pe.default}px),${pe.default}px)]`,xx="--sf-hero-cap",nP=`var(${xx},none)`,Vz=`max-w-[${nP}]`,Hi="--sf-hero-bleed-m",Wi="--sf-hero-bleed-w",Yz=`var(${Hi},calc(50% - 50vw))`,Xz=`var(${Wi},100vw)`,Zz=`mx-[var(${Hi},calc(50%_-_50vw))]`,Qz=`w-[var(${Wi},100vw)]`,lP="--sf-hero-chrome-x",sP="--sf-hero-chrome-cap";function Jz(e){return e===!0?{[xx]:mx,[Hi]:"auto",[Wi]:"100%",[lP]:"24px",[sP]:"none"}:{}}var zi=`calc(${Mi} - ${eo}*2)`,eG=`max-w-[${zi.replace(/ /g,"_")}]`;var iP="--sf-chrome-cap",fP=`var(${iP},${zi})`,oG="data-page-width";function tG(e){return e==="full"?"full":null}function rG(e){return e==="full"?null:oP(e==="content"?zi:fP)}function aG(e){if(e==="full")return"full";if(e==="content")return"content"}var cP=["contained","page","full"],hx=["full","page"],Jt={full:"Full width",page:"Content width"},Ui="inherit",dP=e=>typeof e=="string"&&cP.includes(e),gx=e=>e===Ui;function Bo(e,o){let t=typeof e.pageWidth=="number"?e.pageWidth:pe.default;return gx(e.widthMode)?{mode:"full",pageWidth:t,inherited:!0}:e.widthMode==="contained"?{mode:"page",pageWidth:t,inherited:!1}:dP(e.widthMode)?{mode:e.widthMode,pageWidth:t,inherited:!1}:e.contained===!0?{mode:"page",pageWidth:t,inherited:!1}:typeof e.fullWidth=="boolean"?{mode:e.fullWidth?"full":"page",pageWidth:t,inherited:!1}:e.contained===!1?{mode:"full",pageWidth:t,inherited:!1}:{mode:o,pageWidth:t,inherited:o==="full"}}function $i(e){return Bo(e,"page").mode==="full"}var Ur="site",yx={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",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 uP(e){return Object.prototype.hasOwnProperty.call(yx,e)}var Gi=e=>e==="full"||e==="content",pP=e=>typeof e=="number"&&Number.isFinite(e)&&e>0,Ix=({widthMode:e,fullWidth:o,pageWidth:t})=>({widthMode:e,fullWidth:o,pageWidth:t});function mP(e,o){let t={background:null,content:null,contentMax:null};switch(e){case"hero":return gx(o.widthMode)||o.widthMode!=="full"?t:{...t,background:"full"};case"scrollOver":return o.fullWidth===!1?t:{...t,content:"full"};case"background":return Bo(o,"full").mode==="full"?t:{...t,background:"content"};case"both":return Bo(o,"full").mode==="full"?{...t,content:"full"}:{...t,background:"content"};case"contained":return Bo(o,"page").mode==="full"?{...t,content:"full"}:{...t,background:"content"};case"contentColumn":return Bo(Ix(o),"page").mode==="full"?{...t,content:"full"}:t;case"contentFull":return Bo(Ix(o),"full").mode==="full"?{...t,content:"full"}:t;case"productGrid":{let r=Bo(o,"full");return r.mode==="full"?{...t,content:"full"}:{background:"content",content:"content",contentMax:r.pageWidth}}case"capped":return{...t,background:"content"}}}function qi(e,o){if(!uP(e))return{background:null,content:null,contentMax:null};let t=yx[e],r=o,a=mP(t,r),n=r.backgroundWidth===Ur?null:Gi(r.backgroundWidth)?r.backgroundWidth:a.background;return r.contentWidth===Ur?{background:n,content:null,contentMax:null}:Gi(r.contentWidth)?{background:n,content:r.contentWidth,contentMax:r.contentWidth==="content"&&pP(r.contentMax)?r.contentMax:null}:{background:n,content:a.content,contentMax:a.contentMax}}var bx="siteWidths";function Ln(e){return Gi(e)?e:null}function Sx(e,o){return{[bx]:{background:Ln(e),content:Ln(o)}}}function sG(e){let o=e.puck?.metadata?.[bx];return{background:Ln(o?.background),content:Ln(o?.content)}}import{jsx as xP}from"react/jsx-runtime";import{createContext as IP,useContext as hP}from"react";var gP=2,yP=gP+1,Cx=IP(2);function wx({tier:e,children:o}){return xP(Cx.Provider,{value:e,children:o})}function vx(e){let o=hP(Cx);return yP+Math.max(0,e-o)}import{withStyleKind as CF}from"efficient-easel/style-clipboard";import{useEaselSession as wF}from"efficient-easel/screen/lib/session-context";import{TEXT_CONTROL_KINDS as kU,SCALAR_TEXT_CONTROLS as TU}from"efficient-easel/draw";function Jo(e){for(let[o,t]of Object.entries(e))t&&typeof t=="object"&&!No(t)&&CF(t,`section:${o}`);return e}function jx(){return null}function Zi(e){if(!e.trim())throw new Error("noGlyph() needs a reason naming the ruling that decided it.");return h(jx,{},e)}function vF(e){return e.type===jx}function wo(e){return vF(e)?void 0:e}function kt(e,o){return l("{value} from {from}",{value:e,from:o})}function kF(){let{appState:e}=jr(a=>a),o=e.data.root?.props??{},{mode:t,pageWidth:r}=Bo(o,"full");return t==="page"?kt(`${r}px`,l("the page")):t==="contained"?kt(l("Contained"),l("the page")):kt(l("Full"),l("the page"))}function TF(){let{blockGap:e}=V();return e===null?l("this container's own spacing"):kt(`${e}px`,l("Styles"))}function PF({inherited:e,onReset:o,label:t}){return h(Ee,{words:X()?.panel,label:l(t),changed:!e,detail:TF(),onReset:o})}function FF({inherited:e,onReset:o,label:t}){return h(Ee,{words:X()?.panel,label:l(t),changed:!e,detail:kF(),onReset:o})}function Tt({value:e,onChange:o,label:t,placeholder:r,hint:a,multiline:n,hideable:s=!0,markup:i=!0}){let{text:f,hidden:d}=Qo(e),p=Vi(null),m=Vi(null),x=C=>o(s?{text:C,hidden:d}:C),I=()=>o({text:f,hidden:!d}),y=s&&d,w=SP(),v=a?AF(a)?h("span",{className:"sf-hint-keep sf-hint-while-typing",children:l(a)}):h(Vu,{children:l(a)}):void 0,k=d?l("Show {label} on the slide",{label:l(t)}):l("Hide {label} on the slide",{label:l(t)});return h(re,{label:l(t),icon:h(oF,{}),htmlFor:w,className:y?"is-hidden":void 0,hint:v,action:s?h(qx,{content:k,children:h("button",{type:"button",className:"sf-field-eye","aria-pressed":d,"aria-label":k,onClick:I,children:d?h(kx,{name:"eye-off",size:14}):h(kx,{name:"eye",size:14})})}):void 0,children:Do("div",{className:"sf-copybox",children:[i&&h(ti,{target:n?m:p,value:f,onChange:x}),n?h("textarea",{id:w,ref:m,value:f,placeholder:r===void 0?void 0:l(r),onChange:C=>x(C.target.value)}):h("input",{id:w,ref:p,type:"text",value:f,placeholder:r===void 0?void 0:l(r),onChange:C=>x(C.target.value)})]})})}function bU(e,o){return{...e,[kP]:o}}function SU(e){let o=e[_o];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[_o]:{...o,offPage:!0}}}function Bn(e){return!e||typeof e!="object"?!1:e[_o]?.offPage===!0}var Kx="sfPanelOnly";function CU(e){if(!e[_o])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[Kx]:!0}}function Vx(e){return!!e&&typeof e=="object"&&e[Kx]===!0}function wU(e){let o=e[_o];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[_o]:{...o,identifier:!0}}}function PU(e,o){if(!e[_o])throw new Error("inOwnBox: the field holds no authored text");let{[bF]:t,...r}=e;return{...r,[ri]:!0,render:o}}var EF=new Set(SF),Pt=(e,o)=>{let t={...o,[_o]:e};if(!EF.has(e.control))return t;let r=o.render;return{...Kr(t,"authored-copy"),render:a=>h(Ap,{name:a.name,children:r(a)})}},FU="Everything else on this block comes from the linked post. Unlink it to edit by hand.",OF={field:"source.slug",set:!0},EU={not:OF},LF="Select a word, then press the highlighter.",RF=new Set([LF]),AF=e=>RF.has(e);function OU(e,o,t){return Pt({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>h(Tt,{value:r,onChange:a,label:e,placeholder:o,hint:t})})}function LU(e,o,t){return Pt({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>h(Tt,{value:r,onChange:a,label:e,placeholder:o,hint:t,multiline:!0})})}function RU(e,o,t){return Pt({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>h(Tt,{value:r,onChange:a,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function AU(e,o,t){return Pt({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>h(Tt,{value:r,onChange:a,label:e,placeholder:o,hint:t,hideable:!1})})}function BU(e){return{type:"custom",[wP]:{label:e},render:({value:o,onChange:t})=>h(Om,{value:CP(o),onChange:t,label:e})}}function DU(e,o,t){return Pt({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>h(Tt,{value:r,onChange:a,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var Yx={Design:TP,Animation:Ax};function Xx(e,o){return e.includes("Design")?o!=="Design":null}function Zx(e,o){return{type:"custom",[Xi]:{label:e,level:o},marker:!0,fold:e,render:()=>h(oo,{})}}function ve(e){return Zx(e,2)}function _U(e){return{type:"custom",render:()=>h(BF,{text:e})}}function BF({text:e}){return h("p",{className:"sf-note",children:l(e)})}function NU(e){return Zx(e,1)}function MU(e){return No(e)!==null&&e?.tabs!==void 0}var Tx=new Map;function Dn(e,o){let t=`${e}\0${o?o.join(""):""}`,r=Tx.get(t)??{type:"custom",tabs:o,[Xi]:{label:e,level:1},bucket:e,marker:!0,render:()=>h(oo,{})};return Tx.set(t,r),r}var Px=new Map;function Qi(e){let o=Px.get(e)??{type:"custom",[Xi]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>h(oo,{})};return Px.set(e,o),o}function DF(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function Qx(e,o){return DF(e)===o?e:{...e,marker:!0,fold:o,render:()=>h(oo,{})}}function Jx(e){let o=e;if(o.marker===!0&&o.fold===void 0)return e;let{fold:t,...r}=e;return{...r,marker:!0,render:()=>h(oo,{})}}function Ji({title:e,children:o}){let[t,r]=qr(()=>!Ki.has(e));return h(aF,{title:e,open:t,onToggle:a=>{r(a),a?Ki.delete(e):Ki.add(e)},children:o})}var Ki=new Set;function HU({label:e}){return h(nF,{title:l(e),level:vx(2)})}function eI({swatches:e,current:o,onPick:t,names:r}){let a=e.find(i=>i.toLowerCase()===o.toLowerCase()),n=a?r?.[a]:void 0,s=n?l(n):o;return Do("div",{className:"sf-swatches",children:[e.map(i=>{let f=r?.[i]?l(r[i]):i;return h(qx,{content:f,children:h("button",{type:"button","aria-pressed":o.toLowerCase()===i.toLowerCase(),className:`sf-swatch ${o.toLowerCase()===i.toLowerCase()?"is-active":""}`,style:{background:i},onClick:()=>t(i),"aria-label":f})},i)}),h("span",{className:"sf-swatch-hex",children:s})]})}function WU(e,o){return{type:"custom",render:({value:t,onChange:r})=>{let a=lx(t,o);return h(re,{label:l(e),icon:h(OP,{}),changed:!a,action:h(Ee,{words:X()?.panel,label:l(e),changed:!a,detail:l("the theme's section background"),onReset:()=>r(Pn)}),children:eI({swatches:ax,current:a?Tn:t??o??"",onPick:r,names:nx})})}}}function _F(e,o){return{type:"custom",render:({value:t,onChange:r})=>{let a=t,n=fx(a,o);return h(re,{label:l(e),icon:h(UP,{}),changed:!n,action:h(Ee,{words:X()?.panel,label:l(e),changed:!n,detail:l("the theme's image stage"),onReset:()=>r(Gr)}),children:eI({swatches:sx,current:n?Qt:Ni(a,o),onPick:r,names:ix})})}}}function _n(e=t=>t,o){return Jo({_gSectionTheme:ve(ip),sectionAccent:{type:"custom",render:({value:t,onChange:r})=>h(am,{value:e(t),onChange:r,followLabel:o})}})}function Ae({min:e,max:o,step:t,value:r,onChange:a,suffix:n="",readout:s=!0,notch:i,ariaLabel:f,disabled:d=!1}){let p=i!==void 0&&Number.isFinite(i)&&i>=e&&i<=o;return h("div",{className:p?"sf-slider has-notch":"sf-slider",style:p?{"--sf-notch":(i-e)/(o-e)}:void 0,children:h(yF,{min:e,max:o,step:t,value:r,suffix:n||void 0,showInput:s,label:f===void 0?void 0:l(f),disabled:d,size:"sm",boxSize:"md",className:"sf-slider-track",onChange:m=>{m!==null&&m!==r&&a(m)}})})}function er(e,o,t,r,a,n,s="",i){return{type:"custom",render:f=>h(re,{label:l(e),icon:wo(o),action:i?i("storedValue"in f?f.storedValue:f.value,f.onChange):void 0,children:Ae({min:t,max:r,step:a,value:typeof f.value=="number"?f.value:n,suffix:s,ariaLabel:e,onChange:f.onChange})})}}function oI(e,o){let{min:t,max:r,step:a=1,unsetLabel:n,hint:s,restTrack:i,unsetMark:f,icon:d}=o;return{type:"custom",render:({value:p,onChange:m})=>{let x=typeof p=="number"?p:null,I=x===null;return h(re,{label:l(e),icon:d?wo(d):void 0,value:I?f||n===void 0?void 0:l(n):`${x}px`,changed:!I,action:f?Rx(f,{changed:!I,onReset:()=>m(null)}):h(Ee,{words:X()?.panel,label:l(e),changed:!I,onReset:()=>m(null)}),hint:typeof s=="string"?l(s):s,children:i?i({min:t,max:r,step:a,px:x,label:e,onChange:m}):Ae({min:t,max:r,step:a,value:x??t,readout:!1,ariaLabel:e,onChange:m})})}}}function zU(e){let o=er("Gap",h(Dx,{}),Yo.min,Yo.max,Yo.step,Zt[e],"px",(t,r)=>h(PF,{inherited:!_i(e,t),onReset:()=>r(void 0),label:"Gap"}));return{type:"custom",[ox]:e,render:t=>o.render({...t,value:zr(e,t.value,t.field?.siteGap),storedValue:t.value,onChange:r=>t.onChange(r)})}}var Nn="Corners";function ef(e){return{type:"custom",render:({value:o,onChange:t})=>{let r=typeof o=="number"&&Number.isFinite(o)?o:null,a=r!==null;return h(re,{label:l(Nn),icon:h(DP,{}),changed:a,action:Rx(e.mark,{changed:a,onReset:()=>t(null)}),hint:e.hint,children:h(NF,{tier:e,px:r,onRadius:t})})}}}function Mn(e){let o=null;try{o=Yi()}catch{o=null}return[o?.values?.[e],t=>o?.onChange(e,t)]}function NF({tier:e,px:o,onRadius:t}){let r=e.useFollowed(),a=e.useClosedReason?e.useClosedReason():null,[n,s]=Mn(e.sidesKey),i=Lo(n)??[...ct];return h(IF,{label:l(Nn),value:i,corners:Eu,onChange:f=>{let d=Lo(f)??[];s(d.length===ct.length?null:d)},radius:o,onRadiusChange:t,radiusMin:Ue,radiusMax:it,radiusStep:e.step??1,radiusPlaceholder:String(r),disabled:a!==null,disabledReason:a??void 0})}function tI(){return Kr({type:"custom",render:()=>h(An,{})},"always")}function MF({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:r}=V(),a=typeof r=="number"?`${r}px`:l("not set");return h(Ee,{words:X()?.panel,label:l(e),changed:o,detail:r==null?l("the built-in corners"):kt(a,l("Styles")),onReset:t})}function HF(){let{cornerRadiusPx:e}=V();return typeof e=="number"?e:Ue}function WF(){return ef({sidesKey:"sectionCornerSides",useFollowed:HF,useClosedReason:()=>aI()?l(rI):null,mark:h(MF,{label:Nn}),hint:h(zF,{})})}var rI="This section runs edge to edge, so its corners sit off the page. Set Width to Content width to use them.";function aI(){return $i(vo())}function zF(){return h(oo,{children:aI()?rI:"Follows Styles \u25B8 Basics \u25B8 Corners until you set a number here."})}function Hn(){return Jo({_gShape:ve("Shape"),sectionCorners:WF(),sectionCornerSides:tI(),sectionBorder:Fx("desktop"),sectionBorderPhone:Fx("mobile")})}var GF=()=>({width:l("Border width"),sides:{top:l("Border top"),right:l("Border right"),bottom:l("Border bottom"),left:l("Border left")},style:l("Border style"),styles:{solid:l("Solid"),dashed:l("Dashed"),dotted:l("Dotted")},color:l("Border color"),unit:"px"});function UF(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function $F(){let e;try{let o=He(V().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||Jd.line}function qF({value:e,onChange:o,tier:t}){let[r]=Mn("sectionBorder"),a=$F(),n=e&&typeof e=="object"?e:{},s=t==="mobile"?r&&typeof r=="object"?r:{}:{},[i,f]=qr(()=>dF(n,s)),d=GF();return h(re,{label:l("Border"),icon:h(LP,{}),action:h(Gx,{each:i,label:l("Each side"),onChange:f}),children:h(lF,{label:l("Border"),value:n,each:i,onChange:p=>o(UF(p)),placeholder:{sides:cF(s),style:s.style??"solid",color:s.color||a},presets:[a],words:d,max:20})})}function Fx(e){return we(e,{type:"custom",render:({value:o,onChange:t})=>h(qF,{value:o,onChange:t,tier:e})})}function Wn(){return{_gMotion:ve("Motion"),sectionAnimation:rf("Entrance",h(Ax,{}),[...cp],Xs)}}function of(){let e=null;try{let{appState:o,selectedItem:t}=jr(a=>a),r=t?.props?.id?String(t.props.id):void 0;e=r?Qs(o?.data,r):null}catch{e=null}return e!==null&&$i(e)}function nI(e){let{cornerRadiusPx:o}=V(),t=of(),r=typeof o=="number"?o:e,a=null;try{let{appState:s,selectedItem:i}=jr(d=>d),f=i?.props?.id?String(i.props.id):void 0;a=f?Qs(s?.data,f):null}catch{a=null}if(t||!a)return r;let n=a.sectionCorners;return Ds(n)?n:r}function jF({label:e,changed:o=!1,onReset:t=()=>{}}){let r=of(),a=nI(Ue),n=r?"Site":"Section";return h(Ee,{words:X()?.panel,label:l(e),changed:o,detail:kt(`${a}px`,r?l("Styles"):l("the section")),onReset:t})}function KF(){return h(oo,{children:of()?l("The section is full width, so this card follows Styles \u25B8 Basics \u25B8 Corners."):l("Follows the section's Corners until you set a number here.")})}function VF(){return ef({sidesKey:"cardCornerSides",useFollowed:()=>nI(Ue),mark:h(jF,{label:Nn}),hint:h(KF,{})})}function YF(){return{type:"custom",render:()=>h(_u,{})}}function GU(){return{_gShape:ve("Shape"),cardCorners:VF(),cardCornerSides:tI(),cardCornersApplyAll:YF()}}function UU(){return Zo("Justify",h(EP,{}),Li,Li[0].value)}function $U(){return Zo("Item alignment",h(PP,{}),jm,"stretch")}function qU(){return Zo(Km,h(rF,{}),Ri,Ri[0].value)}function jU(){return{type:"custom",render:({value:e,onChange:o})=>{let t=kn.find(r=>r.value===e)??kn[0];return h(re,{label:l(Ai),icon:h(Bx,{}),value:l(t.label),children:h($x,{className:"sf-gallery-layouts",label:l(Ai),value:t.value,onChange:o,options:kn.map(r=>({value:r.value,label:l(r.label),picture:h("span",{className:"sf-gallery-pic",children:XF(r.weights).map((a,n)=>h("i",{style:{gridColumn:`span ${a}`}},n))})}))})})}}}function XF(e){if(!e)return[3,4];let o=e.reduce((t,r)=>t+r,0);return e.map(t=>Math.round(t/o*12))}function KU(){return Zo(Xm,h(Dx,{}),Di,Di[0].value)}function VU(){return er(Vm,h(YP,{}),Bi,Ym,1,Bi)}function YU(e){let o=rf(zm,Zi("`Direction` names how a container's children run \u2014 a MODIFIER, not a thing. doc/naming.md N10.1 gives the idea a dash in its Glyph column; editor-shell's own `direction` meaning says the bare row is CORRECT and not an omission (SS seat, 2026-09-11)."),Um(e),vn(e,void 0));return{type:"custom",render:t=>o.render({...t,value:vn(e,t.value),onChange:r=>t.onChange(r)})}}function XU(e,o,t,r,a,n){return{type:"custom",render:({value:s,onChange:i})=>h(re,{label:l(e),icon:h(js,{noun:n}),action:h(Ee,{words:X()?.panel,label:l(e),changed:!dx(s),detail:l("the Text style in Styles"),onReset:()=>i(cx),defaultAction:{onPress:()=>i(On),title:l("Keep this section's own built-in size"),icon:h(RP,{})}}),children:Ae({min:o,max:t,step:r,value:typeof s=="number"?s:a,suffix:"px",ariaLabel:e,onChange:i})})}}function ZU(){return{_gCellWidth:ve("Cell width"),gridSpan:Zo("Positions",h(Bx,{}),[{label:"Auto",value:""},...Array.from({length:Za},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function vo(){let e=null;try{e=jr(o=>o).selectedItem}catch{e=null}return e?.props??{}}function ZF({min:e,max:o,step:t,px:r,label:a,onChange:n,desktopKey:s,fallback:i}){let f=vo()[s],d=sn(void 0,f,i);return h(oo,{children:Ae({min:e,max:o,step:t,value:sn(r,f,i),readout:!1,ariaLabel:a,notch:d,onChange:n})})}function QF({label:e,desktopKey:o,fallback:t,changed:r=!1,onReset:a=()=>{}}){let n=vo()[o],s=sn(void 0,n,t);return h(Ee,{words:X()?.panel,label:l(e),changed:r,detail:l("{value} on desktop",{value:`${s}px`}),onReset:a})}function JF(e){return oI(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unsetLabel:"Follows Desktop",unsetMark:h(QF,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback}),restTrack:o=>h(ZF,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}function QU(e){return{type:"custom",render:({value:o,onChange:t})=>h(o1,{...e,value:o,onChange:t})}}function e1({label:e,icon:o,options:t,value:r,resolved:a,restWord:n,onChange:s}){let i=t.some(f=>f.value===r);return h(re,{label:l(e),icon:wo(o),action:h(Ee,{words:X()?.panel,label:l(e),changed:i,detail:l("{value} on desktop",{value:l(n)}),onReset:()=>s(void 0)}),children:qn({options:t,value:i?r:a,onChange:f=>s(f),ariaLabel:e})})}function o1({label:e,icon:o,options:t,desktopKey:r,resolve:a,value:n,onChange:s}){let i=vo()[r],f=a(void 0,i),d=t.find(p=>p.value===f)?.label??"";return h(e1,{label:e,icon:o,options:t,value:n,resolved:f,restWord:d,onChange:s})}var t1={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},r1={Top:Wx,Bottom:Nx,Left:Mx,Right:Hx},a1=e=>{let o=r1[e];return h(o,{})};function JU(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",r=e.group!==!1,a=v=>t1[v],n=v=>er(a("Top"),h(Wx,{}),Je.min,Je.max,Je.step,v,"px"),s=(v,k,C,g=Je)=>we("mobile",JF({label:a(v),icon:a1(v),desktopKey:k,min:g.min,max:g.max,step:g.step,fallback:C})),i=e.top??Je.min,f=e.bottom??Je.min,d="sectionPaddingLeft",p="sectionPaddingRight",m=e.sideBounds??Je,x=e.side??m.min,I=e.sidePhone??x,y=e.phone===!0,w=v=>y?we("desktop",v):v;return Jo({...r?{_gSpacing:ve("Padding")}:{},[o]:w(n(i)),...y?{[Ao(o)]:s("Top",o,i)}:{},...e.only==="top"?{}:{[t]:w(er(a("Bottom"),h(Nx,{}),Je.min,Je.max,Je.step,f,"px")),...y?{[Ao(t)]:s("Bottom",t,f)}:{}},...e.sides?{[d]:w(er(a("Left"),h(Mx,{}),m.min,m.max,m.step,x,"px")),...y?{[Ao(d)]:s("Left",d,I,m)}:{},[p]:w(er(a("Right"),h(Hx,{}),m.min,m.max,m.step,x,"px")),...y?{[Ao(p)]:s("Right",p,I,m)}:{}}:{}})}var $r=["top","right","bottom","left"],n1={top:"sectionPaddingTop",right:"sectionPaddingRight",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft"},Ex=e=>typeof e=="number"?e:null;function l1(e,o,t){let r={};for(let a of $r)t[a]!==o[a]&&(r[e[a]]=t[a]??void 0);return r}function s1({tier:e,o}){let t=null;try{t=Yi()}catch{t=null}let r=t?.values??{},a=e==="mobile"?o.phoneKeys:o.keys,n=Object.fromEntries($r.map(d=>[d,Ex(r[a[d]])])),s=Object.fromEntries($r.map(d=>[d,String(e==="mobile"?Ex(r[o.keys[d]])??o.fallback[d]:o.fallback[d])])),[i,f]=qr(()=>fF(n,s));return h(re,{label:l("Padding"),icon:h(VP,{}),action:h(Gx,{each:i,label:l("Each side"),onChange:f}),children:h(iF,{label:l("Padding"),each:i,value:n,placeholder:s,min:o.min,max:o.max,step:o.step,onChange:d=>{let p=l1(a,n,d);Object.keys(p).length&&t?.onChangeMany(p)},words:{sides:{top:l("Padding top"),right:l("Padding right"),bottom:l("Padding bottom"),left:l("Padding left")},vertical:l("Top and bottom"),horizontal:l("Left and right"),unit:"px"}})})}function zn(e={}){let o={...n1,...e.keys},t={keys:o,phoneKeys:Object.fromEntries($r.map(i=>[i,Ao(o[i])])),fallback:{top:0,right:0,bottom:0,left:0,...e.fallback},min:e.min??0,max:e.max??200,step:e.step??4},r=e.phone!==!1,a=i=>{let f={type:"custom",render:()=>h(s1,{tier:i,o:t})};return r?we(i,f):f},n=()=>Kr({type:"custom",render:()=>h(An,{})},"always"),s=$r.filter(i=>i!=="top");return Jo({...e.group===!1?{}:{_gSpacing:ve("Padding")},[t.keys.top]:a("desktop"),...r?{[t.phoneKeys.top]:a("mobile")}:{},...Object.fromEntries(s.map(i=>[t.keys[i],{...n(),reachedBy:t.keys.top}])),...r?Object.fromEntries(s.map(i=>[t.phoneKeys[i],we("mobile",n())])):{}})}var Ox=e=>typeof e=="number"?e:null;function i1(e,o,t){let r={};for(let a of["x","y"])t[a]!==o[a]&&(r[e[a]]=t[a]??void 0);return r}function f1({o:e}){let o=null;try{o=Yi()}catch{o=null}let t=o?.values??{},r={x:Ox(t[e.keys.x]),y:Ox(t[e.keys.y])},a=l(e.label??"Position"),n=!!(r.x||r.y),s=d=>{let p=i1(e.keys,r,d);Object.keys(p).length&&o?.onChangeMany(p)},i=h(gF,{label:a,value:r,onChange:s,words:{x:l("Left and right"),y:l("Up and down"),unit:"px"},placeholder:{x:"0",y:"0"},min:e.min,max:e.max,step:e.step??1}),f=h(Ee,{words:X()?.panel,label:a,changed:n,detail:"0 px, 0 px",onReset:()=>s({x:null,y:null})});return e.label===null?Do("div",{className:"sf-position-line",children:[i,f]}):h(re,{label:a,icon:h(KP,{}),changed:n,action:f,children:i})}function e$(e){return{[e.keys.x]:{type:"custom",render:()=>h(f1,{o:e})},[e.keys.y]:{...Kr({type:"custom",render:()=>h(An,{})},"always"),reachedBy:e.keys.x}}}var c1={contained:"Contained",page:"Page",full:"Full"},Rn="Width";function Gn(e,o=hx,t=!0){let r=o.map(a=>({label:Jt[a]??c1[a],value:a}));return Jo({...t?{_gWidth:ve(Rn)}:{},widthMode:{type:"custom",render:({onChange:a,field:n})=>h(re,{label:l(Rn),icon:h(tF,{}),action:t?h(FF,{inherited:n?.inherited??!1,onReset:()=>a(Ui),label:Rn}):void 0,children:qn({options:r,value:n?.currentValue||e,onChange:a,ariaLabel:Rn})})}})}function Un(){let e=r=>({type:"custom",render:({value:a,onChange:n})=>h(re,{label:Xt,icon:wo(h($P,{})),action:r?r(n):void 0,children:qn({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:["auto","fixed","screen"].includes(a)?a:"auto",onChange:n,ariaLabel:Xt})})}),o=()=>({type:"custom",render:({value:r,onChange:a,field:n})=>{let s=n?.unit==="%"?"%":"px",i=s==="%"?Pi:Ti;return h("div",{className:"sf-field",children:Ae({min:i.min,max:i.max,step:i.step,value:typeof r=="number"?r:i.fallback,suffix:s,ariaLabel:Xt,onChange:a})})}}),t=()=>rf("Unit",h(_x,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");return Jo({_gHeight:ve(Xt),sectionHeightMode:we("desktop",e()),sectionHeightValue:we("desktop",o()),sectionHeightUnit:we("desktop",t()),sectionHeightModePhone:we("mobile",e(r=>h(d1,{onClear:()=>r(void 0)}))),sectionHeightValuePhone:we("mobile",o()),sectionHeightUnitPhone:we("mobile",t())})}function d1({onClear:e}){let o=vo(),t=Fi(o),r=Cn(o),a=l("{value} on desktop",{value:r.mode==="auto"?l("Auto"):`${r.value}${r.unit}`});return h(Ee,{words:X()?.panel,label:l(Xt),changed:t,detail:a,onReset:e})}function tf(){let e=t=>({type:"custom",render:({value:r,onChange:a,id:n,name:s})=>h(u1,{value:r,onChange:a,labelId:`${n??s??"stickTop"}-label`,phone:t})}),o=()=>({type:"custom",render:({value:t,onChange:r})=>h("div",{className:"sf-field",children:Ae({min:Vo.min,max:Vo.max,step:Vo.step,value:typeof t=="number"?t:Vo.fallback,suffix:"px",ariaLabel:l("Distance from top"),onChange:r})})});return{_gStick:ve(wn),stickTop:we("desktop",e(!1)),stickTopDistance:we("desktop",o()),stickTopPhone:we("mobile",e(!0)),stickTopDistancePhone:we("mobile",o())}}function u1({value:e,onChange:o,labelId:t,phone:r}){let a=vo(),n=Oi(a),s=r?n.phone:e===!0;return h(re,{label:l(wn),labelId:t,icon:wo(h(QP,{})),action:Do(oo,{children:[r?h(Ee,{words:X()?.panel,label:l(wn),changed:Ei(a),detail:l("{value} on desktop",{value:n.desktop?`${n.desktopDistance}px`:l("Off")}),onReset:()=>o(void 0)}):null,h(Ux,{checked:s,onChange:o,ariaLabelledBy:t})]})})}var Lx="e.g. about";function $n(){return{_gAnchor:ve("Anchor"),anchor:Pt({control:"plainText",label:"Name",placeholder:Lx},{type:"custom",render:({value:e,onChange:o})=>h(ap,{value:e,onChange:o,nameBox:(t,r)=>h(Tt,{value:t,onChange:r,label:"Name",placeholder:Lx,hideable:!1,markup:!1})})})}}function o$(e,o,t){return{type:"custom",render:({value:r,onChange:a,id:n,name:s})=>{let i=`${n??s??e}-datetime`,f=Date.parse(typeof r=="string"?r:"");return h(re,{label:l(e),icon:o,htmlFor:i,hint:t===void 0?void 0:l(t),children:h(hF,{id:i,value:Number.isFinite(f)?new Date(f):null,onChange:d=>a(d?d.toISOString():"")})})}}}function vt(e,o,t){return{type:"custom",render:({value:r,onChange:a,id:n,name:s})=>{let i=typeof r=="boolean"?r:o,f=`${n??s??e}-label`;return h(re,{label:l(e),labelId:f,icon:t,action:h(Ux,{checked:i,onChange:a,ariaLabelledBy:f})})}}}function t$(){return{type:"custom",render:({value:e,onChange:o,id:t,name:r})=>{let a=`${String(t??r??"pageBackground")}-colour`;return h(qe,{label:l("Background"),icon:h(zx,{}),id:a,value:Ks(e),onChange:o})}}}var r$={follows:"fill"},a$={follows:"ink"};function n$(e,o,t){if(typeof o!="string"){let r=o.follows;return{type:"custom",render:({value:a,onChange:n})=>h(p1,{label:e,part:r,icon:t,value:a,onChange:n})}}return{type:"custom",render:({value:r,onChange:a})=>h(qe,{label:l(e),icon:t,value:r||o,onChange:a})}}function p1({label:e,part:o,icon:t,value:r,onChange:a}){let n=au(V().theme),s=o==="fill"?n.fill:n.ink;return h(nn,{label:l(e),icon:t,value:r||"",inherited:s,resetTo:kt(s.toUpperCase(),l("Styles")),onChange:a,onReset:()=>a("")})}var m1=[{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 lI({label:e,value:o,onChange:t,points:r=m1}){let a=r.map(n=>({...n,label:l(n.label),...n.title?{title:l(n.title)}:null}));return h(xF,{label:l(e),value:o,points:a,onChange:t})}function l$(){return Kr({type:"custom",render:()=>h(An,{})},"always")}var x1=zs([]);function s$(e,{stacking:o,fallback:t=Qa}){return{type:"custom",render:({value:r,onChange:a})=>{let n=$o.includes(r)?r:t;return o?h(I1,{label:e,value:n,onChange:a}):sI({label:e,value:n,onChange:a,points:x1})}}}function I1({label:e,value:o,onChange:t}){let{appState:r,selectedItem:a}=jr(i=>i),n=a?.props?.id?String(a.props.id):void 0,s=n?Us(r?.data,n):[];return sI({label:e,value:o,onChange:t,points:zs(s,n)})}function sI({label:e,value:o,onChange:t,points:r}){let a=r.find(n=>n.disabled);return h(re,{label:l(e),icon:h(XP,{}),hint:a?.title?l(a.title):void 0,children:lI({label:e,value:dt(o),onChange:t,points:r})})}var i$={top:h(HP,{}),right:h(MP,{}),bottom:h(_P,{}),left:h(NP,{})};function f$(e,o,t,r,a,n){let s=p=>o.find(m=>m.value===p),i=p=>({value:p,label:"",disabled:!0,title:r}),f=p=>{let m=o.find(I=>I.cell===p);if(!m)return i(`missing-${p}`);let x=n?.[p];return x?{value:m.value,label:m.label,icon:x}:{value:m.value,label:m.label}},d=[i("corner-top-left"),f("top"),i("corner-top-right"),f("left"),i("centre"),f("right"),i("corner-bottom-left"),f("bottom"),i("corner-bottom-right")];return{type:"custom",render:({value:p,onChange:m})=>{let x=o.some(I=>I.value===p)?p:t;return h(re,{label:l(e),icon:a,value:s(x)?.label?l(s(x).label):"",children:lI({label:e,value:x,onChange:m,points:d})})}}}var h1="\0note";function Zo(e,o,t,r,a){return{type:"custom",options:t,fallback:r,...a?{note:a}:{},render:({value:n,onChange:s,field:i})=>{let f=i.options??t,d=i.fallback??r,p=f.some(m=>m.value===n)?n:d;return h(re,{label:l(e),icon:wo(o),children:h(uF,{value:p,ariaLabel:l(e),onChange:s,options:[...a?[{label:l(a),value:h1,disabled:!0}]:[],...f.map(m=>({label:l(m.label),value:m.value}))]})})}}}function c$(e,o,t){return{type:"custom",options:o,render:({value:r,onChange:a,field:n})=>h(Gp,{label:e,options:(n.options??o).map(s=>({...s,label:l(s.label)})),value:Array.isArray(r)?r:[],onChange:a,...t?{emptyLabel:l(t)}:{}})}}function d$(e,o={}){return{type:"custom",render:({value:t,onChange:r})=>{let a={value:t,onChange:r,...o};return h(e,{...a})}}}function qn({options:e,value:o,onChange:t,ariaLabel:r,disabled:a=!1}){return h(sF,{options:e.map(n=>n.picture?{id:n.value,label:n.picture,title:l(n.title??n.label)}:{id:n.value,label:l(n.label),title:n.title===void 0?void 0:l(n.title)}),value:o,onChange:t,ariaLabel:l(r),disabled:a})}var u$=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function rf(e,o,t,r){let a=t.map(n=>typeof n=="string"?{label:n,value:n}:n);return{type:"custom",render:({value:n,onChange:s,field:i})=>h(re,{label:l(e),icon:wo(o),children:qn({options:a,value:a.some(f=>f.value===n)?n:n||i?.currentValue||r,onChange:s,ariaLabel:e})})}}function p$(e,o,t,r={}){return{type:"custom",[vP]:!0,render:({value:a,onChange:n})=>h(Wp,{value:a||"",onChange:n,label:e,accept:o,placeholder:t,focusKey:r.focus,focusWhen:r.focusWhen})}}function m$({value:e,onChange:o,label:t}){let r=e||{},a=!!r.pending,n=a?"var(--fg-dim, #888)":r.ok?"#1d9e75":"#d85a30",s=!!Se(wF()).geocode,i=(f,d)=>o({...r,[f]:d===""?void 0:Number(d)});return Do(re,{label:l(t),icon:h(ji,{}),children:[s&&Do(oo,{children:[h("button",{type:"button",disabled:a,onClick:()=>o({...r,pending:!0,ok:!1,status:"Finding\u2026"}),style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",gap:6,padding:"8px 10px",fontSize:13,cursor:a?"default":"pointer",opacity:a?.6:1,border:"1px solid var(--border-strong, #ccc)",borderRadius:6,background:"transparent",color:"inherit"},children:a?l("Finding\u2026"):l("Find coordinates")}),r.status&&h("div",{style:{marginTop:6,fontSize:12,lineHeight:1.4,color:n},children:l(r.status)}),h("div",{style:{marginTop:6,fontSize:11,color:"var(--fg-dim, #999)"},children:l("Coordinates from OpenStreetMap")})]}),h("button",{type:"button",onClick:()=>o({...r,manual:!r.manual}),style:{marginTop:8,padding:0,border:"none",background:"none",font:"inherit",fontSize:12,color:"var(--sf-accent, #2563eb)",cursor:"pointer",textDecoration:"underline"},children:r.manual?l("Hide manual coordinates"):l("Enter coordinates manually")}),r.manual&&Do("div",{style:{marginTop:8,display:"grid",gap:8},children:[h(re,{label:l("Latitude"),icon:h(ji,{}),children:h("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"34.0990198"}),value:typeof r.lat=="number"?r.lat:"",onChange:f=>i("lat",f.target.value)})}),h(re,{label:l("Longitude"),icon:h(ji,{}),children:h("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"-117.9842833"}),value:typeof r.lng=="number"?r.lng:"",onChange:f=>i("lng",f.target.value)})})]})]})}function g1(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function y1(e,o,t){let r=e.map(a=>({text:a?.text??""}));return o===null||o<0||o>=e.length?r:r.map((a,n)=>n===o?{text:t}:a)}function b1(e,o,t){if(t===null||t>=o.length)return null;for(let r=0;r<t;r+=1)if(e[r]!==o[r])return null;return e[t]!==o[t]&&o.includes(e[t])||e[t]!==o[t]&&o.length!==e.length?null:t}var af={label:"Ticker items",icon:h(jP,{})};function x$(e,o,t,r){return{type:"custom",[_o]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:r},render:({value:a,onChange:n})=>h(nf,{label:e,icon:wo(o),items:Array.isArray(a)?a:[],placeholder:t,onChange:n,markup:r==="markup"})}}function nf({label:e,icon:o,items:t,placeholder:r,onChange:a,markup:n=!1}){let s=Vi(null),[i,f]=qr(null),d=m=>m.map(x=>({text:x?.text??""})),p=m=>{let x=b1(t,m,i);x===null&&(s.current=null),f(x),a(d(m))};return h(pF,{label:l(e),icon:o,noun:l("item"),items:t,onChange:p,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?h(ti,{target:s,value:g1(t,i),onChange:m=>a(y1(t,i??-1,m)),disabled:i===null,label:i===null?l("Formatting \u2014 click a row first"):l("Formatting \u2014 row {n}",{n:i+1})}):void 0,renderRow:(m,x,I)=>h("input",{type:"text",className:n&&i===x?"sf-list-marking":void 0,value:m?.text??"",placeholder:l(r),"aria-label":l("{label} {n}",{label:l(e),n:x+1}),onChange:y=>I({text:y.target.value}),onFocus:y=>{s.current=y.currentTarget,f(x)}})})}function iI(e,o){let t=`${e.label} \u2014 row ${o+1}`;return Pt({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:r,onChange:a})=>h(Tt,{value:r,onChange:a,label:l("{label} \u2014 row {n}",{label:l(e.label),n:o+1}),placeholder:e.placeholder,hideable:!1,markup:e.rendering==="markup"})})}function fI(e){return{_gCards:ve("Cards"),coverIndex:Zo("Cover image",h(qP,{}),Dp,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:_F("Image background",En),cardImage:C1(),spinOnHover:vt("Rotate on hover",e?.spinDefault??!0,h(JP,{}))}}function cI(){return{outline:Zo("Card outline",h(eF,{}),fi,si),indexBadge:Zo("Card number",h(_x,{}),ii,li),showBadge:vt("Product badge",!0,h(js,{noun:"tag"}))}}function dI(e){let o=e&&"bottomDefault"in e?e.bottomDefault:!0,t=e&&"defaults"in e?e.defaults:{showCardSizes:o,showCardBuy:o,showCardPage:o};return{_gShowOnCard:ve("Show on a card"),showCardPrice:vt("Price",!0,h(WP,{})),showCardFinishes:vt("Finish swatches",!0,h(zP,{})),showCardSizes:vt("Sizes",t.showCardSizes,h(ZP,{})),showCardBuy:vt("Buy button",t.showCardBuy,h(AP,{})),showCardPage:vt("Page button",t.showCardPage,h(zx,{}))}}function I$(e,o="display"){let t=Ao(o);return{[o]:we("desktop",{type:"custom",render:({value:r,onChange:a})=>h(uI,{parts:e,changed:up(r),shown:n=>an(r,n),onPress:(n,s)=>a(mp(r,n,s)),onReset:()=>a(void 0)})}),[t]:we("mobile",{type:"custom",render:({value:r,onChange:a})=>h(S1,{parts:e,desktopKey:o,value:r,onChange:a})})}}function uI({parts:e,changed:o,shown:t,onPress:r,onReset:a,detail:n}){let s=l("Display");return h(re,{label:s,icon:h(FP,{}),changed:o,action:h(Ee,{words:X()?.panel,label:s,changed:o,detail:n,onReset:a}),children:h(mF,{label:s,items:e.map(i=>({id:i.id,label:l(i.label),shown:t(i.id)})),onChange:r})})}function S1({parts:e,desktopKey:o,value:t,onChange:r}){let a=vo()[o];return h(uI,{parts:e,changed:pp(t),shown:n=>Js(a,t,n),onPress:(n,s)=>r(xp(t,n,s)),onReset:()=>r(fn),detail:l("the same as Desktop")})}function C1(){return oI("Card image",{min:Ue,max:it,step:Nu,hint:"Rounds the picture. The card's own corner is in Styles."})}function h$(){return ef({sidesKey:"cornerSides",step:Mu,useFollowed:()=>Ue,mark:h(w1,{label:Hu}),hint:l("Rounds the picture. Left alone it stays square.")})}function w1({label:e,changed:o=!1,onReset:t=()=>{}}){return h(Ee,{words:X()?.panel,label:l(e),changed:o,onReset:t})}function g$(){return{type:"custom",render:({value:e,onChange:o})=>h(v1,{value:typeof e=="string"?e:"",onChange:o})}}function v1({value:e,onChange:o}){let[t,r]=qr(null),a=Ns.filter(s=>t===null||Ro[s].across===t),n=e&&e in Ro?Ro[e]:null;return Do(oo,{children:[h(re,{label:l("Photos in a row"),icon:h(BP,{}),children:Do("div",{className:"sf-gallery-filter",children:[h("button",{type:"button","aria-pressed":t===null,onClick:()=>r(null),children:l("All")}),zu.map(s=>h("button",{type:"button","aria-pressed":t===s,onClick:()=>r(s),children:s},s))]})}),h(re,{label:l("Layout"),icon:h(GP,{}),value:n?l(n.label):l("Not chosen"),hint:l("{n} of {total} layouts",{n:a.length,total:Ns.length}),children:h($x,{className:"sf-gallery-layouts",label:l("Layout"),value:e,onChange:o,onClear:()=>o(""),options:a.map(s=>({value:s,label:l(Ro[s].label),picture:h("span",{className:"sf-gallery-pic",children:Ro[s].desktop.map(([i,f],d)=>h("i",{style:{gridColumn:`span ${i}`,gridRow:`span ${f}`}},d))})}))})})]})}import{jsx as jn,Fragment as k1,jsxs as pI}from"react/jsx-runtime";import{Button as mI,Dialog as T1}from"efficient-shell/ui";function P1(e){return $e("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 xI({count:e,onCancel:o,onConfirm:t}){return pI(T1,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:l("Clear this site\u2019s colors?"),footer:pI(k1,{children:[jn(mI,{variant:"secondary",onClick:o,children:l("Cancel")}),jn(mI,{variant:"danger",onClick:t,children:l("Clear colors")})]}),children:[jn("p",{children:P1(e)}),jn("p",{className:"mt-2 font-medium",children:l("This cannot be undone.")})]})}var A1=Zi("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"),B1="Reset color",D1={selected:0,themes:[]};function _1(e){e(D1)}function gI({value:e,onChange:o}){let t=e?.themes??[],r=t.length===0,a=He(e),[n,s]=hI(!1),i=L1(),[f,d]=hI(null),p=(k,C)=>{o({...a,themes:a.themes.map((g,b)=>b===k?C:g)})},m=zt(a).accent,x=new Set(a.themes.map(k=>k.brandInk).filter(Boolean)),I=eu.filter(k=>!x.has(k)).map(k=>ou(m,k)),y=[...a.themes,...I],w=k=>{if(k<a.themes.length)return o({...a,selected:k});let C=[...a.themes,y[k]];o({...a,themes:C,selected:C.length-1})},v=()=>{let k=[...a.themes,{...Io(a.themes[a.selected])}];o({...a,themes:k,selected:k.length-1}),d(k.length-1)};return II(F1,{children:[r?null:or(O1,{label:l(B1),icon:wo(A1),labelId:"sf-theme-reset",action:or(E1,{label:l("all theme colors"),words:i.panel,changed:!0,onReset:()=>s(!0)})}),n&&or(xI,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),_1(o)}}),or("div",{className:"sf-theme-list",role:"radiogroup","aria-label":l("Theme"),children:y.map((k,C)=>or(pn,{index:C,colors:k,selected:C===a.selected,open:f===C&&C<a.themes.length,editable:C<a.themes.length,onPick:()=>w(C),onEdit:()=>d(g=>g===C?null:C),onChangeColors:g=>p(C,g)},C))}),II("button",{type:"button",onClick:v,className:"sf-theme-add",children:[or(R1,{size:12}),l("Add new theme")]})]})}import{jsx as Kn}from"react/jsx-runtime";import{SettingsDefaultReset as N1,SettingsField as M1}from"efficient-easel/panel";import{SquareIcon as H1}from"efficient-easel/icons";var W1="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",lf="Corners";function yI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Kn(M1,{label:l(lf),icon:Kn(H1,{}),value:r?l("Default"):`${e}px`,changed:!r,action:Kn(N1,{words:X()?.panel,label:l(lf),changed:!r,detail:l("the built-in corners"),onReset:()=>o(null)}),hint:t?l(W1):void 0,children:Kn(Ae,{min:Ue,max:it,step:1,value:e??Ue,readout:!1,ariaLabel:l(lf),onChange:o})})}import{jsx as Vr}from"react/jsx-runtime";import{SettingsDefaultReset as z1,SettingsField as G1,SettingsSegmented as U1}from"efficient-easel/panel";import{ShadowIcon as $1}from"efficient-easel/icons";var sf={none:"None",soft:"Soft",lifted:"Lifted"},q1="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",j1={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)"},K1={labelsPx:90.25,widestLabelPx:34.6};function bI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??Ps;return Vr(G1,{label:l("Card shadow"),icon:Vr($1,{}),value:l(sf[a]),changed:!r,action:Vr(z1,{words:X()?.panel,label:l("Card shadow"),changed:!r,detail:l(sf[Ps]),onReset:()=>o(null)}),hint:t?l(q1):void 0,children:Vr(U1,{options:cu.map(n=>({id:n,label:l(sf[n]),icon:Vr("span",{className:"sf-shadow-chip",style:{boxShadow:j1[n]}})})),value:a,ariaLabel:l("Card shadow"),fit:K1,onChange:o})})}import{jsx as SI}from"react/jsx-runtime";import{ShadowIcon as V1}from"efficient-easel/icons";var Y1="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 CI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return SI(nn,{label:l("Shadow color"),icon:SI(V1,{}),value:e??"",inherited:Es,resetTo:Es,onChange:o,onReset:()=>o(null),hint:t?l(Y1):void 0})}import{jsx as Vn}from"react/jsx-runtime";import{SettingsDefaultReset as X1,SettingsField as Z1}from"efficient-easel/panel";import{AlignSeparateIcon as Q1}from"efficient-easel/icons";var J1="The space between the blocks inside a row, a grid or a box. Default means each one keeps the spacing it already has.",ff="Block gap",eE=Zt.Grid;function wI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Vn(Z1,{label:l(ff),labelId:"sf-block-gap",icon:Vn(Q1,{}),value:r?l("Default"):`${e}px`,changed:!r,action:Vn(X1,{words:X()?.panel,label:l(ff),changed:!r,detail:l("each block's own spacing"),onReset:()=>o(null)}),hint:t?l(J1):void 0,children:Vn(Ae,{min:wt.min,max:wt.max,step:wt.step,value:r?eE:e,readout:!1,ariaLabel:l(ff),onChange:o})})}import{jsx as Yn}from"react/jsx-runtime";import{SettingsDefaultReset as oE,SettingsField as tE,SettingsSegmented as rE}from"efficient-easel/panel";import{HoverIcon as aE}from"efficient-easel/icons";var cf={none:"None",lift:"Lift",highlight:"Highlight"},nE="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 vI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??Fs;return Yn(tE,{label:l("Hover effect"),icon:Yn(aE,{}),value:l(cf[a]),changed:!r,action:Yn(oE,{words:X()?.panel,label:l("Hover effect"),changed:!r,detail:l(cf[Fs]),onReset:()=>o(null)}),hint:t?l(nE):void 0,children:Yn(rE,{options:du.map(n=>({id:n,label:l(cf[n])})),value:a,ariaLabel:l("Hover effect"),onChange:o})})}import{jsx as Xn}from"react/jsx-runtime";import{SettingsDefaultReset as lE,SettingsField as sE,SettingsSegmented as iE}from"efficient-easel/panel";import{DropIcon as fE}from"efficient-easel/icons";var df="Photography",kI={shot:"As shot",mono:"Black and white"},uf=[{grayscale:!1,label:kI.shot},{grayscale:!0,label:kI.mono}],cE="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function TI({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??!1;return Xn(sE,{label:l(df),icon:Xn(fE,{}),value:l(uf.find(n=>n.grayscale===a).label),changed:!r,action:Xn(lE,{words:X()?.panel,label:l(df),changed:!r,detail:l(uf.find(n=>!n.grayscale).label),onReset:()=>o(null)}),hint:t?l(cE):void 0,children:Xn(iE,{options:uf.map(n=>({id:n.grayscale,label:l(n.label)})),value:a,ariaLabel:l(df),onChange:o})})}import{jsx as pf}from"react/jsx-runtime";import{useId as dE}from"react";import{SettingsField as uE,SettingsSwitch as pE}from"efficient-easel/panel";import{ShareIcon as mE}from"efficient-easel/icons";var xE="Share button",IE="On every blog post.";function PI({value:e,onChange:o,showHint:t=!0}){let r=dE();return pf(uE,{label:l(xE),labelId:r,icon:pf(mE,{}),action:pf(pE,{checked:e===!0,onChange:o,ariaLabelledBy:r}),hint:t?l(IE):void 0})}import{jsx as Zn}from"react/jsx-runtime";import{SettingsDefaultReset as hE,SettingsField as gE}from"efficient-easel/panel";import{PaddingXIcon as yE}from"efficient-easel/icons";var mf="Side space",xf=Co.default,bE="The room left at the left and right edge of every page.";function FI({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Zn(gE,{label:l(mf),labelId:"sf-side-space",icon:Zn(yE,{}),value:`${e??xf}px`,changed:!r,action:Zn(hE,{words:X()?.panel,label:l(mf),changed:!r,detail:`${xf}px`,onReset:()=>o(null)}),hint:t?l(bE):void 0,children:Zn(Ae,{min:Co.min,max:Co.max,step:Co.step,value:e??xf,readout:!1,ariaLabel:l(mf),onChange:o})})}import{jsx as If}from"react/jsx-runtime";import{BACKGROUND_WIDTHS as A7,SettingsBackgroundWidth as SE,SettingsContentWidth as CE}from"efficient-easel/panel";var EI="Width",wE="Background width",vE="Content width";var Qn=e=>l(Jt[e==="content"?"page":"full"]),kE=400,OI="Content cannot be wider than the background.",LI="The width of every section's background, until the section sets its own.",RI="The width of every section's content, until the section sets its own.",AI="On phones, content always fills the screen.";function Jn({value:e,changed:o,detail:t,onChange:r,onReset:a,disabled:n=!1,hint:s,labelId:i}){return If(SE,{value:e,changed:o,detail:t,onChange:r,onReset:a,disabled:n,hint:s?l(s):void 0,labelId:i,words:{label:l(wE),full:Qn("full"),content:Qn("content")},resetWords:X()?.panel})}function el({mode:e,px:o,max:t=pe.max,min:r=kE,changed:a,detail:n,onMode:s,onPx:i,onReset:f,fullClosed:d=!1,disabled:p=!1,hint:m,labelId:x}){let I=l(vE),y=e!=="full"?If(Ae,{min:r,max:t,step:pe.step,value:Math.min(Math.max(o,r),t),onChange:i,suffix:"px",ariaLabel:I,disabled:p}):null;return If(CE,{mode:s?e:void 0,onMode:s,number:y,changed:a,detail:n,onReset:f,fullClosed:d,disabled:p,hint:m?l(m):void 0,labelId:x,words:{label:I,full:Qn("full"),content:Qn("content")},resetWords:X()?.panel})}import{jsx as bh}from"react/jsx-runtime";import{TextStyleItem as MO,TextStylesGroup as HO}from"efficient-easel/text-styles";import{jsx as RO}from"react/jsx-runtime";import{useState as AO}from"react";import{TextStylesList as BO}from"efficient-easel/text-styles";import{usePreviewDevice as DO}from"efficient-easel/draw/client";import{defaultTextStyles as TO,textStyleCaseCss as PO}from"efficient-easel/text-styles/model";import{textStyleCaseCss as _E,textStyleCaseOfCss as NE}from"efficient-easel/draw";function hf(e,o){return o?`${e}[${o.index}].${o.rowKey}`:e}function to(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}}import{decodePartId as nl,encodePartId as ll}from"efficient-easel/draw";import{LINK_FIELD_MARKER as UI,SCAFFOLD_FIELD_MARKER as zI,TEXT_FIELD_MARKER as sl}from"efficient-easel/draw";import{readHidable as $I}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as RE}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as LE}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as BI}from"efficient-easel/draw";import{readHidable as DI}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as TE}from"efficient-easel/draw";var PE=TE,FE=["text","textarea"],EE=["textarea","plainTextarea"];function OE(e){return!e||typeof e!="object"?null:e[BI]?.control??null}function tr(e){let o=OE(e);return o&&PE.includes(o)?o:null}function ol(e){return EE.includes(e)}function _I(e){return!e||typeof e!="object"?void 0:e[BI]?.placeholder}function tl(e){return DI(e).text}function gf(e,o,t){return FE.includes(e)?{text:t,hidden:DI(o).hidden}:t}function NI(e,o,t,r){return tl(e[o])===r?null:{...e,[o]:gf(t,e[o],r)}}function rl(e){if(!(!e||typeof e!="object"))return e[LE]}function yf(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function MI(e,o){if(!Array.isArray(o))return[];let t=rl(e),r=[];if(t?.control==="textList"){let n=t.itemKey??"text";return o.forEach((s,i)=>{let f=s?.[n];typeof f=="string"&&f&&r.push({row:{index:i,rowKey:n},text:f})}),r}let a=yf(e);return a?(o.forEach((n,s)=>{for(let[i,f]of Object.entries(a)){if(!tr(f))continue;let d=tl(n?.[i])||rl(f)?.placeholder||"";d&&r.push({row:{index:s,rowKey:i},text:d})}}),r):[]}function Yr(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function bf(e,o,t,r){let a=e[o];return!Array.isArray(a)||t.index<0||t.index>=a.length?null:{...e,[o]:a.map((n,s)=>s===t.index?{...n,[t.rowKey]:r}:n)}}function HI(e,o,t,r,a){let n=Yr(e[o],t);return tl(n)===a?null:bf(e,o,t,gf(r,n,a))}function WI(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var ro="data-sf-part",tq="data-sf-region-part",rq="data-sf-part-row";function aq(e,o){return`${e}[${o}]`}var Be="data-sf-part-selected",nq="data-sf-part-kind",AE="data-sf-part-style-owner",BE="data-sf-part-style-kind";function lq(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(AE),r=o.getAttribute(BE);if(t&&r)return{owner:t,kind:r};if(o.getAttribute("data-puck-component"))return null}return null}var GI=2;function qI(e,o){if(!e)return!1;let t=nl(e);return!!t?.propKey&&t.nodeId===o}function rr(e){return It(e).replace(/\s+/gu,"")}function al(e,o,t){let r=e[sl];if(r){if(r.control==="textList"){let n=r.itemKey??"text";if(!Array.isArray(o))return;for(let s of o){let i=s?.[n];typeof i=="string"&&t.push(i)}return}let{text:a}=$I(o);a?t.push(a):r.placeholder&&t.push(r.placeholder);return}if(!e[UI]){if(e.type==="text"||e.type==="textarea"){typeof o=="string"&&o&&t.push(o);return}if(e.arrayFields&&Array.isArray(o)){for(let a of o)for(let[n,s]of Object.entries(e.arrayFields))al(s,a?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[a,n]of Object.entries(e.objectFields))al(n,o[a],t)}}function jI(e){if(!e||typeof e!="object")return!1;let o=e;return o[UI]?!1:!!o[sl]||o.type==="text"||o.type==="textarea"}function il(e,o){let t=e[sl];return t?.label?t.label:typeof e.label=="string"?e.label:o}function Sf(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function sq(e,o){if(!e)return[];let t=[];for(let[r,a]of Object.entries(e)){if(!a||typeof a!="object"||Nr(r))continue;let n=a,s=[];al(n,o?.[r],s),!s.length&&n[zI]!==void 0&&al(n,n[zI],s);let i=il(n,r),f=new Set;for(let{row:m,text:x}of MI(n,o?.[r])){let I=rr(x);I.length<GI||(f.add(I),t.push({key:r,label:i,texts:[I],row:m}))}let d=new Set(f),p=[];for(let m of s){let x=rr(m);x.length<GI||d.has(x)||(d.add(x),p.push(x))}p.length&&t.push({key:r,label:i,texts:p})}return t}var DE=RE;function KI(e,o){if(!o||typeof o!="object"||Nr(e)||Op(o))return null;let t=o[sl];return!t||!DE.includes(t.control)?null:t}function iq(e,o){let t=KI(e,o);return t!==null&&t.identifier!==!0}function VI(e,o){if(!e)return[];let t=[];for(let[r,a]of Object.entries(e)){let n=KI(r,a);if(!n)continue;let{text:s,hidden:i}=$I(o?.[r]),f=s||n.placeholder||"",d=It(f).replace(/\s+/gu," ").trim();t.push({key:r,label:Sf(il(a,r)),preview:d,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!i})}return t}var vf="_partStyles",ME="data-sf-part-styled",fl="data-sf-text-style",HE=/^(heading|body)-[1-7]$/;function ar(e){return typeof e=="string"&&HE.test(e)}var dl={heading:"heading-1",heading2:"heading-2",heading3:"heading-3",body:"body-1",label:"body-5"};function WE(e){if(!e)return null;for(let[o,t]of Object.entries(dl))if(t===e)return o;return null}function th(e){if(ar(e.textStyle))return e.textStyle;let o=e.role&&Oo.includes(e.role)?e.role:null;return o?dl[o]:void 0}var zE=[400,500,600,700],rh=["left","center","right","justify"],YI=5,XI=1e3,GE=-5,UE=10,Tf=0,Pf=64,Ff=2,Ef=120,et=1280,Of=10,ZI={size:{min:YI,max:XI,step:1},sizePhone:{min:YI,max:XI,step:1},padding:{min:Tf,max:Pf,step:Ff},width:{min:Ef,max:et,step:Of}},$E=.05,qE=.01,jE=["line","letter"],KE=.5,VE=2.5,YE=-1,XE=1,ZE=0,QE=400;function Zr(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function ah(e){return Zr(e?.[vf])??{}}function ul(e,o){let t=ah(e);return Object.hasOwn(t,o)?Zr(t[o])??{}:{}}function nh(e,o,t){let r={...ah(e)};if(JE(t).length?r[o]=t:delete r[o],!Object.keys(r).length){let{[vf]:a,...n}=e;return n}return{...e,[vf]:r}}function JE(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function eO(e){return jE.includes(e)}var Xr=(e,o,t)=>Math.min(t,Math.max(o,e));function oO(e,o){if(eO(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:Xr(t,GE,UE)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?nr(Xr(t,KE,VE),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?nr(Xr(t,YE,XE),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:Xr(t,ZE,QE)}if(Object.hasOwn(ZI,e)){let{min:t,max:r}=ZI[e],a=Math.round(Number(o));return Number.isFinite(a)?Xr(a,t,r):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"?Oo.includes(String(o))?o:null:e==="textStyle"?ar(o)?o:null:o}var tO=["weight","size","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding","width"];function lh(e){let o=null,t=r=>{o??={...e},delete o[r]};for(let r of tO){let a=e[r];a!==void 0&&!(typeof a=="number"&&Number.isFinite(a))&&t(r)}return e.align!==void 0&&!rh.includes(e.align)&&t("align"),e.textStyle!==void 0&&!ar(e.textStyle)&&t("textStyle"),o??e}var rO=[["font","role"],["role","textStyle"],["line","lineHeight"],["letter","letterSpacing"]];function aO(e){let o=[];for(let[t,r]of rO)t===e?o.push(r):r===e&&o.push(t);return o}function lr(e,o,t,r){let a={...ul(e,o)},n=r==null?null:oO(t,r);if(n===null)delete a[t];else{a[t]=n;for(let s of aO(t))delete a[s]}return nh(e,o,a)}function sh(e,o){return nh(e,o,{})}function nO(e){return NE(e)??"none"}function lO(e){return _E(e)??""}var sO={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 iO(e,o){let t=e.role;return t&&Oo.includes(t)?t:o?.blockDrawsStyle?null:WE(e.textStyle)}function xq(e,o){return e==="Text"&&o==="text"}var fO={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 cO(e){let o=Zd[e],t=fO[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function Jr(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=nr(dO+e.line*$E,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=nr(e.letter*qE,4)),o}var dO=1,ea="--sf-part-para",Lf="(max-width: 719.98px)";function QI(e){return e=lh(e),typeof e.sizePhone=="number"&&e.sizePhone>0?{fontSize:`${e.sizePhone}px`}:{}}function uO(e,o){return o&&typeof e.sizePhone=="number"&&e.sizePhone>0?{...e,size:e.sizePhone}:e}function cl(e,o,t){e=lh(e);let r=iO(e,t),a=Jr(e),n=e.size?`${e.size}px`:r?cO(r):"";return{fontFamily:e.font?IO(e.font):r?`var(${sO[r]})`:"",fontWeight:e.weight?String(e.weight):"",fontSize:n,minWidth:n?"0":"",overflowWrap:n?"break-word":"",lineHeight:a.lineHeight!==void 0?String(a.lineHeight):"",letterSpacing:a.letterSpacingEm!==void 0?`${a.letterSpacingEm}em`:"",[ea]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:lO(e.case),textAlign:e.align??"",paddingTop:Cf(e.padding),paddingBottom:Cf(e.padding),maxWidth:Cf(e.width),color:pO(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var pO=e=>e===void 0||e===""?"":Object.hasOwn(qt,e)?qt[e]:ih.test(e)?e:"",ih=/^#[0-9a-fA-F]{6}$/;function Iq(e){return ih.test(e)}var Cf=e=>e===void 0?"":`${e}px`,nr=(e,o)=>Number(e.toFixed(o));function hq(e,o){let t=Number.parseFloat(e.fontSize)||16,r=Number.parseFloat(e.lineHeight),a=Number.parseFloat(e.letterSpacing),n=Number.parseFloat(e.paddingTop),s=Number.parseFloat(e.maxWidth);return{fontKey:o,sizePx:t,weight:mO(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(r)?nr(r/t,3):1.2,letterEm:Number.isFinite(a)?nr(a/t,4):0,align:xO(e.textAlign),case:nO(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0,widthPx:Number.isFinite(s)&&s<et?Math.round(s):et}}function mO(e){return Number.isFinite(e)?zE.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function xO(e){for(let o of rh)if(o===e)return o;return e==="end"?"right":"left"}function gq(e,o){let t=JI(e);if(!t)return"";for(let r of Xe)if(JI(o(r.cssVar))===t)return r.key;return""}var JI=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function IO(e){let o=Wt(e);return o?`var(${o.cssVar})`:""}function yq(e,o,t,r){return!o||nl(o)?.nodeId!==e?null:t.find(a=>r(a.getAttribute("class")))??t[0]??null}function bq(e,o,t=()=>Qr,r=i=>i,a=yO,n=!1,s=()=>!1){let i=0;for(let{element:f,partId:d}of e){let p=nl(d)?.propKey;if(!p)continue;let m=r(p),x=Object.hasOwn(o,m)?Zr(o[m])??{}:{},I=cl(uO(x,n),Qr,{blockDrawsStyle:s(p)});ar(x.textStyle)?f.setAttribute?.(fl,x.textStyle):f.removeAttribute?.(fl);let y=wf.some(v=>f.style[v]),w=!1;for(let[v,k]of Object.entries(I))bO(f,v,k),k&&(w=!0);if(y||wf.some(v=>I[v]))for(let v of hO(f,a))for(let k of wf)v.style[k]=I[k]??"";w&&(i+=1)}return i}function hO(e,o){let t=rr(e.textContent??""),r=[],a=e;for(let n=0;n<gO&&o(a);n+=1){let s=a.parentElement;if(!s||rr(s.textContent??"")!==t)break;r.push(s),a=s}return r}var gO=8;function yO(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var Qr={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:et};function bO(e,o,t){if(!o.startsWith("--")){e.style[o]=t;return}let r=e.style;typeof r.setProperty=="function"?t?r.setProperty(o,t):r.removeProperty?.(o):r[o]=t;let a=e;o===ea&&(t?a.setAttribute?.(eh,""):a.removeAttribute?.(eh))}var eh="data-sf-part-para",SO=Object.keys(cl({},Qr)),kf=new Set(["color","overflowWrap",ea,"fontStyle"]),wf=SO.filter(e=>!kf.has(e));function Sq(e,o,t,r=n=>n,a=()=>!1){let n=new Map;for(let f of e){let d=hf(f.key,f.row);for(let p of f.texts){let m=n.get(p);m?(m.keys.add(f.key),m.partKeys.add(d)):n.set(p,{keys:new Set([f.key]),partKeys:new Set([d])})}}let s=new Map;for(let f of Object.keys(o)){if(!CO(f))continue;let d=Zr(o[f])??{},p=cl(d,Qr),m=QI(d),x=ar(d.textStyle)?d.textStyle:void 0;!Object.values(p).some(Boolean)&&!Object.keys(m).length&&!x||s.set(f,{stamp:oh(t,f),declarations:p,...Object.keys(m).length?{phone:m}:{},...x?{textStyle:x}:{}})}let i=new Map;for(let[f,{keys:d,partKeys:p}]of n){let m=p.size===1?[...p][0]:d.size===1?[...d][0]:null;if(!m)continue;let x=r(m);if(!Object.hasOwn(o,x))continue;let I=Zr(o[x])??{},y=cl(I,Qr,{blockDrawsStyle:a(m)}),w=QI(I),v=ar(I.textStyle)?I.textStyle:void 0;!Object.values(y).some(Boolean)&&!Object.keys(w).length&&!v||i.set(f,{stamp:oh(t,m),declarations:y,...Object.keys(w).length?{phone:w}:{},...v?{textStyle:v}:{}})}return i.size||s.size?{rules:i,kindRules:s,drawn:new Set(n.keys())}:null}function CO(e){return e.startsWith("@")}function Cq(e,o){return e?.kindRules.get(o)??null}function oh(e,o){let t=r=>r.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function wq(e){let o=[],t=new Set,r=a=>{let{stamp:n,declarations:s}=a;if(t.has(n))return;t.add(n);let i=Object.entries(s).filter(([,I])=>I!==""),f=I=>I.map(([y,w])=>`${vO(y)}: ${w}`).join("; "),d=`[${ME}="${n}"]`,p=i.filter(([I])=>!kf.has(I)),m=i.filter(([I])=>kf.has(I));p.length&&o.push(`${d}, *:has(> ${d}) { ${f(p)} }`),m.length&&o.push(`${d} { ${f(m)} }`),s[ea]&&o.push(...wO(d));let x=Object.entries(a.phone??{}).filter(([,I])=>I!=="");x.length&&o.push(`@media ${Lf} { ${d}, *:has(> ${d}) { ${f(x)} } }`)};for(let a of e.rules.values())r(a);for(let a of e.kindRules.values())r(a);return o.join(`
4
+ `)}function wO(e){let o=`var(${ea})`,t=":is([data-sf-bullet], [data-sf-number])";return[`${e} br:not(br + br) { display: block; content: ""; margin-top: ${o} }`,`${e} ${t}:not(:first-child) { margin-top: ${o} }`,`${e} ${t}:not(:last-child) { margin-bottom: ${o} }`]}var vO=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function vq(e,o){if(!e)return null;let t=rr(o),r=e.rules.get(t);if(r)return r;if(t.length<kO||e.drawn.has(t))return null;let a=null;for(let[n,s]of e.rules)if(n.includes(t)){if(a&&a.stamp!==s.stamp)return null;a=s}return a}var kO=8;function fh(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 Rf=e=>e==="sentence"?"none":void 0,Mo=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,oa=e=>typeof e=="string"&&e?e:void 0,dh=["font","color","size","sizePhone","weight","italic","lineHeight","letterSpacing","paragraphSpacing","letterCase","largestSize"];function ko(e){let o={};for(let t of dh)e[t]!==void 0&&(o[t]=e[t]);return o}function Bf(e,o){let{auto:t,...r}=e,a=new Set(o??[]),n=dh.filter(s=>a.has(s)&&e.values[s]===void 0);return n.length?{...r,auto:n}:r}function Df(e){let o=e.fonts,t=e.sizes,r=e.typography,a=pu(e.compression),n={"heading-1":{font:oa(o.heading),size:Mo(t.headingLarge),weight:Mo(r.weight),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Rf(r.case),largestSize:Mo(r.maxPx)},"heading-2":{font:oa(o.heading2),size:Mo(t.headingMedium),weight:Mo(r.weight2),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Rf(r.case2)},"heading-3":{font:oa(o.heading3),size:Mo(t.headingSmall),weight:Mo(r.weight3),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:Rf(r.case3)},"body-1":{font:oa(o.body),size:Mo(t.body)},"body-5":{font:oa(o.label),size:Mo(t.label)}};return TO().map(({id:s,kind:i,name:f})=>({id:s,kind:i,name:f,values:ko(n[s]??{})}))}function pl(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=>Bf({...o,values:ko(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function Rq(e){return pl(e)??[]}function ot(e,o){let t=Df(o),r=pl(e);return r?r.map(a=>{let n={...Af(t,a.id)};for(let s of a.auto??[])delete n[s];return{...a,values:ko({...n,...a.values})}}):t}var Af=(e,o)=>e.find(t=>t.id===o)?.values??{},ch=["heading-1","heading-2","heading-3"];function uh({saved:e,old:o,cur:t,next:r,sizeOf:a}){let n=Df(o),s=pl(e)??n.map(m=>({...m,values:{}})),i=ot(s,o),f=[],d=r.map(m=>{let x=t.find(g=>g.id===m.id),I=s.find(g=>g.id===m.id);if(!x||!I)return FO([m],a)[0];let y={...I.values},w=new Set(I.auto??[]),v=m.values,k=x.values,C=[...new Set([...Object.keys(v),...Object.keys(k)])].filter(g=>JSON.stringify(v[g])!==JSON.stringify(k[g]));C.sort((g,b)=>+(g==="letterSpacing")-+(b==="letterSpacing"));for(let g of C){let b=g==="lineSpacing"?"lineHeight":g,O=v[g];if(O===void 0){delete y[b],Af(n,m.id)[b]!==void 0&&(f.push([m.id,b]),w.add(b));continue}if(w.delete(b),g==="lineSpacing")y.lineHeight=sr(O/100,3);else if(g==="letterSpacing"){let F=i.find(P=>P.id===m.id),L=a({...m,values:ko({...F?.values??{},...y})});y.letterSpacing=L?sr(O/L,4):0}else y[b]=O}return Bf({id:m.id,kind:m.kind,name:m.name,values:ko(y)},w)}),p=o.compression;if(f.some(([m,x])=>(x==="lineHeight"||x==="letterSpacing")&&ch.includes(m))&&ft(p)!=="normal"){for(let m of ch){let x=d.find(y=>y.id===m);if(!x)continue;let I={...x.values};for(let y of["lineHeight","letterSpacing"])f.some(([w,v])=>w===m&&v===y)||I[y]===void 0&&!(x.auto??[]).includes(y)&&(I[y]=Af(n,m)[y]);x.values=ko(I)}p="normal"}return{saved:d,old:{...o,compression:p}}}function ph(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=ft(e.old.compression)),t}var sr=(e,o)=>Number(e.toFixed(o));function mh(e,o){return e.map(t=>{let{lineHeight:r,letterSpacing:a,...n}=t.values,s={...n};return r!==void 0&&(s.lineSpacing=sr(r*100,1)),a!==void 0&&(s.letterSpacing=sr(a*o(t),2)),{id:t.id,kind:t.kind,name:t.name,values:s}})}function FO(e,o){return e.map(t=>{let{lineSpacing:r,letterSpacing:a,...n}=t.values,s={id:t.id,kind:t.kind,name:t.name,values:ko({...n})},i={...s.values};if(r!==void 0&&(i.lineHeight=sr(r/100,3)),a!==void 0){let f=o({...s,values:{...s.values}});i.letterSpacing=f?sr(a/f,4):0}return{...s,values:ko(i)}})}function Aq(e){let o={fonts:Er({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:Ts({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:ft(e.heading_compression),typography:xu(e)},t=e.text_styles??null,r=Array.isArray(t)?_f(ot(t,o),o):o;return{fonts:Er(r.fonts),sizes:Ts(r.sizes),compression:ft(r.compression),typography:r.typography,textStyles:t}}function _f(e,o){let t=x=>e.find(I=>I.id===x)?.values??{},r=t("heading-1"),a=t("heading-2"),n=t("heading-3"),s=t("body-1"),i=t("body-5"),f=o.fonts,d=o.sizes,p=o.typography,m=x=>x==="none"?"sentence":"authored";return{fonts:{...f,heading:r.font??f.heading,heading2:a.font??r.font??f.heading2,heading3:n.font??r.font??f.heading3,body:s.font??f.body,label:i.font??f.label},sizes:{...d,headingLarge:r.size??null,headingMedium:a.size??null,headingSmall:n.size??null,body:s.size??null,label:i.size??null},compression:o.compression,typography:{...p,case:m(r.letterCase),weight:r.weight??null,maxPx:r.largestSize??null,weight2:a.weight??null,weight3:n.weight??null,case2:m(a.letterCase),case3:m(n.letterCase)}}}function EO(e){return e==="accent"?"var(--accent)":e==="text"?"var(--fg)":e==="labels"?"var(--fg-dim)":/^#[0-9a-f]{6}$/i.test(e)?e:null}function OO(e){let o=":is([data-sf-bullet], [data-sf-number])";return[`${e} br:not(br + br) { display: block; content: ""; margin-top: var(--sf-part-para) }`,`${e} ${o}:not(:first-child) { margin-top: var(--sf-part-para) }`,`${e} ${o}:not(:last-child) { margin-bottom: var(--sf-part-para) }`]}function Bq(e){let o=[];for(let t of e){let r=t.values,a=`.${fh(t)}`,n=`[${fl}="${t.id}"]`,s=`${a}, ${n}`,i=[],f=r.font!==void 0?Xe.find(x=>x.key===r.font)?.cssVar:void 0;if(f&&i.push(`font-family: var(${f})`),r.size!==void 0){let x=r.largestSize!==void 0?Math.min(r.size,r.largestSize):r.size;i.push(`font-size: ${x}px`)}let d=r.color!==void 0?EO(r.color):null;d&&i.push(`color: ${d}`),r.italic===!0&&i.push("font-style: italic"),r.weight!==void 0&&i.push(`font-weight: ${r.weight}`);let p=[];r.lineHeight!==void 0&&p.push(`line-height: ${r.lineHeight}`),r.letterSpacing!==void 0&&p.push(`letter-spacing: ${r.letterSpacing}em`),t.kind==="body"&&i.push(...p);let m=PO(r.letterCase);if(m&&i.push(`text-transform: ${m}`),r.paragraphSpacing&&i.push(`--sf-part-para: ${r.paragraphSpacing}px`),i.length&&o.push(`${s} { ${i.join("; ")} }`),t.kind==="heading"&&p.length&&o.push(`${s}, ${a}:is(h1, h2, h3, h4), ${n}:is(h1, h2, h3, h4) { ${p.join("; ")} }`),r.paragraphSpacing&&o.push(...OO(`:is(${s})`)),r.sizePhone!==void 0){let x=LO[t.id],I=[`${s} { font-size: ${r.sizePhone}px }`];x&&I.push(`.sf-themed-content { --size-${x}: ${r.sizePhone}px !important }`),o.push(`@media ${Lf} { ${I.join(" ")} }`)}}return o.join(`
5
+ `)}var LO={"heading-1":"headingLarge","heading-2":"headingMedium","heading-3":"headingSmall","body-1":"body","body-5":"label"};function Dq(e){return e!==!0&&e!==!1?"":`em.text-accent { font-style: ${e?"italic":"normal"} }`}function xh(e){return e?dl[e]:void 0}function Nf(e){let o=Jr(e);return ko({font:e.font,color:e.color,size:e.size,weight:e.weight,italic:e.italic,lineHeight:o.lineHeight,letterSpacing:o.letterSpacingEm,paragraphSpacing:e.paragraphSpacing,letterCase:e.case})}function Ih(e){return Object.keys(Nf(e)).length>0}function hh({saved:e,old:o,styleId:t,values:r}){return{saved:(pl(e)??Df(o).map(a=>({...a,values:{}}))).map(a=>a.id===t?Bf({...a,values:ko({...a.values,...r})},a.auto):a),old:o}}var gh=["font","color","size","weight","emphasis","lineSpacing","letterSpacing","paragraphSpacing","letterCase","largestSize"],_O=["size","lineSpacing","letterSpacing","letterCase"],NO=500,Mf=Xe.map(e=>({value:e.key,label:e.label,family:`var(${e.cssVar})`,italic:e.italicLoaded}));function yh({saved:e,old:o,colours:t,sizeOf:r,onChange:a,openId:n,onOpenChange:s,readOnly:i=!1,withoutSize:f=!1}){let[d,p]=AO(null),m=DO()==="mobile",x=ot(e,o),I=mh(x,r);return RO(BO,{styles:I,onChange:y=>a(uh({saved:e,old:o,cur:I,next:y,sizeOf:r})),fonts:Mf,colours:t,settings:f?gh.filter(y=>y!=="size"):gh,auto:_O,openId:n===void 0?d:n,onOpenChange:s??p,readOnly:i,device:m?"phone":"desktop",fallback:y=>{let w=x.find(k=>k.id===(y.kind==="heading"?"heading-1":"body-1")),v={};return w?.values.font&&y.id!==w.id&&(v.font=w.values.font),y.kind==="heading"&&(v.weight=NO),v}})}var Sh=["font","size","weight","emphasis"],WO=500;function zO({font:e,size:o,weight:t,italic:r}){let a={font:e};return o!==null&&(a.size=o),t!==null&&(a.weight=t),r!==null&&(a.italic=r),{id:"accent",kind:"heading",name:l("Accent"),values:a}}function GO(e,o){let t=[],r=e.values,a=o.values;return a.font!==r.font&&a.font!==void 0&&t.push({key:"font",value:a.font}),a.size!==r.size&&t.push({key:"size",value:a.size??null}),a.weight!==r.weight&&t.push({key:"weight",value:a.weight??null}),a.italic!==r.italic&&t.push({key:"italic",value:a.italic??null}),t}function Ch(e){let{headingWeight:o,open:t,onOpenChange:r,onChange:a,withoutSize:n=!1}=e,s=zO(e);return bh(HO,{label:l("Accent"),children:bh(MO,{style:s,fonts:Mf,settings:n?Sh.filter(i=>i!=="size"):Sh,auto:["size"],fallback:()=>({weight:o??WO}),open:t,onOpenChange:r,onChange:i=>GO(s,i).forEach(a)})})}import{Tabs as $O,Tooltip as b8,tabButtonId as qO,tabPanelId as jO}from"efficient-shell/ui";import{ContrastIcon as KO,NoteIcon as VO,SettingsIcon as YO,TypeIcon as XO}from"efficient-easel/icons";function wh(e){switch(e.status){case"saved":return null;case"failed":return{msg:l("Not saved. Try again."),tone:"error"};case"skipped":switch(e.reason){case"empty":return null;case"no-token":return{msg:l("Not saved. Reload the page."),tone:"error"};case"template":return{msg:l("Templates keep their look. Press Done."),tone:"success"}}}}import{previewFrame as ZO}from"efficient-easel/screen/lib/puck/preview-dom";import{useEasel as UO}from"efficient-easel/easel";function ml({themeFromDocument:e,persist:o}){let{appState:t,dispatch:r}=UO(L=>L),{fonts:a,setFonts:n,sizes:s,setSizes:i,headingCompression:f,setHeadingCompression:d,headingTypography:p,setHeadingTypography:m,textStyles:x,setTextStyles:I}=V(),y=t.data,w=y.root?.props??{},v=e?Er(w.fonts):a,k=e?su:s,C=e?ft(w.headingCompression):f,g=e?mu(w.headingTypography):p,b={fonts:v,sizes:k,compression:C,typography:g},O=e?w.textStyles:x,F=L=>r({type:"replaceRoot",root:{...y.root,props:{...w,...L}},recordHistory:!0});return{fonts:v,sizes:k,compression:C,typography:g,old:b,saved:O,write:(L,P)=>{let M=_f(ot(L.saved,L.old),L.old);e?F({textStyles:L.saved,fonts:M.fonts,headingCompression:M.compression,headingTypography:M.typography}):(I(L.saved),n(M.fonts),i(M.sizes),d(M.compression),m(M.typography)),o(ph(L,b),P)},writeRoot:F}}var zf="sf-site-styles",QO="sf-site-styles-tabpanel",Gf=!1,JO="Show hints";function Uf({shown:e,onChange:o}){return Q("div",{className:"sf-hints",children:tt("button",{type:"button","aria-pressed":e,onClick:()=>o(!e),className:`sf-rung sf-hints-toggle${e?" is-active":""}`,children:[Q(VO,{size:13}),l(JO)]})})}var kh="text",ir=[{id:"basics",label:"Basics",icon:Q(YO,{})},{id:"theme",label:"Theme",icon:Q(KO,{})},{id:"text",label:"Text",icon:Q(XO,{})}];function eL({themeFromDocument:e,persist:o}){let{appState:t,dispatch:r}=vh(d=>d),{theme:a,setTheme:n}=V(),s=t.data,i=s.root?.props??{},f=d=>{if(e){let p={...i,theme:d};r({type:"replaceRoot",root:{...s.root,props:p},recordHistory:!0})}else n(d);o({selected_preset:d.selected,theme_presets:d.themes})};return Q(gI,{value:e?i.theme:a,onChange:f})}function oL({themeFromDocument:e,persist:o}){let[t,r]=Wf(null),{theme:a,setFonts:n,setSizes:s,setHeadingTypography:i}=V(),f=ml({themeFromDocument:e,persist:o}),{old:d,saved:p,writeRoot:m}=f,x=f.fonts,I=f.sizes,y=f.typography,w=F=>F.values.size??lL(rL[F.id]??"body")??aL[F.kind],v=F=>f.write(F),k=tL(a),C=F=>{let L={...x,accent:F};e?m({fonts:L}):n(L),o({accent_font:F})},g=F=>{s({...I,accent:F}),o({accent_size_px:F})},b=F=>{let L={...y,weightStrong:F};e?m({headingTypography:L}):i(L),o({heading_weight_strong:F})},O=F=>{let L={...y,italicStrong:F};e?m({headingTypography:L}):i(L),o({accent_italic:F})};return tt(Ft,{children:[Q(yh,{saved:p,old:d,colours:k,sizeOf:w,onChange:v,openId:t===Hf?null:t,onOpenChange:r,withoutSize:e}),Q(Ch,{font:x.accent,size:I.accent,weight:y.weightStrong,italic:y.italicStrong,headingWeight:y.weight,open:t===Hf,onOpenChange:F=>r(F?Hf:null),onChange:F=>{F.key==="font"?C(F.value):F.key==="size"?g(F.value):F.key==="weight"?b(F.value):O(F.value)},withoutSize:e})]})}var Hf="accent";function tL(e){let o=zt(e);return[{key:"accent",name:l("Accent"),value:o.accent},{key:"text",name:l("Text"),value:o.text},{key:"labels",name:l("Labels"),value:o.muted??o.text}]}var rL={"heading-1":"heading","heading-2":"heading2","heading-3":"heading3","body-1":"body","body-5":"label"},aL={heading:32,body:14},nL={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 lL(e){if(typeof document>"u")return null;let o=(ZO()?.contentDocument??document).querySelector(nL[e]);if(!o)return null;let t=parseFloat(getComputedStyle(o).fontSize);return Number.isFinite(t)?t:null}function sL({themeFromDocument:e,persist:o,showHint:t}){let{appState:r,dispatch:a}=vh(x=>x),{cornerRadiusPx:n,setCornerRadiusPx:s}=V(),i=r.data,f=i.root?.props??{},d=f.cornerRadiusPx===void 0?fu[iu(f.cornerStyle)]:ho(f.cornerRadiusPx),p=e?d:n,m=x=>a({type:"replaceRoot",root:{...i.root,props:{...f,...x}},recordHistory:!0});return Q(yI,{value:p,onChange:x=>{e?m({cornerRadiusPx:x}):s(x),o({corner_radius_px:x})},showHint:t})}function iL(e){return{site_width:e}}function fL({persist:e,showHint:o}){let{siteWidth:t,setSiteWidth:r,sectionBackgroundWidth:a,setSectionBackgroundWidth:n,sectionContentWidth:s,setSectionContentWidth:i}=V(),f=typeof t=="number"?t:pe.default,d=x=>{r(x),e(iL(x),x===null)},p=x=>{n(x),e({section_background_width:x},!0)},m=x=>{i(x),e({section_content_width:x},!0)};return tt(Ft,{children:[Q(Jn,{value:a??"full",changed:a!==null,detail:l("Full width"),onChange:p,onReset:()=>p(null),hint:o?LI:void 0}),Q(el,{mode:s??"content",px:f,min:pe.min,max:pe.max,changed:typeof t=="number"||s!==null,detail:`${l("Content width")} ${pe.default}px`,onMode:m,onPx:x=>d(x),onReset:()=>{m(null),d(null)},hint:o?RI:void 0})]})}function cL(e){return{block_gap:e}}function dL(e){return{site_gutter:e}}function uL({persist:e,showHint:o}){let{siteGutter:t,setSiteGutter:r}=V();return Q(FI,{value:t,onChange:a=>{r(a),e(dL(a),a===null)},showHint:o})}function pL({persist:e,showHint:o}){let{blockGap:t,setBlockGap:r}=V();return Q(wI,{value:t,onChange:a=>{r(a),e(cL(a),a===null)},showHint:o})}function mL({persist:e,showHint:o=!0}){return tt(Ft,{children:[Q(fL,{persist:e,showHint:o}),Q(uL,{persist:e,showHint:o}),Q(pL,{persist:e,showHint:o})]})}function xL(e){return{card_shadow:e}}function IL(e){return e===null?{shadow_color:null}:{shadow_color:uu(e)}}function hL(e){return{hover_effect:e}}function gL({persist:e,showHint:o=!0}){let{cardShadow:t,setCardShadow:r,shadowColor:a,setShadowColor:n,hoverEffect:s,setHoverEffect:i}=V();return tt(Ft,{children:[Q(bI,{value:t,onChange:f=>{r(f),e(xL(f),!0)},showHint:o}),Q(CI,{value:a,onChange:f=>{n(f),e(IL(f),f===null)},showHint:o}),Q(vI,{value:s,onChange:f=>{i(f),e(hL(f),!0)},showHint:o})]})}function yL(e){return{photography_grayscale:e}}function bL({persist:e,showHint:o}){let{photographyGrayscale:t,setPhotographyGrayscale:r}=V();return Q(TI,{value:t,onChange:a=>{r(a),e(yL(a),!0)},showHint:o})}function SL({persist:e,showHint:o=!0}){return Q(Ft,{children:Q(bL,{persist:e,showHint:o})})}function CL(e){return{share_button_on_posts:e}}function wL({persist:e,showHint:o=!0}){let{shareButtonOnPosts:t,setShareButtonOnPosts:r}=V();return Q(PI,{value:t,onChange:a=>{r(a),e(CL(a),!0)},showHint:o})}function fr(){let{websiteName:e}=V();return e?.trim()||hu}function xl({themeFromDocument:e=!1,tokenRef:o,siteId:t,onNotify:r,tab:a,onTabChange:n}){let{persist:s}=Kt({themeFromDocument:e,tokenRef:o,siteId:t,onResult:w=>{let v=wh(w);v&&r?.(v.msg,v.tone)}}),[i,f]=Wf(ir[0].id),d=a!==void 0,p=d?a:i,m=d?n??(()=>{}):f,x=ir.find(w=>w.id===p)??ir[0],[I,y]=Wf(Gf);return tt(Ft,{children:[Q(vL,{activeId:x.id,onSelect:m}),tt("div",{id:jO(zf,x.id),className:QO,role:"tabpanel","aria-labelledby":qO(zf,x.id),children:[p==="basics"&&tt(Ft,{children:[Q(sL,{themeFromDocument:e,persist:s,showHint:I}),!e&&Q(gL,{persist:s,showHint:I}),!e&&Q(mL,{persist:s,showHint:I}),!e&&Q(SL,{persist:s,showHint:I}),!e&&Q(wL,{persist:s,showHint:I}),Q(Uf,{shown:I,onChange:y})]}),p==="theme"&&Q(eL,{themeFromDocument:e,persist:s}),p==="text"&&Q(oL,{themeFromDocument:e,persist:s})]})]})}function vL({activeId:e,onSelect:o}){return Q("div",{className:"es-insp-tabs",children:Q($O,{variant:"underline",block:!0,labelsFit:!0,"aria-label":l("Styles"),idPrefix:zf,value:e,onChange:o,items:ir.map(t=>{let r=l(t.label);return{id:t.id,icon:t.icon,label:r}})})})}import{InspectorIconButton as UL}from"efficient-easel/chrome";import{Button as zh,Dialog as $L,FormField as qL,Input as Gh,PopupMenu as jL,PopupMenuItem as Uh,toast as $h}from"efficient-shell/ui";import{LayersTree as KL,TreeGroupLabel as VL,TreeRow as qh,TreeRowAction as vl}from"efficient-easel/tree";import{AddIcon as YL,DuplicateIcon as XL,PageIcon as ZL}from"efficient-easel/icons";import{PagesIcon as QL}from"efficient-easel/rail";import{useEaselHost as JL}from"efficient-easel/screen/lib/host";var $f="Main Pages",kL="Dynamic Pages",qf="dynamic",TL="dynamic";function jf(e){return e.kind===TL}function Th(e){let o=[],t=[];for(let r of e){if(jf(r)){t.push(r);continue}let a=r.groupKey??(r.group?`folder:${r.group}`:"top"),n=o[o.length-1];n&&n.key===a?n.rows.push(r):o.push({key:a,label:r.group??$f,rows:[r]})}if(t.length){let r=o.findIndex(a=>a.key.startsWith("system:"));o.splice(r===-1?o.length:r,0,{key:qf,label:kL,rows:t})}return o}import{useEaselSession as eR}from"efficient-easel/screen/lib/session-context";import{useCallback as Il,useEffect as PL,useSyncExternalStore as FL}from"react";import{useScreenDocument as Oh}from"efficient-easel/screen/components/ScreenDocumentContext";var Ph=new WeakMap;function ta(e){let o=Ph.get(e);return o||(o={rows:null,loading:null,listeners:new Set},Ph.set(e,o)),o}function Kf(e,o){e.rows=o;for(let t of e.listeners)t()}var hl=new Set;function gl(e,o){o?hl.add(e):hl.delete(e)}function Fh(e){let o=ta(e),t=e.listPages().then(r=>Kf(o,hl.size?r.filter(a=>!hl.has(a.id)):r),()=>Kf(o,[])).finally(()=>{o.loading===t&&(o.loading=null)});return o.loading=t,t}var Eh=()=>null,EL=()=>()=>{};function ra(){let{adapter:e,ready:o}=Oh(),t=Il(i=>{let{listeners:f}=ta(e);return f.add(i),()=>f.delete(i)},[e]),r=Il(()=>ta(e).rows,[e]),a=FL(o?t:EL,o?r:Eh,Eh);PL(()=>{if(!o)return;let i=ta(e);i.rows===null&&!i.loading&&Fh(e)},[e,o]);let n=Il(()=>o?Fh(e):Promise.resolve(),[e,o]),s=Il(i=>Kf(ta(e),i),[e]);return{rows:a,reload:n,setRows:s,getRows:r}}function OL(e,o){return e?.find(t=>t.slug===o)?.label?.trim()||`/${o}`}function Lh(){let{currentSlug:e}=Oh(),{rows:o}=ra();return OL(o,e)}import{useEaselSession as LL}from"efficient-easel/screen/lib/session-context";import{useScreenDocument as RL}from"efficient-easel/screen/components/ScreenDocumentContext";var AL=new Set(["normal","dynamic"]);function yl(e){return!e.kind||AL.has(e.kind)}function bl(e,o){let t=ut(e)||"page";if(!o.has(t))return t;let r=2;for(;o.has(`${t}-${r}`);)r+=1;return`${t}-${r}`}function Rh(e,o){return o.has(e)}function Ah(e,o){return{title:`${e.label||e.slug} copy`,slug:bl(`${e.slug}-copy`,o)}}function Sl(){let e=LL(),{siteId:o,templateId:t}=RL(),r=Se(e).pages;if(!(!r.duplicate||t))return(a,n)=>r.duplicate(a.id,{...n,...o?{siteId:o}:{}})}import{jsx as Et,jsxs as Bh,Fragment as BL}from"react/jsx-runtime";import{useId as Dh,useState as cr}from"react";import{Button as _h,Dialog as DL,FormField as Nh,Input as Mh,Stack as _L}from"efficient-shell/ui";function Cl({source:e,taken:o,duplicate:t,onClose:r,onDuplicated:a}){let n=Dh(),s=Dh(),[i,f]=cr(null),[d,p]=cr(""),[m,x]=cr(""),[I,y]=cr(!1),[w,v]=cr(!1),[k,C]=cr(null);if(e!==i&&(f(e),e)){let F=Ah(e,o);p(F.title),x(F.slug),y(!1),C(null)}let g=Rh(m,o),b=!!(e&&d.trim()&&m&&!g&&!w),O=async()=>{if(!(!e||!b)){v(!0),C(null);try{let F=await t(e,{title:d.trim(),slug:m});a(F)}catch{C(l("Couldn\u2019t duplicate the page \u2014 please retry."))}finally{v(!1)}}};return Et(DL,{open:e!==null,onClose:()=>{w||r()},size:"sm",title:l("Duplicate \u201C{name}\u201D",{name:e?.label??""}),description:l("The copy is a draft and stays hidden until you publish it. It opens in the editor."),footer:Bh(BL,{children:[Et(_h,{variant:"secondary",onClick:r,disabled:w,children:l("Cancel")}),Et(_h,{onClick:()=>{O()},disabled:!b,loading:w,children:l("Duplicate page")})]}),children:Bh(_L,{gap:4,children:[Et(Nh,{label:l("Title"),htmlFor:n,error:k??void 0,children:Et(Mh,{id:n,value:d,invalid:!!k,onChange:F=>{p(F.target.value),I||x(ut(F.target.value))},onKeyDown:F=>{F.key==="Enter"&&O()}})}),Et(Nh,{label:l("URL handle"),htmlFor:s,hint:g?void 0:l("URL: /{slug}",{slug:m}),error:g?l("Another page uses this URL handle."):void 0,children:Et(Mh,{id:s,value:m,invalid:g,onChange:F=>{y(!0),x(ut(F.target.value))},onKeyDown:F=>{F.key==="Enter"&&O()}})})]})})}var jh="sf-editor-pages-collapsed-groups";function Kh({onNavigate:e,onClose:o,activeSurface:t,onPreviewSurface:r}){let a=eR().chrome?.pageRows,n=JL(),{adapter:s,capabilities:i,ready:f,currentSlug:d}=zL(),p=fr(),{rows:m,reload:x,setRows:I,getRows:y}=ra(),[w,v]=rt(""),[k,C]=rt(!1),[g,b]=rt(null),[O,F]=rt(!1),[L,P]=rt(""),M=HL(),z=Sl(),[B,A]=rt(null),[W,D]=rt(()=>{if(typeof window>"u")return new Set;try{let E=window.localStorage.getItem(jh);return new Set(E?JSON.parse(E):[])}catch{return new Set}});ML(()=>{try{window.localStorage.setItem(jh,JSON.stringify([...W]))}catch{}},[W]);let te=E=>D($=>{let q=new Set($);return q.has(E)?q.delete(E):q.add(E),q}),ie=Wh(()=>Th(m??[]),[m]),de=w.trim().toLowerCase(),lo=E=>!de||E.toLowerCase().includes(de),so=E=>de?!0:!W.has(E),Le=Wh(()=>new Set((m??[]).map(E=>E.slug)),[m]),io=()=>{if(i.pageCreationInAdminForm){n.send("storefront-editor:new-page");return}P(""),b(null),F(!0)},_e=async()=>{let E=L.trim();if(!(!E||!f||k||!s.createPage)){C(!0),b(null);try{let $=await s.createPage({slug:bl(E,Le),title:E,layout:{}});await x(),F(!1),P(""),e($.slug)}catch{b(l("Couldn\u2019t add the page \u2014 please retry."))}finally{C(!1)}}},Te=i.hasSiteSettings&&!!s.createPage,xe=async()=>{if(!(!f||k||!s.createPage)){C(!0),b(null);try{let E=await s.createPage(km(l("New popup"),Le));await x(),e(E.slug)}catch{b(l("Couldn\u2019t add the popup \u2014 please retry."))}finally{C(!1)}}},he=WL(null),[Ne,Pe]=rt(null),fo=()=>{if(!Te)return io();if(Ne)return Pe(null);let E=he.current?.getBoundingClientRect();E&&Pe({top:E.bottom+6,right:Math.max(8,window.innerWidth-E.right)})},Me=E=>{let $=m??[],q=s.deletePage;if(!f||k||!q||$.length<=1)return;let Re=$.findIndex(Fe=>Fe.id===E.id),mo=$.filter(Fe=>Fe.id!==E.id),Ye=E.slug===d;gl(E.id,!0),I(mo),b(null),Ye&&mo[0]&&e(mo[0].slug);let Mt=()=>{gl(E.id,!1);let Fe=y()??[];if(Fe.some(Ua=>Ua.id===E.id))return;let Eo=[...Fe];Eo.splice(Math.max(0,Math.min(Re,Eo.length)),0,E),I(Eo)};$h.undoable(l("Deleted \u201C{name}\u201D",{name:E.label}),{actionLabel:l("Undo"),commit:async Fe=>{await q(E.id,Fe),gl(E.id,!1)},undo:()=>{Mt(),Ye&&e(E.slug)},onFail:()=>{Mt(),$h.error(l("Couldn\u2019t delete the page \u2014 please retry."))}})},Ge=E=>n.send("storefront-editor:open-page",{slug:E}),co=E=>{if(!lo(E.label))return null;let $=!t&&E.slug===d,q=i.canDeletePagesInline&&(m??[]).length>1,Re=jf(E),mo=E.kind==="lightbox",Ye=[...Re?[{label:l("Dynamic"),tone:"info"}]:[],...mo?[{label:l("Lightbox"),tone:"success"}]:[],...E.draft?[{label:l("draft"),tone:"draft"}]:[]],Mt=Ye.length>0?Ye:void 0,Fe=!!z&&yl(E),Eo=Fe||i.pageCreationInAdminForm||q?aa(Hh,{children:[Fe&&ee(vl,{kind:"plain",label:l("Duplicate \u201C{name}\u201D",{name:E.label}),disabled:k,onClick:()=>A(E),children:ee(XL,{size:13})}),i.pageCreationInAdminForm&&ee(vl,{kind:"plain",label:l("Edit \u201C{name}\u201D in {place}",{name:E.label,place:l("the admin")}),onClick:()=>Ge(E.slug),children:ee(wl,{name:"pencil",size:13,strokeWidth:1.7,rounded:!0})}),q&&ee(vl,{kind:"delete",label:l("Delete \u201C{name}\u201D",{name:E.label}),disabled:k,onClick:()=>Me(E),children:ee(wl,{name:"trash",size:13,strokeWidth:1.7,rounded:!0})})]}):void 0;return ee(qh,{icon:ee(ZL,{size:14}),name:E.label,selected:$,onSelect:()=>e(E.slug),badge:Mt,actions:Eo,rowProps:{"data-page-slug":E.slug}},E.id)},uo=(E,$,q)=>{let Re=q.filter(Boolean);if(Re.length===0)return null;let mo=so(E);return aa(NL,{children:[ee(VL,{count:Re.length,expanded:mo,onToggle:()=>te(E),children:$}),mo&&Re]},E)},Fo=(a?.rows??[]).filter(E=>lo(E.label)).map(E=>{let $=t===E.key;return ee(qh,{icon:E.icon,name:E.label,selected:$,onSelect:()=>r(E.key),badge:{label:l("Preview"),tone:"warning"},actions:ee(vl,{kind:"plain",label:l("Open the {name} in a new tab",{name:E.label}),onClick:()=>window.open(E.href,"_blank","noopener,noreferrer"),children:ee(wl,{name:"external-link",size:13,strokeWidth:1.7,rounded:!0})}),rowProps:{"data-shop-surface":E.key}},E.key)}),Ve=i.hasSiteSettings&&!!a,po=(()=>{if(m===null)return null;let E=[],$=!1;for(let q of ie){Ve&&!$&&q.key.startsWith("system:")&&(E.push(uo("shop",a.title,Fo)),$=!0);let Re=q.key===qf||q.label===$f?l(q.label):q.label;E.push(uo(q.key,Re,q.rows.map(co)))}return Ve&&!$&&E.push(uo("shop",a.title,Fo)),E})();return aa("div",{className:"sf-pages",children:[ee(GL,{icon:ee(QL,{}),title:l("Pages"),context:p,actions:ee(UL,{buttonRef:he,label:Te?l("Add"):l("New page"),hasPopup:Te?"menu":void 0,expanded:Te?Ne!==null:void 0,onClick:fo,children:ee(YL,{size:15})}),onHide:o}),Ne&&ee(jL,{portal:!0,style:{top:Ne.top,right:Ne.right},onClose:()=>Pe(null),children:aa("div",{role:"menu","aria-label":l("Add"),children:[ee(Uh,{role:"menuitem",onClick:()=>{Pe(null),io()},children:l("Page")}),ee(Uh,{role:"menuitem",disabled:k,onClick:()=>{Pe(null),xe()},children:l("Popup")})]})}),ee("div",{className:"sf-pages-find",children:ee(Gh,{type:"search",leftIcon:ee(wl,{name:"search",size:14,rounded:!0}),placeholder:l("Search all pages\u2026"),value:w,onChange:E=>v(E.target.value),"aria-label":l("Search all pages")})}),g&&!O&&ee("div",{className:"sf-note sf-note--error",role:"alert",children:g}),po===null?ee("div",{className:"sf-note",children:l("Loading\u2026")}):po.some(Boolean)?ee(KL,{ariaLabel:l("Pages"),className:"sf-scroll",children:po}):ee("div",{className:"sf-note",children:w.trim()?l("No pages match your search"):l("No pages yet. Add one with + above.")}),z&&ee(Cl,{source:B,taken:Le,duplicate:z,onClose:()=>A(null),onDuplicated:E=>{A(null),x(),e(E.slug)}}),ee($L,{open:O,onClose:()=>F(!1),size:"sm",title:l("Add a page"),description:l("Give the new template page a name. It starts blank \u2014 add sections once it opens."),footer:aa(Hh,{children:[ee(zh,{variant:"secondary",onClick:()=>F(!1),children:l("Cancel")}),ee(zh,{onClick:()=>{_e()},disabled:k||!L.trim(),loading:k,children:l("Add page")})]}),children:ee(qL,{label:l("Page name"),htmlFor:M,hint:L.trim()?l("URL: /{slug}",{slug:bl(L,Le)}):void 0,error:g??void 0,children:ee(Gh,{id:M,value:L,invalid:!!g,onChange:E=>P(E.target.value),onKeyDown:E=>{E.key==="Enter"&&_e()},placeholder:l("e.g. About")})})})]})}import{jsx as oR}from"react/jsx-runtime";import{createContext as tR,useCallback as rR,useContext as aR,useState as nR}from"react";import{useSelectHandler as lR}from"efficient-easel/draw/client";var kl=["chat-bubble-left-right","chat-bubble-oval-left-ellipsis","chat","megaphone","phone","sparkles"],dr=kl[0];var Ot="right";function Tl(e){return kl.includes(e??"")?e:dr}function Vh(e){return e==="left"?"left":Ot}function Yh(e){return/^#[0-9a-fA-F]{6}$/.test(e??"")?e.toLowerCase():""}var Pl={enabled:!0,title:"",subtitle:"",greeting:"",launcherColor:"",launcherIcon:"",launcherPosition:Ot,launcherLabel:"",showOnPhones:!0};function g9(e){return{enabled:e.enabled,title:e.title,subtitle:e.subtitle,greeting:e.greeting,launcherColor:Yh(e.launcherColor),launcherIcon:e.launcherIcon?Tl(e.launcherIcon):"",launcherPosition:Vh(e.launcherPosition),launcherLabel:e.launcherLabel??"",showOnPhones:e.showOnPhones!==!1}}var Xh=tR({chat:Pl,setChat:()=>{},selected:!1,setSelected:()=>{},select:()=>{},setSelectHandler:()=>{}});function y9({children:e,chat:o=Pl,onChatChange:t}){let[r,a]=nR(!1),n=rR(f=>t?.(f),[t]),{select:s,setSelectHandler:i}=lR();return oR(Xh.Provider,{value:{chat:o,setChat:n,selected:r,setSelected:a,select:s,setSelectHandler:i},children:e})}var Fl=()=>aR(Xh);import{jsx as Vf}from"react/jsx-runtime";import{DesktopIcon as sR,PhoneIcon as iR,TabletIcon as fR}from"efficient-easel/icons";import{VIEW_TIERS as cR,VIEW_TIER_LABEL as dR}from"efficient-easel/draw";var uR={desktop:Vf(sR,{}),tablet:Vf(fR,{}),mobile:Vf(iR,{})},Zh=cR.map(e=>({id:e,get label(){return l(dR[e])},icon:uR[e]}));import{PreviewDeviceContext as xH}from"efficient-easel/draw/client";import{jsx as pR}from"react/jsx-runtime";import{createContext as mR,useCallback as Qh,useContext as xR,useMemo as IR,useRef as hR}from"react";var gR=Object.fromEntries(Ka.map(e=>[e,{value:"",error:null}])),Jh=mR({links:yu,rows:gR,canSave:!1,saveLink:async()=>({ok:!1,error:"There is no website to save to."}),openPanel:()=>{},setOpenHandler:()=>{}});function E9({children:e,value:o}){let t=hR(()=>{}),r=Qh(()=>t.current(),[]),a=Qh(s=>{t.current=s},[]),n=IR(()=>({...o,openPanel:r,setOpenHandler:a}),[o,r,a]);return pR(Jh.Provider,{value:n,children:e})}var na=()=>xR(Jh);import{jsx as yR}from"react/jsx-runtime";import{createContext as bR,useContext as SR,useMemo as CR,useState as wR}from"react";var eg=bR(null);function A9({children:e}){let[o,t]=wR(null),r=CR(()=>({surface:o,setSurface:t}),[o]);return yR(eg.Provider,{value:r,children:e})}function og(){return SR(eg)??{surface:null,setSurface:()=>{}}}import{createPreviewSelectionContext as vR}from"efficient-easel/draw/client";var la="Scrolling Bar",{Provider:_9,useSelection:tg}=vR("selectedHeroId");import{createPreviewSelectionContext as kR}from"efficient-easel/draw/client";var{Provider:H9,useSelection:El}=kR("selectedHeroPart");import{isShown as zR,lazyShowWhenContext as GR}from"efficient-shell/format";var Ol="product",TR="recordType",PR={key:Ol,label:"Product",fields:[]};var FR=new Map,ER=0;function z9(){return[PR,...FR.values()]}function G9(){return ER}function OR(e){let o=e?.[TR];return typeof o!="string"?Ol:o.trim()||Ol}function Yf(e){return OR(e)===Ol}var Xf="product",LR="tyre";var RR="productType",AR={[Xf]:"alloy-wheel",[LR]:"tyre"},BR=["alloy-wheel","tyre"];function rg(e,o){return Yf(o)?DR(o)??AR[e]??null:null}function DR(e){if(!Yf(e))return null;let o=e?.[RR];return typeof o=="string"&&BR.includes(o)?o:null}var Ll=null,ag=null;function _R(e,o){Ll=e,ag=o}function K9(e){_R(e,null)}function V9(){return Ll}function ng(){return ag==="dynamic"||Ll===Xf}function Y9(e){return rg(Ll??"",e)??"alloy-wheel"}import{addShowWhenFacts as NR}from"efficient-shell/format";import{showWhenOf as Zf,shownForOption as MR,truthy as HR,withRowRules as WR,withRowsShownWhen as Rl,withShowWhen as Al}from"efficient-shell/format";var J9=NR;function sg(e,o,t){let r=!1,a={};for(let[n,s]of Object.entries(e))zR(Zf(s),o??{},t)?a[n]=s:r=!0;return r?a:e}function ig(e,o,t,r){let a=Xa(o,t,r);return{device:e,parentType:a?.item.type,parent:a?.item.props}}function lg(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 lg(t.not,o);for(let r of[t.all,t.any])if(Array.isArray(r)&&r.some(a=>lg(a,o)))return!0;return!1}function lj(e,o={}){return GR({parentType:()=>e.parent?.type??void 0,parent:()=>e.parent?.props??void 0,dynamicPage:()=>ng(),root:()=>e.appState?.data?.root?.props,...o})}var cg=["one","side","stacked"];var ij={one:"One",side:"Side by side",stacked:"Stacked"};function dg(e){return cg.includes(e)?e:"one"}function fg(e){return e==="one"?1:2}function UR(e,o){if(cg.includes(e))return e;let t=dg(o);return t==="side"?"stacked":t}function Qf(e){let o=dg(e.mediaLayout);return Math.max(fg(o),fg(UR(e.mediaLayoutPhone,o)))}var sa=["media","image","image2"],ur={media:"Media",image:"Image",image2:"Image 2"},ia={media:"heroMedia",image:"heroImage",image2:"heroImage2"};function Bl(e,o){return e==="image"&&Qf(o)>1?"Image 1":ur[e]}var uj="Video file",pj="Upload a video file";function $R(e,o){return{field:"mediaType",is:e,default:o}}var qR=new Set(["HeroSingle"]),ug="heroPart";function jR(e,o){return{...o,[ug]:e}}function mj(e,{parts:o={},onlyFor:t,fallback:r,rules:a}){let n={...e};for(let s of["image","video"])for(let i of t[s])n[i]=Al(n[i],$R(s,r));for(let[s,i]of Object.entries(a??{}))i&&(n[s]=Al(n[s],i));for(let s of sa)for(let i of o[s]??[])n[i]=jR(s,n[i]);return n}function KR(e){let o=e?.[ug];return sa.includes(o)?o:null}function pg(e,o){let t={};for(let[r,a]of Object.entries(e))KR(a)===o&&(t[r]=a);return t}function mg(e){if(!qR.has(e.type))return[];let o=[{part:"media",label:ur.media,depth:0}];return(e.props.mediaType??"image")!=="video"&&(o.push({part:"image",label:Bl("image",e.props),depth:1}),Qf(e.props)>1&&o.push({part:"image2",label:Bl("image2",e.props),depth:1})),o}function fa(e,o){return`${e}::${o}`}function xg(e){if(!e)return null;let o=e.lastIndexOf("::");if(o<=0)return null;let t=e.slice(o+2);return sa.includes(t)?{nodeId:e.slice(0,o),part:t}:null}var xj="data-sf-hero-part";import{jsx as Z,jsxs as at,Fragment as es}from"react/jsx-runtime";import{useState as qy}from"react";import{useEasel as T_}from"efficient-easel/easel";import{headWords as Vy,InspectorHead as P_,InspectorIconButton as Yc}from"efficient-easel/chrome";import{DuplicateIcon as jy,TrashIcon as F_}from"efficient-easel/icons";import{panelFieldsOf as E_}from"efficient-easel/screen/lib/puck/panel-fields";import{jsx as T,Fragment as K,jsxs as Y}from"react/jsx-runtime";import{BlockBannerIcon as XR,BlockBoxIcon as ZR,BlockButtonIcon as QR,BlockDividerIcon as hg,BlockFooterIcon as gg,BlockHeadingIcon as JR,BlockProductIcon as eA,BlockSocialIcon as oA,BlockTextIcon as tA,ChatIcon as rA,GridIcon as aA,ImageIcon as ec,MediaIcon as nA,PageIcon as lA}from"efficient-easel/icons";import{jsx as Jf,Fragment as VR,jsxs as YR}from"react/jsx-runtime";var Ig=YR(VR,{children:[Jf("circle",{cx:"9",cy:"20",r:"1.3"}),Jf("circle",{cx:"18",cy:"20",r:"1.3"}),Jf("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 sA={header:Y(K,{children:[T("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),T("path",{d:"M3 9.5h18"})]}),website:Y(K,{children:[T("circle",{cx:"12",cy:"12",r:"9"}),T("path",{d:"M3 12h18M12 3c2.6 2.7 2.6 15.3 0 18M12 3c-2.6 2.7-2.6 15.3 0 18"})]}),social:Y(K,{children:[T("circle",{cx:"6",cy:"12",r:"2.5"}),T("circle",{cx:"18",cy:"6",r:"2.5"}),T("circle",{cx:"18",cy:"18",r:"2.5"}),T("path",{d:"M8.2 10.8l7.6-3.6M8.2 13.2l7.6 3.6"})]}),ticker:Y(K,{children:[T("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),T("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),FooterLogo:Y(K,{children:[T("path",{d:"M4 15.5h6M4 18h4"}),T("path",{d:"M14 8.5l3 7 3-7"})]}),FooterMenu:T("path",{d:"M6 7h12M6 11h12M6 15h8M6 19h8"}),FooterGroup:Y(K,{children:[T("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",strokeDasharray:"3 2.5"}),T("path",{d:"M8 9h8M8 13h8M8 16h5"})]}),FooterText:T("path",{d:"M5 7h14M5 12h14M5 17h9"}),FooterEmailSignup:Y(K,{children:[T("rect",{x:"3",y:"6",width:"18",height:"12",rx:"2"}),T("path",{d:"M3.5 7l8.5 6 8.5-6"})]}),SearchBlock:Y(K,{children:[T("circle",{cx:"11",cy:"11",r:"6"}),T("path",{d:"M20 20l-4.2-4.2"})]}),CartBlock:Ig,CountrySwitchBlock:Y(K,{children:[T("circle",{cx:"12",cy:"12",r:"8.5"}),T("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"})]}),AccountBlock:Y(K,{children:[T("circle",{cx:"12",cy:"8",r:"4"}),T("path",{d:"M4.5 20c.8-3.8 3.8-6 7.5-6s6.7 2.2 7.5 6"})]}),ThemeSwitchBlock:Y(K,{children:[T("circle",{cx:"12",cy:"12",r:"8.5"}),T("path",{d:"M12 3.5v17M12 5.5l6 6M12 10.5l5.2 5.2M12 15.5l2.8 2.8"})]}),LegalLineBlock:Y(K,{children:[T("path",{d:"M3 9h18"}),T("path",{d:"M3 14h8M14 14h2M18 14h3"})]}),Hero:Y(K,{children:[T("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),T("path",{d:"M7 13.5h7M7 16.5h10"})]}),HeroSlide:Y(K,{children:[T("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2"}),T("path",{d:"M7 15h6M16 9.5h.01M9.5 12l-2.5 3"})]}),HeroSingle:Y(K,{children:[T("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),T("path",{d:"M10.5 8.5l4 2.5-4 2.5z"}),T("path",{d:"M7 17h7"})]}),Collections:Y(K,{children:[T("rect",{x:"3",y:"5",width:"4.6",height:"14",rx:"1.3"}),T("rect",{x:"9.7",y:"5",width:"4.6",height:"14",rx:"1.3"}),T("rect",{x:"16.4",y:"5",width:"4.6",height:"14",rx:"1.3"})]}),CollectionCard:Y(K,{children:[T("rect",{x:"6",y:"4",width:"12",height:"16",rx:"2"}),T("path",{d:"M9 15h6M9 17.5h4"})]}),AlloyWheelsListing:Y(K,{children:[T("path",{d:"M3 5h5M3 9h5M3 13h5M3 17h5"}),T("rect",{x:"11.5",y:"5",width:"4.2",height:"5",rx:"1"}),T("rect",{x:"17.3",y:"5",width:"4.2",height:"5",rx:"1"}),T("rect",{x:"11.5",y:"12",width:"4.2",height:"5",rx:"1"}),T("rect",{x:"17.3",y:"12",width:"4.2",height:"5",rx:"1"})]}),CatalogFilterBar:Y(K,{children:[T("path",{d:"M3 7h9M15.5 7H21"}),T("circle",{cx:"13.5",cy:"7",r:"1.7"}),T("path",{d:"M3 12h4M10.5 12H21"}),T("circle",{cx:"8.5",cy:"12",r:"1.7"}),T("path",{d:"M3 17h9M15.5 17H21"}),T("circle",{cx:"13.5",cy:"17",r:"1.7"})]}),ProductGrid:Y(K,{children:[T("rect",{x:"3",y:"5",width:"4.8",height:"6",rx:"1"}),T("rect",{x:"9.6",y:"5",width:"4.8",height:"6",rx:"1"}),T("rect",{x:"16.2",y:"5",width:"4.8",height:"6",rx:"1"}),T("rect",{x:"3",y:"13",width:"4.8",height:"6",rx:"1"}),T("rect",{x:"9.6",y:"13",width:"4.8",height:"6",rx:"1"}),T("rect",{x:"16.2",y:"13",width:"4.8",height:"6",rx:"1"})]}),RelatedProducts:Y(K,{children:[T("path",{d:"M3 5h10"}),T("rect",{x:"3",y:"9.5",width:"5",height:"9",rx:"1"}),T("rect",{x:"9.5",y:"9.5",width:"5",height:"9",rx:"1"}),T("rect",{x:"16",y:"9.5",width:"5",height:"9",rx:"1"})]}),Gallery:Y(K,{children:[T("rect",{x:"3",y:"4",width:"11",height:"16",rx:"2"}),T("rect",{x:"15.5",y:"4",width:"5.5",height:"7.5",rx:"1.5"}),T("rect",{x:"15.5",y:"12.5",width:"5.5",height:"7.5",rx:"1.5"})]}),GalleryB:Y(K,{children:[T("rect",{x:"3.5",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),T("rect",{x:"13",y:"4",width:"7.5",height:"7.5",rx:"1.5"}),T("rect",{x:"3.5",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"}),T("rect",{x:"13",y:"12.5",width:"7.5",height:"7.5",rx:"1.5"})]}),GalleryItem:Y(K,{children:[T("rect",{x:"4",y:"5",width:"16",height:"14",rx:"2"}),T("circle",{cx:"9",cy:"10",r:"1.6"}),T("path",{d:"M20 15.5l-4.5-4L7 19"})]}),Events:Y(K,{children:[T("rect",{x:"4",y:"5",width:"16",height:"15",rx:"2"}),T("path",{d:"M4 9.5h16M8.5 3v4M15.5 3v4M8 14h2M14 14h2"})]}),PostCard:Y(K,{children:[T("rect",{x:"4",y:"3.5",width:"16",height:"17",rx:"2"}),T("rect",{x:"6.5",y:"6",width:"11",height:"6",rx:"1"}),T("path",{d:"M6.5 14.5h11M6.5 17.5h7"})]}),Manifesto:Y(K,{children:[T("path",{d:"M7 8h3.2v4c0 1.6-1 2.6-3 3.2"}),T("path",{d:"M14 8h3.2v4c0 1.6-1 2.6-3 3.2"})]}),Stats:Y(K,{children:[T("path",{d:"M3.5 20h17"}),T("path",{d:"M6 20v-7M11 20V7M16 20v-5M20.5 20v-9"})]}),Logos:Y(K,{children:[T("circle",{cx:"6",cy:"12",r:"2.6"}),T("rect",{x:"10",y:"9.4",width:"5.2",height:"5.2",rx:"1.2"}),T("path",{d:"M19 9.2l2.4 5h-4.8z"})]}),Ticker:Y(K,{children:[T("rect",{x:"3",y:"8.5",width:"18",height:"7",rx:"2"}),T("path",{d:"M6 12h3.5M11.5 12h2M15.5 12h2.5"})]}),SectionHeader:Y(K,{children:[T("rect",{x:"3.5",y:"6",width:"5",height:"5",rx:"1.2"}),T("path",{d:"M11 8.5h9M3.5 15.5h17"})]}),IntroBleed:Y(K,{children:[T("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),T("path",{d:"M3 13.5h18M7 16.8h6"})]}),Split:Y(K,{children:[T("rect",{x:"3",y:"5",width:"8",height:"14",rx:"1.5"}),T("path",{d:"M14 8.5h6M14 12h6M14 15.5h4"})]}),Eyebrow:Y(K,{children:[T("path",{d:"M4 8.5h4.5M11 8.5h9"}),T("path",{d:"M4 14.5h16"})]}),HeroGroup:Y(K,{children:[T("rect",{x:"3.5",y:"4.5",width:"17",height:"15",rx:"2"}),T("path",{d:"M7 9h8M7 12.5h10M7 16h6"})]}),Form:Y(K,{children:[T("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"}),T("path",{d:"M6.5 9h11M6.5 12.5h11"}),T("rect",{x:"6.5",y:"15",width:"6.5",height:"2.6",rx:"1.3"})]}),LogoBlock:T(K,{children:T("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:Y(K,{children:[T("path",{d:"M12 4v6M9.5 6.5L12 4l2.5 2.5M12 20v-6M9.5 17.5L12 20l2.5-2.5"}),T("path",{d:"M5 13h14",strokeDasharray:"2 2.5"})]}),ContactRouting:Y(K,{children:[T("rect",{x:"3",y:"4",width:"5",height:"5",rx:"1"}),T("rect",{x:"9.5",y:"4",width:"5",height:"5",rx:"1"}),T("rect",{x:"16",y:"4",width:"5",height:"5",rx:"1"}),T("path",{d:"M4 13.5h11M4 17.5h7"}),T("path",{d:"M17 15l3 2-3 2"})]}),CustomHTML:T("path",{d:"M9 8l-4 4 4 4M15 8l4 4-4 4"})},iA=T("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2.5"}),fA={footer:gg,Footer:gg,Divider:hg,FooterDivider:hg,Banner:XR,Flex:ZR,FooterSocial:oA,page:lA,chat:rA,Heading:JR,Text:tA,ImageBlock:ec,ButtonBlock:QR,Grid:aA,ProductRef:eA,heroMedia:nA,heroImage:ec,heroImage2:ec},cA={MenuBlock:"FooterMenu",EmailFormBlock:"FooterEmailSignup",SocialLogosBlock:"FooterSocial",SiteHeader:"header",SiteFooter:"footer"};function Lt({type:e,size:o=16,className:t}){let r=cA[e]??e,a=fA[r];return a?T(a,{size:o,className:t}):T("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:sA[r]??iA})}import{PanelHideButton as Xc}from"efficient-easel/screen/components/SidePanelHead";import{useEaselSession as O_}from"efficient-easel/screen/lib/session-context";import{jsx as oe,jsxs as ca,Fragment as dA}from"react/jsx-runtime";import{useEffect as uA,useId as yg,useState as pA}from"react";import{IconPicker as mA}from"efficient-shell/ui";import{SettingsDefaultReset as xA,SettingsField as da,SettingsSegmented as IA,SettingsSwitch as bg}from"efficient-easel/panel";import*as hA from"efficient-easel/icons";import{ButtonIcon as gA,ButtonIconIcon as yA,EyeIcon as bA,PhoneIcon as SA,PlacementIcon as CA,TypeIcon as wA}from"efficient-easel/icons";var vA="Chat with us",kA="We usually reply within a few minutes",TA="Hi! Ask us anything \u2014 about a wheel, an order, or fitment. Leave your details and we\u2019ll reply.";function Dl({label:e,value:o,placeholder:t,onCommit:r,multiline:a=!1,hint:n}){let[s,i]=pA(o);uA(()=>i(o),[o]);let f=()=>{s!==o&&r(s)};return oe(da,{label:e,icon:oe(wA,{}),changed:o!=="",action:oe(ua,{label:e,changed:o!=="",onReset:()=>r("")}),hint:n,children:a?oe("textarea",{value:s,placeholder:t,rows:3,onChange:d=>i(d.target.value),onBlur:f,"aria-label":e}):oe("input",{type:"text",value:s,placeholder:t,onChange:d=>i(d.target.value),onBlur:f,onKeyDown:d=>{d.key==="Enter"&&d.currentTarget.blur()},"aria-label":e,autoComplete:"off"})})}function ua({label:e,changed:o,onReset:t}){return oe(xA,{words:X()?.panel,label:e,changed:o,onReset:t})}function PA({label:e,icon:o,checked:t,fallback:r,onChange:a,hint:n}){let s=yg();return oe(da,{label:e,labelId:s,icon:o,changed:t!==r,action:ca("span",{className:"inline-flex items-center gap-2",children:[oe(bg,{checked:t,onChange:a,ariaLabelledBy:s}),oe(ua,{label:e,changed:t!==r,onReset:()=>a(r)})]}),hint:n})}function FA(e){let o=e.replace(/(^|-)([a-z])/g,(r,a,n)=>n.toUpperCase()),t=hA[`${o}Icon`];return t?oe(t,{size:16}):null}var EA=kl.map(e=>({value:e,icon:FA(e)}));function OA(){let{theme:e}=V(),o=He(e).themes[0];return Or(o)??o?.accent??""}function Sg(){let{chat:e,setChat:o}=Fl(),t=yg(),r=OA(),a=e.launcherIcon?Tl(e.launcherIcon):dr;return ca(dA,{children:[oe(da,{label:l("Show the chat bubble"),labelId:t,icon:oe(bA,{}),changed:!e.enabled,action:ca("span",{className:"inline-flex items-center gap-2",children:[oe(bg,{checked:e.enabled,onChange:n=>o({enabled:n}),ariaLabelledBy:t}),oe(ua,{label:l("Show the chat bubble"),changed:!e.enabled,onReset:()=>o({enabled:!0})})]}),hint:e.enabled?l("The floating chat bubble shows in the corner of every page."):l("The chat bubble is hidden across the whole site.")}),ca(Ji,{title:l("Look"),children:[oe(qe,{label:l("Button color"),icon:oe(gA,{}),changed:e.launcherColor!=="",value:e.launcherColor,inherited:r,caption:e.launcherColor?void 0:l("Site button color"),onChange:n=>o({launcherColor:n}),onReset:()=>o({launcherColor:""})}),oe(da,{label:l("Icon"),icon:oe(yA,{}),changed:a!==dr,action:oe(ua,{label:l("Icon"),changed:a!==dr,onReset:()=>o({launcherIcon:""})}),children:oe(mA,{label:l("Icon"),value:a,options:EA,onChange:n=>o({launcherIcon:n===dr?"":n})})}),oe(da,{label:l("Position"),icon:oe(CA,{}),changed:e.launcherPosition!==Ot,action:oe(ua,{label:l("Position"),changed:e.launcherPosition!==Ot,onReset:()=>o({launcherPosition:Ot})}),children:oe(IA,{options:[{label:l("Right"),id:"right"},{label:l("Left"),id:"left"}],value:e.launcherPosition,ariaLabel:l("Position"),onChange:n=>o({launcherPosition:n})})}),oe(Dl,{label:l("Label"),value:e.launcherLabel,placeholder:l("Icon only"),onCommit:n=>o({launcherLabel:n}),hint:l("Shows when a visitor points at the button")}),oe(PA,{label:l("Show on phones"),icon:oe(SA,{}),checked:e.showOnPhones,fallback:Pl.showOnPhones,onChange:n=>o({showOnPhones:n})})]}),ca(Ji,{title:l("Wording"),children:[oe(Dl,{label:l("Title"),value:e.title,placeholder:vA,onCommit:n=>o({title:n})}),oe(Dl,{label:l("Subtitle"),value:e.subtitle,placeholder:kA,onCommit:n=>o({subtitle:n})}),oe(Dl,{label:l("Greeting message"),value:e.greeting,placeholder:TA,onCommit:n=>o({greeting:n}),multiline:!0}),oe("p",{className:"es-field-hint sf-hint-keep",children:l("Leave a field blank to use the built-in wording.")})]})]})}import{jsx as Rt,Fragment as Cc,jsxs as Tg}from"react/jsx-runtime";import{useEffect as lB,useId as vg,useState as kg}from"react";import{SettingsField as sB}from"efficient-easel/panel";import{jsx as ZA}from"react/jsx-runtime";import{forwardRef as LA,createElement as oc}from"react";var Cg={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 U=(e,o,t,r)=>{let a=LA(({color:n="currentColor",size:s=24,stroke:i=2,title:f,className:d,children:p,...m},x)=>oc("svg",{ref:x,...Cg[e],width:s,height:s,className:["tabler-icon",`tabler-icon-${o}`,d].filter(Boolean).join(" "),...e==="filled"?{fill:n}:{strokeWidth:i,stroke:n},...m},[f&&oc("title",{key:"svg-title"},f),...r.map(([I,y])=>oc(I,y)),...Array.isArray(p)?p:[p]]));return a.displayName=`${t}`,a};var RA=[["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"}]],tc=U("outline","brand-facebook","BrandFacebook",RA);var AA=[["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"}]],rc=U("outline","brand-instagram","BrandInstagram",AA);var BA=[["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"}]],ac=U("outline","brand-line","BrandLine",BA);var DA=[["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"}]],nc=U("outline","brand-linkedin","BrandLinkedin",DA);var _A=[["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"}]],lc=U("outline","brand-pinterest","BrandPinterest",_A);var NA=[["path",{d:"M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4",key:"svg-0"}]],sc=U("outline","brand-telegram","BrandTelegram",NA);var MA=[["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"}]],ic=U("outline","brand-tiktok","BrandTiktok",MA);var HA=[["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"}]],fc=U("outline","brand-wechat","BrandWechat",HA);var WA=[["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"}]],cc=U("outline","brand-whatsapp","BrandWhatsapp",WA);var zA=[["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"}]],dc=U("outline","brand-x","BrandX",zA);var GA=[["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"}]],uc=U("outline","brand-youtube","BrandYoutube",GA);var UA=[["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"}]],pc=U("filled","brand-facebook-filled","BrandFacebookFilled",UA);var $A=[["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"}]],mc=U("filled","brand-instagram-filled","BrandInstagramFilled",$A);var qA=[["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"}]],xc=U("filled","brand-linkedin-filled","BrandLinkedinFilled",qA);var jA=[["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"}]],Ic=U("filled","brand-pinterest-filled","BrandPinterestFilled",jA);var KA=[["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"}]],hc=U("filled","brand-tiktok-filled","BrandTiktokFilled",KA);var VA=[["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"}]],gc=U("filled","brand-whatsapp-filled","BrandWhatsappFilled",VA);var YA=[["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"}]],yc=U("filled","brand-x-filled","BrandXFilled",YA);var XA=[["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"}]],bc=U("filled","brand-youtube-filled","BrandYoutubeFilled",XA);var KK="outline",_l={fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},QA={},Sc={fillRule:"evenodd"},JA=[["path",{..._l,d:"M21 4L3 11L7 13L9 19L12 15L17 20z"}],["path",{...Sc,d:"M21 4L3 11L7 13L9 19L12 15L17 20zM15.212 8.939 10.576 13.576 11.424 14.424 16.061 9.788z"}]],eB=[["path",{..._l,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",{...QA,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("")}]],oB=[["path",{..._l,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",{..._l,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",{...Sc,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",{...Sc,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("")}]],tB=U("filled","brand-telegram-filled","BrandTelegramFilled",JA),rB=U("filled","brand-line-filled","BrandLineFilled",eB),aB=U("filled","brand-wechat-filled","BrandWechatFilled",oB),nB={instagram:{outline:rc,solid:mc},facebook:{outline:tc,solid:pc},tiktok:{outline:ic,solid:hc},youtube:{outline:uc,solid:bc},x:{outline:dc,solid:yc},linkedin:{outline:nc,solid:xc},pinterest:{outline:lc,solid:Ic},whatsapp:{outline:cc,solid:gc},telegram:{outline:sc,solid:tB},line:{outline:ac,solid:rB},wechat:{outline:fc,solid:aB}};function wg({platform:e,iconStyle:o,size:t}){let r=nB[e][o];return ZA(r,{size:t,stroke:1.75,"aria-hidden":"true",focusable:"false"})}var iB={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 fB({platform:e}){let{rows:o,saveLink:t}=na(),{value:r,error:a}=o[e],[n,s]=kg(r),[i,f]=kg(!1),d=vg(),p=vg();lB(()=>s(r),[r]);let m=async()=>{if(n.trim()===r){n!==r&&s(r);return}f(!0),await t(e,n),f(!1)},x=gu[e];return Tg(Cc,{children:[Rt(sB,{label:l(x),htmlFor:d,icon:Rt(wg,{platform:e,iconStyle:"outline",size:18}),children:Rt("input",{id:d,type:"text",inputMode:"url",value:n,placeholder:iB[e],onChange:I=>s(I.target.value),onBlur:()=>{m()},onKeyDown:I=>{I.key==="Enter"&&I.currentTarget.blur(),I.key==="Escape"&&(s(r),I.currentTarget.blur())},"aria-invalid":a?!0:void 0,"aria-describedby":a?p:void 0,"aria-busy":i||void 0,autoComplete:"off",spellCheck:!1})}),a&&Rt("p",{id:p,className:"sf-note sf-note--error",role:"alert",children:a})]})}function Pg({unavailable:e}){let{canSave:o}=na();return!o&&e?Rt(Cc,{children:e}):Tg(Cc,{children:[Rt("p",{className:"es-field-hint sf-hint-keep",children:l("Paste a link to each profile. A platform left empty shows nothing on the site.")}),Ka.map(t=>Rt(fB,{platform:t},t))]})}import{jsx as pa,jsxs as cB}from"react/jsx-runtime";import{useId as dB,useMemo as uB}from"react";import{useEasel as pB}from"efficient-easel/easel";import{SettingsField as mB,SettingsSwitch as xB}from"efficient-easel/panel";import{EyeIcon as IB}from"efficient-easel/icons";var Fg=["","","","","",""];var hB="root:default-zone";function Eg({heroId:e}){let{appState:o,dispatch:t}=pB(p=>p),r=o.data.content??[],a=r.findIndex(p=>p.props.id===e),n=a>=0?r[a]:null,s=n?n.props.showTicker??!0:!0,i=uB(()=>{let p=n?.props.tickerItems;return Array.isArray(p)?p:Fg.map(m=>({text:m}))},[n]),f=dB();if(!n)return pa("p",{className:"sf-note",children:l("This ticker\u2019s hero is no longer on the page.")});let d=p=>t({type:"replace",destinationZone:hB,destinationIndex:a,data:{...n,props:{...n.props,...p}}});return cB("div",{children:[pa(mB,{label:l("Show ticker"),labelId:f,icon:pa(IB,{}),action:pa(xB,{checked:s,onChange:p=>d({showTicker:p}),ariaLabelledBy:f})}),pa(nf,{label:af.label,icon:af.icon,items:i,placeholder:"item",onChange:p=>d({tickerItems:p}),markup:!0})]})}import{jsx as G,Fragment as Ac,jsxs as To}from"react/jsx-runtime";import{useContext as YB,useEffect as Oc,useRef as XB,useState as oy}from"react";import{FieldSelect as ZB,InspectorField as QB}from"efficient-easel/fields";import{SettingsField as JB}from"efficient-easel/panel";import{InspectorUpLevel as Gl}from"efficient-easel/chrome";import{StylesIcon as eD,TypeIcon as oD}from"efficient-easel/icons";import{useEasel as tD}from"efficient-easel/easel";import{TextPartPanel as rD}from"efficient-easel/copy";import{Tooltip as aD}from"efficient-shell/ui";import{jsx as Pc,jsxs as kB}from"react/jsx-runtime";import{COPY_CELLS as ma,CopyBox as TB}from"efficient-easel/copy";import{PaddingYIcon as PB,WidthIcon as FB}from"efficient-easel/icons";import{useSyncExternalStore as gB}from"react";import{decodePartId as yB}from"efficient-easel/draw";function pr(e,o){let t=rl(e);return t?.control==="textList"?o.rowKey===(t.itemKey??"text")?iI(t,o.index):null:yf(e)?.[o.rowKey]??null}function Nl(e,o,t){let r=e.node.props,{key:a,row:n}=to(e.propKey),s=n?HI(r,a,n,e.kind,o):NI(r,a,e.kind,o);return s?(t(e.zone,e.index,{...e.node,props:s}),!0):!1}var bB=["bold","italic","underline","strike","link","sup","sub"],SB=["bullet","number"];function kc(e,o){return e?[...bB,...o?SB:[]]:[]}function Og(e,o){let t=yB(e);if(!t?.propKey)return null;let{nodeId:r,propKey:a}=t,n=o.getItemById(r),s=o.getSelectorForId(r);if(!n||!s)return null;let{key:i,row:f}=to(a),d=o.components[n.type]?.fields?.[i],p=f?pr(d,f):d,m=tr(p);if(!m)return null;let x=n.props??{};if(f&&!(Array.isArray(x[i])&&f.index<x[i].length))return null;let I=f?Yr(x[i],f):x[i];return{node:n,selector:s,propKey:a,kind:m,stored:I,offPage:Bn(p)}}function Lg(e,o){let t=Og(e,o);if(!t||t.offPage)return null;let{text:r,hidden:a}=Qo(t.stored);if(a)return null;let n=ol(t.kind);return{partId:e,value:r,rules:jt,multiline:n,offered:kc(t.kind!=="plainText",n),write:s=>{let i=Og(e,o);i&&Nl({node:i.node,propKey:i.propKey,kind:i.kind,zone:i.selector.zone,index:i.selector.index},s,o.replace)}}}function Rg(e,o,t){return e?.isConnected&&e.getAttribute(ro)===t?e:o?.querySelector(`[${ro}="${CB(t)}"]`)??null}function CB(e){return e.replace(/["\\]/g,"\\$&")}function Ag(e){let o=e.activeElement;return o?o.tagName==="IFRAME"||!!o.closest(".es-canvas"):!1}var wc=null,vc=new Set;function wB(){return wc}function Tc(e){if(e!==wc){wc=e;for(let o of vc)o()}}function vB(e){return vc.add(e),()=>{vc.delete(e)}}function Bg(){return gB(vB,wB,()=>null)}var EB=["left","center","right","justify"];function Fc(e,o,t,r={}){let a=Jr(e),n=(r.phone?e.sizePhone:void 0)??e.size??o.sizePx;return[r.phone?{...ma.fontSize,value:e.sizePhone,styleValue:Math.round(o.sizePx),onChange:s=>t({sizePhone:s??null})}:{...ma.fontSize,value:e.size,styleValue:Math.round(o.sizePx),onChange:s=>t({size:s??null})},{...ma.lineHeight,value:a.lineHeight,styleValue:o.lineRatio,onChange:s=>t(s===void 0?{lineHeight:null,line:null}:{lineHeight:s})},{...ma.letterSpacing,scale:n,value:a.letterSpacingEm,styleValue:o.letterEm,onChange:s=>t(s===void 0?{letterSpacing:null,letter:null}:{letterSpacing:s})},{...ma.paragraphSpacing,value:e.paragraphSpacing,styleValue:0,onChange:s=>t({paragraphSpacing:s??null})},{key:"padding",name:l("Padding"),icon:Pc(PB,{}),unit:"px",step:Ff,shiftStep:10,min:Tf,max:Pf,value:e.padding,styleValue:o.paddingPx,onChange:s=>t({padding:s??null})},{key:"width",name:l("Width"),icon:Pc(FB,{}),unit:"px",step:Of,shiftStep:100,min:Ef,max:et,value:e.width,styleValue:o.widthPx,onChange:s=>t({width:s??null})}]}function Dg({text:e,onTextChange:o,multiline:t,markup:r=!0,styled:a=!0,style:n,base:s,setValue:i,colors:f,placeholder:d,ariaLabel:p,head:m,typedOnCanvas:x=!1}){let I=Fc(n,s,i),y=kc(r,t);return kB("div",{className:"sf-part-textbox",children:[m,Pc(TB,{value:e,onChange:o,multiline:t,placeholder:d,ariaLabel:p,rules:jt,tools:y,barShows:x?"focus":"always",colors:r?f:[],align:a?{value:n.align??s.align,allow:EB,onChange:w=>i({align:w})}:void 0,letterCase:a?{value:n.case==="capitalize"?"":n.case??"",onChange:w=>i({case:w||null})}:void 0,cells:a?I:void 0})]})}import{UiIcon as ty}from"efficient-easel/draw/client";import{jsx as Ml,Fragment as OB,jsxs as LB}from"react/jsx-runtime";import{Button as _g,Dialog as RB}from"efficient-shell/ui";function Ng({styleName:e,onCancel:o,onConfirm:t}){return Ml(RB,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:l("Update {style}?",{style:e}),footer:LB(OB,{children:[Ml(_g,{variant:"secondary",onClick:o,children:l("Cancel")}),Ml(_g,{variant:"primary",onClick:t,children:l("Update style")})]}),children:Ml("p",{children:l("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 nD}from"efficient-easel/screen/components/ScreenDocumentContext";import{usePreviewDevice as lD}from"efficient-easel/draw/client";import{jsx as AB}from"react/jsx-runtime";import{createContext as BB,useContext as DB,useMemo as _B,useState as NB}from"react";var MB={partStyle:null,setPartStyle:()=>{}},Mg=BB(MB);function UV({children:e}){let[o,t]=NB(null),r=_B(()=>({partStyle:o,setPartStyle:t}),[o]);return AB(Mg.Provider,{value:r,children:e})}function Hg(){return DB(Mg)}import{TEXT_FIELD_MARKER as sD}from"efficient-easel/draw";import{useSectionOps as iD}from"efficient-easel/screen/lib/puck/use-section-ops";var HB="#9ca3af";function WB(e){return ln.map(o=>({key:o,name:Sp[o],value:e?.[o]||HB}))}function Hl(e){return WB(e).map(o=>({name:o.key,label:l(o.name),value:o.value}))}function zg(e){let o={},t=e.ownerDocument,r=t?.defaultView;if(!t||!r)return o;let a=r.getComputedStyle(e),n=t.createElement("canvas").getContext("2d");for(let s of ln){let i=qt[s].replace(/^var\((--[\w-]+)\)$/,"$1"),f=a.getPropertyValue(i).trim();if(!f)continue;let d=Wg(f);!d&&n&&(n.fillStyle="#000000",n.fillStyle=f,d=Wg(String(n.fillStyle))),d&&(o[s]=d)}return o}function Wg(e){let o=e.trim().toLowerCase();if(/^#[0-9a-f]{6}$/.test(o))return o;if(/^#[0-9a-f]{3}$/.test(o))return`#${[...o.slice(1)].map(r=>r+r).join("")}`;let t=o.match(/^rgba?\(\s*(\d+)[\s,]+(\d+)[\s,]+(\d+)/);return t?`#${t.slice(1,4).map(r=>Math.min(255,Number(r)).toString(16).padStart(2,"0")).join("")}`:null}var xa="@name",Gg="@body",Ug="@value",YV={[xa]:"Name",[Gg]:"Body",[Ug]:"Value"},zB={TimelineTrack:{"entries.date":xa,"entries.title":xa,"entries.blurb":Gg},Footprint:{"offices.city":xa},Stats:{"items.label":xa,"items.value":Ug}};function GB(e){let{key:o,row:t}=to(e);return t?`${o}.${t.rowKey}`:null}function $g(e,o){if(!e)return o;let t=GB(o);return t?zB[e]?.[t]??o:o}import{useEaselHost as fD}from"efficient-easel/screen/lib/host";function UB(e){let o=new Set([...Object.keys(cn[e]??{}),...dn[e]??[]]);for(let[t,r]of Object.entries(ai[e]??{}))r.verb==="snapshot"&&o.add(t);return[...o].sort()}var $B={CollectionCard:"product",FooterMenu:"menu",Gallery:"product",GalleryItem:"product",ProductGrid:"product",ProductHero:"product",SpecTable:"product",Events:"blog",FeaturedCover:"blog",LongRead:"blog",SubscribeBlogs:"blog"},qg={product:"Synced from the product.",blog:"Synced from the blog post.",menu:"Synced from the site menu."},jg="Open",Kg={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 Ia(e){let o=e?.source?.slug;return typeof o=="string"&&o.length>0?o:void 0}function ha(e){return $B[e]??null}function Vg(e,o){let t=ha(e);return t&&UB(e).includes(o)?t:null}function Wl(e){let o=e?.menu?.id;return typeof o=="string"&&o.length>0?o:void 0}var Yg="data-sf-spec-region";function eY(e,o,t){if(!e)return;let r=t[e];if(r)return{fontFamily:`var(--font-role-${e})`,fontSize:`var(--size-${r}, ${o.builtIn})`}}function mr(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 qB(e){return`@${e}`}function Ec(e,o){if(!o.startsWith("@"))return null;let t=o.slice(1);return t in e?t:null}function jB(e,o){return o&&o in e?o:null}var ga={tag:"text-[length:var(--size-label,13px)]",name:"text-[length:min(var(--size-headingMedium,48px),var(--sf-heading-max,9999px))]",namePhone:"max-[800px]: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)]"},KB={tag:{label:"Tag",follows:"Labels",builtIn:mr(ga.tag),writable:!0},name:{label:"Name",follows:"Heading 2",builtIn:mr(ga.name),writable:!0},body:{label:"Body",follows:"Body",builtIn:mr(ga.body),writable:!0},price:{label:"Price",follows:"Labels",builtIn:mr(ga.price),writable:!0},link:{label:"Link",follows:"Labels",builtIn:mr(ga.link),writable:!0}},Xg=KB;var VB={number:{label:"Number",follows:"Labels",builtIn:"14px",writable:!0},question:{label:"Question",follows:"Body",builtIn:"18px",writable:!0},answer:{label:"Answer",follows:"Body",builtIn:"15px",writable:!0}},Zg=VB;var iY=Yg;var Qg={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 Jg={SpecTable:Qg,FAQ:Zg,Collections:Xg};function ey(e){return e&&Object.hasOwn(Jg,e)?Jg[e]:null}function Rc(e){return e?l(e):null}function ry(e){return e.kind==="role"?Cs[e.role]:e.kind==="custom"?"Custom":null}function cD(e){let o=e.role;return o&&Oo.includes(o)?{kind:"role",role:o}:null}function dD(e,o){if(!e)return{kind:"unread"};let{faceRole:t,base:r}=e;if(o[t]===r.fontKey)return{kind:"role",role:t};let a=Object.keys(o).filter(n=>o[n]===r.fontKey);return a.length===1?{kind:"role",role:a[0]}:{kind:"custom"}}function Lc(e,o,t,r){return cD(ul(e,o))??dD(t,r)}function uD(e,o){if(!e.length)return null;let t=o(e[0]);return e.every(r=>o(r)===t)?t:null}var zl="";function pD({face:e,base:o,onPick:t}){let r=e.kind==="role"?e.role:zl,a=[{label:l("No style"),value:zl},...Oo.map(n=>({label:l(Cs[n]),value:n}))];return G(ZB,{ariaLabel:l("Style"),value:r,options:a,inline:!0,onChange:n=>t(n===zl?null:n),renderOption:n=>n.value===zl?To(Ac,{children:[G("span",{className:"es-fsel-label sf-part-style-keep",children:n.label}),G("span",{className:"sf-part-style-aside","aria-hidden":"true",children:l("Section\u2019s own")})]}):G("span",{className:"es-fsel-label",style:{fontFamily:`var(--font-role-${n.value})`},children:n.label}),renderValue:()=>G("span",{style:{fontFamily:o?.fontKey?`var(${Wt(o.fontKey)?.cssVar})`:void 0,fontWeight:o?.weight},children:Rc(ry(e))}),valueText:n=>Rc(ry(e))??n?.label??""})}function mD({sectionName:e,onBack:o,textEditor:t,styleRow:r,children:a}){return To("div",{className:"sf-part-panel",children:[G(Gl,{inline:!0,name:l(e),onSelect:o}),t,r,a]})}function Ul({source:e,slug:o,menuId:t}){let r=fD(),a=Kg[e],n=!a.needsSlug||!!o;return G("div",{className:"sf-note sf-note--source",children:To("p",{className:"es-field-hint sf-hint-keep",children:[l(qg[e]),n?To(Ac,{children:[" ",G("button",{type:"button",className:"sf-source-open",onClick:()=>{a.type==="storefront-editor:open-menus"?r.send(a.type,{menuId:t??null}):o&&r.send(a.type,{slug:o})},children:l(jg)})]}):null]})})}var ay=4,xD=120;function ID({region:e,sizePx:o,face:t,base:r,onFollowStyle:a,source:n,slug:s,onBack:i}){let f=e.follows;return To("div",{className:"sf-note",children:[G("p",{children:G("strong",{children:l(e.label)})}),G("p",{children:o?l("Its size follows Styles \u25B8 {follows} \u2014 {px}px right now.",{follows:l(f),px:Math.round(o)}):l("Its size follows Styles \u25B8 {follows}.",{follows:l(f)})}),a?G(Ac,{children:G(JB,{label:l("Style"),icon:G(eD,{}),hint:l("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:l(e.label).toLowerCase()}),children:G(pD,{face:t,base:r,onPick:a})})}):G("p",{className:"es-field-hint sf-hint-keep",children:l("Only the size follows a site style. This section sets its own font, weight and letter case.")}),n?G(Ul,{source:n,slug:s}):null,G(Gl,{inline:!0,name:l("Page"),onSelect:i})]})}function hD({onBack:e}){return To("div",{className:"sf-note",children:[G("p",{children:G("strong",{children:l("This part is no longer here.")})}),G("p",{children:l("The section it belonged to has been changed or removed.")}),G(Gl,{inline:!0,name:l("Page"),onSelect:e})]})}function gD({onBack:e,partId:o,why:t}){return To("div",{className:"sf-note",children:[G("p",{children:G("strong",{children:l("This part's settings did not open.")})}),G("p",{children:l("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.")}),G("p",{className:"sf-note-detail",children:To("code",{children:[o," \u2014 ",t]})}),G(Gl,{inline:!0,name:l("Page"),onSelect:e})]})}function ny({nodeId:e,propKey:o,onBack:t,onEditStyle:r}){let{getItemById:a,getSelectorForId:n,config:s}=tD(_=>_),i=iD(),f=Bg(),{partStyle:d}=Hg(),{fonts:p,textStyles:m}=V(),x=YB(nD),I=!x?.capabilities?.hasSiteTheme,{persist:y}=Kt({themeFromDocument:I,tokenRef:x?.tokenRef,siteId:x?.siteId??null}),w=ml({themeFromDocument:I,persist:y}),[v,k]=oy(!1),C=lD()==="mobile",g=XB(null),b=a(e),O=n(e),F=b?s.components[b.type]:void 0,{key:L,row:P}=to(o),M=F?.fields?.[L],z=P?pr(M,P):M,B=ll(e,o),A=b?.props??{},W=tr(z),D=Bn(z),te=jI(z),ie=b?ha(b.type):null,de=b?Vg(b.type,L):null,lo=P?Yr(A[L],P):A[L],so=!!P&&!(Array.isArray(A[L])&&P.index<A[L].length);Oc(()=>{Ag(document)||g.current?.querySelector(".es-copy [contenteditable='true'], .es-copy textarea, .sf-copybox textarea, .sf-copybox input")?.focus()},[B]);let[Le,io]=oy(0);Oc(()=>io(0),[B]);let _e=!!b&&!so&&(!O||!z);Oc(()=>{if(!_e||Le>=ay)return;let _=setTimeout(()=>io(Ie=>Ie+1),xD);return()=>clearTimeout(_)},[_e,Le]);let Te=_e&&Le<ay;if(!b||so)return G(hD,{onBack:t});let xe=ey(b.type),he=xe?Ec(xe,o):null;if(xe&&he){let _=d?.partId===B?d:null,Ie=xe[he],xo=Ie.writable===!0&&!!O,Go=Ss=>{O&&i.replaceComponent(O.zone,O.index,{...b,props:lr(A,o,"role",Ss)})};return G(ID,{region:Ie,sizePx:_?.base.sizePx??null,face:Lc(A,o,_,p),base:_?.base??null,onFollowStyle:xo?Go:void 0,source:ie,slug:Ia(A),onBack:t})}if(!O||!z)return Te?G("div",{className:"sf-note","aria-busy":"true"}):G(gD,{onBack:t,partId:B,why:O?"no field":"no selector"});let Ne=_=>{i.replaceComponent(O.zone,O.index,{...b,props:_})},Pe=_=>{if(Qo(_).hidden!==Qo(lo).hidden||!W){let Ie=P?bf(A,L,P,_):{...A,[L]:_};Ie&&Ne(Ie);return}Nl({node:b,propKey:o,kind:W,zone:O.zone,index:O.index},Qo(_).text,i.replaceComponent)},fo=lo,Me=d?.partId===B?d:null,Ge=Me?.styleOwner,co=Ge?a(Ge.owner):null,uo=Ge&&co?n(Ge.owner):null,Fo=!!(Ge&&co&&uo),Ve=Fo?co.props??{}:A,po=Fo?_=>i.replaceComponent(uo.zone,uo.index,{...co,props:_}):Ne,E=Fo?Ge.kind:$g(b?.type,o),$=ul(Ve,E),q=[{partKey:E,face:Lc(Ve,E,Me,p),sizeGroup:Me?.sizeGroup??null,base:Me?.base??bD,style:$}],Re=uD(q,_=>_.sizeGroup),mo=Hl(Me?.inks),Ye=(_,Ie)=>{let xo=Ve;for(let Go of q)xo=lr(xo,Go.partKey,_,Ie);po(xo)},Mt=_=>_?Ye("textStyle",_):Fe({textStyle:null,role:null}),Fe=_=>{let Ie=Ve;for(let xo of q)for(let[Go,Ss]of Object.entries(_))Ie=lr(Ie,xo.partKey,Go,Ss??null);po(Ie)},Eo=W==="text"||W==="textarea",{text:Ua,hidden:Ht}=Qo(lo),$a=z?.[sD]?.label??o,Gd=Ht?l("Show {label} on the slide",{label:l($a)}):l("Hide {label} on the slide",{label:l($a)}),Ud=To("div",{className:"sf-field-head",children:[G(oD,{}),G("span",{className:"sf-field-label sf-field-label--inline",children:l($a)}),Eo&&G(aD,{content:Gd,children:G("button",{type:"button",className:"sf-field-eye","aria-pressed":Ht,"aria-label":Gd,onClick:()=>Pe({text:Ua,hidden:!Ht}),children:Ht?G(ty,{name:"eye-off",size:14}):G(ty,{name:"eye",size:14})})})]}),$d=!D&&te,iw=!!W&&(Vx(z)||D||Ht||!te),qd=Lc(Ve,E,Me,p),fw=qd.kind==="role"?qd.role:null,bs=th($)??xh(fw),jd=ot(w.saved,w.old),cw=Object.entries($).filter(([_,Ie])=>_!=="role"&&_!=="textStyle"&&Ie!==void 0).length,dw=()=>{let _=Ve;for(let Ie of q){let{role:xo,textStyle:Go}=Ie.style;_=sh(_,Ie.partKey),xo&&(_=lr(_,Ie.partKey,"role",xo)),Go&&(_=lr(_,Ie.partKey,"textStyle",Go))}po(_)},st=bs,uw=Ih(q[0].style),pw=st?jd.find(_=>_.id===st)?.name??st:"",mw=()=>{k(!1),st&&(w.write(hh({saved:w.saved,old:w.old,styleId:st,values:Nf(q[0].style)}),!0),dw())};return To(mD,{sectionName:F?.label??b.type,onBack:t,textEditor:G("div",{ref:g,className:"sf-part-text",children:iw?G(Dg,{text:Ua,onTextChange:_=>Pe(Eo?{text:_,hidden:Ht}:_),multiline:ol(W),markup:W!=="plainText",styled:!1,style:q[0].style,base:q[0].base,setValue:Fe,colors:mo,placeholder:Rc(_I(z))??void 0,ariaLabel:l($a),head:Ud,typedOnCanvas:f===B}):W?Eo?Ud:null:G(QB,{field:z,name:o,value:fo,onChange:Pe,id:`sf-part-${e}-${o}`})}),children:[de&&G(Ul,{source:de,slug:Ia(A),menuId:Wl(A)}),$d&&G(rD,{style:{value:bs??"",options:[{value:"",label:l("No style"),description:l("Section\u2019s own")},...jd.map(_=>({value:_.id,label:_.name,description:_.values.font?Wt(_.values.font)?.label:void 0}))],onChange:_=>Mt(_||null),changed:cw>0,onEditStyles:r,onUpdateStyle:st&&uw?()=>k(!0):void 0},font:{value:$.font??"",styleValue:Wt(q[0].base.fontKey)?.label,options:Xe.map(_=>({label:_.label,value:_.key})),onChange:_=>Ye("font",_||null)},italic:{value:$.italic,styleValue:yD(m,bs),onChange:_=>Ye("italic",_??null)},cells:Fc(q[0].style,q[0].base,Fe,{phone:C}),align:{value:$.align??"",styleValue:q[0].base.align,onChange:_=>Ye("align",_||null)},letterCase:{value:$.case??"",styleValue:q[0].base.case,onChange:_=>Ye("case",_||null)}}),v&&st&&G(Ng,{styleName:pw,onCancel:()=>k(!1),onConfirm:mw}),$d&&Re===null&&G("p",{className:"es-field-hint sf-hint-keep",children:l("Fixed size \u2014 the site\u2019s Text setting doesn\u2019t resize this.")})]})}function yD(e,o){return!o||!Array.isArray(e)?!1:e.find(t=>t?.id===o)?.values?.italic===!0}var bD={fontKey:"",sizePx:16,weight:400,lineRatio:1.4,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:et};import{jsx as ao,jsxs as Bc,Fragment as SD}from"react/jsx-runtime";import{useCallback as CD,useRef as wD,useState as ya}from"react";import{InspectorIconButton as vD}from"efficient-easel/chrome";import{PopupMenu as kD,PopupMenuItem as TD,PopupMenuLabel as $l}from"efficient-shell/ui";import{CopyToPageIcon as PD}from"efficient-easel/icons";import{useEaselSession as FD}from"efficient-easel/screen/lib/session-context";import{cloneNodeWithFreshIds as ED}from"efficient-easel/screen/lib/puck/section-doc";import{FOOTER_TYPE as OD}from"efficient-easel/draw";function ly({node:e,currentSlug:o,siteId:t,tokenRef:r,runAuthed:a,onNotify:n}){let[s,i]=ya(!1),[f,d]=ya(null),p=FD(),[m,x]=ya(!1),[I,y]=ya(null),w=wD(null),[v,k]=ya(null),C=CD(async()=>{if(p.usesBridgedToken&&!r.current){x(!0);return}try{d(await Se(p).pages.list(t?{siteId:t}:void 0))}catch{x(!0)}},[r,t,p]),g=()=>{if(s){i(!1);return}let F=w.current?.getBoundingClientRect();F&&k({top:F.bottom+6,right:Math.max(8,window.innerWidth-F.right)}),d(null),x(!1),C(),i(!0)},b=(f??[]).filter(F=>F.slug!==o),O=async F=>{if(I)return;y(F.slug);let L=ED(e),P=p.documentHooks?.storedNode?.(L)??L,M=Se(p).pages,z=await a(async()=>{let B=await M.load({id:F.id});if(!B)throw new Error(`Page "${F.slug}" no longer exists.`);let A=B.layout??{},W=Array.isArray(A.content)?[...A.content]:[],D=W.findIndex(te=>te?.type===OD);W.splice(D===-1?W.length:D,0,P),await M.save(F.id,{layout:{root:{},zones:{},...A,content:W}},{version:B.version,clientId:""})});y(null),i(!1),n?.(z?l("Duplicated to \u201C{name}\u201D",{name:F.label}):l("Couldn\u2019t duplicate the section \u2014 please retry"),z?"success":"error")};return Bc(SD,{children:[ao("span",{"data-menu-toggle":!0,style:{display:"contents"},children:ao(vD,{buttonRef:w,label:l("Duplicate to another page"),hasPopup:"menu",expanded:s,onClick:g,children:ao(PD,{size:15})})}),s&&v&&ao(kD,{portal:!0,style:{top:v.top,right:v.right},onClose:()=>i(!1),children:Bc("div",{role:"menu","aria-label":l("Duplicate to page"),children:[ao($l,{children:l("Duplicate to page")}),m?ao($l,{children:l("Couldn\u2019t load pages")}):f===null?ao($l,{children:l("Loading\u2026")}):b.length===0?ao($l,{children:l("No other pages")}):b.map(F=>Bc(TD,{role:"menuitem",disabled:I!==null,onClick:()=>{O(F)},children:[ao("span",{className:"min-w-0 flex-1 truncate",children:F.label}),I===F.slug?ao("span",{className:"shrink-0 text-xs",children:l("Copying\u2026")}):F.draft&&ao("span",{className:"shrink-0 text-xs",children:l("draft")})]},F.id))]})})]})}import{useScreenDocument as L_}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSectionOps as R_}from"efficient-easel/screen/lib/puck/use-section-ops";import{SELECTION_MODE as A_}from"efficient-easel/screen/lib/screen-parts";import{usePreviewParts as B_}from"efficient-easel/draw/client";import{jsx as ba,jsxs as LD}from"react/jsx-runtime";import{SettingsDrill as RD}from"efficient-easel/panel";import{UiIcon as AD}from"efficient-easel/draw/client";var BD="Not shown on the page";function DD({part:e,onOpen:o}){return ba(RD,{name:l(e.label),preview:e.offPage?l(BD):e.preview||l("Empty"),offPage:e.offPage,status:e.hidden?ba("span",{className:"sf-entry-eye",role:"img","aria-label":l("Hidden on the page"),children:ba(AD,{name:"eye-off",size:14})}):void 0,onOpen:()=>o(e.key)})}function Dc(e){return e.filter(o=>!o.identifier)}function sy({parts:e,onOpen:o,heading:t=!0}){let r=Dc(e);return r.length?LD("div",{className:"sf-entries",children:[t?ba("h3",{className:"sf-entries-head",children:l("Text")}):null,r.map(a=>ba(DD,{part:a,onOpen:o},a.key))]}):null}import{HEADER_TYPE as D_,ROOT_ZONE as Ky}from"efficient-easel/draw";import{HEADER_TYPE as De,FOOTER_TYPE as le,newNodeId as _D}from"efficient-easel/draw";function ql(){return{type:De,props:{id:_D(De)}}}var iy=[{type:"FooterLogo",label:"Logo"},{type:"FooterMenu",label:"Menu"},{type:"FooterText",label:"Text"},{type:"FooterEmailSignup",label:"Email Form"},{type:"FooterSocial",label:"Social Logos"},{type:"FooterGroup",label:"Footer Box"},{type:"FooterDivider",label:"Divider"}],ND=iy.filter(e=>e.type!=="FooterLogo"&&e.type!=="FooterGroup"),MD="FooterGroup",fy="blocks";function cy(e){return e===le?iy:e===MD?ND:null}function jl(){let e=(o,t)=>({type:o,props:{id:`${o}-${crypto.randomUUID()}`,...t}});return[e("FooterLogo",{widthPct:100,align:"left",tagline:""}),e("FooterGroup",{direction:"vertical",align:"start",blocks:[e("FooterText",{text:"Join our email list",size:"md",tone:"default"}),e("FooterEmailSignup",{heading:"",placeholder:"Email address",buttonLabel:"Subscribe"})]})]}var se="SiteHeader",ae="SiteFooter",_c="sections",IX=[se,ae],xr=e=>e===se||e===ae,dy=e=>`${e}:${_c}`;function uy(e,o,t=[]){return{type:e,props:{id:o,[_c]:t}}}var HD=new Set(["Footer",se,ae]);function Ir(e){let o=new Set,t=!1,r=e.filter(a=>{let n=a?.type??"";return n==="Header"?(t=!0,!1):HD.has(n)?o.has(n)?(t=!0,!1):(o.add(n),!0):!0});return t?r:e}function Kl(e,o){return e.some(t=>t?.type===o.type)?e:o.type===se?[o,...e]:[...e,o]}var py={[se]:{max:3,takes:["Flex","Ticker"]},[ae]:{max:6,takes:["Flex","Prose","Logos","Divider"]}};function my(e,o,t){if(!xr(e))return!0;let r=py[e];return t<r.max&&r.takes.includes(o)}function xy(e,o){let t=o,r=t?.props?.id;if(r==null)return null;let a=e?.content;if(!Array.isArray(a))return null;for(let n of a){if(!xr(n?.type))continue;let s=n.props?.[_c];if(!Array.isArray(s)||!s.some(f=>f?.props?.id===r))continue;let i=py[n.type];return i.takes.includes(t?.type??"")?s.length>=i.max?{group:n.type,why:"full"}:null:{group:n.type,why:"type"}}return null}function Nc(e){switch(e?.type){case se:case ae:return l("On every page");case De:case le:return l("On every page \xB7 old style");default:return null}}var Iy=()=>null,hy=()=>l("Changed on every page");function Vl(e,o){let t=qu(e,o);if(t)return t;let r=xy(e,o);if(!r)return null;let a=r.group===se;return r.why==="type"?a?l("The header cannot take another one of these"):l("The footer cannot take another one of these"):a?l("The header holds at most 3 sections"):l("The footer holds at most 6 sections")}import{jsx as Zl,Fragment as VD,jsxs as YD}from"react/jsx-runtime";import{useState as XD}from"react";import{createNode as ZD,newId as QD}from"efficient-easel/data";import{useEasel as JD}from"efficient-easel/easel";import{Banner as e_,Button as Mc}from"efficient-shell/ui";import{useScreenDocument as o_}from"efficient-easel/screen/components/ScreenDocumentContext";var Yl="Flex",WD={FooterMenu:"MenuBlock",FooterEmailSignup:"EmailFormBlock",FooterSocial:"SocialLogosBlock"},zD=e=>{let{id:o,...t}=e;return t},gy=e=>typeof e=="string"?e:"",Xl=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,yy={sm:12,md:13,lg:15},GD="md",by=1.5,UD={size:13,lineHeight:by,width:280},$D=14,qD=40,jD=e=>e==="center"||e==="right"?e:"left";function KD(e){let o={},t=[["padTop","sectionPaddingTop"],["padRight","sectionPaddingRight"],["padBottom","sectionPaddingBottom"],["padLeft","sectionPaddingLeft"]];for(let[r,a]of t){let n=Xl(e[r]);n&&(o[a]=n)}return o}function Sy(e,o){let t=e.props??{},r=WD[e.type];if(r)return[o(r,zD(t))];switch(e.type){case"FooterLogo":{let a=jD(t.align),n=o("LogoBlock",{...t.reverse?{reverse:t.reverse}:{},...typeof t.customColor=="string"&&t.customColor?{customColor:t.customColor}:{},heightPx:Math.round(bu*((Xl(t.widthPct)??100)/100)),href:"/",align:a,...KD(t)}),s=gy(t.tagline).trim();return s?[n,o("Text",{text:s,tone:"dim",align:a,_partStyles:{text:{...UD}}})]:[n]}case"FooterText":{let a=typeof t.size=="string"&&t.size in yy?t.size:GD;return[o("Text",{text:gy(t.text),tone:typeof t.tone=="string"?t.tone:"default",_partStyles:{text:{size:yy[a],lineHeight:by}}})]}case"FooterDivider":{let a=Xl(t.thickness),n=Xl(t.lengthPct);return[o("Divider",{...a!==void 0?{thickness:a}:{},...n!==void 0?{lengthPct:n}:{},...t.hideOnMobile===!0?{hideOnMobile:!0}:{}})]}case"FooterGroup":{let a=Array.isArray(t.blocks)?t.blocks:[];return[o(Yl,{direction:t.direction==="horizontal"?"row":"column",gap:zr("FooterGroup",t.gap),align:t.align==="center"||t.align==="end"?t.align:"start",content:a.flatMap(n=>Sy(n,o))})]}default:return[]}}function Sa(e,o,t){let r=e&&Array.isArray(e.props?.blocks)?e.props.blocks:[],a=d=>o(Yl,{direction:"row",wrap:!0,share:"equal",gap:qD,content:d}),n=[],s=[];for(let d of r){let p=Sy(d,o);if(d.type==="FooterDivider"){s.length&&n.push(a(s)),s=[],n.push(...p);continue}p.length<=1?s.push(...p):s.push(o(Yl,{direction:"column",gap:$D,align:"stretch",content:p}))}(s.length||!n.length)&&n.push(a(s));let i=o(Yl,{direction:"column",content:[o("LegalLineBlock")]}),f=uy(ae,t,[...n,i]);return{...f,props:{...f.props,...e?.props?.width==="full"?{fullWidth:!0}:{}}}}function Cy(){let{appState:e,dispatch:o,config:t}=JD(p=>p),{readOnly:r}=o_(),[a,n]=XD(!1),s=e.data.content;if(r||s.some(p=>p.type===ae))return null;let i=s.find(p=>p.type===le)??null,f=(p,m)=>ZD(t,p,m),d=()=>{let p=Sa(i,f,QD(ae));o({type:"setData",data:m=>({...m,content:[...Kl(m.content,p)]}),recordHistory:!0}),n(!1)};return Zl(e_,{tone:"info",title:l("This footer uses the old layout"),action:a?YD(VD,{children:[Zl(Mc,{variant:"primary",size:"sm",onClick:d,children:l("Switch now")}),Zl(Mc,{variant:"secondary",size:"sm",onClick:()=>n(!1),children:l("Cancel")})]}):Zl(Mc,{variant:"secondary",size:"sm",onClick:()=>n(!0),children:l("Switch to Box footer")}),children:l("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 Kc}from"react/jsx-runtime";import{useLayoutEffect as h_,useMemo as zy,useRef as g_,useState as qc}from"react";import{useEasel as y_,useSelectedFields as b_}from"efficient-easel/easel";import{Inspector as S_,planFields as Gy}from"efficient-easel/fields";import{jsx as hr}from"react/jsx-runtime";import{usePreviewDevice as t_}from"efficient-easel/draw/client";import{NoControlMark as wy,noControlField as vy}from"efficient-easel/screen/lib/puck/panel-no-control-mark";var Hc=e=>l(Jt[e==="content"?"page":"full"]),ky=e=>`${e} ${l("from Styles")}`;function Ty(){let{siteWidth:e,sectionBackgroundWidth:o,sectionContentWidth:t}=V();return{px:typeof e=="number"?e:pe.default,background:o??"full",content:t??"content"}}function Py(){try{return t_()==="mobile"}catch{return!1}}function r_({type:e,onChange:o}){let t=vo(),r=Ty(),a=Py(),n=qi(e,t).background;return hr(Jn,{value:n??r.background,changed:n!==null,detail:ky(Hc(r.background)),onChange:s=>o(s),onReset:()=>o(Ur),disabled:a})}function a_({type:e,onChange:o}){let t=vo(),[,r]=Mn("contentMax"),a=Ty(),n=Py(),s=qi(e,t),i=(s.background??a.background)==="content",f=s.content??a.content;return hr(el,{mode:i&&f==="full"?"content":f,px:s.contentMax??a.px,max:i?a.px:pe.max,changed:s.content!==null,detail:ky(a.content==="full"?Hc("full"):`${Hc("content")} ${a.px}px`),fullClosed:i,disabled:n,hint:n?AI:i?OI:void 0,onMode:d=>{o(d),d==="full"&&r(null)},onPx:d=>{o("content"),r(d===a.px?null:d)},onReset:()=>{o(Ur),r(null)}})}function n_(e){return Jo({_gWidth:ve(EI),backgroundWidth:{type:"custom",render:({onChange:o})=>hr(r_,{type:e,onChange:o})},contentWidth:{type:"custom",render:({onChange:o})=>hr(a_,{type:e,onChange:o})},contentMax:{...vy({type:"custom",render:()=>hr(wy,{})},"always"),reachedBy:"contentWidth"},widthMode:{...vy({type:"custom",render:()=>hr(wy,{})},"always"),reachedBy:"backgroundWidth"}})}var Fy=Object.keys(n_(""));import{deviceField as l_,deviceMetaOf as Oy}from"efficient-easel/screen/lib/puck/device-fields";import{DESIGN_GROUPS as zc,SETTINGS_BUCKETS as s_}from"efficient-easel/panel";import{BUCKET_KEY as We,DESIGN_GROUP_KEY as Ca}from"efficient-easel/screen/lib/puck/field-buckets";var wa=s_;var i_="Editor only \u2014 not shown live",Gc={"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",Cards:"Content","Claims bars":"Content","Contact info":"Content",Content:"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 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",Media:"Content","Background image":"Design",Color:"Design","Image tint":"Design",Style:"Design",Shape:"Design",Texture:"Design","Text style":"Design",Motion:"Animation",Anchor:"Anchor",Arrangement:"Layout","Auto-slide":"Layout",Bar:"Layout","Cell width":"Size",Behavior:"Layout",Controls:"Layout",Diagram:"Layout",[i_]:"Layout","Filters shown":"Layout","Slide picker":"Layout",Arrows:"Layout","On a phone":"Layout",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",Height:"Size"},Ly={"AlloyWheelsListing._gCards":"Design","ProductGrid._gCards":"Design"},Ry={"Text._gSpacing":"Size","Heading._gSpacing":"Size"};function Wc(e,o,t){let r=`${e}.${o}`;return Ry[r]??Ly[r]??Gc[t]}function Ay(e){return e==="Animation"?[We.Animation]:[We.Design,Ca[e]]}function Ql(...e){let o=[];for(let t of e)for(let r of Object.values(t)){let a=Oy(r),n=No(a?a.inner:r),s=n?Gc[n.label]:void 0;if(s)for(let i of Ay(s))o.includes(i)||o.push(i)}return o}var JX=[...Ql(zn(),Gn("full"),Un(),$n(),tf()),...Object.keys(zn()),...Object.keys(Gn("full")),...Object.keys(Un()),...Object.keys($n()),...Object.keys(tf()),...Fy],eZ=[...Ql(_n()),...Object.keys(_n())],oZ=[...Ql(Hn()),...Object.keys(Hn())],tZ=[...Ql(Wn()),...Object.keys(Wn())],f_=Object.keys(fI()),c_=new Set(["cardImage","imageBackground"]),rZ=[...Ay(Wc("ProductGrid","_gCards","Cards")??"Design"),...f_.filter(e=>e.startsWith("_g")||c_.has(e))],aZ=Object.keys(cI()),nZ=Object.keys(dI({bottomDefault:!0})),d_={"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)","EmailFormBlock._gContent":"duplicated the Content 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)"},By={Content:["Content"],Size:["Size"],Design:["Design","Style"],Layout:["Layout"],Position:["Position"],Anchor:["Anchor"],Animation:["Animation"]},Dy={_gAnchor:"repeated the Anchor group heading above it (two tabs, 11.0.0)"};{let e={...zn(),...Gn("full"),...Un(),...$n(),..._n(),...Hn(),...Wn()};for(let o of Object.keys(Dy)){let t=No(e[o]),r=t?Gc[t.label]:void 0;if(!t||t.level!==2||!r||!By[r].includes(t.label))throw new Error(`INJECTED_RETIRED (lib/puck/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 u_=new Set(["_sContent","_sStyle","_sLayout","_sMedia"]),p_=new Map([[We.Design,"Content"],[We.Animation,"Animation"],...zc.map(e=>[Ca[e],e])]);function _y(e){let o=new Set([...Object.values(We),Ca.Content]);for(let[t,r]of Object.entries(e))if(!o.has(t)&&No(r)?.level===1)return 1;return 2}function m_(e){let o=`${e}.`;return Object.keys(d_).filter(t=>t.startsWith(o)).map(t=>t.slice(o.length))}function x_(e,o){let t=Oy(e),r=ve(o);return t?l_(t.tier,r):r}function I_(e,o){let t=No(o);return t?e==="Content"||e==="Animation"?Qx(o,t.label):Jx(o):o}function Ey(e){return e==="Design"?zc:["Animation"]}function lZ(e,o){let t=[],r=new Set(m_(o)),a=new Set,n=!1,s=null;for(let[x,I]of Object.entries(e)){let y=No(I);if(u_.has(x))throw new Error(`${o}.${x}: 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 w=p_.get(x);if(w!==void 0){if(y?.level!==1)throw new Error(`${o}.${x}: that key is reserved for the ${w} heading of the settings panel, but this field is ${y?`a level-${y.level} "${y.label}" header`:"not a header"}, so it cannot serve as one. Rename the section's own field.`);(x===We.Design||x===We.Animation)&&(n=!0),t.push(s={place:w,entries:[],adopted:!0});continue}if(!y){s||t.push(s={place:"Content",entries:[]}),s.entries.push([x,I]);continue}if(r.has(x)||x in Dy){let k=Wc(o,x,y.label);if(y.level!==2||!k||!By[k].includes(y.label))throw new Error(`${o}.${x}: ${r.has(x)?"RETIRED":"INJECTED_RETIRED"} (lib/puck/field-groups.ts) lists this sub-heading as one whose name repeats the place it sits in, but it is a level-${y.level} "${y.label}" header in the ${k??"(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.`);r.has(x)&&a.add(x),t.push(s={place:k,entries:[]});continue}let v=Wc(o,x,y.label);if(!v)throw new Error(`${o}.${x}: the inspector group "${y.label}" is not classified in LABEL_GROUP (lib/puck/field-groups.ts), so there is no way to say which of ${[...zc,"Animation"].join(" / ")} its controls belong under. Classify it \u2014 an unclassified group silently lands wherever it was declared, which is the whole bug.`);t.push(s={place:v,entries:[[x,y.level===2?I:x_(I,y.label)]]})}let i=new Set(Object.entries(e).filter(([,x])=>No(x)).map(([x])=>x));for(let[x,I]of[["BLOCK_KEY_GROUP",Ry],["KEY_GROUP",Ly]]){let y=Object.keys(I).filter(w=>w.startsWith(`${o}.`)).filter(w=>!i.has(w.slice(o.length+1)));if(y.length)throw new Error(`${o}: ${x} (lib/puck/field-groups.ts) lists ${JSON.stringify(y)}, 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 f=n?[]:[...r].filter(x=>!a.has(x));if(f.length)throw new Error(`${o}: RETIRED (lib/puck/field-groups.ts) lists ${JSON.stringify(f)}, but this section has no such fold header${f.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(x=>x.entries.length>0).map(x=>x.place)),p=wa.filter(x=>Ey(x).some(I=>d.has(I))),m={};for(let x of p){m[We[x]]=Dn(x,x===p[0]?p:null);for(let I of Ey(x)){if(!d.has(I))continue;let y=t.filter(v=>v.place===I),w=y.findIndex(v=>v.adopted);w>0&&y.unshift(...y.splice(w,1)),x==="Design"&&(m[Ca[I]]=Qi(I));for(let v of y)for(let[k,C]of v.entries)m[k]=I_(I,C)}}return m}function sZ(e){return We.Design in e?e:{[We.Design]:Dn("Design",null),[Ca.Content]:Qi("Content"),...e}}function iZ(e){return wa.some(o=>We[o]in e)}function fZ(e){let o=wa.filter(r=>We[r]in e);if(o.length===0)return e;let t={...e};for(let r of o)t[We[r]]=Dn(r,r===o[0]?o:null);return t}import{usePreviewDevice as C_}from"efficient-easel/draw/client";var Uc=" text",Ny="Text";function $c(e){let o=e.rows.filter(t=>t.shown);return o.length===0||o.length===1&&o[0].labelled}function My(e){return e.filter($c).map(o=>o.key)}function Hy(e,o){let t=null;for(let r of o){let a=e[r];!a||a.marker!==!0||typeof a.fold!="string"||(t??={...e},t[r]={...a,fold:!1})}return t??e}function Wy(e,o){if(e.size!==o.size)return!1;for(let t of e)if(!o.has(t))return!1;return!0}var jc=new Map,Jl=new Set;function w_(e,o){let t=new Map;for(let a of e.querySelectorAll(".es-insp-row[data-field]"))t.set(a.getAttribute("data-field")??"",a);let r=[];for(let[a,n]of o)r.push({key:a,rows:n.map(s=>{let i=t.get(s),f=!!i&&[...i.children].some(p=>!p.hidden),d=i?.querySelector(".es-field-label, .es-list-label")?.textContent?.trim();return{shown:f,labelled:f&&!!d}})});return r}var v_=Object.fromEntries(wa.map(e=>{let o=Yx[e];return[e,Kc(o,{},e)]}));function va({entries:e,entryCount:o=0,part:t=null}){let{id:r,fields:a,values:n,readOnly:s,onChange:i}=b_(),f=C_(),{appState:d,config:p}=y_(W=>W),m=ig(f,p,d.data.content??[],d.ui.itemSelector),x=pg(a,t),I=sg(x,n,m),[y,w]=qc(()=>new Set(Jl)),[v,k]=qc(()=>new Set),C=g_(null),g=zy(()=>{let W=new Map;for(let D of Gy(I).rows){if(!D.fold)continue;let te=W.get(D.fold.key)??[];te.push(D.name),W.set(D.fold.key,te)}return W},[I]);h_(()=>{let W=C.current?.parentElement;if(!W)return;let D=new Set(My(w_(W,g)));k(te=>Wy(te,D)?te:D)});let b=zy(()=>Hy(I,v),[I,v]),O={key:Uc,rows:Array.from({length:o},()=>({shown:!0,labelled:!0}))},F=$c(O)?void 0:{key:Uc,title:Ny},[L,P]=qc(()=>jc.get(r)),M=jc.get(r),z=Gy(I).buckets,B=M&&z.includes(M)?M:L&&z.includes(L)?L:z[0],A=B===void 0||Xx(z,B)!==!0;return Kc(S_,{fields:b,values:n,onChange:i,readOnly:s,showWhenContext:{...m,node:n},tab:B,onTab:W=>{jc.set(r,W),P(W)},tabIcons:v_,idPrefix:r,ariaLabel:l("Section settings"),lead:A?e:null,leadFold:F,closedFolds:y,onFold:(W,D)=>{D?Jl.delete(W):Jl.add(W),w(new Set(Jl))},children:Kc("span",{ref:C,hidden:!0})})}import{jsx as Vc,jsxs as k_}from"react/jsx-runtime";import{InspectorUpLevel as Uy}from"efficient-easel/chrome";function $y({nodeId:e,part:o,sectionName:t,onUpToSection:r}){let{select:a}=El();return k_("div",{children:[o!=="media"?Vc(Uy,{inline:!0,name:l(ur.media),onSelect:()=>a(fa(e,"media"))}):Vc(Uy,{inline:!0,name:l(t),onSelect:r}),Vc(va,{part:o})]})}import{SettingsSwitch as __}from"efficient-easel/panel";var Yy=A_,Qc={kind:"header"},Jc={kind:"website"},Xy={kind:"chat"},Zy={kind:"social"},ka="Part";function N_(e){return l("Part of {name}",{name:l(e)})}function M_(e,o,t){let r=e.describeNode(o);return{name:t,kindLabel:r?N_(r.label):l(ka)}}function H_(e){switch(e){case"Header":return{title:l("Header settings belong to a website."),own:l("Each website created from this template sets its own header afterwards.")};case"Appearance":return{title:l("Appearance settings belong to a website."),own:l("Each website created from this template sets its own appearance afterwards.")};case"Live chat":return{title:l("Live chat settings belong to a website."),own:l("Each website created from this template sets its own live chat afterwards.")};case"Social link":return{title:l("Social link settings belong to a website."),own:l("Each website created from this template sets its own social link afterwards.")};default:return{title:l("{what} settings belong to a website.",{what:e}),own:l("Each website created from this template sets its own {what} afterwards.",{what:e.toLowerCase()})}}}function Qy({what:e}){let o=H_(e);return at("div",{className:"sf-note",children:[Z("p",{children:Z("strong",{children:o.title})}),at("p",{children:[l("A template is a blueprint \u2014 it has no website of its own, so there is nothing here to change.")," ",o.own]})]})}function Zc(e){let o=ia[e];return{name:ur[e],kindLabel:ka,icon:o,head:(t,r)=>{if(t.kind!==o)return null;let a=r.describeNode(t.nodeId);if(!a)return null;let n=Vy({name:l(Bl(e,a.props)),tier:"part",of:l(a.label)},{partOf:({name:s})=>l("Part of {name}",{name:s})});return{name:n.name,kindLabel:n.kind}},render:(t,r)=>t.kind===o?Z($y,{nodeId:t.nodeId,part:e,sectionName:r.describeNode(t.nodeId)?.label??"Hero",onUpToSection:()=>r.onSelectNode(t.nodeId)}):null}}var W_={header:{name:"Header",kindLabel:"Site settings",icon:"header",render:(e,o)=>{let t=o.hostPanels?.header;return t?Z(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)=>Z(xl,{themeFromDocument:!o.capabilities.hasSiteTheme,tokenRef:o.tokenRef,siteId:o.siteId,onNotify:o.onNotify})},chat:{name:"Live chat",kindLabel:"Site settings",icon:"chat",render:()=>Z(Sg,{})},social:{name:"Social links",kindLabel:"Site settings",icon:"social",render:()=>Z(Pg,{unavailable:Z(Qy,{what:"Social link"})})},ticker:{name:la,kindLabel:ka,icon:"ticker",head:(e,o)=>e.kind==="ticker"?M_(o,e.heroId,l(la)):null,render:e=>Z(Eg,{heroId:e.kind==="ticker"?e.heroId:""})},heroMedia:Zc("media"),heroImage:Zc("image"),heroImage2:Zc("image2"),part:{name:ka,kindLabel:ka,icon:"Text",head:(e,o)=>{if(e.kind!=="part")return null;let t=o.describeNode(e.nodeId);if(!t)return null;let{key:r,row:a}=to(e.propKey),n=a?pr(t.fields[r],a):t.fields[r],s=WI(l(Sf(il(n??{},r))),a),i=Vy({name:s,tier:"part",of:l(t.label)},{partOf:({name:f})=>l("Part of {name}",{name:f})});return{name:i.name,kindLabel:i.kind}},render:(e,o)=>e.kind==="part"?Z(ny,{nodeId:e.nodeId,propKey:e.propKey,onBack:()=>o.onSelectNode(e.nodeId),onEditStyle:o.onOpenSiteStyles}):null}},z_=new Set(["header","website","chat"]);function G_(e,o){if(e==="puck")return null;let t=W_[e];return z_.has(e)&&!o.hasSiteSettings?{...t,kindLabel:"Not part of a template",render:()=>Z(Qy,{what:t.name})}:t}function Jy({mode:e,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r,hideNodeActions:a=!1,onNotify:n,onHidePanel:s}){let{capabilities:i,tokenRef:f,notifyParent:d,currentSlug:p,siteId:m,runAuthed:x,readOnly:I,navigate:y}=L_(),w=Sl(),{rows:v,reload:k}=ra(),C=v?.find($=>$.slug===p)??null,[g,b]=qy(null),{websiteName:O}=V(),F=R_({readOnly:I}),{select:L}=B_(),{selectedItem:P,getItemById:M,getSelectorForId:z,config:B,appState:A}=T_($=>$),W=E_(B,P?{type:P.type,props:P.props}:null),D=P?VI(W??B.components[P.type]?.fields,P.props):[],te=$=>B.components[$]?.label??$,ie=P?z(P.props.id):void 0,de=G_(e.kind,i),lo=O_(),so={capabilities:i,tokenRef:f,hostPanels:lo.chrome?.panels,describeNode:$=>{let q=M($);if(!q)return null;let Re=B.components[q.type];return{type:q.type,label:Re?.label??q.type,fields:Re?.fields??{},props:q.props??{}}},siteId:m,websiteName:O??null,notifyParent:d,onNotify:n,onOpenWebsiteSettings:o,onOpenSiteStyles:t,onSelectNode:r},Le=de?.head?.(e,so)??null,io=Le?.name??(de?l(de.name):P?l(te(P.type)):l("Page settings")),_e=Le?.kindLabel??(de?l(de.kindLabel):P?ie&&ie.zone!==Ky?l("Block"):l("Section"):l("Page")),Te=de?de.icon:P?P.type:"page",xe=de?null:P?B.components[P.type]?.fields??null:B.root?.fields??null,he=xe?_y(xe):2,Ne=e.kind==="puck"&&P?ha(P.type):null,Pe=!!P&&!!ie&&ie.zone===Ky&&P.type!==le&&P.type!==D_,fo=Vl(A?.data,P),Me=()=>{fo||ie&&F.duplicateComponent(ie.zone,ie.index)},Ge=()=>{ie&&(F.removeComponent(ie.zone,ie.index),F.select(null))},co=P?B.components[P.type]?.defaultProps?.previewHover:void 0,uo=e.kind==="puck"&&!!P&&!!ie&&co!==void 0,Fo=uo&&P.props.previewHover===!0,Ve=()=>{!P||!ie||F.replaceComponent(ie.zone,ie.index,{...P,props:{...P.props,previewHover:!Fo}})},[po,E]=qy(Gf);return at("div",{className:`es-sidepanel es-sidepanel--right sf-panel sf-panel--right${po||!(!de&&P)?"":" sf-hints-folded"}`,children:[Z(P_,{icon:Z(Lt,{type:Te,size:15}),name:io,kind:_e,actions:!a&&e.kind==="puck"&&P&&P.type!==le?at(es,{children:[Z(Yc,{label:l("Duplicate section"),title:fo??void 0,disabled:fo!==null,onClick:Me,children:Z(jy,{size:15})}),Pe&&i.hasSiteSettings&&Z(ly,{node:P,currentSlug:p,siteId:m??void 0,tokenRef:f,runAuthed:x,onNotify:n}),Z(Yc,{label:l("Remove section"),danger:!0,onClick:Ge,children:Z(F_,{size:15})}),s?Z(Xc,{side:"right",onHide:s,divider:!0}):null]}):!de&&!P&&e.kind==="puck"&&w&&C&&yl(C)?at(es,{children:[Z(Yc,{label:l("Duplicate page"),onClick:()=>b(C),children:Z(jy,{size:15})}),s?Z(Xc,{side:"right",onHide:s,divider:!0}):null]}):s?Z(Xc,{side:"right",onHide:s}):void 0}),w&&Z(Cl,{source:g,taken:new Set((v??[]).map($=>$.slug)),duplicate:w,onClose:()=>b(null),onDuplicated:$=>{b(null),k(),y({kind:"page",slug:$.slug,siteId:m??void 0})}}),uo&&at("div",{className:"sf-preview-pin",children:[at("div",{className:"sf-preview-pin-text",children:[Z("span",{className:"sf-preview-pin-label",children:l("Preview hover state")}),Z("span",{className:"sf-preview-pin-hint",children:l("not shown live")})]}),Z(__,{checked:Fo,onChange:Ve,ariaLabel:l("Preview hover state")})]}),Z(wx,{tier:he,children:Z("div",{className:"sf-insp-body es-insp-body sf-scroll",children:de?de.render(e,so):P?at(es,{children:[P.type===le&&i.hasSiteSettings&&Z(Cy,{}),Z(Rp,{children:Z(va,{entries:Z(sy,{parts:D,heading:!1,onOpen:$=>L(ll(P.props.id,$))}),entryCount:Dc(D).length})}),Ne&&Z(Ul,{source:Ne,slug:Ia(P?.props),menuId:Wl(P?.props)}),Z(Uf,{shown:po,onChange:E})]}):Z(es,{children:Z(va,{})})})})]})}import{jsx as c,jsxs as S,Fragment as ab}from"react/jsx-runtime";var ye={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)"},ed="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 R({w:e,h:o,tone:t="dark",r=2,style:a}){return c("div",{style:{width:e,height:o,borderRadius:r,background:ye[t],flex:"none",...a}})}var U_={Hero:"hero",HeroSingle:"herosingle",IntroBleed:"intro",Collections:"collections",AlloyWheelsListing:"wheelslisting",CatalogFilterBar:"catalogfilterbar",ProductGrid:"productgrid",FitmentFinder:"fitmentfinder",Gallery:"gallery",GalleryB:"gallerygrid",SpecStrip:"specstrip",ProductHero:"producthero",SpecTable:"spectable",ProcessSteps:"processsteps",DetailRows:"detailrows",FitmentTable:"fitmenttable",CompatibleTyres:"compatibletyres",TyreSizes:"tyresizes",TyreFitment:"tyrefitment",EuTyreLabel:"eutyrelabel",RelatedProducts:"productgrid",BundleOffer:"bundleoffer",OrderSummary:"ordersummary",DeliveryOptions:"deliveryoptions",PaymentBadges:"paymentbadges",CheckoutCTA:"checkoutcta",Manifesto:"manifesto",ParagraphsA:"paragraphs",Prose:"prose",StatsParagraph:"statsparagraph",Chart:"chart",Mockup:"mockup",Footprint:"footprint",Timeline:"timeline",TimelineTrack:"timelinetrack",TitleWithButtons:"titlewithbuttons",Split:"split",Cards:"cards",FAQ:"faq",Testimonials:"testimonials",Masthead:"masthead",Breadcrumb:"breadcrumb",CategoryBar:"categorybar",FeaturedCover:"featuredcover",LongRead:"longread",Series:"series",Subscribe:"subscribe",SubscribeBlogs:"subscribe",Events:"events",DocMasthead:"docmasthead",DocTabs:"doctabs",DocBody:"docbody",DocMetaCards:"docmetacards",Banner:"banner",Stats:"stats",KeyFeatures:"keyfeatures",Logos:"logos",Ticker:"ticker",Countdown:"countdown",Reviews:"reviews",SubmitBuild:"submitbuild",ReviewForm:"reviewform",Form:"form",AppointmentBooking:"appointmentbooking",ContactRouting:"contact",ContactLocations:"contactlocations",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",LegalLineBlock:"legalline",SearchBlock:"search",CartBlock:"cart",CountrySwitchBlock:"countryswitch"},N={position:"absolute",inset:0},u={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)"},fe=(e,o,t=160)=>({background:`linear-gradient(${t}deg,${e},${o})`});function Wo({size:e,style:o}){let t=Math.max(2,Math.round(e*.13)),r=(a,n,s)=>({position:"absolute",inset:a,background:n,borderRadius:t,...s?{mixBlendMode:s}:null});return S("span",{style:{position:"absolute",display:"block",width:e,height:e,...o},children:[c("span",{style:r("8% 26% 30% 6%",u.mark1)}),c("span",{style:r("26% 6% 8% 30%",u.mark2,"multiply")})]})}function ts({children:e}){return c("span",{style:{fontSize:"4.64cqw",fontWeight:700,letterSpacing:"0.06em",textTransform:"uppercase",color:u.muted},children:e})}function eb({over:e,overTone:o,head:t,headSize:r=11.5,cta:a,ctaBg:n,ctaFg:s,tone:i}){return S(ab,{children:[e&&c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:o},children:e}),c("span",{style:{fontSize:r,lineHeight:1.15,fontWeight:700,maxWidth:"78%",color:i},children:t}),a&&c("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:a})]})}function od({name:e,price:o}){return S("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[c("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",...fe(u.paper,u.paper2,150)},children:c(Wo,{size:34,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),c("span",{style:{fontSize:"3.65cqw",fontWeight:600,color:u.text},children:e}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:o})]})}function Ho({k:e,v:o,ok:t}){return S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,padding:"3.5px 2px",borderBottom:`1px solid ${u.rule}`,fontSize:"3.98cqw",color:u.muted},children:[c("span",{children:e}),S("span",{style:{display:"flex",gap:6,alignItems:"center"},children:[c("b",{style:{color:u.text,fontWeight:700},children:o}),t&&c("span",{style:{color:u.rust,fontWeight:700},children:"\u2713"})]})]})}function ne({title:e,children:o}){return S("div",{style:{...N,background:u.card,padding:"9px 10px",display:"flex",flexDirection:"column",gap:6},children:[c(ts,{children:e}),o]})}function ob({size:e=14}){return c("span",{style:{width:e,height:e,borderRadius:"50%",flex:"none",display:"block",background:`linear-gradient(150deg,${u.mark1},${u.mark2})`}})}function td({filled:e=5,size:o=6}){return S("span",{style:{fontSize:o,letterSpacing:"0.06em",color:u.rust,lineHeight:1},children:["\u2605".repeat(e),c("span",{style:{color:u.mark1},children:"\u2605".repeat(5-e)})]})}function Ta({n:e,label:o,tone:t=u.text}){return S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[c("b",{style:{fontSize:"8.16cqw",lineHeight:1,color:t},children:e}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",opacity:.62,color:t},children:o})]})}function ke({children:e,w:o}){return c("span",{style:{fontSize:"3.98cqw",lineHeight:1.45,color:u.muted,width:o,display:"block"},children:e})}function os({label:e,w:o="100%",filled:t}){return S("div",{style:{width:o,display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:u.muted},children:e}),c("span",{style:{height:9,borderRadius:3,border:`1px solid ${u.rule}`,background:t?u.paper:u.card}})]})}function tb({children:e}){return c("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:u.text,color:u.onInk},children:e})}var $_={wheelslisting:c(ne,{title:"All wheels",children:c("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])=>S("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c("span",{style:{width:20,height:15,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",...fe(u.paper,u.paper2,150)},children:c(Wo,{size:12,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),c("b",{style:{flex:1,fontSize:"4.31cqw",color:u.text},children:e}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:o}),c("b",{style:{fontSize:"4.31cqw",color:u.text,width:26,textAlign:"right"},children:t})]},e))})}),catalogfilterbar:S("div",{style:{...N,background:u.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[S("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[["20 inch","6\xD7139.7","Black"].map(e=>S("span",{style:{fontSize:"3.65cqw",fontWeight:600,padding:"4px 7px",borderRadius:99,background:u.text,color:u.onInk,display:"flex",gap:4,alignItems:"center"},children:[e,c("span",{style:{opacity:.6},children:"\u2715"})]},e)),c("span",{style:{fontSize:"3.65cqw",color:u.rust,fontWeight:700},children:"Clear"})]}),S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:"128 results"}),c("span",{style:{fontSize:"3.65cqw",color:u.muted,border:`1px solid ${u.rule}`,borderRadius:3,padding:"3px 6px"},children:"Sort: Price \u25BE"})]})]}),fitmentfinder:S("div",{style:{...N,padding:"10px 12px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center",...fe(u.ink,u.inkSoft)},children:[c("span",{style:{fontSize:"5.31cqw",fontWeight:700,color:u.onInk},children:"Will it fit your rig?"}),S("div",{style:{display:"flex",gap:4},children:[["2021","Toyota","Hilux"].map(e=>S("span",{style:{flex:1,fontSize:"3.65cqw",color:u.text,background:u.card,borderRadius:3,padding:"5px 6px",display:"flex",justifyContent:"space-between"},children:[e," ",c("span",{style:{color:u.muted},children:"\u25BE"})]},e)),c("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.08em",background:u.warm,color:u.ink,borderRadius:3,padding:"5px 7px"},children:"GO"})]})]}),compatibletyres:c(ne,{title:"Tyres that suit",children:c("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])=>S("div",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[c("div",{style:{flex:1,minHeight:0,borderRadius:3,position:"relative",overflow:"hidden",background:u.ink},children:c("span",{style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%,-50%)",width:26,height:26,borderRadius:"50%",border:`5px solid ${u.mark2}`,boxSizing:"border-box"}})}),c("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:u.text,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},children:e}),c("span",{style:{fontSize:"3.32cqw",color:u.muted},children:o})]},e))})}),tyresizes:c(ne,{title:"Available sizes",children:c("div",{style:{flex:1,display:"flex",flexWrap:"wrap",gap:4,alignContent:"center"},children:["265/65R17","285/70R17","265/60R18","275/55R20"].map((e,o)=>c("span",{style:{fontSize:"3.65cqw",fontWeight:600,padding:"5px 7px",borderRadius:3,border:`1px solid ${o===0?u.rust:u.rule}`,color:o===0?u.rust:u.text,background:o===0?u.paper:u.card},children:e},e))})}),tyrefitment:S(ne,{title:"Will it fit your car?",children:[c("div",{style:{display:"flex",gap:3},children:["Make","Model","Year","Trim"].map(e=>S("span",{style:{flex:1,minWidth:0,fontSize:"3.32cqw",color:u.muted,background:u.paper,border:`1px solid ${u.rule}`,borderRadius:3,padding:"4px 5px",display:"flex",justifyContent:"space-between",gap:2,overflow:"hidden",whiteSpace:"nowrap"},children:[e," ",c("span",{style:{color:u.muted},children:"\u25BE"})]},e))}),c("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])=>S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",gap:6,borderTop:`1px solid ${u.rule}`,paddingTop:3},children:[c("span",{style:{fontSize:"3.32cqw",fontWeight:600,color:u.text},children:e}),c("span",{style:{fontSize:"3.32cqw",fontWeight:t?700:400,letterSpacing:"0.06em",color:t?u.warm:u.muted},children:o})]},e))})]}),eutyrelabel:S("div",{style:{...N,background:u.card,padding:"9px 11px",display:"flex",gap:8,alignItems:"center"},children:[c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1.5},children:[["A","42%"],["B","56%"],["C","70%"],["D","84%"]].map(([e,o],t)=>S("div",{style:{display:"flex",alignItems:"center",gap:3},children:[c("span",{style:{width:o,height:6,borderRadius:"0 2px 2px 0",background:t===1?u.rust:u.mark1}}),c("span",{style:{fontSize:"3.32cqw",fontWeight:700,color:t===1?u.rust:u.muted},children:e})]},e))}),S("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:3,alignItems:"center"},children:[c("b",{style:{fontSize:"6.63cqw",lineHeight:1,color:u.text},children:"72"}),c("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",color:u.muted},children:"dB"})]})]}),bundleoffer:S("div",{style:{...N,background:u.paper,padding:"9px 11px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[c(ts,{children:"Buy it with"}),S("div",{style:{display:"flex",alignItems:"center",gap:5},children:[[0,1].map(e=>c("span",{style:{width:26,height:22,borderRadius:3,flex:"none",position:"relative",overflow:"hidden",background:u.card},children:c(Wo,{size:17,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})},e)),c("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:u.muted},children:"+"}),S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:1},children:[c("span",{style:{fontSize:"3.65cqw",color:u.muted,textDecoration:"line-through"},children:"$1,024"}),c("b",{style:{fontSize:"6.02cqw",color:u.rust,lineHeight:1},children:"$899"})]})]})]}),checkoutcta:S("div",{style:{...N,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,...fe(u.ink,u.ink2)},children:[S("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",color:u.warm,fontWeight:700},children:"READY TO ORDER"}),c("b",{style:{fontSize:"6.63cqw",color:u.onInk,lineHeight:1},children:"$1,956"}),c("span",{style:{fontSize:"3.65cqw",color:u.onInk,opacity:.65},children:"4 items \xB7 fitted free"})]}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"6px 10px",borderRadius:2,background:u.warm,color:u.ink,flex:"none"},children:"CHECKOUT"})]}),contact:c(ne,{title:"Who do you need?",children:c("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])=>S("div",{style:{display:"flex",alignItems:"center",gap:5},children:[c("b",{style:{flex:1,fontSize:"4.31cqw",color:u.text},children:e}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:o}),c("span",{style:{fontSize:"4.64cqw",color:u.rust,lineHeight:1},children:"\u203A"})]},e))})}),contactlocations:c(ne,{title:"Find us",children:c("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])=>S("div",{style:{border:`1px solid ${u.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[c("b",{style:{fontSize:"4.31cqw",color:u.text},children:e}),c("span",{style:{fontSize:"3.32cqw",color:u.muted},children:o}),c("span",{style:{fontSize:"3.32cqw",color:u.rust,fontWeight:700},children:t})]},e))})}),form:c(ne,{title:"Send us a message",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[S("div",{style:{display:"flex",gap:5},children:[c(os,{label:"Name"}),c(os,{label:"Email"})]}),c(os,{label:"Message",filled:!0}),c(tb,{children:"SEND"})]})}),appointmentbooking:c(ne,{title:"Book a fitting",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("div",{style:{display:"flex",gap:3},children:["Mon","Tue","Wed","Thu"].map((e,o)=>c("span",{style:{flex:1,textAlign:"center",fontSize:"3.32cqw",fontWeight:o===2?700:500,padding:"4px 0",borderRadius:3,background:o===2?u.text:u.paper,color:o===2?u.onInk:u.muted},children:e},e))}),c("div",{style:{display:"flex",gap:3},children:["8:00","10:30","13:00","15:30"].map((e,o)=>c("span",{style:{flex:1,textAlign:"center",fontSize:"3.32cqw",padding:"4px 0",borderRadius:3,border:`1px solid ${o===1?u.rust:u.rule}`,color:o===1?u.rust:u.muted,background:o===3?u.paper:u.card,textDecoration:o===3?"line-through":"none"},children:e},e))})]})}),reviewform:c(ne,{title:"Leave a review",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[c(td,{filled:4,size:14}),c(os,{label:"Your review",filled:!0}),c(tb,{children:"POST"})]})}),submitbuild:c(ne,{title:"Show us your build",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:3,border:`1px dashed ${u.mark1}`,borderRadius:5,background:u.paper},children:[c("span",{style:{fontSize:"6.63cqw",lineHeight:1,color:u.rust,fontWeight:300},children:"+"}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:"Drop a photo of your rig"})]})}),masthead:S("div",{style:{...N,background:u.paper,display:"flex",flexDirection:"column",justifyContent:"center",padding:"0 13px",gap:5},children:[c("span",{style:{height:1.5,background:u.text}}),c("span",{style:{fontSize:"7.65cqw",fontWeight:800,letterSpacing:"0.02em",color:u.text,lineHeight:1},children:"THE TRACK"}),S("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"3.65cqw",letterSpacing:"0.1em",textTransform:"uppercase",color:u.muted},children:[c("span",{children:"Issue 14"}),c("span",{children:"Spring 2026"})]}),c("span",{style:{height:1,background:u.rule}})]}),featuredcover:S("div",{style:{...N,overflow:"hidden",...fe(u.ink,u.inkSoft2)},children:[c(Wo,{size:92,style:{right:-18,top:-14}}),c("div",{style:{position:"absolute",inset:0,background:`linear-gradient(0deg,${u.scrim},transparent 62%)`}}),S("div",{style:{position:"absolute",left:12,right:12,bottom:11,display:"flex",flexDirection:"column",gap:3},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:u.warm},children:"FEATURE"}),c("span",{style:{fontSize:"6.16cqw",lineHeight:1.15,fontWeight:700,color:u.onInk},children:"Four days on the Madigan Line"})]})]}),longread:S("div",{style:{...N,background:u.card,padding:"10px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.14em",fontWeight:700,color:u.rust},children:"12 MIN READ"}),c("span",{style:{fontSize:"6.02cqw",lineHeight:1.15,fontWeight:700,color:u.text},children:"What breaks first, and why"}),c(ke,{children:"Every failure starts in the same place \u2014 not the rim, not"}),c(ke,{w:"62%",children:"the tyre, but the bolt nobody re-torqued."})]}),series:c(ne,{title:"Recurring columns",children:c("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])=>S("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c("span",{style:{width:3,height:12,borderRadius:2,background:u.rust,flex:"none"}}),c("b",{style:{flex:1,fontSize:"4.64cqw",color:u.text},children:e}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:u.muted},children:o})]},e))})}),events:c(ne,{title:"Latest posts",children:c("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[[u.inkSoft,u.inkSoft2,"Madigan Line, four days"],[u.rust,u.warm,"Why offset beats width"]].map(([e,o,t])=>S("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[c("span",{style:{width:24,height:18,borderRadius:3,flex:"none",...fe(e,o,150)}}),S("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[c("b",{style:{fontSize:"4.31cqw",color:u.text},children:t}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:"4 Sep \xB7 Shed Notes"})]})]},t))})}),docmasthead:S("div",{style:{...N,background:u.card,padding:"12px 14px",display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:u.muted},children:"POLICY"}),c("span",{style:{fontSize:"6.49cqw",fontWeight:700,color:u.text,lineHeight:1.1},children:"Returns & refunds"}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:"Version 3 \xB7 Updated 4 Sep 2026"}),c("span",{style:{height:2,width:26,background:u.rust,borderRadius:1}})]}),docbody:c("div",{style:{...N,background:u.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])=>S("div",{style:{display:"flex",gap:5},children:[c("b",{style:{fontSize:"3.98cqw",color:u.rust,flex:"none"},children:e}),c(ke,{children:o})]},e))}),docmetacards:c(ne,{title:"At a glance",children:c("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])=>S("div",{style:{border:`1px solid ${u.rule}`,borderRadius:4,padding:"5px 6px",display:"flex",flexDirection:"column",gap:1},children:[c("b",{style:{fontSize:"5.31cqw",color:u.text,lineHeight:1},children:e}),c("span",{style:{fontSize:"3.32cqw",letterSpacing:"0.08em",textTransform:"uppercase",color:u.muted},children:o})]},o))})}),doctabs:S("div",{style:{...N,background:u.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:0,padding:"0 11px"},children:[c("div",{style:{display:"flex",gap:0},children:["Returns","Warranty","Shipping"].map((e,o)=>c("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,padding:"5px 8px",color:o===0?u.text:u.muted,background:o===0?u.paper:"transparent",borderRadius:"4px 4px 0 0",border:`1px solid ${o===0?u.rule:"transparent"}`,borderBottom:"none"},children:e},e))}),c("span",{style:{height:1,background:u.rule}}),S("div",{style:{paddingTop:6,display:"flex",flexDirection:"column",gap:2},children:[c(ke,{children:"Unfitted wheels come back within 30 days, no questions."}),c(ke,{w:"58%",children:"Freight on a change of mind is yours."})]})]}),paragraphs:S("div",{style:{...N,background:u.card,padding:"11px 14px",display:"flex",gap:10,alignItems:"center"},children:[c("span",{style:{flex:1,fontSize:"5.86cqw",lineHeight:1.2,fontWeight:700,color:u.text},children:"The right wheel is the boring one."}),S("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[c(ke,{children:"Forged, correctly offset, rated for what you actually"}),c(ke,{children:"carry. Everything else is a photograph."})]})]}),keyfeatures:c(ne,{title:"Key features",children:c("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=>S("div",{style:{display:"flex",gap:6,alignItems:"center"},children:[c("span",{style:{fontSize:"4.64cqw",color:u.rust,fontWeight:700,lineHeight:1},children:"\u2713"}),c("span",{style:{fontSize:"4.31cqw",color:u.text},children:e})]},e))})}),statsparagraph:S("div",{style:{...N,background:u.paper,padding:"10px 12px",display:"flex",gap:10,alignItems:"center"},children:[S("div",{style:{flex:"none",display:"flex",flexDirection:"column",gap:5},children:[c(Ta,{n:"27k",label:"Rigs"}),c(Ta,{n:"4.9",label:"Rating"})]}),S("div",{style:{flex:1,display:"flex",flexDirection:"column"},children:[c(ke,{children:"Twelve years of fitting the same three questions, and the"}),c(ke,{children:"answer has not moved: load rating, offset, then looks."})]})]}),chart:S(ne,{title:"Load vs weight",children:[c("div",{style:{flex:1,display:"flex",alignItems:"flex-end",gap:5,paddingBottom:2},children:[38,62,84,71,96].map((e,o)=>c("span",{style:{flex:1,height:`${e}%`,borderRadius:"2px 2px 0 0",background:o===4?u.rust:u.mark1}},o))}),c("span",{style:{height:1,background:u.rule,marginTop:-4}})]}),mockup:c("div",{style:{...N,overflow:"hidden",display:"flex",alignItems:"center",justifyContent:"center",...fe(u.inkSoft,u.ink)},children:S("div",{style:{width:"72%",height:"74%",borderRadius:4,overflow:"hidden",background:u.card,boxShadow:`0 6px 14px ${u.scrim}`},children:[c("div",{style:{height:9,background:u.paper,display:"flex",alignItems:"center",gap:2,padding:"0 4px"},children:[0,1,2].map(e=>c("span",{style:{width:2.5,height:2.5,borderRadius:"50%",background:u.mark1}},e))}),S("div",{style:{padding:5,display:"flex",flexDirection:"column",gap:3},children:[c("span",{style:{height:4,width:"56%",borderRadius:1,background:u.mark2}}),c("span",{style:{height:14,borderRadius:2,...fe(u.paper,u.paper2,150)}}),c("span",{style:{height:3,width:"38%",borderRadius:1,background:u.rust}})]})]})}),manifesto:c("div",{style:{...N,overflow:"hidden",display:"flex",alignItems:"center",padding:"0 16px",...fe(u.ink,u.ink2)},children:S("span",{style:{fontSize:"6.63cqw",lineHeight:1.2,fontWeight:700,color:u.onInk},children:["We build for the ",c("span",{style:{color:u.warm},children:"last"})," ten percent of the track."]})}),timeline:c(ne,{title:"Our story",children:c("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)=>S("div",{style:{display:"flex",gap:7,alignItems:"flex-start",position:"relative"},children:[t<2&&c("span",{style:{position:"absolute",left:3,top:8,bottom:-8,width:1,background:u.rule}}),c("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",marginTop:1,background:u.rust,zIndex:1}}),S("div",{style:{display:"flex",flexDirection:"column",gap:0,minWidth:0},children:[c("b",{style:{fontSize:"4.64cqw",color:u.text},children:e}),c(ke,{children:o})]})]},e))})}),timelinetrack:S("div",{style:{...N,padding:"0 12px",display:"flex",flexDirection:"column",gap:10,justifyContent:"center",...fe(u.ink,u.inkSoft)},children:[c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:u.warm},children:"Milestones"}),S("div",{style:{position:"relative",display:"flex",justifyContent:"space-between",paddingTop:7},children:[c("span",{style:{position:"absolute",left:0,right:0,top:3,height:1,background:u.mark2,opacity:.55}}),["1998","2009","2016","2024"].map((e,o)=>S("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:3,position:"relative"},children:[c("span",{style:{position:"absolute",top:-7,width:6,height:6,borderRadius:"50%",background:o===3?u.warm:u.mark1}}),c("span",{style:{fontSize:"4.31cqw",fontWeight:700,color:o===3?u.warm:u.onInk,opacity:o===3?1:.75},children:e})]},e))]})]}),footprint:S("div",{style:{...N,overflow:"hidden",...fe(u.paper,u.paper2,150)},children:[c("span",{style:{position:"absolute",left:"8%",top:"18%",width:"62%",height:"64%",borderRadius:"48% 52% 40% 60% / 55% 45% 55% 45%",background:u.mark1,opacity:.75}}),c("span",{style:{position:"absolute",left:"52%",top:"52%",width:"34%",height:"34%",borderRadius:"58% 42% 55% 45% / 45% 58% 42% 55%",background:u.mark2,opacity:.55}}),[["26%","38%"],["44%","58%"],["62%","34%"]].map(([e,o])=>c("span",{style:{position:"absolute",left:e,top:o,width:7,height:7,borderRadius:"50% 50% 50% 0",transform:"rotate(-45deg)",background:u.rust}},e)),c("span",{style:{position:"absolute",left:11,bottom:9,fontSize:"4.64cqw",fontWeight:700,color:u.text},children:"3 fitting bays"})]}),banner:S("div",{style:{...N,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 13px",gap:8,background:u.rust},children:[S("div",{style:{display:"flex",flexDirection:"column",gap:2},children:[c("b",{style:{fontSize:"6.02cqw",color:u.onInk},children:"End of season \xB7 20% off"}),c("span",{style:{fontSize:"3.98cqw",color:u.onInk,opacity:.8},children:"Fitted free, this month only."})]}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:u.onInk,color:u.text,flex:"none"},children:"SHOP"})]}),titlewithbuttons:S("div",{style:{...N,background:u.paper,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:7,padding:"0 14px",textAlign:"center"},children:[c("span",{style:{fontSize:"6.49cqw",lineHeight:1.15,fontWeight:700,color:u.text},children:"Not sure what fits?"}),S("div",{style:{display:"flex",gap:5},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,background:u.text,color:u.onInk},children:"FIND MY FIT"}),c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"5px 9px",borderRadius:2,border:`1px solid ${u.text}`,color:u.text},children:"CALL US"})]})]}),ticker:c("div",{style:{...N,overflow:"hidden",background:u.ink,display:"flex",alignItems:"center"},children:c("span",{style:{whiteSpace:"nowrap",fontSize:"6.29cqw",fontWeight:800,letterSpacing:"0.06em",color:u.warm,marginLeft:-14},children:"FREE FITTING \xB7 48HR DISPATCH \xB7 FREE FITTING \xB7 48HR DISPATCH"})}),countdown:S("div",{style:{...N,padding:"10px 12px",display:"flex",flexDirection:"column",alignItems:"center",gap:6,justifyContent:"center",...fe(u.ink,u.ink2)},children:[c("span",{style:{fontSize:"3.65cqw",fontWeight:700,letterSpacing:"0.16em",textTransform:"uppercase",color:u.muted},children:"Back online in"}),c("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[["23","Hours"],["59","Minutes"],["48","Seconds"]].map(([e,o],t)=>S("div",{style:{display:"flex",alignItems:"flex-start",gap:5},children:[t>0&&c("b",{style:{fontSize:"9.5cqw",lineHeight:1,color:u.warm},children:":"}),S("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:2},children:[c("b",{style:{fontSize:"11.5cqw",lineHeight:1,color:u.onInk,fontVariantNumeric:"tabular-nums"},children:e}),c("span",{style:{fontSize:"3.2cqw",letterSpacing:"0.1em",textTransform:"uppercase",opacity:.62,color:u.onInk},children:o})]})]},o))})]}),breadcrumb:c("div",{style:{...N,background:u.card,display:"flex",alignItems:"center",padding:"0 13px"},children:S("span",{style:{fontSize:"4.64cqw",color:u.muted},children:["Home ",c("span",{style:{opacity:.5},children:"/"})," Wheels ",c("span",{style:{opacity:.5},children:"/"})," ",c("span",{style:{color:u.text,fontWeight:700},children:"20 inch"})]})}),categorybar:S("div",{style:{...N,background:u.card,display:"flex",flexDirection:"column",justifyContent:"center",gap:7,padding:"0 11px"},children:[c("div",{style:{display:"flex",gap:5},children:["All","Wheels","Tyres","Lift"].map((e,o)=>c("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,padding:"4px 7px",borderRadius:99,background:o===0?u.text:u.paper,color:o===0?u.onInk:u.muted},children:e},e))}),c("span",{style:{height:1,background:u.rule}})]}),intro:S("div",{style:{...N,overflow:"hidden",background:u.card},children:[c("div",{style:{position:"absolute",inset:0,...fe(u.ink,u.inkSoft2)}}),c(Wo,{size:64,style:{right:8,top:6}}),S("div",{style:{position:"absolute",left:16,right:16,bottom:8,top:"46%",background:u.paper,borderRadius:6,padding:"8px 11px",display:"flex",flexDirection:"column",gap:2,boxShadow:`0 -4px 10px ${u.scrim}`},children:[c("span",{style:{fontSize:"5.69cqw",fontWeight:700,color:u.text},children:"Since 1998"}),c(ke,{children:"One shed, one lathe, one idea."}),c(ke,{w:"66%",children:"It turned out to be right."})]})]}),gallerygrid:c(ne,{title:"From our customers",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gridTemplateRows:"repeat(2,1fr)",gap:4,minHeight:0},children:[[u.rust,u.warm],[u.inkSoft,u.ink],[u.paper2,u.mark2],[u.ink,u.inkSoft2],[u.warm,u.paper2],[u.mark2,u.inkSoft]].map(([e,o],t)=>c("div",{style:{borderRadius:3,...fe(e,o,140+t*22)}},t))})}),gallery:S(ne,{title:"Gallery",children:[c("div",{style:{display:"flex",gap:8,alignItems:"center",marginTop:-2},children:["On the truck","Studio","Close-ups"].map((e,o)=>c("span",{style:{fontSize:"3.98cqw",fontWeight:o===0?700:500,color:o===0?u.text:u.muted,borderBottom:`1.5px solid ${o===0?u.rust:"transparent"}`,paddingBottom:2},children:e},e))}),c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:4,minHeight:0},children:[[u.rust,u.warm],[u.ink,u.inkSoft],[u.paper2,u.mark2]].map(([e,o],t)=>c("div",{style:{borderRadius:3,...fe(e,o,150+t*20)}},t))})]}),ordersummary:S(ne,{title:"Order summary",children:[S("div",{style:{display:"flex",gap:6,alignItems:"center",paddingBottom:4},children:[c("span",{style:{width:26,height:26,borderRadius:4,position:"relative",overflow:"hidden",flex:"none",...fe(u.paper,u.paper2,150)},children:c(Wo,{size:18,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),S("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[c("b",{style:{fontSize:"4.31cqw",color:u.text},children:"Ridge Grappler"}),c("span",{style:{fontSize:"3.65cqw",color:u.muted},children:"20\xD79 +12 \xB7 qty 4"})]})]}),S("div",{style:{flex:1,minHeight:0,display:"flex",flexDirection:"column",justifyContent:"center"},children:[c(Ho,{k:"Subtotal",v:"$1,956"}),c(Ho,{k:"Fitting",v:"Free"}),S("div",{style:{display:"flex",justifyContent:"space-between",paddingTop:5,fontSize:"4.64cqw"},children:[c("b",{style:{color:u.text},children:"Total"}),c("b",{style:{color:u.text,fontSize:"6.02cqw"},children:"$1,956"})]})]})]}),deliveryoptions:c(ne,{title:"Delivery",children:c("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,r])=>S("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"5px 6px",borderRadius:4,border:`1px solid ${r?u.rust:u.rule}`,background:r?u.paper:u.card},children:[c("span",{style:{width:7,height:7,borderRadius:"50%",flex:"none",border:`1.5px solid ${r?u.rust:u.mark1}`,background:r?u.rust:"transparent"}}),c("span",{style:{flex:1,fontSize:"4.31cqw",fontWeight:600,color:u.text},children:e}),c("span",{style:{fontSize:"3.98cqw",color:u.muted},children:o}),c("b",{style:{fontSize:"4.31cqw",color:u.text},children:t})]},e))})}),paymentbadges:S("div",{style:{...N,background:u.paper,display:"flex",flexDirection:"column",gap:8,justifyContent:"center",padding:"0 12px"},children:[c(ts,{children:"Ways to pay"}),c("div",{style:{display:"flex",gap:5},children:[["VISA",u.ink],["MC",u.rust],["AMEX",u.inkSoft],["PayPal",u.ink2]].map(([e,o])=>c("span",{style:{flex:1,textAlign:"center",fontSize:"3.65cqw",fontWeight:800,letterSpacing:"0.06em",color:u.onInk,borderRadius:3,padding:"6px 0",background:o},children:e},e))})]}),stats:S("div",{style:{...N,padding:"10px 12px",display:"flex",flexDirection:"column",gap:9,justifyContent:"center",...fe(u.ink,u.ink2)},children:[c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:u.warm},children:"By the numbers"}),S("div",{style:{display:"flex",gap:8},children:[c(Ta,{n:"27k",label:"Rigs fitted",tone:u.onInk}),c(Ta,{n:"12",label:"Years",tone:u.onInk}),c(Ta,{n:"4.9",label:"Avg rating",tone:u.warm})]})]}),testimonials:S("div",{style:{...N,overflow:"hidden",background:u.paper,padding:"10px 11px",display:"flex",flexDirection:"column",gap:6,justifyContent:"center"},children:[c("span",{style:{position:"absolute",right:10,top:2,fontSize:"22.4cqw",lineHeight:1,fontWeight:800,color:u.rust,opacity:.16},children:"\u201D"}),c(td,{filled:5,size:7}),c("span",{style:{position:"relative",fontSize:"5.31cqw",lineHeight:1.35,color:u.text,fontWeight:600},children:"\u201CTook them out to the Simpson and back. Not one chip.\u201D"}),S("div",{style:{display:"flex",alignItems:"center",gap:5},children:[c(ob,{}),c("span",{style:{fontSize:"3.98cqw",color:u.muted},children:"Dave M. \xB7 Hilux N80"})]})]}),reviews:S(ne,{title:"Reviews",children:[c("div",{style:{display:"flex",gap:4,height:22},children:[[u.inkSoft,u.inkSoft2],[u.rust,u.warm],[u.ink,u.inkSoft],[u.mark2,u.mark1]].map(([e,o],t)=>c("div",{style:{flex:1,borderRadius:3,...fe(e,o,140+t*15)}},t))}),c("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])=>S("div",{style:{display:"flex",gap:5,alignItems:"flex-start"},children:[c(ob,{size:12}),S("div",{style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},children:[S("div",{style:{display:"flex",gap:4,alignItems:"center"},children:[c("b",{style:{fontSize:"3.98cqw",color:u.text},children:e}),c(td,{filled:o})]}),c(ke,{children:t})]})]},e))})]}),logos:S("div",{style:{...N,display:"flex",flexDirection:"column",gap:9,justifyContent:"center",padding:"0 12px",...fe(u.ink,u.inkSoft)},children:[c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.14em",textTransform:"uppercase",color:u.warm},children:"As fitted by"}),c("div",{style:{display:"grid",gridTemplateColumns:"repeat(4,1fr)",gap:8},children:["ARB","TJM","IRONMAN","OPPOSITE"].map(e=>c("span",{style:{textAlign:"center",fontSize:"4.31cqw",fontWeight:800,letterSpacing:"0.08em",color:u.onInk,opacity:.82},children:e},e))})]}),prose:S("div",{style:{...N,background:u.paper,padding:"11px 14px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("span",{style:{fontSize:"5.86cqw",fontWeight:700,color:u.text},children:"Why offset matters"}),S("div",{style:{display:"flex",gap:6},children:[c("span",{style:{fontSize:"15.3cqw",lineHeight:.78,fontWeight:800,color:u.rust,marginTop:1},children:"T"}),S("div",{style:{display:"flex",flexDirection:"column"},children:[c(ke,{children:"he number on the back of your wheel decides whether the"}),c(ke,{w:"76%",children:"tyre sits under the guard or an inch outside it."})]})]})]}),cards:c(ne,{title:"What you get",children:c("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])=>S("div",{style:{border:`1px solid ${u.rule}`,borderRadius:4,padding:6,display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{width:11,height:11,borderRadius:3,background:u.rust,opacity:.9}}),c("b",{style:{fontSize:"3.98cqw",color:u.text},children:e}),c(ke,{children:o})]},e))})}),faq:c(ne,{title:"Questions",children:c("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])=>S("div",{style:{borderBottom:`1px solid ${u.rule}`,padding:"4px 2px"},children:[S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6},children:[c("b",{style:{fontSize:"4.31cqw",color:u.text},children:e}),c("span",{style:{fontSize:"4.64cqw",color:u.muted,lineHeight:1},children:o?"\u2212":"+"})]}),o&&c(ke,{w:"90%",children:"Use the fitment finder \u2014 it reads your build, not just the model."})]},e))})}),hero:S("div",{style:{...N,overflow:"hidden",...fe(u.ink,u.ink2)},children:[c("div",{style:{...N,background:`linear-gradient(90deg,${u.scrim},transparent 70%)`}}),c("div",{style:{position:"relative",height:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",padding:"12px 14px",gap:5},children:c(eb,{over:"NEW \xB7 SUMMER",overTone:u.warm,head:"Built for the worst road you own",cta:"SHOP ALL",ctaBg:u.warm,ctaFg:u.ink,tone:u.onInk})}),c(Wo,{size:104,style:{right:-24,bottom:-30}})]}),herosingle:S("div",{style:{...N,display:"flex",background:u.paper,overflow:"hidden"},children:[c("div",{style:{flex:1,padding:12,display:"flex",flexDirection:"column",gap:5,justifyContent:"center"},children:c(eb,{over:"ALL-TERRAIN",overTone:u.rust,head:"Grip that does not ask",headSize:12,cta:"EXPLORE",ctaBg:u.text,ctaFg:u.onInk,tone:u.text})}),c("div",{style:{flex:1,position:"relative",...fe(u.inkSoft,u.inkSoft2)},children:c(Wo,{size:74,style:{right:-14,top:16}})})]}),productgrid:c(ne,{title:"Best sellers",children:S("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[c(od,{name:"Ridge 19",price:"$365"}),c(od,{name:"Ridge 29",price:"$410"}),c(od,{name:"Ridge 39",price:"$455"})]})}),collections:c(ne,{title:"Shop by category",children:c("div",{style:{flex:1,display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:5,minHeight:0},children:[["Wheels",u.inkSoft,u.inkSoft2],["Tyres",u.rust,u.warm],["Lift kits",u.ink,u.inkSoft]].map(([e,o,t])=>c("div",{style:{borderRadius:4,display:"flex",alignItems:"flex-end",padding:5,color:u.onInk,...fe(o,t)},children:c("span",{style:{fontSize:"3.98cqw",fontWeight:700,letterSpacing:"0.04em"},children:e})},e))})}),producthero:S("div",{style:{...N,display:"flex",background:u.card,overflow:"hidden"},children:[c("div",{style:{flex:1.1,position:"relative",...fe(u.paper,u.paper2,150)},children:c(Wo,{size:78,style:{left:"50%",top:"50%",transform:"translate(-50%,-50%)"}})}),S("div",{style:{flex:1,padding:"10px 10px 10px 8px",display:"flex",flexDirection:"column",gap:4,justifyContent:"center"},children:[c("span",{style:{fontSize:"3.65cqw",letterSpacing:"0.16em",fontWeight:700,color:u.rust},children:"NITTO"}),c("b",{style:{fontSize:"6.29cqw",color:u.text},children:"Ridge Grappler"}),c("span",{style:{fontSize:"6.63cqw",fontWeight:700,color:u.text},children:"$489"}),c("span",{style:{alignSelf:"flex-start",fontSize:"3.65cqw",letterSpacing:"0.12em",fontWeight:700,padding:"4px 8px",borderRadius:2,background:u.text,color:u.onInk},children:"ADD TO CART"})]})]}),spectable:c(ne,{title:"Specifications",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[c(Ho,{k:"Diameter",v:'20"'}),c(Ho,{k:"Width",v:"9.0J"}),c(Ho,{k:"Offset",v:"+12"}),c(Ho,{k:"Load",v:"1250 kg"})]})}),fitmenttable:c(ne,{title:"Will it fit?",children:S("div",{style:{flex:1,display:"flex",flexDirection:"column",justifyContent:"center"},children:[c(Ho,{k:"Hilux N80",v:"20\xD79 +12",ok:!0}),c(Ho,{k:"Ranger PX3",v:"20\xD79 +12",ok:!0}),c(Ho,{k:"LC79",v:"17\xD78 \u221210",ok:!0})]})}),processsteps:S("div",{style:{...N,background:u.paper,padding:10,display:"flex",flexDirection:"column",gap:7,justifyContent:"center"},children:[c(ts,{children:"How it works"}),c("div",{style:{display:"flex",gap:6},children:["Pick your rig","Match the fit","We fit it"].map((e,o)=>S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:2},children:[c("span",{style:{width:11,height:11,borderRadius:"50%",background:u.text,color:u.onInk,fontSize:"3.98cqw",display:"flex",alignItems:"center",justifyContent:"center",fontWeight:700},children:o+1}),c("span",{style:{fontSize:"3.98cqw",color:u.text,fontWeight:600},children:e})]},e))})]}),detailrows:c("div",{style:{...N,background:u.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 r=c("div",{style:{flex:1,...fe(t?u.rust:u.inkSoft,t?u.warm:u.inkSoft2)}},"art"),a=S("div",{style:{flex:1.1,padding:8,display:"flex",flexDirection:"column",gap:2,justifyContent:"center"},children:[c("b",{style:{fontSize:"4.64cqw",color:u.text},children:e}),c("span",{style:{fontSize:"3.98cqw",color:u.muted,lineHeight:1.3},children:o})]},"tx");return c("div",{style:{flex:1,display:"flex",minHeight:0},children:t?[a,r]:[r,a]},e)})}),specstrip:c("div",{style:{...N,background:u.ink,color:u.onInk,display:"flex",alignItems:"center",justifyContent:"space-around",padding:"0 8px"},children:[["5 yr","Warranty"],["Free","Fitting"],["48 hr","Dispatch"]].map(([e,o])=>S("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:1},children:[c("b",{style:{fontSize:"5.69cqw",letterSpacing:"0.02em"},children:e}),c("span",{style:{fontSize:"3.65cqw",color:u.mark2,letterSpacing:"0.1em",textTransform:"uppercase"},children:o})]},o))})},rb={subscribe:S("div",{style:{...N,padding:13,display:"flex",flexDirection:"column"},children:[S("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:8},children:[S("div",{style:{display:"flex",alignItems:"center",gap:6},children:[c(R,{w:8,h:8,r:2,tone:"accent"}),c(R,{w:38,h:7,r:3,tone:"dark"}),c(R,{w:16,h:7,r:3,tone:"accent"})]}),c(R,{w:38,h:4,r:2,tone:"soft"})]}),c("div",{style:{height:1,background:ye.line,marginBottom:10}}),S("div",{style:{flex:1,display:"flex",gap:10,border:`1px solid ${ye.line}`,borderRadius:7,padding:10},children:[S("div",{style:{flex:1.1,display:"flex",flexDirection:"column",justifyContent:"center",gap:5},children:[c(R,{w:"46%",h:3,r:2,tone:"accent"}),c(R,{w:"84%",h:8,r:4,tone:"dark"}),c(R,{w:"56%",h:8,r:4,tone:"accent"}),c(R,{w:"96%",h:3,r:2,tone:"soft",style:{marginTop:2}}),S("div",{style:{display:"flex",gap:5,marginTop:4},children:[c("div",{style:{flex:1,height:13,borderRadius:5,border:`1px solid ${ye.line}`,background:ye.block}}),c(R,{w:34,h:13,r:5,tone:"accent"})]})]}),S("div",{style:{flex:1,background:ye.block,borderRadius:6,padding:8,display:"flex",flexDirection:"column",gap:6},children:[c(R,{w:"52%",h:4,r:2,tone:"accent"}),Array.from({length:3}).map((e,o)=>S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:6,borderTop:o?`1px solid ${ye.line}`:"none",paddingTop:o?4:0},children:[c(R,{w:34,h:4,r:2,tone:"dark"}),c(R,{w:16,h:3,r:2,tone:"soft"})]},o))]})]})]}),split:S("div",{style:{...N,display:"flex"},children:[c("div",{style:{width:"44%",background:ed}}),S("div",{style:{flex:1,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[c(R,{w:"44%",h:5,r:3,tone:"accent"}),c(R,{w:"88%",h:8,r:4,tone:"dark"}),c(R,{w:"70%",h:8,r:4,tone:"dark"}),c(R,{w:"94%",h:5,r:2,tone:"soft",style:{marginTop:2}}),c(R,{w:"80%",h:5,r:2,tone:"soft"}),c(R,{w:"40%",h:13,r:6,tone:"accent",style:{marginTop:5}})]})]}),sectionheader:S(ab,{children:[c(R,{w:"18%",h:6,r:3,tone:"accent",style:{position:"absolute",top:15,right:16}}),S("div",{style:{...N,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:10},children:[S("div",{style:{display:"flex",alignItems:"center",gap:9},children:[c(R,{w:16,h:16,r:4,tone:"accent"}),c(R,{w:"20%",h:9,r:4,tone:"dark"})]}),c(R,{w:"62%",h:10,r:5,tone:"dark"}),c(R,{w:"42%",h:6,r:3,tone:"soft"})]})]}),header:c("div",{style:{...N,padding:14,display:"flex",flexDirection:"column",justifyContent:"center"},children:S("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[c(R,{w:"22%",h:12,r:4,tone:"dark"}),S("div",{style:{display:"flex",gap:9,alignItems:"center"},children:[c(R,{w:26,h:6,r:3,tone:"soft"}),c(R,{w:26,h:6,r:3,tone:"soft"}),c(R,{w:26,h:6,r:3,tone:"soft"}),c(R,{w:18,h:14,r:5,tone:"accent"})]})]})}),footer:S("div",{style:{...N,padding:15,display:"flex",flexDirection:"column",justifyContent:"center",gap:12},children:[S("div",{style:{display:"flex",gap:14},children:[S("div",{style:{flex:1.4,display:"flex",flexDirection:"column",gap:6},children:[c(R,{w:"60%",h:9,r:4,tone:"dark"}),c(R,{w:"90%",h:5,r:2,tone:"soft"}),c(R,{w:"70%",h:5,r:2,tone:"soft"})]}),[0,1].map(e=>S("div",{style:{flex:1,display:"flex",flexDirection:"column",gap:6},children:[c(R,{w:"50%",h:6,r:3,tone:"dark"}),c(R,{w:"80%",h:5,r:2,tone:"soft"}),c(R,{w:"66%",h:5,r:2,tone:"soft"})]},e))]}),c("div",{style:{height:1,background:ye.line}}),S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c(R,{w:"30%",h:5,r:2,tone:"soft"}),c(R,{w:"16%",h:5,r:2,tone:"soft"})]})]}),grid:c("div",{style:{...N,padding:14,display:"grid",gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr 1fr",gap:9},children:Array.from({length:4}).map((e,o)=>c("div",{style:{borderRadius:6,background:ye.block}},o))}),blanksection:c("div",{style:{...N,padding:14,display:"flex"},children:S("div",{style:{flex:1,border:`1px dashed ${ye.line}`,borderRadius:7,display:"flex",alignItems:"center",justifyContent:"center",position:"relative"},children:[c(R,{w:14,h:2,r:1,tone:"tint"}),c(R,{w:2,h:14,r:1,tone:"tint",style:{position:"absolute"}})]})}),spacer:S("div",{style:{...N,padding:14,display:"flex",flexDirection:"column",justifyContent:"space-between"},children:[c(R,{w:"100%",h:6,r:3,tone:"soft"}),c(R,{w:16,h:22,r:3,tone:"block",style:{alignSelf:"center"}}),c(R,{w:"100%",h:6,r:3,tone:"soft"})]}),divider:c("div",{style:{...N,padding:14,display:"flex",alignItems:"center"},children:c(R,{w:"100%",h:3,r:2,tone:"dark"})}),customhtml:S("div",{style:{...N,display:"flex",alignItems:"center",justifyContent:"center",gap:8,background:ed},children:[c(R,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(-14deg)"}}),c(R,{w:16,h:10,r:3,tone:"accent"}),c(R,{w:5,h:16,r:2,tone:"dark",style:{transform:"skewX(14deg)"}})]}),heading:c("div",{style:{...N,padding:14,display:"flex",alignItems:"center"},children:c(R,{w:"64%",h:13,r:4,tone:"dark"})}),text:S("div",{style:{...N,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[c(R,{w:"100%",h:6,r:3,tone:"soft"}),c(R,{w:"96%",h:6,r:3,tone:"soft"}),c(R,{w:"100%",h:6,r:3,tone:"soft"}),c(R,{w:"58%",h:6,r:3,tone:"soft"})]}),image:c("div",{style:{position:"absolute",inset:14,borderRadius:7,background:ed}}),button:c("div",{style:{...N,display:"flex",alignItems:"center",justifyContent:"center"},children:c(R,{w:"34%",h:16,r:8,tone:"accent"})}),menu:S("div",{style:{...N,padding:"14px 22%",display:"flex",flexDirection:"column",justifyContent:"center",gap:7},children:[c(R,{w:"48%",h:7,r:3,tone:"dark"}),c(R,{w:"82%",h:5,r:2,tone:"soft"}),c(R,{w:"66%",h:5,r:2,tone:"soft"}),c(R,{w:"74%",h:5,r:2,tone:"soft"}),c(R,{w:"58%",h:5,r:2,tone:"soft"})]}),emailform:S("div",{style:{...N,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[c(R,{w:"56%",h:8,r:3,tone:"dark"}),S("div",{style:{display:"flex",gap:6},children:[c("div",{style:{flex:1,height:16,borderRadius:5,border:`1px solid ${ye.line}`}}),c(R,{w:"30%",h:16,r:5,tone:"accent"})]})]}),sociallogos:c("div",{style:{...N,display:"flex",alignItems:"center",justifyContent:"center",gap:9},children:[0,1,2,3].map(e=>c(R,{w:16,h:16,r:8,tone:"dark"},e))}),search:c("div",{style:{...N,padding:"0 18%",display:"flex",alignItems:"center"},children:S("div",{style:{flex:1,height:22,borderRadius:11,border:`1px solid ${ye.line}`,display:"flex",alignItems:"center",gap:7,padding:"0 9px"},children:[c("div",{style:{width:9,height:9,borderRadius:5,border:`2px solid ${ye.dark}`}}),c(R,{w:"46%",h:5,r:2,tone:"soft"})]})}),cart:S("div",{style:{...N,display:"flex",alignItems:"center",justifyContent:"center",gap:7},children:[c("div",{style:{width:22,height:18,borderRadius:"3px 3px 6px 6px",border:`2px solid ${ye.dark}`}}),c("div",{style:{padding:"2px 6px",borderRadius:6,border:`1.5px solid ${ye.dark}`},children:c(R,{w:7,h:7,r:2,tone:"dark"})})]}),countryswitch:S("div",{style:{...N,padding:14,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:5},children:[S("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"4px 8px",border:`1px solid ${ye.line}`},children:[c(R,{w:22,h:6,r:2,tone:"dark"}),c(R,{w:6,h:4,r:1,tone:"soft"})]}),S("div",{style:{width:"46%",display:"flex",flexDirection:"column",gap:4,padding:6,border:`1px solid ${ye.line}`},children:[c(R,{w:"80%",h:4,r:2,tone:"accent"}),c(R,{w:"64%",h:4,r:2,tone:"soft"}),c(R,{w:"72%",h:4,r:2,tone:"soft"})]})]}),legalline:S("div",{style:{...N,padding:16,display:"flex",flexDirection:"column",justifyContent:"center",gap:9},children:[c("div",{style:{height:1,background:ye.line}}),S("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[c(R,{w:"38%",h:5,r:2,tone:"soft"}),S("div",{style:{display:"flex",gap:5},children:[c(R,{w:14,h:5,r:2,tone:"soft"}),c(R,{w:14,h:5,r:2,tone:"soft"}),c(R,{w:14,h:5,r:2,tone:"soft"})]})]})]}),fallback:c("div",{style:{position:"absolute",inset:14,borderRadius:8,background:ye.block}})};function nb({type:e}){let o=U_[e]??"",t=$_[o]??rb[o]??rb.fallback;return c("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 ys}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as gr,jsxs as q_}from"react/jsx-runtime";import j_ from"efficient-easel/screen/components/SidePanelHead";import{StylesIcon as K_}from"efficient-easel/rail";import{Tooltip as V_}from"efficient-shell/ui";function lb({tokenRef:e,siteId:o,onClose:t,onNotify:r,tab:a,onTabChange:n}){let s=fr();return q_("div",{className:"sf-styles",children:[gr(j_,{icon:gr(K_,{}),title:l("Styles"),context:gr(V_,{content:l("{name} \u2014 renamed in the Console: {place}.",{name:s,place:l("Storefront \u25B8 Sites \u25B8 Settings")}),className:"sf-name-tip",children:gr("span",{className:"sf-name-text",children:s})}),onHide:t}),gr("div",{className:"sf-insp-body es-insp-body sf-scroll",children:gr(xl,{tokenRef:e,siteId:o,onNotify:r,tab:a,onTabChange:n})})]})}import{jsx as be,jsxs as Bt,Fragment as eN}from"react/jsx-runtime";import{Fragment as Sb,useEffect as Cb,useRef as id}from"react";import{useTreeDrag as wb}from"efficient-easel/drag";import{GlobeIcon as oN,ImageIcon as tN,LocationIcon as rN,MapIcon as aN,TextLinesIcon as nN,TrashIcon as vb}from"efficient-easel/icons";import{Subtree as kb,TreeRow as Fa,TreeRowAction as Tb,TreeSeam as Pb}from"efficient-easel/tree";import{useEaselStrings as lN}from"efficient-easel/strings";import{createPreviewSelectionContext as Y_}from"efficient-easel/draw/client";var{Provider:EQ,useSelection:sb}=Y_("selectedLocationPartId");function ib(e,o,t){return`${e}::${o}::${t}`}function fb(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")return null;let r=Number(o[o.length-2]);if(!Number.isInteger(r)||r<0)return null;let a=o.slice(0,-2).join("::");return a?{nodeId:a,index:r,part:t}:null}import{useSyncExternalStore as X_}from"react";var Z_={level:"groups"},db=Z_,rd=new Set;function no(e){db=e;for(let o of rd)o()}function Q_(e){return rd.add(e),()=>{rd.delete(e)}}var cb=()=>db;function ub(){return X_(Q_,cb,cb)}function pb(e,o,t){let r=[];return e.forEach((a,n)=>{let s=o(a),i=r.find(f=>f.key===s);i||(i={key:s,name:t(a),items:[]},r.push(i)),i.items.push({item:a,index:n})}),r}function AQ(e){if(e<=1)return"grid-cols-1";if(e===2)return"grid-cols-2";if(e===3)return"grid-cols-3";if(e===4)return"grid-cols-4";let o=t=>e%t||t;return o(4)>=o(3)?"grid-cols-4":"grid-cols-3"}var Pa=e=>String(e?.group??""),ad=new WeakMap,J_=0;function rs(e){let o=ad.get(e);return o||(o=`loc${++J_}`,ad.set(e,o)),o}var mb=(e,o)=>o||e||"Ungrouped",xb={photo:"",group:"",groupName:"",name:"City name",state:"State",country:"Country",timezone:"GMT \xB7 UTC +0",address:`Address line one
6
+ Address line two`,phone:"+00 000 0000",hours:"Mon\u2013Fri 9:00\u201318:00",lat:0,lng:0,mapsUrl:""};function At(e){return pb(e,Pa,o=>String(o?.groupName??"")).map(o=>({key:o.key,name:o.name,cards:o.items.map(t=>t.item)}))}var nd=e=>e.flatMap(o=>o.cards),Ib=(e,o,t)=>Math.min(Math.max(e,o),t);function as(e,o,t){let r=0;for(let a=0;a<e.length;a++)if(Pa(e[a])===o){if(r===t)return a;r++}return-1}function ld(e,o,t){let r=At(e);if(o<0||o>=r.length)return e;let[a]=r.splice(o,1),n=Ib(o<t?t-1:t,0,r.length);return r.splice(n,0,a),nd(r)}function sd(e,o,t,r,a){let n=At(e),s=n.find(m=>m.key===o),i=n.find(m=>m.key===r);if(!s||!i||t<0||t>=s.cards.length)return e;let[f]=s.cards.splice(t,1),d=o===r?f:{...f,group:i.key,groupName:i.name};d!==f&&ad.set(d,rs(f));let p=Ib(s===i&&t<a?a-1:a,0,i.cards.length);return i.cards.splice(p,0,d),nd(n)}function hb(e,o){let t=At(e),r=t.find(n=>n.key===o),a={...xb,group:o,groupName:r?.name??""};return r?(r.cards.push(a),nd(t)):[...e,a]}function gb(e){let o=new Set(At(e).map(a=>a.key)),t=o.size+1,r=`Group ${t}`;for(;o.has(r);)r=`Group ${++t}`;return{cards:[...e,{...xb,group:r,groupName:""}],key:r}}function yb(e,o){return e.filter(t=>Pa(t)!==o)}function bb(e,o,t){let r=as(e,o,t);return r<0?e:e.filter((a,n)=>n!==r)}function _Q(e,o,t){let r=e.flatMap((s,i)=>Pa(s)===o?[i]:[]),a=e.slice();r.forEach((s,i)=>{a[s]=t[i]});let n=t.slice(r.length);return[...a.filter(s=>s!==void 0),...n]}function NQ(e,o,t){return o.flatMap(r=>{let a=e.filter(n=>Pa(n)===r);return a.length?a:t(r)})}var ls="ContactLocations",ns=e=>({parentId:`locations-${e}`,slot:"groups"}),fd=(e,o)=>({parentId:`locations-${e}`,slot:`cities:${o}`});function Fb(e,o){let{readOnly:t,selected:r}=o,a=lN().tree,n=o.data?.content??[],s=e.kind===Yy.kind,i=id(null);Cb(()=>{let g=r?.type===ls?String(r.props.id):null;g&&g!==i.current&&no({level:"groups"}),i.current=g},[r?.props.id]);let{selectedLocationPartId:f,setSelectedLocationPartId:d,setSelectHandler:p}=sb(),m=ub(),x=(g,b)=>{let O=n[g];O&&o.replace(g,{type:O.type,props:{...O.props,locations:b}})},I=g=>{let b=n[g]?.props?.locations;return Array.isArray(b)?b:[]},y=wb({keyOf:g=>`group:${g.si}:${g.index}`,readOnly:!!t,canDrop:(g,b)=>b.parentId===ns(g.si).parentId&&b.slot==="groups",onDrop:(g,b)=>{x(g.si,ld(I(g.si),g.index,b.index)),m.level==="city"&&no({level:"groups"})},onStep:(g,b)=>{x(g.si,ld(I(g.si),g.index,b<0?g.index-1:g.index+2)),m.level==="city"&&no({level:"groups"})}}),w=wb({keyOf:g=>`city:${g.si}:${g.group}:${g.index}`,readOnly:!!t,canDrop:(g,b)=>b.parentId===ns(g.si).parentId&&b.slot.startsWith("cities:"),onDrop:(g,b)=>{let O=b.slot.slice(7);x(g.si,sd(I(g.si),g.group,g.index,O,b.index)),no({level:"group",key:O})},onStep:(g,b)=>{x(g.si,sd(I(g.si),g.group,g.index,g.group,b<0?g.index-1:g.index+2)),m.level==="city"&&no({level:"group",key:g.group})}}),v=id(n);v.current=n;let k=id(()=>{});Cb(()=>{p(g=>{let b=fb(g);if(!b)return;let O=v.current.findIndex(F=>F.props?.id===b.nodeId);O<0||k.current(O,{level:b.part,index:b.index})})},[p]);let C=(g,b)=>{i.current=n[g]?.props?.id??null,o.select(g),no(b),e.reveal();let O=n[g]?.props?.id;typeof O=="string"&&(b.level==="image"||b.level==="map")?d(ib(O,b.index,b.level)):d(null),typeof O=="string"&&o.scrollTo(O)};return k.current=C,{renderLocationTree:(g,b,{rowClick:O,isCollapsed:F,toggleCollapse:L})=>{let P=I(b),M=At(P),z=String(g.props.id),B=s&&r?.props.id===z,A=D=>be(Pb,{...t?{}:y.seam({place:{...ns(b),index:D}})},`seam:${z}:groups:${D}`),W=(D,te)=>be(Pb,{...t?{}:w.seam({place:{...fd(b,D),index:te}})},`seam:${z}:cities:${D}:${te}`);return Bt(eN,{children:[be(Fa,{icon:be(nN,{size:13}),name:l("Texts"),words:a,onSelect:()=>C(b,{level:"texts"}),selected:B&&m.level==="texts",rowProps:{onClick:O(()=>C(b,{level:"texts"}))}}),M.map((D,te)=>{let ie=`${z}::grp::${D.key}`,de=F(ie),lo=B&&m.level==="group"&&m.key===D.key,so=D.name||D.key?mb(D.key,D.name):l("Ungrouped"),Le={...fd(b,D.key),index:D.cards.length},io=w.row({item:{si:b,group:D.key,index:-1},place:Le,into:Le,canDrag:!1},{onClick:O(()=>C(b,{level:"group",key:D.key}))}),_e=y.row({item:{si:b,index:te},place:{...ns(b),index:te}},io.rowProps);return Bt(Sb,{children:[te===0&&A(0),be(Fa,{icon:be(oN,{size:13}),name:so,words:a,onSelect:()=>C(b,{level:"group",key:D.key}),selected:lo,draggable:_e.draggable,dragging:_e.dragging,drop:_e.drop??io.drop,fold:{open:!de,label:l("group"),onToggle:()=>L(ie)},actions:be(Tb,{kind:"delete",label:$e("Delete {label} group ({n} city)","Delete {label} group ({n} cities)",D.cards.length,{label:so}),onClick:()=>{x(b,yb(P,D.key)),no({level:"groups"})},children:be(vb,{size:15})}),rowProps:_e.rowProps,children:be("span",{className:"es-group-count",children:D.cards.length})}),!de&&Bt(kb,{children:[D.cards.map((Te,xe)=>{let he=as(P,D.key,xe),Ne=B&&m.level==="city"&&m.index===he,Pe=String(Te?.name??"")||l("City"),fo=`${z}::city::${rs(Te)}`,Me=F(fo),{rowProps:Ge,...co}=w.row({item:{si:b,group:D.key,index:xe},place:{...fd(b,D.key),index:xe}},{onClick:O(()=>C(b,{level:"city",index:he}))});return Bt(Sb,{children:[xe===0&&W(D.key,0),be(Fa,{icon:be(rN,{size:13}),name:Pe,words:a,onSelect:()=>C(b,{level:"city",index:he}),selected:Ne,...co,fold:{open:!Me,label:Pe,onToggle:()=>L(fo)},actions:be(Tb,{kind:"delete",label:l("Delete {name}",{name:Pe}),onClick:()=>{x(b,bb(P,D.key,xe)),no({level:"group",key:D.key})},children:be(vb,{size:15})}),rowProps:Ge}),!Me&&Bt(kb,{children:[be(Fa,{icon:be(tN,{size:13}),name:l("Image"),words:a,onSelect:()=>C(b,{level:"image",index:he}),selected:B&&m.level==="image"&&m.index===he,rowProps:{onClick:O(()=>C(b,{level:"image",index:he}))}}),be(Fa,{icon:be(aN,{size:13}),name:l("Map"),words:a,onSelect:()=>C(b,{level:"map",index:he}),selected:B&&m.level==="map"&&m.index===he,rowProps:{onClick:O(()=>C(b,{level:"map",index:he}))}})]}),W(D.key,xe+1)]},rs(Te))}),Bt("button",{type:"button",className:"sf-add-card",onClick:()=>{let Te=hb(P,D.key);x(b,Te);let xe=At(Te).find(he=>he.key===D.key);no(xe&&xe.cards.length?{level:"city",index:as(Te,D.key,xe.cards.length-1)}:{level:"group",key:D.key})},children:[be("span",{className:"sf-plus sf-plus--sm",children:"+"}),l("Add city")]})]}),A(te+1)]},ie)}),Bt("button",{type:"button",className:"sf-add-card",onClick:()=>{let{cards:D,key:te}=gb(P);x(b,D),C(b,{level:"group",key:te})},children:[be("span",{className:"sf-plus sf-plus--sm",children:"+"}),l("Add group")]})]})},sectionPressed:g=>{g?.type===ls&&no({level:"groups"})}}}import{useEffect as sN,useRef as iN}from"react";import{createNode as cd,newId as dd}from"efficient-easel/data";import{useEaselApi as fN}from"efficient-easel/easel";import{useScreenDocument as cN}from"efficient-easel/screen/components/ScreenDocumentContext";import{useEaselSession as dN}from"efficient-easel/screen/lib/session-context";import{ROOT_ZONE as yr,missingPinnedTypes as uN,pinnedDuplicateIds as ud}from"efficient-easel/draw";function Eb(e){return!e.docId||e.saveStatus==="saving"?!1:e.seededDocId!==e.docId}function Ob(e,o){let t=e.some(i=>i?.type===ae),r=e[e.length-1],a=!t&&r?.type===le?r:null,n=e.filter(i=>i?.type===le&&i!==a).map(i=>String(i.props?.id??"")).filter(Boolean),s=o.hasChromeDoc&&!t&&!a;return{remove:n,seedHeader:!e.some(i=>i?.type===De),seedFooter:s,seedSiteHeader:s&&!e.some(i=>i?.type===se)}}async function Lb(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!==se||!e.stillOpen())return!1;let r=e.latest();return r.some(a=>a?.type===se)?!1:(e.write(Kl(r,t)),!0)}function Rb(e,o){let{adapter:t,capabilities:r,currentSlug:a,docId:n,data:s,saveStatus:i,siteId:f,tokenRef:d}=cN(),p=dN(),{hasSiteSettings:m,hasPinnedChrome:x}=r,I=!!r.editsPinnedInPlace&&a!==Yt,y=a===Yt,w=fN().getState,v=iN(null);sN(()=>{if(!Eb({docId:n,saveStatus:i,seededDocId:v.current})||(v.current=n,!x))return;let k=w().appState.data,C=k.content,g=s?.content??[],b=(P,M)=>P.some(z=>z?.type===M);if(!m){let P=new Set(ud(C)),M=P.size?C.filter(B=>!P.has(B.props.id)):C;if(P.size&&e.setDocument({...k,content:M}),y)return;let z=uN(M,g);if(z.includes(le)){let B=M.length,A=e.insertSection(le,B);e.replaceComponent(yr,B,{type:le,props:{id:A,blocks:jl()}})}z.includes(De)&&e.insertNode(yr,0,ql());return}if(y){let P=Ir(C);if(P!==C&&e.setDocument({...k,content:[...P]}),!P.find(M=>M.type===le)&&!b(g,le)&&!b(P,ae)&&!b(g,ae)){let M=(B,A)=>cd(o,B,A),z={type:le,props:{blocks:jl()}};e.insertNode(yr,P.length,Sa(z,M,dd(ae)))}return}if(I){let P=!!t?.pinnedChrome?.state().docId,M=Ob(C,{hasChromeDoc:P}),z=new Set([...M.remove,...ud(C.filter(A=>!M.remove.includes(String(A.props.id))))]),B=z.size?C.filter(A=>!z.has(String(A.props.id))):C;if(B.length!==C.length&&e.setDocument({...k,content:B}),M.seedFooter&&!b(g,le)&&!b(g,ae)){let A=(D,te)=>cd(o,D,te),W={type:le,props:{blocks:jl()}};e.insertNode(yr,B.length,Sa(W,A,dd(ae)))}if(M.seedHeader&&!b(g,De)){let A=B[0]?.type===se?1:0;e.insertNode(yr,A,ql())}if(M.seedSiteHeader&&!b(g,se)&&!b(g,le)&&!b(g,ae)){let A=n;Lb({blocks:un(p),make:(W,D)=>cd(o,W,D),id:dd(se),siteId:f??null,token:d.current,latest:()=>w().appState.data.content,stillOpen:()=>v.current===A,write:W=>{let D=w().appState.data;e.setDocument({...D,content:[...W]})}})}return}let O=C.filter(P=>P.type!==le),F=new Set(ud(O)),L=F.size?O.filter(P=>!F.has(P.props.id)):O;L.length!==C.length&&e.setDocument({...k,content:L}),!b(L,De)&&!b(g,De)&&e.insertNode(yr,0,ql())},[n,i,s,w,e,m,x,y,I,t,p,f,d])}import{useEffect as Hb,useMemo as hN,useRef as Wb}from"react";import{useEasel as gN}from"efficient-easel/easel";import{useEaselHost as yN}from"efficient-easel/screen/lib/host";var pd=e=>!!e&&typeof e=="object"&&typeof e.type=="string"&&!!e.props&&typeof e.props=="object";function md(e,o){let t=e.components[o]?.label;return typeof t=="string"&&t.trim()?t.trim():o}function pN(e){return e.length>3&&e.endsWith("s")?e.slice(0,-1):e}function xd(e,o,t,r){e.forEach((a,n)=>{if(pd(a)){r.push({node:a,list:e,index:n,parent:o,slot:t});for(let[s,i]of Object.entries(a.props))Array.isArray(i)&&i.some(pd)&&xd(i,a,s,r)}})}function mN(e){let o=[];xd(Array.isArray(e.content)?e.content:[],null,"",o);for(let t of Object.values(e.zones??{}))Array.isArray(t)&&xd(t,null,"",o);return o}function Bb(e,o){return mN(e).find(t=>String(t.node.props.id)===o)}function Db(e,o,t){if(!t)return null;let r=Bb(o,t);if(!r)return null;let a=md(e,r.node.type),n=r.parent?`${md(e,r.parent.type)} \xB7 ${pN(r.slot)} ${r.index+1}`:a;return{blockId:t,type:r.node.type,label:n,path:""}}function xN(e){if(!e||typeof e!="object")return null;let o=e;if(typeof o.type!="string")return null;let t={type:o.type};typeof o.label=="string"&&(t.label=o.label),Array.isArray(o.options)&&(t.options=o.options.filter(r=>!!r&&typeof r=="object"&&"value"in r).map(r=>typeof r.label=="string"?{value:r.value,label:r.label}:{value:r.value}));for(let r of["arrayFields","objectFields"])o[r]&&typeof o[r]=="object"&&(t[r]=_b(o[r]));return t}function _b(e){let o={};for(let[t,r]of Object.entries(e??{})){let a=xN(r);a&&(o[t]=a)}return o}function Nb(e){let o={};for(let[t,r]of Object.entries(e.components))r&&(o[t]={label:md(e,t),fields:_b(r.fields)});return o}function IN(e,o){let t=e;for(let r of o?o.split("."):[]){let a=/^([A-Za-z_][A-Za-z0-9_]*)(?:\[(\d+)\])?$/.exec(r);if(!a||!t||typeof t!="object")return null;t=t[a[1]],a[2]!==void 0&&(t=Array.isArray(t)?t[Number(a[2])]:void 0)}return t&&typeof t=="object"&&!Array.isArray(t)?t:null}function Id(e,o){return e.findIndex(t=>pd(t)&&String(t.props.id)===o)}function Ab(e,o,t){let r=o||t;if(!r)return e.length;let a=Id(e,r);if(a<0)throw new Error(`there is no top-level block ${r}`);return o?a+1:a}function Mb(e,o,t,r){let a=structuredClone(o),n=Array.isArray(a.content)?a.content:a.content=[];try{t.forEach((s,i)=>{let f=d=>{throw new Error(`change ${i+1}: ${d}`)};switch(s.op){case"set_props":{let d=Bb(a,s.block_id)??f(`there is no block ${s.block_id}`);"id"in s.props&&f("a block's id is never changed");let p=IN(d.node.props,s.path)??f(`there is no ${s.path} in that block`);Object.assign(p,structuredClone(s.props));break}case"insert_block":{let d=e.components[s.type]??f(`there is no block type ${s.type}`),p=d.defaultProps&&typeof d.defaultProps=="object"?d.defaultProps:{},m={type:s.type,props:{...structuredClone(p),...structuredClone(s.props),id:r(s.type)}};n.splice(Ab(n,s.after,s.before),0,m);break}case"remove_block":{let d=Id(n,s.block_id);d<0&&f(`there is no top-level block ${s.block_id}`),n.splice(d,1);break}case"move_block":{let d=Id(n,s.block_id);d<0&&f(`there is no top-level block ${s.block_id}`);let[p]=n.splice(d,1);n.splice(Ab(n,s.after,s.before),0,p);break}default:f(`"${s.op}" is not a change this editor makes`)}})}catch(s){return{ok:!1,reason:s instanceof Error?s.message:String(s)}}return{ok:!0,document:a}}var hd=e=>typeof e.requestId=="string"&&e.requestId?e.requestId:null;function zb(){let e=yN(),{appState:o,selectedItem:t,dispatch:r,history:a,config:n}=gN(x=>x),s=n,i=Wb({appState:o,dispatch:r,history:a,blockConfig:s});i.current={appState:o,dispatch:r,history:a,blockConfig:s};let f=Wb(new Map),d=t?.props?.id,p=hN(()=>Db(s,o.data,d),[s,o.data,d]),m=p?JSON.stringify(p):"";Hb(()=>{e.connected&&e.send("storefront-editor:selection",{selection:p})},[e,m]),Hb(()=>e.subscribe(x=>{let{appState:I,dispatch:y,history:w,blockConfig:v}=i.current;switch(x.type){case"storefront-editor:request-document":{let k=hd(x);if(!k)return;e.send("storefront-editor:document",{requestId:k,document:I.data,blocks:Nb(v)});return}case"storefront-editor:apply-page-edits":{let k=hd(x);if(!k)return;let C=Array.isArray(x.ops)?x.ops:[],g=C.length?Mb(v,I.data,C,b=>`${b}-${crypto.randomUUID()}`):{ok:!1,reason:"no changes"};g.ok&&(y({type:"setData",data:g.document,recordHistory:!0}),f.current.set(k,JSON.stringify(g.document.content??[]))),e.send("storefront-editor:page-edits-result",{requestId:k,applied:g.ok,reason:g.ok?null:g.reason});return}case"storefront-editor:undo-page-edits":{let k=hd(x);if(!k)return;let C=f.current.get(k),g=C!==void 0&&C===JSON.stringify(I.data.content??[]);g&&w.hasPast&&(w.back(),f.current.delete(k)),e.send("storefront-editor:page-edits-result",{requestId:k,applied:g&&w.hasPast,reason:g?null:"the page has changed since"});return}case"storefront-editor:set-right-panel":typeof x.shown=="boolean"&&y({type:"setUi",ui:{rightSideBarVisible:x.shown}});return;default:return}}),[e])}import{useEffect as $b,useState as qb}from"react";var ss=new Map;async function bN(e,o){try{return(await Se().site.get({siteId:o})).slug?.trim()||null}catch(t){return console.warn("[editor-site-slug] could not resolve the site slug",t),null}}function Gb(e,o){let t=ss.get(o);return t||(t=bN(e,o),ss.set(o,t),t.catch(()=>{ss.get(o)===t&&ss.delete(o)})),t}var SN=/^(localhost|(?:[a-z0-9-]+\.)+localhost|127(?:\.\d{1,3}){3}|0\.0\.0\.0|\[::1\]|::1)$/i;function gd(e){return!!e&&SN.test(e)}function Ub(e){let{pageSlug:o,siteSlug:t,hostname:r}=e,a=o===on?"/":`/${encodeURIComponent(o)}`;if(!gd(r))return a;let n=t?.trim();return n?`${a}?site=${encodeURIComponent(n)}`:a}function jb(e){let{pageSlug:o,siteId:t,token:r}=e,[a,n]=qb(null),[s,i]=qb(null),f=ja();$b(()=>i(f?new URL(f).hostname:window.location.hostname),[f]),$b(()=>{if(!gd(s)||!t||!r){n(null);return}let p=!1;return Gb(r,t).then(m=>{p||n(m)}),()=>{p=!0}},[s,t,r]);let d=Ub({pageSlug:o,siteSlug:a,hostname:s});return f?`${f}${d}`:d}import{jsx as Ea,jsxs as CN}from"react/jsx-runtime";import{ExternalIcon as Kb}from"efficient-easel/icons";import{Button as wN,Tooltip as Vb,buttonClasses as vN}from"efficient-shell/ui";function kN({pageId:e,liveHref:o,draftLink:t,win:r=window}){let a=r.open("","_blank");if(a)try{a.opener=null}catch{}let n=s=>{a&&!a.closed?a.location.href=s:r.open(s,"_blank","noopener,noreferrer")};return t(e).then(s=>n(s.url??o),()=>n(o))}function Yb({liveHref:e,pageId:o,draftLink:t}){return t&&o?Ea(Vb,{content:l("Open your saved draft in a new tab. Visitors don't see it."),children:Ea(wN,{variant:"secondary",onClick:()=>{kN({pageId:o,liveHref:e,draftLink:t})},rightIcon:Ea(Kb,{size:15}),"aria-label":l("Preview your saved draft in a new tab"),children:l("Preview")})}):Ea(Vb,{content:l("Preview the live site (opens in a new tab)"),children:CN("a",{className:vN({variant:"secondary"}),href:e,target:"_blank",rel:"noopener noreferrer","aria-label":l("Preview the live site in a new tab"),children:[l("Preview"),Ea(Kb,{size:15})]})})}import{createElement as RN,useCallback as AN,useEffect as xS,useRef as IS,useState as BN}from"react";import{ClockIcon as DN}from"efficient-shell/icons/efficient";import{useScreenDocument as _N}from"efficient-easel/screen/components/ScreenDocumentContext";import{useSyncExternalStore as TN}from"react";import{useScreenDocument as PN}from"efficient-easel/screen/components/ScreenDocumentContext";var FN=()=>()=>{},Xb=()=>null;function is(e){return TN(e?e.subscribe:FN,e?e.state:Xb,e?e.state:Xb)}function fs(){let{adapter:e}=PN();return e?.pinnedChrome}import{useSyncExternalStore as Jb}from"react";var Oa=!1,br=null,yd=new Set;function Ra(){for(let e of yd)e()}function eS(e){return yd.add(e),()=>{yd.delete(e)}}function oS(){Oa||(Oa=!0,Ra())}function tS(){Oa&&(Oa=!1,Ra())}function Zb(){return Oa}function rS(){return Jb(eS,Zb,Zb)}function Qb(){return br}function cs(){br&&(br=null,Ra())}function aS(){return Jb(eS,Qb,Qb)}var La=class extends Error{constructor(){super("The editor's last changes could not be saved, so nothing was restored."),this.name="HeldEditsNotSaved"}};async function nS(e,o,t,{flushSave:r,reload:a}){if(!await r())throw new La;let n=await e.restore(o,t);return Xp(n.liveState),a(),n}async function lS({access:e,version:o,page:t,...r}){let a=await nS(e,o.id,t?{page:t.id}:{},r);br={title:EN(o,t??null),undo:a.undo},Ra()}async function sS({access:e,...o}){let t=br?.undo;t&&(await nS(e,t,{},o),br=null,Ra())}function iS(e){return e.name?e.name:e.kind==="draft_before_restore"?l("Draft before restore"):l("Version {n}",{n:e.number})}function EN(e,o){return e.kind==="draft_before_restore"?l("Your drafts from before the restore are back"):o?l("{page} from version {n} is now your draft",{page:o.name,n:e.number}):l("Version {n} is now your draft",{n:e.number})}function fS(e){let o=e.changes.filter(r=>r.kind==="page").length,t=[...o?[$e("{n} page","{n} pages",o)]:[],...e.changes.filter(r=>r.kind!=="page").map(r=>r.name)];if(!t.length)return"";try{return new Intl.ListFormat(Ls(),{type:"conjunction"}).format(t)}catch{return t.join(", ")}}function cS(e){return e.change==="take_down"?l("{name} (taken down)",{name:e.name}):e.name}function dS(e,o=new Date){let t=new Date(e);if(Number.isNaN(t.getTime()))return"";let r=Ls(),a=new Intl.DateTimeFormat(r,{hour:"numeric",minute:"2-digit"}).format(t);if(t.toDateString()===o.toDateString())return l("Today, {time}",{time:a});let n=new Intl.DateTimeFormat(r,{day:"numeric",month:"short",...t.getFullYear()===o.getFullYear()?{}:{year:"numeric"}}).format(t);return l("{day}, {time}",{day:n,time:a})}import{useSyncExternalStore as ON}from"react";var Sr=new Map,bd=new Set;function Sd(e,o){if(!(Sr.has(e)&&Sr.get(e)===o)){Sr.set(e,o);for(let t of bd)t()}}function VJ(e,o){Sd(e,o)}function YJ(e,o){let t=Sr.get(e);Sd(e,o??(t==="live"?"changed":t))}function XJ(e,o){Sd(e,o??"live")}function ZJ(e){return Sr.get(e)}function LN(e){return bd.add(e),()=>{bd.delete(e)}}function uS(e){let o=()=>e?Sr.get(e):void 0;return ON(LN,o,o)}function pS(e,o){return e==="live"&&o?"changed":e}function Cd({live:e,onPress:o,busy:t=!1,pinnedUnpublished:r=!1,goingLive:a}){let n=e==="live"&&!r,s=e==="changed"?l("Changes not live yet"):e==="never"?l("Never published"):r?l("Header and footer not live yet"):e==="live"?l("Everything is live"):null;return{label:l("Publish"),tooltip:e==="never"?l("Put this page on your site"):l("Put your changes on your site"),status:s,quiet:n?{label:l("Published"),reason:l("Everything is live")}:null,...a&&a.length?{goingLive:a}:{},onPress:o,busy:t}}function mS(e){return e.map(o=>o.change==="take_down"?l("{name} (taken down)",{name:o.name}):o.name)}function hS(e){let{docId:o,capabilities:t,hasUnsavedEdits:r,onPublish:a,adapter:n}=_N(),s=pS(uS(o??null),r),i=is(fs()),f=n.siteLiveState;xS(()=>{if(f)return gi(f),xn(0),()=>gi(null)},[f]);let d=In(),[p,m]=BN(!1),x=IS(e);x.current=e;let I=IS(!0);xS(()=>(I.current=!0,()=>{I.current=!1}),[]);let y=AN(()=>{m(!0),a(x.current).then(()=>{cs()}).finally(()=>{I.current&&m(!1)})},[a]);if(t.canPublish){if(f){let w=d===void 0?void 0:r||d.state==="changed"?"changed":"live",v=Cd({live:w,onPress:y,busy:p,goingLive:mS(d?.changes??[])});return n.siteVersions?{...v,menuItems:NN()}:v}return Cd({live:s,onPress:y,busy:p,pinnedUnpublished:i?.unpublished??!1})}}function NN(){return[{key:"version-history",label:l("Version history"),icon:RN(DN),onSelect:oS}]}import{jsx as H,jsxs as ze,Fragment as Da}from"react/jsx-runtime";import{useCallback as MN,useEffect as HN,useId as bS,useRef as WN,useState as je}from"react";import{Avatar as zN,Banner as Aa,Button as Dt,ColoredBadge as wd,Dialog as SS,Drawer as GN,DropdownMenu as UN,FormField as CS,iconButtonClasses as $N,Inline as vd,Input as qN,ListRow as jN,Select as KN,SortableList as VN,Stack as Ba}from"efficient-shell/ui";import{EditIcon as YN,EyeIcon as gS,MenuIcon as XN,MoreIcon as ZN,PageIcon as wS,RevertIcon as yS,StylesIcon as QN}from"efficient-shell/icons/efficient";import{useScreenDocument as vS}from"efficient-easel/screen/components/ScreenDocumentContext";var JN={page:wS,menu:XN};function eM(e,o){return e.pages.find(t=>t.id===o)??e.pages[0]??null}function oM(e,o){let t=window.open("","_blank");if(t)try{t.opener=null}catch{}return e.preview(o).then(({url:r})=>{t&&!t.closed?t.location.href=r:window.open(r,"_blank","noopener,noreferrer")},r=>{throw t?.close(),r})}function tM({version:e,page:o,waiting:t,busy:r,error:a,onCancel:n,onConfirm:s,onPage:i}){let f=bS();if(!e)return null;let d=e.kind==="draft_before_restore",p=e.number,m=fS(e),x=d?l("Put your drafts back?"):o?l("Restore {page} from version {n}?",{page:o.name,n:p}):l("Restore version {n}?",{n:p}),I=d?l("Your drafts go back to how they were before the restore."):o?l("{page} goes back to version {n} as a draft. Nothing else on your website changes.",{page:o.name,n:p}):m?l("The whole website goes back to version {n} as a draft: {what}.",{n:p,what:m}):l("The whole website goes back to version {n} as a draft.",{n:p}),y=e.deletedPictures??0;return H(SS,{open:!0,onClose:()=>{r||n()},size:"sm",title:x,footer:ze(Da,{children:[H(Dt,{variant:"secondary",onClick:n,disabled:r,children:l("Cancel")}),H(Dt,{onClick:s,loading:r,disabled:r,children:l("Restore as draft")})]}),children:ze(Ba,{gap:4,children:[o&&e.pages.length>1?H(CS,{label:l("Page"),htmlFor:f,children:H(KN,{id:f,value:o.id,options:e.pages.map(w=>({value:w.id,label:w.name})),onChange:i,disabled:r})}):null,H("p",{children:I}),H("p",{children:l("Your live website does not change until you press Publish.")}),y>0?H(Aa,{tone:"warning",children:$e("{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.",y)}):null,t?H(Aa,{tone:"info",title:l("Your unpublished changes are kept"),children:l("They are saved in Version history as \u201CDraft before restore\u201D, so you can get them back.")}):null,a?H(Aa,{tone:"danger",children:a}):null]})})}function rM({version:e,onCancel:o,onSave:t}){let r=bS(),[a,n]=je(null),[s,i]=je(""),[f,d]=je(!1),[p,m]=je(null);if(e!==a&&(n(e),i(e?.name??""),m(null)),!e)return null;let x=s.trim()===e.name,I=async()=>{if(!(f||x)){d(!0),m(null);try{await t(s.trim())}catch{m(l("The name was not saved. Try again."))}finally{d(!1)}}};return H(SS,{open:!0,onClose:()=>{f||o()},size:"sm",title:l("Name this version"),footer:ze(Da,{children:[H(Dt,{variant:"secondary",onClick:o,disabled:f,children:l("Cancel")}),H(Dt,{onClick:()=>{I()},loading:f,disabled:f||x,children:l("Save")})]}),children:H(CS,{label:l("Name"),htmlFor:r,hint:l("Named versions are always kept. Leave it empty to take the name away."),error:p??void 0,children:H(qN,{id:r,value:s,invalid:!!p,onChange:y=>i(y.target.value),onKeyDown:y=>{y.key==="Enter"&&I()}})})})}function aM({version:e,expanded:o,onToggle:t,onPreview:r,onRestore:a,onRestorePage:n,onName:s}){let i=e.kind==="draft_before_restore",f=!e.live,d=e.changes.length,p=[...i?[]:[{key:"preview",label:l("Preview"),icon:H(gS,{}),onSelect:r}],...f?[{key:"restore",label:i?l("Put these drafts back"):l("Restore whole website"),icon:H(yS,{}),onSelect:a}]:[],...f&&!i&&e.pages.length?[{key:"restore-page",label:l("Restore one page only"),icon:H(wS,{}),onSelect:n}]:[],...i?[]:[{type:"divider",key:"divider"},{key:"name",label:l("Name this version"),icon:H(YN,{}),onSelect:s}]];return H(jN,{title:ze("span",{className:"sf-version-title",children:[H("span",{children:iS(e)}),e.live?H(wd,{tone:"success",size:"xs",children:l("Live")}):null,e.name?H(wd,{tone:"neutral",size:"xs",children:l("Version {n}",{n:e.number})}):null,i?H(wd,{tone:"warning",size:"xs",children:l("Not published")}):null]}),expanded:o,onToggle:t,actions:H(UN,{align:"end","aria-label":l("More"),items:p,triggerClassName:$N({variant:"ghost",size:"sm"}),trigger:H(ZN,{})}),below:ze(Ba,{gap:3,children:[ze(vd,{gap:2,align:"center",wrap:!0,className:"sf-version-meta",children:[H(zN,{name:e.createdBy,size:"xs"}),H("span",{children:e.createdBy}),H("span",{"aria-hidden":"true",children:"\xB7"}),H("span",{children:dS(e.createdAt)}),d?ze(Da,{children:[H("span",{"aria-hidden":"true",children:"\xB7"}),H("span",{children:$e("{n} change","{n} changes",d)})]}):null]}),o?ze(Ba,{gap:3,children:[d?H(Ba,{gap:2,children:e.changes.map(m=>{let x=JN[m.kind]??QN;return ze(vd,{gap:2,align:"center",children:[H(x,{size:16}),H("span",{children:cS(m)})]},`${m.kind}:${m.id}`)})}):null,ze(vd,{gap:2,children:[i?null:H(Dt,{variant:"secondary",size:"sm",leftIcon:H(gS,{}),onClick:r,children:l("Preview")}),f?H(Dt,{variant:"secondary",size:"sm",leftIcon:H(yS,{}),onClick:a,children:l("Restore")}):null]})]}):null]})})}function nM({open:e,onClose:o,access:t,waiting:r}){let{flushSave:a,reloadFromServer:n,docId:s}=vS(),[i,f]=je(null),[d,p]=je(!1),[m,x]=je(null),[I,y]=je(null),[w,v]=je(!1),[k,C]=je(null),[g,b]=je(null),[O,F]=je(!1),L=WN(0),P=MN(()=>{let B=++L.current;p(!1),t.list().then(A=>{B===L.current&&f(A)},()=>{B===L.current&&p(!0)})},[t]);HN(()=>{e&&P()},[e,P]);let M=B=>{F(!1),oM(t,B.id).catch(()=>F(!0))},z=async()=>{if(!(!I||w)){v(!0),C(null);try{await lS({access:t,version:I.version,page:I.page,flushSave:a,reload:n}),y(null),o()}catch(B){C(B instanceof La?l("Your last changes did not save, so nothing was restored. Try again."):l("The version was not restored. Nothing changed. Try again."))}finally{v(!1)}}};return ze(Da,{children:[H(GN,{open:e,onClose:o,side:"right",size:"md",title:l("Version history"),description:ze(Da,{children:[l("Every Publish keeps a copy of the whole website: pages, menus and site styles.")," ",l("Products, prices and forms always show as they are now.")]}),footer:H("span",{className:"sf-version-foot",children:l("The newest 30 are kept. Named versions are always kept.")}),children:ze(Ba,{gap:3,children:[O?H(Aa,{tone:"danger",onDismiss:()=>F(!1),children:l("The preview did not open. Try again.")}):null,d?H(Aa,{tone:"danger",action:H(Dt,{variant:"secondary",size:"sm",onClick:P,children:l("Try again")}),children:l("Version history did not load.")}):i===null?H("p",{className:"sf-version-foot",children:l("Loading versions")}):i.length===0?H("p",{className:"sf-version-foot",children:l("No versions yet. Every Publish from now on keeps one.")}):H(VN,{"aria-label":l("Versions"),spacing:"comfortable",children:i.map(B=>H(aM,{version:B,expanded:m===B.id,onToggle:()=>x(A=>A===B.id?null:B.id),onPreview:()=>M(B),onRestore:()=>{C(null),y({version:B,page:null})},onRestorePage:()=>{C(null),y({version:B,page:eM(B,s)})},onName:()=>b(B)},B.id))})]})}),H(tM,{version:I?.version??null,page:I?.page??null,waiting:r,busy:w,error:k,onCancel:()=>y(null),onConfirm:()=>{z()},onPage:B=>y(A=>A&&{...A,page:A.version.pages.find(W=>W.id===B)??A.page})}),H(rM,{version:g,onCancel:()=>b(null),onSave:async B=>{await t.name(g.id,B),b(null),P()}})]})}function kS(){let{adapter:e,hasUnsavedEdits:o}=vS(),t=e.siteVersions,r=rS(),a=In();return t?H(nM,{open:r,onClose:tS,access:t,waiting:o||a?.state==="changed"}):null}import{useEaselSession as aw}from"efficient-easel/screen/lib/session-context";import{buildPaletteSections as Pee,categoryLabel as Fee,paletteWithoutPinned as Eee,pinnedSection as Oee}from"efficient-easel/screen/lib/puck/palette-sections";var TS=["general","commerce","service"],Cr=[{key:"openers",title:"Hero & intros",defaultExpanded:!0,templateable:!0,sections:[{type:"Hero",label:"Hero Slideshow",set:"general"},{type:"HeroSingle",label:"Hero",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"},{type:"SpecStrip",label:"Spec Strip",set:"general"}]},{key:"product",title:"Product page",templateable:!0,sections:[{type:"ProductHero",label:"Product Hero",set:"commerce"},{type:"SpecTable",label:"Spec Table",set:"commerce"},{type:"ProcessSteps",label:"Image & Text Columns",set:"general"},{type:"DetailRows",label:"Feature Rows",set:"commerce"},{type:"FitmentTable",label:"Fitment Table",set:"commerce"},{type:"TyreSizes",label:"Tyre Sizes",set:"commerce"},{type:"TyreFitment",label:"Tyre Fitment Form",set:"commerce"},{type:"EuTyreLabel",label:"EU Tyre Label",set:"commerce"},{type:"RelatedProducts",label:"Related Products",set:"commerce"},{type:"BundleOffer",label:"Bundle Products",set:"commerce"}]},{key:"checkout",title:"Checkout & ordering",templateable:!0,sections:[{type:"OrderSummary",label:"Order Table",set:"general"},{type:"DeliveryOptions",label:"Delivery Options",set:"commerce"},{type:"PaymentBadges",label:"Payment Methods",set:"general"},{type:"CheckoutCTA",label:"Ready-to-Order Banner",set:"commerce"}]},{key:"about",title:"About & brand story",templateable:!0,sections:[{type:"Manifesto",label:"Brand Text",set:"general"},{type:"Timeline",label:"Story Timeline",set:"general"},{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:"Split",label:"Image & Text Split",set:"general"},{type:"Cards",label:"Cards",set:"general"}]},{key:"proof",title:"Stats & social proof",templateable:!0,sections:[{type:"Stats",label:"Stats",set:"general"},{type:"StatsParagraph",label:"Stats with Text",set:"general"},{type:"Chart",label:"Chart",set:"general"},{type:"Mockup",label:"Mockup Card",set:"general"},{type:"Testimonials",label:"Testimonials",set:"general"},{type:"Reviews",label:"Reviews",set:"service"},{type:"Logos",label:"Logos",set:"general"}]},{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:"Ticker",label:"Scrolling Bar",set:"general"},{type:"Countdown",label:"Countdown",set:"general"},{type:"Subscribe",label:"Signup Form",set:"service"}]},{key:"blog",title:"Blog & journal",templateable:!0,sections:[{type:"Masthead",label:"Issue Header",set:"general"},{type:"FeaturedCover",label:"Feature Banner",set:"general"},{type:"LongRead",label:"Article Text",set:"general"},{type:"Series",label:"Recurring Columns",set:"general"},{type:"Events",label:"Latest Posts",set:"service"}]},{key:"navigation",title:"Navigation & wayfinding",templateable:!0,sections:[{type:"Breadcrumb",label:"Breadcrumb",set:"general"},{type:"CategoryBar",label:"Category Bar",set:"general"},{type:"DocTabs",label:"Document Tabs",set:"general"}]},{key:"legal",title:"Legal & documents",templateable:!0,sections:[{type:"DocMasthead",label:"Document Header",set:"general"},{type:"DocBody",label:"Document Text",set:"general"},{type:"DocMetaCards",label:"Document Detail Cards",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:"Spacer",label:"Spacer",set:"general"},{type:"Divider",label:"Divider",set:"general"},{type:"CustomHTML",label:"Custom HTML",set:"general"}]}];function hee(){return Object.fromEntries(Cr.map(e=>[e.key,{title:e.title,components:e.sections.map(o=>o.type),...e.defaultExpanded?{defaultExpanded:!0}:{}}]))}var lM={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 a shape (Big left, Big right, Bigger left, Bigger right) and its own `Columns on phone`. 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/puck/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/puck/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.',TimelineTrack:"Lewis, 2026-10-09/10 (decisions.md ND, approved): the horizontal year rail and the Story Timeline do one job, so the rail becomes the Story Timeline's fourth Display, Track. Retired by card [MERGE] One Text Block And Click Through Parts (2026-10-22).\n\nWHAT REPLACES IT: a Story Timeline (`Timeline`) with Display set to Track. It draws this section's own component (`components/TimelineTrack`), so for the same words it draws the same bytes: the band colour (`Background color`, the same built-in), the padding, the CTA and each milestone's `Upcoming` switch (shown on each entry under Track only). An entry's `Body` is the rail's blurb. `scripts/test-timeline-track-display.tsx` \xA72 holds the bytes.\n\nWHAT A MERCHANT LOSES on a NEW rail, said plainly: (1) the head cannot move into a box of its own (`headPlacement`); the layered rebuild puts a head in one Box with its content anyway. (2) The year and title of every milestone are not one text kind: each run is styled on its own. (3) The Width rows follow the Story Timeline's family (`background`), not the rail's (`capped`).\n\nTHE TYPE KEY STAYS AND SO DOES THE COMPONENT. Every page holding a Milestone Timeline still renders through it and can still be edited; no document is rewritten and NO MIGRATION RUNS.",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).
7
+
8
+ 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.
9
+
10
+ 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.
11
+
12
+ 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.`,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."},gee=["Grid"],yee=Array.from(new Set([...Cr.flatMap(e=>e.sections.map(o=>o.type)),...Object.keys(lM)])),bee=Object.fromEntries(Cr.flatMap(e=>e.sections.map(o=>[o.type,o.label]))),sM={Heading:"general",Text:"general",Eyebrow:"general",ImageBlock:"general",LogoBlock:"general",ButtonBlock:"general",PostCard:"general",HeroSlide:"general",HeroGroup:"general",Integrations:"general",Grid:"general",TimelineTrack:"general",KeyFeatures:"general",CollectionCard:"commerce",GalleryItem:"commerce",ProductRef:"commerce",CompatibleTyres:"commerce",Header:"commerce",SearchBlock:"commerce",CartBlock:"commerce",CountrySwitchBlock:"commerce",AccountBlock:"commerce",ThemeSwitchBlock:"commerce",SubmitBox:"service",BookingBox:"service",SubscribeBlogs:"service",Footer:"service",FooterLogo:"service",FooterMenu:"service",FooterDivider:"service",FooterGroup:"service",FooterText:"service",FooterEmailSignup:"service",FooterSocial:"service",MenuBlock:"service",EmailFormBlock:"service",SocialLogosBlock:"service",LegalLineBlock:"service",SiteHeader:"service",SiteFooter:"service"},ds={...sM,...Object.fromEntries(Cr.flatMap(e=>e.sections.map(o=>[o.type,o.set])))};function PS(e){return Object.prototype.hasOwnProperty.call(ds,e)?ds[e]:void 0}function kd(e){return Object.keys(ds).filter(o=>ds[o]===e).sort()}var See=kd("general"),Cee=kd("commerce"),wee=kd("service"),Td="Flex",nt="Box",vee=`${nt}es`;function iM(e){return e==="section"?"Blank section":nt}function Pd(e,o,t){return e===Td?iM(o):t}var fM={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"}};function FS(e){return fM[e]?.label}var ES=Td;import{currentEaselSession as cM}from"efficient-easel/screen/lib/session";var dM={general:!0,commerce:!0,service:!0};function Fd(e){let o=e?.sets;return o?Object.fromEntries(TS.map(t=>[t,o.includes(t)])):dM}function Dee(e=cM()){return Fd(e.blocks)}import{currentEaselSession as aC}from"efficient-easel/screen/lib/session";var wr="content",ue="Flex",uM="Text & media",pM="Layout & structure",mM=[{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:"ButtonBlock",label:"Button"},{type:"Form",label:"Form"},{type:"PostCard",label:"Post Card"},{type:"Stats",label:"Stats"},{type:"MenuBlock",label:"Menu"},{type:"EmailFormBlock",label:"Email Form"},{type:"SocialLogosBlock",label:"Social 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:uM})),xM=(Cr.find(e=>e.key==="structure")?.sections??[]).map(e=>({type:e.type,label:e.label,group:pM})),OS=[...mM,...xM],Ed=[{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:"ButtonBlock",label:"Button"},{type:"HeroGroup",label:nt}],Mee=Ed.map(e=>e.type),IM=1,hM=Ed.filter(e=>e.type!=="HeroGroup");function gM(e){return e<IM?Ed:hM}var yM={Flex:{slot:wr,choices:()=>OS},Grid:{slot:wr,choices:()=>OS},HeroGroup:{slot:wr,choices:gM}};function LS(e,o=0){let t=yM[e];return t?{slot:t.slot,choices:t.choices(o)}:null}var vr=()=>({tag:"h2",_partStyles:{text:{textStyle:"heading-2"}}}),Od=()=>({_partStyles:{text:{textStyle:"body-5",color:"accent",letterSpacing:.3,case:"upper",lineHeight:1.5}}});function Oe(e,o,t,r={}){return{type:e,props:{...o(e),id:t(e),...r}}}function RS(e,o,t){return Oe(ue,e,o,{...t,sectionPaddingTop:void 0,sectionPaddingBottom:void 0})}var bM={Manifesto:(e,o)=>({type:ue,props:{...e(ue),id:o(ue),direction:"row",share:"equal",sectionHeightMode:"screen",name:"Brand Text",content:[Oe(ue,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:40,sectionPaddingRight:40,content:[Oe("Text",e,o,Od()),Oe("Text",e,o,vr()),Oe("Text",e,o),Oe("Stats",e,o)]}),RS(e,o,{direction:"column",name:"Picture",content:[]})]}}),Split:(e,o)=>({type:ue,props:{...e(ue),id:o(ue),direction:"row",share:"equal",sectionHeightMode:"screen",sectionHeightValue:70,name:"Image & Text Split",content:[Oe(ue,e,o,{direction:"column",justify:"center",blockSpacing:"gap",name:"Text",sectionPaddingTop:100,sectionPaddingBottom:100,sectionPaddingLeft:60,sectionPaddingRight:60,content:[Oe("Text",e,o,Od()),Oe("Text",e,o,vr()),Oe("Text",e,o),Oe("ButtonBlock",e,o)]}),RS(e,o,{direction:"column",name:"Image",content:[Oe("ImageBlock",e,o)]})]}}),Subscribe:(e,o)=>({type:ue,props:{...e(ue),id:o(ue),direction:"column",name:"Subscribe",content:[Oe("Text",e,o,vr()),Oe("Text",e,o),Oe("Form",e,o)]}})};function us(e){return bM[e]??null}import{blockTypesIn as oC}from"efficient-easel/screen/lib/puck/block-types-in";import{jsx as Na,jsxs as YM}from"react/jsx-runtime";import{createContext as XM,useContext as ZM}from"react";import{jsx as kr,jsxs as US}from"react/jsx-runtime";import{useEffect as Rd,useRef as NM,useState as _a}from"react";import{jsx as AS}from"react/jsx-runtime";import{createContext as SM,lazy as Vee,Suspense as Yee,useContext as CM}from"react";var wM={Link:Vd,Image:Kd},vM=SM(wM);function BS(){return CM(vM)}function Xee(e){let{Link:o}=BS();return AS(o,{...e})}function DS(e){let{Image:o}=BS();return AS(o,{...e})}import{jsx as _S,Fragment as kM,jsxs as TM}from"react/jsx-runtime";import{useEffect as PM,useRef as NS,useState as FM}from"react";var EM="#t=0.001",OM=2;function LM(e,o){if(e.readyState<OM||!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 MS({src:e,objectPosition:o="50% 50%",onError:t}){let r=NS(null),a=NS(null),[n,s]=FM(!1);return PM(()=>{let i=r.current,f=a.current;if(n||!i||!f)return;let d=()=>{LM(i,f)&&s(!0)};return d(),i.addEventListener("loadeddata",d),i.addEventListener("seeked",d),()=>{i.removeEventListener("loadeddata",d),i.removeEventListener("seeked",d)}},[n]),TM(kM,{children:[_S("canvas",{ref:a,"aria-hidden":!0,className:"absolute inset-0 z-[3] h-full w-full object-cover",style:{objectPosition:o,visibility:n?"visible":"hidden"}}),!n&&_S("video",{ref:r,src:`${e}${EM}`,muted:!0,playsInline:!0,preload:"auto",className:"hidden",onError:t})]})}import{imageCopyUrl as WS,imageSrcSet as RM}from"efficient-shell/image-copies";var HS;function Ld(){return HS===void 0?{}:{host:HS}}var toe="(max-width: 800px) 100vw, min(100vw, 1600px)";function zS(e,{fallbackWidth:o=1280,maxWidth:t}={}){let r=RM(e,{...Ld(),...t===void 0?{}:{maxWidth:t}});return r?{src:WS(e,o,Ld()),srcSet:r}:{src:e}}function roe(e){let o=WS(e,1920,Ld());return o===e?`url(${e})`:`url("${o}")`}import{formatFocal as AM,parseFocal as BM}from"efficient-shell/format";var DM="sf-focus-phone",_M="--sf-focus-phone";function GS(e){if(typeof e!="string"||!/^\s*-?\d+(\.\d+)?%\s+-?\d+(\.\d+)?%\s*$/.test(e))return{className:"",style:{}};let{x:o,y:t}=BM(e);return{className:DM,style:{[_M]:AM(o,t)}}}var MM=.5;function $S({videoSrc:e,posterSrc:o,showVideo:t=!0,playbackRate:r=MM,objectPosition:a="50% 50%",objectPositionPhone:n,quiet:s=!1}){let i=GS(n),f=o||"",d=e||"",[p,m]=_a(!1),[x,I]=_a(!1),[y,w]=_a(!1),[v,k]=_a(!1),[C,g]=_a(!1),b=NM(null);Rd(()=>{m(!1),I(!1),w(!1),k(!1)},[e,o]),Rd(()=>{if(typeof window>"u")return;let L=()=>{let P=window;P.requestIdleCallback?P.requestIdleCallback(()=>g(!0),{timeout:2e3}):setTimeout(()=>g(!0),800)};if(document.readyState==="complete"){L();return}return window.addEventListener("load",L,{once:!0}),()=>window.removeEventListener("load",L)},[]),Rd(()=>{let L=b.current;if(!L)return;let P=()=>{L.playbackRate=r};return P(),L.addEventListener("loadedmetadata",P),()=>L.removeEventListener("loadedmetadata",P)},[e,r]);let O=Yd(f),F=f&&O&&!x?zS(f):{src:f};return US("div",{className:"absolute inset-0 z-[1]",children:[kr("div",{className:"absolute inset-0",style:{background:"var(--site-surface)"}}),f&&(O?kr("img",{src:F.src,...F.srcSet?{srcSet:F.srcSet,sizes:"100vw"}:{},alt:"",className:`absolute inset-0 z-[2] h-full w-full object-cover ${i.className}`.trim(),style:{display:p?"none":"block",objectPosition:a,...i.style},onError:()=>F.srcSet?I(!0):m(!0)},f):kr(DS,{src:f,alt:"",fill:!0,priority:!0,sizes:"100vw",className:`z-[2] object-cover ${i.className}`.trim(),style:{display:p?"none":"block",objectPosition:a,...i.style},onError:()=>m(!0)},f)),t&&!s&&d&&C&&!y&&US("video",{ref:b,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,preload:"metadata",className:"absolute inset-0 z-[3] h-full w-full object-cover",style:{objectPosition:a},onError:()=>w(!0),children:[Xd(d)&&kr("source",{src:d.replace(/\.mp4$/,".av1.mp4"),type:'video/mp4; codecs="av01.0.08M.10"'}),kr("source",{src:d,type:"video/mp4"})]},d),t&&s&&d&&C&&!v&&(!f||p)&&kr(MS,{src:d,objectPosition:a,onError:()=>k(!0)},d)]})}var qS=["top","middle","bottom"],jS=["left","center","right"],KS="bottom",VS="left",HM={top:"Top",middle:"Middle",bottom:"Bottom"},WM={left:"Left",center:"Center",right:"Right"};var xoe="Up and down",Ioe="Sideways",zM={top:"flex-start",middle:"center",bottom:"flex-end"},GM={left:"flex-start",center:"center",right:"flex-end"},UM="--sf-hero-phone-y",$M="--sf-hero-phone-x";function qM(e){return qS.includes(e)?e:KS}function jM(e){return jS.includes(e)?e:VS}function YS(e,o){let t=qM(e),r=jM(o),a={};return t!==KS&&(a[UM]=zM[t]),r!==VS&&(a[$M]=GM[r]),a}function hoe(){return qS.map(e=>({label:HM[e],value:e}))}function goe(){return jS.map(e=>({label:WM[e],value:e}))}var KM="#0A0A0A",VM=[[0,".5"],[30,".1"],[60,".1"],[100,".85"]];function XS(e){let o=e.trim().replace(/^#/,""),t=o.length===3?o.split("").map(a=>a+a).join(""):o;if(!/^[0-9a-fA-F]{6}$/.test(t))return null;let r=Number.parseInt(t,16);return`${r>>16&255},${r>>8&255},${r&255}`}function ZS(e){return e==null?!0:e!==!1}function QS(e){let o=(e?XS(e):null)??XS(KM);return`linear-gradient(180deg, ${VM.map(([t,r])=>`rgba(${o},${r}) ${t}%`).join(", ")})`}var QM=XM({});function Foe({name:e,process:o,mediaType:t="video",mediaSrc:r,videoSpeed:a,poster:n,objectPosition:s,objectPositionPhone:i,tintColor:f="#000000",tintOpacity:d=0,groups:p,editing:m=!1,themeClassName:x,themeStyle:I}){let{alignment:y="left",textureOpacity:w,textureOn:v,textureColor:k,quietVideo:C,phoneUpDown:g,phoneSideways:b}=ZM(QM),O=t==="video",F=O?Fr(r):void 0,L=O?Fr(n):Fr(r)??Fr(n),P=typeof a=="number"?a/100:1;return YM("section",{className:x?`relative h-full w-full overflow-hidden ${x}`:"relative h-full w-full overflow-hidden",style:I,"data-slide-name":e??"","data-slide-process":o??"","data-slide-media":F?"video":"still",children:[Na($S,{videoSrc:F,posterSrc:L,showVideo:O,playbackRate:P,objectPosition:s,objectPositionPhone:O?void 0:i,quiet:C}),d>0&&Na("div",{className:"absolute inset-0 z-[2]",style:{background:f,opacity:Math.min(Math.max(d,0),100)/100}}),ZS(v)&&Na("div",{className:"absolute inset-0 z-[2]",style:{background:QS(k),...w!==void 0?{opacity:w/100}:null}}),Na("div",{className:["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",m?"sf-hero-group-layer-edit":""].filter(Boolean).join(" "),style:{...sp,...YS(g,b)},children:p&&Na(p,{className:"sf-hero-group-zone",minEmptyHeight:160})})]})}var JS=Array.from({length:3},(e,o)=>({name:`Slide ${o+1}`,process:"Category",mediaType:"image",mediaVideo:"",poster:""}));import{newNodeId as eC}from"efficient-easel/draw";var JM="ImageBlock",e2=3,ps=(e,o,t={})=>({type:e,props:{...o?.(e)??{},id:eC(e),...t}}),o2=e=>({...e?.(ue)??{},direction:"column",[wr]:[ps(JM,e),ps(ue,e,{direction:"column",[wr]:[ps("Text",e,vr()),ps("Text",e)]})]}),Po={Hero:{slot:"slides",childType:"HeroSlide",addLabel:"Add slide",slider:!0,seeds:()=>JS.map(e=>({...e}))},HeroSlide:{slot:"groups",childType:"HeroGroup",addLabel:`Add ${nt.toLowerCase()}`,seeds:()=>[],addBlocked:Ja,notice:Gs},HeroSingle:{slot:"boxes",childType:"HeroGroup",addLabel:`Add ${nt.toLowerCase()}`,seeds:()=>[],addBlocked:Ja,notice:Gs},ProcessSteps:{slot:"boxes",childType:ue,addLabel:`Add ${nt.toLowerCase()}`,seeds:e=>Array.from({length:e2},()=>o2(e)),skipSeed:e=>Array.isArray(e.steps)&&e.steps.length>0}};function _oe(e){for(let[o,t]of Object.entries(e)){if(o in Po&&Po[o]!==t)throw new Error(`lib/puck/slot-specs: "${o}" already has a slot spec`);Po[o]=t}}function Noe(e,o){let t=Po[e];return t?{slot:t.slot,children:t.seeds(o).map(r=>({type:t.childType,props:{id:eC(t.childType),...r}}))}:null}var tC=()=>({}),rC=new Map;function t2(e){let o=rC.get(e);if(o)return o;let t=new Set,r=Po[e];if(r)for(let s of r.seeds(tC))for(let i of oC({type:r.childType,props:s}))t.add(i);let a=us(e);if(a){let s=0;for(let i of oC(a(tC,f=>`${f}-${s+=1}`)))t.add(i)}t.delete(e);let n=[...t].sort();return rC.set(e,n),n}function r2(e){if(!e||!e.sets&&!e.allow&&!e.deny?.length)return null;let o=Fd(e),t=e.allow?new Set(e.allow):null,r=new Set(e.deny??[]),a=new Set(Object.keys(e.host??{})),n=f=>{if(r.has(f))return!1;if(a.has(f))return!0;let d=PS(f);return!d||!o[d]?!1:t?t.has(f):!0},s=new Map,i=f=>{let d=s.get(f);if(d!==void 0)return d;s.set(f,!1);let p=n(f)&&t2(f).every(i);return s.set(f,p),p};return{sets:o,offers:i}}var a2="block-offer";function Ad(e=aC()){return e.cache(a2,()=>r2(un(e)))}function nC(e,o=aC()){let t=Ad(o);return t?t.offers(e):!0}function lC(e,o=0){let t=l2(e,o),r=t?Ad():null;return t&&r?n2(t,r):t}function n2(e,o){if(e.spec)return o.offers(e.spec.childType)?e:null;let t=e.choices??[],r=t.filter(a=>o.offers(a.type));return r.length===t.length?e:r.length>0?{...e,choices:r}:null}function l2(e,o){let t=Po[e];if(t)return{source:"section",slot:t.slot,choices:null,spec:t};let r=LS(e,o);if(r)return{source:"container",slot:r.slot,choices:r.choices,spec:null};let a=cy(e);return a?{source:"footer",slot:fy,choices:a,spec:null}:null}import{useSyncExternalStore as s2}from"react";var Bd=null,Dd=new Set;function sC(e){if(Bd!==e){Bd=e;for(let o of Dd)o()}}function i2(e){return Dd.add(e),()=>{Dd.delete(e)}}function ete(){return s2(i2,()=>Bd,()=>null)}function iC(e){return Ar(e)?.ownerId??null}function fC(e,o){let t=e.props;if(e.type==="FooterMenu"){let r=t.menu;return t.heading||r?.name||l("Menu")}if(e.type==="FooterText"){let r=typeof t.text=="string"?t.text.trim():"";return r?r.length>28?`${r.slice(0,28)}\u2026`:r:l("Text")}return e.type==="FooterEmailSignup"?t.heading||l("Email signup"):o(e.type)}var cC=(e,o,t)=>{if(o!=="block"||e.props?.fromProduct!==!0)return t;let r=e.props.product;return!r?.code||typeof r.name!="string"?t:r.name.trim()||t};var dC="sf-editor-left-view";function uC(){if(typeof window>"u")return"pages";try{let e=window.localStorage.getItem(dC);return e==="sections"||e==="styles"?e:"pages"}catch{return"pages"}}function pC(e){if(!(typeof window>"u"))try{window.localStorage.setItem(dC,e)}catch{}}function mC(e,o){return e==="styles"&&!o?"sections":e}function xC(e,o){return e?"sections":o}var IC="Footer",f2=[se,IC,ae],Tr=e=>{let o=e?.content;return Array.isArray(o)?o:[]},_t=e=>{let o=e?.zones;return o&&typeof o=="object"&&!Array.isArray(o)?o:null},Ma=e=>{let o=e?.props?.id;return typeof o=="string"?o:void 0},hC=e=>Ar(e)?.ownerId??"";function gC(e){let o=Ir(Tr(e)),t=o.some(r=>r?.type===ae);return o.filter(r=>r?.type===se||r?.type===ae||r?.type===IC&&!t)}function _d(e,o){let t=new Set,r=a=>{if(Array.isArray(a)){for(let s of a)r(s);return}if(!a||typeof a!="object")return;let n=a;if(typeof n.type=="string"&&n.props&&typeof n.props=="object"){let s=Ma(n);s&&t.add(s)}for(let s of Object.values(a))r(s)};if(r(e),o){let a=!0,n=new Set;for(;a;){a=!1;for(let[s,i]of Object.entries(o))n.has(s)||!t.has(hC(s))||(n.add(s),r(i),a=!0)}}return t}function Nd(e,o){let t={},r={};for(let[a,n]of Object.entries(e??{}))(o.has(hC(a))?t:r)[a]=n;return{owned:t,rest:r}}function ite(e,o){if(!o)return e;let t=gC(o);if(!t.length)return e;let r=t.filter(i=>i.type===se),a=t.filter(i=>i.type!==se),n={...e,content:[...r,...Tr(e),...a]},{owned:s}=Nd(_t(o),_d(t,_t(o)));return Object.keys(s).length&&(n.zones={..._t(e)??{},...s}),n}function fte(e,o){if(!o)return{page:e,chrome:null};let t=gC(o),r=new Set(t.map(Ma).filter(C=>!!C)),a=[],n=[];for(let C of Tr(e)){let g=Ma(C);g&&r.has(g)||xr(C?.type)?n.push(C):a.push(C)}let s=new Map(n.map(C=>[Ma(C),C])),i=new Set,f=Ir(Tr(o)).flatMap(C=>{let g=Ma(C);if(!g||!r.has(g))return[C];let b=s.get(g);return b?(i.add(b),[b]):[]});for(let C of n)i.has(C)||f.some(g=>g?.type===C.type)||(f=C.type===se?[C,...f]:[...f,C]);f=Ir(f);let d=f.length===Tr(o).length&&f.every((C,g)=>C===Tr(o)[g]),p=_t(e),m=_d(f,p),{owned:x,rest:I}=Nd(p,m),y=Nd(_t(o),_d(t,_t(o))).owned,w={...o,content:d?o.content:[...f]},v=_t(o);if(v||Object.keys(x).length){let C={};for(let[g,b]of Object.entries(v??{}))g in y?g in x&&(C[g]=x[g]):C[g]=b;for(let[g,b]of Object.entries(x))g in C||(C[g]=b);w.zones=C,v&&c2(w.zones,v)&&(w.zones=v)}let k={...e,content:a};return p&&(Object.keys(I).length||!Object.keys(y).length?k.zones=I:delete k.zones),{page:k,chrome:w}}function c2(e,o){let t=Object.keys(e),r=Object.keys(o);return t.length===r.length&&t.every((a,n)=>a===r[n]&&e[a]===o[a])}function yC(e,o){return t=>e(t)||t!==void 0&&f2.includes(t)&&o()}var ms=null;function dte(e){ms=e}function bC(){return!!(ms&&ms.state().lockHolder)}function Nt(){return ms!==null}var d2=new Set(["BookingBox","SubmitBox"]);function u2(e){return typeof e=="string"&&d2.has(e)}var SC=yC(u2,bC);import{copyNode as p2}from"efficient-easel/data";var CC=null;function Ite(e){CC=e}function zo(){return CC}var wC=null;function Md(e){wC=e}function xs(){return wC}function vC(e){let o=typeof e?.props?.id=="string"?e.props.id:null,t=zo(),r=o&&t?t.sectionOf(o):null;if(!t||!r)return null;let a=t.usedOn(r);return a?a.length===1?l("On 1 page"):l("On {count} pages",{count:a.length}):l("On other pages")}var kC={usedOn:e=>{let o=zo(),t=o?.sectionOf(e.props.id)??null;return!o||!t?null:o.usedOn(t)??[]},openPage:e=>xs()?.openPage(e),adopt:(e,o)=>zo()?.adopt(e.props.id,o),nodeOf:e=>zo()?.place(e)??null,detach:e=>{let o=xs()?.config;return o?p2(e,o):e},removed:()=>xs()?.reload()};import{sharedSectionsOf as IH}from"efficient-easel/screen/lib/shared-sections";import{scrollPreviewToSection as hH,scrollPreviewToTop as ZC}from"efficient-easel/screen/lib/puck/preview-dom";import{Fragment as Wd,jsx as Ha,jsxs as W2}from"react/jsx-runtime";import{useMemo as NC,useRef as MC}from"react";import{EaselCanvas as z2,useEaselApi as G2}from"efficient-easel/easel";import{jsx as LC,Fragment as C2,jsxs as w2}from"react/jsx-runtime";import{useEffect as RC,useLayoutEffect as v2}from"react";var TC="var(--es-accent, #2563eb)";var Is="data-theme",PC="light";function m2(e){return e.getAttribute(Is)===PC?"light":"dark"}function x2(e,o){return m2(e)===o?!1:(o==="light"?e.setAttribute(Is,PC):e.removeAttribute(Is),!0)}function I2(e){return Os(e).getItem(ws)}function kte(e,o){Os(e).setItem(ws,o)}function h2(e,o,t=new Date().getHours()){return Qd({mode:o.mode,override:I2(e),switchShown:o.switchShown,hour:t})}function FC(e,o){let t=e.documentElement;if(!t)return()=>{};let r=()=>x2(t,h2(e,o));r();let a=e.defaultView?.MutationObserver;if(!a)return()=>{};let n=new a(r);return n.observe(t,{attributes:!0,attributeFilter:[Is]}),()=>n.disconnect()}var g2="style";function y2(e,o){let t=lu(o),r=!1;for(let a of nu){let n=t[a]??"";e.style.getPropertyValue(a)!==n&&(n?e.style.setProperty(a,n):e.style.removeProperty(a),r=!0)}return r}function EC(e,o){let t=e.body;if(!t)return()=>{};let r=()=>y2(t,o);r();let a=e.defaultView?.MutationObserver;if(!a)return()=>{};let n=new a(r);return n.observe(t,{attributes:!0,attributeFilter:[g2]}),()=>n.disconnect()}var b2=String.raw`(function (doc) {
13
+ if (doc.__sfFitWords) return;
14
+ var win = doc.defaultView;
15
+ var SELECTOR = "h1,h2,h3,h4,h5,h6,[class*='font-heading'],[class*='font-display']";
16
+ var MIN_SCALE = 0.3, MIN_PX = 16, SLACK = 1;
17
+
18
+ function measure(el) {
19
+ var widest = 0, current = 0, last = null, split = false, lastBlock = null;
20
+ function blockOf(n) {
21
+ for (var p = n.parentElement; p && p !== el; p = p.parentElement) {
22
+ var d = win.getComputedStyle(p).display;
23
+ if (d.indexOf("inline") !== 0 && d !== "contents") return p;
24
+ }
25
+ return el;
26
+ }
27
+ function close() { if (current > widest) widest = current; current = 0; last = null; }
28
+ var walker = doc.createTreeWalker(el, 5), range = doc.createRange(), node;
29
+ while ((node = walker.nextNode())) {
30
+ if (node.nodeType === 1) {
31
+ if (node.tagName === "BR" || node.tagName === "WBR") close();
32
+ continue;
33
+ }
34
+ var block = blockOf(node);
35
+ if (block !== lastBlock) close();
36
+ lastBlock = block;
37
+ var re = /(\S+)|(\s+)/g, m;
38
+ while ((m = re.exec(node.data))) {
39
+ if (m[2]) { close(); continue; }
40
+ range.setStart(node, m.index);
41
+ range.setEnd(node, m.index + m[0].length);
42
+ var rects = range.getClientRects();
43
+ for (var i = 0; i < rects.length; i++) {
44
+ var r = rects[i];
45
+ if (r.width <= 0) continue;
46
+ current += r.width;
47
+ if (last && r.top > last.top + last.height / 2) split = true;
48
+ last = r;
49
+ }
50
+ }
51
+ }
52
+ close();
53
+ return { widest: widest, split: split };
54
+ }
55
+
56
+ function lineWidth(el) {
57
+ var cs = win.getComputedStyle(el);
58
+ return el.getBoundingClientRect().width - parseFloat(cs.paddingLeft) - parseFloat(cs.paddingRight)
59
+ - parseFloat(cs.borderLeftWidth) - parseFloat(cs.borderRightWidth);
60
+ }
61
+
62
+ // ⚠️ THE HEADING ELEMENT IS NEVER TOUCHED — no style="", no data-*. This
63
+ // runs before React hydrates, and React 19 in development reports ANY
64
+ // attribute that differs from what it rendered ("a tree hydrated but some
65
+ // attributes didn't match"): first our inline font-size on the hero (which
66
+ // React owns via --heading-size), then, when that moved to a data-sf-fit
67
+ // attribute, the attribute itself. So the fitted size lives only in this
68
+ // script's own stylesheet, in <head>, addressed to each heading by its
69
+ // POSITION (":root>*:nth-child(2)>…"). A position goes stale when the page's
70
+ // structure changes, so the rules are rewritten in the MutationObserver
71
+ // callback, which runs before the next paint. !important so the size also
72
+ // beats a part's own inline size.
73
+ var head = doc.head || doc.documentElement;
74
+ var fitEl = doc.createElement("style");
75
+ fitEl.id = "storefront-fit-words-sizes";
76
+ head.appendChild(fitEl);
77
+ var fitted = new Map(); // heading -> fitted size, e.g. "43.8px"
78
+
79
+ function pathOf(el) {
80
+ var parts = [];
81
+ for (var e = el; e && e.parentElement; e = e.parentElement) {
82
+ var i = 1, s = e;
83
+ while ((s = s.previousElementSibling)) i++;
84
+ parts.unshift("*:nth-child(" + i + ")");
85
+ }
86
+ return ":root>" + parts.join(">");
87
+ }
88
+ function writeRules() {
89
+ var css = "";
90
+ fitted.forEach(function (size, el) {
91
+ if (!el.isConnected) { fitted.delete(el); return; }
92
+ css += pathOf(el) + "{font-size:" + size + " !important}";
93
+ });
94
+ if (fitEl.textContent !== css) fitEl.textContent = css;
95
+ }
96
+
97
+ function unfit(el) {
98
+ if (fitted.delete(el)) writeRules();
99
+ }
100
+
101
+ function fits(el) {
102
+ var m = measure(el);
103
+ return !m.split && m.widest <= lineWidth(el) + SLACK;
104
+ }
105
+
106
+ function fit(el) {
107
+ unfit(el);
108
+ if (lineWidth(el) <= 0) return; // hidden, or not laid out yet
109
+ if (fits(el)) return;
110
+ var set = parseFloat(win.getComputedStyle(el).fontSize);
111
+ if (!set) return;
112
+ var floor = Math.max(set * MIN_SCALE, MIN_PX);
113
+ if (floor >= set) return;
114
+ function size(px) { return Math.floor(px * 10) / 10 + "px"; }
115
+ // The SEARCH tries sizes on the element's own style and then puts that
116
+ // attribute back byte for byte (or removes it, if it had none), so nothing
117
+ // is left for React to see. A trial in a stylesheet instead restyles the
118
+ // whole page per step: a full pass on the Hartes home took 75–160ms at 4x
119
+ // CPU that way.
120
+ var hadStyle = el.hasAttribute("style"), origStyle = el.getAttribute("style");
121
+ function attempt(px) { el.style.setProperty("font-size", size(px), "important"); }
122
+ function done() { if (hadStyle) el.setAttribute("style", origStyle); else el.removeAttribute("style"); }
123
+ attempt(floor);
124
+ if (!fits(el)) { done(); return; } // even the floor does not fit: leave it as set
125
+ var lo = floor, hi = set;
126
+ for (var i = 0; i < 8; i++) {
127
+ var mid = (lo + hi) / 2;
128
+ attempt(mid);
129
+ if (fits(el)) lo = mid; else hi = mid;
130
+ }
131
+ done();
132
+ fitted.set(el, size(lo));
133
+ writeRules();
134
+ }
135
+
136
+ // What each heading measured right after we last fitted it, so the
137
+ // ResizeObserver below can tell a real change (a font swap, a rotate, a
138
+ // container that moved) from the size change our own write just caused.
139
+ var seen = new WeakMap();
140
+ function remember(el) {
141
+ var b = el.getBoundingClientRect();
142
+ seen.set(el, b.width + "x" + b.height);
143
+ }
144
+ function fitAndRemember(el) { fit(el); remember(el); }
145
+
146
+ // ⚠️ A ResizeObserver, NOT fonts.ready or a resize event, and the reason is
147
+ // WHEN it runs: after layout, BEFORE paint. The web font arriving re-wraps a
148
+ // fitted heading, and fonts.ready resolves only after that frame is painted —
149
+ // measured on the Hartes hero: a 42px jump in 2 of 3 loads. A size change
150
+ // reported here is fitted in the same frame, so the broken state is never
151
+ // drawn. It also covers a container that resizes.
152
+ var ro = new win.ResizeObserver(function (entries) {
153
+ for (var i = 0; i < entries.length; i++) {
154
+ var el = entries[i].target;
155
+ var b = el.getBoundingClientRect();
156
+ if (seen.get(el) === b.width + "x" + b.height) continue; // our own write
157
+ fitAndRemember(el);
158
+ }
159
+ });
160
+ // Its own set, not seen: fitAndRemember has written seen by the
161
+ // time watch runs, so a seen test observed no heading at all, and a
162
+ // heading fitted in the fallback face was never fitted again when the web
163
+ // font arrived (hartesmetal.com.au, "FusionForge." with its "." alone).
164
+ var watched = new WeakSet();
165
+ function watch(el) { if (!watched.has(el)) { watched.add(el); ro.observe(el); } }
166
+
167
+ function fitAll() {
168
+ var els = doc.querySelectorAll(SELECTOR);
169
+ for (var i = 0; i < els.length; i++) { fitAndRemember(els[i]); watch(els[i]); }
170
+ }
171
+
172
+ var queued = 0, all = false, touched = new Set();
173
+ function run() {
174
+ queued = 0;
175
+ if (all) { all = false; touched.clear(); fitAll(); return; }
176
+ var els = Array.from(touched);
177
+ touched.clear();
178
+ for (var i = 0; i < els.length; i++) if (els[i].isConnected) { fitAndRemember(els[i]); watch(els[i]); }
179
+ }
180
+ function schedule() { if (!queued) queued = win.requestAnimationFrame(run); }
181
+ function scheduleAll() { all = true; schedule(); }
182
+
183
+ fitAll();
184
+ // A backstop only: a font that changes widths without changing any
185
+ // heading's box is not seen by the ResizeObserver.
186
+ if (doc.fonts && doc.fonts.ready) doc.fonts.ready.then(scheduleAll, function () {});
187
+
188
+ // …and the viewport WIDTH, which the ResizeObserver cannot stand in for: a
189
+ // heading sized to its own text (fit-content, a flex item) keeps the SAME box
190
+ // when the phone turns to 844, so nothing reports a change and it would stay
191
+ // shrunk. The probe's rotate check caught exactly that.
192
+ var lastWidth = win.innerWidth;
193
+ function onResize() {
194
+ if (win.innerWidth === lastWidth) return; // a phone's toolbar changing HEIGHT is not our business
195
+ lastWidth = win.innerWidth;
196
+ scheduleAll();
197
+ }
198
+ win.addEventListener("resize", onResize);
199
+
200
+ var mo = new win.MutationObserver(function (records) {
201
+ // Positions first: a node added or removed anywhere can shift the
202
+ // nth-child path of a fitted heading, and this callback runs before paint.
203
+ if (fitted.size) {
204
+ for (var q = 0; q < records.length; q++) if (records[q].type === "childList") { writeRules(); break; }
205
+ }
206
+ for (var i = 0; i < records.length; i++) {
207
+ var r = records[i];
208
+ var target = r.target.nodeType === 1 ? r.target : r.target.parentElement;
209
+ var own = target && target.closest(SELECTOR);
210
+ if (own) touched.add(own);
211
+ for (var j = 0; j < r.addedNodes.length; j++) {
212
+ var n = r.addedNodes[j];
213
+ if (n.nodeType !== 1) continue;
214
+ if (n.matches(SELECTOR)) touched.add(n);
215
+ var inner = n.querySelectorAll(SELECTOR);
216
+ for (var k = 0; k < inner.length; k++) touched.add(inner[k]);
217
+ }
218
+ }
219
+ if (touched.size) schedule();
220
+ });
221
+ mo.observe(doc.body, { childList: true, subtree: true, characterData: true });
222
+
223
+ doc.__sfFitWords = function stop() {
224
+ win.removeEventListener("resize", onResize);
225
+ ro.disconnect();
226
+ mo.disconnect();
227
+ if (queued) win.cancelAnimationFrame(queued);
228
+ fitted.clear();
229
+ fitEl.remove();
230
+ delete doc.__sfFitWords;
231
+ };
232
+ // For the probe and for debugging: which headings are fitted, at what size,
233
+ // and the sheet that holds it (disable it to read a heading's set size).
234
+ doc.__sfFitWords.fitted = fitted;
235
+ doc.__sfFitWords.sheet = fitEl;
236
+ })(document);`,S2="storefront-fit-words";function OC(e){let o=e.createElement("script");return o.id=S2,o.textContent=b2,(e.head??e.documentElement).appendChild(o),()=>{e.__sfFitWords?.(),o.remove()}}var k2=`
237
+ [${ro}][${ro}] { cursor: text; }
238
+ [${Be}][${Be}][${Be}] {
239
+ outline: 1px solid ${TC};
240
+ outline-offset: 2px;
241
+ }
242
+ [${Be}][${Be}]:has([${Be}]),
243
+ [data-puck-overlay-portal][data-puck-overlay-portal]:has([${Be}]) {
244
+ outline: none;
245
+ }
246
+ [${Be}][${Be}][${Be}][data-es-typing],
247
+ [data-es-typing] [${Be}][${Be}][${Be}] {
248
+ outline: none;
249
+ }
250
+ `;function AC({children:e,document:o}){let{theme:t,themeMode:r,themeSwitchShown:a}=V(),n=He(t);return RC(()=>{if(o)return FC(o,{mode:r,switchShown:a})},[o,r,a]),RC(()=>{if(o)return EC(o,n)},[o,n]),v2(()=>{if(o)return OC(o)},[o]),w2(C2,{children:[LC(Tu,{}),LC("style",{children:k2}),e]})}import{jsx as Hd}from"react/jsx-runtime";import{useEffect as T2,useState as P2}from"react";import{Banner as F2}from"efficient-shell/ui";var hs={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."},E2={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."},O2=hs.load,L2=hs.lock,R2=hs.conflict,A2=hs.save;function B2(e){if(!e)return null;if(e.loadFailed)return l(O2);if(e.lockHolder)return l(L2,{name:e.lockHolder.name||l("Somebody else")});if(e.conflict)return l(R2);if(e.saveFailed)return l(A2);let o=e.sections?.[0];if(!o)return null;let t=o.title||l("A shared section"),r=o.holder?.name||l("Somebody else");return l(E2[o.problem],{section:t,name:r})}function D2({report:e}){let o=B2(is(e)),[t,r]=P2(null);return T2(()=>{o||r(null)},[o]),!o||t===o?null:Hd("aside",{className:"sf-canvas-notice",children:Hd(F2,{tone:"warning",onDismiss:()=>r(o),children:o})})}function BC(){return Hd(D2,{report:fs()})}import{jsx as gs}from"react/jsx-runtime";import{useState as DC}from"react";import{Banner as _2,Button as N2}from"efficient-shell/ui";import{UndoIcon as M2}from"efficient-shell/icons/efficient";import{useScreenDocument as H2}from"efficient-easel/screen/components/ScreenDocumentContext";function _C(){let e=aS(),{adapter:o,flushSave:t,reloadFromServer:r}=H2(),a=o.siteVersions,[n,s]=DC(!1),[i,f]=DC(!1);if(!e)return null;let d=async()=>{if(!(!a||n)){s(!0),f(!1);try{await sS({access:a,flushSave:t,reload:r})}catch{f(!0)}finally{s(!1)}}};return gs("aside",{className:"sf-canvas-notice",children:gs(_2,{tone:i?"danger":"info",title:e.title,onDismiss:cs,action:a&&e.undo?gs(N2,{variant:"secondary",size:"sm",leftIcon:gs(M2,{}),loading:n,disabled:n,onClick:()=>{d()},children:l("Undo")}):void 0,children:i?l("Undo did not work. Nothing changed. Try again."):l("Check it with Preview. Press Publish to put it live.")})})}import{usePreviewParts as HC}from"efficient-easel/draw/client";import{useSectionOps as U2}from"efficient-easel/screen/lib/puck/use-section-ops";function $2({children:e,componentId:o}){let{selectedPartId:t}=HC();return qI(t,o)?Ha(Wd,{}):Ha(Wd,{children:e})}function WC(e){let{mirrorHostStyles:o}=As(),t=Fu(),{sectionBackgroundWidth:r,sectionContentWidth:a,themeFromDocument:n}=V(),s=NC(()=>({...e.metadata??t??{},...Sx(n?null:r,n?null:a)}),[e.metadata,t,r,a,n]),i=MC(null),f=q2(i),{onDocument:d}=e,p=m=>{i.current=m,d?.(m)};return W2(Wd,{children:[Ha(_C,{}),Ha(BC,{}),Ha(z2,{...e,onDocument:p,typing:f,metadata:s,height:"fill",mirrorStyles:o,frameWrapper:AC,overlay:$2})]})}function q2(e){let o=G2(),t=U2(),r=HC(),a=MC({ops:t,parts:r});return a.current={ops:t,parts:r},NC(()=>{let n={getItemById:i=>o.getState().getItemById(i),getSelectorForId:i=>o.getState().getSelectorForId(i),get components(){return o.getState().config.components},replace:(i,f,d)=>a.current.ops.replaceComponent(i,f,d)},s=(i,f)=>{let d=Lg(i,n);if(!d)return null;let p=f,m=()=>(p=Rg(p,p?.ownerDocument??e.current,i),p),x=m();return x?{element:m,value:d.value,rules:d.rules,multiline:d.multiline,write:d.write,toolbar:{offered:d.offered,colors:d.offered.length>0?Hl(zg(x)):void 0}}:null};return{at:i=>{let f=i.closest(`[${ro}]`),d=f?.getAttribute(ro);return f&&d?s(d,f):null},atSelection:()=>{let i=a.current.parts.selectedPartId;return i?s(i,null):null},onChange:i=>{if(!i.typing){Tc(null);return}let f=i.element.closest(`[${ro}]`)?.getAttribute(ro)??null;Tc(f),f&&a.current.parts.selectedPartId!==f&&a.current.parts.select(f)}}},[o,e])}var j2=Iu.mediaFields,K2=/video|poster|focal|phone/i;function zC(e){return(j2[e]??[]).find(o=>!o.includes("[]")&&!K2.test(o))??null}var GC={adds:{kind:"block",type:"ImageBlock"},takes:e=>zC(e.type)!==null,replace:(e,o)=>{let t=zC(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 UC={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 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 theme-color-accented stat cards.",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 document header \u2014 headline, metadata and standfirst.",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."};var V2="Save your page changes first";function $C(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:V2}:{visible:!0,enabled:!0}:{visible:!1,hiddenReason:"no-site"}:{visible:!1,hiddenReason:"not-operator"}:{visible:!1,hiddenReason:"no-console"}}var qC="storefront-editor:save-as-template";var Y2="plain",jC=[{label:"Plain",value:"plain"},{label:"Filled",value:"filled"},{label:"Line",value:"line"}],X2="line",Z2={KeyFeatures:"filled"};function Wa(e){return Z2[e]??Y2}function yre(e,o){return jo(jC,Wa(o),e)}function bre(e){return jo(jC,X2,e)}var Q2="inline",J2=[{label:"In this section",value:"inline"},{label:"In its own box",value:"own-box"}];var lt={ProductGrid:{num:"num",title:"title",description:"description",headRows:["num","title","titleSize","description","linkText","linkHref"],renderer:"ProductGridSection",padKey:"padTop",linkProp:"link"},TyreSizes:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicTyreSizes"},FitmentFinder:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"FitmentFinder"},TyreFitment:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicTyreFitment"},BundleOffer:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicBundleOffer"},CompatibleTyres:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},RelatedProducts:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"DynamicRelatedProducts"},SpecTable:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"SpecTable"},FAQ:{num:"num",title:"title",linkProp:"link",headRows:["num","title","linkText","linkHref"],renderer:"FAQ"},GalleryB:{num:"num",title:"title",headRows:["num","title","linkText","linkHref"],renderer:"GalleryGrid"},FitmentTable:{num:"num",title:"title",description:"description",headRows:["num","title","description"],renderer:"FitmentTable"},Events:{num:"num",title:"title",linkProp:"link",headRows:["num","title","linkText","linkHref"],renderer:"Events"},ProcessSteps:{num:"num",title:"title",description:"description",headRows:["num","title","description"],headStyle:"editorial",renderer:"ProcessSteps",padKey:"padTop"},LongRead:{num:"headNum",title:"headTitle",description:"headDesc",headRows:["headNum","headTitle","headDesc"],headStyle:"editorial",renderer:"LongRead"},Series:{num:"headNum",title:"headTitle",description:"headDesc",headRows:["headNum","headTitle","headDesc"],headStyle:"editorial",renderer:"Series"},TimelineTrack:{num:"eyebrow",title:"title",description:"intro",headRows:["eyebrow","title","intro"],headStyle:"editorial",renderer:"TimelineTrack",padKey:"padTop"},StatsParagraph:{num:"eyebrow",title:"title",description:"desc",headRows:["eyebrow","title","desc"],headStyle:"editorial",renderer:"StatsParagraph"},Footprint:{num:"sectionNumber",title:"heading",description:"tagline",headRows:["sectionNumber","heading","tagline"],headStyle:"editorial",renderer:"Footprint",padKey:"padTop"},Collections:{num:"eyebrow",title:"heading",headRows:["eyebrow","heading"],renderer:"Collections"},Cards:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Cards"},Testimonials:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Testimonials"},Reviews:{num:"eyebrow",title:"title",headRows:["eyebrow","eyebrowLook","title"],headStyle:"simple",renderer:"Reviews"},Prose:{num:"eyebrow",title:"title",headRows:["eyebrow","title"],headStyle:"essay",renderer:"Prose"},ReviewForm:{num:"eyebrow",title:"title",headRows:["eyebrow","title"],headStyle:"simple",renderer:"ReviewForm"},DeliveryOptions:{num:"eyebrow",title:"title",description:"body",headRows:["eyebrow","title","body"],headStyle:"natural",headRowGap:"gap-3",headDescriptionSize:"text-[15px]",renderer:"DeliveryOptions"}},Pr="SectionHeader";function KC(e){return e in lt}function vre(e){return jo(J2,Q2,e)}var VC=new Set(["Flex"]);function kre(e){return!!e?.type&&VC.has(e.type)}var eH={not:{context:"parentType",in:[...VC]}};function Tre(e,o,t){return Rl(e,t,eH)}var oH={not:{field:"headPlacement",is:"own-box"}};function Pre(e,o,t){return Rl(e,t,oH)}function YC(e,{nodeDefaults:o,newNodeId:t,sectionLabel:r,blockIsOffered:a}){let n=us(e);return n?n(o,t):KC(e)&&a(ue)&&a(Pr)?{type:ue,props:{...o(ue),id:t(ue),direction:"column",name:`${r(e)} section`,content:[{type:Pr,props:{...o(Pr),id:t(Pr),...lt[e]?.headStyle?{headStyle:lt[e].headStyle}:{},...lt[e]?.headRowGap?{rowGap:lt[e].headRowGap}:{},...lt[e]?.headDescriptionSize?{descriptionSize:lt[e].headDescriptionSize}:{},...Wa(e)!==Wa(Pr)?{eyebrowLook:Wa(e)}:{}}},{type:e,props:{...o(e),id:t(e),headPlacement:"own-box"}}]}}:Po[e]?.fixed===!0?{type:e,props:{...o(e),id:t(e),layout:"boxes"}}:null}import{useEffect as tH,useState as rH}from"react";import{useEaselSession as aH}from"efficient-easel/screen/lib/session-context";function XC(){let e=aH().chrome?.products?.list,[o,t]=rH(null);return tH(()=>{if(!e)return;let r=!1;return e().then(a=>{r||t(a)}),()=>{r=!0}},[e]),o}function nw({mode:e,open:o}){let{setSelectedHeroId:t,setSelectHandler:r}=tg(),a=rw().tree,n=e,s=n.kind==="ticker"?n.heroId:null,i=Ga(f=>{f&&(o({kind:"ticker",heroId:f}),hH(f))},[o]);return Ke(()=>{t(s)},[s,t]),Ke(()=>{r(i)},[r,i]),{partRows:(f,{rowClick:d})=>{let p=String(f.props.id);return f.type==="Hero"&&me(ow,{icon:me(Lt,{type:"ticker",size:13}),name:l(la),onSelect:()=>i(p),selected:s===p,rowProps:{onClick:d(()=>i(p))},words:a})}}}function lw({mode:e,select:o}){let{setSelectedHeroPart:t,setSelectHandler:r}=El(),a=rw().tree,{appState:n}=tw(x=>x),s=n.data.content??[],i=nH(s);i.current=s;let f=e,d=sa.find(x=>ia[x]===f.kind),p=d&&"nodeId"in f?fa(String(f.nodeId),d):null,m=Ga(x=>{let I=xg(x);if(!I)return;let y=i.current.findIndex(v=>String(v.props.id)===I.nodeId);if(y<0)return;let w={kind:ia[I.part],nodeId:I.nodeId};o({index:y},w)},[o]);return Ke(()=>{t(p)},[p,t]),Ke(()=>{r(m)},[r,m]),{partRows:(x,{rowClick:I})=>{let y=String(x.props.id),w=mg(x);if(w.length===0)return null;let v=g=>{let b=fa(y,g.part);return me(ow,{icon:me(Lt,{type:g.part==="media"?"heroMedia":"heroImage",size:13}),name:l(g.label),onSelect:()=>m(b),selected:p===b,rowProps:{onClick:I(()=>m(b))},words:a},b)},[k,...C]=w;return za(ew,{children:[v(k),C.length>0&&me(mH,{children:C.map(v)})]})}}}function sw(e,o){return{partRows:(t,r)=>za(ew,{children:[e.partRows?.(t,r),o.partRows?.(t,r)]})}}function gH(e){let{adapter:o,capabilities:t,currentSlug:r,siteId:a,docId:n,hasUnsavedEdits:s,bridgeCapabilities:i,notifyParent:f,token:d}=ys(),{hasPreviewLink:p}=t,m=Se(aw()).preview?.draftLink,x=hS(e.data),I=$C({hasTrustedConsole:!!d,canCreatePlatformTemplate:i.canCreatePlatformTemplate,capabilities:t,siteId:a,hasUnsavedEdits:s}),y=Ga(()=>{!a||!r||f(qC,{siteId:a,slug:r})},[f,a,r]),w=jb({pageSlug:r,siteId:a,token:d}),v=o.previewHref?.(r)??w;return{barLead:()=>I.visible&&me(iH,{side:"bottom",content:I.enabled?l("Save this website as a platform template"):l(I.disabledReason),children:me("span",{className:"sf-tip-disabled",tabIndex:I.enabled?void 0:0,children:me(sH,{variant:"secondary",disabled:!I.enabled,onClick:y,rightIcon:me(pH,{size:15}),children:l("Save as Template")})})}),barTrail:()=>p&&r&&me(Yb,{liveHref:v,pageId:n??null,draftLink:m}),mainAction:x}}function yH(e,o){let{capabilities:t,templateId:r,siteId:a,tokenRef:n,navigate:s}=ys(),{hasSiteTheme:i,explainsSiteSettings:f}=t,d=k=>o.setView(k),[p,m]=lH(ir[0].id),{surface:x,setSurface:I}=og(),y=()=>{if(i){d("styles"),o.reveal(),ZC();return}e.show(Jc),e.reveal(),ZC()},w={id:"pages",label:l("Pages"),icon:me(cH,{}),panel:({onHide:k})=>me(Kh,{activeSurface:x,onPreviewSurface:I,onNavigate:C=>{I(null),s(r?{kind:"template",id:r,pageSlug:C}:{kind:"page",slug:C,siteId:a??void 0})},onClose:k})},v=[];return!i&&f&&v.push({id:"appearance",label:l("Appearance"),icon:me(uH,{}),active:e.kind==="website",onSelect:y}),i&&v.push({id:"styles",label:l("Styles"),icon:me(dH,{}),panel:({onHide:k,notify:C})=>me(lb,{tokenRef:n,siteId:a??void 0,onClose:k,onNotify:C,tab:p,onTabChange:m})}),{railLead:[w],railTrail:v,resolveLeftView:k=>mC(k,i),openSettings:y,openStyles:()=>{m(kh),d("styles")}}}function bH(){let{navigate:e,siteId:o,reloadFromServer:t,docId:r}=ys(),a=tw(s=>s.config),n=aw();Ke(()=>(Md({openPage:s=>e({kind:"page",slug:s.slug,siteId:o??void 0}),reload:()=>{t()},config:a}),()=>Md(null)),[e,o,t,a]),Ke(()=>{let s=zo();if(!s||!r)return;let i=!1;return IH(n).list().then(f=>{i||s.learn(f)}).catch(()=>{}),()=>{i=!0}},[r,n])}function SH(e,o,t,r){let{kind:a,open:n}=e,{selected:s,zoneOf:i}=o;Ke(()=>{sC(s?.type==="BookingBox"&&s.props.region==="confirm"?iC(i(String(s.props.id))):null)},[s?.props.id]);let f=Fb(e,o),{capabilities:{hasSiteSettings:d}}=ys();bH();let{setSelected:p,setSelectHandler:m}=V(),{chat:x,setChat:I,setSelected:y,setSelectHandler:w}=Fl(),v=a==="header";Ke(()=>{p(v)},[v,p]),Ke(()=>{m(()=>n(Qc))},[m,n]);let k=Ga(()=>n(Xy),[n]),C=a==="chat";Ke(()=>{y(C)},[C,y]),Ke(()=>{w(k)},[w,k]);let{setOpenHandler:g}=na(),b=Ga(()=>n(Zy),[n]);Ke(()=>{g(b)},[g,b]);let O=sw(nw(e),lw(e)),F=gH(o),L=yH(e,r),P=t.device;return{...O,...F,...L,hasOwnRows:M=>M.type===ls,ownRows:f.renderLocationTree,sectionPressed:f.sectionPressed,wrap:M=>me(Bs.Provider,{value:!0,children:za(xH.Provider,{value:P,children:[M,me(kS,{})]})}),addPanelRow:M=>d?za("div",{className:"sf-addside-sitewide",children:[me("span",{className:"sf-addside-sitewide-glyph","aria-hidden":"true",children:me(Lt,{type:"chat",size:16})}),za("button",{type:"button",className:"sf-addside-sitewide-name",onClick:()=>{M(),k()},children:[l("Live chat"),me("span",{className:"sf-addside-sitewide-desc",children:l("A chat bubble on every page")})]}),me(fH,{checked:x.enabled,onChange:z=>I({enabled:z}),ariaLabel:l("Show the chat bubble on the whole site")})]}):void 0}}var QC=null,zd=new WeakMap;function CH(e){let o=vu();if(!e||!o)return e;QC!==o&&(QC=o,zd=new WeakMap);let t=zd.get(e);return t||(t={...e,choices:e.choices?e.choices.map(r=>({...r,label:l(r.label)})):null,spec:e.spec?{...e.spec,addLabel:l(e.spec.addLabel)}:null},zd.set(e,t)),t}var wH={isLockedBlock:(e,o)=>SC(e)||!!(o&&zo()?.heldElsewhere(o.props.id)),duplicateBlocked:Vl,nestDepth:(e,o,t)=>o===en?ju(e,t):0,newSectionNode:YC,canAddTo:(e,o)=>CH(lC(e,o)),blockIsOffered:nC},vH=new Proxy(UC,{get:(e,o)=>{let t=Reflect.get(e,o);return typeof t=="string"?l(t):t}}),kH={labelAtLevel:(e,o,t)=>l(Pd(e,o,t)),descriptions:vH,categoryLabel:e=>{let o=FS(e);return o===void 0?void 0:l(o)},firstSection:ES,blockRowName:fC,rowName:cC,plainText:It,Icon:Lt,Thumbnail:nb,useProducts:XC},TH={desktop:2e3,tablet:800,mobile:390},JC="desktop",PH={options:Zh,initial:JC,fluid:JC,widths:TH},FH={read:uC,write:e=>pC(e),forSelection:(e,o)=>xC(e,o)},EH={first:De,last:le,firstGroup:se,lastGroup:ae,isSectionGroup:xr,sectionGroupZone:dy,panelOf:e=>e===De?Qc:null,get sharedReach(){return Nt()?LH:void 0},get shared(){return zo()?kC:void 0},get groupTab(){return Nt()?Iy:void 0},get groupBadge(){return Nt()?Nc({type:ae})??void 0:void 0},get changeNotice(){return Nt()?hy():void 0},get band(){return Nt()?OH:void 0},get groupAccepts(){return Nt()?my:void 0}},OH={foldable:!0},LH=e=>Nc(e)??vC(e);function RH(e){return{...sw(nw(e),lw(e)),openSettings:()=>e.show(Jc)}}function AH(e,o){Rb(e,o),zb()}var Kae={useOwnerName:fr,useDocumentLabel:Lh,useBridges:SH,useStandaloneBridges:RH,useDocumentPass:AH,blockRules:wH,blockLook:kH,devices:PH,leftView:FH,pinned:EH,Canvas:WC,canvasDrag:{media:GC},Inspector:Jy};export{hee as a,gee as b,yee as c,bee as d,nt as e,Fd as f,Dee as g,Se as h,un as i,OS as j,Mee as k,Xee as l,DS as m,toe as n,zS as o,roe as p,GS as q,$S as r,KS as s,VS as t,xoe as u,Ioe as v,hoe as w,goe as x,KM as y,sp as z,QM as A,Foe as B,$o as C,Qa as D,Kw as E,L5 as F,dt as G,R5 as H,A5 as I,en as J,ju as K,_oe as L,Noe as M,r2 as N,Gu as O,Uw as P,w5 as Q,Za as R,Uu as S,$w as T,qw as U,jw as V,T5 as W,P5 as X,F5 as Y,E5 as Z,Zf as _,MR as $,HR as aa,WR as ba,Rl as ca,Al as da,J9 as ea,se as fa,ae as ga,IX as ha,uy as ia,Kl as ja,jo as ka,lt as la,vre as ma,kre as na,Tre as oa,Pre as pa,hf as qa,D3 as ra,_3 as sa,qt as ta,N3 as ua,M3 as va,nk as wa,lk as xa,It as ya,Nr as za,nl as Aa,ll as Ba,ro as Ca,tq as Da,rq as Ea,aq as Fa,Be as Ga,nq as Ha,AE as Ia,BE as Ja,lq as Ka,rr as La,sq as Ma,iq as Na,ME as Oa,fl as Pa,ar as Qa,ah as Ra,ul as Sa,xq as Ta,Lf as Ua,cl as Va,Iq as Wa,hq as Xa,gq as Ya,yq as Za,bq as _a,SO as $a,Sq as ab,Cq as bb,wq as cb,vq as db,xa as eb,Gg as fb,Ug as gb,$g as hb,VH as ib,QH as jb,JH as kb,e5 as lb,pe as mb,oP as nb,Mi as ob,tP as pb,zz as qb,eo as rb,Uz as sb,$z as tb,aP as ub,qz as vb,mx as wb,xx as xb,lP as yb,sP as zb,Jz as Ab,oG as Bb,tG as Cb,rG as Db,aG as Eb,Jt as Fb,Bo as Gb,$i as Hb,yx as Ib,uP as Jb,qi as Kb,Ln as Lb,sG as Mb,Fk as Nb,E4 as Ob,on as Pb,ut as Qb,Br as Rb,Ju as Sb,z5 as Tb,qs as Ub,G5 as Vb,rn as Wb,fp as Xb,c3 as Yb,d3 as Zb,Fv as _b,u3 as $b,x3 as ac,dp as bc,I3 as cc,Ov as dc,h3 as ec,T0 as fc,Cn as gc,iz as hc,Fi as ic,fz as jc,A0 as kc,cz as lc,uz as mc,pz as nc,wz as oc,vz as pc,kz as qc,Bm as rc,rz as sc,az as tc,nz as uc,lz as vc,M0 as wc,vn as xc,xz as yc,Um as zc,BH as Ac,X as Bc,l as Cc,$e as Dc,zg as Ec,UV as Fc,Hg as Gc,Xp as Hc,xn as Ic,Zp as Jc,y6 as Kc,vT as Lc,W6 as Mc,am as Nc,h5 as Oc,S5 as Pc,js as Qc,Cv as Rc,l3 as Sc,b3 as Tc,li as Uc,si as Vc,C4 as Wc,w4 as Xc,Bp as Yc,v4 as Zc,k4 as _c,T4 as $c,Wp as ad,Gp as bd,K6 as cd,lm as dd,Ce as ed,fm as fd,tW as gd,DT as hd,rW as id,aW as jd,dm as kd,sW as ld,_T as md,iW as nd,fW as od,MT as pd,uW as qd,HT as rd,pW as sd,mm as td,xm as ud,Im as vd,hm as wd,gm as xd,ym as yd,Yt as zd,hW as Ad,gW as Bd,yW as Cd,bW as Dd,yn as Ed,SW as Fd,wi as Gd,EW as Hd,wm as Id,VT as Jd,LW as Kd,vi as Ld,_W as Md,ki as Nd,x0 as Od,oz as Pd,hz as Qd,gz as Rd,yz as Sd,bz as Td,Sz as Ud,ox as Vd,Z0 as Wd,Pz as Xd,Jm as Yd,ex as Zd,Fz as _d,Tn as $d,Pn as ae,Oz as be,Qt as ce,En as de,Az as ee,Bz as fe,Dz as ge,cx as he,Nz as ie,Qo as je,No as ke,Zi as le,wo as me,bU as ne,SU as oe,CU as pe,wU as qe,PU as re,FU as se,OF as te,EU as ue,OU as ve,LU as we,RU as xe,AU as ye,BU as ze,DU as Ae,ve as Be,_U as Ce,BF as De,NU as Ee,MU as Fe,HU as Ge,WU as He,_n as Ie,er as Je,zU as Ke,tI as Le,Hn as Me,Wn as Ne,GU as Oe,UU as Pe,$U as Qe,qU as Re,jU as Se,KU as Te,VU as Ue,YU as Ve,XU as We,ZU as Xe,QU as Ye,JU as Ze,zn as _e,e$ as $e,Gn as af,Un as bf,tf as cf,$n as df,o$ as ef,vt as ff,t$ as gf,r$ as hf,a$ as if,n$ as jf,l$ as kf,s$ as lf,i$ as mf,f$ as nf,Zo as of,c$ as pf,d$ as qf,qn as rf,u$ as sf,rf as tf,p$ as uf,m$ as vf,af as wf,x$ as xf,fI as yf,cI as zf,dI as Af,I$ as Bf,C1 as Cf,h$ as Df,g$ as Ef,n_ as Ff,Fy as Gf,We as Hf,Ca as If,i_ as Jf,Ay as Kf,JX as Lf,eZ as Mf,oZ as Nf,tZ as Of,rZ as Pf,aZ as Qf,nZ as Rf,lZ as Sf,sZ as Tf,iZ as Uf,fZ as Vf,Ol as Wf,TR as Xf,z9 as Yf,G9 as Zf,OR as _f,RR as $f,rg as ag,_R as bg,K9 as cg,V9 as dg,ng as eg,Y9 as fg,sg as gg,lg as hg,lj as ig,Tl as jg,Vh as kg,Yh as lg,Pl as mg,g9 as ng,y9 as og,Fl as pg,gR as qg,E9 as rg,na as sg,A9 as tg,og as ug,VJ as vg,YJ as wg,XJ as xg,ZJ as yg,ite as zg,fte as Ag,Ite as Bg,dte as Cg,_9 as Dg,tg as Eg,H9 as Fg,El as Gg,EQ as Hg,sb as Ig,ib as Jg,qH as Kg,fh as Lg,Rq as Mg,Aq as Ng,Bq as Og,Dq as Pg,Gf as Qg,Uf as Rg,cg as Sg,ij as Tg,dg as Ug,UR as Vg,Qf as Wg,uj as Xg,pj as Yg,$R as Zg,mj as _g,fa as $g,xg as ah,xj as bh,Ig as ch,KK as dh,wg as eh,Fg as fh,Yg as gh,eY as hh,qB as ih,jB as jh,ga as kh,KB as lh,VB as mh,iY as nh,ey as oh,le as ph,jl as qh,no as rh,ub as sh,pb as th,AQ as uh,Pa as vh,mb as wh,xb as xh,_Q as yh,NQ as zh,Gb as Ah,gd as Bh,Ub as Ch,lC as Dh,ete as Eh,TC as Fh,Is as Gh,m2 as Hh,x2 as Ih,kte as Jh,MH as Kh,GH as Lh,Y2 as Mh,jC as Nh,X2 as Oh,Wa as Ph,yre as Qh,bre as Rh,Kae as Sh};