efficient-storefront-blocks 0.74.0 → 0.75.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 (34) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/chunks/EditorPreviewCheckout-27GNLSNR.js +4 -0
  3. package/dist/chunks/{SiteEditorProvider-Z33JB5BA.js → SiteEditorProvider-N4T55FAV.js} +1 -1
  4. package/dist/chunks/chunk-4V6BLJSG.js +1 -0
  5. package/dist/chunks/{chunk-QJDTP7K6.js → chunk-K26JUDGZ.js} +1 -1
  6. package/dist/chunks/{chunk-5OFEWRWI.js → chunk-SJODSVWU.js} +1 -1
  7. package/dist/chunks/{chunk-UGXNUQRA.js → chunk-WPHE7RI4.js} +1 -1
  8. package/dist/chunks/{fitment-data-DHKRLKNI.js → fitment-data-5ZSHENM3.js} +1 -1
  9. package/dist/editor/components/CategorySource.js +1 -1
  10. package/dist/editor/lib/efficient-backend.js +1 -1
  11. package/dist/editor/lib/storefront-editor-words.d.ts +2 -3
  12. package/dist/editor/lib/storefront-editor-words.js +1 -1
  13. package/dist/index.js +232 -33
  14. package/dist/render/built-with.json +1 -1
  15. package/dist/render/components/CartContext.d.ts +3 -0
  16. package/dist/render/components/CartContext.js +1 -1
  17. package/dist/render/components/HeaderToolBlocks.d.ts +1 -2
  18. package/dist/render/components/HeaderToolBlocks.js +1 -1
  19. package/dist/render/components/SectionGroupBody.js +1 -1
  20. package/dist/render/components/checkout/checkout-parts.js +1 -1
  21. package/dist/render/components/checkout/checkout-state.d.ts +7 -2
  22. package/dist/render/components/checkout/checkout-state.js +3 -3
  23. package/dist/render/lib/api/index.d.ts +0 -8
  24. package/dist/render/lib/api/index.js +1 -1
  25. package/dist/render/lib/api/types.d.ts +7 -3
  26. package/dist/render/lib/content/site.d.ts +1 -1
  27. package/dist/render/lib/document/blocks/commerce/CountrySwitchBlock/render.js +1 -1
  28. package/dist/words.d.ts +2 -3
  29. package/dist/words.js +1 -1
  30. package/package.json +4 -1
  31. package/dist/chunks/EditorPreviewCheckout-YQ3F5MSG.js +0 -4
  32. package/dist/chunks/chunk-BZDVZUF4.js +0 -1
  33. /package/dist/chunks/{chunk-UJW4B64R.js → chunk-3TBLX25X.js} +0 -0
  34. /package/dist/chunks/{chunk-UGXNUQRA.js.LEGAL.txt → chunk-WPHE7RI4.js.LEGAL.txt} +0 -0
