efficient-storefront-blocks 0.45.0 → 0.45.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -1
- package/dist/chunks/{EditorPreviewCheckout-RA35QPFM.js → EditorPreviewCheckout-ORWZ3U5M.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-RRMVA76I.js → SiteEditorProvider-77MRTMFQ.js} +1 -1
- package/dist/chunks/{chunk-HHZH76OU.js → chunk-HVKN4YAE.js} +1 -1
- package/dist/chunks/{chunk-TREIS6WP.js → chunk-SHC7Z7AY.js} +1 -1
- package/dist/chunks/{chunk-NNJSIHWJ.js → chunk-WSWQW2X3.js} +1 -1
- package/dist/chunks/{fitment-data-KQB6P6A2.js → fitment-data-SGKQISTO.js} +1 -1
- package/dist/index.js +43 -43
- package/package.json +1 -1
- /package/dist/chunks/{SectionEditorShell-JSHUZPVJ.js → SectionEditorShell-S3DLOFOJ.js} +0 -0
- /package/dist/chunks/{chunk-BG52UY3U.js → chunk-G3PA7RZW.js} +0 -0
- /package/dist/chunks/{chunk-HHZH76OU.js.LEGAL.txt → chunk-HVKN4YAE.js.LEGAL.txt} +0 -0
- /package/dist/chunks/{chunk-BAR34RXF.js → chunk-YLAMT2JE.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.45.1 — 2026-10-20
|
|
4
|
+
|
|
5
|
+
- **No published section crashes, or shows a row a merchant hid, because of how its text is stored** (efficient-web-builder 25.1.0). A text row with an eye stores `{ text, hidden }` after the first keystroke. The builder's Chart, Integrations and Mockup passed such rows on raw and crashed a published page (and a header or footer that held one); 25.1.0 reads every one through one reader. The builder range is `^25.1.0` (peer and dev).
|
|
6
|
+
- **BrandStrip honours the eye on its heading and button.** It read them with `hidableText`, which reads the words only, so a shut eye still drew them. It reads them with the builder's `hidableRow` now: `""` when shut, the words when open, and a bare string — a row stored before it had an eye — exactly as before. No stored page needs a change.
|
|
7
|
+
- Guard: `scripts/test-hidable-rows-drawn.tsx` runs the builder's one check (`lib/puck/hidable-rows-drawn`) over the blocks' own 52 commerce and service blocks, through the published registry inside the shopper's providers: 112 hideable rows, 347 variants, each drawn open, shut and bare. It fails on the 0.45.0 BrandStrip; a planted raw `.trim()` fails it too.
|
|
8
|
+
- The 0.45.0 note said the blocks stay on efficient-shell `^7.75.0`; they took `^7.75.0 || ^8.0.0` in the same release, as its next item says. The note is corrected.
|
|
9
|
+
|
|
3
10
|
## 0.45.0 — 2026-10-20
|
|
4
11
|
|
|
5
|
-
- **On efficient-web-builder 25** (keep editor code off shopper pages; GG 2026-10-20). The builder range is `^25.0.0` (peer and dev). 25.0.0 takes the letter cases from easel's `draw` entry (#159) and deletes `PART_CASES` and `PartCase`, which the blocks never used; it accepts efficient-shell 8
|
|
12
|
+
- **On efficient-web-builder 25** (keep editor code off shopper pages; GG 2026-10-20). The builder range is `^25.0.0` (peer and dev). 25.0.0 takes the letter cases from easel's `draw` entry (#159) and deletes `PART_CASES` and `PartCase`, which the blocks never used; it accepts efficient-shell 8, and so do the blocks (next item). The package bundles the builder, so a host of the package moves nothing for it; a host that vendors `src/` (the storefront) installs efficient-web-builder 25 in the same pull request that takes this pin. Nothing a shopper sees moves: the 210-render sweep is byte for byte 0.44.0's.
|
|
6
13
|
- **`scripts/test-render-config.tsx` hands its child process the nodes in a file**, not on stdin. Through the tsx CLI's process the stdin pipe sometimes never reached the child's EOF, and the guard hung (1 run in 4 on this Mac). A 5-minute timeout turns any other hang into a failure. It now also names each drawing that throws on both sides (JJ 2026-10-20), so none is only a count: today BookingBox at its defaults and filled (it needs its parent's booking form), and Chart, Integrations, Mockup, SiteHeader and SiteFooter filled, each with and without a part style.
|
|
7
14
|
- **On efficient-shell 8 too**: the shell peer is `^7.75.0 || ^8.0.0` (`package/` too) and the dev copy `^8.0.0`, so a host on shell 8 (the admin portal) is in range and the guards run on 8. ⚠️ With shell 8.1.0 every uploaded image asks for a resized copy from the live copies host; a host that installs 8.1.0 allows that host in `img-src` first (efficient-shell 8.1.0).
|
|
8
15
|
- **ChatLauncher draws its one icon** (`ChatBubbleLeftRightIcon` from `efficient-shell/icons/efficient-glyphs`), not the by-name `Icon`, which on shell 7 pulls the 72 KB by-name kit map onto every page (JJ 2026-10-20). The markup is byte for byte the same (`data-icon` is kept). `CHAT_LAUNCHER_ICON` is gone (no reader). `scripts/test-render-side.ts` now treats `efficient-shell/icons` as editor-side; ThemedSelect (`placeMenu` from `efficient-shell/ui`) is the one named exception left.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";import{K as qt,L as _t,M as Dt,N as Ft,O as Mt,P as oe,Q as Se,R as Ut,S as Wt,T as Xe,U as $t,W as Ze,a as Lt,aa as Kt,b as Ot,ba as Yt,c as Tt,ca as zt,d as jt,ha as Bt,ia as Ht,la as Qe,na as K,w as qe}from"./chunk-
|
|
1
|
+
"use client";import{K as qt,L as _t,M as Dt,N as Ft,O as Mt,P as oe,Q as Se,R as Ut,S as Wt,T as Xe,U as $t,W as Ze,a as Lt,aa as Kt,b as Ot,ba as Yt,c as Tt,ca as zt,d as jt,ha as Bt,ia as Ht,la as Qe,na as K,w as qe}from"./chunk-SHC7Z7AY.js";import{j as je,p as pe,w as T}from"./chunk-WSWQW2X3.js";import{a as Rt,c as te,ya as It}from"./chunk-YLAMT2JE.js";import{r as At,s as Ce,t as H}from"./chunk-G3PA7RZW.js";import{a as Je,b as or}from"./chunk-Y6SLVHK3.js";var Vt=Je((na,Gt)=>{"use strict";var ir="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";Gt.exports=ir});var Qt=Je((ra,Zt)=>{"use strict";var sr=Vt();function Jt(){}function Xt(){}Xt.resetWarningCache=Jt;Zt.exports=function(){function t(a,o,s,l,d,p){if(p!==sr){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}t.isRequired=t;function e(){return t}var n={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:Xt,resetWarningCache:Jt};return n.PropTypes=n,n}});var tn=Je((ia,en)=>{"use strict";en.exports=Qt()();var aa,oa});import{useEffect as z,useMemo as Ye,useRef as se,useState as g}from"react";var P=or(tn(),1);import x from"react";function nn(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,a=Array(e);n<e;n++)a[n]=t[n];return a}function cr(t){if(Array.isArray(t))return t}function cn(t,e,n){return(e=fr(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function lr(t,e){var n=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(n!=null){var a,o,s,l,d=[],p=!0,u=!1;try{if(s=(n=n.call(t)).next,e!==0)for(;!(p=(a=s.call(n)).done)&&(d.push(a.value),d.length!==e);p=!0);}catch(v){u=!0,o=v}finally{try{if(!p&&n.return!=null&&(l=n.return(),Object(l)!==l))return}finally{if(u)throw o}}return d}}function ur(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function rn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,a)}return n}function an(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?rn(Object(n),!0).forEach(function(a){cn(t,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):rn(Object(n)).forEach(function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(n,a))})}return t}function pr(t,e){if(t==null)return{};var n,a,o=dr(t,e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);for(a=0;a<s.length;a++)n=s[a],e.indexOf(n)===-1&&{}.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function dr(t,e){if(t==null)return{};var n={};for(var a in t)if({}.hasOwnProperty.call(t,a)){if(e.indexOf(a)!==-1)continue;n[a]=t[a]}return n}function ln(t,e){return cr(t)||lr(t,e)||gr(t,e)||ur()}function mr(t,e){if(typeof t!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var a=n.call(t,e);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function fr(t){var e=mr(t,"string");return typeof e=="symbol"?e:e+""}function et(t){"@babel/helpers - typeof";return et=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},et(t)}function gr(t,e){if(t){if(typeof t=="string")return nn(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?nn(t,e):void 0}}var j=function(e,n,a){var o=!!a,s=x.useRef(a);x.useEffect(function(){s.current=a},[a]),x.useEffect(function(){if(!o||!e)return function(){};var l=function(){if(s.current)return s.current.apply(s,arguments)};return e.on(n,l),function(){e.off(n,l)}},[o,n,e,s])},tt=function(e){var n=x.useRef(e);return x.useEffect(function(){n.current=e},[e]),n.current},de=function(e){return e!==null&&et(e)==="object"},yr=function(e){return de(e)&&typeof e.then=="function"},hr=function(e){return de(e)&&typeof e.elements=="function"&&typeof e.createToken=="function"&&typeof e.createPaymentMethod=="function"&&typeof e.confirmCardPayment=="function"},on="[object Object]",vr=function t(e,n){if(e===n)return!0;if(!de(e)||!de(n))return e===n;var a=Array.isArray(e),o=Array.isArray(n);if(a!==o)return!1;var s=Object.prototype.toString.call(e)===on,l=Object.prototype.toString.call(n)===on;if(s!==l)return!1;if(!s&&!a)return e===n;var d=Object.keys(e),p=Object.keys(n);if(d.length!==p.length)return!1;for(var u={},v=0;v<d.length;v+=1)u[d[v]]=!0;for(var b=0;b<p.length;b+=1)u[p[b]]=!0;var f=Object.keys(u);if(f.length!==d.length)return!1;var h=e,A=n,k=function(S){return t(h[S],A[S])};return f.every(k)},un=function(e,n,a){return de(e)?Object.keys(e).reduce(function(o,s){var l=!de(n)||!vr(e[s],n[s]);return a.includes(s)?(l&&console.warn("Unsupported prop change: options.".concat(s," is not a mutable property.")),o):l?an(an({},o||{}),{},cn({},s,e[s])):o},null):null},pn="Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.",sn=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:pn;if(e===null||hr(e))return e;throw new Error(n)},br=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:pn;if(yr(e))return{tag:"async",stripePromise:Promise.resolve(e).then(function(o){return sn(o,n)})};var a=sn(e,n);return a===null?{tag:"empty"}:{tag:"sync",stripe:a}},xr=function(e){!e||!e._registerWrapper||!e.registerAppInfo||(e._registerWrapper({name:"react-stripe-js",version:"6.12.0"}),e.registerAppInfo({name:"react-stripe-js",version:"6.12.0",url:"https://stripe.com/docs/stripe-js/react"}))},_e=x.createContext(null);_e.displayName="ElementsContext";var dn=function(e,n){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(n," in an <Elements> provider."));return e},rt=function(e){var n=e.stripe,a=e.options,o=e.children,s=x.useMemo(function(){return br(n)},[n]),l=x.useState(function(){return{stripe:s.tag==="sync"?s.stripe:null,elements:s.tag==="sync"?s.stripe.elements(a):null}}),d=ln(l,2),p=d[0],u=d[1];x.useEffect(function(){var f=!0,h=function(k){u(function(C){return C.stripe?C:{stripe:k,elements:k.elements(a)}})};return s.tag==="async"&&!p.stripe?s.stripePromise.then(function(A){A&&f&&h(A)}):s.tag==="sync"&&!p.stripe&&h(s.stripe),function(){f=!1}},[s,p,a]);var v=tt(n);x.useEffect(function(){v!==null&&v!==n&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")},[v,n]);var b=tt(a);return x.useEffect(function(){if(p.elements){var f=un(a,b,["clientSecret","fonts"]);f&&p.elements.update(f)}},[a,b,p.elements]),x.useEffect(function(){xr(p.stripe)},[p.stripe]),x.createElement(_e.Provider,{value:p},o)};rt.propTypes={stripe:P.default.any,options:P.default.object};var mn=function(e){var n=x.useContext(_e);return dn(n,e)},fn=function(){var e=mn("calls useElements()"),n=e.elements;return n},kr=function(e){var n=e.children,a=mn("mounts <ElementsConsumer>");return n(a)};kr.propTypes={children:P.default.func.isRequired};var Cr=x.createContext(null);Cr.displayName="CheckoutContext";var gn=x.createContext(null);gn.displayName="CheckoutSdkContext";var nt=function(e){var n=x.useContext(gn),a=x.useContext(_e);if(n){if(a)throw new Error("You cannot wrap the part of your app that ".concat(e," in both a checkout provider and <Elements> provider."));return n}else return dn(a,e)},Sr=["mode"],wr=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},N=function(e,n,a){var o="".concat(wr(e),"Element"),s=function(u){var v=u.id,b=u.className,f=u.options,h=f===void 0?{}:f,A=u.onBlur,k=u.onFocus,C=u.onReady,S=u.onChange,F=u.onEscape,O=u.onClick,J=u.onLoadError,G=u.onLoaderStart,me=u.onNetworksChange,ne=u.onConfirm,Ne=u.onCancel,re=u.onShippingAddressChange,Ee=u.onShippingRateChange,fe=u.onSavedPaymentMethodRemove,Re=u.onSavedPaymentMethodUpdate,ge=u.onAvailablePaymentMethodsChange,Q=nt("mounts <".concat(o,">")),ee="elements"in Q?Q.elements:null,M="checkoutSdk"in Q?Q.checkoutSdk:null,ye=x.useState(null),ce=ln(ye,2),I=ce[0],he=ce[1],_=x.useRef(null),ae=x.useRef(null);j(I,"blur",A),j(I,"focus",k),j(I,"escape",F),j(I,"click",O),j(I,"loaderror",J),j(I,"loaderstart",G),j(I,"networkschange",me),j(I,"confirm",ne),j(I,"cancel",Ne),j(I,"shippingaddresschange",re),j(I,"shippingratechange",Ee),j(I,"savedpaymentmethodremove",fe),j(I,"savedpaymentmethodupdate",Re),j(I,"availablepaymentmethodschange",ge),j(I,"change",S);var U;C&&(e==="expressCheckout"?U=C:U=function(){C(I)}),j(I,"ready",U),x.useLayoutEffect(function(){if(_.current===null&&ae.current!==null&&(ee||M)){var w=null;if(M){var B=M,ve=M;switch(e){case"paymentForm":w=ve.createForm(h);break;case"payment":w=B.createPaymentElement(h);break;case"address":if("mode"in h){var be=h.mode,Be=pr(h,Sr);if(be==="shipping")w=B.createShippingAddressElement(Be);else if(be==="billing")w=B.createBillingAddressElement(Be);else throw new Error("Invalid options.mode. mode must be 'billing' or 'shipping'.")}else throw new Error("You must supply options.mode. mode must be 'billing' or 'shipping'.");break;case"expressCheckout":w=B.createExpressCheckoutElement(h);break;case"currencySelector":w=M.createCurrencySelectorElement();break;case"taxId":w=B.createTaxIdElement(h);break;case"contactDetails":w=B.createContactDetailsElement();break;case"linkSignup":if("createLinkSignupElement"in M)w=M.createLinkSignupElement(h);else throw new Error("<LinkSignupElement> requires <CheckoutElementsProvider> and is not supported inside <CheckoutFormProvider>.");break;case"terms":w=B.createTermsElement(h);break;default:throw new Error("<".concat(o,"> is not supported inside a checkout provider. Use an <Elements> provider instead."))}}else ee&&(w=ee.create(e,h));_.current=w,he(w),w&&w.mount(ae.current)}},[ee,M,h]);var le=tt(h);return x.useEffect(function(){if(_.current){var w=un(h,le,["paymentRequest"]);w&&"update"in _.current&&_.current.update(w)}},[h,le]),x.useLayoutEffect(function(){return function(){if(_.current&&typeof _.current.destroy=="function")try{_.current.destroy(),_.current=null}catch{}}},[]),x.createElement("div",{id:v,className:b,ref:ae})},l=function(u){nt("mounts <".concat(o,">"));var v=u.id,b=u.className;return x.createElement("div",{id:v,className:b})},d=n?l:s;return d.propTypes={id:P.default.string,className:P.default.string,onChange:P.default.func,onBlur:P.default.func,onFocus:P.default.func,onReady:P.default.func,onEscape:P.default.func,onClick:P.default.func,onLoadError:P.default.func,onLoaderStart:P.default.func,onNetworksChange:P.default.func,onConfirm:P.default.func,onCancel:P.default.func,onShippingAddressChange:P.default.func,onShippingRateChange:P.default.func,onSavedPaymentMethodRemove:P.default.func,onSavedPaymentMethodUpdate:P.default.func,onAvailablePaymentMethodsChange:P.default.func,options:P.default.object},d.displayName=o,d.__elementType=e,d},E=typeof window>"u",Pr=x.createContext(null);Pr.displayName="EmbeddedCheckoutProviderContext";var yn=function(){var e=nt("calls useStripe()"),n=e.stripe;return n},ca=N("auBankAccount",E),la=N("card",E),ua=N("cardNumber",E),pa=N("cardExpiry",E),da=N("cardCvc",E),ma=N("currencySelector",E),fa=N("iban",E),hn=N("payment",E),ga=N("expressCheckout",E),ya=N("paymentRequestButton",E),ha=N("linkAuthentication",E),va=N("linkSignup",E),ba=N("contactDetails",E),xa=N("address",E),ka=N("shippingAddress",E),Ca=N("paymentMethodMessaging",E),Sa=N("taxId",E),wa=N("issuingCardNumberDisplay",E),Pa=N("issuingCardCvcDisplay",E),Na=N("issuingCardExpiryDisplay",E),Ea=N("issuingCardPinDisplay",E),Ra=N("issuingCardCopyButton",E),Ia=N("terms",E);function Me(t){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Me=function(e){return typeof e}:Me=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Me(t)}var xn="dahlia",Nr=function(e){return e===3?"v3":e},kn="https://js.stripe.com",Er="".concat(kn,"/").concat(xn,"/stripe.js"),Rr=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,Ir=/^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/,vn="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",Ar=function(e){return Rr.test(e)||Ir.test(e)},Lr=function(){for(var e=document.querySelectorAll('script[src^="'.concat(kn,'"]')),n=0;n<e.length;n++){var a=e[n];if(Ar(a.src))return a}return null},bn=function(e){var n=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",a=document.createElement("script");a.src="".concat(Er).concat(n);var o=document.head||document.body;if(!o)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return o.appendChild(a),a},Or=function(e,n){!e||!e._registerWrapper||e._registerWrapper({name:"stripe-js",version:"9.17.0",startTime:n})},we=null,De=null,Fe=null,Tr=function(e){return function(n){e(new Error("Failed to load Stripe.js",{cause:n}))}},jr=function(e,n){return function(){window.Stripe?e(window.Stripe):n(new Error("Stripe.js not available"))}},qr=function(e){return we!==null?we:(we=new Promise(function(n,a){if(typeof window>"u"||typeof document>"u"){n(null);return}if(window.Stripe&&e&&console.warn(vn),window.Stripe){n(window.Stripe);return}try{var o=Lr();if(o&&e)console.warn(vn);else if(!o)o=bn(e);else if(o&&Fe!==null&&De!==null){var s;o.removeEventListener("load",Fe),o.removeEventListener("error",De),(s=o.parentNode)===null||s===void 0||s.removeChild(o),o=bn(e)}Fe=jr(n,a),De=Tr(a),o.addEventListener("load",Fe),o.addEventListener("error",De)}catch(l){a(l);return}}),we.catch(function(n){return we=null,Promise.reject(n)}))},_r=function(e,n,a){if(e===null)return null;var o=n[0];if(typeof o!="string")throw new Error("Expected publishable key to be of type string, got type ".concat(Me(o)," instead."));var s=o.match(/^pk_test/),l=Nr(e.version),d=xn;s&&l!==d&&console.warn("Stripe.js@".concat(l," was loaded on the page, but @stripe/stripe-js@").concat("9.17.0"," expected Stripe.js@").concat(d,". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));var p=e.apply(void 0,n);return Or(p,a),p},Pe,Cn=!1,Sn=function(){return Pe||(Pe=qr(null).catch(function(e){return Pe=null,Promise.reject(e)}),Pe)};Promise.resolve().then(function(){return Sn()}).catch(function(t){Cn||console.warn(t)});var wn=function(){for(var e=arguments.length,n=new Array(e),a=0;a<e;a++)n[a]=arguments[a];Cn=!0;var o=Date.now();return Sn().then(function(s){return _r(s,n,o)})};var Dr="sf:gclid",Fr="sf:fbclid",Mr=2160*60*60*1e3;function En(){return typeof window<"u"}function Pn(t){let e=Ce.getItem(t);if(!e)return"";try{let{v:n,t:a}=JSON.parse(e);return!n||typeof a!="number"||Date.now()-a>Mr?"":n}catch{return""}}function Nn(t){if(!En())return"";let e=t.replace(/([.$?*|{}()[\]\\/+^])/g,"\\$1"),n=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return n?decodeURIComponent(n[1]):""}function Rn(){if(!En())return{};let t=Pn(Dr),e=Pn(Fr),n=Nn("_fbp"),a=Nn("_fbc");!a&&e&&(a=`fb.1.${Date.now()}.${e}`);let o={};return t&&(o.gclid=t),e&&(o.fbclid=e),n&&(o.fbp=n),a&&(o.fbc=a),o}var In="sf:meta-purchases",Ur=20;function Ln(){return typeof window>"u"||window.parent!==window}function Wr(...t){try{if(Ln()||typeof window.fbq!="function")return;window.fbq(...t)}catch{}}var An=new Set;function $r(t){if(An.has(t))return!1;An.add(t);try{let e=JSON.parse(Ce.getItem(In)??"[]");if(e.includes(t))return!1;Ce.setItem(In,JSON.stringify([...e,t].slice(-Ur)))}catch{}return!0}function Kr(t){return[...new Set(t.filter(Se).flatMap(e=>e.components.map(n=>n.partNumber)))]}function On(t){let e=t.confirmation;Ln()||!$r(e.orderNumber)||Wr("track","Purchase",{value:Number(e.grandTotal),currency:e.currency,content_type:"product",content_ids:Kr(t.lines)},{eventID:e.orderNumber})}var at="checkout-afterpay-context",Ue="checkout-gocardless-context",ot="checkout-zip-context",We="checkout-klarna-context";function Yr({evidence:t,parked:e}){return t?{action:"capture",evidence:t,parked:e}:e?{action:"settle",parked:e}:{action:"ignore"}}function zr(t,e){let n=t.getItem(e);if(t.removeItem(e),!n)return null;try{return JSON.parse(n)}catch{return null}}var Tn={name:"Afterpay",legParam:"afterpay",legValues:["confirm","cancel"],storageKey:at,evidenceFrom(t,e){return e==="cancel"||(t.get("status")??"").toUpperCase()==="CANCELLED"?null:t.get("orderToken")},requestFrom:t=>({token:t})},jn={name:"Zip",legParam:"zip",legValues:["return"],storageKey:ot,evidenceFrom(t){let e=(t.get("result")??"").toLowerCase();return e==="cancelled"||e==="declined"?null:t.get("checkoutId")},requestFrom:t=>({checkoutId:t})};async function it(t,e){let n=new URLSearchParams(e.search),a=n.get(t.legParam);if(!a||!t.legValues.includes(a))return;let o=zr(e.storage,t.storageKey),s=t.evidenceFrom(n,a);e.scrubQuery();let l=Yr({evidence:s,parked:o});if(l.action!=="ignore"){if(e.page.clearCart(),l.action==="settle"){e.page.note(`The ${t.name} payment was not completed \u2014 our team will follow up on payment.`),e.page.land(l.parked.confirmation);return}e.page.setConfirming(!0);try{let d=await e.capture(t.requestFrom(l.evidence));d.status==="paid"?e.page.markPaid():e.page.note(`${t.name} declined the payment \u2014 our team will follow up on payment.`),e.page.land(l.parked?.confirmation??d)}catch{l.parked?(e.page.note(`We could not confirm the ${t.name} payment \u2014 our team will follow up on payment.`),e.page.land(l.parked.confirmation)):e.page.fail(`We could not confirm your ${t.name} payment. Please contact us before trying again \u2014 your payment may already have been taken.`)}finally{e.page.setConfirming(!1)}}}import{Fragment as q,jsx as r,jsxs as c}from"react/jsx-runtime";function qn(t){let e=t.indexOf(`
|
|
3
3
|
`);return e===-1?[t,""]:[t.slice(0,e),t.slice(e+1)]}function _n(t,{canParkContext:e}={canParkContext:!0}){let n=t.paymentMethods,a=[];return n.includes("card")&&a.push({key:"card",title:"Card",body:null,price:r("span",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-accent",children:"VISA \xB7 MC \xB7 AMEX"})}),n.includes("paypal")&&t.paypalClientId&&a.push({key:"paypal",title:"PayPal",body:null,price:r("span",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-accent",children:"PAYPAL \xB7 CARDS"})}),n.includes("afterpay")&&a.push({key:"afterpay",title:"Afterpay",body:null,price:r("span",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-accent",children:"4 \xD7 INTEREST-FREE"})}),n.includes("square")&&t.squareApplicationId&&t.squareLocationId&&a.push({key:"square",title:"Card (Square)",body:null,price:r("span",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-accent",children:"VISA \xB7 MC \xB7 AMEX"})}),n.includes("gocardless")&&e&&a.push({key:"gocardless",title:"Bank Direct Debit",body:null,price:r("span",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-accent",children:"PAY BY BANK"})}),n.includes("zip")&&a.push({key:"zip",title:"Zip",body:null,price:r("span",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-accent",children:"PAY IN 4"})}),n.includes("klarna")&&e&&a.push({key:"klarna",title:"Klarna",body:null,price:r("span",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-accent",children:"PAY LATER"})}),a.push({key:"bank",title:"Bank transfer",body:null,price:r("span",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Invoiced"})}),a}function lt({site:t,logo:e,preview:n=!1}){let{items:a,totals:o,coupon:s,refuseCoupon:l,deliveryOptions:d,shippingMethodId:p,setShippingMethodId:u,identify:v,clearCapturedCart:b}=Xe(),f=d.find(i=>i.id===p)?.pickupLocation??null,{country:h,countries:A,activeCountry:k,formatMoney:C}=oe(),[S,F]=g(()=>_n(t)[0].key),[O,J]=g(!0);z(()=>{J(At(H))},[]);let[G,me]=g(!1),[ne,Ne]=g(""),[re,Ee]=g(""),[fe,Re]=g(""),[ge,Q]=g(""),[ee,M]=g(""),[ye,ce]=g(""),[I,he]=g(""),[_,ae]=g(""),[U,le]=g(()=>h||A[0]?.code||""),[w,B]=g(""),[ve,be]=g([]),Wn=Ye(()=>A.find(i=>i.code===U)??k,[A,U,k])?.postalLabel||"Postal Code",$n=ve[0]?.divisionType||"State / Province";z(()=>{if(!U){be([]);return}let i=!1;return T.listCountrySubdivisions(U).then(m=>{i||(be(m),B(""))}),()=>{i=!0}},[U]);let[X,ut]=g(null),[pt,dt]=g([]),[Ie,Ae]=g("new"),[He,mt]=g(!1),[ft,Kn]=g("Home"),[gt,yt]=g(null),[W]=g(()=>Ht()),[Le,$]=g(null),[ht,xe]=g(null),[vt,Yn]=g(null),[zn,Bn]=g(!1),[Hn,Gn]=g(!1),[V,Ge]=g(null),[bt,ue]=g(!1),[xt,Z]=g(null),[Vn,Jn]=g(!1),[Xn,kt]=g(!1),[Zn,Qn]=g(!1),[er,Ct]=g(!1),St=se(!1);z(()=>{n||St.current||!a.some(Se)||(St.current=!0,qt({lines:a,currency:o.currency,value:o.subtotal-o.discount,coupon:s?.valid?s.code:void 0}))},[a,o,s,n]),z(()=>{v(ne,re.trim()||void 0)},[ne,re,v]);let wt=se(null),[Oe,tr]=g(null);z(()=>{let i=wt.current;if(!Oe||!i)return;let m=()=>i.style.setProperty("--sf-checkout-header-h",`${Oe.offsetHeight}px`);m();let y=new ResizeObserver(m);return y.observe(Oe),()=>y.disconnect()},[Oe]),z(()=>{let i=y=>({setConfirming:y,land:$,markPaid:()=>ue(!0),note:Z,fail:xe,clearCart:b}),m={search:window.location.search,storage:H,scrubQuery:()=>window.history.replaceState(null,"",window.location.pathname)};it(Tn,{...m,capture:T.captureAfterpayPayment,page:i(Jn)}),it(jn,{...m,capture:T.captureZipPayment,page:i(Qn)})},[]),z(()=>{let m=new URLSearchParams(window.location.search).get("gocardless");if(m!=="confirm"&&m!=="cancel")return;let y=H.getItem(Ue);if(H.removeItem(Ue),window.history.replaceState(null,"",window.location.pathname),!y)return;let R;try{R=JSON.parse(y)}catch{return}if(b(),m==="cancel"){Z("The direct debit was not set up \u2014 our team will follow up on payment."),$(R.confirmation);return}kt(!0),T.completeGocardlessPayment({idempotencyKey:R.idempotencyKey}).then(L=>{L.status==="paid"?ue(!0):L.status==="declined"?Z("The direct debit was declined \u2014 our team will follow up on payment."):Z("Your direct debit is set up \u2014 the payment is collecting and will clear in a few days.")}).catch(()=>{Z("We could not confirm the direct debit \u2014 our team will follow up on payment.")}).finally(()=>{$(R.confirmation),kt(!1)})},[]),z(()=>{let i=new URLSearchParams(window.location.search),m=i.get("klarna");if(m!=="confirm"&&m!=="cancel")return;let y=H.getItem(We);H.removeItem(We);let R=i.get("authorization_token");if(window.history.replaceState(null,"",window.location.pathname),!y)return;let L;try{L=JSON.parse(y)}catch{return}if(b(),m==="cancel"||!R){Z("The Klarna payment was not completed \u2014 our team will follow up on payment."),$(L.confirmation);return}Ct(!0),T.captureKlarnaPayment({idempotencyKey:L.idempotencyKey,authorizationToken:R}).then(D=>{D.status==="paid"?ue(!0):D.status==="declined"?Z("Klarna declined the payment \u2014 our team will follow up on payment."):Z("Your Klarna payment is being reviewed \u2014 we'll confirm the outcome shortly.")}).catch(()=>{Z("We could not confirm the Klarna payment \u2014 our team will follow up on payment.")}).finally(()=>{$(L.confirmation),Ct(!1)})},[]);function Pt(i){let[m,y]=qn(i.address);Q(m),M(y),ce(i.city),he(i.zip_code),i.country&&le(i.country),i.phone&&ae(i.phone)}z(()=>{let i=!1;return(async()=>{try{let[m,y,R]=await Promise.all([pe.me(),pe.myProfile().catch(()=>null),pe.myAddresses().catch(()=>[])]);if(i)return;ut(m);let L=R.filter(ke=>ke.is_active);dt(L),Ne(m.email);let D=(y?.contact_name??"").split(/\s+/);Ee(m.first_name||D[0]||""),Re(m.last_name||D.slice(1).join(" "));let Et=m.phone||y?.phone;Et&&ae(Et);let Ve=L.find(ke=>ke.id===m.default_delivery_location)??L[0];if(Ve)Ae(Ve.id),Pt(Ve);else if(y){let[ke,ar]=qn(y.address??"");Q(ke),M(ar),ce(y.city??""),he(y.zip_code??""),y.country&&le(y.country)}}catch{}})(),()=>{i=!0}},[]);function nr(){pe.logout(),ut(null),dt([]),Ae("new"),mt(!1)}let Te=Ye(()=>_n(t,{canParkContext:O}),[t,O]);z(()=>{Te.some(i=>i.key===S)||F(Te[0].key)},[Te,S]);let Nt=ee.trim()?`${ge}
|
|
4
4
|
${ee.trim()}`:ge;async function rr(){if(n||G||a.length===0||o.repricing)return;let i=a.filter(Se).flatMap(m=>jt(m.components,m.qty));if(i.length===0){xe("Pick a size on each wheel's product page before checking out.");return}me(!0),xe(null);try{let y=await(X?T.createOrderAuthed:T.createOrder)({customer:{email:ne,name:`${re} ${fe}`.trim(),phone:_.trim()||void 0,address:Nt,city:ye,state:w||void 0,zipCode:I,country:U},items:i,currency:o.currency,idempotencyKey:W,shippingMethodId:p??void 0,couponCode:Ot(s),...Rn()});if(_t({confirmation:y,lines:a,adsSendTo:t.googleAdsId&&t.googleAdsConversionLabel?`${t.googleAdsId}/${t.googleAdsConversionLabel}`:null}),On({confirmation:y,lines:a}),b(),X&&He&&Ie==="new")try{await pe.createAddress({label:ft.trim()||"Home",contact_name:`${re} ${fe}`.trim(),phone:_.trim(),address:Nt,city:ye,zip_code:I,country:U}),yt("Address saved to your account.")}catch{yt("We couldn't save the address to your account \u2014 you can add it under Account \u2192 Addresses.")}if(S==="card"&&t.paymentMethods.includes("card")){let R=await T.createPaymentIntent({idempotencyKey:W});Ge(y),Yn(R)}else if(S==="paypal"&&t.paymentMethods.includes("paypal"))Ge(y),Bn(!0);else if(S==="afterpay"&&t.paymentMethods.includes("afterpay")){let R=window.location.origin,L=await T.createAfterpayCheckout({idempotencyKey:W,confirmUrl:`${R}/checkout?afterpay=confirm`,cancelUrl:`${R}/checkout?afterpay=cancel`}),D={idempotencyKey:W,confirmation:y};H.setItem(at,JSON.stringify(D)),window.location.assign(L.redirectCheckoutUrl);return}else if(S==="square"&&t.paymentMethods.includes("square"))Ge(y),Gn(!0);else if(S==="gocardless"&&t.paymentMethods.includes("gocardless")){let R=window.location.origin,L=await T.createGocardlessBillingRequest({idempotencyKey:W,confirmUrl:`${R}/checkout?gocardless=confirm`,cancelUrl:`${R}/checkout?gocardless=cancel`}),D={idempotencyKey:W,confirmation:y};H.setItem(Ue,JSON.stringify(D)),window.location.assign(L.authorisationUrl);return}else if(S==="zip"&&t.paymentMethods.includes("zip")){let R=window.location.origin,L=await T.createZipCheckout({idempotencyKey:W,redirectUrl:`${R}/checkout?zip=return`}),D={idempotencyKey:W,confirmation:y};H.setItem(ot,JSON.stringify(D)),window.location.assign(L.redirectUrl);return}else if(S==="klarna"&&t.paymentMethods.includes("klarna")){let R=window.location.origin,L=await T.createKlarnaCheckout({idempotencyKey:W,confirmUrl:`${R}/checkout?klarna=confirm`,cancelUrl:`${R}/checkout?klarna=cancel`}),D={idempotencyKey:W,confirmation:y};H.setItem(We,JSON.stringify(D)),window.location.assign(L.redirectUrl);return}else $(y)}catch(m){let y=Tt(m);y?(l(y),xe(`${y} Your order has not been placed. Place it again to continue without the code.`)):xe(m instanceof je?m.message:"Could not place the order. Please try again."),me(!1)}}return Le?c("div",{className:"flex min-h-screen flex-col items-center justify-center gap-4 bg-bg px-6 text-center text-fg",children:[r("h1",{className:"font-display text-3xl",children:bt?"Payment received":"Order received"}),c("p",{className:"text-fg-dim",children:[bt?c(q,{children:["Thank you \u2014 your payment for order"," ",r("span",{className:"font-mono text-fg",children:Le.orderNumber})," has gone through."," "]}):c(q,{children:["Thank you \u2014 your order ",r("span",{className:"font-mono text-fg",children:Le.orderNumber})," is being reviewed by our team."," "]}),X?c(q,{children:["Track it under"," ",r(te,{href:"/account/orders",className:"text-accent underline",children:"your orders"}),"."]}):r(q,{children:"We\u2019ve emailed you a link to set a password and track it."})]}),xt&&r("p",{className:"text-sm text-fg-dim",children:xt}),gt&&r("p",{className:"text-sm text-fg-dim",children:gt}),!X&&c("p",{className:"text-sm text-fg-dim",children:["You can also"," ",r(te,{href:`/track?order=${encodeURIComponent(Le.orderNumber)}`,className:"text-accent underline",children:"track this order"})," ","anytime with just your order number and email \u2014 no password needed."]}),r(te,{href:"/wheels",className:"mt-2 border-2 border-line px-6 py-3 font-mono text-[12px] uppercase tracking-[0.24em] hover:border-accent",children:"Continue browsing"})]}):Vn?c("div",{className:"flex min-h-screen flex-col items-center justify-center gap-4 bg-bg px-6 text-center text-fg",children:[r("h1",{className:"font-display text-3xl",children:"Confirming your payment\u2026"}),r("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Checking with Afterpay \u2014 one moment."})]}):Xn?c("div",{className:"flex min-h-screen flex-col items-center justify-center gap-4 bg-bg px-6 text-center text-fg",children:[r("h1",{className:"font-display text-3xl",children:"Setting up your direct debit\u2026"}),r("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Confirming with GoCardless \u2014 one moment."})]}):Zn?c("div",{className:"flex min-h-screen flex-col items-center justify-center gap-4 bg-bg px-6 text-center text-fg",children:[r("h1",{className:"font-display text-3xl",children:"Confirming your payment\u2026"}),r("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Checking with Zip \u2014 one moment."})]}):er?c("div",{className:"flex min-h-screen flex-col items-center justify-center gap-4 bg-bg px-6 text-center text-fg",children:[r("h1",{className:"font-display text-3xl",children:"Confirming your payment\u2026"}),r("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Checking with Klarna \u2014 one moment."})]}):vt?r(Br,{payment:vt,onPaid:()=>{ue(!0),$(V)},onSkip:()=>$(V)}):zn&&V?r(Vr,{confirmation:V,clientId:t.paypalClientId??"",idemKey:W,onPaid:()=>{ue(!0),$(V)},onSkip:()=>$(V)}):Hn&&V?r(Xr,{confirmation:V,applicationId:t.squareApplicationId??"",locationId:t.squareLocationId??"",environment:t.squareEnvironment??"production",idemKey:W,onPaid:()=>{ue(!0),$(V)},onSkip:()=>$(V)}):c("div",{ref:wt,className:"bg-bg text-fg",children:[c("header",{ref:tr,className:"sticky top-0 z-30 grid grid-cols-[1fr_auto_1fr] items-center gap-8 border-b border-line px-[var(--sf-site-gutter,40px)] py-6 backdrop-blur-md max-[640px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[640px]:py-4",style:{background:"color-mix(in oklab, var(--bg) 92%, transparent)"},children:[c(te,{href:"/",className:"inline-flex items-center gap-3 font-mono text-[13px] uppercase tracking-[0.26em] text-fg-dim transition-colors hover:text-accent",children:["\u2190",r("span",{className:"max-[640px]:hidden",children:"Back to shop"})]}),r(te,{href:"/","aria-label":`${t.name} home`,className:"inline-flex items-center justify-center",children:r(Kt,{variant:"header",scrolled:!0,src:e?.url??null,reverse:e?.reverse??!1,reversedSrc:e?.reversed??null,inkIsDark:e?.inkIsDark??null,size:e?.size??"medium",sizePx:e?.sizePx??null,siteName:t.name})}),t.cardPayments?c("span",{className:"flex items-center justify-end gap-3 font-mono text-[12px] uppercase tracking-[0.26em] text-fg-dim",children:[r("span",{className:"text-green",children:"\u25CF"}),r("span",{className:"max-[640px]:hidden",children:"Encrypted \xB7"})," Stripe"]}):r("span",{})]}),c("section",{className:"mx-auto flex max-w-[var(--sf-site-width,1600px)] flex-wrap items-center justify-between gap-x-8 gap-y-3 border-b border-line bg-surface px-[var(--sf-site-gutter,40px)] py-4 font-mono text-[13px] font-medium uppercase tracking-[0.24em] text-fg max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:[r("span",{className:"inline-flex items-center bg-accent px-3 py-1 font-bold text-bg",children:"Checkout"}),r("nav",{"aria-label":"Checkout steps",className:"flex flex-wrap items-center gap-5",children:[{n:"01",label:"Cart",state:"done"},{n:"02",label:"Ship & pay",state:"active"},{n:"03",label:"Confirmed",state:"pending"}].map(i=>c("span",{className:["relative flex items-center gap-2 transition-colors",i.state==="pending"?"text-fg-dim":"text-fg",i.state==="active"?"font-bold after:absolute after:inset-x-0 after:-bottom-1 after:h-[2px] after:bg-accent":""].join(" "),children:[r("span",{className:i.state==="done"?"text-accent font-bold":"",children:i.n}),r("span",{children:i.label})]},i.n))})]}),c("main",{className:"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-[1fr_420px] items-start gap-16 px-[var(--sf-site-gutter,40px)] pt-10 pb-[100px] max-[1100px]:grid-cols-1 max-[1100px]:gap-10 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:pt-8 max-[1100px]:pb-20",children:[c("div",{children:[c($e,{num:"N\xB0 01",title:"Contact",children:[r(K,{label:"Email",hint:X?c(q,{children:["Signed in \xB7"," ",r("button",{type:"button",onClick:nr,className:"underline transition-colors hover:text-accent",children:"Not you? Sign out"})]}):void 0,children:r("input",{type:"email",value:ne,onChange:i=>Ne(i.target.value),placeholder:"you@example.com",readOnly:X!==null,className:Y+(X?" opacity-70":"")})}),c(Fn,{children:[r(K,{label:"First name",children:r("input",{type:"text",value:re,onChange:i=>Ee(i.target.value),className:Y})}),r(K,{label:"Last name",children:r("input",{type:"text",value:fe,onChange:i=>Re(i.target.value),className:Y})})]})]}),c($e,{num:"N\xB0 02",title:f?"Collection":"Shipping address",children:[f?c("div",{className:"grid gap-2 text-[14px] leading-[1.6]",children:[r("span",{className:"font-medium",children:f.name}),[f.address,f.city,f.state,f.zipCode,f.country].filter(Boolean).length>0&&r("span",{className:"opacity-80",children:[f.address,f.city,f.state,f.zipCode,f.country].filter(Boolean).join(", ")}),f.openingHours&&r("span",{className:"opacity-80",children:f.openingHours}),f.instructions&&r("span",{className:"opacity-80",children:f.instructions}),r("span",{className:"mt-1 font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim",children:"No delivery address needed"})]}):c(q,{children:[X!==null&&pt.length>0&&c("div",{className:"grid gap-3",children:[pt.map(i=>r(Ke,{active:Ie===i.id,onClick:()=>{Ae(i.id),Pt(i)},title:i.label,body:i.formatted_address,price:null},i.id)),r(Ke,{active:Ie==="new",onClick:()=>Ae("new"),title:"New address",body:null,price:null})]}),r(K,{label:"Address line 1",children:r("input",{type:"text",value:ge,onChange:i=>Q(i.target.value),className:Y})}),r(K,{label:"Address line 2",children:r("input",{type:"text",value:ee,onChange:i=>M(i.target.value),placeholder:"Apartment, unit, garage bay\u2026",className:Y})}),c(Fn,{cols:"three",children:[r(K,{label:"City",children:r("input",{type:"text",value:ye,onChange:i=>ce(i.target.value),className:Y})}),r(K,{label:Wn,children:r("input",{type:"text",value:I,onChange:i=>he(i.target.value),className:Y})}),r(K,{label:"Country",separate:!0,children:r(Qe,{value:U,onChange:i=>le(i.target.value),className:Y+" pr-10",style:Dn,children:A.map(i=>r("option",{value:i.code,children:i.name},i.code))})})]}),r(K,{label:$n,separate:!0,children:ve.length>0?c(Qe,{value:w,onChange:i=>B(i.target.value),className:Y+" pr-10",style:Dn,children:[r("option",{value:"",children:"Select\u2026"}),ve.map(i=>r("option",{value:i.code||i.name,children:i.name},i.code||i.name))]}):r("input",{type:"text",value:w,onChange:i=>B(i.target.value),className:Y})})]}),r(K,{label:"Phone",children:r("input",{type:"tel",value:_,onChange:i=>ae(i.target.value),placeholder:"+44 7700 900000",className:Y})}),!f&&X!==null&&Ie==="new"&&c(q,{children:[r(Zr,{checked:He,onChange:mt,label:"Save this address to my account"}),He&&r(K,{label:"Address label",children:r("input",{type:"text",value:ft,onChange:i=>Kn(i.target.value),placeholder:"Home",className:Y})})]})]}),r($e,{num:"N\xB0 03",title:"Shipping",children:c("div",{className:"grid gap-3",children:[d.map(i=>{let m=i.pickupLocation,y=m?[m.address,m.city,m.state,m.zipCode].filter(Boolean).join(", "):null;return r(Ke,{active:p===i.id,onClick:()=>u(i.id),title:m?`${i.name} \u2014 ${m.name}`:i.name,body:m?[y,m.openingHours,m.instructions,i.description].filter(Boolean).join(" \xB7 "):i.description||null,price:o.freeShipping||i.amount===0?qe:C(i.amount,o.currency),tag:i.tag||void 0},i.id)}),d.length===0&&r("p",{className:"font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim",children:"Shipping is arranged after your order is reviewed."})]})}),c($e,{num:"N\xB0 04",title:"Payment",children:[r("div",{className:"grid gap-3",children:Te.map(i=>r(Ke,{active:S===i.key,onClick:()=>F(i.key),title:i.title,body:i.body,price:i.price,tag:i.tag},i.key))}),S==="card"?r("p",{className:"font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim",children:"You\u2019ll enter card details on the secure payment step after placing the order."}):S==="paypal"?r("p",{className:"font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim",children:"You\u2019ll approve the payment with PayPal on the payment step after placing the order."}):S==="afterpay"?r("p",{className:"font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim",children:"You\u2019ll be taken to Afterpay to approve four interest-free payments, then brought straight back."}):S==="square"?r("p",{className:"font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim",children:"You\u2019ll enter card details on the secure payment step after placing the order."}):S==="gocardless"?r("p",{className:"font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim",children:"You\u2019ll set up a bank direct debit with GoCardless, then be brought straight back. Direct debits clear in a few days."}):S==="zip"?r("p",{className:"font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim",children:"You\u2019ll be taken to Zip to approve four instalments, then brought straight back."}):S==="klarna"?r("p",{className:"font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim",children:"You\u2019ll be taken to Klarna to choose how to pay, then brought straight back."}):r("p",{className:"font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim",children:"Our team emails you the invoice and bank details after review."})]})]}),c("aside",{className:"sticky top-[var(--sf-checkout-header-h,88px)] border border-line max-[1100px]:static",style:{background:"linear-gradient(180deg, color-mix(in oklab, var(--site-surface) 70%, var(--bg)) 0%, var(--bg) 100%)"},children:[c("header",{className:"flex items-center justify-between border-b border-accent bg-accent px-6 py-4 font-mono text-[13px] font-bold uppercase tracking-[0.28em] text-bg",children:[r("span",{children:"Your order"}),r(te,{href:"/wheels",className:"text-bg/80 transition-colors hover:text-bg",children:"Edit \u2197"})]}),r("div",{className:"flex flex-col px-6 py-2",children:a.length===0?c("div",{className:"py-8 text-center font-serif text-[16px] italic leading-[1.5] text-fg-dim",children:["Your cart is empty. ",r(te,{href:"/wheels",className:"text-accent underline-offset-4 hover:underline",children:"Browse the catalog \u2192"})]}):a.map(i=>r(Qr,{slug:i.slug,name:i.name,qty:i.qty,config:i.config,configSummary:ea(i.config),price:Ut(i,o.currency)??0,currency:o.currency},i.id))}),r("div",{className:"border-t border-line px-6 pt-5",children:r(Bt,{customerEmail:ne})}),c("div",{className:"flex flex-col gap-2 border-t border-line mt-5 px-6 pt-5",children:[r(ie,{label:"Subtotal",value:C(o.subtotal,o.currency)}),o.discount>0&&s?.valid&&r(ie,{label:`Coupon \xB7 ${s.code}`,value:c("span",{className:"font-semibold text-green",children:["\u2212 ",C(o.discount,o.currency)]})}),s?.deferred&&r(ie,{label:`Coupon \xB7 ${s.code}`,value:Lt}),s?.valid&&s.effects?.gift&&r(ie,{label:`Free gift \xB7 ${s.effects.gift.partNumber}${s.effects.gift.quantity>1?` \xD7${s.effects.gift.quantity}`:""}`,value:r("span",{className:"font-semibold text-green",children:qe})}),r(ie,{label:"Shipping",value:o.shippingStatus==="free"?r("span",{className:"font-semibold text-green",children:qe}):Ft(o.shippingStatus)??C(o.shipping,o.currency)}),o.tax&&(o.tax.charged?r(ie,{label:o.tax.inclusive?`${o.tax.name} included \xB7 ${o.tax.rate}%`:o.tax.name,value:C(o.tax.amount,o.currency)}):o.tax.name?r(ie,{label:o.tax.name,value:Dt}):null)]}),c("div",{className:"mt-4 flex items-end justify-between border-y-2 border-accent px-6 py-4",style:{background:"color-mix(in oklab, var(--accent) 10%, var(--bg))"},children:[r("span",{className:"font-display text-[20px] font-bold uppercase tracking-[0.04em] text-fg",children:"Total"}),r("span",{className:"text-right font-display text-[34px] font-bold leading-none tracking-[-0.025em] text-fg",children:o.repricing?"\u2026":C(o.grand,o.currency)})]}),c("div",{className:"flex flex-col gap-3 px-6 pt-5 pb-6",children:[ht&&r("p",{className:"border border-red-300 bg-red-50 px-3 py-2 text-[13px] text-red-700",children:ht}),o.hasUnpricedLine&&c("p",{className:"border border-amber-300 bg-amber-50 px-3 py-2 text-[13px] text-amber-800",children:["One or more items have no price in ",o.currency,". Remove them, or switch region, to continue."]}),r("button",{type:"button",onClick:rr,disabled:G||a.length===0||o.hasUnpricedLine||o.repricing,className:["group flex items-center justify-between border px-5 py-5 font-mono text-[14px] font-medium uppercase tracking-[0.3em] transition-all",a.length===0||G||o.hasUnpricedLine||o.repricing?"cursor-not-allowed border-line bg-surface text-fg-dim":"border-btn bg-btn text-btn-ink hover:border-fg hover:bg-fg"].join(" "),children:G?c(q,{children:["Building order\u2026 ",r("span",{children:"\xB7"})]}):o.repricing?c(q,{children:["Updating total\u2026 ",r("span",{children:"\xB7"})]}):c(q,{children:[S==="bank"?"Place order":"Continue to payment"," \xB7"," ",C(o.grand,o.currency),r("span",{className:"transition-transform group-hover:translate-x-1",children:"\u2192"})]})})]})]})]}),r("footer",{className:"flex flex-wrap items-center justify-between gap-4 border-t border-line px-[var(--sf-site-gutter,40px)] py-6 font-mono text-[12px] uppercase tracking-[0.22em] text-fg-dim max-[640px]:px-[min(20px,var(--sf-site-gutter,40px))]",children:r("span",{children:$t({legalName:t.legalName,foundedYear:t.foundedYear,siteName:t.name})})})]})}var Y="w-full border-2 border-line bg-bg px-4 py-4 font-display text-[17px] tracking-[-0.005em] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent",Dn={backgroundImage:"linear-gradient(45deg, transparent 50%, var(--accent) 50%), linear-gradient(135deg, var(--accent) 50%, transparent 50%)",backgroundPosition:"calc(100% - 18px) 50%, calc(100% - 12px) 50%",backgroundSize:"6px 6px",backgroundRepeat:"no-repeat"};function $e({num:t,title:e,children:n}){return c("section",{className:"mb-6 border border-line bg-bg",children:[c("header",{className:"flex items-center gap-4 border-b border-line bg-surface px-6 py-4",children:[r("span",{className:"inline-flex items-center justify-center bg-accent px-3 py-1 font-mono text-[11px] font-bold uppercase tracking-[0.24em] text-bg",children:t}),r("h2",{className:"font-display text-[26px] font-medium uppercase leading-none tracking-[-0.02em] text-fg",children:e})]}),r("div",{className:"flex flex-col gap-4 px-6 py-6",children:n})]})}function Fn({cols:t="two",children:e}){return r("div",{className:["grid gap-3 max-[640px]:grid-cols-1",t==="two"?"grid-cols-2":"grid-cols-[1.2fr_1fr_1fr]"].join(" "),children:e})}function Ke({active:t,onClick:e,title:n,body:a,price:o,tag:s}){return c("button",{type:"button",onClick:e,"aria-pressed":t,className:["relative grid grid-cols-[auto_1fr_auto] items-center gap-5 border bg-bg px-6 py-5 text-left transition-colors",t?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-line hover:border-[color-mix(in_oklab,var(--accent)_50%,var(--site-line))]"].join(" "),style:t?{background:"color-mix(in oklab, var(--accent) 14%, var(--bg))"}:void 0,children:[t&&r("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),r("span",{className:["flex h-[18px] w-[18px] items-center justify-center rounded-full border-2",t?"border-accent":"border-fg-dim"].join(" "),children:t&&r("span",{className:"block h-2.5 w-2.5 rounded-full bg-accent"})}),c("span",{className:"flex min-w-0 flex-col gap-1",children:[c("span",{className:"flex flex-wrap items-baseline gap-3 font-display text-[18px] font-medium tracking-[-0.01em] text-fg",children:[n,s&&r("span",{className:"border px-2 py-0.5 font-mono text-[11px] font-normal uppercase tracking-[0.24em] text-accent",style:{background:"color-mix(in oklab, var(--accent) 14%, transparent)",borderColor:"color-mix(in oklab, var(--accent) 45%, var(--site-line))"},children:s})]}),a&&r("span",{className:"font-mono text-[12px] uppercase tracking-[0.22em] text-fg-dim",children:a})]}),r("span",{className:"whitespace-nowrap font-display text-[18px] font-medium tracking-[-0.01em] text-fg",children:o})]})}function Br({payment:t,onPaid:e,onSkip:n}){let{formatMoney:a}=oe(),o=Ye(()=>wn(t.publishableKey),[t.publishableKey]),s=Ye(()=>{if(typeof document>"u")return;let l=getComputedStyle(document.documentElement),d=(u,v)=>l.getPropertyValue(u).trim()||v,p=document.documentElement.getAttribute("data-theme")!=="light";return{theme:p?"night":"stripe",variables:{colorPrimary:d("--accent",p?"#c9a461":"#8a6a2a"),colorBackground:d("--site-surface",p?"#131313":"#ffffff"),colorText:d("--fg",p?"#f5f1e8":"#0a0a0a"),borderRadius:"0px"}}},[]);return r("div",{className:"flex min-h-screen flex-col items-center justify-center gap-6 bg-bg px-6 py-16 text-fg",children:c("div",{className:"w-full max-w-xl border border-line bg-bg",children:[c("header",{className:"flex items-center justify-between gap-4 border-b border-line bg-surface px-6 py-4",children:[r("span",{className:"inline-flex items-center justify-center bg-accent px-3 py-1 font-mono text-[11px] font-bold uppercase tracking-[0.24em] text-bg",children:t.orderNumber}),r("h1",{className:"font-display text-[26px] font-medium uppercase leading-none tracking-[-0.02em] text-fg",children:"Payment"})]}),c("div",{className:"flex flex-col gap-4 px-6 py-6",children:[c("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:["Your order is placed. Pay"," ",r("span",{className:"text-fg",children:a(Number(t.amount),t.currency)})," ","by card to confirm it now."]}),r(rt,{stripe:o,options:{clientSecret:t.clientSecret,appearance:s},children:r(Hr,{payment:t,onPaid:e,onSkip:n})})]})]})})}function Hr({payment:t,onPaid:e,onSkip:n}){let{formatMoney:a}=oe(),o=yn(),s=fn(),[l,d]=g(!1),[p,u]=g(null);async function v(){if(!o||!s||l)return;d(!0),u(null);let b=await o.confirmPayment({elements:s,redirect:"if_required"});if(b.error){u(b.error.message??"Payment failed. Please try again."),d(!1);return}let f=b.paymentIntent?.status;if(f==="succeeded"||f==="processing"){e();return}u("Payment did not complete. Please try again."),d(!1)}return c("div",{className:"flex flex-col gap-4",children:[r(hn,{}),p&&r("p",{className:"border border-red-300 bg-red-50 px-3 py-2 text-[13px] text-red-700",children:p}),r("button",{type:"button",onClick:v,disabled:!o||!s||l,className:["group flex items-center justify-between border px-5 py-5 font-mono text-[14px] font-medium uppercase tracking-[0.3em] transition-all",!o||!s||l?"cursor-not-allowed border-line bg-surface text-fg-dim":"border-btn bg-btn text-btn-ink hover:border-fg hover:bg-fg"].join(" "),children:l?c(q,{children:["Processing\u2026 ",r("span",{children:"\xB7"})]}):c(q,{children:["Pay ",a(Number(t.amount),t.currency),r("span",{className:"transition-transform group-hover:translate-x-1",children:"\u2192"})]})}),r("button",{type:"button",onClick:n,disabled:l,className:"self-center font-mono text-[11px] uppercase tracking-[0.24em] text-fg-dim underline-offset-4 transition-colors hover:text-accent hover:underline",children:"Pay later \u2014 our team will be in touch"})]})}var Mn="paypal-sdk-js",st=null;function Gr(t,e){let n=`${t}|${e}`;if(st?.key===n)return st.promise;let a=new Promise((o,s)=>{document.getElementById(Mn)?.remove();let l=document.createElement("script");l.id=Mn;let d=new URLSearchParams({"client-id":t,currency:e,intent:"capture"});l.src=`https://www.paypal.com/sdk/js?${d}`,l.onload=()=>{let p=window.paypal;p?o(p):s(new Error("PayPal SDK loaded without its namespace"))},l.onerror=()=>s(new Error("PayPal SDK failed to load")),document.head.appendChild(l)});return st={key:n,promise:a},a}function Vr({confirmation:t,clientId:e,idemKey:n,onPaid:a,onSkip:o}){let{formatMoney:s}=oe(),l=se(null),[d,p]=g(!1),[u,v]=g(null),b=se(a);return b.current=a,z(()=>{let f=!1,h=null;return Gr(e,t.currency).then(A=>{if(!(f||!l.current))return h=A.Buttons({style:{layout:"vertical",color:"gold",shape:"rect",label:"paypal"},createOrder:async()=>(await T.createPaypalOrder({idempotencyKey:n})).paypalOrderId,onApprove:async k=>{try{if((await T.capturePaypalOrder({idempotencyKey:n,paypalOrderId:k.orderID})).status==="paid"){b.current();return}v("PayPal did not complete the payment. Please try again.")}catch(C){v(C instanceof je?C.message:"PayPal payment failed. Please try again.")}},onError:()=>{v("PayPal could not process the payment. Please try again.")}}),h.render(l.current).then(()=>{f||p(!0)})}).catch(()=>{f||v("PayPal could not be loaded. You can pay later \u2014 your order stands either way.")}),()=>{f=!0,h?.close?.()}},[e,t.currency,n]),r("div",{className:"flex min-h-screen flex-col items-center justify-center gap-6 bg-bg px-6 py-16 text-fg",children:c("div",{className:"w-full max-w-xl border border-line bg-bg",children:[c("header",{className:"flex items-center justify-between gap-4 border-b border-line bg-surface px-6 py-4",children:[r("span",{className:"inline-flex items-center justify-center bg-accent px-3 py-1 font-mono text-[11px] font-bold uppercase tracking-[0.24em] text-bg",children:t.orderNumber}),r("h1",{className:"font-display text-[26px] font-medium uppercase leading-none tracking-[-0.02em] text-fg",children:"PayPal"})]}),c("div",{className:"flex flex-col gap-4 px-6 py-6",children:[c("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:["Your order is placed. Pay"," ",r("span",{className:"text-fg",children:s(Number(t.grandTotal),t.currency)})," ","with PayPal to confirm it now."]}),!d&&!u&&r("p",{className:"font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim",children:"Loading PayPal\u2026"}),r("div",{ref:l}),u&&r("p",{className:"border border-red-300 bg-red-50 px-3 py-2 text-[13px] text-red-700",children:u}),r("button",{type:"button",onClick:o,className:"self-center font-mono text-[11px] uppercase tracking-[0.24em] text-fg-dim underline-offset-4 transition-colors hover:text-accent hover:underline",children:"Pay later \u2014 our team will be in touch"})]})]})})}var Un="square-web-sdk",ct=null;function Jr(t){let e=t==="sandbox"?"sandbox":"production";if(ct?.key===e)return ct.promise;let n=new Promise((a,o)=>{document.getElementById(Un)?.remove();let s=document.createElement("script");s.id=Un,s.src=e==="sandbox"?"https://sandbox.web.squarecdn.com/v1/square.js":"https://web.squarecdn.com/v1/square.js",s.onload=()=>{let l=window.Square;l?a(l):o(new Error("Square SDK loaded without its namespace"))},s.onerror=()=>o(new Error("Square SDK failed to load")),document.head.appendChild(s)});return ct={key:e,promise:n},n}function Xr({confirmation:t,applicationId:e,locationId:n,environment:a,idemKey:o,onPaid:s,onSkip:l}){let{formatMoney:d}=oe(),p=se(null),u=se(null),v=se(null),[b,f]=g(!1),[h,A]=g(!1),[k,C]=g(null);z(()=>{let F=!1,O=null;return Jr(a).then(async J=>{if(F||!p.current)return;let G=J.payments(e,n);v.current=G,O=await G.card(),await O.attach(p.current),u.current=O,F||f(!0)}).catch(()=>{F||C("Square could not be loaded. You can pay later \u2014 your order stands either way.")}),()=>{F=!0,O?.destroy?.()}},[e,n,a]);async function S(){let F=u.current;if(!(!F||h)){A(!0),C(null);try{let O=await F.tokenize();if(O.status!=="OK"||!O.token){C(O.errors?.[0]?.message??"Please check the card details and try again."),A(!1);return}let J;try{J=(await v.current?.verifyBuyer?.(O.token,{amount:String(t.grandTotal),currencyCode:t.currency,intent:"CHARGE"}))?.token}catch{}if((await T.chargeSquare({idempotencyKey:o,sourceId:O.token,...J?{verificationToken:J}:{}})).status==="paid"){s();return}C("Square did not complete the payment. Please try again.")}catch(O){C(O instanceof je?O.message:"Square payment failed. Please try again.")}A(!1)}}return r("div",{className:"flex min-h-screen flex-col items-center justify-center gap-6 bg-bg px-6 py-16 text-fg",children:c("div",{className:"w-full max-w-xl border border-line bg-bg",children:[c("header",{className:"flex items-center justify-between gap-4 border-b border-line bg-surface px-6 py-4",children:[r("span",{className:"inline-flex items-center justify-center bg-accent px-3 py-1 font-mono text-[11px] font-bold uppercase tracking-[0.24em] text-bg",children:t.orderNumber}),r("h1",{className:"font-display text-[26px] font-medium uppercase leading-none tracking-[-0.02em] text-fg",children:"Card"})]}),c("div",{className:"flex flex-col gap-4 px-6 py-6",children:[c("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:["Your order is placed. Pay"," ",r("span",{className:"text-fg",children:d(Number(t.grandTotal),t.currency)})," ","by card to confirm it now."]}),!b&&!k&&r("p",{className:"font-mono text-[11px] uppercase tracking-[0.2em] text-fg-dim",children:"Loading card form\u2026"}),r("div",{ref:p}),k&&r("p",{className:"border border-red-300 bg-red-50 px-3 py-2 text-[13px] text-red-700",children:k}),r("button",{type:"button",onClick:S,disabled:!b||h,className:["group flex items-center justify-between border px-5 py-5 font-mono text-[14px] font-medium uppercase tracking-[0.3em] transition-all",!b||h?"cursor-not-allowed border-line bg-surface text-fg-dim":"border-btn bg-btn text-btn-ink hover:border-fg hover:bg-fg"].join(" "),children:h?c(q,{children:["Processing\u2026 ",r("span",{children:"\xB7"})]}):c(q,{children:["Pay ",d(Number(t.grandTotal),t.currency),r("span",{className:"transition-transform group-hover:translate-x-1",children:"\u2192"})]})}),r("button",{type:"button",onClick:l,disabled:h,className:"self-center font-mono text-[11px] uppercase tracking-[0.24em] text-fg-dim underline-offset-4 transition-colors hover:text-accent hover:underline",children:"Pay later \u2014 our team will be in touch"})]})]})})}function Zr({checked:t,onChange:e,label:n,sub:a}){return c("div",{className:"flex items-start gap-3 border-t border-line py-4 first:border-t-0 first:pt-0",children:[r("button",{type:"button",onClick:()=>e(!t),"aria-pressed":t,"aria-label":n,className:["mt-px flex h-5 w-5 flex-shrink-0 items-center justify-center border transition-colors",t?"border-accent":"border-line"].join(" "),style:t?{background:"color-mix(in oklab, var(--accent) 18%, transparent)"}:void 0,children:t&&r("span",{className:"text-[13px] text-accent",children:"\u2713"})}),c("span",{className:"flex-1 font-display text-[16px] leading-[1.5] text-fg",children:[n,a&&r("small",{className:"mt-1 block font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim",children:a})]})]})}function Qr({slug:t,name:e,qty:n,config:a,configSummary:o,price:s,currency:l}){let{catalog:d}=Xe(),{formatMoney:p}=oe(),u=d.find(k=>k.slug===t),v=u?.spokes??5,b=u?.mesh??!1,f=a.find(k=>k.gold)?.label,h=u?.finishes.find(k=>k.name===f&&k.src)??u?.finishes.find(k=>k.src),A=u?.finishes[0]?.color??zt;return c("div",{className:"grid grid-cols-[60px_1fr_auto] items-center gap-4 border-b border-line py-4 last:border-b-0",children:[c("div",{className:"relative flex aspect-square items-center justify-center overflow-hidden border border-line bg-surface",children:[r("span",{className:"absolute -right-1.5 -top-1.5 z-[2] flex h-[18px] w-[18px] items-center justify-center rounded-full bg-accent font-mono text-[11px] font-bold text-bg",children:n}),h?.src?r(Rt,{src:h.src,alt:`${e.lead}${e.accent} \u2014 ${h.name}`,width:120,height:120,sizes:"60px",className:"relative block h-full w-full object-contain p-2"}):r("div",{className:"block w-[78%]",style:{color:A},children:r(Yt,{spokes:v,mesh:b,className:"block w-full"})})]}),c("div",{className:"flex min-w-0 flex-col gap-0.5",children:[c("span",{className:"font-display text-[17px] font-bold uppercase leading-none tracking-[-0.005em] text-fg",children:[e.lead,r("em",{className:"font-serif font-normal italic text-accent tracking-[-0.005em] normal-case",children:e.accent})]}),r("span",{className:"font-mono text-[12px] uppercase leading-[1.5] tracking-[0.18em] text-fg-dim",children:o})]}),r("span",{className:"text-right font-display text-[17px] font-bold tracking-[-0.005em] text-fg",children:p(s,l)})]})}function ie({label:t,value:e}){return c("div",{className:"flex items-center justify-between font-mono text-[13px] font-medium uppercase tracking-[0.18em] text-fg",children:[r("span",{children:t}),r("strong",{className:"font-display text-[16px] font-medium tracking-[-0.005em] normal-case text-fg",children:e})]})}function ea(t){return t.map(e=>e.label).join(" \xB7 ")}import{jsx as ze}from"react/jsx-runtime";function ta(){let{settings:t,websiteName:e}=It(),n=e?{...Ze,name:e}:Ze,a=t?{url:t.logoUrl,reversed:t.logoReversed??null,inkIsDark:t.logoInkIsDark??null,reverse:t.reverseLogo,size:t.logoSize,sizePx:t.logoSizePx}:null;return ze("div",{style:{position:"fixed",inset:0,zIndex:2147482e3,overflowY:"auto",background:"var(--bg)",color:"var(--fg)"},children:ze(Mt,{children:ze(Wt,{preview:!0,children:ze(lt,{site:n,logo:a,preview:!0})})})})}export{ta as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{hi as t}from"./chunk-
|
|
1
|
+
"use client";import{hi as t}from"./chunk-HVKN4YAE.js";import"./chunk-YLAMT2JE.js";import"./chunk-G3PA7RZW.js";import"./chunk-Y6SLVHK3.js";import{jsx as e}from"react/jsx-runtime";import{default as r}from"efficient-easel/screen/components/ScreenStoreProvider";function p(o){return e(r,{...o,parts:t})}export{p as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{A as $o,B as Rt,Ba as Wa,C as At,Ca as lu,Da as su,E as jd,H as Or,J as Kd,K as us,M as Vd,N as Yd,P as Xd,Q as ps,S as Zd,T as to,U as lt,V as Qd,W as Io,X as za,Z as Jd,_ as ms,a as Nd,ba as eu,c as Md,ca as xs,d as no,e as Lt,ea as Is,f as Eo,g as Ha,h as Wd,ia as ou,l as Lr,n as cs,oa as st,qa as tu,s as Gd,sa as ru,t as Ud,u as ds,ua as au,v as Qe,w as $d,x as qd,y as Ot,ya as Z,z as xo,za as nu}from"./chunk-
|
|
1
|
+
import{A as $o,B as Rt,Ba as Wa,C as At,Ca as lu,Da as su,E as jd,H as Or,J as Kd,K as us,M as Vd,N as Yd,P as Xd,Q as ps,S as Zd,T as to,U as lt,V as Qd,W as Io,X as za,Z as Jd,_ as ms,a as Nd,ba as eu,c as Md,ca as xs,d as no,e as Lt,ea as Is,f as Eo,g as Ha,h as Wd,ia as ou,l as Lr,n as cs,oa as st,qa as tu,s as Gd,sa as ru,t as Ud,u as ds,ua as au,v as Qe,w as $d,x as qd,y as Ot,ya as Z,z as xo,za as nu}from"./chunk-YLAMT2JE.js";import{a as Dd,c as ao,l as Hd,m as Pr,n as zd,q as iu,u as hs}from"./chunk-G3PA7RZW.js";var Ga=null,xC="en",cu=null;function RM(e,o,t){Ga=e??null,xC=o||"en",cu=t??null}function j(){return cu}function du(){return Ga}function fu(e,o){return o?e.replace(/\{([A-Za-z][A-Za-z0-9_]*)\}/g,(t,r)=>Object.prototype.hasOwnProperty.call(o,r)?String(o[r]):t):e}function l(e,o){let t=Ga?Ga[e]:void 0;if(typeof t=="function"){try{let r=t(o??{});if(typeof r=="string"&&r)return r}catch{}return fu(e,o)}return fu(typeof t=="string"&&t?t:e,o)}function it(e,o,t,r){return l(t===1?e:o,{...r,n:t})}import{EaselSessionProvider as _M,useEaselSession as Ae}from"efficient-easel/screen/lib/session-context";import{hostLoadRefusalOf as IC,hostUnreachableMessage as hC,isBackendError as gC,provideHostFailures as bC,readHostFailure as yC,STATUS_UNREACHABLE as SC,WebsiteBackendError as gs}from"efficient-easel/screen/lib/backend-error";import{createEaselHost as GM,DETACHED_EASEL_HOST as UM,EaselHostContext as $M,EaselHostProvider as qM,useEaselHost as Bt}from"efficient-easel/screen/lib/host";function Me(e,o){if(typeof e=="string")return e||o;if(e&&typeof e=="object"&&"text"in e){let t=e.text;return typeof t=="string"&&t?t:o}return o}function uu(e,o){return typeof e=="number"&&Number.isFinite(e)?e:o}function pu(e,o){return typeof e=="boolean"?e:o}function Ua(e,o){if(!Array.isArray(e))return o;let t=e.map(r=>typeof r=="string"?r:Me(r?.text,"")).map(r=>r.trim()).filter(Boolean);return t.length?t:o}var mu="cart-drawer",YM="cart-drawer";var CC={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 XM(e,o){return o===0?e.subtitleEmpty:o===1?e.subtitleOne:e.subtitleMany.replace("{count}",String(o))}function ZM(e){let o=e??{},t=CC;return{kickerBadge:Me(o.kickerBadge,t.kickerBadge),kickerText:Me(o.kickerText,t.kickerText),titleLead:Me(o.titleLead,t.titleLead),titleAccent:Me(o.titleAccent,t.titleAccent),subtitleEmpty:Me(o.subtitleEmpty,t.subtitleEmpty),subtitleOne:Me(o.subtitleOne,t.subtitleOne),subtitleMany:Me(o.subtitleMany,t.subtitleMany),leadTimeValue:Me(o.leadTimeValue,t.leadTimeValue),shipsToFallback:Me(o.shipsToFallback,t.shipsToFallback),promises:Ua(o.promises,t.promises),emptyKicker:Me(o.emptyKicker,t.emptyKicker),emptyBody:Me(o.emptyBody,t.emptyBody)}}var vC=["meta","eyebrow","heading","body","statName","statValue","formEyebrow","formHeading","formIntro","fieldLabel","option","finePrint","dismiss","doneHeading","doneBody"],e2={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"},wC={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"},o2={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 kC(e){return typeof e=="string"&&Eo.includes(e)?e:null}function xu(e){let o={};for(let t of vC){let r=kC(e[wC[t]]);r&&(o[t]=r)}return o}var _t="site-footer";var r2=_t,a2={desktop:!0,tablet:!0,mobile:!0},n2={desktop:!1,tablet:!1,mobile:!1},bs=1,Iu=6,l2=Array.from({length:Iu-bs+1},(e,o)=>bs+o),$a={desktop:6,tablet:3,mobile:2},TC={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}},ft=e=>Math.min(Math.max(Math.round(e),bs),Iu);function s2(e){if(typeof e=="number")return TC[ft(e)]??{desktop:ft(e),tablet:ft(e),mobile:ft(e)};if(e&&typeof e=="object"){let o=e;return{desktop:ft(o.desktop??$a.desktop),tablet:ft(o.tablet??$a.tablet),mobile:ft(o.mobile??$a.mobile)}}return{...$a}}var FC="subscribe-popup",p2="subscribe-popup";var EC=[FC,_t,mu];function bu(e){return EC.includes(e)}var PC=["delay","scroll","exit"],LC=["all","chosen"],OC=["visit","days","never"],RC=["right","left"],AC={min:0,max:60},BC={min:10,max:90},_C={min:1,max:90},Ss={metaLabel:"Meta label",issueLabel:"Label",issueNumber:"00",kicker:"Kicker",heading:`Main heading
|
|
2
2
|
*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:!1,autoOpenDelaySec:15,formSlug:"",trigger:"delay",scrollPercent:50,showOn:"all",showOnPages:[],hideAfter:"days",hideDays:7,formSide:"right",valuePanelOnPhone:!1,sectionAccent:void 0,sectionCorners:void 0,sectionCornerSides:void 0,textStyles:{}},he=Me,DC=uu,hu=pu,yu=Ua;function qa(e,o,t){return typeof o=="string"&&e.includes(o)?o:t}function ys(e,o,t){let r=DC(e,t);return Math.min(o.max,Math.max(o.min,Math.round(r)))}function NC(e){return typeof e.hideAfter=="string"?qa(OC,e.hideAfter,Ss.hideAfter):e.oncePerSession===!0?"visit":e.oncePerSession===!1?"never":Ss.hideAfter}function MC(e){return Array.isArray(e)?e.map(o=>typeof o=="string"?o.trim():"").filter(Boolean).map(o=>o.startsWith("/")?o:`/${o}`):[]}function gu(e,o){if(e==null)return o;let t=r=>r.trim()?r:"";if(typeof e=="string")return t(e);if(typeof e=="object"&&"text"in e){let r=e.text;return typeof r=="string"?t(r):""}return o}function HC(e,o){return Array.isArray(e)?yu(e,[]):o}function zC(e,o){return Array.isArray(e)?e.map(t=>{let r=t??{};return{label:he(r.label,""),value:he(r.value,"")}}).filter(t=>t.label||t.value):o}function m2(e){let o=e??{},t=Ss;return{metaLabel:he(o.metaLabel,t.metaLabel),issueLabel:gu(o.issueLabel,t.issueLabel),issueNumber:gu(o.issueNumber,t.issueNumber),kicker:he(o.kicker,t.kicker),heading:he(o.heading,t.heading),deck:he(o.deck,t.deck),stats:zC(o.stats,t.stats),formLabel:he(o.formLabel,t.formLabel),formHeading:he(o.formHeading,t.formHeading),formIntro:he(o.formIntro,t.formIntro),firstNameLabel:he(o.firstNameLabel,t.firstNameLabel),firstNamePlaceholder:he(o.firstNamePlaceholder,t.firstNamePlaceholder),emailLabel:he(o.emailLabel,t.emailLabel),emailPlaceholder:he(o.emailPlaceholder,t.emailPlaceholder),interestsLabel:he(o.interestsLabel,t.interestsLabel),interests:yu(o.interests,t.interests),frequencyLabel:he(o.frequencyLabel,t.frequencyLabel),frequencies:HC(o.frequencies,t.frequencies),submitText:he(o.submitText,t.submitText),finePrint:he(o.finePrint,t.finePrint),dismissText:he(o.dismissText,t.dismissText),emailInvalidText:he(o.emailInvalidText,t.emailInvalidText),submitErrorText:he(o.submitErrorText,t.submitErrorText),successHeading:he(o.successHeading,t.successHeading),successBody:he(o.successBody,t.successBody),keepBrowsingText:he(o.keepBrowsingText,t.keepBrowsingText),formSlug:typeof o.formSlug=="string"?o.formSlug.trim():t.formSlug,autoOpen:hu(o.autoOpen,t.autoOpen),autoOpenDelaySec:ys(o.autoOpenDelaySec,AC,t.autoOpenDelaySec),trigger:qa(PC,o.trigger,t.trigger),scrollPercent:ys(o.scrollPercent,BC,t.scrollPercent),showOn:qa(LC,o.showOn,t.showOn),showOnPages:MC(o.showOnPages),hideAfter:NC(o),hideDays:ys(o.hideDays,_C,t.hideDays),formSide:qa(RC,o.formSide,t.formSide),valuePanelOnPhone:hu(o.valuePanelOnPhone,t.valuePanelOnPhone),sectionAccent:o.sectionAccent,sectionCorners:o.sectionCorners,sectionCornerSides:o.sectionCornerSides,textStyles:xu(o)}}import{jsx as Cs,Fragment as WC,jsxs as GC}from"react/jsx-runtime";import{createContext as UC,useContext as $C}from"react";var qC={mirrorHostStyles:!0,css:null,fontHrefs:[]},Su=UC(qC);function g2({value:e,children:o}){return Cs(Su.Provider,{value:e,children:o})}function vs(){return $C(Su)}function Cu(){let{css:e,fontHrefs:o}=vs();return GC(WC,{children:[o.map(t=>Cs("link",{rel:"stylesheet",href:t},t)),e?Cs("style",{"data-sf-canvas-css":"",children:e}):null]})}import{jsx as jC}from"react/jsx-runtime";import{createContext as KC,useContext as VC}from"react";var vu=KC(void 0);function C2({metadata:e,children:o}){return jC(vu.Provider,{value:e,children:o})}var wu=()=>VC(vu);import{jsx as ue,Fragment as lC,jsxs as _a}from"react/jsx-runtime";import{useCallback as Da,useEffect as To,useRef as sM,useState as iM}from"react";import{Button as fM,Tooltip as cM}from"efficient-shell/ui";import{SettingsSwitch as dM}from"efficient-easel/panel";import{PagesIcon as uM,StylesIcon as pM}from"efficient-easel/rail";import{TemplateIcon as mM}from"efficient-easel/icons";import{Subtree as xM,TreeRow as sC}from"efficient-easel/tree";import{useEasel as IM}from"efficient-easel/easel";import{useEaselStrings as iC}from"efficient-easel/strings";import{createContext as YC,useContext as XC}from"react";var ws=YC(!1),k2=()=>XC(ws);import{jsx as fe,Fragment as XI,jsxs as ll}from"react/jsx-runtime";import{Fragment as jP,useEffect as KP,useId as VP,useMemo as ZI,useState as ar}from"react";import{ScreenDocumentContext as Dt,ScreenDocumentProvider as E2,useScreenDocument as Se}from"efficient-easel/screen/components/ScreenDocumentContext";import{UiIcon as sl}from"efficient-easel/draw/client";import{default as ja,PanelHideButton as ks,PanelModeExit as O2,PanelShowStrip as R2}from"efficient-easel/screen/components/SidePanelHead";import{jsx as J,jsxs as St,Fragment as tr}from"react/jsx-runtime";import{useEasel as UI}from"efficient-easel/easel";import{useState as Of}from"react";import{jsx as Xt,jsxs as Dx,Fragment as WF}from"react/jsx-runtime";import{useState as Nx}from"react";import{SettingsDefaultReset as GF,SettingsField as UF}from"efficient-easel/panel";import{useEaselStrings as $F}from"efficient-easel/strings";import{AddIcon as qF}from"efficient-easel/icons";import{jsx as I,jsxs as bt,Fragment as _o}from"react/jsx-runtime";import{cloneElement as Xm,useId as N0,useRef as Oi,useState as kn}from"react";import{useEasel as Kr,useSelectedFields as Zm}from"efficient-easel/easel";import{readHidable as Qo,hidableText as M0}from"efficient-easel/draw";import{FOLD_FIELD_MARKER as Ri,LINK_FIELD_MARKER as H0,MEDIA_FIELD_MARKER as z0,SCAFFOLD_FIELD_MARKER as W0,TEXT_FIELD_MARKER as Bo,foldMetaOf as Do,textFieldIdentifier as xz}from"efficient-easel/draw";import{jsx as Ou}from"react/jsx-runtime";import{useCallback as ov,useEffect as tv,useRef as rv,useState as av}from"react";import{useEasel as nv}from"efficient-easel/easel";import{SettingsAction as lv}from"efficient-easel/panel";function Ts(e){return typeof e=="number"&&Number.isFinite(e)}function _2(e,o){if(!Ts(e))return;let t=za(Io(e));if(Object.keys(t).length===0)return;let r=t[Ka];if(typeof r!="string")return t;let a=Rr(o)?Ar(r,Po(o)??[]):r;return{...t,[ZC]:a}}var ZC="--sf-section-radius",Ka="--sf-card-radius",ct=["tl","tr","br","bl"];function Po(e){if(!Array.isArray(e))return null;let o=e.filter(t=>ct.includes(t));return ct.filter(t=>o.includes(t))}function Rr(e){let o=Po(e);return o!==null&&o.length<ct.length}function Ar(e,o){return ct.map(t=>o.includes(t)?e:"0").join(" ")}var ku=[{value:"tl",label:"Top left"},{value:"tr",label:"Top right"},{value:"bl",label:"Bottom left"},{value:"br",label:"Bottom right"}];var QC="--sf-card-box-radius",JC="--sf-site-card-radius",H2="sf-section-bleeds";function Fs(e){return typeof e=="number"&&Number.isFinite(e)}function z2(e,o){if(!Fs(e))return;let t=za(Io(e))[Ka];if(typeof t!="string")return;let r=Rr(o)?Ar(t,Po(o)??[]):t;return{[QC]:r}}function W2(e){let o=e[Ka];return typeof o=="string"?{[JC]:o}:{}}function Tu(e,o){let t=e.find(n=>n?.props?.id===o);if(!t)return[...e];let r=t.props?.cardCorners,a=t.props?.cardCornerSides;return e.map(n=>n?.props?.id===o?n:{...n,props:{...n.props,cardCorners:r,cardCornerSides:a}})}import{locateNode as ev}from"efficient-easel/draw";function Br(e){if(!e)return null;let o=e.lastIndexOf(":");return o>0?{ownerId:e.slice(0,o),slot:e.slice(o+1)}:null}function Va(e,o,t){let r=Br(t?.zone),a=r?ev(e,o,r.ownerId):null;return a&&r?{...a,slot:r.slot}:null}function Fu(e,o,t){let r=Va(e,o,t),a=r?.slot??"",n=r&&Array.isArray(r.item.props[a])?r.item.props[a]:[],s=t?.index??-1,i=s>=0?n[s]:void 0,c=i?.props?.id?String(i.props.id):"",u=Math.max(n.length-1,0);return!r||!c?{can:!1,reason:"unreachable",others:0}:n.length<=1?{can:!1,reason:"alone",others:u}:Fs(i?.props?.cardCorners)?{can:!0,others:u,zone:r.zone,index:r.index,data:{...r.item,props:{...r.item.props,[a]:Tu(n,c)}}}:{can:!1,reason:"unset",others:u}}function Eu(e){return e.can?it("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 Pu(e){return it("Applied to {n} card","Applied to {n} cards",e)}function Lu(e,o){e.can&&o(e.zone,e.index,e.data)}import{useSectionOps as qo}from"efficient-easel/screen/lib/puck/use-section-ops";var sv=2200,iv="apply-corners-to-siblings",fv="Apply to all cards";function cv({plan:e,doneCount:o,onPress:t}){return Ou(lv,{id:iv,label:l(fv),note:Eu(e),disabled:!e.can,done:o!==null,doneLabel:Pu(o??0),onPress:t})}function Ru(){let{appState:e,config:o}=nv(c=>c),t=qo(),[r,a]=av(null),n=rv(null);tv(()=>()=>{n.current&&clearTimeout(n.current)},[]);let s=Fu(o,e.data.content??[],e.ui.itemSelector),i=ov(()=>{Lu(s,t.replaceComponent),s.can&&(a(s.others),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>a(null),sv))},[s,t]);return Ou(cv,{plan:s,doneCount:r,onPress:i})}var Au=1;function dv(e){return Io(e)}function lH(e){let o=dv(e);return o===null?{}:{"--sf-card-image-radius":`${o}px`}}var Bu=1,_u="Corners";function uv(e){return Io(e)}function cH(e,o){let t=uv(e);if(t===null)return null;let r=`${t}px`;return{borderRadius:Rr(o)?Ar(r,Po(o)??[]):r}}var Lo={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]]}},Es=Object.keys(Lo),Nu=[2,3,4,6];function Mu(e){return typeof e!="string"||e===""?null:Lo[e]??null}function Du(e,o){return o?6/e.acrossPhone:12/e.across}var pv="sf-wall--";function mv(e){return`${pv}${e}`}function uH(e){let o=Lo[e],t=`.${mv(e)}`,r=[],a=(n,s)=>{let i=[],c=n.length;n.forEach(([u,p],m)=>{i.push(`${t} > :nth-child(${c}n+${m+1}){grid-column:span ${u};grid-row:span ${p}}`)});for(let u=1;u<c;u+=1)i.push(`${t}:has(> :nth-child(${c}n+${u}):last-child) > :nth-last-child(-n+${u}){grid-column:span ${s};grid-row:span 1}`);return i};return r.push(`${t}{grid-template-columns:repeat(12,minmax(0,1fr))}`),r.push(...a(o.desktop,Du(o,!1))),r.push("@media (max-width:800px){"),r.push(`${t}{grid-template-columns:repeat(6,minmax(0,1fr))}`),r.push(...a(o.phone,Du(o,!0))),r.push("}"),r.join("")}var Ya=12,Hu=1,xv=3;var Iv=3;function Ps(e,o,t){let r=typeof e=="number"?e:Number.parseInt(String(e??""),10);return Number.isFinite(r)?Math.min(t,Math.max(o,Math.trunc(r))):null}function hv(e){return Ps(e,1,Ya)??Iv}function xH(e,o){return Ps(e,Hu,xv)??(hv(o)===4?2:Hu)}function IH(e){return e==null||e===""?null:Ps(e,1,Ya)}var hH="data-sf-span";function gH(e){if(!e)return!1;if(e.type==="Grid")return!0;if(e.type==="GalleryB"){if(Mu(e.props?.layout))return!1;let o=e.props?.columns;return o!=null&&o!==""}return!1}var ho=["top-left","top-center","top-right","left","center","right","bottom-left","bottom-center","bottom-right"],Xa="bottom-left";var Za={"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 gv(e){let o=ho.indexOf(dt(e));return{band:Math.floor(o/3),column:["start","center","end"][o%3]}}function bv(e){return 1+gv(e).band*6}function yH(e){return bv(e)+1}function dt(e){return ho.includes(e)?e:Xa}function SH(e){let o=typeof e=="number"&&Number.isFinite(e)?e:0;return Math.max(-40,Math.min(40,Math.round(o)))}function CH(e,o=60){let t=typeof e=="number"&&Number.isFinite(e)?e:o;return Math.max(30,Math.min(100,Math.round(t)))}function Ls(e,o){let t=dt(o);return e.filter(r=>dt(r?.props?.placement)===t).length}function zu(e){return`${Za[dt(e)]} already holds 4 boxes. Move one somewhere else first.`}function Os(e,o){let t=e.filter(r=>r?.props?.id!==o);return ho.map(r=>{let a=Ls(t,r)>=4,n=Za[r];return a?{value:r,label:n,disabled:!0,title:zu(r)}:{value:r,label:n}})}function Qa(e,o){let t=o===void 0?Xa:dt(o?.props?.placement);return Ls(e,t)>=4?zu(t):null}var Ja="HeroGroup";function yv(e){return ho.map(o=>{let t=Ls(e,o);return{anchor:o,total:t,hidden:t-4}}).filter(o=>o.hidden>0)}function Rs(e){let o=yv(e);return o.length===0?null:o.map(({anchor:t,total:r,hidden:a})=>{let n=Za[t],s=a===1?"1 is not shown":`${a} are not shown`;return`${n} holds ${r} boxes. The published page draws the first 4, so ${s}. ${a===1?"Move it":"Move them"} somewhere else.`}).join(" ")}function Wu(e,o){let t=o;if(t?.type!==Ja)return null;let r=t.props?.id===void 0?"":String(t.props.id);return r?Qa(As(e,r),t):null}function As(e,o){let t=Uu(e,o);return t&&t.ownerType===Cv?t.siblings:[]}function Gu(e,o){let t=Uu(e,o);return t?t.ancestorTypes.filter(r=>r===Ja).length:Sv}var Sv=1,Cv="HeroSlide";function Uu(e,o){let t=a=>Array.isArray(a)&&a.length>0&&a.every(n=>!!n&&typeof n=="object"&&typeof n.type=="string"),r=(a,n,s)=>{if(n>12||!a||typeof a!="object")return null;if(t(a)){if(a.some(i=>i?.props?.id===o))return{siblings:a,ownerType:s.at(-1)??null,ancestorTypes:s};for(let i of a){let c=i.type,u=r(i,n+1,[...s,String(c)]);if(u)return u}return null}for(let i of Object.values(a)){let c=r(i,n+1,s);if(c)return c}return null};return r(e,0,[])}import{jsx as vv}from"react/jsx-runtime";var wv="sf-hint-keep";function $u({children:e}){return vv("span",{className:wv,children:e})}import{AdjustIcon as G0,AlignLeftIcon as U0,EyeIcon as $0,AlignSeparateIcon as q0,AnimationIcon as Qm,BackgroundIcon as j0,BorderAllIcon as K0,BlockSectionIcon as V0,CartIcon as Y0,ColumnWidthsIcon as Jm,ColumnsIcon as X0,CornerIcon as Z0,DirectionDownIcon as Q0,DirectionLeftIcon as J0,DirectionRightIcon as eT,DirectionUpIcon as oT,DollarIcon as tT,FinishIcon as rT,GapIcon as ex,GridIcon as aT,GroundIcon as nT,HashIcon as ox,HeightIcon as lT,ImageIcon as sT,ListIcon as iT,LocationIcon as Li,PaddingAllIcon as fT,PaddingBottomIcon as tx,PaddingLeftIcon as rx,PaddingRightIcon as ax,PaddingTopIcon as nx,PageIcon as lx,PhoneIcon as cT,PlacementIcon as dT,ProductSizeIcon as uT,StickyIcon as pT,RotateIcon as mT,SquareIcon as xT,TypeIcon as IT,WidthIcon as hT,WrapIcon as gT}from"efficient-easel/icons";import{jsx as Q,Fragment as go,jsxs as bo}from"react/jsx-runtime";import{TitleIcon as kv,ButtonIcon as Tv,DollarIcon as Fv,HashIcon as Ev,LinkIcon as Pv,NoteIcon as Lv,TagIcon as Ov,TextLinesIcon as Rv}from"efficient-easel/icons";var qu={body:Rv,button:Tv,link:Pv,label:Ov,number:Ev,price:Fv,note:Lv,title:kv},ju={eyebrow:bo(go,{children:[Q("path",{d:"M5 6.5h5"}),Q("path",{d:"M5 12.5h14"}),Q("path",{d:"M5 18h11"})]}),heading:bo(go,{children:[Q("path",{d:"M6.5 5v14"}),Q("path",{d:"M17.5 5v14"}),Q("path",{d:"M6.5 12h11"})]}),intro:bo(go,{children:[Q("path",{d:"M4 5.5v13"}),Q("path",{d:"M8 7.5h12"}),Q("path",{d:"M8 12h12"}),Q("path",{d:"M8 16.5h8"})]}),value:bo(go,{children:[Q("rect",{x:"2.5",y:"7",width:"19",height:"10",rx:"2"}),Q("path",{d:"M6.5 12h7"})]}),name:bo(go,{children:[Q("path",{d:"M6 3.5v17"}),Q("path",{d:"M6 5h11.5l-2.6 3.6L17.5 12H6z"})]}),date:bo(go,{children:[Q("rect",{x:"4",y:"5.5",width:"16",height:"15",rx:"2"}),Q("path",{d:"M4 10.5h16"}),Q("path",{d:"M9 3.2v4.4"}),Q("path",{d:"M15 3.2v4.4"})]}),caption:bo(go,{children:[Q("rect",{x:"3.5",y:"4.5",width:"17",height:"11",rx:"2"}),Q("path",{d:"M3.5 12.8l4.2-3.2 3.6 2.8 3.4-2.4 5.8 4"}),Q("path",{d:"M6.5 19.5h11"})]}),quote:bo(go,{children:[Q("path",{d:"M9.5 5.5C7 7.2 5.5 9.7 5.5 12.8h4v5.7h-5v-5.7"}),Q("path",{d:"M19.5 5.5c-2.5 1.7-4 4.2-4 7.3h4v5.7h-5v-5.7"})]}),tag:bo(go,{children:[Q("rect",{x:"3",y:"5.5",width:"18",height:"13",rx:"2.5"}),Q("path",{d:"M8 9.5h8"}),Q("path",{d:"M12 9.5v5"})]}),meta:bo(go,{children:[Q("path",{d:"M4 7h16"}),Q("path",{d:"M4 14h3.5"}),Q("path",{d:"M10.5 14h3"}),Q("path",{d:"M17 14h3"})]})};function Bs({noun:e,size:o=14,strokeWidth:t=1.8,className:r,style:a}){let n=qu[e];return n?Q("span",{className:r,style:{display:"inline-flex",...a},"aria-hidden":"true",children:Q(n,{size:o})}):Q("svg",{className:r,style:a,width:o,height:o,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:t,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:ju[e]})}var EH=Object.keys(qu);var PH=Object.keys(ju);var Av="#ffffff",Bv=/^#[0-9a-fA-F]{6}$/;function _s(e){return _v(e)?e:Av}function _v(e){return typeof e=="string"&&Bv.test(e)}function OH(e){return{"--bg":_s(e)}}var Ds=[{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}],Dv=Ds.filter(e=>e.ink);function Nv(e){let o={color:e.fg};for(let{role:t,token:r}of Dv)o[r]=e[t];return o}var Mv={fg:"var(--overlay-fg)",line:"color-mix(in srgb, var(--overlay-fg) 24%, transparent)",muted:"color-mix(in srgb, var(--overlay-fg) 76%, transparent)"},Ku=Object.freeze(Nv(Mv));var en=-1,Hv="sf-section-accent",Vu="Color",Yu=new Set(["CategoryBar","DocTabs"]),_H=new Set(["Flex"]),zv=0;function Ns(e){return e===en?null:typeof e=="number"&&Number.isInteger(e)&&e>=0?e:zv}function DH(e){return e??en}function Wv(e){let o=`--theme-preset-${e}`,t={"--sf-sec-accent":`var(${o}-accent)`,"--sf-sec-accent-2":`var(${o}-accent-2)`,"--sf-sec-accent-ink":`var(${o}-accent-ink)`};for(let{role:r}of Ds)t[`--sf-sec-${r}`]=`var(${o}-${r}, var(--theme-${r}))`;return t}function NH(e){let o=Ns(e.sectionAccent);return o===null?null:{className:Hv,style:Wv(o)}}var Gv=["fade","rise","scale"],Ms="none",Xu=[{label:"None",value:Ms},{label:"Fade",value:"fade"},{label:"Rise",value:"rise"},{label:"Scale",value:"scale"}];function zH(e){return Gv.includes(e)?e:null}var Zu="data-sf-anim",_r="data-sf-anim-state";function WH(e){let o=()=>{};if(typeof IntersectionObserver>"u"||!e.getAttribute(Zu))return o;let t=window.innerHeight||document.documentElement.clientHeight;if(e.getBoundingClientRect().top<t)return o;e.setAttribute(_r,"armed");let r=new IntersectionObserver(a=>{for(let n of a)if(n.isIntersecting){r.disconnect(),Uv(e);break}},{threshold:0});return r.observe(e),()=>{r.disconnect(),e.removeAttribute(_r)}}function Uv(e){if(!e.getAttribute(Zu))return;e.removeAttribute(_r),e.offsetWidth,e.setAttribute(_r,"play");let o=t=>{t.target===e&&(e.removeAttribute(_r),e.removeEventListener("animationend",o))};e.addEventListener("animationend",o)}var GH=Yu;function zs(e,o){let t=e?.content;if(!Array.isArray(t))return null;for(let r of t){if(!r||typeof r!="object")continue;let a=r.props;if(a?.id===o)return null;if(Hs(r,o,0))return a??{}}return null}function Hs(e,o,t){if(t>12||!e||typeof e!="object")return!1;if(Array.isArray(e))return e.some(a=>Hs(a,o,t+1));let r=e.props;return r&&typeof r=="object"&&r.id===o?!0:Object.values(e).some(a=>Hs(a,o,t+1))}import{SettingsDefaultReset as qe,SettingsField as ne,SettingsGroupHead as bT,SettingsGroupSub as yT,SettingsBorder as ST,SettingsSegmented as CT,SettingsSides as vT,SettingsSidesEach as sx,sidesStartEach as wT,SettingsSwitch as ix,borderSides as kT,borderStartEach as TT}from"efficient-easel/panel";import{FieldSelect as FT,ListField as ET}from"efficient-easel/fields";import{DisplayChips as PT}from"efficient-shell/ui";function Nt(e){if(!e||typeof e!="object"||Array.isArray(e))return{};let o={};for(let[t,r]of Object.entries(e))typeof r=="boolean"&&(o[t]=r);return o}function on(e,o){return Nt(e)[o]!==!1}function Ws(e,o,t){let r=Nt(o)[t];return typeof r=="boolean"?r:on(e,t)}function Qu(e){return Object.values(Nt(e)).some(o=>o===!1)}function Ju(e){return Object.keys(Nt(e)).length>0}function ep(e,o,t){let r={...Nt(e)};return t?delete r[o]:r[o]=!1,Object.keys(r).length?r:void 0}function op(e,o,t){return{...Nt(e),[o]:t}}function qH(e,o,t){let r=on(e,t),a=Ws(e,o,t);return r&&a?"":!r&&!a?"hidden":r?"max-[720px]:hidden":"min-[720px]:hidden"}import{AlignmentGrid as LT,Checkbox as Bz,CornersInput as OT,DateTimePicker as RT,FOCAL_DEFAULT as _z,PictureTiles as fx,Slider as AT,Tooltip as cx}from"efficient-shell/ui";import{jsx as Dr,jsxs as qv}from"react/jsx-runtime";import{ColorPicker as jv,HexInput as Kv}from"efficient-shell/ui";import{typedHex as Gs}from"efficient-easel/pick";import{typedHex as $v}from"efficient-easel/pick";function tp(e){let o=new Set,t=[];return Qe(e).themes.forEach((r,a)=>{let n=[[l("Theme {n} main color",{n:a+1}),r.accent],[l("Theme {n} text color",{n:a+1}),r.text],[l("Theme {n} background",{n:a+1}),r.background]];for(let[s,i]of n){let c=i?$v(i):null;!c||o.has(c)||(o.add(c),t.push({name:s,value:c}))}}),t}function Je({value:e,onChange:o,label:t,id:r,caption:a,inherited:n,after:s,ariaLabel:i}){return Dr(Yv,{value:e,onChange:o,label:l(i??t),id:r,caption:a,inherited:n,after:s})}function Vv(){let{theme:e}=Z();return tp(e).map(o=>({value:o.value,label:o.name}))}function Yv({value:e,onChange:o,label:t,id:r,caption:a,inherited:n,after:s}){let i=Vv(),c=e?null:Gs(n??""),u=a!==void 0&&(!e||Gs(a)!==Gs(e))?a:null,p=m=>{m!==e&&o(m)};return qv("div",{className:"sf-colour",children:[Dr(jv,{id:r,value:e,onChange:p,label:t,presets:i,fallback:c??void 0,size:"sm",align:"end"}),u!==null?Dr("span",{className:"sf-colour-caption",children:u}):Dr("span",{className:"sf-colour-hexwrap",children:Dr(Kv,{value:e||c||"",onChange:p,label:l("{label} hex code",{label:t}),placeholder:e||c?void 0:l("Not set"),className:c?"sf-colour-hex is-inherited":"sf-colour-hex",size:"sm"})}),s]})}import{jsx as Nr}from"react/jsx-runtime";import{useEffect as hw,useState as gw}from"react";import{markSelection as bw,useCaretEdit as yw}from"efficient-easel/copy";import{RevertIcon as Sw}from"efficient-easel/icons";import{IconButton as Cw,TextToolbar as vw,Tooltip as ww}from"efficient-shell/ui";import{applyMark as f5,markupTools as c5,MARKUP_TOOLS as d5,COPY_FIELD_TOOLS as u5,STOREFRONT_MARKUP as p5,tokenizeInline as m5,stripInline as x5,isSafeLinkHref as I5}from"efficient-shell/markup";import{applyMark as sw,markedAt as iw,markupTools as fw,MARKUP_TOOLS as cw,parseMarkup as dw,RETIRED_MARKS as uw,STOREFRONT_MARKUP as pw,tokenizeInline as g5}from"efficient-shell/markup";var ut=["highlight","strong","quiet"],pt={highlight:"Highlight",strong:"Bold",quiet:"Quiet"},yo={highlight:{kind:"wordHighlight",delimiter:"@@"},strong:{kind:"wordStrong",delimiter:"++"},quiet:{kind:"wordQuiet",delimiter:"^^"}},lp=Object.fromEntries(ut.map(e=>[yo[e].kind,e])),sp="data-sf-ws",tn=["accent","text","labels"],ip={accent:"Accent",text:"Text",labels:"Labels"},Oo={accent:"var(--accent)",text:"var(--fg)",labels:"var(--fg-dim)"},Xv=80,Zv=120,Qv=100,Jv=900,ew=.5,ow=3,tw=-.1,rw=.5,aw=3,Us={font:null,size:null,weight:null,bold:null,italic:null,lineGap:null,textGap:null,colour:null},nw={highlight:{...Us},strong:{...Us},quiet:{...Us}};function rp(e,o,t){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,o),t))}function ap(e,o,t){if(typeof e!="number"||!Number.isFinite(e))return null;let r=10**aw;return Math.round(Math.min(Math.max(e,o),t)*r)/r}function np(e){return typeof e=="boolean"?e:null}function lw(e){let o=typeof e?.font=="string"&&no.some(r=>r.key===e.font)?e.font:null,t=typeof e?.colour=="string"&&tn.includes(e.colour)?e.colour:null;return{font:o,size:rp(e?.size,Xv,Zv),weight:rp(e?.weight,Qv,Jv),bold:np(e?.bold),italic:np(e?.italic),lineGap:ap(e?.lineGap,ew,ow),textGap:ap(e?.textGap,tw,rw),colour:t}}function fp(e){let o={};for(let t of ut)o[t]=e&&t in e&&e[t]?lw(e[t]):{...nw[t]};return o}function n5(e){let o=fp(e),t={};for(let r of ut){let a=o[r],n=`--sf-ws-${r}`;if(a.font){let s=no.find(i=>i.key===a.font);s&&(t[`${n}-font`]=`var(${s.cssVar})`)}a.size!==null&&(t[`${n}-size`]=`${a.size/100}em`),a.weight!==null&&(t[`${n}-weight`]=String(a.weight)),a.bold!==null&&(t[`${n}-weight-bold`]=a.bold?"700":"400"),a.italic!==null&&(t[`${n}-style`]=a.italic?"italic":"normal"),a.lineGap!==null&&(t[`${n}-line`]=String(a.lineGap)),a.textGap!==null&&(t[`${n}-track`]=`${a.textGap}em`),a.colour!==null&&(t[`${n}-color`]=Oo[a.colour])}return t}function l5(e){let o=e?.word_styles??void 0,t={};for(let r of ut)o&&r in o&&(t[r]=o[r]??null);return fp(t)}var mw=new Set(["strong"]),cp=ut.map(e=>({open:yo[e].delimiter,close:yo[e].delimiter,kind:yo[e].kind,...mw.has(e)?{wordStart:!0}:{}})),y5=[{style:yo.highlight.kind,label:pt.highlight,title:`${pt.highlight} word style`},{style:yo.strong.kind,label:pt.strong,title:`${pt.strong} word style`},{style:yo.quiet.kind,label:pt.quiet,title:`${pt.quiet} word style`}],xw=new Set(cp.map(e=>e.open)),Mt=[...pw.filter(e=>!xw.has(e.open)),...cp];function $s(e){return e.bullet?"- ":e.number!=null?`${e.number}. `:""}function qs(e){return dw(typeof e=="string"?e:"",Mt)}var Iw=cw.map(e=>e.style).filter(e=>!uw.includes(e)).filter(e=>Mt.some(o=>o.kind===e));function dp(){return fw(Iw)}var up=Object.fromEntries(ut.map(e=>[yo[e].kind,yo[e].delimiter]));function pp(e,o,t,r){let a=up[r];if(!a)return sw(e,o,t,r);let n=e.slice(o,t),s=e.slice(Math.max(0,o-a.length),o),i=e.slice(t,t+a.length);if(s===a&&i===a)return{text:e.slice(0,o-a.length)+n+e.slice(t+a.length),selectionStart:o-a.length,selectionEnd:o-a.length+n.length};let c=n||"styled text";return{text:e.slice(0,o)+a+c+a+e.slice(t),selectionStart:o+a.length,selectionEnd:o+a.length+c.length}}function mp(e,o,t,r){let a=up[r];return a?o>=a.length&&e.slice(o-a.length,o)===a&&e.slice(t,t+a.length)===a:iw(e,o,t,r)}function mt(e){return qs(e).map(o=>$s(o)+xp(o.children)).join(`
|
|
3
3
|
`)}function xp(e){return e.map(o=>o.kind==="text"?o.text:xp(o.children)).join("")}var Ip="Clear formatting";function kw(e,o,t){return bw(e,o,t,pp)}function Tw(e){let[o,t]=gw(null);return hw(()=>{let r=e.current?.ownerDocument??(typeof document>"u"?null:document);if(!r)return;let a=()=>{let n=e.current;if(!n||r.activeElement!==n)return;let s=n.selectionStart??n.value.length,i=n.selectionEnd??s;t(c=>c&&c.start===s&&c.end===i?c:{start:s,end:i})};return r.addEventListener("selectionchange",a),()=>r.removeEventListener("selectionchange",a)},[e]),[o,t]}function Fw({target:e,value:o,onChange:t,disabled:r=!1,label:a="Formatting"}){let n=yw({target:e,onChange:t}),[s,i]=Tw(e),c=x=>n(h=>{let b=kw(o,x,h);return i({start:b.selectionStart,end:b.selectionEnd}),b}),u=dp(),p={};if(s)for(let x of u)p[x.style]=mp(o,s.start,s.end,x.style);let m=mt(o);return Nr(vw,{offered:new Set(u.map(x=>x.style)),onMark:x=>c(x),pressed:p,disabled:r,"aria-label":l(a),className:"sf-markup-bar",last:Nr("span",{className:"sf-markup-clear",children:Nr(ww,{content:l(Ip),children:Nr(Cw,{size:"sm",onMouseDown:x=>x.preventDefault(),onClick:()=>t(m),disabled:r||m===o,"aria-label":l(Ip),children:Nr(Sw,{size:14})})})})})}var js=Fw;import{DEVICE_FIELD_MARKER as O5,DEVICE_HIDDEN_ATTR as R5,DEVICE_NOTE as A5,deviceField as ve,deviceMetaOf as Ks,deviceNote as B5,shownTier as _5,withoutDeviceGate as D5}from"efficient-easel/screen/lib/puck/device-fields";import{NO_CONTROL_ATTR as H5,NO_CONTROL_FIELD as hp,noControlField as Mr,NoControlMark as Ht,noControlMetaOf as z5}from"efficient-easel/screen/lib/puck/panel-no-control-mark";var Vs="__ownBox";function gp(e){return!!e&&typeof e=="object"&&e[Vs]===!0}function Ro(e){return`${e}Phone`}function rn(e,o,t){return typeof e=="number"?e:typeof o=="number"?o:t}var an=void 0;import{jsx as Xs,Fragment as Lw}from"react/jsx-runtime";import{createContext as Ow,useContext as Rw}from"react";var nn={ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},ln={Events:["posts"],SubscribeBlogs:["posts"]};var Ew=["anchor"],Pw=/^href$|Href$|^url$|Url$|^link$|^mailto$|^tel$/;function Hr(e){return Ew.includes(e)||Pw.test(e)}var Ys={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:[]}},BrandStrip:{picks:{verb:"reference"}},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"}}};Ys.ContactLocations={"locations[].lat":{verb:"pii"},"locations[].lng":{verb:"pii"},"locations[].mapsUrl":{verb:"pii"},"locations[].geocode":{verb:"pii"}};var j5=Object.fromEntries(Object.entries(nn).map(([e,o])=>[e,Object.keys(o)])),K5=Object.fromEntries(Object.entries(ln).map(([e,o])=>[e,[...o]]));var bp=Ow(!1);function yp({children:e}){return Xs(bp.Provider,{value:!0,children:e})}function Aw(){return Rw(bp)}function Sp({name:e,children:o}){return!Aw()||!e||Hr(e)?Xs(Lw,{children:o}):Xs(Ht,{})}function eo(e,o,t){return e.some(r=>(typeof r=="object"?r.value:r)===t)?t:o}var Zs="off",Qs="none",Js=[{label:"None",value:"off"},{label:"1, 2, 3",value:"plain"},{label:"01, 02, 03",value:"padded"},{label:"N\xB001, N\xB002",value:"numero"}],ei=[{label:"None",value:"none"},{label:"Hairline",value:"hairline"}];function t3(e){return eo(Js,Zs,e)}function r3(e){return eo(ei,Qs,e)}var Cp="sf-card-index",zr="sf-card-index",a3="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",Bw={plain:`counter(${zr})`,padded:`counter(${zr}, decimal-leading-zero)`,numero:`"N\xB0" counter(${zr}, decimal-leading-zero)`};function n3(e,o){return o==="off"?"":`.${e}{counter-reset:${zr}}.${e} .${Cp}{counter-increment:${zr}}.${e} .${Cp}::before{content:${Bw[o]}}`}function l3(e){return e==="hairline"?"border border-line hover:border-accent":""}var vp=[{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 BT}from"efficient-easel/draw";import{jsx as Ao}from"react/jsx-runtime";import{SettingsDefaultReset as _w,SettingsField as Tp}from"efficient-easel/panel";import{useSelectedFields as Dw}from"efficient-easel/easel";import{FOCAL_DEFAULT as Nw}from"efficient-shell/format";import{ImageIcon as Fp,PlayIcon as Ep}from"efficient-easel/icons";import{ImageBox as Mw}from"efficient-easel/pick";import{useEaselStrings as Hw}from"efficient-easel/strings";import{useContext as zw}from"react";import{usePreviewDevice as Ww}from"efficient-easel/draw/client";import{requestMediaPick as wp,resolveMediaPick as c3}from"efficient-easel/screen/lib/media-picker";var Ue=Dd,kp=e=>e.blocks;function Gw(e,o){let t=null;try{t=Dw()}catch{t=null}let r=Ww()==="mobile";if(!e||!t||o&&!o(t.values??{}))return null;let a=typeof t.values?.[e]=="string"&&t.values[e]?String(t.values[e]):Nw,n=Ro(e),s=typeof t.values?.[n]=="string"&&t.values[n]?String(t.values[n]):void 0,i=t.onChange;return{phone:r,desktop:a,own:s,focus:r?s??a:a,set:c=>i(r?n:e,c),clear:()=>i(n,an)}}function Pp({value:e,onChange:o,label:t,accept:r,placeholder:a,focusKey:n,focusWhen:s}){let i=Bt(),c=Ae(),u=Hw(),p=l(t),m=r.startsWith("video"),x=Gw(m?void 0:n,s),h=zw(Dt),b=k=>wp(i,{accept:r,title:p,...k?{file:k}:{}}).then(v=>v?.url??null);if(h&&!h.capabilities.mediaEditing)return Ao(Tp,{label:p,icon:m?Ao(Ep,{}):Ao(Fp,{}),children:Ao("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 C=x?.phone&&e?Ao(_w,{words:j()?.panel,label:l("Image focus"),changed:!!x.own,detail:l("{value} on desktop",{value:x.desktop}),onReset:x.clear}):void 0;return Ao(Tp,{label:p,icon:m?Ao(Ep,{}):Ao(Fp,{}),action:C,children:Ao(Mw,{value:e,onChange:o,label:p,kind:m?"video":"image",placeholder:a===void 0?void 0:l(a),openLibrary:b,maxSizeBytes:Ue(c).media.maxUploadBytes,...x?{focus:x.focus,onFocusChange:x.set}:{},words:u.pick.image})})}import{jsx as Lp}from"react/jsx-runtime";import{useId as Uw}from"react";import{FieldSelect as $w}from"efficient-easel/fields";import{SettingsField as qw}from"efficient-easel/panel";function jw(e){return e.map(({value:o,label:t,note:r})=>({value:o,label:t,...r?{meta:r}:{}}))}function Op({label:e,options:o,value:t,onChange:r,emptyLabel:a,icon:n,hint:s}){let i=Uw(),c=`${i}-label`,u=`${i}-button`,p=Array.isArray(t)?t:[];return Lp(qw,{label:l(e),labelId:c,icon:n,hint:s,children:Lp($w,{id:u,multiple:!0,value:p,options:jw(o),onChange:r,placeholder:a===void 0?l("None"):l(a),ariaLabelledBy:`${c} ${u}`,inline:!0})})}import{jsx as Te,jsxs as xt,Fragment as pk}from"react/jsx-runtime";import{useCallback as mk,useContext as xk,useEffect as Ik,useId as Wp,useRef as Hp,useState as zp}from"react";import{ThemeIcon as hk}from"efficient-easel/icons";import{SettingsField as gk}from"efficient-easel/panel";import{jsx as $,jsxs as Ko,Fragment as ek}from"react/jsx-runtime";import{SettingsField as ri,SettingsGroupSub as ok}from"efficient-easel/panel";import{Button as ti}from"efficient-shell/ui";import{jsx as jo,jsxs as Rp}from"react/jsx-runtime";import{SettingsField as Kw}from"efficient-easel/panel";import{AccentIcon as Vw}from"efficient-easel/icons";import{Tooltip as Yw}from"efficient-shell/ui";function oi(e){return xo(e).background}function Xw(e){let o=$o(e.accent,oi(e));return o===null?null:{ratio:o,grade:At(o)}}function Zw(e){let o=oi(e),t=$o(e.accent,o);return t===null?[]:jd(e.accent).filter(r=>{let a=$o(r,o);return a!==null&&a>t&&At(a)==="good"})}var Qw={good:"Easy to read","large-only":Rt["large-only"],hard:Rt.hard};function Ap({value:e,onChange:o}){let t=Xw(e),r=t?.grade,a=t&&t.grade!=="good"?Zw(e):[];return jo(Kw,{label:l("Main color"),icon:jo(Vw,{}),hint:t?l(Qw[t.grade]):void 0,action:jo(Je,{value:e.accent,onChange:n=>o({...e,accent:n}),label:l("Main color")}),children:a.length>0?jo("div",{className:"w-full min-w-0",children:Rp("div",{className:"sf-readability",children:[jo("p",{className:"sf-readability-advice",children:Jw(r,!0)}),jo("div",{className:"sf-readability-suggestions",children:a.map(n=>{let s=$o(n,oi(e));return jo(Yw,{content:l("Use {colour}",{colour:n.toUpperCase()}),children:Rp("button",{type:"button",className:"sf-readability-suggestion",onClick:()=>o({...e,accent:n}),children:[jo("span",{className:"sf-readability-chip",style:{background:n},"aria-hidden":!0}),s?`${s.toFixed(1)}:1`:n.toUpperCase()]})},n)})})]})}):null})}function Jw(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 tk,GroundIcon as rk,LayoutIcon as ak,SquareIcon as nk,TextSmallIcon as lk,TypeIcon as Bp}from"efficient-easel/icons";var Wr=e=>l("Theme {n}",{n:e+1});function _p({colors:e}){let o=xo(e),t=Or(e)??o.accent;return Ko("span",{className:"sf-theme-page",style:{background:o.background,color:o.text},"aria-hidden":!0,children:[$("span",{className:"sf-theme-eyebrow",style:{color:o.muted},children:l("label")}),Ko("span",{className:"sf-theme-headline",children:[l("Heading")," ",$("span",{style:{color:o.accent},children:l("accent")})]}),$("span",{className:"sf-theme-body",children:l("body text")}),Ko("span",{className:"sf-theme-row",children:[$("span",{className:"sf-theme-btn",style:{background:t,color:us(e,o.accent)},children:l("button")}),$("span",{className:"sf-theme-mini",style:{background:o.surface,borderColor:o.line},children:l("card")})]})]})}var ai={"Text color":$(Bp,{}),"Label color":$(lk,{}),Background:$(rk,{}),"Panels & cards":$(ak,{}),Borders:$(nk,{}),"Button color":$(tk,{}),"Button text color":$(Bp,{})};function sk({label:e,colorKey:o,value:t,onChange:r,idPrefix:a="sf-theme-ink"}){let n=`${a}-${o}`;return $(ri,{label:l(e),icon:ai[e],htmlFor:n,action:$(Je,{id:n,label:l(e),value:t,onChange:s=>r(o,s)})})}function ik({value:e,accent:o,onChange:t,idPrefix:r="sf-theme-ink"}){let a=`${r}-button`,n=/^#[0-9a-fA-F]{6}$/.test(e??""),s=n?e:o;return $(ri,{label:l("Button color"),icon:ai["Button color"],htmlFor:a,action:$(Je,{id:a,label:l("Button color"),value:s,caption:n?s:l("Main"),onChange:t})})}function fk({colors:e,accent:o,onChange:t,idPrefix:r="sf-theme-ink"}){let a=`${r}-button-ink`,n=Kd(e),s=us(e,o),i=Or(e)??o,c=At($o(s,i)??0);return $(ri,{label:l("Button text color"),icon:ai["Button text color"],hint:n&&c!=="good"?l("{grade} on the button",{grade:l(Rt[c])}):void 0,htmlFor:a,action:$(Je,{id:a,label:l("Button text color"),value:s,caption:n?s:l("Auto"),onChange:t})})}var ck=[{colour:!0},{label:"Text color",key:"text"},{label:"Label color",key:"muted"},{button:!0},{buttonInk:!0},{group:"Surfaces"},{label:"Background",key:"background"},{label:"Panels & cards",key:"surface"},{label:"Borders",key:"line"}];function ni({colors:e,onChange:o,idPrefix:t}){let r=xo(e);return $(ek,{children:ck.map(a=>"colour"in a?$(Ap,{value:e,onChange:o},"colour"):"group"in a?$(ok,{title:l(a.group)},a.group):"button"in a?$(ik,{value:e.button,accent:r.accent,onChange:n=>o({...e,button:n}),idPrefix:t},"button"):"buttonInk"in a?$(fk,{colors:e,accent:r.accent,onChange:n=>o({...e,buttonInk:n}),idPrefix:t},"buttonInk"):$(sk,{label:a.label,colorKey:a.key,value:r[a.key],onChange:(n,s)=>o({...e,[n]:s}),idPrefix:t},a.key))})}function sn({index:e,colors:o,selected:t,role:r="radio",open:a,editable:n=!0,onPick:s,onEdit:i,onChangeColors:c}){let u=xo(o),p=Wr(e),m=e<ds.length&&!o.brandInk?ds[e]:null,x=At($o(u.text,u.background)??0),h=m?JSON.stringify(o)!==JSON.stringify(m):!1,b=a!==void 0;return Ko("div",{className:`sf-theme-card${t?" is-selected":""}`,children:[$("button",{type:"button",role:r,"aria-checked":r==="radio"?t:void 0,"aria-selected":r==="option"?t:void 0,"aria-label":p,className:"sf-theme-pick",onClick:s,children:$(_p,{colors:o})}),Ko("div",{className:"sf-theme-foot",children:[$("span",{className:"sf-theme-name",children:p}),x!=="good"&&$("span",{className:"sf-theme-warn",children:l(Rt[x])}),n&&i&&$(ti,{variant:a?"primary":"secondary",size:"sm",className:"sf-theme-edit","aria-expanded":b?a:void 0,"aria-controls":b?`sf-theme-colours-${e}`:void 0,"aria-label":a?l("Done {name}",{name:p}):l("Edit {name}",{name:p}),onClick:i,children:a?l("Done"):l("Edit")})]}),a&&Ko("div",{id:`sf-theme-colours-${e}`,className:"sf-theme-colours",children:[$(ni,{colors:o,onChange:C=>c?.(C)}),m&&$(ti,{variant:"link",size:"sm",className:"sf-theme-reset",disabled:!h,onClick:()=>c?.({...m}),children:h?l("Reset {name} to the preset",{name:p}):l("Not changed")})]})]})}function Dp({colors:e,name:o,nameId:t,open:r,menuId:a,labelId:n,buttonRef:s,onClick:i,onKeyDown:c,onEdit:u}){return Ko("div",{className:"sf-secttheme-btn",children:[$("button",{ref:s,type:"button",className:"sf-theme-pick","aria-expanded":r,"aria-controls":a,"aria-labelledby":`${n} ${t}`,onClick:i,onKeyDown:c,children:e?$(_p,{colors:e}):$("span",{className:"sf-secttheme-nopreview","aria-hidden":"true"})}),Ko("div",{className:"sf-theme-foot",children:[$("span",{id:t,className:"sf-theme-name",children:o}),u&&$(ti,{variant:"secondary",size:"sm",className:"sf-theme-edit","aria-label":l("Edit {name}",{name:o}),onClick:u,children:l("Edit")}),$("button",{type:"button",className:"sf-secttheme-caret","aria-hidden":"true",tabIndex:-1,onClick:i,children:$("span",{className:"sf-multi-caret",children:"\u25BE"})})]})]})}import{useCallback as li,useEffect as dk,useRef as fn}from"react";function Np(e=ao()){return(o,t,r)=>{let a=Ue(e).theme;return a?a.update(o,r?{siteId:r}:void 0):Promise.reject(new gs("invalid","This backend stores no site theme."))}}function Mp(e){return e.themeFromDocument?{status:"skipped",reason:"template"}:e.token?null:{status:"skipped",reason:"no-token"}}async function uk(e,o=Np()){let{themeFromDocument:t,token:r,siteId:a,patch:n}=e,s=Mp({themeFromDocument:t,token:r});if(s)return s;if(Object.keys(n).length===0)return{status:"skipped",reason:"empty"};try{return await o(n,r,a??void 0),{status:"saved"}}catch(i){return{status:"failed",error:i}}}function zt({themeFromDocument:e,tokenRef:o,siteId:t,onResult:r}){let a=fn(null),n=fn({}),s=Ae(),i=fn(r);i.current=r;let c=fn(null),u=li(x=>{if(x.status==="skipped"){let h=`skipped:${x.reason}`;if(c.current===h)return;c.current=h}else c.current=null;i.current?.(x)},[]),p=li(async()=>{a.current&&(clearTimeout(a.current),a.current=null);let x=n.current;n.current={};let h=await uk({themeFromDocument:e,token:o?.current,siteId:t,patch:x},Np(s));return u(h),h},[e,o,t,u,s]),m=li((x,h=!1)=>{let b=Mp({themeFromDocument:e,token:o?.current});if(b){u(b);return}n.current={...n.current,...x},a.current&&clearTimeout(a.current),h?p():a.current=setTimeout(()=>{p()},500)},[e,o,p,u]);return dk(()=>()=>{p()},[p]),{persist:m,flush:p}}var bk="Follow the page",h4="Follow the slideshow",yk=e=>l("Editing {name} changes it everywhere.",{name:e});function Sk({colors:e}){if(!e)return Te("span",{className:"sf-secttheme-chip sf-secttheme-chip--none","aria-hidden":"true"});let o=xo(e);return xt("span",{className:"sf-secttheme-chip","aria-hidden":"true",children:[Te("i",{style:{background:o.background}}),Te("i",{className:"sf-secttheme-chip-accent",style:{background:o.accent}})]})}function Ck({themes:e,value:o,onPick:t,onEdit:r,menuId:a,followLabel:n}){return xt("div",{className:"sf-multi-menu sf-secttheme-menu",id:a,role:"listbox",children:[n!==void 0&&xt(pk,{children:[xt("button",{type:"button",role:"option","aria-selected":o===null,className:`sf-secttheme-item${o===null?" is-active":""}`,onClick:()=>t(en),children:[Te(Sk,{}),Te("span",{className:"sf-secttheme-name",children:l(n)})]}),Te("div",{className:"sf-secttheme-sep",role:"presentation"})]}),o!==null&&e[o]&&Te("p",{className:"sf-secttheme-oncard",role:"presentation",children:l("{name} is on this section",{name:Wr(o)})}),e.map((s,i)=>i===o?null:Te(sn,{role:"option",index:i,colors:s,selected:!1,onPick:()=>t(i),onEdit:()=>r(i)},i))]})}function vk({index:e,colors:o,onChange:t,onDone:r}){let a=Wr(e),n=Wp();return xt("div",{className:"sf-secttheme-sheet",children:[xt("div",{className:"sf-secttheme-sheet-head",children:[Te("span",{children:a}),Te("button",{type:"button",className:"sf-secttheme-done",onClick:r,children:l("Done")})]}),Te("div",{className:"sf-secttheme-rows",children:Te(ni,{colors:o,onChange:t,idPrefix:n})}),Te("p",{className:"sf-secttheme-warn",children:yk(a)})]})}function Gp({value:e,onChange:o,followLabel:t,hint:r}){let{theme:a,setTheme:n}=Z(),s=Qe(a),i=xk(Dt),c=i?.tokenRef,u=i?.siteId??null,p=!i?.capabilities?.hasSiteTheme,{persist:m,flush:x}=zt({themeFromDocument:p,tokenRef:c,siteId:u}),h=Qe(s),b=h.themes,C=Ns(e),k=C!==null?b[C]:void 0,v=k??(b.length?Ot(h):void 0),[w,g]=zp(!1),[y,E]=zp(null),F=Hp(null),L=Hp(null),B=Wp(),O=mk(()=>{g(!1),E(null)},[]);Ik(()=>{if(!w&&y===null)return;let H=W=>{F.current&&!F.current.contains(W.target)&&(x(),O())};return document.addEventListener("mousedown",H),()=>document.removeEventListener("mousedown",H)},[w,y,O,x]);let M=H=>{o(H),O()},re=H=>{if(y===null)return;let W=b.map((oe,Oe)=>Oe===y?H:oe),A={...h,themes:W};n(A),m({selected_preset:A.selected,theme_presets:A.themes})};return xt("div",{className:"sf-secttheme",ref:F,children:[Te(gk,{label:l("Theme"),icon:Te(hk,{}),labelId:`${B}-label`,hint:r,children:Te(Dp,{colors:v,onEdit:C!==null?()=>{E(C),g(!1)}:void 0,name:k?Wr(C):l(t??bk),nameId:`${B}-value`,labelId:`${B}-label`,open:w,menuId:B,buttonRef:L,onClick:()=>{E(null),g(H=>!H)},onKeyDown:H=>{H.key==="Escape"&&(w||y!==null)&&(H.preventDefault(),O())}})}),w&&y===null&&Te("div",{onKeyDown:H=>{H.key==="Escape"&&(H.preventDefault(),O(),L.current?.focus())},children:Te(Ck,{themes:b,value:C,onPick:M,onEdit:H=>{E(H),g(!1)},menuId:B,followLabel:t})}),y!==null&&b[y]&&Te(vk,{index:y,colors:b[y],onChange:re,onDone:()=>{x(),O(),L.current?.focus()}})]})}import{jsx as Up}from"react/jsx-runtime";import{useId as wk}from"react";import{FieldSelect as kk}from"efficient-easel/fields";import{SettingsField as Tk}from"efficient-easel/panel";function Fk(e){return e.map(({value:o,label:t,group:r,thumb:a,meta:n})=>({value:o,label:t,...r!==void 0?{group:r}:{},...a!==void 0?{thumb:a}:{},...n!==void 0?{meta:n}:{}}))}function w4({label:e,options:o,fallback:t,value:r,onChange:a,placeholder:n,bare:s=!1,icon:i}){let c=wk(),u=`${c}-label`,p=`${c}-button`,m=r??"",x=o.some(k=>k.value===m)?m:t,h=l(e),b=n===void 0?void 0:l(n),C=Up(kk,{id:p,value:x,options:Fk(o),onChange:a,placeholder:b,searchPlaceholder:b,...s?{ariaLabel:h}:{ariaLabelledBy:`${u} ${p}`},searchable:!0,groupCount:!0,inline:!0});return s?C:Up(Tk,{label:h,labelId:u,icon:i,children:C})}import{jsx as It,jsxs as Ok}from"react/jsx-runtime";import{SettingsField as Jp}from"efficient-easel/panel";import{LinkIcon as Rk}from"efficient-easel/icons";import{LinkPicker as Ak,TextLinkField as Bk}from"efficient-shell/ui";import{useEffect as Qp,useMemo as un,useRef as _k,useState as dn}from"react";function $p(){return ao().auth.token}var cn="homepage";function qp(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}var jp=[{value:"page",label:"Page"},{value:"anchor",label:"Anchor"},{value:"blog",label:"Blog post",needs:"service"},{value:"product",label:"Product",needs:"commerce"},{value:"custom",label:"Custom URL"}];function Kp(e){return e.offersCommerce&&e.offersService?jp:jp.filter(o=>!o.needs||(o.needs==="commerce"?e.offersCommerce:e.offersService))}function Gr(e){return e===cn?"/":`/${e}`}function Vp(e){return`/journal/${e}`}function R4(e){return`/wheels/${e}`}function Yp(e,o){return`${Gr(e)}#${o}`}function Ek(e){return qp(e)}function Pk(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}function Xp(...e){let o=new Set,t=[];for(let r of e)for(let a of r?.content??[]){let n=Pk(a?.props?.anchor);if(!n)continue;let s=Ek(n);!s||o.has(s)||(o.add(s),t.push({slug:s,name:n}))}return t}function A4(e){let o=e.indexOf("#"),t=o===-1?e:e.slice(0,o),r=t.indexOf("?");return r===-1?t:t.slice(0,r)}var Lk=()=>({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")});function Zp(e,o,t){if(!e)return"page";if(e.startsWith("/journal/"))return"blog";if(e.startsWith("/wheels/"))return"product";if(e.includes("#")){let r=e.slice(0,e.indexOf("#"));if(r===""||r==="/"||o.includes(r))return"anchor"}return e==="/"||o.includes(e)||t&&t.listingPaths.includes(t.targetOf(e))?"page":"custom"}function si(e,o){let t=Lk(),r=e.pages.map(p=>({value:Gr(p.slug),label:p.title})),a=o?.pageOptions?o.pageOptions(r):r,n=a.map(p=>p.value),s=e.pages.map(p=>({label:p.title,options:Xp(...p.docs).map(m=>({value:Yp(p.slug,m.slug),label:m.name}))})).filter(p=>p.options.length>0),i=p=>{switch(p){case"page":return{type:"select",options:a,placeholder:t.choosePage};case"anchor":return{type:"groups",groups:s,placeholder:s.length?t.chooseSection:t.noSections};case"blog":return{type:"select",options:e.posts.map(m=>({value:Vp(m.slug),label:m.title||m.slug})),placeholder:t.choosePost};case"product":return{type:"select",options:e.products.map(m=>({value:m.href,label:m.name||m.href})),placeholder:t.chooseProduct};case"custom":return{type:"text"}}},c=Kp(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"?{hideWhenEmpty:!0}:{}}));if(!o)return{kinds:c,rules:{kindOf:p=>Zp(p,n),targetOf:p=>p,readFilter:()=>null,withFilter:p=>p}};let u=p=>{let m=o.withFilter(p,null);return o.listingPaths.includes(m)?m:p};return{kinds:c,rules:{kindOf:p=>Zp(p,n,{listingPaths:o.listingPaths,targetOf:u}),targetOf:u,readFilter:o.readFilter,withFilter:o.withFilter},filtersFor:p=>o.listingPaths.includes(p)?o.filtersFor(p):null}}function em(e){let o=new Map;return(t="")=>{let r=$p(),a=o.get(t);if(!a||a.token===null&&r!==null){let n=r||!ao().usesBridgedToken?e(r??"",t).catch(()=>[]):Promise.resolve([]);return o.set(t,{promise:n,token:r}),n}return a.promise}}var Dk=em(async(e,o)=>{let t=o?{siteId:o}:void 0,{pages:r}=Ue();return r.linkTargets?r.linkTargets(t):(await r.list(t)).map(a=>({id:a.id,slug:a.slug,label:a.label,layout:null}))}),Nk=em(async(e,o)=>await Ue().blog?.posts(o?{siteId:o}:void 0)??[]);function Mk({value:e,onChange:o,label:t="Link",data:r,filters:a}){let n=un(()=>si(r,a),[r,a]),s=l(t);return It(Jp,{label:s,icon:It(Rk,{}),children:It(Ak,{value:e,onChange:i=>o(i),kinds:n.kinds,rules:n.rules,filtersFor:n.filtersFor,label:s})})}function om(){let{siteId:e,capabilities:o}=Se(),{offersCommerce:t,hasBlog:r}=o,[a,n]=dn([]),[s,i]=dn([]),[c,u]=dn([]),[p,m]=dn(null),x=Ae().chrome,h=x?.products?.list,b=x?.linkFilters,C=b?void 0:x?.linkRow,k=_k(!0);Qp(()=>(k.current=!0,()=>{k.current=!1}),[]),Qp(()=>{let g=!0;return Dk(e??void 0).then(y=>g&&k.current&&n(y)),r&&Nk(e??void 0).then(y=>g&&k.current&&i(y)),t&&h?.().then(y=>g&&k.current&&u(y)),t&&b?b.load(e).catch(()=>null).then(y=>g&&k.current&&m(()=>y)):m(null),()=>{g=!1}},[e,t,r,h,b]);let v=un(()=>({pages:a.filter(g=>!bu(g.slug)).map(g=>({slug:g.slug,title:g.label,docs:[g.layout]})),posts:r?s.map(g=>({slug:g.slug,title:g.title})):[],products:t?c.map(g=>({href:g.href,name:g.name})):[],offers:{offersCommerce:t,offersService:r}}),[a,s,c,t,r]),w=un(()=>p?p(v.pages):null,[p,v]);return{data:v,filters:w,pages:a,offersCommerce:t,HostLinkRow:C}}function Q4({label:e,icon:o,text:t,onTextChange:r,link:a,onLinkChange:n}){let{data:s,filters:i}=om(),c=un(()=>si(s,i),[s,i]),u=l(e);return It(Jp,{label:u,icon:o,children:It(Bk,{label:u,text:t,onTextChange:r,link:a,onLinkChange:p=>n(p),kinds:c.kinds,rules:c.rules,filtersFor:c.filtersFor})})}function tm({value:e,onChange:o,label:t="Link"}){let r=typeof e=="string"?e:"",{data:a,filters:n,pages:s,offersCommerce:i,HostLinkRow:c}=om(),u=a.pages.map(m=>Gr(m.slug)),p=i&&c&&(r==="/"||u.includes(r))?c:void 0;return Ok("div",{children:[It(Mk,{value:r,onChange:o,label:t,data:a,filters:n}),p&&It(p,{value:r,onChange:o,pages:s})]})}import{UiIcon as qm}from"efficient-easel/draw/client";var lo={min:10,max:200,step:10};function rm(e,o){let t=typeof e=="number"?e:void 0,r=typeof o=="number"?o:void 0;if(!(t===void 0&&r===void 0))return{paddingTop:t,paddingBottom:r}}var Hk="sf-pad-top-phone",zk="sf-pad-bottom-phone",Wk="--sf-pad-t-phone",Gk="--sf-pad-b-phone",Uk="sf-pad-left-phone",$k="sf-pad-right-phone",qk="--sf-pad-l-phone",jk="--sf-pad-r-phone";function lm(e,o,t,r,a,n,s,i){let c=rm(e,o)??{},u={},p=["sf-section-pad"];typeof t=="number"&&(p.push(Hk),u[Wk]=`${t}px`),typeof r=="number"&&(p.push(zk),u[Gk]=`${r}px`);let m={};return typeof a=="number"&&(m.paddingLeft=a),typeof n=="number"&&(m.paddingRight=n),typeof s=="number"&&(p.push(Uk),u[qk]=`${s}px`),typeof i=="number"&&(p.push($k),u[jk]=`${i}px`),p.length===1&&rm(e,o)===void 0&&!Object.keys(m).length?null:{className:p.join(" "),style:{...c,...m,...u}}}var am=e=>typeof e=="number"?e:void 0;function nm(e,o,t){let r=am(e)??t,a=am(o);return r===void 0?a:a===void 0?r:r+a}function e6(e,o={}){return{top:nm(e.padTop,e.sectionPaddingTop,o.top),bottom:nm(e.padBottom,e.sectionPaddingBottom,o.bottom)}}function o6(e){return{top:e.sectionPaddingTop,bottom:e.sectionPaddingBottom,topPhone:e.sectionPaddingTopPhone,bottomPhone:e.sectionPaddingBottomPhone,left:e.sectionPaddingLeft,right:e.sectionPaddingRight,leftPhone:e.sectionPaddingLeftPhone,rightPhone:e.sectionPaddingRightPhone}}function t6(e){return lm(e.top,e.bottom,e.topPhone,e.bottomPhone,e.left,e.right,e.leftPhone,e.rightPhone)}function r6(e,o){let t=r=>typeof r=="number"?r+o:void 0;return lm(t(e.top),t(e.bottom),t(e.topPhone),t(e.bottomPhone),e.left,e.right,e.leftPhone,e.rightPhone)}var Kk=["auto","fixed","screen"],Vk=["px","%"];var Yk="var(--sf-header-h, 88px)",ii={min:40,max:2e3,step:10,fallback:600},fi={min:10,max:200,step:5,fallback:100},Xk="sf-section-minh",sm={base:"--sf-section-minh",small:"--sf-section-minh-s"},fm=e=>typeof e=="string"&&Kk.includes(e),Zk=e=>typeof e=="string"&&Vk.includes(e);function pn(e){let o=fm(e.sectionHeightMode)?e.sectionHeightMode:"auto",t=o==="screen"?"%":Zk(e.sectionHeightUnit)?e.sectionHeightUnit:"px",r=o==="screen"?fi.fallback:ii.fallback,a=typeof e.sectionHeightValue=="number"?e.sectionHeightValue:r;return{mode:o,value:a,unit:t}}function cm(e){let{mode:o,value:t,unit:r}=pn(e);if(o==="auto")return;if(o==="fixed"&&r==="px")return[`${t}px`,null];let a=t/100,n=s=>o==="screen"?`(100${s} - ${Yk})`:`100${s}`;return[`calc(${n("vh")} * ${a})`,`calc(${n("svh")} * ${a})`]}function Qk(e){let o=cm(e);if(!o)return;let[t,r]=o;return{display:"grid",[sm.base]:t,...r?{[sm.small]:r}:{}}}var n6=new Set(["Hero","HeroSingle","IntroBleed","CategoryBar","DocTabs"]),Wt="Height",Jk="sf-section-minh-phone",im={base:"--sf-section-minh-p",small:"--sf-section-minh-ps"};function ci(e){return fm(e.sectionHeightModePhone)}function l6(e){return pn({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone})}function e0(e){let o=Qk(e),t=ci(e)?cm({sectionHeightMode:e.sectionHeightModePhone,sectionHeightValue:e.sectionHeightValuePhone,sectionHeightUnit:e.sectionHeightUnitPhone}):void 0;if(!o&&!t)return null;let r=[Xk],a={...o??{}};return t&&(r.push(Jk),a[im.base]=t[0],t[1]&&(a[im.small]=t[1])),{className:r.join(" "),style:a}}function s6(e){return e0(e)!==null}var mn="Stick to top",Vo={min:0,max:200,step:4,fallback:0},o0="sf-section-stick",t0="sf-section-stick-phone-on",r0="sf-section-stick-phone-off",dm={desktop:"--sf-stick-distance",phone:"--sf-stick-distance-phone"},f6=new Set(["CategoryBar","DocTabs","IntroBleed"]);function um(e){let o=typeof e=="number"&&Number.isFinite(e)?e:Vo.fallback;return Math.min(Vo.max,Math.max(Vo.min,Math.round(o)))}function di(e){return typeof e.stickTopPhone=="boolean"}function ui(e){let o=e.stickTop===!0,t=um(e.stickTopDistance),r=di(e),a=r?e.stickTopPhone===!0:o,n=r?um(e.stickTopDistancePhone):t;return{desktop:o,desktopDistance:t,phone:a,phoneDistance:n,ownPhone:r}}function c6(e){let o=ui(e);if(!o.desktop&&!o.phone)return null;let t=[o0],r={};return o.desktop&&(r[dm.desktop]=`${o.desktopDistance}px`),(o.ownPhone||o.phone!==o.desktop)&&(t.push(o.phone?t0:r0),o.phone&&(r[dm.phone]=`${o.phoneDistance}px`)),o.desktop||t.push("sf-section-stick-desktop-off"),{className:t.join(" "),style:r}}var a0=["column","row","tabs"],pm="Direction",n0={column:"Stacked",row:"One row",tabs:"Tabs"},mm={Flex:a0,HeroGroup:["column","row"]},l0={Flex:"row",HeroGroup:"column"},s0={column:"flex-col",row:"flex-row",tabs:"flex-col"};function xn(e,o){return mm[e].includes(o)?o:l0[e]}function u6(e,o){return s0[xn(e,o)]}function xm(e){return mm[e].map(o=>({label:n0[o],value:o}))}var pi=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Space between",value:"between"},{label:"End",value:"end"}],gm=[{label:"Start",value:"start"},{label:"Center",value:"center"},{label:"Stretch",value:"stretch"}],bm="Wrap",mi=[{label:"Wrap",value:"wrap"},{label:"No wrap",value:"nowrap"}],Im={start:"justify-start",center:"justify-center",between:"justify-between",end:"justify-end"},hm={start:"items-start",center:"items-center",stretch:"items-stretch"};function m6(e,o){let t=typeof e=="string"&&e in Im?Im[e]:"",r=typeof o=="string"&&o in hm?hm[o]:"";return[t,r].filter(Boolean).join(" ")}function x6(e){return e===!0||e==="wrap"?"flex-wrap":""}var xi="Block widths",In=[{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]}],Ur="[&>*]:min-w-0 [&>*]:flex-1 [&>*]:basis-0",i0={equal:Ur,bigLeft:`${Ur} [&>*:first-child]:min-[800px]:grow-[2]`,bigRight:`${Ur} [&>*:last-child]:min-[800px]:grow-[2]`,biggerLeft:`${Ur} [&>*:first-child]:min-[800px]:grow-[3]`,biggerRight:`${Ur} [&>*:last-child]:min-[800px]:grow-[3]`};function I6(e){return typeof e=="string"?i0[e]??"":""}var ym="Columns on phone",Ii=1,Sm=3,f0={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 h6(e){let o=Number(e);return f0[o]??"max-[800px]:flex-col"}var Cm="Block spacing",hi=[{label:"Each block",value:"each"},{label:"Gap only",value:"gap"}],c0="sf-box-gap-only";function g6(e){return e==="gap"?c0:""}var d0=["solid","dashed","dotted"],u0=["top","right","bottom","left"],y6="sf-section-border",S6="sf-section-border-self",p0=/^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i,vm=e=>typeof e=="number"&&Number.isFinite(e)?`${Math.min(20,Math.max(0,Math.round(e)))}px`:void 0;function wm(e,{phone:o=!1}={}){if(!e||typeof e!="object")return;let t=o?"-phone":"",r={};for(let a of u0){let n=vm(e[a])??vm(e.width);n!==void 0&&(r[`--sf-border-${a}-width${t}`]=n)}return typeof e.style=="string"&&d0.includes(e.style)&&(r[`--sf-border-style${t}`]=e.style),typeof e.color=="string"&&p0.test(e.color)&&(r[`--sf-border-color${t}`]=e.color.toLowerCase()),Object.keys(r).length?r:void 0}function C6(e,o){let t=wm(e),r=wm(o,{phone:!0});return t||r?{...t,...r}:void 0}var Fm="sf.gapContainer",Yo={min:-32,max:64,step:2},Em={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},Gt={Grid:24,Flex:24,FooterGroup:16,HeroGroup:0,Events:24,GalleryB:8,ProductGrid:2},m0=new Set(["Events","GalleryB"]);function gi(e,o,t){if(typeof o=="number"&&Number.isFinite(o)&&o>=Yo.min)return o;if(typeof o=="string"){let r=Em[e]?.[o];if(typeof r=="number")return r}return typeof t=="number"&&Number.isFinite(t)?t:Gt[e]}var x0="sf-gap-overlap",I0="--sf-gap-overlap",Pm="--sf-block-gap",h0="--sf-block-gap-rem",ht={min:0,max:Yo.max,step:Yo.step};function g0(e){if(typeof e!="number"||!Number.isFinite(e))return null;let o=Math.min(Math.max(Math.round(e),ht.min),ht.max);return o-o%ht.step}function w6(e){let o=g0(e);return o===null?{}:{[Pm]:`${o}px`,[h0]:`${o/16}rem`}}var km="sf-gap-zone",Tm="--sf-gap-len";function bi(e,o){return typeof o=="number"&&Number.isFinite(o)&&o>=Yo.min?!0:typeof o=="string"&&typeof Em[e]?.[o]=="number"}var b0={block:"sf-gap-overlap-block",inline:"sf-gap-overlap-inline",both:"sf-gap-overlap-both"};function k6(e,o,t){if(!bi(e,o)){let a=`${Gt[e]}px`,n=m0.has(e)?`var(--sf-card-gap, ${a})`:a;return{className:` ${km}`,style:{[Tm]:`var(${Pm}, ${n})`}}}let r=gi(e,o);return r>=0?{className:` ${km}`,style:{[Tm]:`${r}px`}}:{className:` ${x0} ${b0[t]}`,style:{gap:"0px",[I0]:`${-r/2}px`}}}var Lm=["transparent","var(--section-bg)","var(--surface)","var(--surface-2)"],Om={transparent:"No fill","var(--section-bg)":"Section band","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},hn="var(--section-bg)",gn="inherit";function F6(e,o){return e===gn?hn:e===void 0?o:bn(e)}var y0=/var\(\s*--(surface-2|surface|line)\s*(?=[,)])/g;function bn(e){return e.replace(y0,"var(--site-$1")}function Rm(e,o){return e===gn?!0:e===void 0&&o===hn}var Am=["transparent","var(--wheel-stage)","var(--surface)","var(--surface-2)"],Bm={transparent:"No fill","var(--wheel-stage)":"Image stage","var(--surface)":"Panels and cards","var(--surface-2)":"Second surface"},Ut="var(--wheel-stage)",yn="transparent",$r="inherit";function L6(e,o){return bn(yi(e,o))}function yi(e,o){return e===$r?Ut:e==null?o:e===!0?Ut:e===!1?yn:e}function O6(e){return typeof e=="string"&&e!==$r?bn(e):Ut}function R6(e){return e!==yn&&e!=="none"&&e!==""}function _m(e,o){return e===$r||e===!0?!0:e==null?o===Ut:!1}var Dm="inherit",Sn="fixed",Nm=e=>typeof e!="number"&&e!==Sn,S0="var(--sf-heading-max, 9999px)";function B6(e,o,t,r){if(typeof e=="number")return`${e}px`;if(e===Sn)return o;let a=r?`var(--size-${r}, ${o})`:o;return t==="heading"?`min(${a}, ${S0})`:a}var Be={min:1e3,max:2e3,step:50,default:1600};function Mm(e){return{maxWidth:e,marginInline:"auto",width:"100%"}}function D6(e,o){if(e!==!1)return null;let t=typeof o=="number"?o:Be.default;return Mm(t)}var Hm="--sf-site-width",Cn=`var(${Hm},${Be.default}px)`,N6=`max-w-[${Cn}]`,M6=`max-w-[${Be.default}px]`;function C0(e){return typeof e!="number"||!Number.isFinite(e)?Be.default:Math.round(Math.min(Math.max(e,Be.min),Be.max))}function H6(e){let o=C0(e);return o===Be.default?{}:{[Hm]:`${o}px`}}var So={min:0,max:80,step:4,default:40},zm="--sf-site-gutter",$e=`var(${zm},${So.default}px)`,v0=`px-[${$e}]`;var Xo={md:`min(24px,${$e})`,sm:`min(20px,${$e})`,frame:`min(24px,${$e})`,tabs:`min(16px,${$e})`},z6=[[`max-[1100px]:px-[${Xo.md}]`,"max-[1100px]:px-6"],[`max-[1100px]:px-[${Xo.tabs}]`,"max-[1100px]:px-4"],[`max-[960px]:px-[${Xo.frame}]`,"max-[960px]:px-6"],[`max-[900px]:px-[${Xo.md}]`,"max-[900px]:px-6"],[`max-[800px]:px-[${Xo.md}]`,"max-[800px]:px-6"],[`max-[720px]:px-[${Xo.sm}]`,"max-[720px]:px-5"],[`max-[800px]:px-[${Xo.sm}]`,"max-[800px]:px-5"],[`max-[640px]:px-[${Xo.sm}]`,"max-[640px]:px-5"],[`min-[800px]:px-[${$e}]`,"min-[800px]:px-10"],[`max-[720px]:px-[min(24px,${$e})]`,"max-[720px]:px-6"],[`max-[800px]:-mx-[min(20px,${$e})]`,"max-[800px]:-mx-5"],[`max-[720px]:-mx-[min(20px,${$e})]`,"max-[720px]:-mx-5"],[`-mx-[${$e}]`,"-mx-10"],[v0,"px-10"]];var W6="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))]";function w0(e){return typeof e!="number"||!Number.isFinite(e)?So.default:Math.round(Math.min(Math.max(e,So.min),So.max))}function G6(e){let o=w0(e);return o===So.default?{}:{[zm]:`${o}px`}}var vn=`min(var(--sf-page-cap,${Cn}),${Cn})`,U6=`max-w-[${vn}]`,$6=`max-w-[min(var(--sf-page-cap,${Be.default}px),${Be.default}px)]`,Wm="--sf-hero-cap",k0=`var(${Wm},none)`,q6=`max-w-[${k0}]`,Si="--sf-hero-bleed-m",Ci="--sf-hero-bleed-w",j6=`var(${Si},calc(50% - 50vw))`,K6=`var(${Ci},100vw)`,V6=`mx-[var(${Si},calc(50%_-_50vw))]`,Y6=`w-[var(${Ci},100vw)]`,vi="--sf-hero-chrome-x",wi="--sf-hero-chrome-cap";function X6(e){return e===!0?{[Wm]:vn,[Si]:"auto",[Ci]:"100%",[vi]:"24px",[wi]:"none"}:{}}var ki=`calc(${Cn} - ${$e}*2)`,Z6=`max-w-[${ki.replace(/ /g,"_")}]`;var T0="--sf-chrome-cap",F0=`var(${T0},${ki})`,Q6="data-page-width";function J6(e){return e==="full"?"full":null}function ez(e){return e==="full"?null:Mm(e==="content"?ki:F0)}function oz(e){if(e==="full")return"full";if(e==="content")return"content"}var E0=["contained","page","full"],Gm=["full","page"],qr={full:"Full width",page:"Content width"},Ti="inherit",P0=e=>typeof e=="string"&&E0.includes(e),L0=e=>e===Ti;function Fi(e,o){let t=typeof e.pageWidth=="number"?e.pageWidth:Be.default;return L0(e.widthMode)?{mode:"full",pageWidth:t,inherited:!0}:e.widthMode==="contained"?{mode:"page",pageWidth:t,inherited:!1}:P0(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 Ei(e){return Fi(e,"page").mode==="full"}import{jsx as O0}from"react/jsx-runtime";import{createContext as R0,useContext as A0}from"react";var B0=2,_0=B0+1,Um=R0(2);function $m({tier:e,children:o}){return O0(Um.Provider,{value:e,children:o})}function Pi(e){let o=A0(Um);return _0+Math.max(0,e-o)}import{withStyleKind as _T}from"efficient-easel/style-clipboard";import{TEXT_CONTROL_KINDS as gW,SCALAR_TEXT_CONTROLS as bW}from"efficient-easel/draw";function jt(e){for(let[o,t]of Object.entries(e))t&&typeof t=="object"&&!Do(t)&&_T(t,`section:${o}`);return e}function dx(){return null}function Ai(e){if(!e.trim())throw new Error("noGlyph() needs a reason naming the ruling that decided it.");return I(dx,{},e)}function DT(e){return e.type===dx}function Co(e){return DT(e)?void 0:e}function qt(e,o){return l("{value} from {from}",{value:e,from:o})}function NT(){let{appState:e}=Kr(a=>a),o=e.data.root?.props??{},{mode:t,pageWidth:r}=Fi(o,"full");return t==="page"?qt(`${r}px`,l("the page")):t==="contained"?qt(l("Contained"),l("the page")):qt(l("Full"),l("the page"))}function MT(){let{blockGap:e}=Z();return e===null?l("this container's own spacing"):qt(`${e}px`,l("Site styles"))}function HT({inherited:e,onReset:o,label:t}){return I(qe,{words:j()?.panel,label:l(t),changed:!e,detail:MT(),onReset:o})}function zT({inherited:e,onReset:o,label:t}){return I(qe,{words:j()?.panel,label:l(t),changed:!e,detail:NT(),onReset:o})}function Kt({value:e,onChange:o,label:t,placeholder:r,hint:a,multiline:n,hideable:s=!0,markup:i=!0}){let{text:c,hidden:u}=Qo(e),p=Oi(null),m=Oi(null),x=w=>o(s?{text:w,hidden:u}:w),h=()=>o({text:c,hidden:!u}),b=s&&u,C=N0(),k=a?jT(a)?I("span",{className:"sf-hint-keep sf-hint-while-typing",children:l(a)}):I($u,{children:l(a)}):void 0,v=u?l("Show {label} on the slide",{label:l(t)}):l("Hide {label} on the slide",{label:l(t)});return I(ne,{label:l(t),icon:I(IT,{}),htmlFor:C,className:b?"is-hidden":void 0,hint:k,action:s?I(cx,{content:v,children:I("button",{type:"button",className:"sf-field-eye","aria-pressed":u,"aria-label":v,onClick:h,children:u?I(qm,{name:"eye-off",size:14}):I(qm,{name:"eye",size:14})})}):void 0,children:bt("div",{className:"sf-copybox",children:[i&&I(js,{target:n?m:p,value:c,onChange:x}),n?I("textarea",{id:C,ref:m,value:c,placeholder:r===void 0?void 0:l(r),onChange:w=>x(w.target.value)}):I("input",{id:C,ref:p,type:"text",value:c,placeholder:r===void 0?void 0:l(r),onChange:w=>x(w.target.value)})]})})}function pW(e,o){return{...e,[W0]:o}}function mW(e){let o=e[Bo];if(!o)throw new Error("withOffPage: the field holds no authored text");return{...e,[Bo]:{...o,offPage:!0}}}function Tn(e){return!e||typeof e!="object"?!1:e[Bo]?.offPage===!0}var ux="sfPanelOnly";function xW(e){if(!e[Bo])throw new Error("withPanelOnly: the field holds no authored text");return{...e,[ux]:!0}}function px(e){return!!e&&typeof e=="object"&&e[ux]===!0}function IW(e){let o=e[Bo];if(!o)throw new Error("withIdentifier: the field holds no authored text");return{...e,[Bo]:{...o,identifier:!0}}}function yW(e,o){if(!e[Bo])throw new Error("inOwnBox: the field holds no authored text");let{[hp]:t,...r}=e;return{...r,[Vs]:!0,render:o}}var WT=new Set(BT),Vt=(e,o)=>{let t={...o,[Bo]:e};if(!WT.has(e.control))return t;let r=o.render;return{...Mr(t,"authored-copy"),render:a=>I(Sp,{name:a.name,children:r(a)})}},SW="Everything else on this block comes from the linked post. Unlink it to edit by hand.",GT={field:"source.slug",set:!0},CW={not:GT},UT="Select a word, then press the highlighter.",$T="A short name so a link can jump straight to this section, like yoursite.com/page#about.",qT=new Set([UT]),jT=e=>qT.has(e);function vW(e,o,t){return Vt({control:"text",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Kt,{value:r,onChange:a,label:e,placeholder:o,hint:t})})}function wW(e,o,t){return Vt({control:"textarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Kt,{value:r,onChange:a,label:e,placeholder:o,hint:t,multiline:!0})})}function KT(e,o,t){return Vt({control:"plainText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Kt,{value:r,onChange:a,label:e,placeholder:o,hint:t,hideable:!1,markup:!1})})}function kW(e,o,t){return Vt({control:"copyText",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Kt,{value:r,onChange:a,label:e,placeholder:o,hint:t,hideable:!1})})}function TW(e){return{type:"custom",[H0]:{label:e},render:({value:o,onChange:t})=>I(tm,{value:M0(o),onChange:t,label:e})}}function FW(e,o,t){return Vt({control:"plainTextarea",label:e,placeholder:o,hint:t},{type:"custom",render:({value:r,onChange:a})=>I(Kt,{value:r,onChange:a,label:e,placeholder:o,hint:t,multiline:!0,hideable:!1})})}var mx={Design:G0,Animation:Qm};function xx(e,o){return e.includes("Design")?o!=="Design":null}function VT({label:e}){return I(bT,{title:l(e),level:Pi(1)})}function YT({level:e,label:o}){return e===1?I(VT,{label:o}):I(Yt,{label:o})}function Ix(e,o){return{type:"custom",[Ri]:{label:e,level:o},render:()=>I(YT,{level:o,label:e})}}function He(e){return Ix(e,2)}function EW(e){return{type:"custom",render:()=>I(XT,{text:e})}}function XT({text:e}){return I("p",{className:"sf-note",children:l(e)})}function PW(e){return Ix(e,1)}function LW(e){return Do(e)!==null&&e?.tabs!==void 0}var jm=new Map;function Fn(e,o){let t=`${e}\0${o?o.join(""):""}`,r=jm.get(t)??{type:"custom",tabs:o,[Ri]:{label:e,level:1},bucket:e,marker:!0,render:()=>I(_o,{})};return jm.set(t,r),r}var Km=new Map;function Bi(e){let o=Km.get(e)??{type:"custom",[Ri]:{label:e,level:1},designGroup:e,marker:!0,...e==="Content"?{}:{fold:e},render:()=>I(_o,{})};return Km.set(e,o),o}function ZT(e){let o=e;return o?.marker===!0&&typeof o.fold=="string"?o.fold:null}function hx(e,o){return ZT(e)===o?e:{...e,marker:!0,fold:o,render:()=>I(_o,{})}}function gx(e){let o=e;if(o.marker===!0&&o.fold===void 0)return e;let{fold:t,...r}=e;return{...r,marker:!0,render:()=>I(_o,{})}}function Yt({label:e}){return I(yT,{title:l(e),level:Pi(2)})}function bx({swatches:e,current:o,onPick:t,names:r}){let a=e.find(i=>i.toLowerCase()===o.toLowerCase()),n=a?r?.[a]:void 0,s=n?l(n):o;return bt("div",{className:"sf-swatches",children:[e.map(i=>{let c=r?.[i]?l(r[i]):i;return I(cx,{content:c,children:I("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":c})},i)}),I("span",{className:"sf-swatch-hex",children:s})]})}function OW(e,o){return{type:"custom",render:({value:t,onChange:r})=>{let a=Rm(t,o);return I(ne,{label:l(e),icon:I(j0,{}),changed:!a,action:I(qe,{words:j()?.panel,label:l(e),changed:!a,detail:l("the theme's section background"),onReset:()=>r(gn)}),children:bx({swatches:Lm,current:a?hn:t??o??"",onPick:r,names:Om})})}}}function QT(e,o){return{type:"custom",render:({value:t,onChange:r})=>{let a=t,n=_m(a,o);return I(ne,{label:l(e),icon:I(nT,{}),changed:!n,action:I(qe,{words:j()?.panel,label:l(e),changed:!n,detail:l("the theme's image stage"),onReset:()=>r($r)}),children:bx({swatches:Am,current:n?Ut:yi(a,o),onPick:r,names:Bm})})}}}function En(e=t=>t,o){return jt({_gSectionTheme:He(Vu),sectionAccent:{type:"custom",render:({value:t,onChange:r})=>I(Gp,{value:e(t),onChange:r,followLabel:o})}})}function je({min:e,max:o,step:t,value:r,onChange:a,suffix:n="",readout:s=!0,notch:i,ariaLabel:c,disabled:u=!1}){let p=i!==void 0&&Number.isFinite(i)&&i>=e&&i<=o;return I("div",{className:p?"sf-slider has-notch":"sf-slider",style:p?{"--sf-notch":(i-e)/(o-e)}:void 0,children:I(AT,{min:e,max:o,step:t,value:r,suffix:n||void 0,showInput:s,label:c===void 0?void 0:l(c),disabled:u,size:"sm",className:"sf-slider-track",onChange:m=>{m!==null&&m!==r&&a(m)}})})}function $t(e,o,t,r,a,n,s="",i){return{type:"custom",render:c=>I(ne,{label:l(e),icon:Co(o),action:i?i("storedValue"in c?c.storedValue:c.value,c.onChange):void 0,children:je({min:t,max:r,step:a,value:typeof c.value=="number"?c.value:n,suffix:s,ariaLabel:e,onChange:c.onChange})})}}function yx(e,o){let{min:t,max:r,step:a=1,unsetLabel:n,hint:s,restTrack:i,unsetMark:c,icon:u}=o;return{type:"custom",render:({value:p,onChange:m})=>{let x=typeof p=="number"?p:null,h=x===null;return I(ne,{label:l(e),icon:u?Co(u):void 0,value:h?c||n===void 0?void 0:l(n):`${x}px`,changed:!h,action:c?Xm(c,{changed:!h,onReset:()=>m(null)}):I(qe,{words:j()?.panel,label:l(e),changed:!h,onReset:()=>m(null)}),hint:typeof s=="string"?l(s):s,children:i?i({min:t,max:r,step:a,px:x,label:e,onChange:m}):je({min:t,max:r,step:a,value:x??t,readout:!1,ariaLabel:e,onChange:m})})}}}function RW(e){let o=$t("Gap",I(ex,{}),Yo.min,Yo.max,Yo.step,Gt[e],"px",(t,r)=>I(HT,{inherited:!bi(e,t),onReset:()=>r(void 0),label:"Gap"}));return{type:"custom",[Fm]:e,render:t=>o.render({...t,value:gi(e,t.value,t.field?.siteGap),storedValue:t.value,onChange:r=>t.onChange(r)})}}var Pn="Corners";function _i(e){return{type:"custom",render:({value:o,onChange:t})=>{let r=typeof o=="number"&&Number.isFinite(o)?o:null,a=r!==null;return I(ne,{label:l(Pn),icon:I(Z0,{}),changed:a,action:Xm(e.mark,{changed:a,onReset:()=>t(null)}),hint:e.hint,children:I(JT,{tier:e,px:r,onRadius:t})})}}}function Sx(e){let o=null;try{o=Zm()}catch{o=null}return[o?.values?.[e],t=>o?.onChange(e,t)]}function JT({tier:e,px:o,onRadius:t}){let r=e.useFollowed(),a=e.useClosedReason?e.useClosedReason():null,[n,s]=Sx(e.sidesKey),i=Po(n)??[...ct];return I(OT,{label:l(Pn),value:i,corners:ku,onChange:c=>{let u=Po(c)??[];s(u.length===ct.length?null:u)},radius:o,onRadiusChange:t,radiusMin:to,radiusMax:lt,radiusStep:e.step??1,radiusPlaceholder:String(r),disabled:a!==null,disabledReason:a??void 0})}function Cx(){return Mr({type:"custom",render:()=>I(Ht,{})},"always")}function eF({label:e,changed:o=!1,onReset:t=()=>{}}){let{cornerRadiusPx:r}=Z(),a=typeof r=="number"?`${r}px`:l("not set");return I(qe,{words:j()?.panel,label:l(e),changed:o,detail:r==null?l("the built-in corners"):qt(a,l("Site styles")),onReset:t})}function oF(){let{cornerRadiusPx:e}=Z();return typeof e=="number"?e:to}function tF(){return _i({sidesKey:"sectionCornerSides",useFollowed:oF,useClosedReason:()=>wx()?l(vx):null,mark:I(eF,{label:Pn}),hint:I(rF,{})})}var vx="This section runs edge to edge, so its corners sit off the page. Set Width to Content width to use them.";function wx(){return Ei(yt())}function rF(){return I(_o,{children:wx()?vx:"Follows Site styles \u25B8 Basics \u25B8 Corners until you set a number here."})}function Ln(){return jt({_gShape:He("Shape"),sectionCorners:tF(),sectionCornerSides:Cx(),sectionBorder:Vm("desktop"),sectionBorderPhone:Vm("mobile")})}var aF=()=>({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 nF(e){let o=Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null&&t!==""));return Object.keys(o).length?o:void 0}function lF(){let e;try{let o=Qe(Z().theme);e=o.themes[o.selected]?.line}catch{e=void 0}return e||Ud.line}function sF({value:e,onChange:o,tier:t}){let[r]=Sx("sectionBorder"),a=lF(),n=e&&typeof e=="object"?e:{},s=t==="mobile"?r&&typeof r=="object"?r:{}:{},[i,c]=kn(()=>TT(n,s)),u=aF();return I(ne,{label:l("Border"),icon:I(K0,{}),action:I(sx,{each:i,label:l("Each side"),onChange:c}),children:I(ST,{label:l("Border"),value:n,each:i,onChange:p=>o(nF(p)),placeholder:{sides:kT(s),style:s.style??"solid",color:s.color||a},presets:[a],words:u,max:20})})}function Vm(e){return ve(e,{type:"custom",render:({value:o,onChange:t})=>I(sF,{value:o,onChange:t,tier:e})})}function On(){return{_gMotion:He("Motion"),sectionAnimation:Mi("Entrance",I(Qm,{}),[...Xu],Ms)}}function Di(){let e=null;try{let{appState:o,selectedItem:t}=Kr(a=>a),r=t?.props?.id?String(t.props.id):void 0;e=r?zs(o?.data,r):null}catch{e=null}return e!==null&&Ei(e)}function kx(e){let{cornerRadiusPx:o}=Z(),t=Di(),r=typeof o=="number"?o:e,a=null;try{let{appState:s,selectedItem:i}=Kr(u=>u),c=i?.props?.id?String(i.props.id):void 0;a=c?zs(s?.data,c):null}catch{a=null}if(t||!a)return r;let n=a.sectionCorners;return Ts(n)?n:r}function iF({label:e,changed:o=!1,onReset:t=()=>{}}){let r=Di(),a=kx(to),n=r?"Site":"Section";return I(qe,{words:j()?.panel,label:l(e),changed:o,detail:qt(`${a}px`,r?l("Site styles"):l("the section")),onReset:t})}function fF(){return I(_o,{children:Di()?l("The section is full width, so this card follows Site styles \u25B8 Basics \u25B8 Corners."):l("Follows the section's Corners until you set a number here.")})}function cF(){return _i({sidesKey:"cardCornerSides",useFollowed:()=>kx(to),mark:I(iF,{label:Pn}),hint:I(fF,{})})}function dF(){return{type:"custom",render:()=>I(Ru,{})}}function AW(){return{_gShape:He("Shape"),cardCorners:cF(),cardCornerSides:Cx(),cardCornersApplyAll:dF()}}function BW(){return Zo("Justify",I(q0,{}),pi,pi[0].value)}function _W(){return Zo("Item alignment",I(U0,{}),gm,"stretch")}function DW(){return Zo(bm,I(gT,{}),mi,mi[0].value)}function NW(){return{type:"custom",render:({value:e,onChange:o})=>{let t=In.find(r=>r.value===e)??In[0];return I(ne,{label:l(xi),icon:I(Jm,{}),value:l(t.label),children:I(fx,{className:"sf-gallery-layouts",label:l(xi),value:t.value,onChange:o,options:In.map(r=>({value:r.value,label:l(r.label),picture:I("span",{className:"sf-gallery-pic",children:uF(r.weights).map((a,n)=>I("i",{style:{gridColumn:`span ${a}`}},n))})}))})})}}}function uF(e){if(!e)return[3,4];let o=e.reduce((t,r)=>t+r,0);return e.map(t=>Math.round(t/o*12))}function MW(){return Zo(Cm,I(ex,{}),hi,hi[0].value)}function HW(){return $t(ym,I(cT,{}),Ii,Sm,1,Ii)}function zW(e){let o=Mi(pm,Ai("`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)."),xm(e),xn(e,void 0));return{type:"custom",render:t=>o.render({...t,value:xn(e,t.value),onChange:r=>t.onChange(r)})}}function WW(e,o,t,r,a,n){return{type:"custom",render:({value:s,onChange:i})=>I(ne,{label:l(e),icon:I(Bs,{noun:n}),action:I(qe,{words:j()?.panel,label:l(e),changed:!Nm(s),detail:l("the Text style in Site styles"),onReset:()=>i(Dm),defaultAction:{onPress:()=>i(Sn),title:l("Keep this section's own built-in size"),icon:I(V0,{})}}),children:je({min:o,max:t,step:r,value:typeof s=="number"?s:a,suffix:"px",ariaLabel:e,onChange:i})})}}function GW(){return{_gCellWidth:He("Cell width"),gridSpan:Zo("Positions",I(Jm,{}),[{label:"Auto",value:""},...Array.from({length:Ya},(e,o)=>({label:o===0?"1 position":`${o+1} positions`,value:String(o+1)}))],"")}}function yt(){let e=null;try{e=Kr(o=>o).selectedItem}catch{e=null}return e?.props??{}}function pF({min:e,max:o,step:t,px:r,label:a,onChange:n,desktopKey:s,fallback:i}){let c=yt()[s],u=rn(void 0,c,i);return I(_o,{children:je({min:e,max:o,step:t,value:rn(r,c,i),readout:!1,ariaLabel:a,notch:u,onChange:n})})}function mF({label:e,desktopKey:o,fallback:t,changed:r=!1,onReset:a=()=>{}}){let n=yt()[o],s=rn(void 0,n,t);return I(qe,{words:j()?.panel,label:l(e),changed:r,detail:l("{value} on desktop",{value:`${s}px`}),onReset:a})}function xF(e){return yx(e.label,{icon:e.icon,min:e.min,max:e.max,step:e.step,unsetLabel:"Follows Desktop",unsetMark:I(mF,{label:e.label,desktopKey:e.desktopKey,fallback:e.fallback}),restTrack:o=>I(pF,{...o,desktopKey:e.desktopKey,fallback:e.fallback})})}function UW(e){return{type:"custom",render:({value:o,onChange:t})=>I(hF,{...e,value:o,onChange:t})}}function IF({label:e,icon:o,options:t,value:r,resolved:a,restWord:n,onChange:s}){let i=t.some(c=>c.value===r);return I(ne,{label:l(e),icon:Co(o),action:I(qe,{words:j()?.panel,label:l(e),changed:i,detail:l("{value} on desktop",{value:l(n)}),onReset:()=>s(void 0)}),children:Dn({options:t,value:i?r:a,onChange:c=>s(c),ariaLabel:e})})}function hF({label:e,icon:o,options:t,desktopKey:r,resolve:a,value:n,onChange:s}){let i=yt()[r],c=a(void 0,i),u=t.find(p=>p.value===c)?.label??"";return I(IF,{label:e,icon:o,options:t,value:n,resolved:c,restWord:u,onChange:s})}var gF={Top:"Padding top",Bottom:"Padding bottom",Left:"Padding left",Right:"Padding right"},bF={Top:nx,Bottom:tx,Left:rx,Right:ax},yF=e=>{let o=bF[e];return I(o,{})};function $W(e={}){let o=e.keys?.top??"sectionPaddingTop",t=e.keys?.bottom??"sectionPaddingBottom",r=e.group!==!1,a=k=>gF[k],n=k=>$t(a("Top"),I(nx,{}),lo.min,lo.max,lo.step,k,"px"),s=(k,v,w,g=lo)=>ve("mobile",xF({label:a(k),icon:yF(k),desktopKey:v,min:g.min,max:g.max,step:g.step,fallback:w})),i=e.top??lo.min,c=e.bottom??lo.min,u="sectionPaddingLeft",p="sectionPaddingRight",m=e.sideBounds??lo,x=e.side??m.min,h=e.sidePhone??x,b=e.phone===!0,C=k=>b?ve("desktop",k):k;return jt({...r?{_gSpacing:He("Padding")}:{},[o]:C(n(i)),...b?{[Ro(o)]:s("Top",o,i)}:{},...e.only==="top"?{}:{[t]:C($t(a("Bottom"),I(tx,{}),lo.min,lo.max,lo.step,c,"px")),...b?{[Ro(t)]:s("Bottom",t,c)}:{}},...e.sides?{[u]:C($t(a("Left"),I(rx,{}),m.min,m.max,m.step,x,"px")),...b?{[Ro(u)]:s("Left",u,h,m)}:{},[p]:C($t(a("Right"),I(ax,{}),m.min,m.max,m.step,x,"px")),...b?{[Ro(p)]:s("Right",p,h,m)}:{}}:{}})}var jr=["top","right","bottom","left"],SF={top:"sectionPaddingTop",right:"sectionPaddingRight",bottom:"sectionPaddingBottom",left:"sectionPaddingLeft"},Ym=e=>typeof e=="number"?e:null;function CF(e,o,t){let r={};for(let a of jr)t[a]!==o[a]&&(r[e[a]]=t[a]??void 0);return r}function vF({tier:e,o}){let t=null;try{t=Zm()}catch{t=null}let r=t?.values??{},a=e==="mobile"?o.phoneKeys:o.keys,n=Object.fromEntries(jr.map(u=>[u,Ym(r[a[u]])])),s=Object.fromEntries(jr.map(u=>[u,String(e==="mobile"?Ym(r[o.keys[u]])??o.fallback[u]:o.fallback[u])])),[i,c]=kn(()=>wT(n,s));return I(ne,{label:l("Padding"),icon:I(fT,{}),action:I(sx,{each:i,label:l("Each side"),onChange:c}),children:I(vT,{label:l("Padding"),each:i,value:n,placeholder:s,min:o.min,max:o.max,step:o.step,onChange:u=>{let p=CF(a,n,u);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 Rn(e={}){let o={...SF,...e.keys},t={keys:o,phoneKeys:Object.fromEntries(jr.map(i=>[i,Ro(o[i])])),fallback:{top:0,right:0,bottom:0,left:0,...e.fallback},min:e.min??0,max:e.max??200,step:e.step??4},r=e.phone!==!1,a=i=>{let c={type:"custom",render:()=>I(vF,{tier:i,o:t})};return r?ve(i,c):c},n=()=>Mr({type:"custom",render:()=>I(Ht,{})},"always"),s=jr.filter(i=>i!=="top");return jt({...e.group===!1?{}:{_gSpacing:He("Padding")},[t.keys.top]:a("desktop"),...r?{[t.phoneKeys.top]:a("mobile")}:{},...Object.fromEntries(s.map(i=>[t.keys[i],{...n(),reachedBy:t.keys.top}])),...r?Object.fromEntries(s.map(i=>[t.phoneKeys[i],ve("mobile",n())])):{}})}var wF={contained:"Contained",page:"Page",full:"Full"},wn="Width";function An(e,o=Gm,t=!0){let r=o.map(a=>({label:qr[a]??wF[a],value:a}));return jt({...t?{_gWidth:He(wn)}:{},widthMode:{type:"custom",render:({onChange:a,field:n})=>I(ne,{label:l(wn),icon:I(hT,{}),action:t?I(zT,{inherited:n?.inherited??!1,onReset:()=>a(Ti),label:wn}):void 0,children:Dn({options:r,value:n?.currentValue||e,onChange:a,ariaLabel:wn})})}})}function Bn(){let e=r=>({type:"custom",render:({value:a,onChange:n})=>I(ne,{label:Wt,icon:Co(I(lT,{})),action:r?r(n):void 0,children:Dn({options:[{label:"Auto",value:"auto"},{label:"Fixed",value:"fixed"},{label:"Screen",value:"screen"}],value:["auto","fixed","screen"].includes(a)?a:"auto",onChange:n,ariaLabel:Wt})})}),o=()=>({type:"custom",render:({value:r,onChange:a,field:n})=>{let s=n?.unit==="%"?"%":"px",i=s==="%"?fi:ii;return I("div",{className:"sf-field",children:je({min:i.min,max:i.max,step:i.step,value:typeof r=="number"?r:i.fallback,suffix:s,ariaLabel:Wt,onChange:a})})}}),t=()=>Mi("Unit",I(ox,{}),[{label:"px",value:"px"},{label:"%",value:"%"}],"px");return jt({_gHeight:He(Wt),sectionHeightMode:ve("desktop",e()),sectionHeightValue:ve("desktop",o()),sectionHeightUnit:ve("desktop",t()),sectionHeightModePhone:ve("mobile",e(r=>I(kF,{onClear:()=>r(void 0)}))),sectionHeightValuePhone:ve("mobile",o()),sectionHeightUnitPhone:ve("mobile",t())})}function kF({onClear:e}){let o=yt(),t=ci(o),r=pn(o),a=l("{value} on desktop",{value:r.mode==="auto"?l("Auto"):`${r.value}${r.unit}`});return I(qe,{words:j()?.panel,label:l(Wt),changed:t,detail:a,onReset:e})}function Ni(){let e=t=>({type:"custom",render:({value:r,onChange:a,id:n,name:s})=>I(TF,{value:r,onChange:a,labelId:`${n??s??"stickTop"}-label`,phone:t})}),o=()=>({type:"custom",render:({value:t,onChange:r})=>I("div",{className:"sf-field",children:je({min:Vo.min,max:Vo.max,step:Vo.step,value:typeof t=="number"?t:Vo.fallback,suffix:"px",ariaLabel:l("Distance from top"),onChange:r})})});return{_gStick:He(mn),stickTop:ve("desktop",e(!1)),stickTopDistance:ve("desktop",o()),stickTopPhone:ve("mobile",e(!0)),stickTopDistancePhone:ve("mobile",o())}}function TF({value:e,onChange:o,labelId:t,phone:r}){let a=yt(),n=ui(a),s=r?n.phone:e===!0;return I(ne,{label:l(mn),labelId:t,icon:Co(I(pT,{})),action:bt(_o,{children:[r?I(qe,{words:j()?.panel,label:l(mn),changed:di(a),detail:l("{value} on desktop",{value:n.desktop?`${n.desktopDistance}px`:l("Off")}),onReset:()=>o(void 0)}):null,I(ix,{checked:s,onChange:o,ariaLabelledBy:t})]})})}function _n(){return{_gAnchor:He("Anchor"),anchor:KT("Anchor name","e.g. about",$T)}}function qW(e,o,t){return{type:"custom",render:({value:r,onChange:a,id:n,name:s})=>{let i=`${n??s??e}-datetime`,c=Date.parse(typeof r=="string"?r:"");return I(ne,{label:l(e),icon:o,htmlFor:i,hint:t===void 0?void 0:l(t),children:I(RT,{id:i,value:Number.isFinite(c)?new Date(c):null,onChange:u=>a(u?u.toISOString():"")})})}}}function gt(e,o,t){return{type:"custom",render:({value:r,onChange:a,id:n,name:s})=>{let i=typeof r=="boolean"?r:o,c=`${n??s??e}-label`;return I(ne,{label:l(e),labelId:c,icon:t,action:I(ix,{checked:i,onChange:a,ariaLabelledBy:c})})}}}function jW(){return{type:"custom",render:({value:e,onChange:o,id:t,name:r})=>{let a=`${String(t??r??"pageBackground")}-colour`;return I(ne,{label:l("Background"),icon:I(lx,{}),htmlFor:a,action:I(Je,{id:a,label:"Background",value:_s(e),onChange:o})})}}}function KW(e,o){return{type:"custom",render:({value:t,onChange:r})=>I(ne,{label:l(e),action:Je({value:t||o,onChange:r,label:e})})}}var FF=[{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 Tx({label:e,value:o,onChange:t,points:r=FF}){let a=r.map(n=>({...n,label:l(n.label),...n.title?{title:l(n.title)}:null}));return I(LT,{label:l(e),value:o,points:a,onChange:t})}function VW(){return Mr({type:"custom",render:()=>I(Ht,{})},"always")}var EF=Os([]);function YW(e,{stacking:o,fallback:t=Xa}){return{type:"custom",render:({value:r,onChange:a})=>{let n=ho.includes(r)?r:t;return o?I(PF,{label:e,value:n,onChange:a}):Fx({label:e,value:n,onChange:a,points:EF})}}}function PF({label:e,value:o,onChange:t}){let{appState:r,selectedItem:a}=Kr(i=>i),n=a?.props?.id?String(a.props.id):void 0,s=n?As(r?.data,n):[];return Fx({label:e,value:o,onChange:t,points:Os(s,n)})}function Fx({label:e,value:o,onChange:t,points:r}){let a=r.find(n=>n.disabled);return I(ne,{label:l(e),icon:I(dT,{}),hint:a?.title?l(a.title):void 0,children:Tx({label:e,value:dt(o),onChange:t,points:r})})}var XW={top:I(oT,{}),right:I(eT,{}),bottom:I(Q0,{}),left:I(J0,{})};function ZW(e,o,t,r,a,n){let s=p=>o.find(m=>m.value===p),i=p=>({value:p,label:"",disabled:!0,title:r}),c=p=>{let m=o.find(h=>h.cell===p);if(!m)return i(`missing-${p}`);let x=n?.[p];return x?{value:m.value,label:m.label,icon:x}:{value:m.value,label:m.label}},u=[i("corner-top-left"),c("top"),i("corner-top-right"),c("left"),i("centre"),c("right"),i("corner-bottom-left"),c("bottom"),i("corner-bottom-right")];return{type:"custom",render:({value:p,onChange:m})=>{let x=o.some(h=>h.value===p)?p:t;return I(ne,{label:l(e),icon:a,value:s(x)?.label?l(s(x).label):"",children:Tx({label:e,value:x,onChange:m,points:u})})}}}var LF="\0note";function Zo(e,o,t,r,a){return{type:"custom",options:t,fallback:r,...a?{note:a}:{},render:({value:n,onChange:s,field:i})=>{let c=i.options??t,u=i.fallback??r,p=c.some(m=>m.value===n)?n:u;return I(ne,{label:l(e),icon:Co(o),children:I(FT,{value:p,ariaLabel:l(e),onChange:s,options:[...a?[{label:l(a),value:LF,disabled:!0}]:[],...c.map(m=>({label:l(m.label),value:m.value}))]})})}}}function QW(e,o,t){return{type:"custom",options:o,render:({value:r,onChange:a,field:n})=>I(Op,{label:e,options:(n.options??o).map(s=>({...s,label:l(s.label)})),value:Array.isArray(r)?r:[],onChange:a,...t?{emptyLabel:l(t)}:{}})}}function JW(e,o={}){return{type:"custom",render:({value:t,onChange:r})=>{let a={value:t,onChange:r,...o};return I(e,{...a})}}}function Dn({options:e,value:o,onChange:t,ariaLabel:r,disabled:a=!1}){return I(CT,{options:e.map(n=>n.picture?{id:n.value,label:n.picture,title:l(n.title??n.label)}:{id:n.value,label:l(n.label),title:n.title===void 0?void 0:l(n.title)}),value:o,onChange:t,ariaLabel:l(r),disabled:a})}var eG=[{label:"Image",value:"image"},{label:"Video",value:"video"}];function Mi(e,o,t,r){let a=t.map(n=>typeof n=="string"?{label:n,value:n}:n);return{type:"custom",render:({value:n,onChange:s,field:i})=>I(ne,{label:l(e),icon:Co(o),children:Dn({options:a,value:a.some(c=>c.value===n)?n:n||i?.currentValue||r,onChange:s,ariaLabel:e})})}}function oG(e,o,t,r={}){return{type:"custom",[z0]:!0,render:({value:a,onChange:n})=>I(Pp,{value:a||"",onChange:n,label:e,accept:o,placeholder:t,focusKey:r.focus,focusWhen:r.focusWhen})}}function tG({value:e,onChange:o,label:t}){let r=e||{},a=!!r.pending,n=a?"var(--fg-dim, #888)":r.ok?"#1d9e75":"#d85a30",s=(i,c)=>o({...r,[i]:c===""?void 0:Number(c)});return bt(ne,{label:l(t),icon:I(Li,{}),children:[I("button",{type:"button",disabled:a,onClick:()=>o({...r,pending:!0,ok:!1,status:"Finding\u2026"}),style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"center",gap:6,padding:"8px 10px",fontSize:13,cursor:a?"default":"pointer",opacity:a?.6:1,border:"1px solid var(--border-strong, #ccc)",borderRadius:6,background:"transparent",color:"inherit"},children:a?l("Finding\u2026"):l("Find coordinates")}),r.status&&I("div",{style:{marginTop:6,fontSize:12,lineHeight:1.4,color:n},children:l(r.status)}),I("div",{style:{marginTop:6,fontSize:11,color:"var(--fg-dim, #999)"},children:l("Coordinates from OpenStreetMap")}),I("button",{type:"button",onClick:()=>o({...r,manual:!r.manual}),style:{marginTop:8,padding:0,border:"none",background:"none",font:"inherit",fontSize:12,color:"var(--sf-accent, #2563eb)",cursor:"pointer",textDecoration:"underline"},children:r.manual?l("Hide manual coordinates"):l("Enter coordinates manually")}),r.manual&&bt("div",{style:{marginTop:8,display:"grid",gap:8},children:[I(ne,{label:l("Latitude"),icon:I(Li,{}),children:I("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"34.0990198"}),value:typeof r.lat=="number"?r.lat:"",onChange:i=>s("lat",i.target.value)})}),I(ne,{label:l("Longitude"),icon:I(Li,{}),children:I("input",{type:"number",step:"any",placeholder:l("e.g. {example}",{example:"-117.9842833"}),value:typeof r.lng=="number"?r.lng:"",onChange:i=>s("lng",i.target.value)})})]})]})}function OF(e,o){return o===null||o<0||o>=e.length?"":e[o]?.text??""}function RF(e,o,t){let r=e.map(a=>({text:a?.text??""}));return o===null||o<0||o>=e.length?r:r.map((a,n)=>n===o?{text:t}:a)}function AF(e,o,t){if(t===null||t>=o.length)return null;for(let r=0;r<t;r+=1)if(e[r]!==o[r])return null;return e[t]!==o[t]&&o.includes(e[t])||e[t]!==o[t]&&o.length!==e.length?null:t}var Hi={label:"Ticker items",icon:I(iT,{})};function rG(e,o,t,r){return{type:"custom",[Bo]:{control:"textList",label:e,placeholder:t,itemKey:"text",rendering:r},render:({value:a,onChange:n})=>I(zi,{label:e,icon:Co(o),items:Array.isArray(a)?a:[],placeholder:t,onChange:n,markup:r==="markup"})}}function zi({label:e,icon:o,items:t,placeholder:r,onChange:a,markup:n=!1}){let s=Oi(null),[i,c]=kn(null),u=m=>m.map(x=>({text:x?.text??""})),p=m=>{let x=AF(t,m,i);x===null&&(s.current=null),c(x),a(u(m))};return I(ET,{label:l(e),icon:o,noun:l("item"),items:t,onChange:p,newItem:()=>({text:""}),open:null,onOpen:()=>{},renderItem:()=>null,above:n?I(js,{target:s,value:OF(t,i),onChange:m=>a(RF(t,i??-1,m)),disabled:i===null,label:i===null?l("Formatting \u2014 click a row first"):l("Formatting \u2014 row {n}",{n:i+1})}):void 0,renderRow:(m,x,h)=>I("input",{type:"text",className:n&&i===x?"sf-list-marking":void 0,value:m?.text??"",placeholder:l(r),"aria-label":l("{label} {n}",{label:l(e),n:x+1}),onChange:b=>h({text:b.target.value}),onFocus:b=>{s.current=b.currentTarget,c(x)}})})}function Ex(e,o){let t=`${e.label} \u2014 row ${o+1}`;return Vt({control:"plainText",label:t,placeholder:e.placeholder,offPage:e.offPage},{type:"custom",render:({value:r,onChange:a})=>I(Kt,{value:r,onChange:a,label:l("{label} \u2014 row {n}",{label:l(e.label),n:o+1}),placeholder:e.placeholder,hideable:!1,markup:e.rendering==="markup"})})}function Px(e){return{_gCards:He("Cards"),coverIndex:Zo("Cover image",I(sT,{}),vp,String(1),e?.coverHint??"A card's opening picture \u2014 a card pinned to a finish keeps its own."),imageBackground:QT("Image background",yn),cardImage:_F(),spinOnHover:gt("Rotate on hover",e?.spinDefault??!0,I(mT,{}))}}function Lx(){return{outline:Zo("Card outline",I(xT,{}),ei,Qs),indexBadge:Zo("Card number",I(ox,{}),Js,Zs),showBadge:gt("Product badge",!0,I(Bs,{noun:"tag"}))}}function Ox(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:He("Show on a card"),showCardPrice:gt("Price",!0,I(tT,{})),showCardFinishes:gt("Finish swatches",!0,I(rT,{})),showCardSizes:gt("Sizes",t.showCardSizes,I(uT,{})),showCardBuy:gt("Buy button",t.showCardBuy,I(Y0,{})),showCardPage:gt("Page button",t.showCardPage,I(lx,{}))}}function aG(e,o="display"){let t=Ro(o);return{[o]:ve("desktop",{type:"custom",render:({value:r,onChange:a})=>I(Rx,{parts:e,changed:Qu(r),shown:n=>on(r,n),onPress:(n,s)=>a(ep(r,n,s)),onReset:()=>a(void 0)})}),[t]:ve("mobile",{type:"custom",render:({value:r,onChange:a})=>I(BF,{parts:e,desktopKey:o,value:r,onChange:a})})}}function Rx({parts:e,changed:o,shown:t,onPress:r,onReset:a,detail:n}){let s=l("Display");return I(ne,{label:s,icon:I($0,{}),changed:o,action:I(qe,{words:j()?.panel,label:s,changed:o,detail:n,onReset:a}),children:I(PT,{label:s,items:e.map(i=>({id:i.id,label:l(i.label),shown:t(i.id)})),onChange:r})})}function BF({parts:e,desktopKey:o,value:t,onChange:r}){let a=yt()[o];return I(Rx,{parts:e,changed:Ju(t),shown:n=>Ws(a,t,n),onPress:(n,s)=>r(op(t,n,s)),onReset:()=>r(an),detail:l("the same as Desktop")})}function _F(){return yx("Card image",{min:to,max:lt,step:Au,hint:"Rounds the picture. The card's own corner is in Site styles."})}function nG(){return _i({sidesKey:"cornerSides",step:Bu,useFollowed:()=>to,mark:I(DF,{label:_u}),hint:l("Rounds the picture. Left alone it stays square.")})}function DF({label:e,changed:o=!1,onReset:t=()=>{}}){return I(qe,{words:j()?.panel,label:l(e),changed:o,onReset:t})}function lG(){return{type:"custom",render:({value:e,onChange:o})=>I(NF,{value:typeof e=="string"?e:"",onChange:o})}}function NF({value:e,onChange:o}){let[t,r]=kn(null),a=Es.filter(s=>t===null||Lo[s].across===t),n=e&&e in Lo?Lo[e]:null;return bt(_o,{children:[I(ne,{label:l("Photos in a row"),icon:I(X0,{}),children:bt("div",{className:"sf-gallery-filter",children:[I("button",{type:"button","aria-pressed":t===null,onClick:()=>r(null),children:l("All")}),Nu.map(s=>I("button",{type:"button","aria-pressed":t===s,onClick:()=>r(s),children:s},s))]})}),I(ne,{label:l("Layout"),icon:I(aT,{}),value:n?l(n.label):l("Not chosen"),hint:l("{n} of {total} layouts",{n:a.length,total:Es.length}),children:I(fx,{className:"sf-gallery-layouts",label:l("Layout"),value:e,onChange:o,onClear:()=>o(""),options:a.map(s=>({value:s,label:l(Lo[s].label),picture:I("span",{className:"sf-gallery-pic",children:Lo[s].desktop.map(([i,c],u)=>I("i",{style:{gridColumn:`span ${i}`,gridRow:`span ${c}`}},u))})}))})})]})}import{jsx as Nn,Fragment as MF,jsxs as Ax}from"react/jsx-runtime";import{Button as Bx,Dialog as HF}from"efficient-shell/ui";function zF(e){return it("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 _x({count:e,onCancel:o,onConfirm:t}){return Ax(HF,{open:!0,onClose:o,role:"alertdialog",size:"sm",title:l("Clear this site\u2019s colors?"),footer:Ax(MF,{children:[Nn(Bx,{variant:"secondary",onClick:o,children:l("Cancel")}),Nn(Bx,{variant:"danger",onClick:t,children:l("Clear colors")})]}),children:[Nn("p",{children:zF(e)}),Nn("p",{className:"mt-2 font-medium",children:l("This cannot be undone.")})]})}var jF=Ai("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"),KF="Reset color",VF={selected:0,themes:[]};function YF(e){e(VF)}function Mx({value:e,onChange:o}){let t=e?.themes??[],r=t.length===0,a=Qe(e),[n,s]=Nx(!1),i=$F(),[c,u]=Nx(null),p=(v,w)=>{o({...a,themes:a.themes.map((g,y)=>y===v?w:g)})},m=Ot(a).accent,x=new Set(a.themes.map(v=>v.brandInk).filter(Boolean)),h=$d.filter(v=>!x.has(v)).map(v=>qd(m,v)),b=[...a.themes,...h],C=v=>{if(v<a.themes.length)return o({...a,selected:v});let w=[...a.themes,b[v]];o({...a,themes:w,selected:w.length-1})},k=()=>{let v=[...a.themes,{...xo(a.themes[a.selected])}];o({...a,themes:v,selected:v.length-1}),u(v.length-1)};return Dx(WF,{children:[r?null:Xt(UF,{label:l(KF),icon:Co(jF),labelId:"sf-theme-reset",action:Xt(GF,{label:l("all theme colors"),words:i.panel,changed:!0,onReset:()=>s(!0)})}),n&&Xt(_x,{count:t.length,onCancel:()=>s(!1),onConfirm:()=>{s(!1),YF(o)}}),Xt("div",{className:"sf-theme-list",role:"radiogroup","aria-label":l("Theme"),children:b.map((v,w)=>Xt(sn,{index:w,colors:v,selected:w===a.selected,open:c===w&&w<a.themes.length,editable:w<a.themes.length,onPick:()=>C(w),onEdit:()=>u(g=>g===w?null:w),onChangeColors:g=>p(w,g)},w))}),Dx("button",{type:"button",onClick:k,className:"sf-theme-add",children:[Xt(qF,{size:12}),l("Add new theme")]})]})}import{jsx as Mn}from"react/jsx-runtime";import{SettingsDefaultReset as XF,SettingsField as ZF}from"efficient-easel/panel";import{SquareIcon as QF}from"efficient-easel/icons";var JF="Applies to panels, cards, inputs and buttons. Round things \u2014 color swatches, switches, status dots \u2014 stay round.",Wi="Corners";function Hx({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Mn(ZF,{label:l(Wi),icon:Mn(QF,{}),value:r?void 0:`${e}px`,changed:!r,action:Mn(XF,{words:j()?.panel,label:l(Wi),changed:!r,detail:l("the built-in corners"),onReset:()=>o(null)}),hint:t?l(JF):void 0,children:Mn(je,{min:to,max:lt,step:1,value:e??to,readout:!1,ariaLabel:l(Wi),onChange:o})})}import{jsx as Vr}from"react/jsx-runtime";import{SettingsDefaultReset as eE,SettingsField as oE,SettingsSegmented as tE}from"efficient-easel/panel";import{ShadowIcon as rE}from"efficient-easel/icons";var Gi={none:"None",soft:"Soft",lifted:"Lifted"},aE="Applies to cards \u2014 products, brands, journal entries and filter cells. Round things like swatches and status dots are never shadowed.",nE={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)"},lE={labelsPx:90.25,widestLabelPx:34.6};function zx({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??ms;return Vr(oE,{label:l("Card shadow"),icon:Vr(rE,{}),value:l(Gi[a]),changed:!r,action:Vr(eE,{words:j()?.panel,label:l("Card shadow"),changed:!r,detail:l(Gi[ms]),onReset:()=>o(null)}),hint:t?l(aE):void 0,children:Vr(tE,{options:Jd.map(n=>({id:n,label:l(Gi[n]),icon:Vr("span",{className:"sf-shadow-chip",style:{boxShadow:nE[n]}})})),value:a,ariaLabel:l("Card shadow"),fit:lE,onChange:o})})}import{jsx as Ui}from"react/jsx-runtime";import{SettingsDefaultReset as sE,SettingsField as iE}from"efficient-easel/panel";import{ShadowIcon as fE}from"efficient-easel/icons";var cE="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 Wx({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Ui(iE,{label:l("Shadow color"),icon:Ui(fE,{}),changed:!r,action:Je({value:e??"",inherited:r?Is:void 0,onChange:o,label:"Shadow color",after:Ui(sE,{words:j()?.panel,label:l("Shadow color"),changed:!r,detail:Is,onReset:()=>o(null)})}),hint:t?l(cE):void 0})}import{jsx as Hn}from"react/jsx-runtime";import{SettingsDefaultReset as dE,SettingsField as uE}from"efficient-easel/panel";import{AlignSeparateIcon as pE}from"efficient-easel/icons";var mE="The space between the blocks inside a row, a grid or a box. Default means each one keeps the spacing it already has.",$i="Block gap",xE=Gt.Grid;function Gx({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Hn(uE,{label:l($i),labelId:"sf-block-gap",icon:Hn(pE,{}),value:r?void 0:`${e}px`,changed:!r,action:Hn(dE,{words:j()?.panel,label:l($i),changed:!r,detail:l("each block's own spacing"),onReset:()=>o(null)}),hint:t?l(mE):void 0,children:Hn(je,{min:ht.min,max:ht.max,step:ht.step,value:r?xE:e,readout:!1,ariaLabel:l($i),onChange:o})})}import{jsx as zn}from"react/jsx-runtime";import{SettingsDefaultReset as IE,SettingsField as hE,SettingsSegmented as gE}from"efficient-easel/panel";import{HoverIcon as bE}from"efficient-easel/icons";var qi={none:"None",lift:"Lift",highlight:"Highlight"},yE="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 Ux({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??xs;return zn(hE,{label:l("Hover effect"),icon:zn(bE,{}),value:l(qi[a]),changed:!r,action:zn(IE,{words:j()?.panel,label:l("Hover effect"),changed:!r,detail:l(qi[xs]),onReset:()=>o(null)}),hint:t?l(yE):void 0,children:zn(gE,{options:eu.map(n=>({id:n,label:l(qi[n])})),value:a,ariaLabel:l("Hover effect"),onChange:o})})}import{jsx as Wn}from"react/jsx-runtime";import{SettingsDefaultReset as SE,SettingsField as CE,SettingsSegmented as vE}from"efficient-easel/panel";import{ImageIcon as wE}from"efficient-easel/icons";var ji="Hero image",Ki=[{followsWidth:!1,label:qr.full},{followsWidth:!0,label:qr.page}],kE="Whether the big picture at the top of a page runs edge to edge, or sits inside the page width. The words follow the page width either way.";function $x({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??!1;return Wn(CE,{label:l(ji),icon:Wn(wE,{}),value:l(Ki.find(n=>n.followsWidth===a).label),changed:!r,action:Wn(SE,{words:j()?.panel,label:l(ji),changed:!r,detail:l(Ki.find(n=>!n.followsWidth).label),onReset:()=>o(null)}),hint:t?l(kE):void 0,children:Wn(vE,{options:Ki.map(n=>({id:n.followsWidth,label:l(n.label)})),value:a,ariaLabel:l(ji),onChange:o})})}import{jsx as Gn}from"react/jsx-runtime";import{SettingsDefaultReset as TE,SettingsField as FE,SettingsSegmented as EE}from"efficient-easel/panel";import{DropIcon as PE}from"efficient-easel/icons";var Vi="Photography",qx={shot:"As shot",mono:"Black and white"},Yi=[{grayscale:!1,label:qx.shot},{grayscale:!0,label:qx.mono}],LE="Black and white photographs return to color on hover. Wheels and tyres keep their real finish either way.";function jx({value:e,onChange:o,showHint:t=!0}){let r=e===null,a=e??!1;return Gn(FE,{label:l(Vi),icon:Gn(PE,{}),value:l(Yi.find(n=>n.grayscale===a).label),changed:!r,action:Gn(TE,{words:j()?.panel,label:l(Vi),changed:!r,detail:l(Yi.find(n=>!n.grayscale).label),onReset:()=>o(null)}),hint:t?l(LE):void 0,children:Gn(EE,{options:Yi.map(n=>({id:n.grayscale,label:l(n.label)})),value:a,ariaLabel:l(Vi),onChange:o})})}import{jsx as Xi}from"react/jsx-runtime";import{useId as OE}from"react";import{SettingsField as RE,SettingsSwitch as AE}from"efficient-easel/panel";import{ShareIcon as BE}from"efficient-easel/icons";var _E="Share button",DE="On every blog post.";function Kx({value:e,onChange:o,showHint:t=!0}){let r=OE();return Xi(RE,{label:l(_E),labelId:r,icon:Xi(BE,{}),action:Xi(AE,{checked:e===!0,onChange:o,ariaLabelledBy:r}),hint:t?l(DE):void 0})}import{jsx as Un}from"react/jsx-runtime";import{SettingsDefaultReset as NE,SettingsField as ME}from"efficient-easel/panel";import{PaddingXIcon as HE}from"efficient-easel/icons";var Zi="Side space",Qi=So.default,zE="The room left at the left and right edge of every page.";function Vx({value:e,onChange:o,showHint:t=!0}){let r=e===null;return Un(ME,{label:l(Zi),labelId:"sf-side-space",icon:Un(HE,{}),value:`${e??Qi}px`,changed:!r,action:Un(NE,{words:j()?.panel,label:l(Zi),changed:!r,detail:`${Qi}px`,onReset:()=>o(null)}),hint:t?l(zE):void 0,children:Un(je,{min:So.min,max:So.max,step:So.step,value:e??Qi,readout:!1,ariaLabel:l(Zi),onChange:o})})}import{jsx as $n}from"react/jsx-runtime";import{SettingsDefaultReset as WE,SettingsField as GE}from"efficient-easel/panel";import{WidthIcon as UE}from"efficient-easel/icons";var Ji="Content width",ef=Be.default,$E="The standard width every page on this site renders at.";function Yx({value:e,onChange:o,showHint:t=!0}){let r=e===null;return $n(GE,{label:l(Ji),labelId:"sf-site-width",icon:$n(UE,{}),value:`${e??ef}px`,changed:!r,action:$n(WE,{words:j()?.panel,label:l(Ji),changed:!r,detail:`${ef}px`,onReset:()=>o(null)}),hint:t?l($E):void 0,children:$n(je,{min:Be.min,max:Be.max,step:Be.step,value:e??ef,readout:!1,ariaLabel:l(Ji),onChange:o})})}import{jsx as NI}from"react/jsx-runtime";import{TextStyleItem as eP,TextStylesGroup as oP}from"efficient-easel/text-styles";import{jsx as V1}from"react/jsx-runtime";import{useState as Y1}from"react";import{TextStylesList as X1}from"efficient-easel/text-styles";import{usePreviewDevice as Z1}from"efficient-easel/draw/client";import{textStyleCaseCss as G1}from"efficient-easel/draw";import{textStyleCaseCss as o1,textStyleCaseOfCss as t1}from"efficient-easel/draw";function of(e,o){return o?`${e}[${o.index}].${o.rowKey}`:e}function so(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 Vn,encodePartId as Yn}from"efficient-easel/draw";import{LINK_FIELD_MARKER as nI,SCAFFOLD_FIELD_MARKER as rI,TEXT_FIELD_MARKER as Xn}from"efficient-easel/draw";import{readHidable as lI}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as ZE}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as XE}from"efficient-easel/draw";import{TEXT_FIELD_MARKER as Xx}from"efficient-easel/draw";import{readHidable as Zx}from"efficient-easel/draw";import{SCALAR_TEXT_CONTROLS as qE}from"efficient-easel/draw";var jE=qE,KE=["text","textarea"],VE=["textarea","plainTextarea"];function YE(e){return!e||typeof e!="object"?null:e[Xx]?.control??null}function Zt(e){let o=YE(e);return o&&jE.includes(o)?o:null}function qn(e){return VE.includes(e)}function Qx(e){return!e||typeof e!="object"?void 0:e[Xx]?.placeholder}function jn(e){return Zx(e).text}function tf(e,o,t){return KE.includes(e)?{text:t,hidden:Zx(o).hidden}:t}function Jx(e,o,t,r){return jn(e[o])===r?null:{...e,[o]:tf(t,e[o],r)}}function rf(e){if(!(!e||typeof e!="object"))return e[XE]}function af(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=rf(e),r=[];if(t?.control==="textList"){let n=t.itemKey??"text";return o.forEach((s,i)=>{let c=s?.[n];typeof c=="string"&&c&&r.push({row:{index:i,rowKey:n},text:c})}),r}let a=af(e);return a?(o.forEach((n,s)=>{for(let[i,c]of Object.entries(a)){if(!Zt(c))continue;let u=jn(n?.[i]);u&&r.push({row:{index:s,rowKey:i},text:u})}}),r):[]}function Yr(e,o){if(Array.isArray(e))return e[o.index]?.[o.rowKey]}function nf(e,o,t,r){let a=e[o];return!Array.isArray(a)||t.index<0||t.index>=a.length?null:{...e,[o]:a.map((n,s)=>s===t.index?{...n,[t.rowKey]:r}:n)}}function oI(e,o,t,r,a){let n=Yr(e[o],t);return jn(n)===a?null:nf(e,o,t,tf(r,n,a))}function tI(e,o){return o?`${e} \xB7 row ${o.index+1}`:e}var io="data-sf-part",Ke="data-sf-part-selected",XU="data-sf-part-kind",QE="data-sf-part-style-owner",JE="data-sf-part-style-kind";function ZU(e){for(let o=e;o;o=o.parentElement){let t=o.getAttribute(QE),r=o.getAttribute(JE);if(t&&r)return{owner:t,kind:r};if(o.getAttribute("data-puck-component"))return null}return null}var aI=2;function sI(e,o){if(!e)return!1;let t=Vn(e);return!!t?.propKey&&t.nodeId===o}function Qt(e){return mt(e).replace(/\s+/gu,"")}function Kn(e,o,t){let r=e[Xn];if(r){if(r.control==="textList"){let n=r.itemKey??"text";if(!Array.isArray(o))return;for(let s of o){let i=s?.[n];typeof i=="string"&&t.push(i)}return}let{text:a}=lI(o);a?t.push(a):r.placeholder&&t.push(r.placeholder);return}if(!e[nI]){if(e.type==="text"||e.type==="textarea"){typeof o=="string"&&o&&t.push(o);return}if(e.arrayFields&&Array.isArray(o)){for(let a of o)for(let[n,s]of Object.entries(e.arrayFields))Kn(s,a?.[n],t);return}if(e.objectFields&&o&&typeof o=="object")for(let[a,n]of Object.entries(e.objectFields))Kn(n,o[a],t)}}function iI(e){if(!e||typeof e!="object")return!1;let o=e;return o[nI]?!1:!!o[Xn]||o.type==="text"||o.type==="textarea"}function Zn(e,o){let t=e[Xn];return t?.label?t.label:typeof e.label=="string"?e.label:o}function lf(e){let o=e.indexOf(" (");return(o>0?e.slice(0,o):e).trim()}function QU(e,o){if(!e)return[];let t=[];for(let[r,a]of Object.entries(e)){if(!a||typeof a!="object"||Hr(r))continue;let n=a,s=[];Kn(n,o?.[r],s),!s.length&&n[rI]!==void 0&&Kn(n,n[rI],s);let i=Zn(n,r),c=new Set;for(let{row:m,text:x}of eI(n,o?.[r])){let h=Qt(x);h.length<aI||(c.add(h),t.push({key:r,label:i,texts:[h],row:m}))}let u=new Set(c),p=[];for(let m of s){let x=Qt(m);x.length<aI||u.has(x)||(u.add(x),p.push(x))}p.length&&t.push({key:r,label:i,texts:p})}return t}var e1=ZE;function fI(e,o){if(!o||typeof o!="object"||Hr(e)||gp(o))return null;let t=o[Xn];return!t||!e1.includes(t.control)?null:t}function JU(e,o){let t=fI(e,o);return t!==null&&t.identifier!==!0}function cI(e,o){if(!e)return[];let t=[];for(let[r,a]of Object.entries(e)){let n=fI(r,a);if(!n)continue;let{text:s,hidden:i}=lI(o?.[r]),c=s||n.placeholder||"",u=mt(c).replace(/\s+/gu," ").trim();t.push({key:r,label:lf(Zn(a,r)),preview:u,offPage:n.offPage===!0,identifier:n.identifier===!0,hidden:!!i})}return t}var cf="_partStyles",uf="data-sf-part-styled",r1=[400,500,600,700],gI=["left","center","right","justify"],dI=5,uI=1e3,a1=-5,n1=10,pf=0,mf=64,xf=2,If=120,Jo=1280,hf=10,pI={size:{min:dI,max:uI,step:1},sizePhone:{min:dI,max:uI,step:1},padding:{min:pf,max:mf,step:xf},width:{min:If,max:Jo,step:hf}},l1=.05,s1=.01,i1=["line","letter"],f1=.5,c1=2.5,d1=-1,u1=1,p1=0,m1=400;function Zr(e){return!e||typeof e!="object"||Array.isArray(e)?null:e}function bI(e){return Zr(e?.[cf])??{}}function Jn(e,o){let t=bI(e);return Object.hasOwn(t,o)?Zr(t[o])??{}:{}}function yI(e,o,t){let r={...bI(e)};if(x1(t).length?r[o]=t:delete r[o],!Object.keys(r).length){let{[cf]:a,...n}=e;return n}return{...e,[cf]:r}}function x1(e){return Object.entries(e).filter(([,o])=>o!==void 0)}function I1(e){return i1.includes(e)}var Xr=(e,o,t)=>Math.min(t,Math.max(o,e));function h1(e,o){if(I1(e)){let t=Math.round(Number(o));return!Number.isFinite(t)||t===0?null:Xr(t,a1,n1)}if(e==="lineHeight"){let t=Number(o);return Number.isFinite(t)?Jt(Xr(t,f1,c1),3):null}if(e==="letterSpacing"){let t=Number(o);return Number.isFinite(t)?Jt(Xr(t,d1,u1),4):null}if(e==="paragraphSpacing"){let t=Math.round(Number(o));return!Number.isFinite(t)||t<=0?null:Xr(t,p1,m1)}if(Object.hasOwn(pI,e)){let{min:t,max:r}=pI[e],a=Math.round(Number(o));return Number.isFinite(a)?Xr(a,t,r):null}return e==="italic"?typeof o=="boolean"?o:null:e==="role"?Eo.includes(String(o))?o:null:o}var g1=["weight","size","sizePhone","line","letter","lineHeight","letterSpacing","paragraphSpacing","padding","width"];function SI(e){let o=null,t=r=>{o??={...e},delete o[r]};for(let r of g1){let a=e[r];a!==void 0&&!(typeof a=="number"&&Number.isFinite(a))&&t(r)}return e.align!==void 0&&!gI.includes(e.align)&&t("align"),o??e}var b1=[["font","role"],["line","lineHeight"],["letter","letterSpacing"]];function y1(e){let o=[];for(let[t,r]of b1)t===e?o.push(r):r===e&&o.push(t);return o}function Jr(e,o,t,r){let a={...Jn(e,o)},n=r==null?null:h1(t,r);if(n===null)delete a[t];else{a[t]=n;for(let s of y1(t))delete a[s]}return yI(e,o,a)}function CI(e,o){return yI(e,o,{})}function S1(e){return t1(e)??"none"}function C1(e){return o1(e)??""}var v1={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 w1(e){let o=e.role;return o&&Eo.includes(o)?o:null}var k1={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 T1(e){let o=Wd[e],t=k1[o];return t?`var(--size-${o}, ${t})`:`var(--size-${o})`}function ea(e){let o={};return typeof e.lineHeight=="number"?o.lineHeight=e.lineHeight:e.line&&(o.lineHeight=Jt(F1+e.line*l1,3)),typeof e.letterSpacing=="number"?o.letterSpacingEm=e.letterSpacing:e.letter&&(o.letterSpacingEm=Jt(e.letter*s1,4)),o}var F1=1,oa="--sf-part-para",gf="(max-width: 719.98px)";function mI(e){return e=SI(e),typeof e.sizePhone=="number"&&e.sizePhone>0?{fontSize:`${e.sizePhone}px`}:{}}function E1(e,o){return o&&typeof e.sizePhone=="number"&&e.sizePhone>0?{...e,size:e.sizePhone}:e}function Qn(e,o){e=SI(e);let t=w1(e),r=ea(e),a=e.size?`${e.size}px`:t?T1(t):"";return{fontFamily:e.font?R1(e.font):t?`var(${v1[t]})`:"",fontWeight:e.weight?String(e.weight):"",fontSize:a,minWidth:a?"0":"",overflowWrap:a?"break-word":"",lineHeight:r.lineHeight!==void 0?String(r.lineHeight):"",letterSpacing:r.letterSpacingEm!==void 0?`${r.letterSpacingEm}em`:"",[oa]:e.paragraphSpacing?`${e.paragraphSpacing}px`:"",textTransform:C1(e.case),textAlign:e.align??"",paddingTop:sf(e.padding),paddingBottom:sf(e.padding),maxWidth:sf(e.width),color:P1(e.color),fontStyle:e.italic===!0?"italic":e.italic===!1?"normal":""}}var P1=e=>e===void 0||e===""?"":Object.hasOwn(Oo,e)?Oo[e]:vI.test(e)?e:"",vI=/^#[0-9a-fA-F]{6}$/;function wI(e){return vI.test(e)}var sf=e=>e===void 0?"":`${e}px`,Jt=(e,o)=>Number(e.toFixed(o));function l7(e,o){let t=Number.parseFloat(e.fontSize)||16,r=Number.parseFloat(e.lineHeight),a=Number.parseFloat(e.letterSpacing),n=Number.parseFloat(e.paddingTop),s=Number.parseFloat(e.maxWidth);return{fontKey:o,sizePx:t,weight:L1(Number.parseInt(e.fontWeight,10)),lineRatio:Number.isFinite(r)?Jt(r/t,3):1.2,letterEm:Number.isFinite(a)?Jt(a/t,4):0,align:O1(e.textAlign),case:S1(e.textTransform),paddingPx:Number.isFinite(n)?Math.round(n):0,widthPx:Number.isFinite(s)&&s<Jo?Math.round(s):Jo}}function L1(e){return Number.isFinite(e)?r1.reduce((o,t)=>Math.abs(t-e)<Math.abs(o-e)?t:o):400}function O1(e){for(let o of gI)if(o===e)return o;return e==="end"?"right":"left"}function s7(e,o){let t=xI(e);if(!t)return"";for(let r of no)if(xI(o(r.cssVar))===t)return r.key;return""}var xI=e=>(e.split(",")[0]??"").replace(/["']/g,"").replace(/\s+/g," ").trim().toLowerCase();function R1(e){let o=Lt(e);return o?`var(${o.cssVar})`:""}function i7(e,o,t,r){return!o||Vn(o)?.nodeId!==e?null:t.find(a=>r(a.getAttribute("class")))??t[0]??null}function f7(e,o,t=()=>Qr,r=s=>s,a=_1,n=!1){let s=0;for(let{element:i,partId:c}of e){let u=Vn(c)?.propKey;if(!u)continue;let p=r(u),m=Object.hasOwn(o,p)?Zr(o[p])??{}:{},x=Qn(E1(m,n),Qr),h=ff.some(C=>i.style[C]),b=!1;for(let[C,k]of Object.entries(x))D1(i,C,k),k&&(b=!0);if(h||ff.some(C=>x[C]))for(let C of A1(i,a))for(let k of ff)C.style[k]=x[k]??"";b&&(s+=1)}return s}function A1(e,o){let t=Qt(e.textContent??""),r=[],a=e;for(let n=0;n<B1&&o(a);n+=1){let s=a.parentElement;if(!s||Qt(s.textContent??"")!==t)break;r.push(s),a=s}return r}var B1=8;function _1(e){let o=e;return typeof window>"u"||!o?.ownerDocument?!1:window.getComputedStyle(o).display==="inline"}var Qr={fontKey:"",sizePx:16,weight:400,lineRatio:1,letterEm:0,align:"left",case:"none",paddingPx:0,widthPx:Jo};function D1(e,o,t){if(!o.startsWith("--")){e.style[o]=t;return}let r=e.style;typeof r.setProperty=="function"?t?r.setProperty(o,t):r.removeProperty?.(o):r[o]=t;let a=e;o===oa&&(t?a.setAttribute?.(II,""):a.removeAttribute?.(II))}var II="data-sf-part-para",N1=Object.keys(Qn({},Qr)),df=new Set(["color","overflowWrap",oa,"fontStyle"]),ff=N1.filter(e=>!df.has(e));function kI(e,o,t,r=a=>a){let a=new Map;for(let i of e){let c=of(i.key,i.row);for(let u of i.texts){let p=a.get(u);p?(p.keys.add(i.key),p.partKeys.add(c)):a.set(u,{keys:new Set([i.key]),partKeys:new Set([c])})}}let n=new Map;for(let i of Object.keys(o)){if(!M1(i))continue;let c=Zr(o[i])??{},u=Qn(c,Qr),p=mI(c);!Object.values(u).some(Boolean)&&!Object.keys(p).length||n.set(i,{stamp:hI(t,i),declarations:u,...Object.keys(p).length?{phone:p}:{}})}let s=new Map;for(let[i,{keys:c,partKeys:u}]of a){let p=u.size===1?[...u][0]:c.size===1?[...c][0]:null;if(!p)continue;let m=r(p);if(!Object.hasOwn(o,m))continue;let x=Zr(o[m])??{},h=Qn(x,Qr),b=mI(x);!Object.values(h).some(Boolean)&&!Object.keys(b).length||s.set(i,{stamp:hI(t,p),declarations:h,...Object.keys(b).length?{phone:b}:{}})}return s.size||n.size?{rules:s,kindRules:n,drawn:new Set(a.keys())}:null}function M1(e){return e.startsWith("@")}function bf(e,o){return e?.kindRules.get(o)??null}function hI(e,o){let t=r=>r.replace(/[^A-Za-z0-9_-]+/g,"-");return`${t(e)}~${t(o)}`}function TI(e){let o=[],t=new Set,r=a=>{let{stamp:n,declarations:s}=a;if(t.has(n))return;t.add(n);let i=Object.entries(s).filter(([,h])=>h!==""),c=h=>h.map(([b,C])=>`${z1(b)}: ${C}`).join("; "),u=`[${uf}="${n}"]`,p=i.filter(([h])=>!df.has(h)),m=i.filter(([h])=>df.has(h));p.length&&o.push(`${u}, *:has(> ${u}) { ${c(p)} }`),m.length&&o.push(`${u} { ${c(m)} }`),s[oa]&&o.push(...H1(u));let x=Object.entries(a.phone??{}).filter(([,h])=>h!=="");x.length&&o.push(`@media ${gf} { ${u}, *:has(> ${u}) { ${c(x)} } }`)};for(let a of e.rules.values())r(a);for(let a of e.kindRules.values())r(a);return o.join(`
|
|
4
4
|
`)}function H1(e){let o=`var(${oa})`,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 z1=e=>e.replace(/[A-Z]/g,o=>`-${o.toLowerCase()}`);function FI(e,o){if(!e)return null;let t=Qt(o),r=e.rules.get(t);if(r)return r;if(t.length<W1||e.drawn.has(t))return null;let a=null;for(let[n,s]of e.rules)if(n.includes(t)){if(a&&a.stamp!==s.stamp)return null;a=s}return a}var W1=8;var yf=e=>e==="sentence"?"none":void 0,No=e=>typeof e=="number"&&Number.isFinite(e)?e:void 0,ta=e=>typeof e=="string"&&e?e:void 0,PI=["font","color","size","sizePhone","weight","italic","lineHeight","letterSpacing","paragraphSpacing","letterCase","largestSize"];function fo(e){let o={};for(let t of PI)e[t]!==void 0&&(o[t]=e[t]);return o}function Cf(e,o){let{auto:t,...r}=e,a=new Set(o??[]),n=PI.filter(s=>a.has(s)&&e.values[s]===void 0);return n.length?{...r,auto:n}:r}function vf(e){let o=e.fonts,t=e.sizes,r=e.typography,a=tu(e.compression),n=(i,c)=>({id:`heading-${i}`,kind:"heading",name:`Heading ${i}`,values:fo(c)}),s=(i,c={})=>({id:`body-${i}`,kind:"body",name:`Body ${i}`,values:fo(c)});return[n(1,{font:ta(o.heading),size:No(t.headingLarge),weight:No(r.weight),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:yf(r.case),largestSize:No(r.maxPx)}),n(2,{font:ta(o.heading2),size:No(t.headingMedium),weight:No(r.weight2),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:yf(r.case2)}),n(3,{font:ta(o.heading3),size:No(t.headingSmall),weight:No(r.weight3),lineHeight:a.lineHeight,letterSpacing:a.letterSpacing,letterCase:yf(r.case3)}),s(1,{font:ta(o.body),size:No(t.body)}),s(2),s(3),s(4),s(5,{font:ta(o.label),size:No(t.label)})]}function el(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=>Cf({...o,values:fo(o.values??{})},Array.isArray(o.auto)?o.auto:void 0)):null}function x7(e){return el(e)??[]}function et(e,o){let t=vf(o),r=el(e);return r?r.map(a=>{let n={...Sf(t,a.id)};for(let s of a.auto??[])delete n[s];return{...a,values:fo({...n,...a.values})}}):t}var Sf=(e,o)=>e.find(t=>t.id===o)?.values??{},EI=["heading-1","heading-2","heading-3"];function LI({saved:e,old:o,cur:t,next:r,sizeOf:a}){let n=vf(o),s=el(e)??n.map(m=>({...m,values:{}})),i=et(s,o),c=[],u=r.map(m=>{let x=t.find(g=>g.id===m.id),h=s.find(g=>g.id===m.id);if(!x||!h)return U1([m],a)[0];let b={...h.values},C=new Set(h.auto??[]),k=m.values,v=x.values,w=[...new Set([...Object.keys(k),...Object.keys(v)])].filter(g=>JSON.stringify(k[g])!==JSON.stringify(v[g]));w.sort((g,y)=>+(g==="letterSpacing")-+(y==="letterSpacing"));for(let g of w){let y=g==="lineSpacing"?"lineHeight":g,E=k[g];if(E===void 0){delete b[y],Sf(n,m.id)[y]!==void 0&&(c.push([m.id,y]),C.add(y));continue}if(C.delete(y),g==="lineSpacing")b.lineHeight=er(E/100,3);else if(g==="letterSpacing"){let F=i.find(B=>B.id===m.id),L=a({...m,values:fo({...F?.values??{},...b})});b.letterSpacing=L?er(E/L,4):0}else b[y]=E}return Cf({id:m.id,kind:m.kind,name:m.name,values:fo(b)},C)}),p=o.compression;if(c.some(([m,x])=>(x==="lineHeight"||x==="letterSpacing")&&EI.includes(m))&&st(p)!=="normal"){for(let m of EI){let x=u.find(b=>b.id===m);if(!x)continue;let h={...x.values};for(let b of["lineHeight","letterSpacing"])c.some(([C,k])=>C===m&&k===b)||h[b]===void 0&&!(x.auto??[]).includes(b)&&(h[b]=Sf(n,m)[b]);x.values=fo(h)}p="normal"}return{saved:u,old:{...o,compression:p}}}function OI(e,o){let t={text_styles:e.saved};return e.old.compression!==o.compression&&(t.heading_compression=st(e.old.compression)),t}var er=(e,o)=>Number(e.toFixed(o));function RI(e,o){return e.map(t=>{let{lineHeight:r,letterSpacing:a,...n}=t.values,s={...n};return r!==void 0&&(s.lineSpacing=er(r*100,1)),a!==void 0&&(s.letterSpacing=er(a*o(t),2)),{id:t.id,kind:t.kind,name:t.name,values:s}})}function U1(e,o){return e.map(t=>{let{lineSpacing:r,letterSpacing:a,...n}=t.values,s={id:t.id,kind:t.kind,name:t.name,values:fo({...n})},i={...s.values};if(r!==void 0&&(i.lineHeight=er(r/100,3)),a!==void 0){let c=o({...s,values:{...s.values}});i.letterSpacing=c?er(a/c,4):0}return{...s,values:fo(i)}})}function I7(e){let o={fonts:Lr({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:ps({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:st(e.heading_compression),typography:au(e)},t=e.text_styles??null,r=Array.isArray(t)?wf(et(t,o),o):o;return{fonts:Lr(r.fonts),sizes:ps(r.sizes),compression:st(r.compression),typography:r.typography,textStyles:t}}function wf(e,o){let t=x=>e.find(h=>h.id===x)?.values??{},r=t("heading-1"),a=t("heading-2"),n=t("heading-3"),s=t("body-1"),i=t("body-5"),c=o.fonts,u=o.sizes,p=o.typography,m=x=>x==="none"?"sentence":"authored";return{fonts:{...c,heading:r.font??c.heading,heading2:a.font??r.font??c.heading2,heading3:n.font??r.font??c.heading3,body:s.font??c.body,label:i.font??c.label},sizes:{...u,headingLarge:r.size??null,headingMedium:a.size??null,headingSmall:n.size??null,body:s.size??null,label:i.size??null},compression:o.compression,typography:{...p,case:m(r.letterCase),weight:r.weight??null,maxPx:r.largestSize??null,weight2:a.weight??null,weight3:n.weight??null,case2:m(a.letterCase),case3:m(n.letterCase)}}}function $1(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}`}}function q1(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 j1(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 h7(e){let o=[];for(let t of e){let r=t.values,a=`.${$1(t)}`,n=[],s=r.font!==void 0?no.find(p=>p.key===r.font)?.cssVar:void 0;if(s&&n.push(`font-family: var(${s})`),r.size!==void 0){let p=r.largestSize!==void 0?Math.min(r.size,r.largestSize):r.size;n.push(`font-size: ${p}px`)}let i=r.color!==void 0?q1(r.color):null;i&&n.push(`color: ${i}`),r.italic===!0&&n.push("font-style: italic"),r.weight!==void 0&&n.push(`font-weight: ${r.weight}`);let c=[];r.lineHeight!==void 0&&c.push(`line-height: ${r.lineHeight}`),r.letterSpacing!==void 0&&c.push(`letter-spacing: ${r.letterSpacing}em`),t.kind==="body"&&n.push(...c);let u=G1(r.letterCase);if(u&&n.push(`text-transform: ${u}`),r.paragraphSpacing&&n.push(`--sf-part-para: ${r.paragraphSpacing}px`),n.length&&o.push(`${a} { ${n.join("; ")} }`),t.kind==="heading"&&c.length&&o.push(`${a}, ${a}:is(h1, h2, h3, h4) { ${c.join("; ")} }`),r.paragraphSpacing&&o.push(...j1(a)),r.sizePhone!==void 0){let p=K1[t.id],m=[`${a} { font-size: ${r.sizePhone}px }`];p&&m.push(`.sf-themed-content { --size-${p}: ${r.sizePhone}px !important }`),o.push(`@media ${gf} { ${m.join(" ")} }`)}}return o.join(`
|