@@ -1,4 +1,4 @@
1
- import{$ as Bu,A as Vo,Aa as K,B as yo,Ba as zu,C as Yt,D as Xt,Da as en,Ea as Gu,F as Pu,Fa as Uu,I as _a,K as Eu,Ka as $u,L as Rs,M as Bs,O as Fu,P as Ou,R as Lu,S as _s,U as Au,V as qe,W as ht,X as Ru,Y as bo,Z as Qr,a as gu,aa as Ds,c as yu,d as Qe,da as _u,e as Vt,ea as Ns,f as Bo,g as Os,ga as Ms,h as Cu,ka as Du,l as Ba,n as Ko,o as Ls,qa as It,sa as Nu,u as wu,ua as Mu,v as vu,w as As,wa as Hu,x as ze,y as ku,z as Tu}from"./chunk-UJW4B64R.js";import{d as bu,e as Ra,f as Su,g as Wu,j as Jr,n as Hs}from"./chunk-5OFEWRWI.js";var ne=e=>typeof e=="string"&&e?e:void 0;var ju="en",on=null,Ku=ju,Vu=null;function O4(e,o,t){on=e??null,Ku=o||ju,Vu=t??null}function X(){return Vu}function Ws(){return Ku}function Yu(){return on}function qu(e,o){return o?e.replace(/\{([A-Za-z][A-Za-z0-9_]*)\}/g,(t,a)=>Object.prototype.hasOwnProperty.call(o,a)?String(o[a]):t):e}function l(e,o){let t=on?on[e]:void 0;if(typeof t=="function"){try{let a=ne(t(o??{}));if(a)return a}catch{}return qu(e,o)}return qu(ne(t)??e,o)}function Ae(e,o,t,a){return l(t===1?e:o,{...a,n:t})}import{jsx as zs,Fragment as yv,jsxs as bv}from"react/jsx-runtime";import{createContext as Sv,useContext as Cv}from"react";var wv={mirrorHostStyles:!0,css:null,fontHrefs:[]},Xu=Sv(wv);function B4({value:e,children:o}){return zs(Xu.Provider,{value:e,children:o})}function Gs(){return Cv(Xu)}function Zu(){let{css:e,fontHrefs:o}=Gs();return bv(yv,{children:[o.map(t=>zs("link",{rel:"stylesheet",href:t},t)),e?zs("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as vv}from"react/jsx-runtime";import{createContext as kv,useContext as Tv}from"react";var Qu=kv(void 0);function M4({metadata:e,children:o}){return vv(Qu.Provider,{value:e,children:o})}var Ju=()=>Tv(Qu);import{jsx as he,Fragment as rv,jsxs as Vr}from"react/jsx-runtime";import{useCallback as Yr,useEffect as Ve,useRef as e4,useState as ev}from"react";import{Button as o4,Tooltip as t4}from"efficient-shell/ui";import{SettingsSwitch as a4}from"efficient-easel/panel";import{PagesIcon as r4,StylesIcon as n4}from"efficient-easel/rail";import{PaletteIcon as l4}from"efficient-shell/icons/efficient";import{TemplateIcon as s4}from"efficient-easel/icons";import{Subtree as i4,TreeRow as nv}from"efficient-easel/tree";import{useEasel as lv}from"efficient-easel/easel";import{useEaselStrings as sv}from"efficient-easel/strings";import{createContext as Pv,useContext as Ev}from"react";var Us=Pv(!1),z4=()=>Ev(Us);import{jsx as ae,Fragment as qg,jsxs as dr}from"react/jsx-runtime";import{Fragment as SB,useEffect as CB,useId as wB,useMemo as jg,useRef as vB,useState as dt}from"react";import{useScreenDocument as kB}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as Sc}from"efficient-easel/draw/client";import TB from"efficient-easel/screen/components/SidePanelHead";import{jsx as Z,jsxs as ct,Fragment as _t}from"react/jsx-runtime";import{useEasel as Tg,useRootFields as yR}from"efficient-easel/easel";import{Inspector as bR}from"efficient-easel/fields";import{SettingsGroup as SR}from"efficient-easel/panel";import{useEffect as CR,useRef as wR,useState as kl}from"react";import{jsx as sa,jsxs as lI,Fragment as E1}from"react/jsx-runtime";import{useState as sI}from"react";import{SettingsDefaultReset as F1,SettingsField as O1}from"efficient-easel/panel";import{useEaselStrings as L1}from"efficient-easel/strings";import{AddIcon as A1}from"efficient-easel/icons";import{jsx as y,jsxs as zo,Fragment as ro}from"react/jsx-runtime";import{cloneElement as gh,useId as xF,useRef as xf,useState as Xa}from"react";import{useEasel as Za}from"efficient-easel/easel";import{toDateKey as $7,fromDateKey as q7}from"efficient-shell/format";function Fv(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.src=="string"}function Yo(e){return typeof e=="string"?e:Fv(e)?e.src:""}function U4(e,o,t){return $s(e,o.split("."),t)}function $s(e,o,t){if(o.length===0)return t(e);let[a,...r]=o,n=a.endsWith("[]"),s=n?a.slice(0,-2):a;if(!e||typeof e!="object"||Array.isArray(e))return e;let i=e;if(!(s in i))return e;let f=i[s];if(n){if(!Array.isArray(f))return e;let p=!1,x=f.map(m=>{let h=$s(m,r,t);return h!==m&&(p=!0),h});return p?{...i,[s]:x}:e}let d=$s(f,r,t);return d===f?e:{...i,[s]:d}}var Ov=["upload","youtube"],Lv="upload",j4={upload:"Upload",youtube:"YouTube"},Av=["background","click"],Rv="background",K4={background:"Background",click:"Click to play"};function V4(e){return Ov.includes(e)?e:Lv}function Y4(e){return Av.includes(e)?e:Rv}var ep=/^[A-Za-z0-9_-]{11}$/,Bv=/^(?:www\.|m\.|music\.)?(?:youtube\.com|youtube-nocookie\.com|youtu\.be)$/;function X4(e){let o=typeof e=="string"?e.trim():"";if(!o)return null;if(ep.test(o))return o;let t;try{t=new URL(/^[a-z]+:\/\//i.test(o)?o:`https://${o}`)}catch{return null}if(t.protocol!=="https:"&&t.protocol!=="http:"||!Bv.test(t.hostname))return null;let a=t.pathname.split("/").filter(Boolean),r=t.hostname.endsWith("youtu.be")?a[0]:a[0]==="watch"?t.searchParams.get("v"):a[0]==="embed"||a[0]==="shorts"||a[0]==="live"||a[0]==="v"?a[1]:null;return r&&ep.test(r)?r:null}function Z4(e,o){let t=o==="click"?"autoplay=1&playsinline=1&rel=0":`autoplay=1&mute=1&loop=1&playlist=${e}&controls=0&playsinline=1&rel=0&disablekb=1`;return`https://www.youtube-nocookie.com/embed/${e}?${t}`}function Q4(e){return`https://i.ytimg.com/vi/${e}/maxresdefault.jpg`}function J4(e){return`https://i.ytimg.com/vi/${e}/hqdefault.jpg`}var e6="Play video";var qs={frame:"Video frame",image:"Image"},o6={any:[{field:"loadingShows",is:"image"},{all:[{not:{field:"loadingShows",set:!0}},{field:"poster",set:!0}]}]};function js(e){let o=e.loadingShows;return o==="image"?"image":o!=null&&o!==""?"frame":Yo(e.poster)?"image":"frame"}function t6(e){return Yo(js(e)==="image"?e.poster:e.videoFrame)||void 0}import{readHidable as lt,hidableText as hF}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as If,LINK_FIELD_MARKER as IF,MEDIA_FIELD_MARKER as gF,SCAFFOLD_FIELD_MARKER as yF,TEXT_FIELD_MARKER as Go,foldMetaOf as To,textFieldIdentifier as Z7}from"efficient-easel/draw";import{jsx as sp}from"react/jsx-runtime";import{useCallback as Hv,useEffect as Wv,useRef as zv,useState as Gv}from"react";import{useEasel as Uv}from"efficient-easel/easel";import{SettingsAction as $v}from"efficient-easel/panel";function Ks(e){return typeof e=="number"&&Number.isFinite(e)}function n6(e,o){if(!Ks(e))return;let t=Qr(bo(e));if(Object.keys(t).length===0)return;let a=t[tn];if(typeof a!="string")return t;let r=Da(o)?Na(a,_o(o)??[]):a;return{...t,[_v]:r}}var _v="--sf-section-radius",tn="--sf-card-radius",gt=["tl","tr","br","bl"];function _o(e){if(!Array.isArray(e))return null;let o=e.filter(t=>gt.includes(t));return gt.filter(t=>o.includes(t))}function Da(e){let o=_o(e);return o!==null&&o.length<gt.length}function Na(e,o){return gt.map(t=>o.includes(t)?e:"0").join(" ")}var op=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var Dv="--sf-card-box-radius",Nv="--sf-site-card-radius",f6="sf-section-bleeds";function Vs(e){return typeof e=="number"&&Number.isFinite(e)}function c6(e,o){if(!Vs(e))return;let t=Qr(bo(e))[tn];if(typeof t!="string")return;let a=Da(o)?Na(t,_o(o)??[]):t;return{[Dv]:a}}function d6(e){let o=e[tn];return typeof o=="string"?{[Nv]:o}:{}}function tp(e,o){let t=e.find(n=>n?.props?.id===o);if(!t)return[...e];let a=t.props?.cardCorners,r=t.props?.cardCornerSides;return e.map(n=>n?.props?.id===o?n:{...n,props:{...n.props,cardCorners:a,cardCornerSides:r}})}import{locateNode as Mv}from"efficient-easel/draw";function Ma(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function an(e,o,t){let a=Ma(t?.zone),r=a?Mv(e,o,a.ownerId):null;return r&&a?{...r,slot:a.slot}:null}function ap(e,o,t){let a=an(e,o,t),r=a?.slot??"",n=a&&Array.isArray(a.item.props[r])?a.item.props[r]:[],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!a||!f?{can:!1,reason:"unreachable",others:0}:n.length<=1?{can:!1,reason:"alone",others:d}:Vs(i?.props?.cardCorners)?{can:!0,others:d,zone:a.zone,index:a.index,data:{...a.item,props:{...a.item.props,[r]:tp(n,f)}}}:{can:!1,reason:"unset",others:d}}function rp(e){return e.can?Ae("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 np(e){return Ae("Applied to {n} card","Applied to {n} cards",e)}function lp(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as qv}from"efficient-easel/screen/lib/document/use-section-ops";var jv=2200,Kv="apply-corners-to-siblings",Vv="Apply to all cards";function Yv({plan:e,doneCount:o,onPress:t}){return sp($v,{id:Kv,label:l(Vv),note:rp(e),disabled:!e.can,done:o!==null,doneLabel:np(o??0),onPress:t})}function ip(){let{appState:e,config:o}=Uv(f=>f),t=qv(),[a,r]=Gv(null),n=zv(null);Wv(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=ap(o,e.data.content??[],e.ui.itemSelector),i=Hv(()=>{lp(s,t.replaceComponent),s.can&&(r(s.others),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r(null),jv))},[s,t]);return sp(Yv,{plan:s,doneCount:a,onPress:i})}var fp=1;function Xv(e){return bo(e)}function E6(e){let o=Xv(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var cp=1,dp="Corners";function Zv(e){return bo(e)}function A6(e,o){let t=Zv(e);if(t===null)return null;let a=`${t}px`;return{borderRadius:Da(o)?Na(a,_o(o)??[]):a}}var Do={twoAcross:{label:"Two across",across:2,acrossPhone:2,desktop:[[6,1],[6,1]],phone:[[3,1],[3,1]]},zigzag:{label:"Zigzag",across:2,acrossPhone:2,desktop:[[8,1],[4,1],[4,1],[8,1]],phone:[[4,1],[2,1],[2,1],[4,1]]},brick:{label:"Brick",across:2,acrossPhone:2,desktop:[[5,1],[7,1],[7,1],[5,1]],phone:[[2,1],[4,1],[4,1],[2,1]]},twoTall:{label:"Two tall",across:2,acrossPhone:2,desktop:[[6,2],[6,2]],phone:[[3,2],[3,2]]},offsetTall:{label:"Offset tall",across:2,acrossPhone:2,desktop:[[5,2],[7,1],[3,1],[4,1]],phone:[[3,2],[3,1],[3,1]]},ladder:{label:"Ladder",across:2,acrossPhone:2,desktop:[[3,2],[9,1],[5,1],[4,1]],phone:[[2,2],[4,1],[2,1],[2,1]]},threeAcross:{label:"Three across",across:3,acrossPhone:3,desktop:[[4,1],[4,1],[4,1]],phone:[[2,1],[2,1],[2,1]]},bigLeft:{label:"Big left",across:3,acrossPhone:3,desktop:[[6,1],[3,1],[3,1]],phone:[[4,1],[1,1],[1,1]]},bigRight:{label:"Big right",across:3,acrossPhone:3,desktop:[[3,1],[3,1],[6,1]],phone:[[1,1],[1,1],[4,1]]},threeStagger:{label:"Three stagger",across:3,acrossPhone:3,desktop:[[5,1],[4,1],[3,1],[3,1],[4,1],[5,1]],phone:[[3,1],[2,1],[1,1],[1,1],[2,1],[3,1]]},threeLadder:{label:"Three ladder",across:3,acrossPhone:3,desktop:[[3,1],[4,1],[5,1],[5,1],[4,1],[3,1]],phone:[[1,1],[2,1],[3,1],[3,1],[2,1],[1,1]]},tallMiddle:{label:"Tall middle",across:3,acrossPhone:3,desktop:[[4,1],[4,2],[4,1],[4,1],[4,1]],phone:[[2,1],[2,2],[2,1],[2,1],[2,1]]},fourAcross:{label:"Four across",across:4,acrossPhone:2,desktop:[[3,1],[3,1],[3,1],[3,1]],phone:[[3,1],[3,1]]},bigFirst:{label:"Big first",across:4,acrossPhone:2,desktop:[[6,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1]],phone:[[6,1],[3,1],[3,1]]},fourStagger:{label:"Four stagger",across:4,acrossPhone:2,desktop:[[4,1],[3,1],[2,1],[3,1],[2,1],[3,1],[4,1],[3,1]],phone:[[4,1],[2,1],[2,1],[4,1]]},tallFirst:{label:"Tall first",across:4,acrossPhone:2,desktop:[[3,2],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1]],phone:[[3,2],[3,1],[3,1]]},oneThenFour:{label:"One then four",across:4,acrossPhone:2,desktop:[[12,1],[3,1],[3,1],[3,1],[3,1]],phone:[[6,1],[3,1],[3,1]]},sixAcross:{label:"Six across",across:6,acrossPhone:3,desktop:[[2,1],[2,1],[2,1],[2,1],[2,1],[2,1]],phone:[[2,1],[2,1],[2,1]]},sixStagger:{label:"Six stagger",across:6,acrossPhone:6,desktop:[[3,1],[2,1],[1,1],[2,1],[1,1],[3,1],[1,1],[3,1],[2,1],[2,1],[1,1],[3,1]],phone:[[1,1],[1,1],[1,1],[1,1],[1,1],[1,1]]},twoThenThrees:{label:"Two, then threes",across:3,acrossPhone:3,lead:[[6,1],[6,1]],desktop:[[4,1],[4,1],[4,1]],leadPhone:[[3,1],[3,1]],phone:[[2,1],[2,1],[2,1]]}},Ys=Object.keys(Do),pp=[2,3,4,6];function mp(e){return typeof e!="string"||e===""?null:Do[e]??null}function up(e,o){return o?6/e.acrossPhone:12/e.across}function xp(e){return[...e.lead??[],...e.desktop]}var Qv="sf-wall--";function Jv(e){return`${Qv}${e}`}function B6(e){let o=Do[e],t=`.${Jv(e)}`,a=[],r=(n,s,i=[])=>{let f=[],d=n.length,p=i.length;i.forEach(([x,m],h)=>{f.push(`${t} > :nth-child(${h+1}){grid-column:span ${x};grid-row:span ${m}}`)}),n.forEach(([x,m],h)=>{f.push(`${t} > :nth-child(${d}n+${p+h+1}){grid-column:span ${x};grid-row:span ${m}}`)});for(let x=1;x<d;x+=1)f.push(`${t}:has(> :nth-child(${d}n+${p+x}):last-child) > :nth-last-child(-n+${x}){grid-column:span ${s};grid-row:span 1}`);return f};return a.push(`${t}{grid-template-columns:repeat(12,minmax(0,1fr))}`),a.push(...r(o.desktop,up(o,!1),o.lead)),a.push("@media (max-width:800px){"),a.push(`${t}{grid-template-columns:repeat(6,minmax(0,1fr))}`),a.push(...r(o.phone,up(o,!0),o.leadPhone)),a.push("}"),a.join("")}var rn=12,hp=1,ek=3;var ok=3;function Xs(e,o,t){let a=typeof e=="number"?e:Number.parseInt(String(e??""),10);return Number.isFinite(a)?Math.min(t,Math.max(o,Math.trunc(a))):null}function tk(e){return Xs(e,1,rn)??ok}function N6(e,o){return Xs(e,hp,ek)??(tk(o)===4?2:hp)}function M6(e){return e==null||e===""?null:Xs(e,1,rn)}var H6="data-sf-span";function W6(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(mp(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}var Xo=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],nn="bottom-left";var Zs={"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 ak(e){let o=Xo.indexOf(yt(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function rk(e){return 1+ak(e).band*6}function G6(e){return rk(e)+1}function yt(e){return Xo.includes(e)?e:nn}function U6(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-40,Math.min(40,Math.round(o)))}function $6(e,o=60){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(30,Math.min(100,Math.round(t)))}function Qs(e,o){let t=yt(o);return e.filter(a=>yt(a?.props?.placement)===t).length}function Ip(e){return`${Zs[yt(e)]} already holds 4 boxes. Move one somewhere else first.`}function Js(e,o){let t=e.filter(a=>a?.props?.id!==o);return Xo.map(a=>{let r=Qs(t,a)>=4,n=Zs[a];return r?{value:a,label:n,disabled:!0,title:Ip(a)}:{value:a,label:n}})}function ln(e,o){let t=o===void 0?nn:yt(o?.props?.placement);return Qs(e,t)>=4?Ip(t):null}var sn="HeroGroup";function nk(e){return Xo.map(o=>{let t=Qs(e,o);return{anchor:o,total:t,hidden:t-4}}).filter(o=>o.hidden>0)}function ei(e){let o=nk(e);return o.length===0?null:o.map(({anchor:t,total:a,hidden:r})=>{let n=Zs[t],s=r===1?"1 is not shown":`${r} are not shown`;return`${n} holds ${a} boxes. The published page draws the first 4, so ${s}. ${r===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function gp(e,o){let t=o;if(t?.type!==sn)return null;let a=t.props?.id===void 0?"":String(t.props.id);return a?ln(oi(e,a),t):null}function oi(e,o){let t=bp(e,o);return t&&t.ownerType===sk?t.siblings:[]}function yp(e,o){let t=bp(e,o);return t?t.ancestorTypes.filter(a=>a===sn).length:lk}var lk=1,sk="HeroSlide";function bp(e,o){let t=r=>Array.isArray(r)&&r.length>0&&r.every(n=>!!n&&typeof n=="object"&&typeof n.type=="string"),a=(r,n,s)=>{if(n>12||!r||typeof r!="object")return null;if(t(r)){if(r.some(i=>i?.props?.id===o))return{siblings:r,ownerType:s.at(-1)??null,ancestorTypes:s};for(let i of r){let f=i.type,d=a(i,n+1,[...s,String(f)]);if(d)return d}return null}for(let i of Object.values(r)){let f=a(i,n+1,s);if(f)return f}return null};return a(e,0,[])}import{jsx as ik}from"react/jsx-runtime";var fk="sf-hint-keep";function Sp({children:e}){return ik("span",{className:fk,children:e})}import{jsx as Zo,Fragment as uk,jsxs as Fp}from"react/jsx-runtime";import{useContext as pk,useEffect as mk,useId as xk,useState as Op}from"react";import{SettingsField as hk,SettingsSwitch as Ik}from"efficient-easel/panel";import{AnchorIcon as gk}from"efficient-easel/icons";import{ScreenDocumentContext as yk}from"efficient-easel/screen/components/ScreenDocumentContext";import{Snippet as bk}from"efficient-shell/ui";import{slugify as Sk}from"efficient-shell/format";var fn="homepage";import{slugify as ck}from"efficient-shell/format";var Cp=[{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 wp(e){return e.offersCommerce&&e.offersService?Cp:Cp.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}var ti="#popup:";function vp(e){return`${ti}${e}`}function kp(e){return e.startsWith(ti)&&e.slice(ti.length).trim()||null}function Ha(e){return e===fn?"/":`/${e}`}function Tp(e){return`/journal/${e}`}function Z6(e){return`/wheels/${e}`}function cn(e,o){return`${Ha(e)}#${o}`}function dk(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}function Pp(...e){let o=new Set,t=[];for(let a of e)for(let r of a?.content??[]){let n=dk(r?.props?.anchor);if(!n)continue;let s=ck(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function Q6(e){let o=e.indexOf("#"),t=o===-1?e:e.slice(0,o),a=t.indexOf("?");return a===-1?t:t.slice(0,a)}function Ep(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}import{readHidable as Ck}from"efficient-easel/draw";function Lp({value:e,onChange:o,nameBox:t}){let a=Ck(e).text,[r,n]=Op(!1),s=r||a.trim()!=="",i=xk();return Fp(uk,{children:[Zo(hk,{label:l("Add an anchor"),labelId:i,icon:Zo(gk,{}),action:Zo(Ik,{checked:s,ariaLabelledBy:i,onChange:f=>{n(f),!f&&a!==""&&o("")}})}),s&&t(e,o),s&&Zo(wk,{name:a})]})}function wk({name:e}){let o=pk(yk),t=o?.templateId?"":o?.currentSlug??"",[a,r]=Op("");mk(()=>r(Jr()||window.location.origin),[]);let n=Sk(e);if(!n||!t)return null;let s=`${a}${cn(t,n)}`,i=s.replace(/^https?:\/\//,""),f=i.lastIndexOf("#");return Zo("div",{className:"sf-anchor-link",children:Zo(bk,{value:s,label:l("link"),size:"sm",children:Fp("span",{className:"sf-anchor-link-text",children:[Zo("span",{className:"sf-anchor-link-path",children:i.slice(0,f)}),Zo("span",{className:"sf-anchor-link-hash",children:i.slice(f)})]})})})}import{AdjustIcon as bF,AlignLeftIcon as SF,EyeIcon as CF,AlignSeparateIcon as wF,AnimationIcon as yh,BackgroundIcon as vF,BorderAllIcon as kF,BlockSectionIcon as TF,CartIcon as PF,ColumnWidthsIcon as bh,ColumnsIcon as Sh,CornerIcon as EF,DirectionDownIcon as FF,DirectionLeftIcon as OF,DirectionRightIcon as LF,DirectionUpIcon as AF,DollarIcon as RF,FinishIcon as BF,GapIcon as Ch,GridIcon as _F,GroundIcon as DF,HashIcon as wh,HeightIcon as NF,ImageIcon as MF,ListIcon as HF,LocationIcon as pf,NudgeIcon as WF,PaddingAllIcon as zF,PaddingBottomIcon as vh,PaddingLeftIcon as kh,PaddingRightIcon as Th,PaddingTopIcon as Ph,PageIcon as Eh,PlacementIcon as GF,ProductSizeIcon as UF,StickyIcon as $F,RotateIcon as qF,SquareIcon as jF,TypeIcon as KF,WidthIcon as VF,WrapIcon as YF}from"efficient-easel/icons";import{jsx as te,Fragment as So,jsxs as Co}from"react/jsx-runtime";import{TitleIcon as vk,ButtonIcon as kk,DollarIcon as Tk,HashIcon as Pk,LinkIcon as Ek,NoteIcon as Fk,TagIcon as Ok,TextLinesIcon as Lk}from"efficient-easel/icons";var Ap={body:Lk,button:kk,link:Ek,label:Ok,number:Pk,price:Tk,note:Fk,title:vk},Rp={eyebrow:Co(So,{children:[te("path",{d:"M5 6.5h5"}),te("path",{d:"M5 12.5h14"}),te("path",{d:"M5 18h11"})]}),heading:Co(So,{children:[te("path",{d:"M6.5 5v14"}),te("path",{d:"M17.5 5v14"}),te("path",{d:"M6.5 12h11"})]}),intro:Co(So,{children:[te("path",{d:"M4 5.5v13"}),te("path",{d:"M8 7.5h12"}),te("path",{d:"M8 12h12"}),te("path",{d:"M8 16.5h8"})]}),value:Co(So,{children:[te("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),te("path",{d:"M6.5 12h7"})]}),name:Co(So,{children:[te("path",{d:"M6 3.5v17"}),te("path",{d:"M6 5h11.5l-2.6 3.6L17.5 12H6z"})]}),date:Co(So,{children:[te("rect",{x:"4",y:"5.5",width:"16",height:"15",rx:"2"}),te("path",{d:"M4 10.5h16"}),te("path",{d:"M9 3.2v4.4"}),te("path",{d:"M15 3.2v4.4"})]}),caption:Co(So,{children:[te("rect",{x:"3.5",y:"4.5",width:"17",height:"11",rx:"2"}),te("path",{d:"M3.5 12.8l4.2-3.2 3.6 2.8 3.4-2.4 5.8 4"}),te("path",{d:"M6.5 19.5h11"})]}),quote:Co(So,{children:[te("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),te("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:Co(So,{children:[te("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),te("path",{d:"M8 9.5h8"}),te("path",{d:"M12 9.5v5"})]}),meta:Co(So,{children:[te("path",{d:"M4 7h16"}),te("path",{d:"M4 14h3.5"}),te("path",{d:"M10.5 14h3"}),te("path",{d:"M17 14h3"})]})};function ai({noun:e,size:o=14,strokeWidth:t=1.8,className:a,style:r}){let n=Ap[e];return n?te("span",{className:a,style:{display:"inline-flex",...r},"aria-hidden":"true",children:te(n,{size:o})}):te("svg",{className:a,style:r,width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:Rp[e]})}var mW=Object.keys(Ap);var xW=Object.keys(Rp);var Ak="#ffffff",Rk=/^#[0-9a-fA-F]{6}$/;function ri(e){return Bk(e)?e:Ak}function Bk(e){return typeof e=="string"&&Rk.test(e)}function IW(e){return{"--bg":ri(e)}}var ni=[{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}],_k=ni.filter(e=>e.ink);function Dk(e){let o={color:e.fg};for(let{role:t,token:a}of _k)o[a]=e[t];return o}var Nk={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},Bp=Object.freeze(Dk(Nk));var dn=-1,Mk="sf-section-accent",_p="Color",Dp=new Set(["CategoryBar","DocTabs"]),SW=new Set(["Flex"]),Hk=0;function li(e){return e===dn?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:Hk}function CW(e){return e??dn}function Wk(e){let o=`--theme-preset-${e}`,t={"--sf-sec-accent":`var(${o}-accent)`,"--sf-sec-accent-2":`var(${o}-accent-2)`,"--sf-sec-accent-ink":`var(${o}-accent-ink)`};for(let{role:a}of ni)t[`--sf-sec-${a}`]=`var(${o}-${a}, var(--theme-${a}))`;return t}function wW(e){let o=li(e.sectionAccent);return o===null?null:{className:Mk,style:Wk(o)}}var zk=["fade","rise","scale"],si="none",Np=[{label:"None",value:si},{label:"Fade",value:"fade"},{label:"Rise",value:"rise"},{label:"Scale",value:"scale"}];function TW(e){return zk.includes(e)?e:null}var Mp="data-sf-anim",Wa="data-sf-anim-state";function PW(e){let o=()=>{};if(typeof IntersectionObserver>"u"||!e.getAttribute(Mp))return o;let t=window.innerHeight||document.documentElement.clientHeight;if(e.getBoundingClientRect().top<t)return o;e.setAttribute(Wa,"armed");let a=new IntersectionObserver(r=>{for(let n of r)if(n.isIntersecting){a.disconnect(),Gk(e);break}},{threshold:0});return a.observe(e),()=>{a.disconnect(),e.removeAttribute(Wa)}}function Gk(e){if(!e.getAttribute(Mp))return;e.removeAttribute(Wa),e.offsetWidth,e.setAttribute(Wa,"play");let o=t=>{t.target===e&&(e.removeAttribute(Wa),e.removeEventListener("animationend",o))};e.addEventListener("animationend",o)}var EW=Dp;function fi(e,o){let t=e?.content;if(!Array.isArray(t))return null;for(let a of t){if(!a||typeof a!="object")continue;let r=a.props;if(r?.id===o)return null;if(ii(a,o,0))return r??{}}return null}function ii(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(r=>ii(r,o,t+1));let a=e.props;return a&&typeof a=="object"&&a.id===o?!0:Object.values(e).some(r=>ii(r,o,t+1))}import{SettingsDefaultReset as Re,SettingsDrill as XF,SettingsField as se,SettingsGroup as ZF,SettingsGroupSub as QF,SettingsBorder as JF,SettingsSegmented as eO,SettingsSides as oO,SettingsSidesEach as Fh,sidesStartEach as tO,SettingsSwitch as Oh,borderSides as aO,borderStartEach as rO}from"efficient-easel/panel";import{FieldSelect as nO,ListField as lO}from"efficient-easel/fields";import{DisplayChips as sO}from"efficient-shell/ui";function Zt(e){if(!e||typeof e!="object"||Array.isArray(e))return{};let o={};for(let[t,a]of Object.entries(e))typeof a=="boolean"&&(o[t]=a);return o}function un(e,o){return Zt(e)[o]!==!1}function ci(e,o,t){let a=Zt(o)[t];return typeof a=="boolean"?a:un(e,t)}function Hp(e){return Object.values(Zt(e)).some(o=>o===!1)}function Wp(e){return Object.keys(Zt(e)).length>0}function zp(e,o,t){let a={...Zt(e)};return t?delete a[o]:a[o]=!1,Object.keys(a).length?a:void 0}function Gp(e,o,t){return{...Zt(e),[o]:t}}function LW(e,o,t){let a=un(e,t),r=ci(e,o,t);return a&&r?"":!a&&!r?"hidden":a?"max-[720px]:hidden":"min-[720px]:hidden"}import{AlignmentGrid as iO,Checkbox as I8,CornersInput as fO,DatePicker as g8,DateTimePicker as cO,FOCAL_DEFAULT as y8,PictureTiles as Lh,PositionInput as dO,Slider as uO,Tooltip as Ah}from"efficient-shell/ui";import{jsx as No,jsxs as qp}from"react/jsx-runtime";import{ColorPicker as $p,HexInput as $k}from"efficient-shell/ui";import{SettingsDefaultReset as qk,SettingsField as jk}from"efficient-easel/panel";import{typedHex as di}from"efficient-easel/pick";import{typedHex as Uk}from"efficient-easel/pick";function Up(e){let o=new Set,t=[];return ze(e).themes.forEach((a,r)=>{let n=[[l("Theme {n} main color",{n:r+1}),a.accent],[l("Theme {n} text color",{n:r+1}),a.text],[l("Theme {n} background",{n:r+1}),a.background]];for(let[s,i]of n){let f=i?Uk(i):null;!f||o.has(f)||(o.add(f),t.push({name:s,value:f}))}}),t}function Kk({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,ariaLabel:s,opacity:i,onOpacityChange:f}){return No(Yk,{value:e,onChange:o,label:l(s??t),id:a,caption:r,inherited:n,...f?{opacity:i,onOpacityChange:f}:{}})}function Vk(){let{theme:e}=K();return Up(e).map(o=>({value:o.value,label:o.name}))}function Yk({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,opacity:s,onOpacityChange:i}){let f=Vk(),d=e?null:di(n??""),p=r!==void 0&&(!e||di(r)!==di(e))?r:null,x=m=>{m!==e&&o(m)};return i?No("div",{className:"sf-colour",children:No($p,{id:a,value:e,onChange:x,label:t,presets:f,fallback:d??void 0,size:"md",align:"start",showHexInput:!0,opacity:s,onOpacityChange:i})}):qp("div",{className:"sf-colour",children:[No($p,{id:a,value:e,onChange:x,label:t,presets:f,fallback:d??void 0,size:"md",align:"start"}),p!==null?No("span",{className:"sf-colour-caption",children:p}):No("span",{className:"sf-colour-hexwrap",children:No($k,{value:e||d||"",onChange:x,label:l("{label} hex code",{label:t}),placeholder:e||d?void 0:l("Not set"),className:d?"sf-colour-hex is-inherited":"sf-colour-hex",size:"md"})})]})}function je({label:e,icon:o,changed:t,hint:a,onReset:r,resetTo:n,children:s,...i}){return qp(jk,{label:e,icon:o,htmlFor:i.id,changed:t,hint:a,action:r?No(qk,{words:X()?.panel,label:e,changed:!!t,detail:n,onReset:r}):void 0,children:[Kk({...i,label:e}),s]})}function pn({label:e,icon:o,value:t,inherited:a,resetTo:r,onChange:n,onReset:s,hint:i,opacity:f,onOpacityChange:d,changed:p}){let x=!!t;return No(je,{label:e,icon:o,value:t,inherited:x?void 0:a,onChange:n,changed:p??x,onReset:s,resetTo:r,hint:i,...d?{opacity:f,onOpacityChange:d}:{}})}import{jsx as bT}from"react/jsx-runtime";import{useEffect as ST,useState as CT}from"react";import{clearRangeOf as wT,markSelection as vT,useCaretEdit as kT}from"efficient-easel/copy";import{TextToolbar as TT}from"efficient-shell/ui";import{applyMark as QW,markupTools as JW,MARKUP_TOOLS as ez,COPY_FIELD_TOOLS as oz,STOREFRONT_MARKUP as tz,tokenizeInline as az,stripInline as rz,isSafeLinkHref as nz}from"efficient-shell/markup";import{applyMark as sT,clearStyle as iT,markedAt as fT,markupTools as cT,MARKUP_TOOLS as dT,parseMarkup as uT,RETIRED_MARKS as pT,STOREFRONT_MARKUP as mT,tokenizeInline as sz}from"efficient-shell/markup";var bt=["highlight","strong","quiet"],St={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},wo={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},jW=Object.fromEntries(bt.map(e=>[wo[e].kind,e])),KW="data-sf-ws",mn=["accent","text","labels"],Yp={accent:"Accent",text:"Text",labels:"Labels"},Qt={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},Xk=80,Zk=120,Qk=100,Jk=900,eT=.5,oT=3,tT=-.1,aT=.5,rT=3,ui={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},nT={highlight:{...ui},strong:{...ui},quiet:{...ui}};function jp(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function Kp(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let a=10**rT;return Math.round(Math.min(Math.max(e,o),t)*a)/a}function Vp(e){return typeof e=="boolean"?e:null}function lT(e){let o=typeof e?.font=="string"&&Qe.some(a=>a.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&mn.includes(e.colour)?e.colour:null;return{font:o,size:jp(e?.size,Xk,Zk),weight:jp(e?.weight,Qk,Jk),bold:Vp(e?.bold),italic:Vp(e?.italic),lineGap:Kp(e?.lineGap,eT,oT),textGap:Kp(e?.textGap,tT,aT),colour:t}}function Xp(e){let o={};for(let t of bt)o[t]=e&&t in e&&e[t]?lT(e[t]):{...nT[t]};return o}function VW(e){let o=Xp(e),t={};for(let a of bt){let r=o[a],n=`--sf-ws-${a}`;if(r.font){let s=Qe.find(i=>i.key===r.font);s&&(t[`${n}-font`]=`var(${s.cssVar})`)}r.size!==null&&(t[`${n}-size`]=`${r.size/100}em`),r.weight!==null&&(t[`${n}-weight`]=String(r.weight)),r.bold!==null&&(t[`${n}-weight-bold`]=r.bold?"700":"400"),r.italic!==null&&(t[`${n}-style`]=r.italic?"italic":"normal"),r.lineGap!==null&&(t[`${n}-line`]=String(r.lineGap)),r.textGap!==null&&(t[`${n}-track`]=`${r.textGap}em`),r.colour!==null&&(t[`${n}-color`]=Qt[r.colour])}return t}function YW(e){let o=e?.word_styles??void 0,t={};for(let a of bt)o&&a in o&&(t[a]=o[a]??null);return Xp(t)}var xT=new Set(["strong"]),Zp=bt.map(e=>({open:wo[e].delimiter,close:wo[e].delimiter,kind:wo[e].kind,...xT.has(e)?{wordStart:!0}:{}})),fz=[{style:wo.highlight.kind,label:St.highlight,title:`${St.highlight} word style`},{style:wo.strong.kind,label:St.strong,title:`${St.strong} word style`},{style:wo.quiet.kind,label:St.quiet,title:`${St.quiet} word style`}],hT=new Set(Zp.map(e=>e.open)),Ct=[...mT.filter(e=>!hT.has(e.open)),...Zp];function IT(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function gT(e){return uT(typeof e=="string"?e:"",Ct)}var yT=dT.map(e=>e.style).filter(e=>!pT.includes(e)).filter(e=>Ct.some(o=>o.kind===e));function Qp(){return cT(yT)}var Jp=Object.fromEntries(bt.map(e=>[wo[e].kind,wo[e].delimiter]));function em(e,o,t,a){let r=Jp[a];if(!r)return sT(e,o,t,a);let n=e.slice(o,t),s=e.slice(Math.max(0,o-r.length),o),i=e.slice(t,t+r.length);if(s===r&&i===r)return{text:e.slice(0,o-r.length)+n+e.slice(t+r.length),selectionStart:o-r.length,selectionEnd:o-r.length+n.length};let f=n||"styled text";return{text:e.slice(0,o)+r+f+r+e.slice(t),selectionStart:o+r.length,selectionEnd:o+r.length+f.length}}function om(e,o,t,a){let r=Jp[a];return r?o>=r.length&&e.slice(o-r.length,o)===r&&e.slice(t,t+r.length)===r:fT(e,o,t,a)}function za(e){return gT(e).map(o=>IT(o)+am(o.children)).join(`
1
+ import{$ as Bu,A as Vo,Aa as K,B as yo,Ba as zu,C as Yt,D as Xt,Da as en,Ea as Gu,F as Pu,Fa as Uu,I as _a,K as Eu,Ka as $u,L as Rs,M as Bs,O as Fu,P as Ou,R as Lu,S as _s,U as Au,V as qe,W as ht,X as Ru,Y as bo,Z as Qr,a as gu,aa as Ds,c as yu,d as Qe,da as _u,e as Vt,ea as Ns,f as Bo,g as Os,ga as Ms,h as Cu,ka as Du,l as Ba,n as Ko,o as Ls,qa as It,sa as Nu,u as wu,ua as Mu,v as vu,w as As,wa as Hu,x as ze,y as ku,z as Tu}from"./chunk-3TBLX25X.js";import{d as bu,e as Ra,f as Su,g as Wu,j as Jr,n as Hs}from"./chunk-SJODSVWU.js";var ne=e=>typeof e=="string"&&e?e:void 0;var ju="en",on=null,Ku=ju,Vu=null;function O4(e,o,t){on=e??null,Ku=o||ju,Vu=t??null}function X(){return Vu}function Ws(){return Ku}function Yu(){return on}function qu(e,o){return o?e.replace(/\{([A-Za-z][A-Za-z0-9_]*)\}/g,(t,a)=>Object.prototype.hasOwnProperty.call(o,a)?String(o[a]):t):e}function l(e,o){let t=on?on[e]:void 0;if(typeof t=="function"){try{let a=ne(t(o??{}));if(a)return a}catch{}return qu(e,o)}return qu(ne(t)??e,o)}function Ae(e,o,t,a){return l(t===1?e:o,{...a,n:t})}import{jsx as zs,Fragment as yv,jsxs as bv}from"react/jsx-runtime";import{createContext as Sv,useContext as Cv}from"react";var wv={mirrorHostStyles:!0,css:null,fontHrefs:[]},Xu=Sv(wv);function B4({value:e,children:o}){return zs(Xu.Provider,{value:e,children:o})}function Gs(){return Cv(Xu)}function Zu(){let{css:e,fontHrefs:o}=Gs();return bv(yv,{children:[o.map(t=>zs("link",{rel:"stylesheet",href:t},t)),e?zs("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as vv}from"react/jsx-runtime";import{createContext as kv,useContext as Tv}from"react";var Qu=kv(void 0);function M4({metadata:e,children:o}){return vv(Qu.Provider,{value:e,children:o})}var Ju=()=>Tv(Qu);import{jsx as he,Fragment as rv,jsxs as Vr}from"react/jsx-runtime";import{useCallback as Yr,useEffect as Ve,useRef as e4,useState as ev}from"react";import{Button as o4,Tooltip as t4}from"efficient-shell/ui";import{SettingsSwitch as a4}from"efficient-easel/panel";import{PagesIcon as r4,StylesIcon as n4}from"efficient-easel/rail";import{PaletteIcon as l4}from"efficient-shell/icons/efficient";import{TemplateIcon as s4}from"efficient-easel/icons";import{Subtree as i4,TreeRow as nv}from"efficient-easel/tree";import{useEasel as lv}from"efficient-easel/easel";import{useEaselStrings as sv}from"efficient-easel/strings";import{createContext as Pv,useContext as Ev}from"react";var Us=Pv(!1),z4=()=>Ev(Us);import{jsx as ae,Fragment as qg,jsxs as dr}from"react/jsx-runtime";import{Fragment as SB,useEffect as CB,useId as wB,useMemo as jg,useRef as vB,useState as dt}from"react";import{useScreenDocument as kB}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as Sc}from"efficient-easel/draw/client";import TB from"efficient-easel/screen/components/SidePanelHead";import{jsx as Z,jsxs as ct,Fragment as _t}from"react/jsx-runtime";import{useEasel as Tg,useRootFields as yR}from"efficient-easel/easel";import{Inspector as bR}from"efficient-easel/fields";import{SettingsGroup as SR}from"efficient-easel/panel";import{useEffect as CR,useRef as wR,useState as kl}from"react";import{jsx as sa,jsxs as lI,Fragment as E1}from"react/jsx-runtime";import{useState as sI}from"react";import{SettingsDefaultReset as F1,SettingsField as O1}from"efficient-easel/panel";import{useEaselStrings as L1}from"efficient-easel/strings";import{AddIcon as A1}from"efficient-easel/icons";import{jsx as y,jsxs as zo,Fragment as ro}from"react/jsx-runtime";import{cloneElement as gh,useId as xF,useRef as xf,useState as Xa}from"react";import{useEasel as Za}from"efficient-easel/easel";import{toDateKey as $7,fromDateKey as q7}from"efficient-shell/format";function Fv(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.src=="string"}function Yo(e){return typeof e=="string"?e:Fv(e)?e.src:""}function U4(e,o,t){return $s(e,o.split("."),t)}function $s(e,o,t){if(o.length===0)return t(e);let[a,...r]=o,n=a.endsWith("[]"),s=n?a.slice(0,-2):a;if(!e||typeof e!="object"||Array.isArray(e))return e;let i=e;if(!(s in i))return e;let f=i[s];if(n){if(!Array.isArray(f))return e;let p=!1,x=f.map(m=>{let h=$s(m,r,t);return h!==m&&(p=!0),h});return p?{...i,[s]:x}:e}let d=$s(f,r,t);return d===f?e:{...i,[s]:d}}var Ov=["upload","youtube"],Lv="upload",j4={upload:"Upload",youtube:"YouTube"},Av=["background","click"],Rv="background",K4={background:"Background",click:"Click to play"};function V4(e){return Ov.includes(e)?e:Lv}function Y4(e){return Av.includes(e)?e:Rv}var ep=/^[A-Za-z0-9_-]{11}$/,Bv=/^(?:www\.|m\.|music\.)?(?:youtube\.com|youtube-nocookie\.com|youtu\.be)$/;function X4(e){let o=typeof e=="string"?e.trim():"";if(!o)return null;if(ep.test(o))return o;let t;try{t=new URL(/^[a-z]+:\/\//i.test(o)?o:`https://${o}`)}catch{return null}if(t.protocol!=="https:"&&t.protocol!=="http:"||!Bv.test(t.hostname))return null;let a=t.pathname.split("/").filter(Boolean),r=t.hostname.endsWith("youtu.be")?a[0]:a[0]==="watch"?t.searchParams.get("v"):a[0]==="embed"||a[0]==="shorts"||a[0]==="live"||a[0]==="v"?a[1]:null;return r&&ep.test(r)?r:null}function Z4(e,o){let t=o==="click"?"autoplay=1&playsinline=1&rel=0":`autoplay=1&mute=1&loop=1&playlist=${e}&controls=0&playsinline=1&rel=0&disablekb=1`;return`https://www.youtube-nocookie.com/embed/${e}?${t}`}function Q4(e){return`https://i.ytimg.com/vi/${e}/maxresdefault.jpg`}function J4(e){return`https://i.ytimg.com/vi/${e}/hqdefault.jpg`}var e6="Play video";var qs={frame:"Video frame",image:"Image"},o6={any:[{field:"loadingShows",is:"image"},{all:[{not:{field:"loadingShows",set:!0}},{field:"poster",set:!0}]}]};function js(e){let o=e.loadingShows;return o==="image"?"image":o!=null&&o!==""?"frame":Yo(e.poster)?"image":"frame"}function t6(e){return Yo(js(e)==="image"?e.poster:e.videoFrame)||void 0}import{readHidable as lt,hidableText as hF}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as If,LINK_FIELD_MARKER as IF,MEDIA_FIELD_MARKER as gF,SCAFFOLD_FIELD_MARKER as yF,TEXT_FIELD_MARKER as Go,foldMetaOf as To,textFieldIdentifier as Z7}from"efficient-easel/draw";import{jsx as sp}from"react/jsx-runtime";import{useCallback as Hv,useEffect as Wv,useRef as zv,useState as Gv}from"react";import{useEasel as Uv}from"efficient-easel/easel";import{SettingsAction as $v}from"efficient-easel/panel";function Ks(e){return typeof e=="number"&&Number.isFinite(e)}function n6(e,o){if(!Ks(e))return;let t=Qr(bo(e));if(Object.keys(t).length===0)return;let a=t[tn];if(typeof a!="string")return t;let r=Da(o)?Na(a,_o(o)??[]):a;return{...t,[_v]:r}}var _v="--sf-section-radius",tn="--sf-card-radius",gt=["tl","tr","br","bl"];function _o(e){if(!Array.isArray(e))return null;let o=e.filter(t=>gt.includes(t));return gt.filter(t=>o.includes(t))}function Da(e){let o=_o(e);return o!==null&&o.length<gt.length}function Na(e,o){return gt.map(t=>o.includes(t)?e:"0").join(" ")}var op=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var Dv="--sf-card-box-radius",Nv="--sf-site-card-radius",f6="sf-section-bleeds";function Vs(e){return typeof e=="number"&&Number.isFinite(e)}function c6(e,o){if(!Vs(e))return;let t=Qr(bo(e))[tn];if(typeof t!="string")return;let a=Da(o)?Na(t,_o(o)??[]):t;return{[Dv]:a}}function d6(e){let o=e[tn];return typeof o=="string"?{[Nv]:o}:{}}function tp(e,o){let t=e.find(n=>n?.props?.id===o);if(!t)return[...e];let a=t.props?.cardCorners,r=t.props?.cardCornerSides;return e.map(n=>n?.props?.id===o?n:{...n,props:{...n.props,cardCorners:a,cardCornerSides:r}})}import{locateNode as Mv}from"efficient-easel/draw";function Ma(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function an(e,o,t){let a=Ma(t?.zone),r=a?Mv(e,o,a.ownerId):null;return r&&a?{...r,slot:a.slot}:null}function ap(e,o,t){let a=an(e,o,t),r=a?.slot??"",n=a&&Array.isArray(a.item.props[r])?a.item.props[r]:[],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!a||!f?{can:!1,reason:"unreachable",others:0}:n.length<=1?{can:!1,reason:"alone",others:d}:Vs(i?.props?.cardCorners)?{can:!0,others:d,zone:a.zone,index:a.index,data:{...a.item,props:{...a.item.props,[r]:tp(n,f)}}}:{can:!1,reason:"unset",others:d}}function rp(e){return e.can?Ae("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 np(e){return Ae("Applied to {n} card","Applied to {n} cards",e)}function lp(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as qv}from"efficient-easel/screen/lib/document/use-section-ops";var jv=2200,Kv="apply-corners-to-siblings",Vv="Apply to all cards";function Yv({plan:e,doneCount:o,onPress:t}){return sp($v,{id:Kv,label:l(Vv),note:rp(e),disabled:!e.can,done:o!==null,doneLabel:np(o??0),onPress:t})}function ip(){let{appState:e,config:o}=Uv(f=>f),t=qv(),[a,r]=Gv(null),n=zv(null);Wv(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=ap(o,e.data.content??[],e.ui.itemSelector),i=Hv(()=>{lp(s,t.replaceComponent),s.can&&(r(s.others),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>r(null),jv))},[s,t]);return sp(Yv,{plan:s,doneCount:a,onPress:i})}var fp=1;function Xv(e){return bo(e)}function E6(e){let o=Xv(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var cp=1,dp="Corners";function Zv(e){return bo(e)}function A6(e,o){let t=Zv(e);if(t===null)return null;let a=`${t}px`;return{borderRadius:Da(o)?Na(a,_o(o)??[]):a}}var Do={twoAcross:{label:"Two across",across:2,acrossPhone:2,desktop:[[6,1],[6,1]],phone:[[3,1],[3,1]]},zigzag:{label:"Zigzag",across:2,acrossPhone:2,desktop:[[8,1],[4,1],[4,1],[8,1]],phone:[[4,1],[2,1],[2,1],[4,1]]},brick:{label:"Brick",across:2,acrossPhone:2,desktop:[[5,1],[7,1],[7,1],[5,1]],phone:[[2,1],[4,1],[4,1],[2,1]]},twoTall:{label:"Two tall",across:2,acrossPhone:2,desktop:[[6,2],[6,2]],phone:[[3,2],[3,2]]},offsetTall:{label:"Offset tall",across:2,acrossPhone:2,desktop:[[5,2],[7,1],[3,1],[4,1]],phone:[[3,2],[3,1],[3,1]]},ladder:{label:"Ladder",across:2,acrossPhone:2,desktop:[[3,2],[9,1],[5,1],[4,1]],phone:[[2,2],[4,1],[2,1],[2,1]]},threeAcross:{label:"Three across",across:3,acrossPhone:3,desktop:[[4,1],[4,1],[4,1]],phone:[[2,1],[2,1],[2,1]]},bigLeft:{label:"Big left",across:3,acrossPhone:3,desktop:[[6,1],[3,1],[3,1]],phone:[[4,1],[1,1],[1,1]]},bigRight:{label:"Big right",across:3,acrossPhone:3,desktop:[[3,1],[3,1],[6,1]],phone:[[1,1],[1,1],[4,1]]},threeStagger:{label:"Three stagger",across:3,acrossPhone:3,desktop:[[5,1],[4,1],[3,1],[3,1],[4,1],[5,1]],phone:[[3,1],[2,1],[1,1],[1,1],[2,1],[3,1]]},threeLadder:{label:"Three ladder",across:3,acrossPhone:3,desktop:[[3,1],[4,1],[5,1],[5,1],[4,1],[3,1]],phone:[[1,1],[2,1],[3,1],[3,1],[2,1],[1,1]]},tallMiddle:{label:"Tall middle",across:3,acrossPhone:3,desktop:[[4,1],[4,2],[4,1],[4,1],[4,1]],phone:[[2,1],[2,2],[2,1],[2,1],[2,1]]},fourAcross:{label:"Four across",across:4,acrossPhone:2,desktop:[[3,1],[3,1],[3,1],[3,1]],phone:[[3,1],[3,1]]},bigFirst:{label:"Big first",across:4,acrossPhone:2,desktop:[[6,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1]],phone:[[6,1],[3,1],[3,1]]},fourStagger:{label:"Four stagger",across:4,acrossPhone:2,desktop:[[4,1],[3,1],[2,1],[3,1],[2,1],[3,1],[4,1],[3,1]],phone:[[4,1],[2,1],[2,1],[4,1]]},tallFirst:{label:"Tall first",across:4,acrossPhone:2,desktop:[[3,2],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1]],phone:[[3,2],[3,1],[3,1]]},oneThenFour:{label:"One then four",across:4,acrossPhone:2,desktop:[[12,1],[3,1],[3,1],[3,1],[3,1]],phone:[[6,1],[3,1],[3,1]]},sixAcross:{label:"Six across",across:6,acrossPhone:3,desktop:[[2,1],[2,1],[2,1],[2,1],[2,1],[2,1]],phone:[[2,1],[2,1],[2,1]]},sixStagger:{label:"Six stagger",across:6,acrossPhone:6,desktop:[[3,1],[2,1],[1,1],[2,1],[1,1],[3,1],[1,1],[3,1],[2,1],[2,1],[1,1],[3,1]],phone:[[1,1],[1,1],[1,1],[1,1],[1,1],[1,1]]},twoThenThrees:{label:"Two, then threes",across:3,acrossPhone:3,lead:[[6,1],[6,1]],desktop:[[4,1],[4,1],[4,1]],leadPhone:[[3,1],[3,1]],phone:[[2,1],[2,1],[2,1]]}},Ys=Object.keys(Do),pp=[2,3,4,6];function mp(e){return typeof e!="string"||e===""?null:Do[e]??null}function up(e,o){return o?6/e.acrossPhone:12/e.across}function xp(e){return[...e.lead??[],...e.desktop]}var Qv="sf-wall--";function Jv(e){return`${Qv}${e}`}function B6(e){let o=Do[e],t=`.${Jv(e)}`,a=[],r=(n,s,i=[])=>{let f=[],d=n.length,p=i.length;i.forEach(([x,m],h)=>{f.push(`${t} > :nth-child(${h+1}){grid-column:span ${x};grid-row:span ${m}}`)}),n.forEach(([x,m],h)=>{f.push(`${t} > :nth-child(${d}n+${p+h+1}){grid-column:span ${x};grid-row:span ${m}}`)});for(let x=1;x<d;x+=1)f.push(`${t}:has(> :nth-child(${d}n+${p+x}):last-child) > :nth-last-child(-n+${x}){grid-column:span ${s};grid-row:span 1}`);return f};return a.push(`${t}{grid-template-columns:repeat(12,minmax(0,1fr))}`),a.push(...r(o.desktop,up(o,!1),o.lead)),a.push("@media (max-width:800px){"),a.push(`${t}{grid-template-columns:repeat(6,minmax(0,1fr))}`),a.push(...r(o.phone,up(o,!0),o.leadPhone)),a.push("}"),a.join("")}var rn=12,hp=1,ek=3;var ok=3;function Xs(e,o,t){let a=typeof e=="number"?e:Number.parseInt(String(e??""),10);return Number.isFinite(a)?Math.min(t,Math.max(o,Math.trunc(a))):null}function tk(e){return Xs(e,1,rn)??ok}function N6(e,o){return Xs(e,hp,ek)??(tk(o)===4?2:hp)}function M6(e){return e==null||e===""?null:Xs(e,1,rn)}var H6="data-sf-span";function W6(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(mp(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}var Xo=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],nn="bottom-left";var Zs={"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 ak(e){let o=Xo.indexOf(yt(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function rk(e){return 1+ak(e).band*6}function G6(e){return rk(e)+1}function yt(e){return Xo.includes(e)?e:nn}function U6(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-40,Math.min(40,Math.round(o)))}function $6(e,o=60){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(30,Math.min(100,Math.round(t)))}function Qs(e,o){let t=yt(o);return e.filter(a=>yt(a?.props?.placement)===t).length}function Ip(e){return`${Zs[yt(e)]} already holds 4 boxes. Move one somewhere else first.`}function Js(e,o){let t=e.filter(a=>a?.props?.id!==o);return Xo.map(a=>{let r=Qs(t,a)>=4,n=Zs[a];return r?{value:a,label:n,disabled:!0,title:Ip(a)}:{value:a,label:n}})}function ln(e,o){let t=o===void 0?nn:yt(o?.props?.placement);return Qs(e,t)>=4?Ip(t):null}var sn="HeroGroup";function nk(e){return Xo.map(o=>{let t=Qs(e,o);return{anchor:o,total:t,hidden:t-4}}).filter(o=>o.hidden>0)}function ei(e){let o=nk(e);return o.length===0?null:o.map(({anchor:t,total:a,hidden:r})=>{let n=Zs[t],s=r===1?"1 is not shown":`${r} are not shown`;return`${n} holds ${a} boxes. The published page draws the first 4, so ${s}. ${r===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function gp(e,o){let t=o;if(t?.type!==sn)return null;let a=t.props?.id===void 0?"":String(t.props.id);return a?ln(oi(e,a),t):null}function oi(e,o){let t=bp(e,o);return t&&t.ownerType===sk?t.siblings:[]}function yp(e,o){let t=bp(e,o);return t?t.ancestorTypes.filter(a=>a===sn).length:lk}var lk=1,sk="HeroSlide";function bp(e,o){let t=r=>Array.isArray(r)&&r.length>0&&r.every(n=>!!n&&typeof n=="object"&&typeof n.type=="string"),a=(r,n,s)=>{if(n>12||!r||typeof r!="object")return null;if(t(r)){if(r.some(i=>i?.props?.id===o))return{siblings:r,ownerType:s.at(-1)??null,ancestorTypes:s};for(let i of r){let f=i.type,d=a(i,n+1,[...s,String(f)]);if(d)return d}return null}for(let i of Object.values(r)){let f=a(i,n+1,s);if(f)return f}return null};return a(e,0,[])}import{jsx as ik}from"react/jsx-runtime";var fk="sf-hint-keep";function Sp({children:e}){return ik("span",{className:fk,children:e})}import{jsx as Zo,Fragment as uk,jsxs as Fp}from"react/jsx-runtime";import{useContext as pk,useEffect as mk,useId as xk,useState as Op}from"react";import{SettingsField as hk,SettingsSwitch as Ik}from"efficient-easel/panel";import{AnchorIcon as gk}from"efficient-easel/icons";import{ScreenDocumentContext as yk}from"efficient-easel/screen/components/ScreenDocumentContext";import{Snippet as bk}from"efficient-shell/ui";import{slugify as Sk}from"efficient-shell/format";var fn="homepage";import{slugify as ck}from"efficient-shell/format";var Cp=[{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 wp(e){return e.offersCommerce&&e.offersService?Cp:Cp.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}var ti="#popup:";function vp(e){return`${ti}${e}`}function kp(e){return e.startsWith(ti)&&e.slice(ti.length).trim()||null}function Ha(e){return e===fn?"/":`/${e}`}function Tp(e){return`/journal/${e}`}function Z6(e){return`/wheels/${e}`}function cn(e,o){return`${Ha(e)}#${o}`}function dk(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}function Pp(...e){let o=new Set,t=[];for(let a of e)for(let r of a?.content??[]){let n=dk(r?.props?.anchor);if(!n)continue;let s=ck(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function Q6(e){let o=e.indexOf("#"),t=o===-1?e:e.slice(0,o),a=t.indexOf("?");return a===-1?t:t.slice(0,a)}function Ep(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}import{readHidable as Ck}from"efficient-easel/draw";function Lp({value:e,onChange:o,nameBox:t}){let a=Ck(e).text,[r,n]=Op(!1),s=r||a.trim()!=="",i=xk();return Fp(uk,{children:[Zo(hk,{label:l("Add an anchor"),labelId:i,icon:Zo(gk,{}),action:Zo(Ik,{checked:s,ariaLabelledBy:i,onChange:f=>{n(f),!f&&a!==""&&o("")}})}),s&&t(e,o),s&&Zo(wk,{name:a})]})}function wk({name:e}){let o=pk(yk),t=o?.templateId?"":o?.currentSlug??"",[a,r]=Op("");mk(()=>r(Jr()||window.location.origin),[]);let n=Sk(e);if(!n||!t)return null;let s=`${a}${cn(t,n)}`,i=s.replace(/^https?:\/\//,""),f=i.lastIndexOf("#");return Zo("div",{className:"sf-anchor-link",children:Zo(bk,{value:s,label:l("link"),size:"sm",children:Fp("span",{className:"sf-anchor-link-text",children:[Zo("span",{className:"sf-anchor-link-path",children:i.slice(0,f)}),Zo("span",{className:"sf-anchor-link-hash",children:i.slice(f)})]})})})}import{AdjustIcon as bF,AlignLeftIcon as SF,EyeIcon as CF,AlignSeparateIcon as wF,AnimationIcon as yh,BackgroundIcon as vF,BorderAllIcon as kF,BlockSectionIcon as TF,CartIcon as PF,ColumnWidthsIcon as bh,ColumnsIcon as Sh,CornerIcon as EF,DirectionDownIcon as FF,DirectionLeftIcon as OF,DirectionRightIcon as LF,DirectionUpIcon as AF,DollarIcon as RF,FinishIcon as BF,GapIcon as Ch,GridIcon as _F,GroundIcon as DF,HashIcon as wh,HeightIcon as NF,ImageIcon as MF,ListIcon as HF,LocationIcon as pf,NudgeIcon as WF,PaddingAllIcon as zF,PaddingBottomIcon as vh,PaddingLeftIcon as kh,PaddingRightIcon as Th,PaddingTopIcon as Ph,PageIcon as Eh,PlacementIcon as GF,ProductSizeIcon as UF,StickyIcon as $F,RotateIcon as qF,SquareIcon as jF,TypeIcon as KF,WidthIcon as VF,WrapIcon as YF}from"efficient-easel/icons";import{jsx as te,Fragment as So,jsxs as Co}from"react/jsx-runtime";import{TitleIcon as vk,ButtonIcon as kk,DollarIcon as Tk,HashIcon as Pk,LinkIcon as Ek,NoteIcon as Fk,TagIcon as Ok,TextLinesIcon as Lk}from"efficient-easel/icons";var Ap={body:Lk,button:kk,link:Ek,label:Ok,number:Pk,price:Tk,note:Fk,title:vk},Rp={eyebrow:Co(So,{children:[te("path",{d:"M5 6.5h5"}),te("path",{d:"M5 12.5h14"}),te("path",{d:"M5 18h11"})]}),heading:Co(So,{children:[te("path",{d:"M6.5 5v14"}),te("path",{d:"M17.5 5v14"}),te("path",{d:"M6.5 12h11"})]}),intro:Co(So,{children:[te("path",{d:"M4 5.5v13"}),te("path",{d:"M8 7.5h12"}),te("path",{d:"M8 12h12"}),te("path",{d:"M8 16.5h8"})]}),value:Co(So,{children:[te("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),te("path",{d:"M6.5 12h7"})]}),name:Co(So,{children:[te("path",{d:"M6 3.5v17"}),te("path",{d:"M6 5h11.5l-2.6 3.6L17.5 12H6z"})]}),date:Co(So,{children:[te("rect",{x:"4",y:"5.5",width:"16",height:"15",rx:"2"}),te("path",{d:"M4 10.5h16"}),te("path",{d:"M9 3.2v4.4"}),te("path",{d:"M15 3.2v4.4"})]}),caption:Co(So,{children:[te("rect",{x:"3.5",y:"4.5",width:"17",height:"11",rx:"2"}),te("path",{d:"M3.5 12.8l4.2-3.2 3.6 2.8 3.4-2.4 5.8 4"}),te("path",{d:"M6.5 19.5h11"})]}),quote:Co(So,{children:[te("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),te("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:Co(So,{children:[te("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),te("path",{d:"M8 9.5h8"}),te("path",{d:"M12 9.5v5"})]}),meta:Co(So,{children:[te("path",{d:"M4 7h16"}),te("path",{d:"M4 14h3.5"}),te("path",{d:"M10.5 14h3"}),te("path",{d:"M17 14h3"})]})};function ai({noun:e,size:o=14,strokeWidth:t=1.8,className:a,style:r}){let n=Ap[e];return n?te("span",{className:a,style:{display:"inline-flex",...r},"aria-hidden":"true",children:te(n,{size:o})}):te("svg",{className:a,style:r,width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:Rp[e]})}var mW=Object.keys(Ap);var xW=Object.keys(Rp);var Ak="#ffffff",Rk=/^#[0-9a-fA-F]{6}$/;function ri(e){return Bk(e)?e:Ak}function Bk(e){return typeof e=="string"&&Rk.test(e)}function IW(e){return{"--bg":ri(e)}}var ni=[{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}],_k=ni.filter(e=>e.ink);function Dk(e){let o={color:e.fg};for(let{role:t,token:a}of _k)o[a]=e[t];return o}var Nk={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},Bp=Object.freeze(Dk(Nk));var dn=-1,Mk="sf-section-accent",_p="Color",Dp=new Set(["CategoryBar","DocTabs"]),SW=new Set(["Flex"]),Hk=0;function li(e){return e===dn?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:Hk}function CW(e){return e??dn}function Wk(e){let o=`--theme-preset-${e}`,t={"--sf-sec-accent":`var(${o}-accent)`,"--sf-sec-accent-2":`var(${o}-accent-2)`,"--sf-sec-accent-ink":`var(${o}-accent-ink)`};for(let{role:a}of ni)t[`--sf-sec-${a}`]=`var(${o}-${a}, var(--theme-${a}))`;return t}function wW(e){let o=li(e.sectionAccent);return o===null?null:{className:Mk,style:Wk(o)}}var zk=["fade","rise","scale"],si="none",Np=[{label:"None",value:si},{label:"Fade",value:"fade"},{label:"Rise",value:"rise"},{label:"Scale",value:"scale"}];function TW(e){return zk.includes(e)?e:null}var Mp="data-sf-anim",Wa="data-sf-anim-state";function PW(e){let o=()=>{};if(typeof IntersectionObserver>"u"||!e.getAttribute(Mp))return o;let t=window.innerHeight||document.documentElement.clientHeight;if(e.getBoundingClientRect().top<t)return o;e.setAttribute(Wa,"armed");let a=new IntersectionObserver(r=>{for(let n of r)if(n.isIntersecting){a.disconnect(),Gk(e);break}},{threshold:0});return a.observe(e),()=>{a.disconnect(),e.removeAttribute(Wa)}}function Gk(e){if(!e.getAttribute(Mp))return;e.removeAttribute(Wa),e.offsetWidth,e.setAttribute(Wa,"play");let o=t=>{t.target===e&&(e.removeAttribute(Wa),e.removeEventListener("animationend",o))};e.addEventListener("animationend",o)}var EW=Dp;function fi(e,o){let t=e?.content;if(!Array.isArray(t))return null;for(let a of t){if(!a||typeof a!="object")continue;let r=a.props;if(r?.id===o)return null;if(ii(a,o,0))return r??{}}return null}function ii(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(r=>ii(r,o,t+1));let a=e.props;return a&&typeof a=="object"&&a.id===o?!0:Object.values(e).some(r=>ii(r,o,t+1))}import{SettingsDefaultReset as Re,SettingsDrill as XF,SettingsField as se,SettingsGroup as ZF,SettingsGroupSub as QF,SettingsBorder as JF,SettingsSegmented as eO,SettingsSides as oO,SettingsSidesEach as Fh,sidesStartEach as tO,SettingsSwitch as Oh,borderSides as aO,borderStartEach as rO}from"efficient-easel/panel";import{FieldSelect as nO,ListField as lO}from"efficient-easel/fields";import{DisplayChips as sO}from"efficient-shell/ui";function Zt(e){if(!e||typeof e!="object"||Array.isArray(e))return{};let o={};for(let[t,a]of Object.entries(e))typeof a=="boolean"&&(o[t]=a);return o}function un(e,o){return Zt(e)[o]!==!1}function ci(e,o,t){let a=Zt(o)[t];return typeof a=="boolean"?a:un(e,t)}function Hp(e){return Object.values(Zt(e)).some(o=>o===!1)}function Wp(e){return Object.keys(Zt(e)).length>0}function zp(e,o,t){let a={...Zt(e)};return t?delete a[o]:a[o]=!1,Object.keys(a).length?a:void 0}function Gp(e,o,t){return{...Zt(e),[o]:t}}function LW(e,o,t){let a=un(e,t),r=ci(e,o,t);return a&&r?"":!a&&!r?"hidden":a?"max-[720px]:hidden":"min-[720px]:hidden"}import{AlignmentGrid as iO,Checkbox as I8,CornersInput as fO,DatePicker as g8,DateTimePicker as cO,FOCAL_DEFAULT as y8,PictureTiles as Lh,PositionInput as dO,Slider as uO,Tooltip as Ah}from"efficient-shell/ui";import{jsx as No,jsxs as qp}from"react/jsx-runtime";import{ColorPicker as $p,HexInput as $k}from"efficient-shell/ui";import{SettingsDefaultReset as qk,SettingsField as jk}from"efficient-easel/panel";import{typedHex as di}from"efficient-easel/pick";import{typedHex as Uk}from"efficient-easel/pick";function Up(e){let o=new Set,t=[];return ze(e).themes.forEach((a,r)=>{let n=[[l("Theme {n} main color",{n:r+1}),a.accent],[l("Theme {n} text color",{n:r+1}),a.text],[l("Theme {n} background",{n:r+1}),a.background]];for(let[s,i]of n){let f=i?Uk(i):null;!f||o.has(f)||(o.add(f),t.push({name:s,value:f}))}}),t}function Kk({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,ariaLabel:s,opacity:i,onOpacityChange:f}){return No(Yk,{value:e,onChange:o,label:l(s??t),id:a,caption:r,inherited:n,...f?{opacity:i,onOpacityChange:f}:{}})}function Vk(){let{theme:e}=K();return Up(e).map(o=>({value:o.value,label:o.name}))}function Yk({value:e,onChange:o,label:t,id:a,caption:r,inherited:n,opacity:s,onOpacityChange:i}){let f=Vk(),d=e?null:di(n??""),p=r!==void 0&&(!e||di(r)!==di(e))?r:null,x=m=>{m!==e&&o(m)};return i?No("div",{className:"sf-colour",children:No($p,{id:a,value:e,onChange:x,label:t,presets:f,fallback:d??void 0,size:"md",align:"start",showHexInput:!0,opacity:s,onOpacityChange:i})}):qp("div",{className:"sf-colour",children:[No($p,{id:a,value:e,onChange:x,label:t,presets:f,fallback:d??void 0,size:"md",align:"start"}),p!==null?No("span",{className:"sf-colour-caption",children:p}):No("span",{className:"sf-colour-hexwrap",children:No($k,{value:e||d||"",onChange:x,label:l("{label} hex code",{label:t}),placeholder:e||d?void 0:l("Not set"),className:d?"sf-colour-hex is-inherited":"sf-colour-hex",size:"md"})})]})}function je({label:e,icon:o,changed:t,hint:a,onReset:r,resetTo:n,children:s,...i}){return qp(jk,{label:e,icon:o,htmlFor:i.id,changed:t,hint:a,action:r?No(qk,{words:X()?.panel,label:e,changed:!!t,detail:n,onReset:r}):void 0,children:[Kk({...i,label:e}),s]})}function pn({label:e,icon:o,value:t,inherited:a,resetTo:r,onChange:n,onReset:s,hint:i,opacity:f,onOpacityChange:d,changed:p}){let x=!!t;return No(je,{label:e,icon:o,value:t,inherited:x?void 0:a,onChange:n,changed:p??x,onReset:s,resetTo:r,hint:i,...d?{opacity:f,onOpacityChange:d}:{}})}import{jsx as bT}from"react/jsx-runtime";import{useEffect as ST,useState as CT}from"react";import{clearRangeOf as wT,markSelection as vT,useCaretEdit as kT}from"efficient-easel/copy";import{TextToolbar as TT}from"efficient-shell/ui";import{applyMark as QW,markupTools as JW,MARKUP_TOOLS as ez,COPY_FIELD_TOOLS as oz,STOREFRONT_MARKUP as tz,tokenizeInline as az,stripInline as rz,isSafeLinkHref as nz}from"efficient-shell/markup";import{applyMark as sT,clearStyle as iT,markedAt as fT,markupTools as cT,MARKUP_TOOLS as dT,parseMarkup as uT,RETIRED_MARKS as pT,STOREFRONT_MARKUP as mT,tokenizeInline as sz}from"efficient-shell/markup";var bt=["highlight","strong","quiet"],St={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},wo={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},jW=Object.fromEntries(bt.map(e=>[wo[e].kind,e])),KW="data-sf-ws",mn=["accent","text","labels"],Yp={accent:"Accent",text:"Text",labels:"Labels"},Qt={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},Xk=80,Zk=120,Qk=100,Jk=900,eT=.5,oT=3,tT=-.1,aT=.5,rT=3,ui={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},nT={highlight:{...ui},strong:{...ui},quiet:{...ui}};function jp(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function Kp(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let a=10**rT;return Math.round(Math.min(Math.max(e,o),t)*a)/a}function Vp(e){return typeof e=="boolean"?e:null}function lT(e){let o=typeof e?.font=="string"&&Qe.some(a=>a.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&mn.includes(e.colour)?e.colour:null;return{font:o,size:jp(e?.size,Xk,Zk),weight:jp(e?.weight,Qk,Jk),bold:Vp(e?.bold),italic:Vp(e?.italic),lineGap:Kp(e?.lineGap,eT,oT),textGap:Kp(e?.textGap,tT,aT),colour:t}}function Xp(e){let o={};for(let t of bt)o[t]=e&&t in e&&e[t]?lT(e[t]):{...nT[t]};return o}function VW(e){let o=Xp(e),t={};for(let a of bt){let r=o[a],n=`--sf-ws-${a}`;if(r.font){let s=Qe.find(i=>i.key===r.font);s&&(t[`${n}-font`]=`var(${s.cssVar})`)}r.size!==null&&(t[`${n}-size`]=`${r.size/100}em`),r.weight!==null&&(t[`${n}-weight`]=String(r.weight)),r.bold!==null&&(t[`${n}-weight-bold`]=r.bold?"700":"400"),r.italic!==null&&(t[`${n}-style`]=r.italic?"italic":"normal"),r.lineGap!==null&&(t[`${n}-line`]=String(r.lineGap)),r.textGap!==null&&(t[`${n}-track`]=`${r.textGap}em`),r.colour!==null&&(t[`${n}-color`]=Qt[r.colour])}return t}function YW(e){let o=e?.word_styles??void 0,t={};for(let a of bt)o&&a in o&&(t[a]=o[a]??null);return Xp(t)}var xT=new Set(["strong"]),Zp=bt.map(e=>({open:wo[e].delimiter,close:wo[e].delimiter,kind:wo[e].kind,...xT.has(e)?{wordStart:!0}:{}})),fz=[{style:wo.highlight.kind,label:St.highlight,title:`${St.highlight} word style`},{style:wo.strong.kind,label:St.strong,title:`${St.strong} word style`},{style:wo.quiet.kind,label:St.quiet,title:`${St.quiet} word style`}],hT=new Set(Zp.map(e=>e.open)),Ct=[...mT.filter(e=>!hT.has(e.open)),...Zp];function IT(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function gT(e){return uT(typeof e=="string"?e:"",Ct)}var yT=dT.map(e=>e.style).filter(e=>!pT.includes(e)).filter(e=>Ct.some(o=>o.kind===e));function Qp(){return cT(yT)}var Jp=Object.fromEntries(bt.map(e=>[wo[e].kind,wo[e].delimiter]));function em(e,o,t,a){let r=Jp[a];if(!r)return sT(e,o,t,a);let n=e.slice(o,t),s=e.slice(Math.max(0,o-r.length),o),i=e.slice(t,t+r.length);if(s===r&&i===r)return{text:e.slice(0,o-r.length)+n+e.slice(t+r.length),selectionStart:o-r.length,selectionEnd:o-r.length+n.length};let f=n||"styled text";return{text:e.slice(0,o)+r+f+r+e.slice(t),selectionStart:o+r.length,selectionEnd:o+r.length+f.length}}function om(e,o,t,a){let r=Jp[a];return r?o>=r.length&&e.slice(o-r.length,o)===r&&e.slice(t,t+r.length)===r:fT(e,o,t,a)}function za(e){return gT(e).map(o=>IT(o)+am(o.children)).join(`
2
2
  `)}function tm(e,o,t){return iT(e,o,t,Ct)}function am(e){return e.map(o=>o.kind==="text"?o.text:am(o.children)).join("")}function PT(e,o,t){return vT(e,o,t,em)}function rm(e,o){let t=wT(o,e.length),a=tm(e,t.start,t.end);return a.text===e?null:a}function ET(e){let[o,t]=CT(null);return ST(()=>{let a=e.current?.ownerDocument??(typeof document>"u"?null:document);if(!a)return;let r=()=>{let n=e.current;if(!n||a.activeElement!==n)return;let s=n.selectionStart??n.value.length,i=n.selectionEnd??s;t(f=>f&&f.start===s&&f.end===i?f:{start:s,end:i})};return a.addEventListener("selectionchange",r),()=>a.removeEventListener("selectionchange",r)},[e]),[o,t]}function FT({target:e,value:o,onChange:t,disabled:a=!1,label:r="Formatting"}){let n=kT({target:e,onChange:t}),[s,i]=ET(e),f=m=>n(h=>{let b=PT(o,m,h);return i({start:b.selectionStart,end:b.selectionEnd}),b}),d=Qp(),p={};if(s)for(let m of d)p[m.style]=om(o,s.start,s.end,m.style);let x=a?null:rm(o,s);return bT(TT,{offered:new Set(d.map(m=>m.style)),onMark:m=>f(m),pressed:p,disabled:a,"aria-label":l(r),className:"sf-markup-bar",clear:x?{onClear:()=>n(()=>{let m=e.current,h=m&&m.ownerDocument.activeElement===m?{start:m.selectionStart??0,end:m.selectionEnd??0}:null,b=rm(o,h)??{text:o,selectionStart:h?.start??0,selectionEnd:h?.end??0};return i({start:b.selectionStart,end:b.selectionEnd}),b})}:void 0})}var pi=FT;import{deviceField as we}from"efficient-easel/screen/lib/document/device-fields";import{NO_CONTROL_FIELD as pO,NoControlMark as Un,noControlField as Qa}from"efficient-easel/screen/lib/document/panel-no-control-mark";var mi="__ownBox";function nm(e){return!!e&&typeof e=="object"&&e[mi]===!0}function xn(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var hn=void 0;import{phoneKey as na}from"efficient-easel/draw";import{jsx as hi,Fragment as AT}from"react/jsx-runtime";import{createContext as RT,useContext as BT}from"react";var In={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},gn={Events:["posts"],SubscribeBlogs:["posts"]};var OT=["anchor"],LT=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function Ga(e){return OT.includes(e)||LT.test(e)}var xi={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"}}};xi.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var Cz=Object.fromEntries(Object.entries(In).map(([e,o])=>[e,Object.keys(o)])),wz=Object.fromEntries(Object.entries(gn).map(([e,o])=>[e,[...o]]));import{NoControlMark as _T}from"efficient-easel/screen/lib/document/panel-no-control-mark";var lm=RT(!1);function sm({children:e}){return hi(lm.Provider,{value:!0,children:e})}function DT(){return BT(lm)}function im({name:e,children:o}){return!DT()||!e||!NT(e)||Ga(e)?hi(AT,{children:o}):hi(_T,{})}function NT(e){return/^[A-Za-z0-9_$]+$/u.test(e)}function Qo(e,o,t){return e.some(a=>(typeof a=="object"?a.value:a)===t)?t:o}var Ii="off",gi="none",yi=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],bi=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function Az(e){return Qo(yi,Ii,e)}function Rz(e){return Qo(bi,gi,e)}var fm="sf-card-index",Ua="sf-card-index",Bz="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",MT={plain:`counter(${Ua})`,padded:`counter(${Ua}, decimal-leading-zero)`,numero:`"N\xB0" counter(${Ua}, decimal-leading-zero)`};function _z(e,o){return o==="off"?"":`.${e}{counter-reset:${Ua}}.${e} .${fm}{counter-increment:${Ua}}.${e} .${fm}::before{content:${MT[o]}}`}function Dz(e){return e==="hairline"?"border border-line hover:border-accent":""}var cm=[{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 mO}from"efficient-easel/draw";import{jsx as vo}from"react/jsx-runtime";import{SettingsDefaultReset as zT,SettingsField as dm}from"efficient-easel/panel";import{useSelectedFields as HT}from"efficient-easel/easel";function Jo(){try{return HT()}catch{return null}}import{FOCAL_DEFAULT as GT}from"efficient-shell/format";import{ImageIcon as um,PlayIcon as pm}from"efficient-easel/icons";import{MediaUploadField as UT}from"efficient-shell/ui";import{useContext as $T}from"react";import{ScreenDocumentContext as qT}from"efficient-easel/screen/components/ScreenDocumentContext";import{phoneKey as jT}from"efficient-easel/draw";import{usePreviewDevice as KT}from"efficient-easel/draw/client";import{requestMediaPick as VT}from"efficient-easel/screen/lib/media-picker";import{useEaselHost as YT}from"efficient-easel/screen/lib/host";import{backendOf as WT}from"efficient-easel/screen/lib/session";var Ce=WT,yn=e=>e.blocks;import{useEaselSession as XT}from"efficient-easel/screen/lib/session-context";function ZT(e,o){let t=Jo(),a=KT()==="mobile";if(!e||!t||o&&!o(t.values??{}))return null;let r=typeof t.values?.[e]=="string"&&t.values[e]?String(t.values[e]):GT,n=jT(e),s=typeof t.values?.[n]=="string"&&t.values[n]?String(t.values[n]):void 0,i=t.onChange;return{phone:a,desktop:r,own:s,focus:a?s??r:r,set:f=>i(a?n:e,f),clear:()=>i(n,hn)}}function mm({value:e,onChange:o,label:t,accept:a,placeholder:r,focusKey:n,focusWhen:s,frameKey:i,fieldKey:f}){let d=YT(),p=XT(),x=l(t),m=a.startsWith("video"),h=ZT(m?void 0:n,s),b=$T(qT),S=bn(),T=i&&f?{video:f,frame:i}:null,F=P=>VT(d,{accept:a,title:x,...P?{file:P}:{}}).then(E=>!E||!T?E?.url??null:(S({[T.video]:E.url,[T.frame]:E.posterUrl??""}),null)),C=T?P=>P?o(P):S({[T.video]:"",[T.frame]:""}):o;if(b&&!b.capabilities.mediaEditing)return vo(dm,{label:x,icon:m?vo(pm,{}):vo(um,{}),children:vo("div",{className:"sf-image-slot-inert",children:m?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 g=Yo(e),I=h?.phone&&g?vo(zT,{words:X()?.panel,label:l("Image focus"),changed:!!h.own,detail:l("{value} on desktop",{value:h.desktop}),onReset:h.clear}):void 0;return vo(dm,{label:x,icon:m?vo(pm,{}):vo(um,{}),action:I,children:vo("div",{style:{flex:"1 1 auto",minWidth:0},children:vo(UT,{value:g,onChange:C,onPick:F,accept:m?"video/*":"image/*",kind:m?"video":"image",placeholder:r===void 0?void 0:l(r),maxSizeBytes:Ce(p).media.maxUploadBytes,...h?{focus:h.focus,onFocusChange:h.set}:{}})})})}import{jsx as xm}from"react/jsx-runtime";import{useId as QT}from"react";import{FieldSelect as JT}from"efficient-easel/fields";import{SettingsField as eP}from"efficient-easel/panel";function oP(e){return e.map(({value:o,label:t,note:a})=>({value:o,label:t,...a?{meta:a}:{}}))}function hm({label:e,options:o,value:t,onChange:a,emptyLabel:r,icon:n,hint:s}){let i=QT(),f=`${i}-label`,d=`${i}-button`,p=Array.isArray(t)?t:[];return xm(eP,{label:l(e),labelId:f,icon:n,hint:s,children:xm(JT,{id:d,multiple:!0,value:p,options:oP(o),onChange:a,placeholder:r===void 0?l("None"):l(r),ariaLabelledBy:`${f} ${d}`,inline:!0})})}import{jsx as be,jsxs as kt,Fragment as EP}from"react/jsx-runtime";import{useCallback as FP,useContext as OP,useEffect as LP,useId as Lm,useRef as Fm,useState as Om}from"react";import{ThemeIcon as AP}from"efficient-easel/icons";import{SettingsField as RP}from"efficient-easel/panel";import{ScreenDocumentContext as BP}from"efficient-easel/screen/components/ScreenDocumentContext";import{jsx as V,jsxs as et,Fragment as iP}from"react/jsx-runtime";import{Button as Ci,IconButton as fP,Tooltip as cP}from"efficient-shell/ui";import{jsx as wt,jsxs as Im}from"react/jsx-runtime";import{AccentIcon as tP}from"efficient-easel/icons";import{Tooltip as aP}from"efficient-shell/ui";function Si(e){return yo(e).background}function rP(e){let o=Ko(e.accent,Si(e));return o===null?null:{ratio:o,grade:Xt(o)}}function nP(e){let o=Si(e),t=Ko(e.accent,o);return t===null?[]:Pu(e.accent).filter(a=>{let r=Ko(a,o);return r!==null&&r>t&&Xt(r)==="good"})}var lP={good:"Easy to read","large-only":Yt["large-only"],hard:Yt.hard};function gm({value:e,onChange:o}){let t=rP(e),a=t?.grade,r=t&&t.grade!=="good"?nP(e):[];return wt(je,{label:l("Main color"),icon:wt(tP,{}),hint:t?l(lP[t.grade]):void 0,value:e.accent,onChange:n=>o({...e,accent:n}),children:r.length>0?wt("div",{className:"w-full min-w-0",children:Im("div",{className:"sf-readability",children:[wt("p",{className:"sf-readability-advice",children:sP(a,!0)}),wt("div",{className:"sf-readability-suggestions",children:r.map(n=>{let s=Ko(n,Si(e));return wt(aP,{content:l("Use {colour}",{colour:n.toUpperCase()}),children:Im("button",{type:"button",className:"sf-readability-suggestion",onClick:()=>o({...e,accent:n}),children:[wt("span",{className:"sf-readability-chip",style:{background:n},"aria-hidden":!0}),s?`${s.toFixed(1)}:1`:n.toUpperCase()]})},n)})})]})}):null})}function sP(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 dP,ChevronDownIcon as uP,ChevronUpIcon as pP,GroundIcon as mP,LayoutIcon as xP,SquareIcon as hP,TextSmallIcon as IP,TypeIcon as ym}from"efficient-easel/icons";var $a=e=>l("Theme {n}",{n:e+1});function bm({colors:e}){let o=yo(e),t=_a(e)??o.accent;return et("span",{className:"sf-theme-page",style:{background:o.background,color:o.text},"aria-hidden":!0,children:[V("span",{className:"sf-theme-eyebrow",style:{color:o.muted},children:l("label")}),et("span",{className:"sf-theme-headline",children:[l("Heading")," ",V("span",{style:{color:o.accent},children:l("accent")})]}),V("span",{className:"sf-theme-body",children:l("body text")}),et("span",{className:"sf-theme-row",children:[V("span",{className:"sf-theme-btn",style:{background:t,color:Rs(e,o.accent)},children:l("button")}),V("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:l("card")})]})]})}var wi={"Text color":V(ym,{}),"Label color":V(IP,{}),Background:V(mP,{}),"Panels & cards":V(xP,{}),Borders:V(hP,{}),"Button color":V(dP,{}),"Button text color":V(ym,{})};function gP({label:e,colorKey:o,value:t,onChange:a,idPrefix:r="sf-theme-ink"}){let n=`${r}-${o}`;return V(je,{label:l(e),icon:wi[e],id:n,value:t,onChange:s=>a(o,s)})}function yP({value:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button`,n=/^#[0-9a-fA-F]{6}$/.test(e??""),s=n?e:o;return V(je,{label:l("Button color"),icon:wi["Button color"],id:r,value:s,caption:n?s:l("Main"),onChange:t})}function bP({colors:e,accent:o,onChange:t,idPrefix:a="sf-theme-ink"}){let r=`${a}-button-ink`,n=Eu(e),s=Rs(e,o),i=_a(e)??o,f=Xt(Ko(s,i)??0);return V(je,{label:l("Button text color"),icon:wi["Button text color"],hint:n&&f!=="good"?l("{grade} on the button",{grade:l(Yt[f])}):void 0,id:r,value:s,caption:n?s:l("Auto"),onChange:t})}var SP=[{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 vi({colors:e,onChange:o,idPrefix:t}){let a=yo(e);return V(iP,{children:SP.map(r=>"colour"in r?V(gm,{value:e,onChange:o},"colour"):"moduleBreak"in r?V("div",{className:"sf-theme-module-break","aria-hidden":"true"},"module-break"):"button"in r?V(yP,{value:e.button,accent:a.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in r?V(bP,{colors:e,accent:a.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):V(gP,{label:r.label,colorKey:r.key,value:a[r.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},r.key))})}function Sn({index:e,colors:o,selected:t,role:a="radio",open:r,editable:n=!0,onPick:s,onEdit:i,onChangeColors:f}){let d=yo(o),p=$a(e),x=e<As.length&&!o.brandInk?As[e]:null,m=Xt(Ko(d.text,d.background)??0),h=x?JSON.stringify(o)!==JSON.stringify(x):!1,b=r!==void 0;return et("div",{className:`sf-theme-card${t?" is-selected":""}`,children:[V("button",{type:"button",role:a,"aria-checked":a==="radio"?t:void 0,"aria-selected":a==="option"?t:void 0,"aria-label":p,className:"sf-theme-pick",onClick:s,children:V(bm,{colors:o})}),et("div",{className:"sf-theme-foot",children:[V("span",{className:"sf-theme-name",children:p}),m!=="good"&&V("span",{className:"sf-theme-warn",children:l(Yt[m])}),n&&i&&b&&V("span",{className:"sf-theme-edit",children:V(cP,{content:r?l("Collapse"):l("Edit colors"),children:V(fP,{size:"sm","aria-expanded":r,"aria-controls":`sf-theme-colours-${e}`,"aria-label":r?l("Collapse {name}",{name:p}):l("Edit colors for {name}",{name:p}),onClick:i,children:r?V(pP,{size:14}):V(uP,{size:14})})})}),n&&i&&!b&&V(Ci,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":l("Edit {name}",{name:p}),onClick:i,children:l("Edit")})]}),r&&et("div",{id:`sf-theme-colours-${e}`,className:"sf-theme-colours",children:[V(vi,{colors:o,onChange:S=>f?.(S)}),x&&V(Ci,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!h,onClick:()=>f?.({...x}),children:h?l("Reset {name} to the preset",{name:p}):l("Not changed")})]})]})}function Sm({colors:e,name:o,nameId:t,open:a,menuId:r,labelId:n,buttonRef:s,onClick:i,onKeyDown:f,onEdit:d}){return et("div",{className:"sf-secttheme-btn",children:[V("button",{ref:s,type:"button",className:"sf-theme-pick","aria-expanded":a,"aria-controls":r,"aria-labelledby":`${n} ${t}`,onClick:i,onKeyDown:f,children:e?V(bm,{colors:e}):V("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),et("div",{className:"sf-theme-foot",children:[V("span",{id:t,className:"sf-theme-name",children:o}),d&&V(Ci,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":l("Edit {name}",{name:o}),onClick:d,children:l("Edit")}),V("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:i,children:V("span",{className:"sf-multi-caret",children:"\u25BE"})})]})]})}import{useCallback as Oi,useEffect as Tm,useRef as kn}from"react";import{currentEaselSession as vP}from"efficient-easel/screen/lib/session";import{useEaselSession as kP}from"efficient-easel/screen/lib/session-context";import{useSyncExternalStore as CP}from"react";var wm,ki=null,vt=null,Cn=0,Ti=new Set;function Pi(e){wm=e;for(let o of Ti)o()}function Ei(e){ki=e,Cn+=1,vt&&clearTimeout(vt),vt=null,Pi(void 0)}function vm(e){Cn+=1,Pi(e)}function wn(e=250){ki&&(vt&&clearTimeout(vt),vt=setTimeout(()=>{vt=null;let o=ki;if(!o)return;let t=++Cn;o().then(a=>{t===Cn&&Pi(a)}).catch(()=>{})},e))}function Cm(){return wm}function wP(e){return Ti.add(e),()=>{Ti.delete(e)}}function vn(){return CP(wP,Cm,Cm)}var Fi=new Set;function km(e){return Fi.add(e),()=>{Fi.delete(e)}}async function LG(){let e=(await Promise.allSettled([...Fi].map(async o=>o()))).find(o=>o.status==="rejected");if(e)throw e.reason}import{WebsiteBackendError as TP}from"efficient-easel/screen/lib/backend-error";function Pm(e=vP()){return(o,t,a)=>{let r=Ce(e).theme;return r?r.update(o,a?{siteId:a}:void 0):Promise.reject(new TP("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 PP(e,o=Pm()){let{themeFromDocument:t,token:a,siteId:r,patch:n}=e,s=Em({themeFromDocument:t,token:a});if(s)return s;if(Object.keys(n).length===0)return{status:"skipped",reason:"empty"};try{return await o(n,a,r??void 0),{status:"saved"}}catch(i){return{status:"failed",error:i}}}function Jt({themeFromDocument:e,tokenRef:o,siteId:t,onResult:a}){let r=kn(null),n=kn({}),s=kP(),i=kn(a);i.current=a;let f=kn(null),d=Oi(m=>{if(m.status==="skipped"){let h=`skipped:${m.reason}`;if(f.current===h)return;f.current=h}else f.current=null;i.current?.(m)},[]),p=Oi(async()=>{r.current&&(clearTimeout(r.current),r.current=null);let m=n.current;n.current={};let h=await PP({themeFromDocument:e,token:o?.current,siteId:t,patch:m},Pm(s));return d(h),h.status==="saved"&&wn(),h.status==="failed"&&(n.current={...m,...n.current}),h},[e,o,t,d,s]),x=Oi((m,h=!1)=>{let b=Em({themeFromDocument:e,token:o?.current});if(b){d(b);return}n.current={...n.current,...m},r.current&&clearTimeout(r.current),h?p():r.current=setTimeout(()=>{p()},500)},[e,o,p,d]);return Tm(()=>()=>{p()},[p]),Tm(()=>km(async()=>{if(!r.current&&Object.keys(n.current).length===0)return;let m=await p();if(m.status==="failed")throw m.error}),[p]),{persist:x,flush:p}}var _P="Follow the page",QG="Follow the slideshow",DP=e=>l("Editing {name} changes it everywhere.",{name:e});function NP({colors:e}){if(!e)return be("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=yo(e);return kt("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[be("i",{style:{background:o.background}}),be("i",{className:"sf-secttheme-chip-accent",style:{background:o.accent}})]})}function MP({themes:e,value:o,onPick:t,onEdit:a,menuId:r,followLabel:n}){return kt("div",{className:"sf-multi-menu sf-secttheme-menu",id:r,role:"listbox",children:[n!==void 0&&kt(EP,{children:[kt("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(dn),children:[be(NP,{}),be("span",{className:"sf-secttheme-name",children:l(n)})]}),be("div",{className:"sf-secttheme-sep",role:"presentation"})]}),o!==null&&e[o]&&be("p",{className:"sf-secttheme-oncard",role:"presentation",children:l("{name} is on this section",{name:$a(o)})}),e.map((s,i)=>i===o?null:be(Sn,{role:"option",index:i,colors:s,selected:!1,onPick:()=>t(i),onEdit:()=>a(i)},i))]})}function HP({index:e,colors:o,onChange:t,onDone:a}){let r=$a(e),n=Lm();return kt("div",{className:"sf-secttheme-sheet",children:[kt("div",{className:"sf-secttheme-sheet-head",children:[be("span",{children:r}),be("button",{type:"button",className:"sf-secttheme-done",onClick:a,children:l("Done")})]}),be("div",{className:"sf-secttheme-rows",children:be(vi,{colors:o,onChange:t,idPrefix:n})}),be("p",{className:"sf-secttheme-warn",children:DP(r)})]})}function Am({value:e,onChange:o,followLabel:t,hint:a}){let{theme:r,setTheme:n}=K(),s=ze(r),i=OP(BP),f=i?.tokenRef,d=i?.siteId??null,p=!i?.capabilities?.hasSiteTheme,{persist:x,flush:m}=Jt({themeFromDocument:p,tokenRef:f,siteId:d}),h=ze(s),b=h.themes,S=li(e),T=S!==null?b[S]:void 0,F=T??(b.length?Vo(h):void 0),[C,g]=Om(!1),[I,P]=Om(null),E=Fm(null),k=Fm(null),A=Lm(),B=FP(()=>{g(!1),P(null)},[]);LP(()=>{if(!C&&I===null)return;let O=N=>{E.current&&!E.current.contains(N.target)&&(m(),B())};return document.addEventListener("mousedown",O),()=>document.removeEventListener("mousedown",O)},[C,I,B,m]);let H=O=>{o(O),B()},v=O=>{if(I===null)return;let N=b.map((M,q)=>q===I?O:M),_={...h,themes:N};n(_),x({selected_preset:_.selected,theme_presets:_.themes})};return kt("div",{className:"sf-secttheme",ref:E,children:[be(RP,{label:l("Theme"),icon:be(AP,{}),labelId:`${A}-label`,hint:a,children:be(Sm,{colors:F,onEdit:S!==null?()=>{P(S),g(!1)}:void 0,name:T?$a(S):l(t??_P),nameId:`${A}-value`,labelId:`${A}-label`,open:C,menuId:A,buttonRef:k,onClick:()=>{P(null),g(O=>!O)},onKeyDown:O=>{O.key==="Escape"&&(C||I!==null)&&(O.preventDefault(),B())}})}),C&&I===null&&be("div",{onKeyDown:O=>{O.key==="Escape"&&(O.preventDefault(),B(),k.current?.focus())},children:be(MP,{themes:b,value:S,onPick:H,onEdit:O=>{P(O),g(!1)},menuId:A,followLabel:t})}),I!==null&&b[I]&&be(HP,{index:I,colors:b[I],onChange:v,onDone:()=>{m(),B(),k.current?.focus()}})]})}import{jsx as Rm}from"react/jsx-runtime";import{useId as WP}from"react";import{FieldSelect as zP}from"efficient-easel/fields";import{SettingsField as GP}from"efficient-easel/panel";function UP(e){return e.map(({value:o,label:t,group:a,thumb:r,meta:n})=>({value:o,label:t,...a!==void 0?{group:a}:{},...r!==void 0?{thumb:r}:{},...n!==void 0?{meta:n}:{}}))}function nU({label:e,options:o,fallback:t,value:a,onChange:r,placeholder:n,bare:s=!1,icon:i}){let f=WP(),d=`${f}-label`,p=`${f}-button`,x=a??"",m=o.some(T=>T.value===x)?x:t,h=l(e),b=n===void 0?void 0:l(n),S=Rm(zP,{id:p,value:m,options:UP(o),onChange:r,placeholder:b,searchPlaceholder:b,...s?{ariaLabel:h}:{ariaLabelledBy:`${d} ${p}`},searchable:!0,groupCount:!0,inline:!0});return s?S:Rm(GP,{label:h,labelId:d,icon:i,children:S})}import{jsx as Et,jsxs as S0}from"react/jsx-runtime";import{SettingsField as ax}from"efficient-easel/panel";import{LinkIcon as C0}from"efficient-easel/icons";import{LinkPicker as w0,TextLinkField as v0}from"efficient-shell/ui";import{useEffect as tx,useMemo as Fn,useRef as k0,useState as En}from"react";import{currentEaselSession as $P}from"efficient-easel/screen/lib/session";function Bm(){return $P().auth.token}import{currentEaselSession as T0}from"efficient-easel/screen/lib/session";import{useScreenDocument as P0}from"efficient-easel/screen/components/ScreenDocumentContext";var qP=()=>({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 _m(e,o,t){if(!e)return"page";if(kp(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(Ep(e))return"product";if(e.includes("#")){let a=e.slice(0,e.indexOf("#"));if(a===""||a==="/"||o.includes(a))return"anchor"}return e==="/"||o.includes(e)||t&&t.listingPaths.includes(t.targetOf(e))?"page":"custom"}function Li(e,o){let t=qP(),a=e.pages.map(p=>({value:Ha(p.slug),label:p.title})),r=o?.pageOptions?o.pageOptions(a):a,n=r.map(p=>p.value),s=e.pages.map(p=>({label:p.title,options:Pp(...p.docs).map(x=>({value:cn(p.slug,x.slug),label:x.name}))})).filter(p=>p.options.length>0),i=p=>{switch(p){case"page":return{type:"select",options:r,placeholder:t.choosePage};case"anchor":return{type:"groups",groups:s,placeholder:s.length?t.chooseSection:t.noSections};case"blog":return{type:"select",options:e.posts.map(x=>({value:Tp(x.slug),label:x.title||x.slug})),placeholder:t.choosePost};case"product":return{type:"select",options:e.products.map(x=>({value:x.href,label:x.name||x.href})),placeholder:t.chooseProduct};case"popup":return{type:"select",options:(e.popups??[]).map(x=>({value:vp(x.slug),label:x.title||x.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},f=wp(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=>_m(p,n),targetOf:p=>p,readFilter:()=>null,withFilter:p=>p}};let d=p=>{let x=o.withFilter(p,null);return o.listingPaths.includes(x)?x:p};return{kinds:f,rules:{kindOf:p=>_m(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 E0}from"efficient-easel/screen/lib/session-context";var ee=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0;function ke(e,o){if(typeof e=="string")return e||o;if(e&&typeof e=="object"&&"text"in e){let t=e.text;return ne(t)??o}return o}function Dm(e,o){return ee(e)??o}function Tt(e,o){return typeof e=="boolean"?e:o}function Tn(e,o){if(!Array.isArray(e))return o;let t=e.map(a=>typeof a=="string"?a:ke(a?.text,"")).map(a=>a.trim()).filter(Boolean);return t.length?t:o}var Nm="cart-drawer",IU="cart-drawer",jP={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 gU(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function yU(e){let o=e??{},t=jP;return{kickerBadge:ke(o.kickerBadge,t.kickerBadge),kickerText:ke(o.kickerText,t.kickerText),titleLead:ke(o.titleLead,t.titleLead),titleAccent:ke(o.titleAccent,t.titleAccent),subtitleEmpty:ke(o.subtitleEmpty,t.subtitleEmpty),subtitleOne:ke(o.subtitleOne,t.subtitleOne),subtitleMany:ke(o.subtitleMany,t.subtitleMany),leadTimeValue:ke(o.leadTimeValue,t.leadTimeValue),shipsToFallback:ke(o.shipsToFallback,t.shipsToFallback),promises:Tn(o.promises,t.promises),emptyKicker:ke(o.emptyKicker,t.emptyKicker),emptyBody:ke(o.emptyBody,t.emptyBody)}}var Hm=["delay","scroll","exit"],Wm=["all","chosen","except"],zm=["visit","days","never","once"],KP=["all","desktop","phone"],VP=["stop","continue"],Gm={min:0,max:60},Um={min:10,max:90},$m={min:1,max:90},eo={autoOpen:!1,trigger:"delay",autoOpenDelaySec:15,scrollPercent:50,showOn:"all",showOnPages:[],devices:"all",hideAfter:"days",hideDays:7,afterSubmit:"stop",startDate:null,endDate:null};function Je(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function ea(e,o,t){let a=Dm(e,t);return Math.min(o.max,Math.max(o.min,Math.round(a)))}function YP(e){return typeof e.hideAfter=="string"?Je(zm,e.hideAfter,eo.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":eo.hideAfter}function XP(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function Mm(e){if(typeof e!="string")return null;let o=e.trim();return/^\d{4}-\d{2}-\d{2}$/.test(o)?o:null}function qm(e){let o=e??{},t=eo;return{autoOpen:Tt(o.autoOpen,t.autoOpen),trigger:Je(Hm,o.trigger,t.trigger),autoOpenDelaySec:ea(o.autoOpenDelaySec,Gm,t.autoOpenDelaySec),scrollPercent:ea(o.scrollPercent,Um,t.scrollPercent),showOn:Je(Wm,o.showOn,t.showOn),showOnPages:XP(o.showOnPages),devices:Je(KP,o.devices,t.devices),hideAfter:YP(o),hideDays:ea(o.hideDays,$m,t.hideDays),afterSubmit:Je(VP,o.afterSubmit,t.afterSubmit),startDate:Mm(o.startDate),endDate:Mm(o.endDate)}}var Ai="popup",ZP=Xo,QP=["auto","full"],JP=["inside","outside","none"],e0={min:240,max:1440},o0={min:0,max:100},Ri={placement:"center",fullWidth:!1,width:720,height:"auto",tintColor:"#000000",tintOpacity:60,outsideClick:!0,closeButton:"inside"};function t0(e,o){return typeof e=="string"&&/^#[0-9a-fA-F]{6}$/.test(e.trim())?e.trim():o}function a0(e,o=Ri){let t=e??{},a=o;return{placement:Je(ZP,t.placement,a.placement),fullWidth:Tt(t.fullWidth,a.fullWidth),width:ea(t.width,e0,a.width),height:Je(QP,t.height,a.height),tintColor:t0(t.tintColor,a.tintColor),tintOpacity:ea(t.tintOpacity,o0,a.tintOpacity),outsideClick:Tt(t.outsideClick,a.outsideClick),closeButton:Je(JP,t.closeButton,a.closeButton)}}var Km="consent-banner",FU="consent-banner";var r0=[{value:"bar",label:"Bar"},{value:"card",label:"Card"}],OU="Layout",jm={layout:"bar"},n0=e=>r0.some(o=>o.value===e);function LU(e){let o=ke((e??{}).layout,jm.layout);return{layout:n0(o)?o:jm.layout}}var AU={...Ri,placement:"bottom-center",fullWidth:!0,width:440,tintOpacity:0,outsideClick:!1,closeButton:"none"};var l0="consentWords",s0=["eyebrow","notice","accept","reject","choose"];function Bi(e){let o=(e??{})[l0];return typeof o=="string"&&s0.includes(o)?o:null}function _i(e){let o=e?.props;return o?Bi(o)!==null?!0:Object.values(o).some(t=>Array.isArray(t)&&t.some(a=>a&&typeof a=="object"&&"props"in a&&_i(a))):!1}var i0=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],_U={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"},f0={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"},DU={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 c0(e){return typeof e=="string"&&Bo.includes(e)?e:null}function Vm(e){let o={};for(let t of i0){let a=c0(e[f0[t]]);a&&(o[t]=a)}return o}var Ym={heading:"Join our email list",placeholder:"Email address",buttonLabel:"Subscribe"},d0={lead:"We accept"},Xm={...d0,methods:[],size:"sm",align:"start",dataSource:"shop-payment-methods"},oa="site-footer";var MU=oa,HU={desktop:!0,tablet:!0,mobile:!0},WU={desktop:!1,tablet:!1,mobile:!1},Di=1,Zm=6,zU=Array.from({length:Zm-Di+1},(e,o)=>Di+o),Pn={desktop:6,tablet:3,mobile:2},u0={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}},Pt=e=>Math.min(Math.max(Math.round(e),Di),Zm);function GU(e){if(typeof e=="number")return u0[Pt(e)]??{desktop:Pt(e),tablet:Pt(e),mobile:Pt(e)};if(e&&typeof e=="object"){let o=e;return{desktop:Pt(o.desktop??Pn.desktop),tablet:Pt(o.tablet??Pn.tablet),mobile:Pt(o.mobile??Pn.mobile)}}return{...Pn}}var Ni="subscribe-popup",XU="subscribe-popup",p0=[Ni,oa,Nm,Km];function Jm(e){return p0.includes(e)}var m0=["right","left"],x0={metaLabel:"Meta label",issueLabel:"Label",issueNumber:"00",kicker:"Kicker",heading:`Main heading
3
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:eo.autoOpen,autoOpenDelaySec:eo.autoOpenDelaySec,formSlug:"",trigger:eo.trigger,scrollPercent:eo.scrollPercent,showOn:eo.showOn,showOnPages:[],hideAfter:eo.hideAfter,hideDays:eo.hideDays,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},me=ke,h0=Tt,ex=Tn;function Qm(e,o){if(e==null)return o;let t=a=>a.trim()?a:"";if(typeof e=="string")return t(e);if(typeof e=="object"&&"text"in e){let a=e.text;return typeof a=="string"?t(a):""}return o}function I0(e,o){return Array.isArray(e)?ex(e,[]):o}function g0(e,o){return Array.isArray(e)?e.map(t=>{let a=t??{};return{label:me(a.label,""),value:me(a.value,"")}}).filter(t=>t.label||t.value):o}function QU(e){let o=e??{},t=x0,a=qm(o);return{metaLabel:me(o.metaLabel,t.metaLabel),issueLabel:Qm(o.issueLabel,t.issueLabel),issueNumber:Qm(o.issueNumber,t.issueNumber),kicker:me(o.kicker,t.kicker),heading:me(o.heading,t.heading),deck:me(o.deck,t.deck),stats:g0(o.stats,t.stats),formLabel:me(o.formLabel,t.formLabel),formHeading:me(o.formHeading,t.formHeading),formIntro:me(o.formIntro,t.formIntro),firstNameLabel:me(o.firstNameLabel,t.firstNameLabel),firstNamePlaceholder:me(o.firstNamePlaceholder,t.firstNamePlaceholder),emailLabel:me(o.emailLabel,t.emailLabel),emailPlaceholder:me(o.emailPlaceholder,t.emailPlaceholder),interestsLabel:me(o.interestsLabel,t.interestsLabel),interests:ex(o.interests,t.interests),frequencyLabel:me(o.frequencyLabel,t.frequencyLabel),frequencies:I0(o.frequencies,t.frequencies),submitText:me(o.submitText,t.submitText),finePrint:me(o.finePrint,t.finePrint),dismissText:me(o.dismissText,t.dismissText),emailInvalidText:me(o.emailInvalidText,t.emailInvalidText),submitErrorText:me(o.submitErrorText,t.submitErrorText),successHeading:me(o.successHeading,t.successHeading),successBody:me(o.successBody,t.successBody),keepBrowsingText:me(o.keepBrowsingText,t.keepBrowsingText),formSlug:typeof o.formSlug=="string"?o.formSlug.trim():t.formSlug,autoOpen:a.autoOpen,autoOpenDelaySec:a.autoOpenDelaySec,trigger:a.trigger,scrollPercent:a.scrollPercent,showOn:a.showOn,showOnPages:a.showOnPages,hideAfter:a.hideAfter,hideDays:a.hideDays,formSide:Je(m0,o.formSide,t.formSide),valuePanelOnPhone:h0(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:Vm(o)}}function y0(e,o=Math.random){for(;;){let t=`popup-${Math.floor(o()*2176782336).toString(36).padStart(6,"0")}`;if(!e.has(t))return t}}function b0(e){return{root:{props:{title:e,kind:Ai}},content:[],zones:{}}}function ox(e,o,t){return{slug:y0(o,t),title:e,kind:"lightbox",layout:b0(e)}}function Mi(e){return e?.root?.props?.kind===Ai}function rx(e){let o=new Map;return(t="")=>{let a=Bm(),r=o.get(t);if(!r||r.token===null&&a!==null){let n=a||!T0().usesBridgedToken?e(a??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:a}),n}return r.promise}}var F0=rx(async(e,o)=>{let t=o?{siteId:o}:void 0,{pages:a}=Ce();return a.linkTargets?a.linkTargets(t):(await a.list(t)).map(r=>({id:r.id,slug:r.slug,label:r.label,layout:null}))}),O0=rx(async(e,o)=>await Ce().blog?.posts(o?{siteId:o}:void 0)??[]);function L0({value:e,onChange:o,label:t="Link",data:a,filters:r}){let n=Fn(()=>Li(a,r),[a,r]),s=l(t);return Et(ax,{label:s,icon:Et(C0,{}),children:Et(w0,{value:e,onChange:i=>o(i),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function nx(){let{siteId:e,capabilities:o}=P0(),{offersCommerce:t,hasBlog:a}=o,[r,n]=En([]),[s,i]=En([]),[f,d]=En([]),[p,x]=En(null),m=E0().chrome,h=m?.products?.list,b=m?.linkFilters,S=b?void 0:m?.linkRow,T=k0(!0);tx(()=>(T.current=!0,()=>{T.current=!1}),[]),tx(()=>{let g=!0;return F0(e??void 0).then(I=>g&&T.current&&n(I)),a&&O0(e??void 0).then(I=>g&&T.current&&i(I)),t&&h?.().then(I=>g&&T.current&&d(I)),t&&b?b.load(e).catch(()=>null).then(I=>g&&T.current&&x(()=>I)):x(null),()=>{g=!1}},[e,t,a,h,b]);let F=Fn(()=>({pages:r.filter(g=>!Jm(g.slug)&&!Mi(g.layout)).map(g=>({slug:g.slug,title:g.label,docs:[g.layout]})),popups:r.filter(g=>g.slug===Ni||Mi(g.layout)).map(g=>({slug:g.slug,title:g.label})),posts:a?s.map(g=>({slug:g.slug,title:g.title})):[],products:t?f.map(g=>({href:g.href,name:g.name})):[],offers:{offersCommerce:t,offersService:a}}),[r,s,f,t,a]),C=Fn(()=>p?p(F.pages):null,[p,F]);return{data:F,filters:C,pages:r,offersCommerce:t,HostLinkRow:S}}function I$({label:e,icon:o,text:t,onTextChange:a,link:r,onLinkChange:n}){let{data:s,filters:i}=nx(),f=Fn(()=>Li(s,i),[s,i]),d=l(e);return Et(ax,{label:d,icon:o,children:Et(v0,{label:d,text:t,onTextChange:a,link:r,onLinkChange:p=>n(p),kinds:f.kinds,rules:f.rules,filtersFor:f.filtersFor})})}function lx({value:e,onChange:o,label:t="Link"}){let a=typeof e=="string"?e:"",{data:r,filters:n,pages:s,offersCommerce:i,HostLinkRow:f}=nx(),d=r.pages.map(x=>Ha(x.slug)),p=i&&f&&(a==="/"||d.includes(a))?f:void 0;return S0("div",{children:[Et(L0,{value:a,onChange:o,label:t,data:r,filters:n}),p&&Et(p,{value:a,onChange:o,pages:s})]})}import{UiIcon as dh}from"efficient-easel/draw/client";import{phoneKey as H0,tabletKey as W0}from"efficient-easel/draw";import{AUTO_RULES as A0,FOLLOW_RULES as R0,VIEW_DESKTOP_MIN as B0,VIEW_TABLET_MIN as sx,isAuto as _0,resolveViewValue as D0}from"efficient-easel/draw";var N0="v1";function M0(){return N0==="v2"?A0:R0}var ix=.02,b$=`(min-width: ${sx}px) and (max-width: ${B0-ix}px)`,On=`(max-width: ${sx-ix}px)`;function fx(e,o,t,a,r=M0()){let n=D0(e,o,t,a,r),s={},i=(f,d)=>!_0(f)||d!=null&&d!==o;return i(t,n.tablet)&&(s.tablet=n.tablet),i(a,n.phone)&&(s.phone=n.phone),s}var oo={min:10,max:200,step:10};function z0(e,o){let t=ee(e),a=ee(o);if(!(t===void 0&&a===void 0))return{paddingTop:t,paddingBottom:a}}var G0="sf-pad-top-phone",U0="sf-pad-bottom-phone",$0="--sf-pad-t-phone",q0="--sf-pad-b-phone",j0="sf-pad-left-phone",K0="sf-pad-right-phone",V0="--sf-pad-l-phone",Y0="--sf-pad-r-phone",X0="sf-pad-top-tablet",Z0="sf-pad-bottom-tablet",Q0="sf-pad-left-tablet",J0="sf-pad-right-tablet",eE="--sf-pad-t-tablet",oE="--sf-pad-b-tablet",tE="--sf-pad-l-tablet",aE="--sf-pad-r-tablet";function dx(e){let o=z0(e.top,e.bottom),t=Hi({left:e.left,right:e.right},{top:e.topPhone,bottom:e.bottomPhone,left:e.leftPhone,right:e.rightPhone},{top:e.topTablet,bottom:e.bottomTablet,left:e.leftTablet,right:e.rightTablet},{top:e.top,bottom:e.bottom,left:e.left,right:e.right});return o===void 0&&!t.classes.length&&!Object.keys(t.style).length?null:{className:["sf-section-pad",...t.classes].join(" "),style:{...o,...t.style}}}var rE=[["top","paddingTop",[X0,eE],[G0,$0]],["bottom","paddingBottom",[Z0,oE],[U0,q0]],["left","paddingLeft",[Q0,tE],[j0,V0]],["right","paddingRight",[J0,aE],[K0,Y0]]];function Hi(e,o,t={},a=e){let r={},n={},s=[];for(let[i,f,...d]of rE){let p=ee(e[i]);p!==void 0&&(r[f]=p);let x=fx("spacing",ee(a[i]),ee(t[i]),ee(o[i]));for(let[m,[h,b]]of[["tablet",d[0]],["phone",d[1]]]){let S=x[m];typeof S=="number"&&(s.push(h),n[b]=`${S}px`)}}return{classes:s,style:{...r,...n}}}function cx(e,o,t){let a=ee(e)??t,r=ee(o);return a===void 0?r:r===void 0?a:a+r}function k$(e,o={}){return{top:cx(e.padTop,e.sectionPaddingTop,o.top),bottom:cx(e.padBottom,e.sectionPaddingBottom,o.bottom)}}var nE={top:"sectionPaddingTop",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft",right:"sectionPaddingRight"};function T$(e,o=nE,t=!0){let a={};for(let r of t?["top","bottom","left","right"]:["top","bottom"])a[r]=e[o[r]],a[`${r}Tablet`]=e[W0(o[r])],a[`${r}Phone`]=e[H0(o[r])];return a}function P$(e){return dx(e)}function E$(e,o){let t=a=>typeof a=="number"?a+o:void 0;return dx({...e,top:t(e.top),bottom:t(e.bottom),topTablet:t(e.topTablet),bottomTablet:t(e.bottomTablet),topPhone:t(e.topPhone),bottomPhone:t(e.bottomPhone)})}var ot={top:"buttonPaddingTop",right:"buttonPaddingRight",bottom:"buttonPaddingBottom",left:"buttonPaddingLeft"},lE="px-6 py-4",sE=4,Ln=e=>{let o=new RegExp(`\\bp${e}-(?:\\[(\\d+)px\\]|(\\d+))`).exec(lE);if(!o)throw new Error(`BUTTON_PAD_CLASSES has no p${e}`);return o[1]!==void 0?Number(o[1]):Number(o[2])*sE},R$={top:Ln("y"),right:Ln("x"),bottom:Ln("y"),left:Ln("x")},px="var(--btn)",iE=e=>e&&typeof e=="object"&&(ee(e.width)!==void 0||ne(e.color))?e:void 0,fE=e=>Math.round(Math.min(Math.max(e,0),100));function Wi(e){let o=e.variant==="ghost",t=ee(e.buttonFillOpacity),a=iE(e.buttonBorder),r=ne(e.buttonColor);return{fillOpacity:t!==void 0?fE(t):o?0:100,border:{width:ee(a?.width)??1,color:ne(a?.color)??r??(o?"currentColor":px)},changed:t!==void 0||a!==void 0}}function B$(e){let o=Wi(e);if(!o.changed)return null;let t=ne(e.buttonColor)??px;return{background:o.fillOpacity===0?"transparent":o.fillOpacity===100?t:`color-mix(in srgb, ${t} ${o.fillOpacity}%, transparent)`,borderWidth:o.border.width,borderStyle:"solid",borderColor:o.border.color}}function _$(e){let o={top:e[ot.top],right:e[ot.right],bottom:e[ot.bottom],left:e[ot.left]},t={top:e[`${ot.top}Phone`],right:e[`${ot.right}Phone`],bottom:e[`${ot.bottom}Phone`],left:e[`${ot.left}Phone`]},{classes:a,style:r}=Hi(o,t);return Object.keys(r).length?{className:a.join(" "),style:r}:null}var ux="upper";function mx(e,o,t){let a=e&&typeof e=="object"?e:{},r=ne(a.textStyle),n=r?ne(o?.find(p=>p?.id===r)?.name):void 0,s=r?/^(heading|body)-(\d+)$/.exec(r):null,i=r?n||(s?t.styleName({kind:s[1],n:Number(s[2])}):r):t.noStyle,{cases:f}=t,d=ne(a.case)??ux;return`${i} \xB7 ${f[d]??f[ux]}`}import{usePreviewParts as xO}from"efficient-easel/draw/client";import{encodePartId as hO}from"efficient-easel/draw";import{DEFAULT_EASEL_STRINGS as IO,useEaselStrings as gO}from"efficient-easel/strings";var cE=["auto","fixed","screen"],dE=["px","%"];var uE="var(--sf-header-h, 88px)",zi={min:40,max:2e3,step:10,fallback:600},Gi={min:10,max:200,step:5,fallback:100},pE="sf-section-minh",xx={base:"--sf-section-minh",small:"--sf-section-minh-s"},Ix=e=>typeof e=="string"&&cE.includes(e),mE=e=>typeof e=="string"&&dE.includes(e);function An(e){let o=Ix(e.sectionHeightMode)?e.sectionHeightMode:"auto",t=o==="screen"?"%":mE(e.sectionHeightUnit)?e.sectionHeightUnit:"px",a=o==="screen"?Gi.fallback:zi.fallback,r=typeof e.sectionHeightValue=="number"?e.sectionHeightValue:a;return{mode:o,value:r,unit:t}}function gx(e){let{mode:o,value:t,unit:a}=An(e);if(o==="auto")return;if(o==="fixed"&&a==="px")return[`${t}px`,null];let r=t/100,n=s=>o==="screen"?`(100${s} - ${uE})`:`100${s}`;return[`calc(${n("vh")} * ${r})`,`calc(${n("svh")} * ${r})`]}function xE(e){let o=gx(e);if(!o)return;let[t,a]=o;return{display:"grid",[xx.base]:t,...a?{[xx.small]:a}:{}}}var N$=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),ta="Height",hE="sf-section-minh-phone",hx={base:"--sf-section-minh-p",small:"--sf-section-minh-ps"};function Ui(e){return Ix(e.sectionHeightModePhone)}function M$(e){return An({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone})}function IE(e){let o=xE(e),t=Ui(e)?gx({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone}):void 0;if(!o&&!t)return null;let a=[pE],r={...o??{}};return t&&(a.push(hE),r[hx.base]=t[0],t[1]&&(r[hx.small]=t[1])),{className:a.join(" "),style:r}}function H$(e){return IE(e)!==null}var Rn="Stick to top",tt={min:0,max:200,step:4,fallback:0},gE="sf-section-stick",yE="sf-section-stick-phone-on",bE="sf-section-stick-phone-off",yx={desktop:"--sf-stick-distance",phone:"--sf-stick-distance-phone"},G$=new Set(["CategoryBar","DocTabs","IntroBleed"]);function bx(e){let o=ee(e)??tt.fallback;return Math.min(tt.max,Math.max(tt.min,Math.round(o)))}function $i(e){return typeof e.stickTopPhone=="boolean"}function qi(e){let o=e.stickTop===!0,t=bx(e.stickTopDistance),a=$i(e),r=a?e.stickTopPhone===!0:o,n=a?bx(e.stickTopDistancePhone):t;return{desktop:o,desktopDistance:t,phone:r,phoneDistance:n,ownPhone:a}}function U$(e){let o=qi(e);if(!o.desktop&&!o.phone)return null;let t=[gE],a={};return o.desktop&&(a[yx.desktop]=`${o.desktopDistance}px`),(o.ownPhone||o.phone!==o.desktop)&&(t.push(o.phone?yE:bE),o.phone&&(a[yx.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:a}}var SE=["column","row","tabs"],Sx="Direction",CE={column:"Stacked",row:"One row",tabs:"Tabs"},Cx={Flex:SE,HeroGroup:["column","row"]},wE={Flex:"row",HeroGroup:"column"},vE={column:"flex-col",row:"flex-row",tabs:"flex-col"};function Bn(e,o){return Cx[e].includes(o)?o:wE[e]}function q$(e,o){return vE[Bn(e,o)]}function wx(e){return Cx[e].map(o=>({label:CE[o],value:o}))}var ji=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Space between",value:"between"},{label:"End",value:"end"}],Tx=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"End",value:"end"},{label:"Stretch",value:"stretch"}],Ki={sectionPaddingTop:0,sectionPaddingBottom:0},Px="Wrap",Vi=[{label:"Wrap",value:"wrap"},{label:"No wrap",value:"nowrap"}],vx={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},kx={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function K$(e,o){let t=typeof e=="string"&&e in vx?vx[e]:"",a=typeof o=="string"&&o in kx?kx[o]:"";return[t,a].filter(Boolean).join(" ")}function V$(e){return e===!0||e==="wrap"?"flex-wrap":""}var Yi="Block widths",_n=[{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]}],qa="[&>*]:min-w-0 [&>*]:flex-1 [&>*]:basis-0",kE={equal:qa,bigLeft:`${qa} [&>*:first-child]:min-[800px]:grow-[2]`,bigRight:`${qa} [&>*:last-child]:min-[800px]:grow-[2]`,biggerLeft:`${qa} [&>*:first-child]:min-[800px]:grow-[3]`,biggerRight:`${qa} [&>*:last-child]:min-[800px]:grow-[3]`};function TE(e){return typeof e=="string"?kE[e]??"":""}var PE="[&>*]:min-[800px]:basis-[content]";function Y$(e){return TE(e)===""?PE:""}var Ex="Columns",Xi=1,Fx=3,EE={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 X$(e){let o=Number(e);return EE[o]??"max-[800px]:flex-col"}var Ox="Block spacing",Zi=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],FE="sf-box-gap-only";function Z$(e){return e==="gap"?FE:""}var OE=["solid","dashed","dotted"],LE=["top","right","bottom","left"],J$="sf-section-border",e7="sf-section-border-self",AE=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,Lx=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function Ax(e,{phone:o=!1}={}){if(!e||typeof e!="object")return;let t=o?"-phone":"",a={};for(let r of LE){let n=Lx(e[r])??Lx(e.width);n!==void 0&&(a[`--sf-border-${r}-width${t}`]=n)}return typeof e.style=="string"&&OE.includes(e.style)&&(a[`--sf-border-style${t}`]=e.style),typeof e.color=="string"&&AE.test(e.color)&&(a[`--sf-border-color${t}`]=e.color.toLowerCase()),Object.keys(a).length?a:void 0}function o7(e,o){let t=Ax(e),a=Ax(o,{phone:!0});return t||a?{...t,...a}:void 0}var _x="sf.gapContainer",at={min:-32,max:64,step:2},Dx={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},aa={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},RE=new Set(["Events","GalleryB"]);function ja(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=at.min)return o;if(typeof o=="string"){let a=Dx[e]?.[o];if(typeof a=="number")return a}return typeof t=="number"&&Number.isFinite(t)?t:aa[e]}var BE="sf-gap-overlap",_E="--sf-gap-overlap",Nx="--sf-block-gap",DE="--sf-block-gap-rem",Ft={min:0,max:at.max,step:at.step};function NE(e){if(typeof e!="number"||!Number.isFinite(e))return null;let o=Math.min(Math.max(Math.round(e),Ft.min),Ft.max);return o-o%Ft.step}function a7(e){let o=NE(e);return o===null?{}:{[Nx]:`${o}px`,[DE]:`${o/16}rem`}}var Rx="sf-gap-zone",Bx="--sf-gap-len";function Qi(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=at.min?!0:typeof o=="string"&&typeof Dx[e]?.[o]=="number"}var ME={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function r7(e,o,t){if(!Qi(e,o)){let r=`${aa[e]}px`,n=RE.has(e)?`var(--sf-card-gap, ${r})`:r;return{className:` ${Rx}`,style:{[Bx]:`var(${Nx}, ${n})`}}}let a=ja(e,o);return a>=0?{className:` ${Rx}`,style:{[Bx]:`${a}px`}}:{className:` ${BE} ${ME[t]}`,style:{gap:"0px",[_E]:`${-a/2}px`}}}var Mx=["transparent","var(--section-bg)","var(--surface)","var(--surface-2)"],Hx={transparent:"No fill","var(--section-bg)":"Section band","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},Dn="var(--section-bg)",Nn="inherit";function l7(e,o){return e===Nn?Dn:e===void 0?o:Mn(e)}var HE=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function Mn(e){return e.replace(HE,"var(--site-$1")}function Wx(e,o){return e===Nn?!0:e===void 0&&o===Dn}var zx=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],Gx={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},ra="var(--wheel-stage)",Hn="transparent",Ka="inherit";function f7(e,o){return Mn(Ji(e,o))}function Ji(e,o){return e===Ka?ra:e==null?o:e===!0?ra:e===!1?Hn:e}function c7(e){return typeof e=="string"&&e!==Ka?Mn(e):ra}function d7(e){return e!==Hn&&e!=="none"&&e!==""}function Ux(e,o){return e===Ka||e===!0?!0:e==null?o===ra:!1}var $x="inherit",Wn="fixed",qx=e=>typeof e!="number"&&e!==Wn,WE="var(--sf-heading-max, 9999px)";function p7(e,o,t,a){if(typeof e=="number")return`${e}px`;if(e===Wn)return o;let r=a?`var(--size-${a}, ${o})`:o;return t==="heading"?`min(${r}, ${WE})`:r}var xe={min:1e3,max:2e3,step:50,default:1600};function zE(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}var jx="--sf-site-width",ef=`var(${jx},${xe.default}px)`,x7=`max-w-[${ef}]`,h7=`max-w-[${xe.default}px]`;function GE(e){return typeof e!="number"||!Number.isFinite(e)?xe.default:Math.round(Math.min(Math.max(e,xe.min),xe.max))}function I7(e){let o=GE(e);return o===xe.default?{}:{[jx]:`${o}px`}}var ko={min:0,max:80,step:4,default:40},Kx="--sf-site-gutter",to=`var(${Kx},${ko.default}px)`,UE=`px-[${to}]`;var rt={md:`min(24px,${to})`,sm:`min(20px,${to})`,frame:`min(24px,${to})`,tabs:`min(16px,${to})`},g7=[[`max-[1100px]:px-[${rt.md}]`,"max-[1100px]:px-6"],[`max-[1100px]:px-[${rt.tabs}]`,"max-[1100px]:px-4"],[`max-[960px]:px-[${rt.frame}]`,"max-[960px]:px-6"],[`max-[900px]:px-[${rt.md}]`,"max-[900px]:px-6"],[`max-[800px]:px-[${rt.md}]`,"max-[800px]:px-6"],[`max-[720px]:px-[${rt.sm}]`,"max-[720px]:px-5"],[`max-[800px]:px-[${rt.sm}]`,"max-[800px]:px-5"],[`max-[640px]:px-[${rt.sm}]`,"max-[640px]:px-5"],[`min-[800px]:px-[${to}]`,"min-[800px]:px-10"],[`max-[720px]:px-[min(24px,${to})]`,"max-[720px]:px-6"],[`max-[800px]:-mx-[min(20px,${to})]`,"max-[800px]:-mx-5"],[`max-[720px]:-mx-[min(20px,${to})]`,"max-[720px]:-mx-5"],[`-mx-[${to}]`,"-mx-10"],[UE,"px-10"]];var y7="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))]",b7="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 $E(e){return typeof e!="number"||!Number.isFinite(e)?ko.default:Math.round(Math.min(Math.max(e,ko.min),ko.max))}function S7(e){let o=$E(e);return o===ko.default?{}:{[Kx]:`${o}px`}}var Vx=ef,C7=`max-w-[${Vx}]`,w7=`max-w-[min(var(--sf-page-cap,${xe.default}px),${xe.default}px)]`,Yx="--sf-hero-cap",qE=`var(${Yx},none)`,v7=`max-w-[${qE}]`,jE="--sf-hero-bleed-m",KE="--sf-hero-bleed-w",VE="--sf-hero-chrome-x",YE="--sf-hero-chrome-cap";function k7(e){return e===!0?{[Yx]:Vx,[jE]:"auto",[KE]:"100%",[VE]:"24px",[YE]:"none"}:{}}var of=`calc(${ef} - ${to}*2)`,T7=`max-w-[${of.replace(/ /g,"_")}]`;var XE="--sf-chrome-cap",ZE=`var(${XE},${of})`,P7="data-page-width";function E7(e){return e==="full"?"full":null}function F7(e){return e==="full"?null:zE(e==="content"?of:ZE)}function O7(e){if(e==="full")return"full";if(e==="content")return"content"}var QE=["contained","page","full"],Xx=["full","page"],Ho={full:"Full width",page:"Content width"},rf="inherit",JE=e=>typeof e=="string"&&QE.includes(e),nf=e=>e===rf;function Mo(e,o){let t=typeof e.pageWidth=="number"?e.pageWidth:xe.default;return nf(e.widthMode)?{mode:"full",pageWidth:t,inherited:!0}:e.widthMode==="contained"?{mode:"page",pageWidth:t,inherited:!1}:JE(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 lf(e){return Mo(e,"page").mode==="full"}var Va="site",Zx={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 eF(e){return Object.prototype.hasOwnProperty.call(Zx,e)}var tf=e=>e==="full"||e==="content",Qx=e=>typeof e=="number"&&Number.isFinite(e)&&e>0,af=({widthMode:e,fullWidth:o,pageWidth:t})=>({widthMode:e,fullWidth:o,pageWidth:t}),oF=["widthMode","contained","fullWidth","pageWidth"];function tF(e,o){if(e==="scrollOver")return o.fullWidth!==void 0&&o.fullWidth!==null;if(nf(o.widthMode))return!1;let t=e==="contentColumn"||e==="contentFull"?af(o):o;return oF.some(a=>t[a]!==void 0&&t[a]!==null)}function aF(e,o){let t={background:null,content:null,contentMax:null};if(!tF(e,o))return t;switch(e){case"hero":return nf(o.widthMode)||o.widthMode!=="full"?t:{...t,background:"full"};case"scrollOver":return o.fullWidth===!1?t:{...t,content:"full"};case"background":return Mo(o,"full").mode==="full"?t:{...t,background:"content"};case"both":return Mo(o,"full").mode==="full"?{...t,content:"full"}:{...t,background:"content"};case"contained":return Mo(o,"page").mode==="full"?{...t,content:"full"}:{...t,background:"content"};case"contentColumn":return Mo(af(o),"page").mode==="full"?{...t,content:"full"}:t;case"contentFull":return Mo(af(o),"full").mode==="full"?{...t,content:"full"}:t;case"productGrid":return Mo(o,"full").mode==="full"?{...t,content:"full"}:{background:"content",content:"content",contentMax:Qx(o.pageWidth)?o.pageWidth:null};case"capped":return t}}function sf(e,o){if(!eF(e))return{background:null,content:null,contentMax:null};let t=Zx[e],a=o,r=aF(t,a),n=a.backgroundWidth===Va?null:tf(a.backgroundWidth)?a.backgroundWidth:r.background;return a.contentWidth===Va?{background:n,content:null,contentMax:null}:tf(a.contentWidth)?{background:n,content:a.contentWidth,contentMax:a.contentWidth==="content"&&Qx(a.contentMax)?a.contentMax:null}:{background:n,content:r.content,contentMax:r.contentMax}}var Jx="siteWidths";function zn(e){return tf(e)?e:null}function eh(e,o){return{[Jx]:{background:zn(e),content:zn(o)}}}function R7(e){let o=e.editor?.metadata?.[Jx];return{background:zn(o?.background),content:zn(o?.content)}}import{jsx as rF}from"react/jsx-runtime";import{createContext as nF,useContext as lF}from"react";var sF=2,iF=sF+1,oh=nF(2);function th({tier:e,children:o}){return rF(oh.Provider,{value:e,children:o})}function ah(e){let o=lF(oh);return iF+Math.max(0,e-o)}import{withStyleKind as yO}from"efficient-easel/style-clipboard";import{useEaselSession as bO}from"efficient-easel/screen/lib/session-context";var ff=e=>!!e&&typeof e=="object"&&typeof e.type=="string"&&!!e.props&&typeof e.props=="object";function cf(e,o){let t=e.components[o]?.label;return typeof t=="string"&&t.trim()?t.trim():o}function fF(e){return e.length>3&&e.endsWith("s")?e.slice(0,-1):e}function df(e,o,t,a){e.forEach((r,n)=>{if(ff(r)){a.push({node:r,list:e,index:n,parent:o,slot:t});for(let[s,i]of Object.entries(r.props))Array.isArray(i)&&i.some(ff)&&df(i,r,s,a)}})}function cF(e){let o=[];df(Array.isArray(e.content)?e.content:[],null,"",o);for(let t of Object.values(e.zones??{}))Array.isArray(t)&&df(t,null,"",o);return o}function nh(e,o){return cF(e).find(t=>String(t.node.props.id)===o)}function lh(e,o,t){if(!t)return null;let a=nh(o,t);if(!a)return null;let r=cf(e,a.node.type),n=a.parent?`${cf(e,a.parent.type)} \xB7 ${fF(a.slot)} ${a.index+1}`:r;return{blockId:t,type:a.node.type,label:n,path:""}}var sh="sfDescribedAs";function Wo(e,o){return{...e,[sh]:o}}var dF=e=>e.filter(o=>!!o&&typeof o=="object"&&"value"in o).map(o=>typeof o.label=="string"?{value:o.value,label:o.label}:{value:o.value});function uF(e){if(!e||typeof e!="object")return null;let o=e;if(typeof o.type!="string")return null;let t=o.type==="custom"?o[sh]:void 0,a={type:t?.type??o.type},r=t?.label??o.label;typeof r=="string"&&(a.label=r);let n=t?.options??o.options;Array.isArray(n)&&(a.options=dF(n));for(let s of["arrayFields","objectFields"]){let i=t?.[s]??o[s];i&&typeof i=="object"&&(a[s]=ih(i))}return a}function ih(e){let o={};for(let[t,a]of Object.entries(e??{})){let r=uF(a);r&&(o[t]=r)}return o}function fh(e){let o={};for(let[t,a]of Object.entries(e.components))a&&(o[t]={label:cf(e,t),fields:ih(a.fields)});return o}function pF(e,o){let t=e;for(let a of o?o.split("."):[]){let r=/^([A-Za-z_][A-Za-z0-9_]*)(?:\[(\d+)\])?$/.exec(a);if(!r||!t||typeof t!="object")return null;t=t[r[1]],r[2]!==void 0&&(t=Array.isArray(t)?t[Number(r[2])]:void 0)}return t&&typeof t=="object"&&!Array.isArray(t)?t:null}function uf(e,o){return e.findIndex(t=>ff(t)&&String(t.props.id)===o)}function rh(e,o,t){let a=o||t;if(!a)return e.length;let r=uf(e,a);if(r<0)throw new Error(`there is no top-level block ${a}`);return o?r+1:r}function ch(e,o,t,a){let r=structuredClone(o),n=Array.isArray(r.content)?r.content:r.content=[];try{t.forEach((s,i)=>{let f=d=>{throw new Error(`change ${i+1}: ${d}`)};switch(s.op){case"set_props":{let d=nh(r,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=pF(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:{},x={type:s.type,props:{...structuredClone(p),...structuredClone(s.props),id:a(s.type)}};n.splice(rh(n,s.after,s.before),0,x);break}case"remove_block":{let d=uf(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=uf(n,s.block_id);d<0&&f(`there is no top-level block ${s.block_id}`);let[p]=n.splice(d,1);n.splice(rh(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:r}}import{TEXT_CONTROL_KINDS as uq,SCALAR_TEXT_CONTROLS as pq}from"efficient-easel/draw";function st(e){for(let[o,t]of Object.entries(e))t&&typeof t=="object"&&!To(t)&&yO(t,`section:${o}`);return e}function Rh(){return null}function gf(e){if(!e.trim())throw new Error("noGlyph() needs a reason naming the ruling that decided it.");return y(Rh,{},e)}function SO(e){return e.type===Rh}function no(e){return SO(e)?void 0:e}function Lt(e,o){return l("{value} from {from}",{value:e,from:o})}function CO(){let{appState:e}=Za(r=>r),o=e.data.root?.props??{},{mode:t,pageWidth:a}=Mo(o,"full");return t==="page"?Lt(`${a}px`,l("the page")):t==="contained"?Lt(l("Contained"),l("the page")):Lt(l("Full"),l("the page"))}function wO(){let{blockGap:e}=K();return e===null?l("this container's own spacing"):Lt(`${e}px`,l("Styles"))}function vO({inherited:e,onReset:o,label:t}){return y(Re,{words:X()?.panel,label:l(t),changed:!e,detail:wO(),onReset:o})}function kO({inherited:e,onReset:o,label:t}){return y(Re,{words:X()?.panel,label:l(t),changed:!e,detail:CO(),onReset:o})}function At({value:e,onChange:o,label:t,placeholder:a,hint:r,multiline:n,hideable:s=!0,markup:i=!0}){let{text:f,hidden:d}=lt(e),p=xf(null),x=xf(null),m=C=>o(s?{text:C,hidden:d}:C),h=()=>o({text:f,hidden:!d}),b=s&&d,S=xF(),T=r?OO(r)?y("span",{className:"sf-hint-keep sf-hint-while-typing",children:l(r)}):y(Sp,{children:l(r)}):void 0,F=d?l("Show {label} on the slide",{label:l(t)}):l("Hide {label} on the slide",{label:l(t)});return y(se,{label:l(t),icon:y(KF,{}),htmlFor:S,className:b?"is-hidden":void 0,hint:T,action:s?y(Ah,{content:F,children:y("button",{type:"button",className:"sf-field-eye","aria-pressed":d,"aria-label":F,onClick:h,children:d?y(dh,{name:"eye-off",size:14}):y(dh,{name:"eye",size:14})})}):void 0,children:zo("div",{className:"sf-copybox",children:[i&&y(pi,{target:n?x:p,value:f,onChange:m}),n?y("textarea",{id:S,ref:x,value:f,placeholder:a===void 0?void 0:l(a),onChange:C=>m(C.target.value)}):y("input",{id:S,ref:p,type:"text",value:f,placeholder:a===void 0?void 0:l(a),onChange:C=>m(C.target.value)})]})})}function sq(e,o){return{...e,[yF]:o}}function iq(e){let o=e[Go];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[Go]:{...o,offPage:!0}}}function $n(e){return!e||typeof e!="object"?!1:e[Go]?.offPage===!0}var Bh="sfPanelOnly";function fq(e){if(!e[Go])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[Bh]:!0}}function _h(e){return!!e&&typeof e=="object"&&e[Bh]===!0}function cq(e){let o=e[Go];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[Go]:{...o,identifier:!0}}}function mq(e,o){if(!e[Go])throw new Error("inOwnBox: the field holds no authored text");let{[pO]:t,...a}=e;return{...a,[mi]:!0,render:o}}var TO=new Set(mO),hf={type:"radio",options:[{value:!0},{value:!1}]},Dh={text:{type:"object",objectFields:{text:{type:"text"},hidden:hf}},textarea:{type:"object",objectFields:{text:{type:"textarea"},hidden:hf}},plainText:{type:"text"},copyText:{type:"text"},plainTextarea:{type:"textarea"},textList:{type:"array",arrayFields:{text:{type:"text"}}}},Rt=(e,o)=>{let t=Wo({...o,[Go]:e},{...Dh[e.control],label:e.label});if(!TO.has(e.control))return t;let a=o.render;return{...Qa(t,"authored-copy"),render:r=>y(im,{name:r.name,children:a(r)})}},xq="Everything else on this block comes from the linked post. Unlink it to edit by hand.",PO={field:"source.slug",set:!0},hq={not:PO},EO="Select a word, then press the highlighter.",FO=new Set([EO]),OO=e=>FO.has(e);function Iq(e,o,t){return Rt({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>y(At,{value:a,onChange:r,label:e,placeholder:o,hint:t})})}function gq(e,o,t){return Rt({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>y(At,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0})})}function yq(e,o,t){return Rt({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>y(At,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function bq(e,o,t){return Rt({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>y(At,{value:a,onChange:r,label:e,placeholder:o,hint:t,hideable:!1})})}function Sq(e){return{type:"custom",[IF]:{label:e},...Wo({},{type:"text",label:e}),render:({value:o,onChange:t})=>y(lx,{value:hF(o),onChange:t,label:e})}}function Cq(e,o,t){return Rt({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:a,onChange:r})=>y(At,{value:a,onChange:r,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var Nh={Design:bF,Animation:yh};function Mh(e,o){return e.includes("Design")?o!=="Design":null}function Hh(e,o){return{type:"custom",[If]:{label:e,level:o},marker:!0,fold:e,render:()=>y(ro,{})}}function Te(e){return Hh(e,2)}function wq(e){return{type:"custom",render:()=>y(LO,{text:e})}}function LO({text:e}){return y("p",{className:"sf-note",children:l(e)})}function vq(e){return Hh(e,1)}function kq(e){return To(e)!==null&&e?.tabs!==void 0}var uh=new Map;function qn(e,o){let t=`${e}\0${o?o.join(""):""}`,a=uh.get(t)??{type:"custom",tabs:o,[If]:{label:e,level:1},bucket:e,marker:!0,render:()=>y(ro,{})};return uh.set(t,a),a}var ph=new Map;function yf(e){let o=ph.get(e)??{type:"custom",[If]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>y(ro,{})};return ph.set(e,o),o}function AO(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function Wh(e,o){return AO(e)===o?e:{...e,marker:!0,fold:o,render:()=>y(ro,{})}}function zh(e){let o=e;if(o.marker===!0&&o.fold===void 0)return e;let{fold:t,...a}=e;return{...a,marker:!0,render:()=>y(ro,{})}}function bf({title:e,children:o}){let[t,a]=Xa(()=>!mf.has(e));return y(ZF,{title:e,open:t,onToggle:r=>{a(r),r?mf.delete(e):mf.add(e)},children:o})}var mf=new Set;function Tq({label:e}){return y(QF,{title:l(e),level:ah(2)})}function Gh({swatches:e,current:o,onPick:t,names:a}){let r=e.find(i=>i.toLowerCase()===o.toLowerCase()),n=r?a?.[r]:void 0,s=n?l(n):o;return zo("div",{className:"sf-swatches",children:[e.map(i=>{let f=a?.[i]?l(a[i]):i;return y(Ah,{content:f,children:y("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)}),y("span",{className:"sf-swatch-hex",children:s})]})}function Pq(e,o){return{type:"custom",render:({value:t,onChange:a})=>{let r=Wx(t,o);return y(se,{label:l(e),icon:y(vF,{}),changed:!r,action:y(Re,{words:X()?.panel,label:l(e),changed:!r,detail:l("the theme's section background"),onReset:()=>a(Nn)}),children:Gh({swatches:Mx,current:r?Dn:t??o??"",onPick:a,names:Hx})})}}}function RO(e,o){return{type:"custom",render:({value:t,onChange:a})=>{let r=t,n=Ux(r,o);return y(se,{label:l(e),icon:y(DF,{}),changed:!n,action:y(Re,{words:X()?.panel,label:l(e),changed:!n,detail:l("the theme's image stage"),onReset:()=>a(Ka)}),children:Gh({swatches:zx,current:n?ra:Ji(r,o),onPick:a,names:Gx})})}}}function jn(e=t=>t,o){return st({_gSectionTheme:Te(_p),sectionAccent:{type:"custom",render:({value:t,onChange:a})=>y(Am,{value:e(t),onChange:a,followLabel:o})}})}function De({min:e,max:o,step:t,value:a,onChange:r,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 y("div",{className:p?"sf-slider has-notch":"sf-slider",style:p?{"--sf-notch":(i-e)/(o-e)}:void 0,children:y(uO,{min:e,max:o,step:t,value:a,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:x=>{x!==null&&x!==a&&r(x)}})})}function la(e,o,t,a,r,n,s="",i){return{type:"custom",...Wo({},{type:"number",label:e}),render:f=>y(se,{label:l(e),icon:no(o),action:i?i("storedValue"in f?f.storedValue:f.value,f.onChange):void 0,children:De({min:t,max:a,step:r,value:typeof f.value=="number"?f.value:n,suffix:s,ariaLabel:e,onChange:f.onChange})})}}function Uh(e,o){let{min:t,max:a,step:r=1,unsetLabel:n,hint:s,restTrack:i,unsetMark:f,icon:d}=o;return{type:"custom",render:({value:p,onChange:x})=>{let m=typeof p=="number"?p:null,h=m===null;return y(se,{label:l(e),icon:d?no(d):void 0,value:h?f||n===void 0?void 0:l(n):`${m}px`,changed:!h,action:f?gh(f,{changed:!h,onReset:()=>x(null)}):y(Re,{words:X()?.panel,label:l(e),changed:!h,onReset:()=>x(null)}),hint:typeof s=="string"?l(s):s,children:i?i({min:t,max:a,step:r,px:m,label:e,onChange:x}):De({min:t,max:a,step:r,value:m??t,readout:!1,ariaLabel:e,onChange:x})})}}}function Eq(e){let o=la("Gap",y(Ch,{}),at.min,at.max,at.step,aa[e],"px",(t,a)=>y(vO,{inherited:!Qi(e,t),onReset:()=>a(void 0),label:"Gap"}));return{type:"custom",[_x]:e,render:t=>o.render({...t,value:ja(e,t.value,t.field?.siteGap),storedValue:t.value,onChange:a=>t.onChange(a)})}}var Kn="Corners";function Sf(e){return{type:"custom",render:({value:o,onChange:t})=>{let a=typeof o=="number"&&Number.isFinite(o)?o:null,r=a!==null;return y(se,{label:l(Kn),icon:y(EF,{}),changed:r,action:gh(e.mark,{changed:r,onReset:()=>t(null)}),hint:e.hint,children:y(BO,{tier:e,px:a,onRadius:t})})}}}function nt(e){let o=Jo();return[o?.values?.[e],t=>o?.onChange(e,t)]}function bn(){let e=Jo();return o=>e?.onChangeMany(o)}function BO({tier:e,px:o,onRadius:t}){let a=e.useFollowed(),r=e.useClosedReason?e.useClosedReason():null,[n,s]=nt(e.sidesKey),i=_o(n)??[...gt];return y(fO,{label:l(Kn),value:i,corners:op,onChange:f=>{let d=_o(f)??[];s(d.length===gt.length?null:d)},radius:o,onRadiusChange:t,radiusMin:qe,radiusMax:ht,radiusStep:e.step??1,radiusPlaceholder:String(a),disabled:r!==null,disabledReason:r??void 0})}function $h(){return Qa({type:"custom",render:()=>y(Un,{})},"always")}function _O({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:a}=K(),r=typeof a=="number"?`${a}px`:l("not set");return y(Re,{words:X()?.panel,label:l(e),changed:o,detail:a==null?l("the built-in corners"):Lt(r,l("Styles")),onReset:t})}function DO(){let{cornerRadiusPx:e}=K();return typeof e=="number"?e:qe}function NO(){return Sf({sidesKey:"sectionCornerSides",useFollowed:DO,useClosedReason:()=>jh()?l(qh):null,mark:y(_O,{label:Kn}),hint:y(MO,{})})}var qh="This section runs edge to edge, so its corners sit off the page. Set Width to Content width to use them.";function jh(){return lf(Po())}function MO(){return y(ro,{children:jh()?qh:"Follows Styles \u25B8 Basics \u25B8 Corners until you set a number here."})}function Vn(){return st({_gShape:Te("Shape"),sectionCorners:NO(),sectionCornerSides:$h(),sectionBorder:mh("desktop"),sectionBorderPhone:mh("mobile")})}var HO=()=>({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 WO(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function zO(){let e;try{let o=ze(K().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||vu.line}function Kh({value:e,onChange:o,placeholder:t,presets:a,sides:r=!0,styles:n=!0,above:s={}}){let i=e&&typeof e=="object"?e:{},[f,d]=Xa(()=>r?rO(i,s):!1),p=HO(),x=m=>WO(r&&n?m:{width:m.width,color:m.color,...n?{style:m.style}:{}});return y(se,{label:l("Border"),icon:y(kF,{}),action:r?y(Fh,{each:f,label:l("Each side"),onChange:d}):void 0,children:y(JF,{label:l("Border"),value:i,each:f,onChange:m=>o(x(m)),placeholder:t,presets:a,words:p,styles:n,max:20})})}function GO({value:e,onChange:o,tier:t}){let[a]=nt("sectionBorder"),r=zO(),n=t==="mobile"?a&&typeof a=="object"?a:{}:{};return y(Kh,{value:e,onChange:o,placeholder:{sides:aO(n),style:n.style??"solid",color:n.color||r},presets:[r],above:n})}function mh(e){return we(e,{type:"custom",render:({value:o,onChange:t})=>y(GO,{value:o,onChange:t,tier:e})})}function Fq(e){return{type:"custom",render:()=>y(UO,{partKey:e})}}function UO({partKey:e}){let[o]=nt("id"),[t]=nt("_partStyles"),{textStyles:a}=K(),r=gO(),n=null;try{n=xO().select}catch{n=null}let s=t&&typeof t=="object"?t[e]:void 0,i=Array.isArray(a)?a:null;return y(XF,{name:l("Text"),preview:mx(s,i,{noStyle:l("No style"),styleName:r.textStyles.styleName,cases:(r.copy.panel??IO.copy.panel).cases}),onOpen:()=>{n&&typeof o=="string"&&n(hO(o,e))}})}function Oq(){return{type:"custom",render:({value:e,onChange:o})=>y($O,{value:e,onChange:o})}}function $O({value:e,onChange:o}){let[t]=nt("variant"),[a]=nt("buttonColor"),{theme:r}=K(),n=Wi({variant:t,buttonColor:a,buttonBorder:e&&typeof e=="object"?e:{}}).border.width,s=ne(a)??(t==="ghost"?Vo(r).text:Bs(r).fill);return y(Kh,{value:e,onChange:o,placeholder:{sides:{top:n,right:n,bottom:n,left:n},style:"solid",color:s},presets:[s],sides:!1,styles:!1})}function Yn(){return{_gMotion:Te("Motion"),sectionAnimation:vf("Entrance",y(yh,{}),[...Np],si)}}function Cf(){let e=null;try{let{appState:o,selectedItem:t}=Za(r=>r),a=t?.props?.id?String(t.props.id):void 0;e=a?fi(o?.data,a):null}catch{e=null}return e!==null&&lf(e)}function Vh(e){let{cornerRadiusPx:o}=K(),t=Cf(),a=typeof o=="number"?o:e,r=null;try{let{appState:s,selectedItem:i}=Za(d=>d),f=i?.props?.id?String(i.props.id):void 0;r=f?fi(s?.data,f):null}catch{r=null}if(t||!r)return a;let n=r.sectionCorners;return Ks(n)?n:a}function qO({label:e,changed:o=!1,onReset:t=()=>{}}){let a=Cf(),r=Vh(qe),n=a?"Site":"Section";return y(Re,{words:X()?.panel,label:l(e),changed:o,detail:Lt(`${r}px`,a?l("Styles"):l("the section")),onReset:t})}function jO(){return y(ro,{children:Cf()?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 KO(){return Sf({sidesKey:"cardCornerSides",useFollowed:()=>Vh(qe),mark:y(qO,{label:Kn}),hint:y(jO,{})})}function VO(){return{type:"custom",render:()=>y(ip,{})}}function Lq(){return{_gShape:Te("Shape"),cardCorners:KO(),cardCornerSides:$h(),cardCornersApplyAll:VO()}}function Aq(){return ao("Justify",y(wF,{}),ji,ji[0].value)}function Rq(){return ao("Item alignment",y(SF,{}),Tx,"stretch")}function Bq(){return ao(Px,y(YF,{}),Vi,Vi[0].value)}function _q(){return{type:"custom",render:({value:e,onChange:o})=>{let t=_n.find(a=>a.value===e)??_n[0];return y(se,{label:l(Yi),icon:y(bh,{}),value:l(t.label),children:y(Lh,{className:"sf-gallery-layouts",label:l(Yi),value:t.value,onChange:o,options:_n.map(a=>({value:a.value,label:l(a.label),picture:y("span",{className:"sf-gallery-pic",children:YO(a.weights).map((r,n)=>y("i",{style:{gridColumn:`span ${r}`}},n))})}))})})}}}function YO(e){if(!e)return[3,4];let o=e.reduce((t,a)=>t+a,0);return e.map(t=>Math.round(t/o*12))}function Dq(){return ao(Ox,y(Ch,{}),Zi,Zi[0].value)}function Nq(){return we("mobile",la(Ex,y(Sh,{}),Xi,Fx,1,Xi))}function Mq(e){let o=vf(Sx,gf("`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)."),wx(e),Bn(e,void 0));return{type:"custom",render:t=>o.render({...t,value:Bn(e,t.value),onChange:a=>t.onChange(a)})}}function Hq(e,o,t,a,r,n){return{type:"custom",render:({value:s,onChange:i})=>y(se,{label:l(e),icon:y(ai,{noun:n}),action:y(Re,{words:X()?.panel,label:l(e),changed:!qx(s),detail:l("the Text style in Styles"),onReset:()=>i($x),defaultAction:{onPress:()=>i(Wn),title:l("Keep this section's own built-in size"),icon:y(TF,{})}}),children:De({min:o,max:t,step:a,value:typeof s=="number"?s:r,suffix:"px",ariaLabel:e,onChange:i})})}}function Wq(){return{_gCellWidth:Te("Cell width"),gridSpan:ao("Positions",y(bh,{}),[{label:"Auto",value:""},...Array.from({length:rn},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function Po(){let e=null;try{e=Za(o=>o).selectedItem}catch{e=null}return e?.props??{}}function XO({min:e,max:o,step:t,px:a,label:r,onChange:n,desktopKey:s,fallback:i}){let f=Po()[s],d=xn(void 0,f,i);return y(ro,{children:De({min:e,max:o,step:t,value:xn(a,f,i),readout:!1,ariaLabel:r,notch:d,onChange:n})})}function ZO({label:e,desktopKey:o,fallback:t,changed:a=!1,onReset:r=()=>{}}){let n=Po()[o],s=xn(void 0,n,t);return y(Re,{words:X()?.panel,label:l(e),changed:a,detail:l("{value} on desktop",{value:`${s}px`}),onReset:r})}function QO(e){return Uh(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unsetLabel:"Follows Desktop",unsetMark:y(ZO,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback}),restTrack:o=>y(XO,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}function zq(e){return{type:"custom",render:({value:o,onChange:t})=>y(e1,{...e,value:o,onChange:t})}}function JO({label:e,icon:o,options:t,value:a,resolved:r,restWord:n,onChange:s}){let i=t.some(f=>f.value===a);return y(se,{label:l(e),icon:no(o),action:y(Re,{words:X()?.panel,label:l(e),changed:i,detail:l("{value} on desktop",{value:l(n)}),onReset:()=>s(void 0)}),children:Ja({options:t,value:i?a:r,onChange:f=>s(f),ariaLabel:e})})}function e1({label:e,icon:o,options:t,desktopKey:a,resolve:r,value:n,onChange:s}){let i=Po()[a],f=r(void 0,i),d=t.find(p=>p.value===f)?.label??"";return y(JO,{label:e,icon:o,options:t,value:n,resolved:f,restWord:d,onChange:s})}var o1={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},t1={Top:Ph,Bottom:vh,Left:kh,Right:Th},a1=e=>{let o=t1[e];return y(o,{})};function Gq(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",a=e.group!==!1,r=T=>o1[T],n=T=>la(r("Top"),y(Ph,{}),oo.min,oo.max,oo.step,T,"px"),s=(T,F,C,g=oo)=>we("mobile",QO({label:r(T),icon:a1(T),desktopKey:F,min:g.min,max:g.max,step:g.step,fallback:C})),i=e.top??oo.min,f=e.bottom??oo.min,d="sectionPaddingLeft",p="sectionPaddingRight",x=e.sideBounds??oo,m=e.side??x.min,h=e.sidePhone??m,b=e.phone===!0,S=T=>b?we("desktop",T):T;return st({...a?{_gSpacing:Te("Padding")}:{},[o]:S(n(i)),...b?{[na(o)]:s("Top",o,i)}:{},...e.only==="top"?{}:{[t]:S(la(r("Bottom"),y(vh,{}),oo.min,oo.max,oo.step,f,"px")),...b?{[na(t)]:s("Bottom",t,f)}:{}},...e.sides?{[d]:S(la(r("Left"),y(kh,{}),x.min,x.max,x.step,m,"px")),...b?{[na(d)]:s("Left",d,h,x)}:{},[p]:S(la(r("Right"),y(Th,{}),x.min,x.max,x.step,m,"px")),...b?{[na(p)]:s("Right",p,h,x)}:{}}:{}})}var Ya=["top","right","bottom","left"],r1={top:"sectionPaddingTop",right:"sectionPaddingRight",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft"},xh=e=>typeof e=="number"?e:null;function n1(e,o,t){let a={};for(let r of Ya)t[r]!==o[r]&&(a[e[r]]=t[r]??void 0);return a}function l1({tier:e,o}){let t=Jo(),a=t?.values??{},r=e==="mobile"?o.phoneKeys:o.keys,n=Object.fromEntries(Ya.map(d=>[d,xh(a[r[d]])])),s=Object.fromEntries(Ya.map(d=>[d,String(e==="mobile"?xh(a[o.keys[d]])??o.fallback[d]:o.fallback[d])])),[i,f]=Xa(()=>tO(n,s));return y(se,{label:l("Padding"),icon:y(zF,{}),action:y(Fh,{each:i,label:l("Each side"),onChange:f}),children:y(oO,{label:l("Padding"),each:i,value:n,placeholder:s,min:o.min,max:o.max,step:o.step,onChange:d=>{let p=n1(r,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 Xn(e={}){let o={...r1,...e.keys},t={keys:o,phoneKeys:Object.fromEntries(Ya.map(i=>[i,na(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},a=e.phone!==!1,r=i=>{let f={type:"custom",render:()=>y(l1,{tier:i,o:t})};return a?we(i,f):f},n=()=>Qa({type:"custom",render:()=>y(Un,{})},"always"),s=Ya.filter(i=>i!=="top");return st({...e.group===!1?{}:{_gSpacing:Te("Padding")},[t.keys.top]:r("desktop"),...a?{[t.phoneKeys.top]:r("mobile")}:{},...Object.fromEntries(s.map(i=>[t.keys[i],{...n(),reachedBy:t.keys.top}])),...a?Object.fromEntries(s.map(i=>[t.phoneKeys[i],we("mobile",n())])):{}})}function Uq(e,o){let t=Object.fromEntries(Object.entries(o).map(([n,s])=>[n,n in e&&To(s)?e[n]:s])),a={},r=!1;for(let[n,s]of Object.entries(e)){if(n in o){r||Object.assign(a,t),r=!0;continue}a[n]=s}return r||Object.assign(a,t),a}var hh=e=>typeof e=="number"?e:null;function s1(e,o,t){let a={};for(let r of["x","y"])t[r]!==o[r]&&(a[e[r]]=t[r]??void 0);return a}function i1({o:e}){let o=Jo(),t=o?.values??{},a={x:hh(t[e.keys.x]),y:hh(t[e.keys.y])},r=l(e.label??"Position"),n=!!(a.x||a.y),s=d=>{let p=s1(e.keys,a,d);Object.keys(p).length&&o?.onChangeMany(p)},i=y(dO,{label:r,value:a,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=y(Re,{words:X()?.panel,label:r,changed:n,detail:"0 px, 0 px",onReset:()=>s({x:null,y:null})});return e.label===null?zo("div",{className:"sf-position-line",children:[i,f]}):y(se,{label:r,icon:y(WF,{}),changed:n,action:f,children:i})}function $q(e){return{[e.keys.x]:{type:"custom",render:()=>y(i1,{o:e})},[e.keys.y]:{...Qa({type:"custom",render:()=>y(Un,{})},"always"),reachedBy:e.keys.x}}}var f1={contained:"Contained",page:"Page",full:"Full"},Gn="Width";function Zn(e,o=Xx,t=!0){let a=o.map(r=>({label:Ho[r]??f1[r],value:r}));return st({...t?{_gWidth:Te(Gn)}:{},widthMode:{type:"custom",render:({onChange:r,field:n})=>y(se,{label:l(Gn),icon:y(VF,{}),action:t?y(kO,{inherited:n?.inherited??!1,onReset:()=>r(rf),label:Gn}):void 0,children:Ja({options:a,value:n?.currentValue||e,onChange:r,ariaLabel:Gn})})}})}function Qn(){let e=a=>({type:"custom",render:({value:r,onChange:n})=>y(se,{label:ta,icon:no(y(NF,{})),action:a?a(n):void 0,children:Ja({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:["auto","fixed","screen"].includes(r)?r:"auto",onChange:n,ariaLabel:ta})})}),o=()=>({type:"custom",render:({value:a,onChange:r,field:n})=>{let s=n?.unit==="%"?"%":"px",i=s==="%"?Gi:zi;return y("div",{className:"sf-field",children:De({min:i.min,max:i.max,step:i.step,value:typeof a=="number"?a:i.fallback,suffix:s,ariaLabel:ta,onChange:r})})}}),t=()=>vf("Unit",y(wh,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");return st({_gHeight:Te(ta),sectionHeightMode:we("desktop",e()),sectionHeightValue:we("desktop",o()),sectionHeightUnit:we("desktop",t()),sectionHeightModePhone:we("mobile",e(a=>y(c1,{onClear:()=>a(void 0)}))),sectionHeightValuePhone:we("mobile",o()),sectionHeightUnitPhone:we("mobile",t())})}function c1({onClear:e}){let o=Po(),t=Ui(o),a=An(o),r=l("{value} on desktop",{value:a.mode==="auto"?l("Auto"):`${a.value}${a.unit}`});return y(Re,{words:X()?.panel,label:l(ta),changed:t,detail:r,onReset:e})}function wf(){let e=t=>({type:"custom",render:({value:a,onChange:r,id:n,name:s})=>y(d1,{value:a,onChange:r,labelId:`${n??s??"stickTop"}-label`,phone:t})}),o=()=>({type:"custom",render:({value:t,onChange:a})=>y("div",{className:"sf-field",children:De({min:tt.min,max:tt.max,step:tt.step,value:typeof t=="number"?t:tt.fallback,suffix:"px",ariaLabel:l("Distance from top"),onChange:a})})});return{_gStick:Te(Rn),stickTop:we("desktop",e(!1)),stickTopDistance:we("desktop",o()),stickTopPhone:we("mobile",e(!0)),stickTopDistancePhone:we("mobile",o())}}function d1({value:e,onChange:o,labelId:t,phone:a}){let r=Po(),n=qi(r),s=a?n.phone:e===!0;return y(se,{label:l(Rn),labelId:t,icon:no(y($F,{})),action:zo(ro,{children:[a?y(Re,{words:X()?.panel,label:l(Rn),changed:$i(r),detail:l("{value} on desktop",{value:n.desktop?`${n.desktopDistance}px`:l("Off")}),onReset:()=>o(void 0)}):null,y(Oh,{checked:s,onChange:o,ariaLabelledBy:t})]})})}var Ih="e.g. about";function Jn(){return{_gAnchor:Te("Anchor"),anchor:Rt({control:"plainText",label:"Name",placeholder:Ih},{type:"custom",render:({value:e,onChange:o})=>y(Lp,{value:e,onChange:o,nameBox:(t,a)=>y(At,{value:t,onChange:a,label:"Name",placeholder:Ih,hideable:!1,markup:!1})})})}}function qq(e,o,t){return{type:"custom",render:({value:a,onChange:r,id:n,name:s})=>{let i=`${n??s??e}-datetime`,f=Date.parse(typeof a=="string"?a:"");return y(se,{label:l(e),icon:o,htmlFor:i,hint:t===void 0?void 0:l(t),children:y(cO,{id:i,value:Number.isFinite(f)?new Date(f):null,onChange:d=>r(d?d.toISOString():"")})})}}}function Ot(e,o,t){return{type:"custom",...Wo({},{...hf,label:e}),render:({value:a,onChange:r,id:n,name:s})=>{let i=typeof a=="boolean"?a:o,f=`${n??s??e}-label`;return y(se,{label:l(e),labelId:f,icon:t,action:y(Oh,{checked:i,onChange:r,ariaLabelledBy:f})})}}}function Yh(){return{type:"custom",render:({value:e,onChange:o,id:t,name:a})=>{let r=`${String(t??a??"pageBackground")}-colour`;return y(je,{label:l("Background"),icon:y(Eh,{}),id:r,value:ri(e),onChange:o})}}}var jq={follows:"fill"},Kq={follows:"ink"};function Vq(e,o,t,a){if(typeof o!="string"){let r=o.follows;return{type:"custom",render:({value:n,onChange:s})=>y(u1,{label:e,part:r,icon:t,value:n,onChange:s,opacity:a})}}return{type:"custom",render:({value:r,onChange:n})=>y(je,{label:l(e),icon:t,value:r||o,onChange:n})}}function u1({label:e,part:o,icon:t,value:a,onChange:r,opacity:n}){let s=Bs(K().theme),i=o==="fill"?s.fill:s.ink,[f,d]=nt(n?.key??""),[p]=nt(n?.unsetFrom??""),x=typeof f=="number";return y(pn,{label:l(e),icon:t,value:a||"",inherited:i,resetTo:Lt(i.toUpperCase(),l("Styles")),onChange:r,onReset:()=>{r(""),n&&x&&d(void 0)},...n?{opacity:x?f:n.unset(p),onOpacityChange:m=>d(m),changed:!!a||x}:{}})}var p1=[{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 Xh({label:e,value:o,onChange:t,points:a=p1}){let r=a.map(n=>({...n,label:l(n.label),...n.title?{title:l(n.title)}:null}));return y(iO,{label:l(e),value:o,points:r,onChange:t})}function Yq(){return Qa({type:"custom",render:()=>y(Un,{})},"always")}var m1=Js([]);function Xq(e,{stacking:o,fallback:t=nn}){return{type:"custom",render:({value:a,onChange:r})=>{let n=Xo.includes(a)?a:t;return o?y(x1,{label:e,value:n,onChange:r}):Zh({label:e,value:n,onChange:r,points:m1})}}}function x1({label:e,value:o,onChange:t}){let{appState:a,selectedItem:r}=Za(i=>i),n=r?.props?.id?String(r.props.id):void 0,s=n?oi(a?.data,n):[];return Zh({label:e,value:o,onChange:t,points:Js(s,n)})}function Zh({label:e,value:o,onChange:t,points:a}){let r=a.find(n=>n.disabled);return y(se,{label:l(e),icon:y(GF,{}),hint:r?.title?l(r.title):void 0,children:Xh({label:e,value:yt(o),onChange:t,points:a})})}var Zq={top:y(AF,{}),right:y(LF,{}),bottom:y(FF,{}),left:y(OF,{})};function Qq(e,o,t,a,r,n){let s=p=>o.find(x=>x.value===p),i=p=>({value:p,label:"",disabled:!0,title:a}),f=p=>{let x=o.find(h=>h.cell===p);if(!x)return i(`missing-${p}`);let m=n?.[p];return m?{value:x.value,label:x.label,icon:m}:{value:x.value,label:x.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:x})=>{let m=o.some(h=>h.value===p)?p:t;return y(se,{label:l(e),icon:r,value:s(m)?.label?l(s(m).label):"",children:Xh({label:e,value:m,onChange:x,points:d})})}}}var h1="\0note";function ao(e,o,t,a,r){return{type:"custom",options:t,fallback:a,...r?{note:r}:{},...Wo({},{type:"select",label:e}),render:({value:n,onChange:s,field:i})=>{let f=i.options??t,d=i.fallback??a,p=f.some(x=>x.value===n)?n:d;return y(se,{label:l(e),icon:no(o),children:y(nO,{value:p,ariaLabel:l(e),onChange:s,options:[...r?[{label:l(r),value:h1,disabled:!0}]:[],...f.map(x=>({label:l(x.label),value:x.value}))]})})}}}function Jq(e,o,t){return{type:"custom",options:o,render:({value:a,onChange:r,field:n})=>y(hm,{label:e,options:(n.options??o).map(s=>({...s,label:l(s.label)})),value:Array.isArray(a)?a:[],onChange:r,...t?{emptyLabel:l(t)}:{}})}}function ej(e,o={}){return{type:"custom",render:({value:t,onChange:a})=>{let r={value:t,onChange:a,...o};return y(e,{...r})}}}function Ja({options:e,value:o,onChange:t,ariaLabel:a,disabled:r=!1}){return y(eO,{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(a),disabled:r})}var oj=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function vf(e,o,t,a){let r=t.map(n=>typeof n=="string"?{label:n,value:n}:n);return{type:"custom",...Wo({},{type:"radio",label:e,options:r.map(n=>({value:n.value,label:n.label}))}),render:({value:n,onChange:s,field:i})=>y(se,{label:l(e),icon:no(o),children:Ja({options:r,value:r.some(f=>f.value===n)?n:n||i?.currentValue||a,onChange:s,ariaLabel:e})})}}function tj(e,o,t){let a=Object.keys(qs).map(r=>({label:qs[r],value:r,picture:t[r]}));return{type:"custom",...Wo({},{type:"radio",label:e,options:a.map(r=>({value:r.value,label:r.label}))}),render:({onChange:r})=>y(I1,{label:e,icon:o,options:a,onChange:r})}}function I1({label:e,icon:o,options:t,onChange:a}){let r=Jo()?.values??{},n=js(r),s=n==="frame"&&!!Yo(r.mediaVideo)&&!Yo(r.videoFrame);return y(se,{label:l(e),icon:no(o),hint:s?l("This video has no frame yet. The slide shows its background colour until one is made."):void 0,children:Ja({options:t,value:n,onChange:a,ariaLabel:e})})}function aj(e,o,t,a={}){return{type:"custom",[gF]:!0,render:({value:r,onChange:n,name:s})=>y(mm,{value:r||"",onChange:n,fieldKey:s,label:e,accept:o,placeholder:t,focusKey:a.focus,focusWhen:a.focusWhen,frameKey:a.frame})}}function rj({value:e,onChange:o,label:t}){let a=e||{},r=!!a.pending,n=r?"var(--fg-dim, #888)":a.ok?"#1d9e75":"#d85a30",s=!!Ce(bO()).geocode,i=(f,d)=>o({...a,[f]:d===""?void 0:Number(d)});return zo(se,{label:l(t),icon:y(pf,{}),children:[s&&zo(ro,{children:[y("button",{type:"button",disabled:r,onClick:()=>o({...a,pending:!0,ok:!1,status:"Finding\u2026"}),style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",gap:6,padding:"8px 10px",fontSize:13,cursor:r?"default":"pointer",opacity:r?.6:1,border:"1px solid var(--border-strong, #ccc)",borderRadius:6,background:"transparent",color:"inherit"},children:r?l("Finding\u2026"):l("Find coordinates")}),a.status&&y("div",{style:{marginTop:6,fontSize:12,lineHeight:1.4,color:n},children:l(a.status)}),y("div",{style:{marginTop:6,fontSize:11,color:"var(--fg-dim, #999)"},children:l("Coordinates from OpenStreetMap")})]}),y("button",{type:"button",onClick:()=>o({...a,manual:!a.manual}),style:{marginTop:8,padding:0,border:"none",background:"none",font:"inherit",fontSize:12,color:"var(--sf-accent, #2563eb)",cursor:"pointer",textDecoration:"underline"},children:a.manual?l("Hide manual coordinates"):l("Enter coordinates manually")}),a.manual&&zo("div",{style:{marginTop:8,display:"grid",gap:8},children:[y(se,{label:l("Latitude"),icon:y(pf,{}),children:y("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"34.0990198"}),value:typeof a.lat=="number"?a.lat:"",onChange:f=>i("lat",f.target.value)})}),y(se,{label:l("Longitude"),icon:y(pf,{}),children:y("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"-117.9842833"}),value:typeof a.lng=="number"?a.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 a=e.map(r=>({text:r?.text??""}));return o===null||o<0||o>=e.length?a:a.map((r,n)=>n===o?{text:t}:r)}function b1(e,o,t){if(t===null||t>=o.length)return null;for(let a=0;a<t;a+=1)if(e[a]!==o[a])return null;return e[t]!==o[t]&&o.includes(e[t])||e[t]!==o[t]&&o.length!==e.length?null:t}var kf={label:"Ticker items",icon:y(HF,{})};function nj(e,o,t,a){return{type:"custom",[Go]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:a},...Wo({},{...Dh.textList,label:e}),render:({value:r,onChange:n})=>y(Tf,{label:e,icon:no(o),items:Array.isArray(r)?r:[],placeholder:t,onChange:n,markup:a==="markup"})}}function Tf({label:e,icon:o,items:t,placeholder:a,onChange:r,markup:n=!1}){let s=xf(null),[i,f]=Xa(null),d=x=>x.map(m=>({text:m?.text??""})),p=x=>{let m=b1(t,x,i);m===null&&(s.current=null),f(m),r(d(x))};return y(lO,{label:l(e),icon:o,noun:l("item"),items:t,onChange:p,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?y(pi,{target:s,value:g1(t,i),onChange:x=>r(y1(t,i??-1,x)),disabled:i===null,label:i===null?l("Formatting \u2014 click a row first"):l("Formatting \u2014 row {n}",{n:i+1})}):void 0,renderRow:(x,m,h)=>y("input",{type:"text",className:n&&i===m?"sf-list-marking":void 0,value:x?.text??"",placeholder:l(a),"aria-label":l("{label} {n}",{label:l(e),n:m+1}),onChange:b=>h({text:b.target.value}),onFocus:b=>{s.current=b.currentTarget,f(m)}})})}function Qh(e,o){let t=`${e.label} \u2014 row ${o+1}`;return Rt({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:a,onChange:r})=>y(At,{value:a,onChange:r,label:l("{label} \u2014 row {n}",{label:l(e.label),n:o+1}),placeholder:e.placeholder,hideable:!1,markup:e.rendering==="markup"})})}function Jh(e){return{_gCards:Te("Cards"),coverIndex:ao("Cover image",y(MF,{}),cm,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:RO("Image background",Hn),cardImage:C1(),spinOnHover:Ot("Rotate on hover",e?.spinDefault??!0,y(qF,{}))}}function eI(){return{outline:ao("Card outline",y(jF,{}),bi,gi),indexBadge:ao("Card number",y(wh,{}),yi,Ii),showBadge:Ot("Product badge",!0,y(ai,{noun:"tag"}))}}function oI(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:Te("Show on a card"),showCardPrice:Ot("Price",!0,y(RF,{})),showCardFinishes:Ot("Finish swatches",!0,y(BF,{})),showCardSizes:Ot("Sizes",t.showCardSizes,y(UF,{})),showCardBuy:Ot("Buy button",t.showCardBuy,y(PF,{})),showCardPage:Ot("Page button",t.showCardPage,y(Eh,{}))}}function lj(e,o="display"){let t=na(o);return{[o]:we("desktop",{type:"custom",render:({value:a,onChange:r})=>y(tI,{parts:e,changed:Hp(a),shown:n=>un(a,n),onPress:(n,s)=>r(zp(a,n,s)),onReset:()=>r(void 0)})}),[t]:we("mobile",{type:"custom",render:({value:a,onChange:r})=>y(S1,{parts:e,desktopKey:o,value:a,onChange:r})})}}function tI({parts:e,changed:o,shown:t,onPress:a,onReset:r,detail:n}){let s=l("Display");return y(se,{label:s,icon:y(CF,{}),changed:o,action:y(Re,{words:X()?.panel,label:s,changed:o,detail:n,onReset:r}),children:y(sO,{label:s,items:e.map(i=>({id:i.id,label:l(i.label),shown:t(i.id)})),onChange:a})})}function S1({parts:e,desktopKey:o,value:t,onChange:a}){let r=Po()[o];return y(tI,{parts:e,changed:Wp(t),shown:n=>ci(r,t,n),onPress:(n,s)=>a(Gp(t,n,s)),onReset:()=>a(hn),detail:l("the same as Desktop")})}function C1(){return Uh("Card image",{min:qe,max:ht,step:fp,hint:"Rounds the picture. The card's own corner is in Styles."})}function sj(){return Sf({sidesKey:"cornerSides",step:cp,useFollowed:()=>qe,mark:y(w1,{label:dp}),hint:l("Rounds the picture. Left alone it stays square.")})}function w1({label:e,changed:o=!1,onReset:t=()=>{}}){return y(Re,{words:X()?.panel,label:l(e),changed:o,onReset:t})}function ij(){return{type:"custom",render:({value:e,onChange:o})=>y(v1,{value:typeof e=="string"?e:"",onChange:o})}}function v1({value:e,onChange:o}){let[t,a]=Xa(null),r=Ys.filter(s=>t===null||Do[s].across===t),n=e&&e in Do?Do[e]:null;return zo(ro,{children:[y(se,{label:l("Photos in a row"),icon:y(Sh,{}),children:zo("div",{className:"sf-gallery-filter",children:[y("button",{type:"button","aria-pressed":t===null,onClick:()=>a(null),children:l("All")}),pp.map(s=>y("button",{type:"button","aria-pressed":t===s,onClick:()=>a(s),children:s},s))]})}),y(se,{label:l("Layout"),icon:y(_F,{}),value:n?l(n.label):l("Not chosen"),hint:l("{n} of {total} layouts",{n:r.length,total:Ys.length}),children:y(Lh,{className:"sf-gallery-layouts",label:l("Layout"),value:e,onChange:o,onClear:()=>o(""),options:r.map(s=>({value:s,label:l(Do[s].label),picture:y("span",{className:"sf-gallery-pic",children:xp(Do[s]).map(([i,f],d)=>y("i",{style:{gridColumn:`span ${i}`,gridRow:`span ${f}`}},d))})}))})})]})}import{jsx as el,Fragment as k1,jsxs as aI}from"react/jsx-runtime";import{Button as rI,Dialog as T1}from"efficient-shell/ui";function P1(e){return Ae("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 nI({count:e,onCancel:o,onConfirm:t}){return aI(T1,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:l("Clear this site\u2019s colors?"),footer:aI(k1,{children:[el(rI,{variant:"secondary",onClick:o,children:l("Cancel")}),el(rI,{variant:"danger",onClick:t,children:l("Clear colors")})]}),children:[el("p",{children:P1(e)}),el("p",{className:"mt-2 font-medium",children:l("This cannot be undone.")})]})}var R1=gf("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",_1={selected:0,themes:[]};function D1(e){e(_1)}function iI({value:e,onChange:o}){let t=e?.themes??[],a=t.length===0,r=ze(e),[n,s]=sI(!1),i=L1(),[f,d]=sI(null),p=(F,C)=>{o({...r,themes:r.themes.map((g,I)=>I===F?C:g)})},x=Vo(r).accent,m=new Set(r.themes.map(F=>F.brandInk).filter(Boolean)),h=ku.filter(F=>!m.has(F)).map(F=>Tu(x,F)),b=[...r.themes,...h],S=F=>{if(F<r.themes.length)return o({...r,selected:F});let C=[...r.themes,b[F]];o({...r,themes:C,selected:C.length-1})},T=()=>{let F=[...r.themes,{...yo(r.themes[r.selected])}];o({...r,themes:F,selected:F.length-1}),d(F.length-1)};return lI(E1,{children:[a?null:sa(O1,{label:l(B1),icon:no(R1),labelId:"sf-theme-reset",action:sa(F1,{label:l("all theme colors"),words:i.panel,changed:!0,onReset:()=>s(!0)})}),n&&sa(nI,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),D1(o)}}),sa("div",{className:"sf-theme-list",role:"radiogroup","aria-label":l("Theme"),children:b.map((F,C)=>sa(Sn,{index:C,colors:F,selected:C===r.selected,open:f===C&&C<r.themes.length,editable:C<r.themes.length,onPick:()=>S(C),onEdit:()=>d(g=>g===C?null:C),onChangeColors:g=>p(C,g)},C))}),lI("button",{type:"button",onClick:T,className:"sf-theme-add",children:[sa(A1,{size:12}),l("Add new theme")]})]})}import{jsx as ol}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.",Pf="Corners";function fI({value:e,onChange:o,showHint:t=!0}){let a=e===null;return ol(M1,{label:l(Pf),icon:ol(H1,{}),value:a?l("Default"):`${e}px`,changed:!a,action:ol(N1,{words:X()?.panel,label:l(Pf),changed:!a,detail:l("the built-in corners"),onReset:()=>o(null)}),hint:t?l(W1):void 0,children:ol(De,{min:qe,max:ht,step:1,value:e??qe,readout:!1,ariaLabel:l(Pf),onChange:o})})}import{jsx as er}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 Ef={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 cI({value:e,onChange:o,showHint:t=!0}){let a=e===null,r=e??Ds;return er(G1,{label:l("Card shadow"),icon:er($1,{}),value:l(Ef[r]),changed:!a,action:er(z1,{words:X()?.panel,label:l("Card shadow"),changed:!a,detail:l(Ef[Ds]),onReset:()=>o(null)}),hint:t?l(q1):void 0,children:er(U1,{options:Bu.map(n=>({id:n,label:l(Ef[n]),icon:er("span",{className:"sf-shadow-chip",style:{boxShadow:j1[n]}})})),value:r,ariaLabel:l("Card shadow"),fit:K1,onChange:o})})}import{jsx as dI}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 uI({value:e,onChange:o,showHint:t=!0}){let a=e===null;return dI(pn,{label:l("Shadow color"),icon:dI(V1,{}),value:e??"",inherited:Ms,resetTo:Ms,onChange:o,onReset:()=>o(null),hint:t?l(Y1):void 0})}import{jsx as tl}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",eL=aa.Grid;function pI({value:e,onChange:o,showHint:t=!0}){let a=e===null;return tl(Z1,{label:l(Ff),labelId:"sf-block-gap",icon:tl(Q1,{}),value:a?l("Default"):`${e}px`,changed:!a,action:tl(X1,{words:X()?.panel,label:l(Ff),changed:!a,detail:l("each block's own spacing"),onReset:()=>o(null)}),hint:t?l(J1):void 0,children:tl(De,{min:Ft.min,max:Ft.max,step:Ft.step,value:a?eL:e,readout:!1,ariaLabel:l(Ff),onChange:o})})}import{jsx as al}from"react/jsx-runtime";import{SettingsDefaultReset as oL,SettingsField as tL,SettingsSegmented as aL}from"efficient-easel/panel";import{HoverIcon as rL}from"efficient-easel/icons";var Of={none:"None",lift:"Lift",highlight:"Highlight"},nL="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 mI({value:e,onChange:o,showHint:t=!0}){let a=e===null,r=e??Ns;return al(tL,{label:l("Hover effect"),icon:al(rL,{}),value:l(Of[r]),changed:!a,action:al(oL,{words:X()?.panel,label:l("Hover effect"),changed:!a,detail:l(Of[Ns]),onReset:()=>o(null)}),hint:t?l(nL):void 0,children:al(aL,{options:_u.map(n=>({id:n,label:l(Of[n])})),value:r,ariaLabel:l("Hover effect"),onChange:o})})}import{jsx as rl}from"react/jsx-runtime";import{SettingsDefaultReset as lL,SettingsField as sL,SettingsSegmented as iL}from"efficient-easel/panel";import{DropIcon as fL}from"efficient-easel/icons";var Lf="Photography",xI={shot:"As shot",mono:"Black and white"},Af=[{grayscale:!1,label:xI.shot},{grayscale:!0,label:xI.mono}],cL="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function hI({value:e,onChange:o,showHint:t=!0}){let a=e===null,r=e??!1;return rl(sL,{label:l(Lf),icon:rl(fL,{}),value:l(Af.find(n=>n.grayscale===r).label),changed:!a,action:rl(lL,{words:X()?.panel,label:l(Lf),changed:!a,detail:l(Af.find(n=>!n.grayscale).label),onReset:()=>o(null)}),hint:t?l(cL):void 0,children:rl(iL,{options:Af.map(n=>({id:n.grayscale,label:l(n.label)})),value:r,ariaLabel:l(Lf),onChange:o})})}import{jsx as Rf}from"react/jsx-runtime";import{useId as dL}from"react";import{SettingsField as uL,SettingsSwitch as pL}from"efficient-easel/panel";import{ShareIcon as mL}from"efficient-easel/icons";var xL="Share button",hL="On every blog post.";function II({value:e,onChange:o,showHint:t=!0}){let a=dL();return Rf(uL,{label:l(xL),labelId:a,icon:Rf(mL,{}),action:Rf(pL,{checked:e===!0,onChange:o,ariaLabelledBy:a}),hint:t?l(hL):void 0})}import{jsx as nl}from"react/jsx-runtime";import{SettingsDefaultReset as IL,SettingsField as gL}from"efficient-easel/panel";import{PaddingXIcon as yL}from"efficient-easel/icons";var Bf="Side space",_f=ko.default,bL="The room left at the left and right edge of every page.";function gI({value:e,onChange:o,showHint:t=!0}){let a=e===null;return nl(gL,{label:l(Bf),labelId:"sf-side-space",icon:nl(yL,{}),value:`${e??_f}px`,changed:!a,action:nl(IL,{words:X()?.panel,label:l(Bf),changed:!a,detail:`${_f}px`,onReset:()=>o(null)}),hint:t?l(bL):void 0,children:nl(De,{min:ko.min,max:ko.max,step:ko.step,value:e??_f,readout:!1,ariaLabel:l(Bf),onChange:o})})}import{jsx as Df}from"react/jsx-runtime";import{BACKGROUND_WIDTHS as w9,SettingsBackgroundWidth as SL,SettingsContentWidth as CL}from"efficient-easel/panel";var yI="Width",wL="Background width",vL="Content width";var ll=e=>l(Ho[e==="content"?"page":"full"]),kL=400,bI="Content cannot be wider than the background.",SI="The width of every section's background, until the section sets its own.",CI="The width of every section's content, until the section sets its own.",wI="On phones, content always fills the screen.";function sl({value:e,changed:o,detail:t,onChange:a,onReset:r,disabled:n=!1,hint:s,labelId:i}){return Df(SL,{value:e,changed:o,detail:t,onChange:a,onReset:r,disabled:n,hint:s?l(s):void 0,labelId:i,words:{label:l(wL),full:ll("full"),content:ll("content")},resetWords:X()?.panel})}function il({mode:e,px:o,max:t=xe.max,min:a=kL,changed:r,detail:n,onMode:s,onPx:i,onReset:f,fullClosed:d=!1,disabled:p=!1,hint:x,labelId:m}){let h=l(vL),b=e!=="full"?Df(De,{min:a,max:t,step:xe.step,value:Math.min(Math.max(o,a),t),onChange:i,suffix:"px",ariaLabel:h,disabled:p}):null;return Df(CL,{mode:s?e:void 0,onMode:s,number:b,changed:r,detail:n,onReset:f,fullClosed:d,disabled:p,hint:x?l(x):void 0,labelId:m,words:{label:h,full:ll("full"),content:ll("content")},resetWords:X()?.panel})}import{jsx as ug}from"react/jsx-runtime";import{TextStyleItem as MA,TextStylesGroup as HA}from"efficient-easel/text-styles";import{jsx as AA}from"react/jsx-runtime";import{useState as RA}from"react";import{TextStylesList as BA}from"efficient-easel/text-styles";import{usePreviewDevice as _A}from"efficient-easel/draw/client";import{defaultTextStyles as eg,textStyleCaseCss as TA}from"efficient-easel/text-styles/model";import{textStyleCaseCss as DL,textStyleCaseOfCss as NL}from"efficient-easel/draw";function Nf(e,o){return o?`${e}[${o.index}].${o.rowKey}`:e}function lo(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 zf,encodePartId as pl}from"efficient-easel/draw";import{LINK_FIELD_MARKER as RI,SCAFFOLD_FIELD_MARKER as LI,TEXT_FIELD_MARKER as ml}from"efficient-easel/draw";import{readHidable as BI}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as AL}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as LL}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as vI}from"efficient-easel/draw";import{readHidable as kI}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as TL}from"efficient-easel/draw";var PL=TL,EL=["text","textarea"],FL=["textarea","plainTextarea"];function OL(e){return!e||typeof e!="object"?null:e[vI]?.control??null}function ia(e){let o=OL(e);return o&&PL.includes(o)?o:null}function fl(e){return FL.includes(e)}function TI(e){return!e||typeof e!="object"?void 0:e[vI]?.placeholder}function cl(e){return kI(e).text}function Mf(e,o,t){return EL.includes(e)?{text:t,hidden:kI(o).hidden}:t}function PI(e,o,t,a){return cl(e[o])===a?null:{...e,[o]:Mf(t,e[o],a)}}function dl(e){if(!(!e||typeof e!="object"))return e[LL]}function Hf(e){if(!e||typeof e!="object")return null;let o=e.arrayFields;return o&&typeof o=="object"?o:null}function EI(e,o){if(!Array.isArray(o))return[];let t=dl(e),a=[];if(t?.control==="textList"){let n=t.itemKey??"text";return o.forEach((s,i)=>{let f=ne(s?.[n]);f&&a.push({row:{index:i,rowKey:n},text:f})}),a}let r=Hf(e);return r?(o.forEach((n,s)=>{for(let[i,f]of Object.entries(r)){if(!ia(f))continue;let d=cl(n?.[i])||dl(f)?.placeholder||"";d&&a.push({row:{index:s,rowKey:i},text:d})}}),a):[]}function or(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function Wf(e,o,t,a){let r=e[o];return!Array.isArray(r)||t.index<0||t.index>=r.length?null:{...e,[o]:r.map((n,s)=>s===t.index?{...n,[t.rowKey]:a}:n)}}function FI(e,o,t,a,r){let n=or(e[o],t);return cl(n)===r?null:Wf(e,o,t,Mf(a,n,r))}function OI(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var so="data-sf-part",V9="data-sf-region-part",Y9="data-sf-part-row";function X9(e,o){return`${e}[${o}]`}var Z9="data-sf-part-kind",RL="data-sf-part-style-owner",BL="data-sf-part-style-kind";function Q9(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(RL),a=o.getAttribute(BL);if(t&&a)return{owner:t,kind:a};if(o.getAttribute("data-easel-block"))return null}return null}var AI=2;function fa(e){return za(e).replace(/\s+/gu,"")}function ul(e,o,t){let a=e[ml];if(a){if(a.control==="textList"){let n=a.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:r}=BI(o);r?t.push(r):a.placeholder&&t.push(a.placeholder);return}if(!e[RI]){if(e.type==="text"||e.type==="textarea"){let r=ne(o);r&&t.push(r);return}if(e.arrayFields&&Array.isArray(o)){for(let r of o)for(let[n,s]of Object.entries(e.arrayFields))ul(s,r?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[r,n]of Object.entries(e.objectFields))ul(n,o[r],t)}}function _I(e){if(!e||typeof e!="object")return!1;let o=e;return o[RI]?!1:!!o[ml]||o.type==="text"||o.type==="textarea"}function xl(e,o){let t=e[ml];return t?.label?t.label:typeof e.label=="string"?e.label:o}function Gf(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function J9(e,o){if(!e)return[];let t=[];for(let[a,r]of Object.entries(e)){if(!r||typeof r!="object"||Ga(a))continue;let n=r,s=[];ul(n,o?.[a],s),!s.length&&n[LI]!==void 0&&ul(n,n[LI],s);let i=xl(n,a),f=new Set;for(let{row:x,text:m}of EI(n,o?.[a])){let h=fa(m);h.length<AI||(f.add(h),t.push({key:a,label:i,texts:[h],row:x}))}let d=new Set(f),p=[];for(let x of s){let m=fa(x);m.length<AI||d.has(m)||(d.add(m),p.push(m))}p.length&&t.push({key:a,label:i,texts:p})}return t}var _L=AL;function DI(e,o){if(!o||typeof o!="object"||Ga(e)||nm(o))return null;let t=o[ml];return!t||!_L.includes(t.control)?null:t}function eK(e,o){let t=DI(e,o);return t!==null&&t.identifier!==!0}function NI(e,o){if(!e)return[];let t=[];for(let[a,r]of Object.entries(e)){let n=DI(a,r);if(!n)continue;let{text:s,hidden:i}=BI(o?.[a]),f=s||n.placeholder||"",d=za(f).replace(/\s+/gu," ").trim();t.push({key:a,label:Gf(xl(r,a)),preview:d,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!i})}return t}var qf="_partStyles",ML="data-sf-part-styled",hl="data-sf-text-style",HL=/^(heading|body)-[1-7]$/;function ca(e){return typeof e=="string"&&HL.test(e)}var gl={heading:"heading-1",heading2:"heading-2",heading3:"heading-3",body:"body-1",label:"body-5"};function WL(e){if(!e)return null;for(let[o,t]of Object.entries(gl))if(t===e)return o;return null}function qI(e){if(ca(e.textStyle))return e.textStyle;let o=e.role&&Bo.includes(e.role)?e.role:null;return o?gl[o]:void 0}var zL=[400,500,600,700],jI=["left","center","right","justify"],MI=5,HI=1e3,GL=-5,UL=10,Kf=0,Vf=64,Yf=2,Xf=120,it=1280,Zf=10,WI={size:{min:MI,max:HI,step:1},sizePhone:{min:MI,max:HI,step:1},padding:{min:Kf,max:Vf,step:Yf},width:{min:Xf,max:it,step:Zf}},$L=.05,qL=.01,jL=["line","letter"],KL=.5,VL=2.5,YL=-1,XL=1,ZL=0,QL=400;function ar(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function KI(e){return ar(e?.[qf])??{}}function yl(e,o){let t=KI(e);return Object.hasOwn(t,o)?ar(t[o])??{}:{}}function VI(e,o,t){let a={...KI(e)};if(JL(t).length?a[o]=t:delete a[o],!Object.keys(a).length){let{[qf]:r,...n}=e;return n}return{...e,[qf]:a}}function JL(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function eA(e){return jL.includes(e)}var tr=(e,o,t)=>Math.min(t,Math.max(o,e));function oA(e,o){if(eA(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:tr(t,GL,UL)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?da(tr(t,KL,VL),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?da(tr(t,YL,XL),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:tr(t,ZL,QL)}if(Object.hasOwn(WI,e)){let{min:t,max:a}=WI[e],r=Math.round(Number(o));return Number.isFinite(r)?tr(r,t,a):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"?Bo.includes(String(o))?o:null:e==="textStyle"?ca(o)?o:null:o}var tA=["weight","size","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding","width"];function YI(e){let o=null,t=a=>{o??={...e},delete o[a]};for(let a of tA){let r=e[a];r!==void 0&&!(typeof r=="number"&&Number.isFinite(r))&&t(a)}return e.align!==void 0&&!jI.includes(e.align)&&t("align"),e.textStyle!==void 0&&!ca(e.textStyle)&&t("textStyle"),o??e}var aA=[["font","role"],["role","textStyle"],["line","lineHeight"],["letter","letterSpacing"]];function rA(e){let o=[];for(let[t,a]of aA)t===e?o.push(a):a===e&&o.push(t);return o}function ua(e,o,t,a){let r={...yl(e,o)},n=a==null?null:oA(t,a);if(n===null)delete r[t];else{r[t]=n;for(let s of rA(t))delete r[s]}return VI(e,o,r)}function XI(e,o){return VI(e,o,{})}function nA(e){return NL(e)??"none"}function lA(e){return DL(e)??""}var sA={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 iA(e,o){let t=e.role;return t&&Bo.includes(t)?t:o?.blockDrawsStyle?null:WL(e.textStyle)}function iK(e,o){return e==="Text"&&o==="text"}var fA={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 cA(e){let o=Cu[e],t=fA[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function nr(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=da(dA+e.line*$L,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=da(e.letter*qL,4)),o}var dA=1,lr="--sf-part-para";function zI(e){return e=YI(e),typeof e.sizePhone=="number"&&e.sizePhone>0?{fontSize:`${e.sizePhone}px`}:{}}function uA(e,o){return o&&typeof e.sizePhone=="number"&&e.sizePhone>0?{...e,size:e.sizePhone}:e}function Il(e,o,t){e=YI(e);let a=iA(e,t),r=nr(e),n=e.size?`${e.size}px`:a?cA(a):"";return{fontFamily:e.font?hA(e.font):a?`var(${sA[a]})`:"",fontWeight:e.weight?String(e.weight):"",fontSize:n,minWidth:n?"0":"",overflowWrap:n?"break-word":"",lineHeight:r.lineHeight!==void 0?String(r.lineHeight):"",letterSpacing:r.letterSpacingEm!==void 0?`${r.letterSpacingEm}em`:"",[lr]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:lA(e.case),textAlign:e.align??"",paddingTop:Uf(e.padding),paddingBottom:Uf(e.padding),maxWidth:Uf(e.width),color:pA(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var pA=e=>e===void 0||e===""?"":Object.hasOwn(Qt,e)?Qt[e]:ZI.test(e)?e:"",ZI=/^#[0-9a-fA-F]{6}$/;function fK(e){return ZI.test(e)}var Uf=e=>e===void 0?"":`${e}px`,da=(e,o)=>Number(e.toFixed(o));function cK(e,o){let t=Number.parseFloat(e.fontSize)||16,a=Number.parseFloat(e.lineHeight),r=Number.parseFloat(e.letterSpacing),n=Number.parseFloat(e.paddingTop),s=Number.parseFloat(e.maxWidth);return{fontKey:o,sizePx:t,weight:mA(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(a)?da(a/t,3):1.2,letterEm:Number.isFinite(r)?da(r/t,4):0,align:xA(e.textAlign),case:nA(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0,widthPx:Number.isFinite(s)&&s<it?Math.round(s):it}}function mA(e){return Number.isFinite(e)?zL.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function xA(e){for(let o of jI)if(o===e)return o;return e==="end"?"right":"left"}function dK(e,o){let t=GI(e);if(!t)return"";for(let a of Qe)if(GI(o(a.cssVar))===t)return a.key;return""}var GI=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function hA(e){let o=Vt(e);return o?`var(${o.cssVar})`:""}function uK(e,o,t,a){return!o||zf(o)?.nodeId!==e?null:t.find(r=>a(r.getAttribute("class")))??t[0]??null}function pK(e,o,t=()=>rr,a=i=>i,r=yA,n=!1,s=()=>!1){let i=0;for(let{element:f,partId:d}of e){let p=zf(d)?.propKey;if(!p)continue;let x=a(p),m=Object.hasOwn(o,x)?ar(o[x])??{}:{},h=Il(uA(m,n),rr,{blockDrawsStyle:s(p)});ca(m.textStyle)?f.setAttribute?.(hl,m.textStyle):f.removeAttribute?.(hl);let b=$f.some(T=>f.style[T]),S=!1;for(let[T,F]of Object.entries(h))bA(f,T,F),F&&(S=!0);if(b||$f.some(T=>h[T]))for(let T of IA(f,r))for(let F of $f)T.style[F]=h[F]??"";S&&(i+=1)}return i}function IA(e,o){let t=fa(e.textContent??""),a=[],r=e;for(let n=0;n<gA&&o(r);n+=1){let s=r.parentElement;if(!s||fa(s.textContent??"")!==t)break;a.push(s),r=s}return a}var gA=8;function yA(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var rr={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:it};function bA(e,o,t){if(!o.startsWith("--")){e.style[o]=t;return}let a=e.style;typeof a.setProperty=="function"?t?a.setProperty(o,t):a.removeProperty?.(o):a[o]=t;let r=e;o===lr&&(t?r.setAttribute?.(UI,""):r.removeAttribute?.(UI))}var UI="data-sf-part-para",SA=Object.keys(Il({},rr)),jf=new Set(["color","overflowWrap",lr,"fontStyle"]),$f=SA.filter(e=>!jf.has(e));function mK(e,o,t,a=n=>n,r=()=>!1){let n=new Map;for(let f of e){let d=Nf(f.key,f.row);for(let p of f.texts){let x=n.get(p);x?(x.keys.add(f.key),x.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(!CA(f))continue;let d=ar(o[f])??{},p=Il(d,rr),x=zI(d),m=ca(d.textStyle)?d.textStyle:void 0;!Object.values(p).some(Boolean)&&!Object.keys(x).length&&!m||s.set(f,{stamp:$I(t,f),declarations:p,...Object.keys(x).length?{phone:x}:{},...m?{textStyle:m}:{}})}let i=new Map;for(let[f,{keys:d,partKeys:p}]of n){let x=p.size===1?[...p][0]:d.size===1?[...d][0]:null;if(!x)continue;let m=a(x);if(!Object.hasOwn(o,m))continue;let h=ar(o[m])??{},b=Il(h,rr,{blockDrawsStyle:r(x)}),S=zI(h),T=ca(h.textStyle)?h.textStyle:void 0;!Object.values(b).some(Boolean)&&!Object.keys(S).length&&!T||i.set(f,{stamp:$I(t,x),declarations:b,...Object.keys(S).length?{phone:S}:{},...T?{textStyle:T}:{}})}return i.size||s.size?{rules:i,kindRules:s,drawn:new Set(n.keys())}:null}function CA(e){return e.startsWith("@")}function xK(e,o){return e?.kindRules.get(o)??null}function $I(e,o){let t=a=>a.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function hK(e){let o=[],t=new Set,a=r=>{let{stamp:n,declarations:s}=r;if(t.has(n))return;t.add(n);let i=Object.entries(s).filter(([,h])=>h!==""),f=h=>h.map(([b,S])=>`${vA(b)}: ${S}`).join("; "),d=`[${ML}="${n}"]`,p=i.filter(([h])=>!jf.has(h)),x=i.filter(([h])=>jf.has(h));p.length&&o.push(`${d}, *:has(> ${d}) { ${f(p)} }`),x.length&&o.push(`${d} { ${f(x)} }`),s[lr]&&o.push(...wA(d));let m=Object.entries(r.phone??{}).filter(([,h])=>h!=="");m.length&&o.push(`@media ${On} { ${d}, *:has(> ${d}) { ${f(m)} } }`)};for(let r of e.rules.values())a(r);for(let r of e.kindRules.values())a(r);return o.join(`
4
4
  `)}function wA(e){let o=`var(${lr})`,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 vA=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function IK(e,o){if(!e)return null;let t=fa(o),a=e.rules.get(t);if(a)return a;if(t.length<kA||e.drawn.has(t))return null;let r=null;for(let[n,s]of e.rules)if(n.includes(t)){if(r&&r.stamp!==s.stamp)return null;r=s}return r}var kA=8;function QI(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 Qf=e=>e==="sentence"?"none":void 0,og=["font","color","size","sizePhone","weight","italic","lineHeight","letterSpacing","paragraphSpacing","letterCase","largestSize"];function Eo(e){let o={};for(let t of og)e[t]!==void 0&&(o[t]=e[t]);return o}function ec(e,o){let{auto:t,...a}=e,r=new Set(o??[]),n=og.filter(s=>r.has(s)&&e.values[s]===void 0);return n.length?{...a,auto:n}:a}function tg(e){let o=e.fonts,t=e.sizes,a=e.typography,r=Nu(e.compression),n={"heading-1":{font:ne(o.heading),size:ee(t.headingLarge),weight:ee(a.weight),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:Qf(a.case),largestSize:ee(a.maxPx)},"heading-2":{font:ne(o.heading2),size:ee(t.headingMedium),weight:ee(a.weight2),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:Qf(a.case2)},"heading-3":{font:ne(o.heading3),size:ee(t.headingSmall),weight:ee(a.weight3),lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,letterCase:Qf(a.case3)},"body-1":{font:ne(o.body),size:ee(t.body)},"body-5":{font:ne(o.label),size:ee(t.label)}};return eg().map(({id:s,kind:i,name:f})=>({id:s,kind:i,name:f,values:Eo(n[s]??{})}))}function oc(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=>ec({...o,values:Eo(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function EK(e){return oc(e)??[]}function ag(e){return oc(e)??eg().map(({id:o,kind:t,name:a})=>({id:o,kind:t,name:a,values:{}}))}function ft(e,o){let t=tg(o),a=oc(e);return a?a.map(r=>{let n={...Jf(t,r.id)};for(let s of r.auto??[])delete n[s];return{...r,values:Eo({...n,...r.values})}}):t}var Jf=(e,o)=>e.find(t=>t.id===o)?.values??{},JI=["heading-1","heading-2","heading-3"];function rg({saved:e,old:o,cur:t,next:a,sizeOf:r}){let n=tg(o),s=ag(e),i=ft(s,o),f=[],d=a.map(x=>{let m=t.find(g=>g.id===x.id),h=s.find(g=>g.id===x.id);if(!m||!h)return PA([x],r)[0];let b={...h.values},S=new Set(h.auto??[]),T=x.values,F=m.values,C=[...new Set([...Object.keys(T),...Object.keys(F)])].filter(g=>JSON.stringify(T[g])!==JSON.stringify(F[g]));C.sort((g,I)=>+(g==="letterSpacing")-+(I==="letterSpacing"));for(let g of C){let I=g==="lineSpacing"?"lineHeight":g,P=T[g];if(P===void 0){delete b[I],Jf(n,x.id)[I]!==void 0&&(f.push([x.id,I]),S.add(I));continue}if(S.delete(I),g==="lineSpacing")b.lineHeight=pa(P/100,3);else if(g==="letterSpacing"){let E=i.find(A=>A.id===x.id),k=r({...x,values:Eo({...E?.values??{},...b})});b.letterSpacing=k?pa(P/k,4):0}else b[I]=P}return ec({id:x.id,kind:x.kind,name:x.name,values:Eo(b)},S)}),p=o.compression;if(f.some(([x,m])=>(m==="lineHeight"||m==="letterSpacing")&&JI.includes(x))&&It(p)!=="normal"){for(let x of JI){let m=d.find(b=>b.id===x);if(!m)continue;let h={...m.values};for(let b of["lineHeight","letterSpacing"])f.some(([S,T])=>S===x&&T===b)||h[b]===void 0&&!(m.auto??[]).includes(b)&&(h[b]=Jf(n,x)[b]);m.values=Eo(h)}p="normal"}return{saved:d,old:{...o,compression:p}}}function ng(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=It(e.old.compression)),t}var pa=(e,o)=>Number(e.toFixed(o));function lg(e,o){return e.map(t=>{let{lineHeight:a,letterSpacing:r,...n}=t.values,s={...n};return a!==void 0&&(s.lineSpacing=pa(a*100,1)),r!==void 0&&(s.letterSpacing=pa(r*o(t),2)),{id:t.id,kind:t.kind,name:t.name,values:s}})}function PA(e,o){return e.map(t=>{let{lineSpacing:a,letterSpacing:r,...n}=t.values,s={id:t.id,kind:t.kind,name:t.name,values:Eo({...n})},i={...s.values};if(a!==void 0&&(i.lineHeight=pa(a/100,3)),r!==void 0){let f=o({...s,values:{...s.values}});i.letterSpacing=f?pa(r/f,4):0}return{...s,values:Eo(i)}})}function FK(e){let o={fonts:Ba({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:_s({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:It(e.heading_compression),typography:Hu(e)},t=e.text_styles??null,a=Array.isArray(t)?tc(ft(t,o),o):o;return{fonts:Ba(a.fonts),sizes:_s(a.sizes),compression:It(a.compression),typography:a.typography,textStyles:t}}function tc(e,o){let t=m=>e.find(h=>h.id===m)?.values??{},a=t("heading-1"),r=t("heading-2"),n=t("heading-3"),s=t("body-1"),i=t("body-5"),f=o.fonts,d=o.sizes,p=o.typography,x=m=>m==="none"?"sentence":"authored";return{fonts:{...f,heading:a.font??f.heading,heading2:r.font??a.font??f.heading2,heading3:n.font??a.font??f.heading3,body:s.font??f.body,label:i.font??f.label},sizes:{...d,headingLarge:a.size??null,headingMedium:r.size??null,headingSmall:n.size??null,body:s.size??null,label:i.size??null},compression:o.compression,typography:{...p,case:x(a.letterCase),weight:a.weight??null,maxPx:a.largestSize??null,weight2:r.weight??null,weight3:n.weight??null,case2:x(r.letterCase),case3:x(n.letterCase)}}}function EA(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 FA(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 OK(e){let o=[];for(let t of e){let a=t.values,r=`.${QI(t)}`,n=`[${hl}="${t.id}"]`,s=`${r}, ${n}`,i=[],f=a.font!==void 0?Qe.find(m=>m.key===a.font)?.cssVar:void 0;if(f&&i.push(`font-family: var(${f})`),a.size!==void 0){let m=a.largestSize!==void 0?Math.min(a.size,a.largestSize):a.size;i.push(`font-size: ${m}px`)}let d=a.color!==void 0?EA(a.color):null;d&&i.push(`color: ${d}`),a.italic===!0&&i.push("font-style: italic"),a.weight!==void 0&&i.push(`font-weight: ${a.weight}`);let p=[];a.lineHeight!==void 0&&p.push(`line-height: ${a.lineHeight}`),a.letterSpacing!==void 0&&p.push(`letter-spacing: ${a.letterSpacing}em`),t.kind==="body"&&i.push(...p);let x=TA(a.letterCase);if(x&&t.kind==="body"&&i.push(`text-transform: ${x}`),a.paragraphSpacing&&i.push(`--sf-part-para: ${a.paragraphSpacing}px`),i.length&&o.push(`${s} { ${i.join("; ")} }`),t.kind==="heading"&&p.length&&o.push(`${s}, ${r}:is(h1, h2, h3, h4), ${n}:is(h1, h2, h3, h4) { ${p.join("; ")} }`),t.kind==="heading"&&x&&o.push(`${n}, ${r}:is(h1, h2, h3, h4) { text-transform: ${x} }`),a.paragraphSpacing&&o.push(...FA(`:is(${s})`)),a.sizePhone!==void 0){let m=OA[t.id],h=[`${s} { font-size: ${a.sizePhone}px }`];m&&h.push(`.sf-themed-content { --size-${m}: ${a.sizePhone}px !important }`),o.push(`@media ${On} { ${h.join(" ")} }`)}}return o.join(`