efficient-storefront-blocks 0.42.1 → 0.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +322 -0
- package/README.md +1 -1
- package/dist/chunks/EditorPreviewCheckout-OV6BQIOF.js +4 -0
- package/dist/chunks/{SiteEditorProvider-EYQFRVAE.js → SiteEditorProvider-3GN6QL3B.js} +1 -1
- package/dist/chunks/chunk-63NK7MUL.js +255 -0
- package/dist/chunks/chunk-CLMOO7LL.js +1 -0
- package/dist/chunks/chunk-D32TXJVQ.js +1 -0
- package/dist/chunks/chunk-LDQBFEDQ.js +1 -0
- package/dist/chunks/fitment-data-CRPBBPU6.js +1 -0
- package/dist/editor.css +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.js +226 -624
- package/dist/links.js +1 -1
- package/dist/words.d.ts +38 -9
- package/dist/words.js +4 -4
- package/package.json +3 -3
- package/dist/chunks/EditorPreviewCheckout-LG3YPI4W.js +0 -4
- package/dist/chunks/chunk-H6SZXW6U.js +0 -255
- package/dist/chunks/chunk-M72Y46OD.js +0 -1
- package/dist/chunks/chunk-RSO2WB5X.js +0 -1
- package/dist/chunks/chunk-TTHDA2MW.js +0 -1
- package/dist/chunks/fitment-data-RIEEQFFZ.js +0 -1
- /package/dist/chunks/{SectionEditorShell-QM5CEYFT.js → SectionEditorShell-4AEPZWJA.js} +0 -0
- /package/dist/chunks/{chunk-H6SZXW6U.js.LEGAL.txt → chunk-63NK7MUL.js.LEGAL.txt} +0 -0
- /package/dist/chunks/{chunk-ZC4KGN3D.js → chunk-CABIEVEL.js} +0 -0
- /package/dist/chunks/{gallery-builds-data-VVHHVNYW.js → gallery-builds-data-TD3QJK7L.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as G,e as K,i as V,k as C,p as E,q as z,s as k}from"./chunk-CABIEVEL.js";var I="".replace(/\/+$/,"");var q="x-forwarded-for";function j(e){let t=(e??"").split(",").map(r=>r.trim()).filter(Boolean);return t.length>0?t[t.length-1]:null}var $e="x-forwarded-host";function Z(e,t,r){let n={};return e&&(n[$e]=e),t&&r==="uncached"&&(n[q]=t),n}function Q(e){if(e?.cache==="no-store"||e?.cache==="no-cache")return"uncached";if(e?.cache==="force-cache")return"data-cached";let t=e?.next?.revalidate;return typeof t=="number"&&t>0?"data-cached":"uncached"}var X="x-storefront-site",Y="x-storefront-host",ee="x-storefront-preview";var te={contentHash:"bff238ceb7836a0a",schema:1,mediaFields:{ImageBlock:["src"],LogoBlock:["src"],Flex:["bgImage"],FeaturedCover:["image"],LongRead:["image"],Banner:["imageSrc"],Timeline:["imageSrc"],Logos:["items[].src"],ContactLocations:["locations[].photo"],HeroSingle:["imageFocal","mediaImage","mediaImage2","mediaVideo","poster"],HeroSlide:["mediaImage","mediaVideo","poster"],PostCard:["image"],Gallery:["othersCards[].image","othersCards[].photos[].src","vehicleCards[].image","vehicleCards[].photos[].src","wheelCards[].image","wheelCards[].photos[].src"],GalleryItem:["image","photos[].src"],Manifesto:["imageSrc"],SectionHeader:["logoSrc"],IntroBleed:["imageSrc","imageSrcMobile"],Split:["imageSrc","textBgSrc"],ProcessSteps:["steps[].image"],DetailRows:["rows[].image"],PaymentBadges:["badges[].src"]},mediaKeyNames:["bgImage","image","imageFocal","imageSrc","imageSrcMobile","logoSrc","mediaImage","mediaImage2","mediaVideo","photo","poster","src","textBgSrc"],snapshotObjects:{ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},hydratedLists:{Events:["posts"],SubscribeBlogs:["posts"]},technicalStateKeys:["focal","focalPhone","imageFocal","imageFocal2","imageFocal2Phone","imageFocalPhone"]};var Ue="shop_access_token",re="shop_refresh_token",$=null;function B(){k.removeItem(Ue),k.removeItem(re)}var P={getAccess(){return $},takeLegacyRefresh(){let e=k.getItem(re);return B(),e},setTokens(e){$=e,B()},clear(){$=null,B()}};function Le(e){return!!e.src}function b(e){let t=e.finishes.filter(Le);if(t.length===e.finishes.length)return e;let r=e.defaultFinish&&t.some(n=>n.name===e.defaultFinish)?e.defaultFinish:null;return{...e,finishes:t,defaultFinish:r}}function Ne(e){return e.listable!==!1}function U(e){return e.map(b).filter(Ne)}var ie=["fill","stroke","stop-color","color","flood-color","lighting-color","solid-color"],ae=new Set(["none","transparent","currentcolor","inherit","initial","unset","context-fill","context-stroke"]),T={black:[0,0,0],white:[255,255,255],gray:[128,128,128],grey:[128,128,128],darkgray:[169,169,169],darkgrey:[169,169,169],dimgray:[105,105,105],dimgrey:[105,105,105],lightgray:[211,211,211],lightgrey:[211,211,211],gainsboro:[220,220,220],silver:[192,192,192],whitesmoke:[245,245,245]},ce=12,le=/\burl\(/i,ue=new RegExp(`(?<![-\\w])(${ie.join("|")})(\\s*=\\s*)(["'])([^"']*)\\3`,"gi"),me=new RegExp(`((?:^|[;{\\s"'])(?:${ie.join("|")})\\s*:\\s*)([^;}"'<>]+)`,"gi"),Me=/<svg\b([^>]*)>/i,He=/\bfill\s*[=:]/i;function De(e){let t=e.replace(ue,(r,n,s,o,l)=>{let u=ne(l);return u===null?r:`${n}${s}${o}${u}${o}`}).replace(me,(r,n,s)=>{let o=ne(s);return o===null?r:`${n}${o}`});return t=t.replace(Me,(r,n)=>He.test(n)?r:`<svg fill="#ffffff"${n}>`),t}function ne(e){let t=/!important/i.test(e),r=e.replace(/!important/gi,"").trim().toLowerCase();if(!r||le.test(r)||ae.has(r))return null;let n=r in T?[...T[r],1]:de(r);if(!n)return null;let[s,o,l,u]=n;if(Math.max(s,o,l)-Math.min(s,o,l)>ce)return null;let m=We(255-s,255-o,255-l,u);return t?`${m} !important`:m}function We(e,t,r,n){if(n<1)return`rgba(${e}, ${t}, ${r}, ${n})`;let s=o=>o.toString(16).padStart(2,"0");return`#${s(e)}${s(t)}${s(r)}`}function de(e){return e.startsWith("#")?Je(e):e.startsWith("rgb")?Ge(e):e.startsWith("hsl")?Ve(e):null}function Je(e){let t=e.slice(1),r=1;if(t.length===3||t.length===4)t.length===4&&(r=parseInt(t[3]+t[3],16)/255),t=t.slice(0,3).split("").map(n=>n+n).join("");else if(t.length===6||t.length===8)t.length===8&&(r=parseInt(t.slice(6,8),16)/255),t=t.slice(0,6);else return null;return/^[0-9a-f]{6}$/.test(t)?[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16),r]:null}function Ge(e){let t=e.slice(e.indexOf("(")+1,e.lastIndexOf(")")),[r,n]=t.split("/"),s=r.split(/[\s,]+/).filter(Boolean).slice(0,3);if(s.length<3)return null;let o=s.map(u=>u.endsWith("%")?Math.round(parseFloat(u)/100*255):Math.round(parseFloat(u)));if(o.some(u=>Number.isNaN(u)))return null;let l=n?O(n):Ke(r);return[o[0],o[1],o[2],l]}function Ke(e){let t=e.split(/[\s,]+/).filter(Boolean);return t.length>=4?O(t[3]):1}function O(e){let t=e.trim().endsWith("%")?parseFloat(e)/100:parseFloat(e);return Number.isNaN(t)?1:t}function Ve(e){let t=e.slice(e.indexOf("(")+1,e.lastIndexOf(")")),[r,n]=t.split("/"),s=r.split(/[\s,]+/).filter(Boolean);if(s.length<3)return null;let o=parseFloat(s[0]),l=parseFloat(s[1])/100,u=parseFloat(s[2])/100;if([o,l,u].some(qe=>Number.isNaN(qe)))return null;let m=n?O(n):s.length>=4?O(s[3]):1,[y,f,S]=ze(o,l,u);return[y,f,S,m]}function ze(e,t,r){let n=(1-Math.abs(2*r-1))*t,s=(e%360+360)%360/60,o=n*(1-Math.abs(s%2-1)),l=0,u=0,m=0;s<1?[l,u,m]=[n,o,0]:s<2?[l,u,m]=[o,n,0]:s<3?[l,u,m]=[0,n,o]:s<4?[l,u,m]=[0,o,n]:s<5?[l,u,m]=[o,0,n]:[l,u,m]=[n,0,o];let y=r-n/2;return[Math.round((l+y)*255),Math.round((u+y)*255),Math.round((m+y)*255)]}var se=512*1024;function L(e){return/\.svg(\?|$)/i.test(e)}function je(e){return`data:image/svg+xml,${encodeURIComponent(De(e))}`}function Ze(e){let t=e.replace(/!important/gi,"").trim().toLowerCase();if(!t||le.test(t)||ae.has(t))return null;let r=t in T?[...T[t],1]:de(t);if(!r)return null;let[n,s,o]=r;return Math.max(n,s,o)-Math.min(n,s,o)>ce?null:(.2126*n+.7152*s+.0722*o)/255}function Qe(e){let t=[],r=n=>{let s=Ze(n);s!==null&&t.push(s)};for(let n of e.matchAll(ue))r(n[4]);for(let n of e.matchAll(me))r(n[2]);return t.length?t.reduce((n,s)=>n+s,0)/t.length<.5:null}var oe=/^(?:\uFEFF|\s+|<\?xml[^>]*\?>|<!--[\s\S]*?-->|<!DOCTYPE\s+svg[^>[]*>)/i;function Xe(e){let t=e;for(let r=oe.exec(t);r&&r[0].length>0;r=oe.exec(t))t=t.slice(r[0].length);return/^<svg[\s>/]/i.test(t)}async function Ye(e,t){if(!L(e))return null;try{let r=await fetch(e,{signal:t,redirect:"manual"});if(!r.ok)return null;let n=Number(r.headers.get("content-length"));if(Number.isFinite(n)&&n>se)return null;let s=await r.text();return s.length>se?null:Xe(s)?s:null}catch{return null}}async function pe(e,t){let r=await Ye(e,t);return r===null?null:{reversed:je(r),inkIsDark:Qe(r)}}function ge(){return G().siteId()}var et="",g=class extends Error{constructor(t,r,n){super(r),this.status=t,this.data=n}},H="Unable to reach the server. This could be a problem with your internet connection, or the server may be undergoing maintenance or an upgrade. Please try again shortly.",tt=new Set([502,503,504]),N=0,rt="This editor runs on its host's own backend, which does not serve this request.",nt=5e3,st=15e3,ot=()=>typeof window>"u"?nt:st;function xe(e){let t=(e.method??"GET").toUpperCase();if(!(e.body!=null||t!=="GET"&&t!=="HEAD")&&!(e.audience!=null&&e.audience!=="shop")&&typeof AbortSignal?.timeout=="function")return AbortSignal.timeout(ot())}var he=e=>e instanceof Error&&e.name==="TimeoutError",ye=(e,t)=>tt.has(e)?H:t,it=["admin","venue"],Ce="admin";function tr(e){Ce=it.includes(e)?e:"admin"}function at(){return Ce}var ct=/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$/,ke=null;function rr(e){ke=e&&ct.test(e)?e:null}function lt(){return ke}function ut(e){if(typeof window>"u"||!e.startsWith("/api/v1/"))return e;let t=E();return!t||/[?&]site=/.test(e)?e:F(e,`site=${encodeURIComponent(t)}`)}async function i(e,t={}){let{token:r,baseUrl:n,headers:s,audience:o,...l}=t;if(typeof window<"u"&&!K())throw new g(N,rt,null);if(typeof window>"u"&&n===void 0)throw new Error(`apiFetch(${JSON.stringify(e)}) ran on the server without an explicit baseUrl. The API_URL default it would inherit is browser-only (the prod image bakes NEXT_PUBLIC_API_URL="" for same-origin use, which a Node fetch cannot resolve). Pass a base explicitly: \`await backendOpts()\` (or baseUrl: PRODUCT_FETCH_BASE) for product reads, or the server-only PRODUCT_BACKEND_URL env for other backend surfaces.`);let u=typeof FormData<"u"&&l.body instanceof FormData,m;try{m=await fetch(`${n??et}${ut(e)}`,{...l,headers:{...u?{}:{"Content-Type":"application/json"},...r?{Authorization:`Bearer ${r}`}:{},...o===null?{}:{"X-Portal-Audience":o??"shop"},...s},signal:l.signal??xe({...l,audience:o})})}catch(S){throw S instanceof TypeError||he(S)?new g(N,H,null):S}let y;try{y=await m.text()}catch(S){throw he(S)?new g(N,H,null):S}let f=null;if(y)try{f=JSON.parse(y)}catch{throw new g(m.status,m.ok?"Expected JSON but received a non-JSON response":ye(m.status,m.statusText),y)}if(!m.ok){let S=(f&&typeof f=="object"&&"detail"in f&&typeof f.detail=="string"?f.detail:null)??ye(m.status,m.statusText);throw new g(m.status,S,f)}return f}var A=null;async function Te(){return A||(A=mt().finally(()=>{A=null}),A)}async function mt(){let e=P.takeLegacyRefresh(),t=await dt.refresh(e??void 0);return P.setTokens(t.access),t.access}async function Oe(){return P.getAccess()??Te()}async function d(e,t={}){let r;try{r=await Oe()}catch{throw P.clear(),new g(401,"Not signed in",null)}try{return await i(e,{...t,token:r})}catch(n){if(!(n instanceof g)||n.status!==401)throw n;try{let s=await Te();return await i(e,{...t,token:s})}catch{throw P.clear(),n}}}async function fe(e,t={}){if(P.getAccess())try{return{data:await d(e,t),asShopper:!0}}catch(r){if(!(r instanceof g)||r.status!==401)throw r}return{data:await i(e,t),asShopper:!1}}async function Se(){let e=await d("/api/auth/me/");if(e.portal!=="shop")throw P.clear(),new g(403,"This session is not valid for this shop.",null);return e}var dt={login:(e,t)=>i("/api/auth/login/",{method:"POST",body:JSON.stringify({email:e,password:t,portal:"shop"}),credentials:"include"}),refresh:e=>i("/api/auth/refresh/",{method:"POST",body:JSON.stringify(e?{refresh:e,portal:"shop"}:{portal:"shop"}),credentials:"include"}),logout:async()=>{P.clear();try{await i("/api/auth/logout/",{method:"POST",body:JSON.stringify({portal:"shop"}),credentials:"include"})}catch{}},restoreSession:async()=>{let e=await Oe();return await Se(),e},me:Se,updateMe:e=>d("/api/auth/me/",{method:"PATCH",body:JSON.stringify(e)}),changePassword:(e,t)=>d("/api/auth/me/",{method:"PATCH",body:JSON.stringify({password:t,old_password:e})}),changeEmail:(e,t)=>d("/api/shop-portal/change-email/",{method:"POST",body:JSON.stringify({new_email:e,current_password:t})}),myProfile:()=>d("/api/shop-portal/profile/"),updateMyProfile:e=>d("/api/shop-portal/profile/",{method:"PATCH",body:JSON.stringify(e)}),myAddresses:()=>d("/api/shop-portal/delivery-locations/"),createAddress:e=>d("/api/shop-portal/delivery-locations/",{method:"POST",body:JSON.stringify(e)}),updateAddress:(e,t)=>d(`/api/shop-portal/delivery-locations/${e}/`,{method:"PATCH",body:JSON.stringify(t)}),deleteAddress:e=>d(`/api/shop-portal/delivery-locations/${e}/`,{method:"DELETE"}),passwordResetRequest:e=>i("/api/auth/password-reset/",{method:"POST",body:JSON.stringify({email:e})}),passwordResetConfirm:(e,t,r)=>i("/api/auth/password-reset/confirm/",{method:"POST",body:JSON.stringify({uid:e,token:t,new_password:r})}),brands:()=>d("/api/products/brands/"),myOrders:()=>d("/api/shop-portal/orders/").then(e=>e.results),myOrder:e=>d(`/api/shop-portal/orders/${e}/`),cancelOrder:e=>d(`/api/shop-portal/orders/${e}/cancel/`,{method:"POST"}),myReturns:e=>d(`/api/shop-portal/returns/${e?`?order=${encodeURIComponent(e)}`:""}`).then(t=>t.results),createReturn:e=>d("/api/shop-portal/returns/",{method:"POST",body:JSON.stringify(e)}),withdrawReturn:e=>d(`/api/shop-portal/returns/${e}/cancel/`,{method:"POST"}),uploadReturnPhoto:(e,t)=>{let r=new FormData;return r.append("claim_item",e),r.append("file",t),r.append("media_type",t.type.startsWith("video/")?"video":"image"),d("/api/shop-portal/return-media/",{method:"POST",body:r})}};function h(e){if(typeof e=="string")return e.startsWith("/media/")?V(e):e;if(Array.isArray(e))return e.map(h);if(e&&typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))t[r]=r==="captions"&&n&&typeof n=="object"&&!Array.isArray(n)?Object.fromEntries(Object.entries(n).map(([s,o])=>[h(s),o])):h(n);return t}return e}var ve=typeof window>"u"&&I!=="",pt=ve?I:"",gt=z,w=()=>({baseUrl:gt(),audience:null});function a(e,t){let r=t?`?process=${encodeURIComponent(t)}`:"";return`/api/v1${e}${r}`}var ht=100,Pe=50;function Fe(e,t,r){let n=new URLSearchParams;for(let[s,o]of Object.entries(t))o!=null&&o!==""&&n.set(s,String(o));return n.set("pageSize",String(ht)),r&&n.set("cursor",r),`/api/v1${e}?${n.toString()}`}function yt(e,t){return Fe("/wheels",{process:e},t)}function ft(e,t,r){return Fe("/products",{kind:e.join(","),make:t?.make,model:t?.model,year:t?.year,modification:t?.modification},r)}function St(e){if(!e)return null;try{return new URL(e,"http://cursor.invalid").searchParams.get("cursor")}catch{return null}}async function we(e,t,r=()=>!1){let n=[],s=null;try{for(let o=0;o<Pe;o++){let l=await i(await t(s),await c());if(n.push(...l.results),s=St(l.next),!s)break}s&&console.warn(`[${e}] stopped at ${Pe} pages (${n.length} rows); catalog may be truncated`)}catch(o){if(r(o))throw o;console.warn(`[${e}] product API unavailable, returning []`,o)}return n}var Pt=e=>e instanceof g&&e.status===400;function wt(e){return e.flatMap(t=>t.kind==="alloy-wheel"?U([t]):[t])}async function Ee(){return(await bt()).host}async function bt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js"),t=await e(),r=o=>o?.split(",")[0]?.split(":")[0]?.trim().toLowerCase()||null,n=r(t.get(Y)??t.get("x-forwarded-host")??t.get("host")),s=r(t.get("host"));return{host:n,matchesRequestHost:n!==null&&n===s}}catch{return{host:null,matchesRequestHost:!1}}}async function At(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return j((await e()).get(q))}catch{return null}}async function Rt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get(X)||null}catch{return null}}async function _t(){let e=await Rt();if(e)return`site=${encodeURIComponent(e)}`;let t=await Ee();return t?`host=${encodeURIComponent(t)}`:""}async function p(e){if(typeof window<"u"){let t=E();return t?F(e,`site=${encodeURIComponent(t)}`):e}return F(e,await _t())}function F(e,t){return t?`${e}${e.includes("?")?"&":"?"}${t}`:e}var xt="preview";async function Ct(){if(typeof window<"u")return null;try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get(ee)}catch{return null}}async function kt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get("user-agent")}catch{return null}}async function M(e,t){let r=await Ct();if(r===null)return[await p(e),await c(t)];let n=F(await p(e),`${xt}=${encodeURIComponent(r)}`),{next:s,cache:o,...l}=t??{},u=await c({...l,cache:"no-store"}),m=await kt();return m&&(u.headers={...u.headers,"user-agent":m}),[n,u]}async function Tt(e){if(!ve)return;let[t,r]=await Promise.all([Ee(),At()]),n=Z(t,r,e);return Object.keys(n).length>0?n:void 0}async function c(e){let t=await Tt(Q(e)),r={baseUrl:pt,...e};return t&&(r.headers={...t,...e?.headers}),r}var R=typeof window>"u";function _(e,t){let r=new URLSearchParams;for(let[s,o]of Object.entries(t))o!==void 0&&o!==""&&r.set(s,String(o));let n=r.toString();return`/api/v1/fitment${e}${n?`?${n}`:""}`}var ar={listMakes:async e=>{if(R){let{fitmentData:r}=await import("./fitment-data-CRPBBPU6.js");return r.makes(e)}return(await i(_("/makes",{region:e}),w())).results},listModels:async(e,t)=>{if(R){let{fitmentData:n}=await import("./fitment-data-CRPBBPU6.js");return n.models(e,t)}return(await i(_("/models",{make:e,region:t}),w())).results},listYears:async(e,t,r)=>{if(R){let{fitmentData:s}=await import("./fitment-data-CRPBBPU6.js");return s.years(e,t,r)}return(await i(_("/years",{make:e,model:t,region:r}),w())).results},listModifications:async(e,t,r,n)=>{if(R){let{fitmentData:o}=await import("./fitment-data-CRPBBPU6.js");return o.modifications(e,t,r,n)}return(await i(_("/modifications",{make:e,model:t,year:r,region:n}),w())).results},getStockFitment:async(e,t,r,n,s)=>{if(R){let{fitmentData:o}=await import("./fitment-data-CRPBBPU6.js");return o.stockFitment(e,t,r,n,s)}return i(_("/stock-fitment",{make:e,model:t,year:r,modification:n,region:s}),w())}},cr={listWheels:async e=>{let t=await we("products.listWheels",async r=>await p(yt(e,r)));return U(h(t))},listCatalog:async(e,t)=>{if(e.length===0)throw new Error("products.listCatalog() needs at least one kind. An empty list would omit `kind`, which the contract reads as `alloy-wheel` \u2014 so the call would silently return the wheel catalog instead of nothing.");let r=await we("products.listCatalog",async n=>await p(ft(e,t,n)),Pt);return wt(h(r))},getWheel:async e=>b(h(await i(await p(a(`/wheels/${e}`)),await c()))),getTyre:async e=>h(await i(await p(a(`/tyres/${e}`)),await c())),listBundles:async()=>{try{return await i(await p(a("/bundles")),await c())}catch{return[]}},getBundle:async e=>i(await p(a(`/bundles/${e}`)),await c()),listGalleryBuilds:async(e={})=>{let{process:t=null,wheelSlug:r=null}=e;if(typeof window>"u"){let{listGalleryBuilds:n}=await import("./gallery-builds-data-TD3QJK7L.js");return h(n(t,r))}try{let n=new URLSearchParams;t&&n.set("process",t),r&&n.set("wheelSlug",r);let s=n.toString(),o=await i(`/api/v1/gallery-builds${s?`?${s}`:""}`,w());return h(o.results)}catch(n){return console.warn("[products.listGalleryBuilds] product API unavailable, returning []",n),[]}},getSite:async()=>i(await p(a("/site")),await c()),getSiteBySlug:async e=>i(`${a("/site")}?${new URLSearchParams({site:e})}`,typeof window>"u"?await c():void 0),listBrands:async()=>{try{return(await i(await p(a("/brands")),await c())).results??[]}catch(e){return console.warn("[products.listBrands] product API unavailable, returning []",e),[]}},listBrandsForSite:async e=>(await i(`${a("/brands")}?${new URLSearchParams({site:e})}`,typeof window>"u"?await c():void 0)).results??[],listPages:async()=>h(await i(await p(a("/pages")),await c())),listProductTemplates:async()=>{try{return await i(await p(a("/product-templates")),await c())}catch(e){return console.warn("[products.listProductTemplates] unavailable, returning []",e),[]}},listDynamicPages:async e=>{let t=e?`?recordType=${encodeURIComponent(e)}`:"";try{return await i(await p(`${a("/dynamic-pages")}${t}`),await c())}catch(r){if(r instanceof g&&r.status===404)return[];throw r}},getRecord:async(e,t)=>{try{return await i(await p(a(`/records/${encodeURIComponent(e)}/${encodeURIComponent(t)}`)),await c())}catch(r){if(r instanceof g&&r.status===404)return null;throw r}},listRecordKeys:async e=>{try{let t=await i(await p(a(`/records/${encodeURIComponent(e)}`)),await c({cache:"no-store"}));return Array.isArray(t?.keys)?t.keys.filter(r=>typeof r=="string"&&r!==""):[]}catch(t){if(t instanceof g&&t.status===404)return[];throw t}},listProductTypeChoices:async()=>{try{return await i(await p(a("/product-type-choices")),await c())}catch(e){return console.warn("[products.listProductTypeChoices] unavailable, returning []",e),[]}},listFieldUsage:async()=>{try{return await i(await p(a("/field-usage")),await c())}catch(e){return console.warn("[products.listFieldUsage] unavailable, returning []",e),[]}},getPage:async(e,t={})=>{let r=t.record?`?record=${encodeURIComponent(t.record)}`:"",[n,s]=await M(a(`/pages/${e}`)+r,t.revalidate!==void 0?{next:{revalidate:t.revalidate}}:void 0);return h(await i(n,s))},listBlogPosts:async()=>{try{return(await i(a("/blog-posts"),await c())).map(t=>({...t,coverImage:C(t.coverImage)??""}))}catch(e){return console.warn("[products.listBlogPosts] blog API unavailable, returning []",e),[]}},getBlogPost:async e=>{let t=await i(a(`/blog-posts/${e}`),await c());return{...t,coverImage:C(t.coverImage)??""}},createOrder:async e=>i(a("/orders"),await c({method:"POST",body:JSON.stringify(e)})),createOrderAuthed:async e=>d(a("/orders"),await c({method:"POST",body:JSON.stringify(e)})),lookupOrder:async e=>i(a("/orders/lookup"),await c({method:"POST",body:JSON.stringify(e)})),createPaymentIntent:async e=>i(a("/payments/intent"),await c({method:"POST",body:JSON.stringify(e)})),createPaypalOrder:async e=>i(a("/payments/paypal/order"),await c({method:"POST",body:JSON.stringify(e)})),capturePaypalOrder:async e=>i(a("/payments/paypal/capture"),await c({method:"POST",body:JSON.stringify(e)})),createAfterpayCheckout:async e=>i(a("/payments/afterpay/checkout"),await c({method:"POST",body:JSON.stringify(e)})),captureAfterpayPayment:async e=>i(a("/payments/afterpay/capture"),await c({method:"POST",body:JSON.stringify(e)})),chargeSquare:async e=>i(a("/payments/square/charge"),await c({method:"POST",body:JSON.stringify(e)})),createGocardlessBillingRequest:async e=>i(a("/payments/gocardless/billing-request"),await c({method:"POST",body:JSON.stringify(e)})),completeGocardlessPayment:async e=>i(a("/payments/gocardless/complete"),await c({method:"POST",body:JSON.stringify(e)})),createZipCheckout:async e=>i(a("/payments/zip/checkout"),await c({method:"POST",body:JSON.stringify(e)})),captureZipPayment:async e=>i(a("/payments/zip/capture"),await c({method:"POST",body:JSON.stringify(e)})),createKlarnaCheckout:async e=>i(a("/payments/klarna/checkout"),await c({method:"POST",body:JSON.stringify(e)})),captureKlarnaPayment:async e=>i(a("/payments/klarna/capture"),await c({method:"POST",body:JSON.stringify(e)})),createStockAlert:async e=>i(a("/stock-alerts"),await c({method:"POST",body:JSON.stringify(e)})),createPreOrderIntent:async e=>i(a("/pre-order-intents"),await c({method:"POST",body:JSON.stringify(e)})),createNewsletterSubscription:async e=>i(a("/newsletter-subscriptions"),await c({method:"POST",body:JSON.stringify(e)})),unsubscribeNewsletter:async e=>i(a("/newsletter-unsubscribe"),await c({method:"POST",body:JSON.stringify(e)})),captureCart:async e=>i(a("/carts"),await c({method:"POST",body:JSON.stringify(e)})),restoreCart:async e=>i(a("/carts/restore"),await c({method:"POST",body:JSON.stringify(e)})),unsubscribeCartReminders:async e=>i(a("/carts/unsubscribe"),await c({method:"POST",body:JSON.stringify(e)})),listReviews:async(e={})=>{let t=new URLSearchParams;e.limit&&t.set("limit",String(e.limit)),e.designCode&&t.set("designCode",e.designCode);let r=a("/reviews"),n=t.toString();try{return await i(await p(n?`${r}?${n}`:r),await c())}catch(s){return console.warn("[products.listReviews] product API unavailable, returning []",s),[]}},submitReview:async e=>i(a("/reviews"),await c({method:"POST",body:JSON.stringify(e)})),getForm:async e=>i(a(`/forms/${encodeURIComponent(e)}`),await c()),submitForm:async(e,t)=>i(a(`/forms/${encodeURIComponent(e)}/submissions`),await c({method:"POST",body:JSON.stringify(t)})),listShippingMethods:async()=>{try{return await i(a("/shipping-methods"),await c())}catch(e){return console.warn("[products.listShippingMethods] product API unavailable, returning []",e),[]}},listCountrySubdivisions:async e=>{try{return await i(a(`/countries/${encodeURIComponent(e)}/subdivisions`),await c())}catch(t){return console.warn("[products.listCountrySubdivisions] unavailable, returning []",t),[]}},quoteCart:async e=>{let t=a("/cart/quote"),r=await c({method:"POST",body:JSON.stringify(e)});return e.couponCode?(await fe(t,r)).data:i(t,r)},validateCoupon:async e=>{let{data:t,asShopper:r}=await fe(a("/coupons/validate"),await c({method:"POST",body:JSON.stringify(e)}));return{...t,askedAsShopper:r}},getHeaderSettings:async()=>{let e=xe({method:"GET"}),t=await i(...await M(a("/header-settings"),{signal:e})),r=C(t.logoUrl),n=null,s=null;if(r&&L(r)){let o=await pe(r,e);o&&(n=o.reversed,s=o.inkIsDark)}return{...t,logoUrl:r,logoReversed:n,logoInkIsDark:s}},getThemeSettings:async()=>i(...await M(a("/theme-settings"))),getChatSettings:async()=>i(await p(a("/chat-settings")),await c())},lr={listServices:async()=>{try{return await i(a("/bookings/services"),await c())}catch(e){return console.warn("[bookings.listServices] API unavailable, returning []",e),{results:[],currency:"USD"}}},getAvailability:async(e,t)=>i(a(`/bookings/availability?service=${encodeURIComponent(e)}&date=${t}`),await c()),create:async e=>i(a("/bookings"),await c({method:"POST",body:JSON.stringify(e)})),get:async e=>i(a(`/bookings/manage/${encodeURIComponent(e)}`),await c()),cancel:async e=>i(a(`/bookings/manage/${encodeURIComponent(e)}/cancel`),await c({method:"POST"})),createPaymentIntent:async e=>i(a("/bookings/payments/intent"),await c({method:"POST",body:JSON.stringify({manageToken:e})}))},D=class extends Error{constructor(r,n){super(`Slug "${r}" exists on ${n} websites; a site is required to pick one.`);this.slug=r;this.count=n;this.name="AmbiguousPageSlugError"}},x=e=>e?`/api/storefront/header-settings/?${new URLSearchParams({site:e})}`:"/api/storefront/header-settings/",be=e=>e?`/api/storefront/theme-settings/?${new URLSearchParams({site:e})}`:"/api/storefront/theme-settings/",Ae=e=>e?`/api/storefront/chat-settings/?${new URLSearchParams({site:e})}`:"/api/storefront/chat-settings/",Re=e=>`/api/storefront/social-settings/?${new URLSearchParams({site:e})}`,W=e=>`/api/storefront/sites/${encodeURIComponent(e)}/`,Ot=e=>`${W(e)}currencies/`,vt="/api/storefront/media/ingest/",J=class extends Error{constructor(){super("This editor is not connected to a website, so an upload has nowhere to go. Open the page from the website the file should belong to, then try again."),this.name="MediaUploadDestinationError"}};function Ft(){let e=ge();if(!e)throw new J;return`${vt}?${new URLSearchParams({site:e})}`}var v={"X-Puck-Media-Manifest":te.contentHash},ur=Ie({});function Ie(e){return(t,r={})=>{let n=lt(),s=e.headers||n?{...n?{"Accept-Language":n}:{},...e.headers,...r.headers}:void 0;return i(t,{...r,...e.baseUrl!==void 0?{baseUrl:e.baseUrl}:{},...s?{headers:s}:{},audience:e.audience??at()})}}function Et(e={}){let t=Ie(e);return{findPageBySlug:async(r,n,s)=>{let o=new URLSearchParams({slug:r});s&&o.set("site",s);let l=await t(`/api/storefront/pages/?${o.toString()}`,{token:n}),u=Array.isArray(l)?l:l.results??[];if(!s&&u.length>1)throw new D(r,u.length);return u[0]??null},getPageById:(r,n)=>t(`/api/storefront/pages/${r}/`,{token:n}),saveLayout:(r,n,s,o,l)=>t(`/api/storefront/pages/${r}/`,{method:"PATCH",body:JSON.stringify({layout:n,expected_updated_at:o,...l?{client_id:l}:{}}),token:s}),publishPage:(r,n,s)=>t(`/api/storefront/pages/${r}/publish/`,{method:"POST",body:s?JSON.stringify({expected_updated_at:s}):void 0,token:n}),createPagePreviewLink:(r,n)=>t(`/api/storefront/pages/${r}/preview-link/`,{method:"POST",token:n}),claimPageEditLock:(r,n,s,o=!1)=>t(`/api/storefront/pages/${r}/edit-lock/`,{method:"POST",body:JSON.stringify({client_id:s,takeover:o}),token:n}),releasePageEditLock:(r,n)=>t(`/api/storefront/pages/${r}/edit-lock/`,{method:"DELETE",token:n}),createTemplate:(r,n,s)=>t("/api/storefront/page-templates/",{method:"POST",body:JSON.stringify({name:r,layout:n}),headers:v,token:s}),getTemplate:(r,n)=>t(`/api/storefront/page-templates/${r}/`,{token:n}),saveTemplateLayout:(r,n,s)=>t(`/api/storefront/page-templates/${r}/`,{method:"PATCH",body:JSON.stringify({layout:n}),headers:v,token:s}),listTemplatePages:async(r,n)=>{let s=await t(`/api/storefront/template-pages/?template=${encodeURIComponent(r)}`,{token:n});return Array.isArray(s)?s:s.results??[]},findTemplatePageBySlug:async(r,n,s)=>{let o=await t(`/api/storefront/template-pages/?template=${encodeURIComponent(r)}&slug=${encodeURIComponent(n)}`,{token:s});return(Array.isArray(o)?o:o.results??[])[0]??null},createTemplatePage:(r,n,s)=>t("/api/storefront/template-pages/",{method:"POST",body:JSON.stringify({template:r,...n}),headers:v,token:s}),saveTemplatePageLayout:(r,n,s)=>t(`/api/storefront/template-pages/${r}/`,{method:"PATCH",body:JSON.stringify({layout:n}),headers:v,token:s}),deleteTemplatePage:(r,n,s)=>t(`/api/storefront/template-pages/${r}/`,{method:"DELETE",token:n,...s?.keepalive?{keepalive:!0}:{}}),listPages:async(r,n)=>{let s=new URLSearchParams({no_page:"true"});n&&s.set("site",n);let o=await t(`/api/storefront/pages/?${s.toString()}`,{token:r});return Array.isArray(o)?o:o.results??[]},createPage:(r,n,s,o)=>t("/api/storefront/pages/",{method:"POST",body:JSON.stringify({title:r,slug:n,layout:s}),token:o}),deletePage:(r,n)=>t(`/api/storefront/pages/${r}/`,{method:"DELETE",token:n}),getHeaderSettings:(r,n)=>t(x(n),{token:r}),listMenus:async(r,n)=>{let s=new URLSearchParams({no_page:"true"});n&&s.set("site",n);let o=await t(`/api/storefront/menus/?${s}`,{token:r});return Array.isArray(o)?o:o.results??[]},listBlogPosts:async(r,n={})=>{let s=new URLSearchParams({no_page:"true"});n.visibleOnly&&s.set("is_visible","true"),n.siteId&&s.set("site",n.siteId);let o=await t(`/api/storefront/blog-posts/?${s.toString()}`,{token:r});return Array.isArray(o)?o:o.results??[]},listFieldUsage:async(r,n)=>{let s=await t(`/api/storefront/field-usage/?site=${encodeURIComponent(n)}`,{token:r});return Array.isArray(s?.entries)?s.entries:[]},listCategories:async(r,n={})=>{let s=new URLSearchParams({no_page:"true"});n.visibleOnly&&s.set("is_visible","true"),n.siteId&&s.set("site",n.siteId);let o=await t(`/api/storefront/categories/?${s.toString()}`,{token:r});return[...Array.isArray(o)?o:o.results??[]].sort((u,m)=>u.sort_order-m.sort_order||u.name.localeCompare(m.name))},listForms:async(r,n={})=>{let s=new URLSearchParams({no_page:"true"});n.siteId&&s.set("site",n.siteId);let o=await t(`/api/storefront/forms/?${s.toString()}`,{token:r});return[...Array.isArray(o)?o:o.results??[]].sort((u,m)=>u.title.localeCompare(m.title))},listWheelSummaries:async(r,n={})=>{let s=new URLSearchParams;n.siteId&&s.set("site",n.siteId);let o=s.toString(),l=await t(`/api/storefront/wheel-curations/summaries/${o?`?${o}`:""}`,{token:r});return h(l)},listProducts:async(r,n={})=>{let s=new URLSearchParams;n.kinds?.length&&s.set("kind",n.kinds.join(",")),n.siteId&&s.set("site",n.siteId);let o=s.toString(),l=await t(`/api/storefront/products/${o?`?${o}`:""}`,{token:r});return h(l)},getWheelDetail:async(r,n,s={})=>{let o=new URLSearchParams({slug:n});return s.siteId&&o.set("site",s.siteId),b(h(await t(`/api/storefront/wheel-curations/detail/?${o.toString()}`,{token:r})))},updateHeaderSettings:(r,n,s)=>t(x(s),{method:"PATCH",body:JSON.stringify(r),token:n}),getSite:(r,n)=>t(W(r),{token:n}),listSites:async r=>{let n=await t("/api/storefront/sites/?no_page=true",{token:r});return Array.isArray(n)?n:n.results??[]},listSiteCurrencies:async(r,n)=>{let s=await t(Ot(r),{token:n});return Array.isArray(s)?s:[]},updateSite:(r,n,s)=>t(W(r),{method:"PATCH",body:JSON.stringify(n),token:s}),getThemeSettings:(r,n)=>t(be(n),{token:r}),updateThemeSettings:(r,n,s)=>t(be(s),{method:"PATCH",body:JSON.stringify(r),token:n}),getChatSettings:(r,n)=>t(Ae(n),{token:r}),updateChatSettings:(r,n,s)=>t(Ae(s),{method:"PATCH",body:JSON.stringify(r),token:n}),getSocialSettings:(r,n)=>t(Re(n),{token:r}),updateSocialSettings:(r,n,s)=>t(Re(s),{method:"PATCH",body:JSON.stringify(r),token:n}),uploadHeaderLogo:(r,n,s)=>{let o=new FormData;return o.append("logo",r),t(x(s),{method:"PATCH",body:o,token:n})},clearHeaderLogo:(r,n)=>t(x(n),{method:"PATCH",body:JSON.stringify({logo:null}),token:r}),setHeaderLogoFromAsset:(r,n,s)=>t(x(s),{method:"PATCH",body:JSON.stringify({logo_asset_id:r}),token:n}),uploadMedia:async(r,n)=>{let s=new FormData;return s.append("file",r),t(Ft(),{method:"POST",body:s,token:n})},listMedia:async(r,n)=>{let s=new URLSearchParams({no_page:"true"});n&&s.set("kind",n);let o=await t(`/api/storefront/media-assets/?${s.toString()}`,{token:r});return Array.isArray(o)?o:o.results??[]}}}var mr=Et();export{te as a,I as b,Z as c,Q as d,P as e,Le as f,L as g,ge as h,et as i,g as j,H as k,N as l,tr as m,rr as n,i as o,dt as p,Ee as q,bt as r,At as s,Rt as t,Ct as u,ar as v,cr as w,lr as x,D as y,ur as z,mr as A};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as we}from"react/jsx-runtime";import{createContext as en,useCallback as i,useContext as tn,useMemo as nn,useState as Ae}from"react";import{createContext as ie,useContext as x}from"react";import{createContext as mt}from"react";var re=mt(null);var St=ie(null),O=ie({logo:null,placeholder:!1,wordmark:null});function En(){let e=x(re),t=x(St),n=x(O),a=!e&&n.placeholder,o=e?e.logoUrl:n.logo?.logoUrl??t?.logoUrl??null;return{src:a?null:o,reversedSrc:e?e.logoReversed:n.logo?.logoReversed??t?.logoReversed??null,inkIsDark:e?e.logoInkIsDark:n.logo?.logoInkIsDark??t?.logoInkIsDark??null,wordmark:e?null:n.wordmark,siteName:e?.siteName??t?.siteName}}import{useSelectHandler as an}from"efficient-easel/draw/client";var Tn="storefront-theme",wn="sf:theme-mode",An="sf:theme-switch",Ln="hide",v="light";function pt(e){return e>=7&&e<18}function Cn(e){let{mode:t,override:n,switchShown:a,hour:o}=e;return a&&(n==="light"||n==="dark")?n:t==="auto"?pt(o)?"light":"dark":t==="light"?"light":"dark"}var h={background:"#0a0a0a",surface:"#131313",line:"#2a2a2a",muted:"#9a9388"},_t=[{text:"#2e2e2e",accent:"#2e2e2e",background:"#ffffff",surface:"#f7f7f7",line:"#e0e0e0",muted:"#5c5c5c"},{text:"#f7f7f7",accent:"#f7f7f7",background:"#0a0a0a",surface:"#1b1b1b",line:"#363636",muted:"#a3a3a3"},{text:"#ffffff",accent:"#ffffff",background:"#2e2e2e",surface:"#3d3d3d",line:"#545454",muted:"#b0b0b0"},{text:"#0a0a0a",accent:"#0a0a0a",background:"#f7f7f7",surface:"#ffffff",line:"#d9d9d9",muted:"#5c5c5c"}],C={selected:0,themes:_t};function le(e){return!e||!Array.isArray(e.themes)||e.themes.length===0?{...C}:{selected:Math.min(Math.max(0,e.selected??0),e.themes.length-1),themes:e.themes}}function M(e,t,n){let a=L(e),o=L(t);if(a===null||o===null)return e;let l=r=>Math.max(0,Math.min(255,Math.round(r))).toString(16).padStart(2,"0");return`#${a.map((r,u)=>l(r+(o[u]-r)*n)).join("")}`}var yt={light:"#ffffff",dark:"#0a0a0a"},kn=["light","dark"];function In(e,t){let n=yt[t],a=t==="light"?"#ffffff":"#000000";return{text:n,accent:n,background:e,surface:M(e,a,.1),line:M(e,a,.22),muted:M(n,e,.35),brandInk:t}}function k(e){let t=le(e);return t.themes[t.selected]}function ce(e){return{text:e.text,accent:e.accent,background:e.background||h.background,surface:e.surface||h.surface,line:e.line||h.line,muted:e.muted||h.muted}}function L(e){let t=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(e.trim());if(!t)return null;let n=t[1].length===3?[...t[1]].map(r=>r+r).join(""):t[1],[a,o,l]=[0,2,4].map(r=>parseInt(n.slice(r,r+2),16));return[a,o,l]}function N(e){let t=L(e);if(t===null)return null;let[n,a,o]=t.map(l=>{let r=l/255;return r<=.04045?r/12.92:((r+.055)/1.055)**2.4});return .2126*n+.7152*a+.0722*o}var Et=.4,bt=4.5,Tt=3;function wt(e,t){let n=N(e),a=N(t);if(n===null||a===null)return null;let[o,l]=n>=a?[n,a]:[a,n];return(o+.05)/(l+.05)}var Hn={good:"Good","large-only":"Large text only",hard:"Hard to read"};function Rn(e){return e>=bt?"good":e>=Tt?"large-only":"hard"}var D=["#000000","#ffffff"];function I(e){let t=D[0],n=-1;for(let a of D){let o=wt(e,a);if(o===null)return D[0];o>n&&(n=o,t=a)}return t}var At=[.25,.4,.55];function xn(e){let t=L(e);return t===null?[]:At.map(n=>"#"+t.map(a=>Math.round(a*(1-n)).toString(16).padStart(2,"0")).join(""))}function On(e){let t=k(e),n={"--theme-fg":t.text},a=N(t.text);return(a===null||a>=Et)&&(n["--overlay-fg"]=t.text),n}var Lt=82;function G(e){return`color-mix(in srgb, ${e} ${Lt}%, #000)`}function Mn(e){let t=k(e);return{"--theme-accent":t.accent,"--theme-accent-2":G(t.accent),"--theme-accent-ink":I(t.accent)}}function ue(e){let t=e?.button;return/^#[0-9a-fA-F]{6}$/.test(t??"")?t.toLowerCase():null}function Dn(e){let t=k(e),n=ue(t),a=de(t);if(n===null&&a===null)return{};let o={};return n!==null&&(o["--theme-btn"]=n,o["--theme-btn-2"]=G(n)),o["--theme-btn-ink"]=a??I(n),o}function de(e){let t=e?.buttonInk;return/^#[0-9a-fA-F]{6}$/.test(t??"")?t.toLowerCase():null}function Pn(e,t){return de(e)??I(ue(e)??t)}function Fn(e){let t={};return le(e).themes.forEach((n,a)=>{let o=ce(n);t[`--theme-preset-${a}-accent`]=o.accent,t[`--theme-preset-${a}-accent-2`]=G(o.accent),t[`--theme-preset-${a}-accent-ink`]=I(o.accent),t[`--theme-preset-${a}-bg`]=o.background,t[`--theme-preset-${a}-fg`]=o.text,t[`--theme-preset-${a}-surface`]=o.surface,t[`--theme-preset-${a}-surface-2`]=`color-mix(in srgb, ${o.surface} 60%, ${o.line})`,t[`--theme-preset-${a}-line`]=o.line,t[`--theme-preset-${a}-muted`]=o.muted}),t}var Nn=["--theme-bg","--theme-surface","--theme-surface-2","--theme-line","--theme-muted"];function vn(e){let t=ce(k(e)),n=`color-mix(in srgb, ${t.surface} 60%, ${t.line})`,a={"--theme-bg":t.background,"--theme-surface":t.surface,"--theme-line":t.line,"--theme-muted":t.muted};return(t.surface!==h.surface||t.line!==h.line)&&(a["--theme-surface-2"]=n),a}var Ct=["heading","body","label"];function Gn(e){if(!e)return null;for(let t of Ct)if(e.includes(`--size-${t}`))return t;return/--size-heading(Large|Medium|Small)/.test(e)?"heading":null}var he=["headingLarge","headingMedium","headingSmall","accent","body","label"];var U={headingLarge:null,headingMedium:null,headingSmall:null,accent:null,body:null,label:null},kt=8,It=200;function Ht(e){if(typeof e!="number"||!Number.isFinite(e))return null;let t=Math.round(e);return t>=kt&&t<=It?t:null}function Rt(e){let t={};for(let n of he)t[n]=Ht(e?.[n]);return t}function Un(e){let t=Rt(e),n={};for(let a of he){let o=t[a];o!==null&&(n[`--size-${a}`]=`${o}px`)}return n}var xt=["square","small","large"],Ot="small";function Bn(e){return xt.includes(e??"")?e:Ot}var ge=0,Mt=40,zn={square:0,small:null,large:16},Dt={"--sf-card-radius":1,"--sf-button-radius":.5,"--site-radius":.5,"--site-radius-xs":.25,"--site-radius-sm":.5,"--site-radius-md":.75,"--site-radius-lg":1,"--site-radius-xl":1.25,"--site-radius-2xl":1.5,"--site-radius-3xl":2,"--site-radius-4xl":2.5};function fe(e){if(e==null||typeof e=="string"&&e.trim()==="")return null;let t=typeof e=="string"?Number(e):e;return Number.isFinite(t)?Math.min(Mt,Math.max(ge,Math.round(t))):null}function Pt(e){let t=fe(e);return t===null?{}:Object.fromEntries(Object.entries(Dt).map(([n,a])=>{let o=t*a/16;return[n,o===0?"0":`${o}rem`]}))}function $n(e){return Pt(fe(e)??ge)}var Ft=["none","soft","lifted"],Nt="soft",me="none",vt=["tight","normal","roomy"],Gt="normal",H="normal",Ut=["none","lift","highlight"],Bt="lift",zt="highlight",Se="#141416";function pe(e){return Ft.includes(e??"")?e:Nt}function $t(e){return vt.includes(e??"")?e:Gt}function _e(e){return Ut.includes(e??"")?e:Bt}function Vt(e){return/^#[0-9a-fA-F]{6}$/.test(e??"")?e.toLowerCase():Se}function Vn(e){let t=pe(e);return t===me?void 0:t}function Wn(e){let t=$t(e);return t===H?void 0:t}function Yn(e){let t=_e(e);return t===zt?void 0:t}function Xn(e,t,n){let a=Vt(t);return a===Se?{}:pe(e)!==me||_e(n)==="lift"?{"--sf-shadow-color":a}:{}}var Wt=["normal","tight","compressed"],E="normal";function ye(e){return Wt.includes(e??"")?e:E}function qn(e){let t=ye(e);return t===E?void 0:t}function jn(e){switch(ye(e)){case"tight":return{lineHeight:.95,letterSpacing:-.01};case"compressed":return{lineHeight:.86,letterSpacing:-.01};default:return{}}}var B={case:"authored",weight:null,weightStrong:null,italicStrong:null,maxPx:null,weight2:null,weight3:null,case2:"authored",case3:"authored"},P=100,F=900,Yt=24,Xt=200;function A(e,t,n){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,t),n))}function Ee(e){let t=A(e?.weight,P,F),n=e?.case==="sentence"?"sentence":"authored",a=l=>l==null?t:A(l,P,F),o=l=>l==="sentence"?"sentence":l==="authored"?"authored":n;return{case:n,weight:t,weightStrong:A(e?.weightStrong,P,F),italicStrong:typeof e?.italicStrong=="boolean"?e.italicStrong:null,maxPx:A(e?.maxPx,Yt,Xt),weight2:a(e?.weight2),weight3:a(e?.weight3),case2:o(e?.case2),case3:o(e?.case3)}}function Kn(e){let t=Ee(e),n={};return t.case==="sentence"&&(n["--sf-heading-case"]="none"),t.weight!==null&&(n["--sf-heading-weight"]=String(t.weight)),t.weightStrong!==null&&(n["--sf-heading-weight-strong"]=String(t.weightStrong)),t.maxPx!==null&&(n["--sf-heading-max"]=`${t.maxPx}px`),t.weight2!==null&&t.weight2!==t.weight&&(n["--sf-heading-2-weight"]=String(t.weight2)),t.weight3!==null&&t.weight3!==t.weight&&(n["--sf-heading-3-weight"]=String(t.weight3)),t.case2!==t.case&&(n["--sf-heading-2-case"]=t.case2==="sentence"?"none":"uppercase"),t.case3!==t.case&&(n["--sf-heading-3-case"]=t.case3==="sentence"?"none":"uppercase"),n}function Zn(e){return Ee({case:e?.heading_case??void 0,weight:e?.heading_weight,weightStrong:e?.heading_weight_strong,italicStrong:e?.accent_italic,maxPx:e?.heading_max_px,weight2:e?.heading_2_weight??void 0,weight3:e?.heading_3_weight??void 0,case2:e?.heading_2_case??void 0,case3:e?.heading_3_case??void 0})}var be=[{key:"space-grotesk",label:"Space Grotesk",cssVar:"--font-display",category:"sans",italic:!1,italicLoaded:!1},{key:"inter",label:"Inter",cssVar:"--font-body",category:"sans",italic:!0,italicLoaded:!0},{key:"poppins",label:"Poppins",cssVar:"--font-poppins",category:"sans",italic:!0,italicLoaded:!0},{key:"dm-sans",label:"DM Sans",cssVar:"--font-dm-sans",category:"sans",italic:!0,italicLoaded:!0},{key:"sora",label:"Sora",cssVar:"--font-sora",category:"sans",italic:!1,italicLoaded:!1},{key:"oswald",label:"Oswald",cssVar:"--font-oswald",category:"sans",italic:!1,italicLoaded:!1},{key:"archivo",label:"Archivo",cssVar:"--font-archivo",category:"sans",italic:!0,italicLoaded:!0},{key:"outfit",label:"Outfit",cssVar:"--font-outfit",category:"sans",italic:!1,italicLoaded:!1},{key:"manrope",label:"Manrope",cssVar:"--font-manrope",category:"sans",italic:!1,italicLoaded:!1},{key:"big-shoulders",label:"Big Shoulders",cssVar:"--font-big-shoulders",category:"sans",italic:!1,italicLoaded:!1},{key:"michroma",label:"Michroma",cssVar:"--font-michroma",category:"sans",italic:!1,italicLoaded:!1},{key:"assistant",label:"Assistant",cssVar:"--font-assistant",category:"sans",italic:!1,italicLoaded:!1},{key:"fraunces",label:"Fraunces",cssVar:"--font-serif",category:"serif",italic:!0,italicLoaded:!0},{key:"playfair-display",label:"Playfair Display",cssVar:"--font-playfair",category:"serif",italic:!0,italicLoaded:!0},{key:"cormorant",label:"Cormorant",cssVar:"--font-cormorant",category:"serif",italic:!0,italicLoaded:!0},{key:"jetbrains-mono",label:"JetBrains Mono",cssVar:"--font-mono-loaded",category:"mono",italic:!0,italicLoaded:!0}],f=new Map(be.map(e=>[e.key,e]));function Qn(e){return f.get(e)}var Te=["heading","heading2","heading3","body","accent","label"],ea={heading:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",body:"Body",accent:"Accent",label:"Labels"},qt=[["font-heading2","heading2"],["font-heading3","heading3"],["font-display","heading"],["font-serif","accent"],["font-mono","label"],["font-body","body"]],jt=/var\(--size-(headingLarge|headingMedium|headingSmall|accent|body|label)\s*,/,ta={heading:"headingLarge",heading2:"headingMedium",heading3:"headingSmall",accent:"accent",body:"body",label:"label"},Kt={headingLarge:"heading",headingMedium:"heading2",headingSmall:"heading3",accent:"accent",body:"body",label:"label"};function na(e){let t=e?jt.exec(e):null;return t?Kt[t[1]]??null:Zt(e)}function Zt(e){if(!e)return null;let t=e.split(/\s+/).filter(n=>!n.slice(0,n.lastIndexOf(":")+1).includes("&")).map(n=>n.slice(n.lastIndexOf(":")+1));for(let[n,a]of qt)if(t.includes(n))return a;return null}var d={heading:"space-grotesk",heading2:"space-grotesk",heading3:"space-grotesk",body:"inter",accent:"fraunces",label:"jetbrains-mono"};function Jt(e){let t=n=>{let a=e?.[n];if(a&&f.has(a))return a;if(n==="heading2"||n==="heading3"){let o=e?.heading;return o&&f.has(o)?o:d.heading}return d[n]};return Object.fromEntries(Te.map(n=>[n,t(n)]))}function Qt(e,t){return f.get(e[t])??f.get(d[t])}function g(e,t){return`var(${Qt(e,t).cssVar})`}var aa=[...new Set(Te.map(e=>f.get(d[e]).cssVar))],oa=[...new Set(be.map(e=>e.cssVar))];function sa(e){let t=Jt(e);return{"--font-role-heading":g(t,"heading"),"--font-role-heading2":g(t,"heading2"),"--font-role-heading3":g(t,"heading3"),"--font-role-body":g(t,"body"),"--font-role-accent":g(t,"accent"),"--font-role-label":g(t,"label"),fontFamily:"var(--font-role-body)"}}var Ce=en({settings:null,setSettings:()=>{},primeSettings:()=>{},websiteName:null,templateChrome:!1,templateName:null,chromePlaceholder:!1,themeMode:v,setThemeMode:()=>{},themeSwitchShown:!1,setThemeSwitchShown:()=>{},theme:C,setTheme:()=>{},fonts:d,setFonts:()=>{},sizes:U,setSizes:()=>{},cornerRadiusPx:null,setCornerRadiusPx:()=>{},cardShadow:null,setCardShadow:()=>{},shadowColor:null,setShadowColor:()=>{},cardGap:H,setCardGap:()=>{},hoverEffect:null,setHoverEffect:()=>{},headingCompression:E,setHeadingCompression:()=>{},siteWidth:null,setSiteWidth:()=>{},siteGutter:null,blockGap:null,setSiteGutter:()=>{},setBlockGap:()=>{},headingTypography:B,setHeadingTypography:()=>{},textStyles:null,setTextStyles:()=>{},wordStyles:null,heroBackgroundFollowsWidth:null,setHeroBackgroundFollowsWidth:()=>{},photographyGrayscale:null,setPhotographyGrayscale:()=>{},shareButtonOnPosts:null,setShareButtonOnPosts:()=>{},themeFromDocument:!1,selected:!1,setSelected:()=>{},select:()=>{},setSelectHandler:()=>{}});function ga({children:e,websiteName:t=null,templateChrome:n=!1,templateName:a=null,chromePlaceholder:o=!1,themeMode:l=v,onThemeModeChange:r,themeSwitchShown:u=!1,onThemeSwitchShownChange:b,theme:T=C,onThemeChange:m,fonts:S=d,onFontsChange:p,sizes:_=U,onSizesChange:c,cornerRadiusPx:R=null,onCornerRadiusPxChange:w,cardShadow:Ie=null,onCardShadowChange:z,shadowColor:He=null,onShadowColorChange:$,cardGap:Re=H,onCardGapChange:V,hoverEffect:xe=null,onHoverEffectChange:W,headingCompression:Oe=E,onHeadingCompressionChange:Y,siteWidth:Me=null,onSiteWidthChange:X,siteGutter:De=null,blockGap:Pe=null,onSiteGutterChange:q,onBlockGapChange:j,headingTypography:Fe=B,onHeadingTypographyChange:K,textStyles:Ne=null,onTextStylesChange:Z,wordStyles:ve=null,heroBackgroundFollowsWidth:Ge=null,onHeroBackgroundFollowsWidthChange:J,photographyGrayscale:Ue=null,onPhotographyGrayscaleChange:Q,shareButtonOnPosts:Be=null,onShareButtonOnPostsChange:ee,themeFromDocument:ze=!1}){let[y,te]=Ae(null),$e=i(s=>te(ft=>ft??s),[]),[Ve,We]=Ae(!1),Ye=i(s=>r?.(s),[r]),Xe=i(s=>b?.(s),[b]),qe=i(s=>m?.(s),[m]),je=i(s=>p?.(s),[p]),Ke=i(s=>c?.(s),[c]),Ze=i(s=>X?.(s),[X]),Je=i(s=>q?.(s),[q]),Qe=i(s=>j?.(s),[j]),et=i(s=>J?.(s),[J]),tt=i(s=>Q?.(s),[Q]),nt=i(s=>ee?.(s),[ee]),at=i(s=>w?.(s),[w]),ot=i(s=>z?.(s),[z]),st=i(s=>$?.(s),[$]),rt=i(s=>V?.(s),[V]),it=i(s=>W?.(s),[W]),lt=i(s=>Y?.(s),[Y]),ct=i(s=>K?.(s),[K]),ut=i(s=>Z?.(s),[Z]),{select:dt,setSelectHandler:ht}=an(),ne=y?.logoUrl,ae=y?.logoReversed,oe=y?.logoInkIsDark,se=y!==null,gt=nn(()=>({logo:se?{logoUrl:ne,logoReversed:ae,logoInkIsDark:oe}:null,placeholder:n||o,wordmark:n?a:t}),[se,ne,ae,oe,n,o,a,t]);return we(O.Provider,{value:gt,children:we(Ce.Provider,{value:{settings:y,setSettings:te,primeSettings:$e,websiteName:t,templateChrome:n,templateName:a,chromePlaceholder:o,themeMode:l,setThemeMode:Ye,themeSwitchShown:u,setThemeSwitchShown:Xe,theme:T,setTheme:qe,fonts:S,setFonts:je,sizes:_,setSizes:Ke,cornerRadiusPx:R,setCornerRadiusPx:at,cardShadow:Ie,setCardShadow:ot,shadowColor:He,setShadowColor:st,cardGap:Re,setCardGap:rt,hoverEffect:xe,setHoverEffect:it,headingCompression:Oe,setHeadingCompression:lt,siteWidth:Me,setSiteWidth:Ze,siteGutter:De,blockGap:Pe,setSiteGutter:Je,setBlockGap:Qe,headingTypography:Fe,setHeadingTypography:ct,textStyles:Ne,setTextStyles:ut,wordStyles:ve,heroBackgroundFollowsWidth:Ge,setHeroBackgroundFollowsWidth:et,photographyGrayscale:Ue,setPhotographyGrayscale:tt,shareButtonOnPosts:Be,setShareButtonOnPosts:nt,themeFromDocument:ze,selected:Ve,setSelected:We,select:dt,setSelectHandler:ht},children:e})})}var fa=()=>tn(Ce);import{forwardRef as on}from"react";import{jsx as ln}from"react/jsx-runtime";var sn={position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,color:"transparent"},rn=on(function({src:t,width:n,height:a,fill:o,priority:l,loading:r,style:u,quality:b,placeholder:T,blurDataURL:m,unoptimized:S,loader:p,overrideSrc:_,...c},R){let w=_??(typeof t=="string"?t:t.src);return ln("img",{ref:R,src:w,width:o?void 0:n,height:o?void 0:a,loading:l?"eager":r??"lazy",fetchPriority:l?"high":void 0,decoding:"async",style:o?{...sn,...u}:{color:"transparent",...u},...c})}),pa=rn;function _a(e){return{props:{src:e.overrideSrc??(typeof e.src=="string"?e.src:e.src.src),sizes:e.sizes}}}import{forwardRef as cn}from"react";import{jsx as hn}from"react/jsx-runtime";function un(e){if(typeof e=="string")return e;let t=e.query?`?${new URLSearchParams(e.query).toString()}`:"",n=e.hash?e.hash.startsWith("#")?e.hash:`#${e.hash}`:"";return`${e.pathname??""}${t}${n}`}var dn=cn(function({href:t,prefetch:n,replace:a,scroll:o,shallow:l,legacyBehavior:r,passHref:u,locale:b,onClick:T,children:m,...S},p){let _=c=>{T?.(c),!(c.defaultPrevented||S.target==="_blank")&&c.preventDefault()};return hn("a",{ref:p,href:un(t),onClick:_,...S,children:m})}),Ta=dn;var gn="Storefront";function La(e){return e?.trim()||gn}var ke=["instagram","facebook","tiktok","youtube","x","linkedin","pinterest","whatsapp","telegram","line","wechat"],fn={instagram:"Instagram",facebook:"Facebook",tiktok:"TikTok",youtube:"YouTube",x:"X",linkedin:"LinkedIn",pinterest:"Pinterest",whatsapp:"WhatsApp",telegram:"Telegram",line:"LINE",wechat:"WeChat"},mn={};function ka(e){if(!e||typeof e!="object")return mn;let t={};for(let n of ke){let a=e[n];if(typeof a!="string")continue;let o=a.trim();!o||!/^https?:\/\//i.test(o)||(t[n]=o)}return t}function Ia(e){return ke.flatMap(t=>{let n=e[t];return n?[{platform:t,href:n,label:fn[t]}]:[]})}var Ha=e=>`${e}_url`;export{pa as a,_a as b,Ta as c,be as d,Qn as e,Te as f,ea as g,ta as h,na as i,Zt as j,d as k,Jt as l,sa as m,Tn as n,wn as o,An as p,Ln as q,v as r,Cn as s,h as t,_t as u,le as v,kn as w,In as x,k as y,ce as z,wt as A,Hn as B,Rn as C,I as D,xn as E,On as F,Mn as G,ue as H,Dn as I,de as J,Pn as K,Fn as L,Nn as M,vn as N,Gn as O,U as P,Rt as Q,Un as R,Bn as S,ge as T,Mt as U,zn as V,fe as W,Pt as X,$n as Y,Ft as Z,Nt as _,me as $,H as aa,Ut as ba,Bt as ca,zt as da,Se as ea,pe as fa,$t as ga,_e as ha,Vt as ia,Vn as ja,Wn as ka,Yn as la,Xn as ma,E as na,ye as oa,qn as pa,jn as qa,B as ra,Ee as sa,Kn as ta,Zn as ua,re as va,En as wa,ga as xa,fa as ya,gn as za,La as Aa,ke as Ba,fn as Ca,mn as Da,ka as Ea,Ia as Fa,Ha as Ga};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as rt,j as pe,r as ot,t as it,u as at,w as H}from"./chunk-CLMOO7LL.js";import{Aa as et,Da as De,Ea as tt,za as me}from"./chunk-D32TXJVQ.js";import{e as Ze,q as nt,s as re}from"./chunk-CABIEVEL.js";import{createContext as rn,useContext as on,useEffect as an,useMemo as ge,useState as ut}from"react";function st(e,t){return e.map(n=>({partNumber:n.partNumber,quantity:n.wheels*t}))}function oe(e,t){if(e.length===0)return null;let n=0;for(let r of e){let i=r.prices?.[t];if(typeof i!="number"||!Number.isFinite(i)||i<=0)return null;n+=i*r.wheels}return n}var Oe=4,yr=1,hr={unit:"set",spares:0,spareSide:"left"};function lt(e){return e.unit==="single"?1:Oe+e.spares}function br(e,t){return[{partNumber:e.partNumber,wheels:lt(t),prices:e.prices}]}function xr(e,t){let n=lt(t)-Oe;if(n<=0||e.length===0)return e;let r=tn(e),i=r?r[t.spareSide]:0;return e.map((o,a)=>a===i?{...o,wheels:o.wheels+n}:o)}function tn(e){let t,n;for(let r=0;r<e.length;r+=1){let i=e[r].hand;if(i!=="left"&&i!=="right")continue;if((i==="left"?t:n)!==void 0)return null;i==="left"?t=r:n=r}return t!==void 0&&n!==void 0?{left:t,right:n}:null}function nn(e,t){return t.spares>0?`${e} + spare`:e}function Cr(e){return e.unit==="single"?"Single":nn(`Set of ${Oe}`,e)}var Sr="data-add-to-basket",Fe=9,Pe="en";function fe(e,t,n=0){return new Intl.NumberFormat(Pe,{style:"currency",currency:t,minimumFractionDigits:0,maximumFractionDigits:n}).format(e)}function vr(e,t){return new Intl.NumberFormat(Pe,{style:"currency",currency:t}).format(e)}import{jsx as un}from"react/jsx-runtime";var ct="storefront-country",dt=rn(null);function sn(e){return mt(e,"catalogue")}function ln(e){return mt(e,"money")}function mt(e,t){let n=new Map(e.map(i=>[i.code,i.decimalPlaces])),r=new Map;return(i,o)=>{if(!o)return"";let a=r.get(o);if(!a){let s=n.get(o)??0;a=new Intl.NumberFormat(Pe,{style:"currency",currency:o,minimumFractionDigits:t==="money"?s:0,maximumFractionDigits:s}),r.set(o,a)}return a.format(i)}}function Lr({children:e,currencies:t,countries:n,defaultCurrency:r,defaultCountry:i}){let o=ge(()=>t??[],[t]),a=ge(()=>n??[],[n]),s=ge(()=>r||o.find(x=>x.isDefault)?.code||o[0]?.code||"",[r,o]),c=ge(()=>i||a.find(x=>x.isDefault)?.code||a[0]?.code||"",[i,a]),[u,p]=ut(c),[d,S]=ut(!1);an(()=>{let x=re.getItem(ct);x&&a.some(w=>w.code===x)&&p(x),S(!0)},[a]);function I(x){p(x),re.setItem(ct,x)}let b=ge(()=>{let x=a.find(L=>L.code===u)??null,w=x?.currency,N=w&&o.some(L=>L.code===w)?w:s,M=sn(o),C=ln(o);return{country:u,currency:N,setCountry:I,currencies:o,countries:a,activeCountry:x,formatPrice:(L,v)=>M(L,v??N),formatMoney:(L,v)=>C(L,v??N),ready:d}},[u,o,a,s,d]);return un(dt.Provider,{value:b,children:e})}function pt(){let e=on(dt);if(!e)throw new Error("useCurrency must be used within a CurrencyProvider");return e}import{createContext as Pn,useCallback as R,useContext as In,useEffect as Y,useMemo as wt,useRef as ie,useState as k}from"react";function gt(e,t){return e.valid?!1:e.reason==="firstOrderOnly"?!0:e.reason==="notEligible"&&!t}var yt="We'll confirm this discount when you place your order.",Rr="Confirmed at checkout";function kr(e){return e&&(e.valid||e.deferred)?e.code:void 0}var ft="coupon_code: ";function Ar(e){return!(e instanceof pe)||e.status!==400||!e.message.startsWith(ft)?null:e.message.slice(ft.length)}function ht(e,t){return e.map(n=>({qty:n.qty,slug:n.slug,name:`${n.name.lead}${n.name.accent}`.trim(),finish:n.finishName,size:n.size,kind:n.kind,sku:n.sku,pack:n.pack,priceLabel:t(n)}))}var Ie="Price on request",dn="Request a quote",mn="from ",Fr="From ",Ur="each",bt="Free";function Ue(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function $e(e,t){let n=e?.[t];return Ue(n)?n:null}function $r(e,t,n,r){let i=$e(e,n),o=$e(t,n);return i===null&&o===null?0:i===null?1:o===null?-1:r==="asc"?i-o:o-i}function Hr(e,t,n,r){if(n==null&&r==null)return!0;let i=$e(e,t);return!(i===null||n!=null&&i<n||r!=null&&i>r)}var pn={priced:!1,unit:null,was:null,onSale:!1,setTotal:null};function fn(e,t,n){if(!Ue(e))return pn;let r=Ue(t)&&t>e?t:null;return{priced:!0,unit:e,was:r,onSale:r!==null,setTotal:n!=null?e*n:null}}function qr(e,t,n=""){return!e.priced||e.unit==null?Ie:`${n}${fe(e.unit,t)}`}function Kr(e,t){return e.was==null?null:fe(e.was,t)}function gn(e,t,n=1){let r=oe(e,t);if(r===null)return{priced:!1,unit:null,isFrom:!1,setTotal:null};let i=e.reduce((a,s)=>a+s.wheels,0),o=Math.min(...e.map(a=>a.prices[t]));return{priced:!0,unit:o,isFrom:o*i!==r,setTotal:r*n}}var yn={priced:!1,unit:null,isFrom:!1,was:null,onSale:!1,setTotal:null};function Wr(e,t,n,r=1){let i=fn(e.prices[n],e.msrpPrices?.[n],4),o=i.setTotal==null?null:i.setTotal*r;if(!t)return{priced:i.priced,unit:i.unit,isFrom:!0,was:i.was,onSale:i.onSale,setTotal:null,fromSetTotal:o};let a=gn(t.components,n,r);return a.priced?{priced:!0,unit:a.unit,isFrom:a.isFrom,was:null,onSale:!1,setTotal:a.setTotal,fromSetTotal:o}:{...yn,fromSetTotal:o}}function hn(e,t){return!e.priced||e.unit==null?Ie:`${e.isFrom?mn:""}${fe(e.unit,t)}`}function Br(e,t){return e.was==null?null:fe(e.was,t)}function zr(e,t){return!e.priced||e.unit==null?dn:hn(e,t)}var bn=/^[^@\s]+@[^@\s]+\.[^@\s]+$/;function xt(e){return bn.test(e.trim())}var Ct="sf:ga-purchases",xn=20;function vt(){return typeof window>"u"||window.parent!==window}function ye(...e){try{if(vt()||typeof window.gtag!="function")return;window.gtag(...e)}catch{}}function Cn(e,t){let n=e.config.find(r=>r.gold)?.label;return{item_id:`${e.slug}|${e.finishName}|${e.size}`,item_name:`${e.name.lead}${e.name.accent}`.trim(),...n?{item_variant:n}:{},price:oe(e.components,t)??0,quantity:e.qty}}function He(e,t){return e.filter(we).map(n=>Cn(n,t))}function Qr(e){ye("event","view_item",{currency:e.currency,value:e.pricePerSet,items:[{item_id:e.itemId,item_name:e.itemName,...e.variant?{item_variant:e.variant}:{},price:e.pricePerSet,quantity:1}]})}function Et(e,t){let n=He([e],t);n.length!==0&&ye("event","add_to_cart",{currency:t,value:n[0].price*n[0].quantity,items:n})}function Jr(e){let t=He(e.lines,e.currency);t.length!==0&&ye("event","begin_checkout",{currency:e.currency,value:e.value,...e.coupon?{coupon:e.coupon}:{},items:t})}var St=new Set;function Sn(e){if(St.has(e))return!1;St.add(e);try{let t=JSON.parse(re.getItem(Ct)??"[]");if(t.includes(e))return!1;re.setItem(Ct,JSON.stringify([...t,e].slice(-xn)))}catch{}return!0}function Zr(e){let t=e.confirmation;if(vt()||!Sn(t.orderNumber))return;let n=t.currency,r=Number(t.grandTotal);ye("event","purchase",{transaction_id:t.orderNumber,currency:n,value:r,shipping:Number(t.freightCharge),...t.couponCode?{coupon:t.couponCode}:{},items:He(e.lines,n)}),e.adsSendTo&&ye("event","conversion",{send_to:e.adsSendTo,transaction_id:t.orderNumber,currency:n,value:r})}var vn="Arranged after review",Pt="Calculated at checkout",En=Pt,no=Pt;function It({quoted:e,optionCount:t,chosenAmount:n,couponWaivesFreight:r}){return e&&t===0?"arranged":r?"free":n===void 0?"pending":n===0?"free":"charged"}function ro(e){switch(e){case"arranged":return vn;case"pending":return En;case"free":return bt;case"charged":return null}}import{jsx as Nn}from"react/jsx-runtime";var wn=400,Ln=400,Tn=1500;function we(e){return(e.components?.length??0)>0}function Lt(e,t){return{code:e,valid:t.valid,deferred:gt(t,t.askedAsShopper),message:t.message||void 0,effects:t.effects??void 0}}function Nt(e,t){return oe(e.components,t)}function qe(e,t){let n=Nt(e,t);return n===null?null:n*e.qty}function Tt(e){return e!=="tyre"}var _t=Pn(null);function yo({children:e,preview:t=!1}){let{currency:n,country:r,formatMoney:i}=pt(),[o,a]=k(t),[s,c]=k([]),[u,p]=k([]),[d,S]=k([]),[I,b]=k(!1),[x,w]=k(!1),[N,M]=k(!1),[C,L]=k(!1),[v,q]=k(null),[W,j]=k(void 0),h=ie(r),E=ie("");h.current=h.current||r;let[m,K]=k(null),[Q,G]=k(!1),[A,J]=k(null),Z=ie(void 0),D=R(()=>a(!0),[]),Ce=R(()=>a(!1),[]),O=R(()=>a(l=>!l),[]);Y(()=>{t||typeof window>"u"||new URLSearchParams(window.location.search).get("cart")==="open"&&D()},[D,t]);let Se=R(l=>{L(!0),Tt(l)&&M(!0)},[]),ee=N||s.some(l=>Tt(l.kind)),se=C||s.length>0;Y(()=>{if(t||!ee||I)return;let l=!0;return H.listWheels().then(f=>{l&&(p(f),b(!0))}),()=>{l=!1}},[t,ee,I]),Y(()=>{if(t||!se||x)return;let l=!0;return H.listBundles().then(f=>{l&&(S(f),w(!0))}),()=>{l=!1}},[t,se,x]);let F=v?.deliveryOptions??[];Y(()=>{F.length!==0&&J(l=>l&&F.some(f=>f.id===l)?l:F[0]?.id??null)},[v]);let V=R(()=>s.filter(we).flatMap(l=>st(l.components,l.qty)),[s]),le=R(async(l,f)=>{let y=l.trim().toUpperCase();if(!y)return;let g=V();if(g.length===0){K({code:y,valid:!1,message:"Add a wheel to the cart first."});return}G(!0),Z.current=f;try{let T=await H.validateCoupon({code:y,items:g,currency:n,shippingMethodId:A??void 0,customerEmail:f});K(Lt(y,T))}catch{K({code:y,valid:!1,message:"Could not check that code. Please try again."})}finally{G(!1)}},[V,n,A]),te=R(()=>{K(null),Z.current=void 0},[]),ve=R(l=>{if(!m)return;let{code:f}=m;K(y=>y&&y.code===f?{code:f,valid:!1,refused:!0,message:l}:y)},[m]);Y(()=>{if(!m||m.refused)return;let l=m.code,f=g=>g!==null&&g.code===l&&!g.refused,y=setTimeout(async()=>{let g=V();if(g.length===0){K(T=>f(T)?{code:l,valid:!1,message:"Add a wheel to the cart first."}:T);return}G(!0);try{let T=await H.validateCoupon({code:l,items:g,currency:n,shippingMethodId:A??void 0,customerEmail:Z.current});K(de=>f(de)?Lt(l,T):de)}catch{}finally{G(!1)}},wn);return()=>clearTimeout(y)},[s,n,A]);let ue=m&&!m.refused?m.code:void 0;Y(()=>{if(t)return;let l=!0,f=setTimeout(async()=>{let y=V();if(y.length===0){q(null),j(void 0);return}try{let g=await H.quoteCart({items:y,currency:n,shippingMethodId:A??void 0,couponCode:ue,customerEmail:Z.current||void 0,country:h.current||void 0,subdivision:E.current||void 0});if(!l)return;q(g)}catch{if(!l)return}j(ue)},Ln);return()=>{l=!1,clearTimeout(f)}},[s,n,A,ue,r]);let P=R(l=>{c(f=>{let y=f.findIndex(g=>g.id===l.id);return y===-1?[...f,l]:f.map((g,T)=>T===y?{...g,qty:Math.min(Fe,g.qty+l.qty)}:g)}),Et(l,n)},[n]),U=R(l=>{c(f=>f.filter(y=>y.id!==l))},[]),X=R((l,f)=>{let y=Math.max(1,Math.min(Fe,f));c(g=>g.map(T=>T.id===l?{...T,qty:y}:T))},[]),Ge=R(l=>{c(l)},[]),[ce,Xt]=k(null),Ve=ie(null);Ve.current=ce;let $=ie(null),ke=ie(""),Xe=R((l,f)=>{let y=l.trim().toLowerCase();xt(y)&&Xt(g=>g&&g.email===y&&g.firstName===(f??"")?g:{email:y,firstName:f??""})},[]);Y(()=>{if(t||!ce)return;let l=ht(s.filter(we),g=>qe(g,n)===null?Ie:i(qe(g,n),n)),f={email:ce.email,firstName:ce.firstName,currency:n,items:l},y=JSON.stringify(f);if(y!==ke.current)return $.current&&clearTimeout($.current),$.current=setTimeout(()=>{$.current=null,ke.current=y,H.captureCart(f).catch(g=>{})},Tn),()=>{$.current&&(clearTimeout($.current),$.current=null)}},[s,ce,n,t]);let Ye=R(()=>{$.current&&(clearTimeout($.current),$.current=null);let l=Ve.current;l&&(ke.current="",H.captureCart({email:l.email,firstName:l.firstName,currency:n,items:[]}).catch(f=>{}))},[n]),je=wt(()=>{let l=s.reduce((_,ne)=>{let Ee=qe(ne,n);return Ee===null?_:_+Ee},0),f=s.some(_=>Nt(_,n)===null),y=s.reduce((_,ne)=>_+ne.qty,0),g=m?.valid?m.effects:void 0,T=g?Math.min(l,Number(g.discountAmount)):0,de=v?.bundleDiscount??0,jt=v?.appliedBundles??[],Ae=!!g?.freeShipping,Qe=F.find(_=>_.id===A),Je=Ae?0:v?.shipping??Qe?.amount??0,Qt=It({quoted:v!==null,optionCount:F.length,chosenAmount:Qe?.amount,couponWaivesFreight:Ae}),Me={};for(let _ of g?.freeUnits??[])Me[_.partNumber]=(Me[_.partNumber]??0)+_.quantity;let Jt=v?.tax??null,Zt=v?v.grandTotal:l-T-de+Je;return{sets:y,units:s.reduce((_,ne)=>_+(ne.components??[]).reduce((Ee,en)=>Ee+en.wheels*ne.qty,0),0),subtotal:l,hasUnpricedLine:f,discount:T,bundleDiscount:de,appliedBundles:jt,shipping:Je,freeShipping:Ae,shippingStatus:Qt,freeUnitsByPartNumber:Me,tax:Jt,grand:Zt,repricing:!!m?.refused&&v!==null&&W===m?.code,currency:n}},[s,n,m,F,A,v,W]),Yt=wt(()=>({isOpen:o,preview:t,open:D,close:Ce,toggle:O,items:s,catalog:u,bundles:d,warmCatalog:Se,add:P,remove:U,setQty:X,replaceItems:Ge,identify:Xe,clearCapturedCart:Ye,coupon:m,applyCoupon:le,removeCoupon:te,refuseCoupon:ve,couponBusy:Q,deliveryOptions:F,shippingMethodId:A,setShippingMethodId:J,totals:je}),[o,t,D,Ce,O,s,u,d,Se,P,U,X,Ge,Xe,Ye,m,le,te,ve,Q,F,A,je]);return Nn(_t.Provider,{value:Yt,children:e})}function Rt(){let e=In(_t);if(!e)throw new Error("useCart() must be called inside <CartProvider>. Mount the provider in app/layout.tsx.");return e}import{cache as Hn}from"react";function kt(e,t,n,r){for(;e.size>=t;){let i,o;for(let[s,c]of e){if(c.expiresAt<=r){i=s;break}o===void 0&&n(s)&&(o=s)}let a=i??o??e.keys().next().value;if(a===void 0)return;e.delete(a)}}var _n=6e4,Rn=5e3,kn=500,Le=new Map;async function An(e){let{host:t,matchesRequestHost:n}=await ot();if(!t)return"";let r=await it();return r?`${e}|slug:${encodeURIComponent(t)}/${encodeURIComponent(r)}`:n?`${e}|host:${t}`:`${e}|xhost:${t}`}var Mn=e=>e.includes("|slug:")||e.includes("|xhost:");async function At(e,t){if(await at()!==null)return t();let n=await An(e);if(!n)return t();let r=Date.now(),i=Le.get(n);if(i&&i.expiresAt>r)return i.load;let o=await t(),a=o.outcome.state==="failed",s=a?Rn:_n,c=Le.get(n)?.lastGood,u=o.outcome.state==="ok"?o:a?c:void 0,p=a&&u?u:o;return kt(Le,kn,Mn,r),Le.set(n,{load:p,expiresAt:r+s,lastGood:u}),p}var Dn=404;function On(e){if(e instanceof pe&&e.status===Dn)return{state:"absent"};let t=e instanceof pe?e.status:-1,n=e instanceof Error?e.message:String(e);return{state:"failed",status:t,detail:n}}var Fn="[storefront:chrome-load-failed]";function Un(e,t){console.error(`${Fn} ${e} status=${t.status} \u2014 serving fallback chrome`,t.detail)}async function Mt(e,t,n,r){try{let i=await t();return r?.(i)?{value:i,outcome:{state:"absent"}}:{value:i,outcome:{state:"ok"}}}catch(i){let o=On(i);return o.state==="failed"&&Un(e,o),{value:n,outcome:o}}}function $n(e){return e==="production"?"silent":"banner"}var Po=$n("production");function qn(e,t){return e?.trim()||t}function ko({legalName:e,foundedYear:t,siteName:n},r=new Date().getFullYear()){let i=qn(e,n);return`\xA9 ${t&&t<r?`${t}\u2013${r}`:`${r}`} ${i}`}var Kn={name:me,legalName:null,foundedYear:null,faviconUrl:null,currencies:[],defaultCurrency:null,countries:[],defaultCountry:null,commerceEnabled:!0,cardPayments:!1,paymentMethods:[],paypalClientId:null,paypalEnvironment:null,squareApplicationId:null,squareLocationId:null,squareEnvironment:null,ga4MeasurementId:null,googleAdsId:null,googleAdsConversionLabel:null,metaPixelId:null,mapsApiKey:null,mapsMapId:null,socialLinks:De},Ao=Hn(async()=>At("site",()=>Mt("site",async()=>{let e=await H.getSite();return{name:et(e.name),legalName:e.legalName?.trim()||null,foundedYear:e.foundedYear??null,faviconUrl:e.faviconUrl??null,currencies:e.currencies??[],defaultCurrency:e.defaultCurrency??null,countries:e.countries??[],defaultCountry:e.defaultCountry??null,commerceEnabled:e.commerceEnabled??!0,cardPayments:e.cardPayments??!1,paymentMethods:e.paymentMethods??(e.cardPayments?["card"]:[]),paypalClientId:e.paypalClientId??null,paypalEnvironment:e.paypalEnvironment??null,squareApplicationId:e.squareApplicationId??null,squareLocationId:e.squareLocationId??null,squareEnvironment:e.squareEnvironment??null,ga4MeasurementId:e.ga4MeasurementId??null,googleAdsId:e.googleAdsId??null,googleAdsConversionLabel:(e.googleAdsId?e.googleAdsConversionLabel:null)??null,metaPixelId:e.metaPixelId??null,mapsApiKey:e.mapsApiKey??null,mapsMapId:e.mapsMapId??null,socialLinks:tt(e.socialLinks)}},Kn)));var Mo={name:me,legalName:null,foundedYear:null,faviconUrl:null,currencies:[{code:"USD",symbol:"$",decimalPlaces:2,isDefault:!0}],defaultCurrency:"USD",countries:[{code:"US",name:"United States",currency:"USD",url:"",isDefault:!0,chargeTax:!1,taxDisplay:"none",taxName:"",taxRate:null,postalLabel:"Zip Code"}],defaultCountry:"US",commerceEnabled:!0,cardPayments:!0,paymentMethods:["card"],paypalClientId:null,paypalEnvironment:null,squareApplicationId:null,squareLocationId:null,squareEnvironment:null,ga4MeasurementId:null,googleAdsId:null,googleAdsConversionLabel:null,metaPixelId:null,mapsApiKey:null,mapsMapId:null,socialLinks:De};import{jsx as Ot,jsxs as Ft}from"react/jsx-runtime";import{useEffect as Te,useRef as Ut,useState as Ne}from"react";var he=new Map,Wn=64;async function Bn(e){if(!Ze())return null;try{let t=await fetch(`${nt()}/logo-analysis.json?url=${encodeURIComponent(e)}`);if(!t.ok)return null;let n=await t.json();if(!n||typeof n!="object")return null;let{reversed:r,inkIsDark:i}=n;return typeof r!="string"?null:{reversed:r,inkIsDark:typeof i=="boolean"?i:null}}catch{return null}}function Dt(e){let t=he.get(e);if(t)return t;let n=Bn(e);if(he.set(e,n),he.size>Wn){let r=he.keys().next();r.done||he.delete(r.value)}return n}var zn={small:54,medium:66,large:84},Gn=44,Vn=202/22,Bo=16,zo=140,Xn=.88,Go=16,Yn="invert(1)";function Vo({variant:e="header",scrolled:t=!0,src:n,reverse:r=!1,onLightSurface:i,reversedSrc:o,inkIsDark:a,size:s="medium",sizePx:c,wordmark:u,siteName:p=me,fitToContainer:d=!1,fitWordmarkToContainer:S=!1,fitFloorPx:I}){let b=u&&u.trim()?u.trim():p,[x,w]=Ne(!1),N=Ut(null),M=P=>{N.current=P};Te(()=>{let P=N.current?.ownerDocument??document,U=()=>{w(P.documentElement.getAttribute("data-theme")==="light")};U();let X=new MutationObserver(U);return X.observe(P.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>X.disconnect()},[]);let C=n&&n.trim()?n.trim():null,L=!!C&&rt(C),v=i??(x&&t),q=r&&L&&C&&o!=null?{reversed:o,inkIsDark:a??null}:null,W=q!==null,[j,h]=Ne(null);Te(()=>{if(!r||!C||!L||W){h(null);return}let P=!1;return h(null),Dt(C).then(U=>{P||h(U)}),()=>{P=!0}},[r,C,L,W]);let E=q??j,m=!!E&&E.inkIsDark!==null&&(v?!E.inkIsDark:E.inkIsDark),K=r&&!!C&&!L&&!v,Q=m&&E?E.reversed:C,G=Q?[Q]:[],[A,J]=Ne(0);Te(()=>{J(0)},[C,m]);let Z=e==="footer"?Gn:zn[s],D=c&&c>0?c:Z,Ce=Math.round(D*Vn),O=A<G.length?G[A]:null,[Se,ee]=Ne(Q),se=O!==null&&O===Se,F=Ut(null);Te(()=>{let P=F.current;if(!P||!P.complete)return;if(P.naturalWidth>0||P.naturalHeight>0){ee(O);return}let U=!1;return P.decode().then(()=>!U&&ee(O),()=>!U&&J(X=>X+1)),()=>{U=!0}},[O]);let V=d||S,le=`calc(100cqi / ${((b.length+1)*Xn).toFixed(2)})`,te=V&&I&&I>0?Math.min(I,D):null,ve=V?te===null?`min(${D}px, ${le})`:`clamp(${te}px, ${le}, ${D}px)`:`${D}px`,ue=Ft("span",{className:`font-display font-bold tracking-[0.18em] ${te===null?"whitespace-nowrap":"whitespace-normal"}`,style:{fontSize:ve,lineHeight:1},"aria-label":b,children:[b,Ot("span",{className:"text-accent",children:"."})]});return Ft("span",{ref:M,className:"inline-flex items-center",children:[!se&&ue,O&&Ot("img",{ref:F,src:O,alt:b,width:Ce,height:D,className:"shrink-0 object-contain",style:{...se?{height:`${D}px`,width:"auto",...d?{maxWidth:"100cqi"}:{}}:{display:"none"},...K?{filter:Yn}:{}},onLoad:()=>ee(O),onError:()=>J(P=>P+1)},O)]})}import{jsx as be,jsxs as Qn}from"react/jsx-runtime";function jn({spokes:e,mesh:t=!1,className:n}){let a=c=>Math.round(c*1e3)/1e3,s=[];for(let c=0;c<e;c++){let u=c/e*Math.PI*2-Math.PI/2;if(s.push({x1:a(100+Math.cos(u)*22),y1:a(100+Math.sin(u)*22),x2:a(100+Math.cos(u)*86),y2:a(100+Math.sin(u)*86),main:!0}),t){let p=u+Math.PI/e;s.push({x1:a(100+Math.cos(p)*22*1.4),y1:a(100+Math.sin(p)*22*1.4),x2:a(100+Math.cos(p)*78),y2:a(100+Math.sin(p)*78),main:!1})}}return Qn("svg",{viewBox:"0 0 200 200",fill:"none",stroke:"currentColor",className:n??"block h-[70%] w-[70%] transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",children:[be("circle",{cx:100,cy:100,r:92,strokeWidth:2}),be("circle",{cx:100,cy:100,r:84,strokeWidth:1,opacity:.4}),be("circle",{cx:100,cy:100,r:22,strokeWidth:2}),be("circle",{cx:100,cy:100,r:6,fill:"currentColor"}),s.map((c,u)=>be("line",{x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,stroke:"currentColor",strokeWidth:c.main?6:3,strokeLinecap:"round",opacity:c.main?1:.5},u))]})}var Qo="#c9a461",$t=[{f:"black",label:"Black",hex:"#171717"},{f:"silver",label:"Silver",hex:"#cccccc"},{f:"bronze",label:"Bronze",hex:"#8a6438"},{f:"graphite",label:"Graphite",hex:"#3a3c3f"},{f:"red",label:"Candy Red",hex:"#7a0f14"}],Jo={name:"",color:"var(--fg)",family:"silver",src:""};function Jn(e,t){let n=r=>{let i=$t.findIndex(o=>o.f===r);return i===-1?$t.length:i};return n(e)-n(t)||e.localeCompare(t)}function Zo(e){let t=new Set;for(let n of e)for(let r of n.finishes??[])r?.family&&t.add(r.family);return[...t].sort(Jn)}import{useState as Zn}from"react";import{jsx as ae,jsxs as Ke}from"react/jsx-runtime";function er({customerEmail:e}){let{coupon:t,applyCoupon:n,removeCoupon:r,couponBusy:i}=Rt(),[o,a]=Zn("");async function s(){i||!o.trim()||(await n(o,e),a(""))}return Ke("div",{className:"flex flex-col gap-2",children:[t===null?Ke("div",{className:"flex border border-line",children:[ae("input",{type:"text",value:o,onChange:c=>a(c.target.value),onKeyDown:c=>{c.key==="Enter"&&(c.preventDefault(),s())},placeholder:"Coupon code","aria-label":"Coupon code",className:"flex-1 bg-transparent px-4 py-4 font-mono text-[11px] uppercase tracking-[0.18em] text-fg outline-none placeholder:text-fg-dim"}),ae("button",{type:"button",onClick:()=>{s()},disabled:i,className:"border-l border-line px-4 font-mono text-[10px] uppercase tracking-[0.26em] text-btn transition-colors hover:bg-btn hover:text-btn-ink disabled:cursor-wait disabled:opacity-60",children:i?"\u2026":"Apply"})]}):Ke("div",{className:["flex items-center justify-between gap-3 border px-4 py-3",t.valid?"border-accent":"border-line"].join(" "),style:t.valid?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[ae("span",{className:["font-mono text-[11px] uppercase tracking-[0.22em]",t.valid?"text-accent":t.deferred?"text-fg":"text-fg-dim line-through"].join(" "),children:t.code}),ae("button",{type:"button",onClick:r,"aria-label":`Remove coupon ${t.code}`,className:"font-mono text-[12px] text-fg-dim transition-colors hover:text-fg",children:"\u2715"})]}),t?.deferred?ae("p",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-fg-dim",children:yt}):t&&!t.valid&&t.message&&ae("p",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-alert",children:t.message})]})}function ai(){let e=typeof crypto<"u"?crypto:void 0;if(typeof e?.randomUUID=="function")return e.randomUUID();let t=new Uint8Array(16);if(typeof e?.getRandomValues=="function")e.getRandomValues(t);else for(let r=0;r<t.length;r++)t[r]=Math.floor(Math.random()*256);t[6]=t[6]&15|64,t[8]=t[8]&63|128;let n=Array.from(t,r=>r.toString(16).padStart(2,"0")).join("");return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`}import{Children as nr,isValidElement as rr,useEffect as qt,useId as or,useLayoutEffect as Bt,useRef as B,useState as Kt}from"react";var _e=(e,t)=>!!e[t]&&!e[t].disabled;function We(e,t,n){let r=e.length;for(let i=1;i<=r;i++){let o=((t+n*i)%r+r)%r;if(_e(e,o))return o}return t}function Be(e,t){return We(e,t===1?-1:e.length,t)}function ze(e,t){return _e(e,t)?t:Math.max(Be(e,1),0)}function Ht(e,t,n){let{open:r,focus:i}=e,o=a=>({...e,...a});if(t.length===1&&/\S/.test(t)){let a=e.typed+t.toLowerCase(),s=n.findIndex((c,u)=>_e(n,u)&&c.label.toLowerCase().startsWith(a));return{state:o({open:!0,typed:a,focus:s>=0?s:i}),handled:!0}}if(!r)return t==="ArrowDown"||t==="ArrowUp"||t==="Enter"||t===" "?{state:o({open:!0,typed:""}),handled:!0}:{state:e,handled:!1};switch(t){case"ArrowDown":return{state:o({focus:We(n,i,1)}),handled:!0};case"ArrowUp":return{state:o({focus:We(n,i,-1)}),handled:!0};case"Home":return{state:o({focus:Be(n,1)}),handled:!0};case"End":return{state:o({focus:Be(n,-1)}),handled:!0};case"Enter":case" ":return _e(n,i)?{state:o({open:!1,typed:""}),commit:i,refocus:!0,handled:!0}:{state:e,handled:!0};case"Escape":return{state:o({open:!1,typed:""}),refocus:!0,handled:!0};case"Tab":return{state:o({open:!1,typed:""}),handled:!1};default:return{state:e,handled:!1}}}import{placeMenu as ir}from"efficient-shell/ui";import{Fragment as dr,jsx as z,jsxs as zt}from"react/jsx-runtime";var Wt={body:"text-[length:var(--size-body,14px)]",label:"text-[length:var(--size-label,13px)]"};function ar({items:e,value:t,onPick:n,open:r,onOpen:i,onClose:o}){let[a,s]=Kt(!1),c=r!==void 0,u=c?r:a,[p,d]=Kt(0),S=B({text:"",timer:0}),I=B(null),b=B(null),x=B(null),w=or(),N=B(null),M=e.findIndex(h=>h.value===t),C=h=>{h!==u&&(c||s(h),h?i?.():o?.())},L=h=>{let E=e[h];!E||E.disabled||(n(E.value),C(!1),b.current?.focus())},v=h=>{let E={open:u,focus:u?p:ze(e,M),typed:S.current.text},m=Ht(E,h,e);return!m.handled&&m.state.open===u?!1:(m.state.typed!==E.typed&&(S.current.text=m.state.typed,window.clearTimeout(S.current.timer),S.current.timer=window.setTimeout(()=>{S.current.text=""},500)),d(m.state.focus),m.commit!==void 0?L(m.commit):C(m.state.open),m.refocus&&b.current?.focus(),m.handled)},q=B(v);q.current=v;let W=B(()=>C(!1));W.current=()=>C(!1);let j=h=>{u||(N.current=h.nativeEvent,q.current(h.key)&&h.preventDefault())};return qt(()=>{if(!u)return;let h=m=>{I.current?.contains(m.target)||W.current()},E=m=>{m!==N.current&&q.current(m.key)&&m.preventDefault()};return document.addEventListener("mousedown",h),document.addEventListener("keydown",E),()=>{document.removeEventListener("mousedown",h),document.removeEventListener("keydown",E)}},[u]),qt(()=>{u&&(S.current.text||d(ze(e,M)))},[u]),Bt(()=>{if(!u||!x.current)return;x.current.children.item(p)?.scrollIntoView({block:"nearest"})},[p,u]),{open:u,toggle:()=>C(!u),close:()=>C(!1),focusIdx:p,setFocusIdx:d,pick:h=>L(e.findIndex(E=>E.value===h)),wrapRef:I,triggerRef:b,listRef:x,listId:w,onTriggerKeyDown:j,activeId:u?`${w}-${p}`:void 0}}var sr={select:{list:"absolute left-0 top-full z-50 mt-1 max-h-[280px] w-max min-w-full overflow-y-auto border-2 border-accent bg-bg shadow-xl",item:(e,t,n)=>["px-3 py-3 font-mono text-[13px] font-semibold uppercase tracking-[0.1em] transition-colors whitespace-nowrap",n?"cursor-not-allowed opacity-40":"cursor-pointer",e&&!n?"bg-accent text-bg":"bg-bg text-fg"].join(" ")},cell:{list:"absolute left-0 top-full z-50 mt-1 max-h-[320px] w-max min-w-full overflow-y-auto border-2 border-accent bg-bg shadow-xl",item:e=>[`cursor-pointer whitespace-nowrap px-6 py-3 font-mono ${Wt.label} font-semibold uppercase tracking-[0.1em] transition-colors`,e?"bg-accent text-bg":"bg-bg text-fg"].join(" "),pickerMarker:!0},hairline:{list:"absolute left-0 top-full z-50 max-h-[320px] w-full overflow-y-auto border border-line bg-bg shadow-[0_6px_20px_rgba(0,0,0,0.10)]",item:(e,t)=>[`flex cursor-pointer items-center justify-between gap-4 border-b border-line px-4 py-3 text-left ${Wt.body} transition-colors last:border-b-0`,t?"border-fg font-medium text-fg":e?"border-fg text-fg":"text-fg-dim"].join(" "),pickerMarker:!0},region:{list:"absolute right-0 top-full z-[200] mt-2 flex min-w-[240px] flex-col border border-line bg-surface text-fg",item:(e,t,n,r)=>["flex w-full cursor-pointer items-center gap-3 px-4 py-3 text-left transition-colors","font-mono text-[13px] uppercase tracking-[0.18em]",e?"bg-surface-2 text-fg":"",r?"":"border-b border-line",t?"text-accent":""].join(" "),itemStyle:e=>e?void 0:{color:"color-mix(in oklab, currentColor 80%, transparent)"}}};function lr(e,t){Bt(()=>{let n=e.current,r=n?.ownerDocument.defaultView;if(!n||!r)return;let i=()=>{let o=n.style;o.top=o.bottom=o.marginTop=o.marginBottom=o.maxHeight=o.overflowY=o.translate="";let a=n.offsetParent??n.parentElement;if(!a)return;let s=a.getBoundingClientRect(),c=n.getBoundingClientRect(),u=Math.abs(c.right-s.right)<Math.abs(c.left-s.left)?"end":"start",p=ir({trigger:{left:s.left,right:s.right,top:s.top,bottom:s.bottom},menu:{width:c.width,height:c.height},bounds:{left:0,top:0,right:r.innerWidth,bottom:r.innerHeight},align:u,side:"bottom"});if(p.side==="top"){o.top="auto",o.bottom="100%",o.marginTop="0px";let S=p.top+Math.min(c.height,p.maxHeight);o.marginBottom=`${Math.max(0,s.top-S)}px`}p.maxHeight<c.height&&(o.maxHeight=`${p.maxHeight}px`,o.overflowY="auto");let d=p.left-c.left;d&&(o.translate=`${d}px`)};return i(),r.addEventListener("resize",i),r.addEventListener("scroll",i,!0),()=>{r.removeEventListener("resize",i),r.removeEventListener("scroll",i,!0)}},[e,t])}function ur({id:e,tone:t,items:n,value:r,focusIdx:i,onFocus:o,onPick:a,listRef:s,ariaLabel:c}){let u=sr[t],p=B(null);return lr(p,n.length),z("ul",{ref:d=>{p.current=d,s&&(s.current=d)},id:e,role:"listbox","aria-label":c,...u.pickerMarker?{"data-picker-menu":""}:{},className:u.list,children:n.map((d,S)=>{let I=d.value===r;return z("li",{id:`${e}-${S}`,role:"option","aria-selected":I,"aria-disabled":d.disabled||void 0,onMouseEnter:()=>!d.disabled&&o(S),onMouseDown:b=>{b.preventDefault(),d.disabled||a(d.value)},className:u.item(S===i,I&&d.value!=="",!!d.disabled,S===n.length-1),style:u.itemStyle?.(I),children:d.meta===void 0?d.label:zt(dr,{children:[d.lead,z("span",{className:"flex-1 whitespace-nowrap",children:d.label}),z("span",{className:"ml-auto text-[12px] opacity-50",children:d.meta})]})},`${d.value}_${S}`)})})}function cr({value:e,onChange:t,disabled:n,children:r,className:i,style:o,name:a,id:s,"aria-label":c}){let u=nr.toArray(r).flatMap(b=>{if(!rr(b))return[];if(b.type!=="option")return[];let w=b.props,N=w.value!==void 0?String(w.value):"",M=w.children,C=typeof M=="string"||typeof M=="number"?String(M):N;return[{value:N,label:C,disabled:!!w.disabled}]}),p=e??"",d=ar({items:u,value:p,onPick:b=>t?.({target:{value:b}})}),I=u.find(b=>b.value===p)?.label??u[0]?.label??"";return zt("div",{ref:d.wrapRef,className:"relative",children:[a&&z("input",{type:"hidden",name:a,value:p}),z("button",{ref:b=>{d.triggerRef.current=b},type:"button",disabled:n,"aria-haspopup":"listbox","aria-expanded":d.open,"aria-controls":d.open?d.listId:void 0,"aria-activedescendant":d.activeId,"aria-label":c,id:s,onClick:()=>!n&&d.toggle(),onKeyDown:b=>!n&&d.onTriggerKeyDown(b),className:`block w-full ${i??""}`,style:o,children:z("span",{className:"block w-full truncate text-left",children:I})}),d.open&&z(ur,{id:d.listId,tone:"select",items:u,value:p,focusIdx:d.focusIdx,onFocus:d.setFocusIdx,onPick:d.pick,listRef:d.listRef})]})}import{jsx as xe,jsxs as Re}from"react/jsx-runtime";var mr="font-mono text-[length:var(--size-label,12px)]",pr="font-semibold uppercase tracking-[0.22em] text-fg";function Gt(e){return`${e??mr} ${pr}`}function Vt(){return xe("span",{className:"text-accent",children:" *"})}function fr({children:e,required:t,labelFace:n}){return Re("span",{className:Gt(n),children:[e,t?xe(Vt,{}):null]})}function gr({label:e,required:t,hint:n,separate:r,htmlFor:i,labelFace:o,className:a,children:s}){let c=a?`flex flex-col gap-2 ${a}`:"flex flex-col gap-2",u=n?xe("span",{className:"font-mono text-[11px] uppercase tracking-[0.22em] text-fg-dim",children:n}):null;return r||n?Re("div",{className:c,children:[Re("label",{htmlFor:i,className:Gt(o),children:[e,t?xe(Vt,{}):null]}),s,u]}):Re("label",{htmlFor:i,className:c,children:[xe(fr,{required:t,labelFace:o,children:e}),s]})}export{Rr as a,kr as b,Ar as c,st as d,Oe as e,yr as f,hr as g,br as h,xr as i,tn as j,nn as k,Cr as l,Sr as m,Fe as n,Pe as o,fe as p,vr as q,Ie as r,dn as s,mn as t,Fr as u,Ur as v,bt as w,$e as x,$r as y,Hr as z,fn as A,qr as B,Kr as C,gn as D,Wr as E,hn as F,Br as G,zr as H,xt as I,Qr as J,Jr as K,Zr as L,no as M,ro as N,Lr as O,pt as P,we as Q,qe as R,yo as S,Rt as T,ko as U,Kn as V,Mo as W,zn as X,Gn as Y,Bo as Z,zo as _,Go as $,Vo as aa,jn as ba,Qo as ca,$t as da,Jo as ea,Jn as fa,Zo as ga,er as ha,ai as ia,ar as ja,ur as ka,cr as la,fr as ma,gr as na};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as d,c as p,d as S,q as b,s as T}from"./chunk-CLMOO7LL.js";import"./chunk-CABIEVEL.js";import"./chunk-Y6SLVHK3.js";var v={generatedAt:"2026-06-28T04:33:14.721Z",region:"audm",upstreamHits:80,makes:[{slug:"abarth",name:"Abarth"},{slug:"aion",name:"Aion"},{slug:"alfa-romeo",name:"Alfa Romeo"},{slug:"alpine",name:"Alpine"},{slug:"aston-martin",name:"Aston Martin"},{slug:"audi",name:"Audi"},{slug:"bentley",name:"Bentley"},{slug:"bmw",name:"BMW"},{slug:"bmw-alpina",name:"BMW Alpina"},{slug:"byd",name:"BYD"},{slug:"cadillac",name:"Cadillac"},{slug:"chery",name:"Chery"},{slug:"citroen",name:"Citro\xEBn"},{slug:"cupra",name:"Cupra"},{slug:"daihatsu",name:"Daihatsu"},{slug:"datsun",name:"Datsun"},{slug:"deepal",name:"Deepal"},{slug:"denza",name:"Denza"},{slug:"dodge",name:"Dodge"},{slug:"ds",name:"DS"},{slug:"ferrari",name:"Ferrari"},{slug:"fiat",name:"Fiat"},{slug:"ford",name:"Ford"},{slug:"foton",name:"Foton"},{slug:"geely",name:"Geely"},{slug:"genesis",name:"Genesis"},{slug:"great-wall",name:"Great Wall (GWM)"},{slug:"haval",name:"Haval"},{slug:"holden",name:"Holden"},{slug:"honda",name:"Honda"},{slug:"hyundai",name:"Hyundai"},{slug:"ineos",name:"Ineos"},{slug:"isuzu",name:"Isuzu"},{slug:"iveco",name:"Iveco"},{slug:"jac",name:"JAC"},{slug:"jaecoo",name:"Jaecoo"},{slug:"jaguar",name:"Jaguar"},{slug:"jeep",name:"Jeep"},{slug:"kg-mobility",name:"KGM"},{slug:"kia",name:"Kia"},{slug:"lamborghini",name:"Lamborghini"},{slug:"land-rover",name:"Land Rover"},{slug:"ldv",name:"LDV"},{slug:"leapmotor",name:"Leapmotor"},{slug:"lexus",name:"Lexus"},{slug:"lotus",name:"Lotus"},{slug:"mahindra",name:"Mahindra"},{slug:"maserati",name:"Maserati"},{slug:"mazda",name:"Mazda"},{slug:"mclaren",name:"McLaren"},{slug:"mercedes",name:"Mercedes-Benz"},{slug:"mercedes-maybach",name:"Mercedes-Maybach"},{slug:"mg",name:"MG"},{slug:"mini",name:"MINI"},{slug:"mitsubishi",name:"Mitsubishi"},{slug:"nissan",name:"Nissan"},{slug:"omoda",name:"Omoda"},{slug:"opel",name:"Opel"},{slug:"ora",name:"Ora"},{slug:"peugeot",name:"Peugeot"},{slug:"polaris",name:"Polaris"},{slug:"polestar",name:"Polestar"},{slug:"porsche",name:"Porsche"},{slug:"proton",name:"Proton"},{slug:"ram",name:"Ram"},{slug:"renault",name:"Renault"},{slug:"seat",name:"Seat"},{slug:"skoda",name:"Skoda"},{slug:"smart",name:"Smart"},{slug:"ssangyong",name:"SsangYong"},{slug:"subaru",name:"Subaru"},{slug:"suzuki",name:"Suzuki"},{slug:"tank",name:"Tank"},{slug:"tesla",name:"Tesla"},{slug:"toyota",name:"Toyota"},{slug:"triumph",name:"Triumph"},{slug:"volkswagen",name:"Volkswagen"},{slug:"volvo",name:"Volvo"},{slug:"zeekr",name:"Zeekr"}],models:{abarth:[{slug:"500e",name:"500e"},{slug:"695",name:"695"},{slug:"695c",name:"695C"}],aion:[{slug:"ut",name:"UT"}],"alfa-romeo":[{slug:"giulia",name:"Giulia"},{slug:"junior",name:"Junior"},{slug:"stelvio",name:"Stelvio"},{slug:"tonale",name:"Tonale"}],alpine:[{slug:"a110",name:"A110"},{slug:"a390",name:"A390"}],"aston-martin":[{slug:"db11",name:"DB11"},{slug:"db12",name:"DB12"},{slug:"dbs-770-ultimate",name:"DBS 770 Ultimate"},{slug:"dbs-superleggera",name:"DBS Superleggera"},{slug:"dbx",name:"DBX"},{slug:"dbx-s",name:"DBX S"},{slug:"dbx707",name:"DBX707"},{slug:"v12-vantage",name:"V12 Vantage"},{slug:"valhalla",name:"Valhalla"},{slug:"valour",name:"Valour"},{slug:"vanquish",name:"Vanquish"},{slug:"vantage",name:"Vantage"},{slug:"vantage-s",name:"Vantage S"}],audi:[{slug:"5-5",name:"5+5"},{slug:"a1",name:"A1"},{slug:"a3",name:"A3"},{slug:"a4",name:"A4"},{slug:"a4-allroad",name:"A4 Allroad"},{slug:"a5",name:"A5"},{slug:"a6",name:"A6"},{slug:"a6-allroad",name:"A6 Allroad"},{slug:"a7",name:"A7"},{slug:"a8",name:"A8"},{slug:"allroad",name:"Allroad"},{slug:"e-tron",name:"e-tron"},{slug:"e-tron-gt",name:"e-tron GT"},{slug:"e-tron-s",name:"e-tron S"},{slug:"e-tron-s-sportback",name:"e-tron S Sportback"},{slug:"e-tron-sportback",name:"e-tron Sportback"},{slug:"q2",name:"Q2"},{slug:"q3",name:"Q3"},{slug:"q3-sportback",name:"Q3 Sportback"},{slug:"q4",name:"Q4 e-tron"},{slug:"q4-sportback",name:"Q4 Sportback e-tron"},{slug:"q5",name:"Q5"},{slug:"q5-sportback",name:"Q5 Sportback"},{slug:"q6-e-tron",name:"Q6 e-tron"},{slug:"q7",name:"Q7"},{slug:"q8",name:"Q8"},{slug:"q8-e-tron",name:"Q8 e-tron"},{slug:"q8-sportback-e-tron",name:"Q8 Sportback e-tron"},{slug:"r8",name:"R8"},{slug:"rs-e-tron-gt",name:"RS e-tron GT"},{slug:"rs-q3",name:"RS Q3"},{slug:"rs-q3-sportback",name:"RS Q3 Sportback"},{slug:"rs-q8",name:"RS Q8"},{slug:"rs3",name:"RS3"},{slug:"rs4",name:"RS4"},{slug:"rs5",name:"RS5"},{slug:"rs6",name:"RS6"},{slug:"rs7",name:"RS7"},{slug:"s-e-tron-gt",name:"S e-tron GT"},{slug:"s1",name:"S1"},{slug:"s3",name:"S3"},{slug:"s4",name:"S4"},{slug:"s5",name:"S5"},{slug:"s6",name:"S6"},{slug:"s7",name:"S7"},{slug:"s8",name:"S8"},{slug:"sq2",name:"SQ2"},{slug:"sq5",name:"SQ5"},{slug:"sq5-sportback",name:"SQ5 Sportback"},{slug:"sq6-e-tron",name:"SQ6 e-tron"},{slug:"sq7",name:"SQ7"},{slug:"sq8",name:"SQ8"},{slug:"sq8-e-tron",name:"SQ8 e-tron"},{slug:"sq8-sportback-e-tron",name:"SQ8 Sportback e-tron"},{slug:"tt",name:"TT"},{slug:"tt-rs",name:"TT RS"},{slug:"tts",name:"TT S"}],bentley:[{slug:"bentayga",name:"Bentayga"},{slug:"continental-gt",name:"Continental GT"},{slug:"continental-gtc",name:"Continental GTC"},{slug:"flying-spur",name:"Flying Spur"}],bmw:[{slug:"1-series",name:"1 Series"},{slug:"2-series",name:"2 Series"},{slug:"2-series-active-tourer",name:"2 Series Active Tourer"},{slug:"2-series-gran-coupe",name:"2 Series Gran Coupe"},{slug:"3-series",name:"3 Series"},{slug:"3-series-gran-turismo",name:"3 Series Gran Turismo"},{slug:"4-series",name:"4 Series"},{slug:"4-series-gran-coupe",name:"4 Series Gran Coupe"},{slug:"5-series",name:"5 Series"},{slug:"5-series-gran-turismo",name:"5 Series Gran Turismo"},{slug:"6-series",name:"6 Series"},{slug:"7-series",name:"7 Series"},{slug:"8-series",name:"8 Series"},{slug:"i4",name:"i4"},{slug:"i5",name:"i5"},{slug:"i7",name:"i7"},{slug:"ix",name:"iX"},{slug:"ix1",name:"iX1"},{slug:"ix2",name:"iX2"},{slug:"ix3",name:"iX3"},{slug:"m2",name:"M2"},{slug:"m3",name:"M3"},{slug:"m4",name:"M4"},{slug:"m5",name:"M5"},{slug:"m8",name:"M8"},{slug:"x1",name:"X1"},{slug:"x2",name:"X2"},{slug:"x3",name:"X3"},{slug:"x3-m",name:"X3 M"},{slug:"x4",name:"X4"},{slug:"x4-m",name:"X4 M"},{slug:"x5",name:"X5"},{slug:"x5-m",name:"X5 M"},{slug:"x6",name:"X6"},{slug:"x6-m",name:"X6 M"},{slug:"x7",name:"X7"},{slug:"xm",name:"XM"},{slug:"z4",name:"Z4"}],"bmw-alpina":[{slug:"b10",name:"B10"},{slug:"b3",name:"B3"},{slug:"b4",name:"B4"},{slug:"b8",name:"B8"},{slug:"xb7",name:"XB7"},{slug:"xd3",name:"XD3"}],byd:[{slug:"atto-1",name:"Atto 1"},{slug:"atto-3",name:"Atto 3"},{slug:"sea-lion-6",name:"Sealion 6"},{slug:"seal",name:"Seal"},{slug:"sealion-5",name:"Sealion 5"},{slug:"sealion-7",name:"Sealion 7"},{slug:"sealion-8",name:"Sealion 8"},{slug:"shark-6",name:"Shark 6"}],cadillac:[{slug:"lyriq",name:"Lyriq"}],chery:[{slug:"j1",name:"J1"},{slug:"j11",name:"J11"},{slug:"j3",name:"J3"},{slug:"omoda-5",name:"Omoda 5"},{slug:"omoda-5-gt",name:"Omoda 5 GT"},{slug:"omoda-e5",name:"Omoda E5"},{slug:"tiggo-4",name:"Tiggo 4"},{slug:"tiggo-4-pro",name:"Tiggo 4 Pro"},{slug:"tiggo-7",name:"Tiggo 7"},{slug:"tiggo-7-pro",name:"Tiggo 7 Pro"},{slug:"tiggo-8",name:"Tiggo 8"},{slug:"tiggo-8-pro-max",name:"Tiggo 8 Pro Max"}],citroen:[{slug:"c3",name:"C3"},{slug:"c3-aircross",name:"C3 Aircross"},{slug:"c4",name:"C4"},{slug:"c5-aircross",name:"C5 Aircross"}],cupra:[{slug:"ateca",name:"Ateca"},{slug:"born",name:"Born"},{slug:"formentor",name:"Formentor"},{slug:"leon",name:"Leon"},{slug:"tavascan",name:"Tavascan"},{slug:"terramar",name:"Terramar"}],daihatsu:[{slug:"charade",name:"Charade"}],datsun:[{slug:"240z",name:"240Z"},{slug:"260z",name:"260Z"},{slug:"280z",name:"280Z"},{slug:"280zx",name:"280ZX"}],deepal:[{slug:"e07",name:"E07"},{slug:"s07",name:"S07"}],denza:[{slug:"b5",name:"B5"},{slug:"b8",name:"B8"},{slug:"d9",name:"D9"}],dodge:[{slug:"avenger",name:"Avenger"}],ds:[{slug:"ds-3",name:"DS 3"},{slug:"ds-4",name:"DS 4"},{slug:"ds-7",name:"DS 7"}],ferrari:[{slug:"12cilindri",name:"12Cilindri"},{slug:"12cilindri-spider",name:"12Cilindri Spider"},{slug:"296-gt3",name:"296 GT3"},{slug:"296-gtb",name:"296 GTB"},{slug:"296-gts",name:"296 GTS"},{slug:"296-speciale",name:"296 Speciale"},{slug:"296-speciale-a",name:"296 Speciale A"},{slug:"458-italia",name:"458 Italia"},{slug:"458-speciale",name:"458 Speciale"},{slug:"458-speciale-a",name:"458 Speciale A"},{slug:"458-spider",name:"458 Spider"},{slug:"488-gtb",name:"488 GTB"},{slug:"488-pista",name:"488 Pista"},{slug:"488-pista-spider",name:"488 Pista Spider"},{slug:"488-spider",name:"488 Spider"},{slug:"812-competizione",name:"812 Competizione"},{slug:"812-competizione-a",name:"812 Competizione A"},{slug:"812-gts",name:"812 GTS"},{slug:"812-superfast",name:"812 Superfast"},{slug:"849-testarossa",name:"849 Testarossa"},{slug:"amalfi",name:"Amalfi"},{slug:"daytona-sp3",name:"Daytona SP3"},{slug:"f8-spider",name:"F8 Spider"},{slug:"f8-tributo",name:"F8 Tributo"},{slug:"f80",name:"F80"},{slug:"ff",name:"FF"},{slug:"gtc4-lusso",name:"GTC4Lusso"},{slug:"monza-sp1",name:"Monza SP1"},{slug:"monza-sp2",name:"Monza SP2"},{slug:"portofino",name:"Portofino"},{slug:"roma",name:"Roma"},{slug:"sf90-spider",name:"SF90 Spider"},{slug:"sf90-stradale",name:"SF90 Stradale"},{slug:"sf90-xx-spider",name:"SF90 XX Spider"},{slug:"sf90-xx-stradale",name:"SF90 XX Stradale"}],fiat:[{slug:"500",name:"500"},{slug:"500c",name:"500C"},{slug:"500e",name:"500e"},{slug:"595",name:"595"},{slug:"695",name:"695"},{slug:"ducato",name:"Ducato"},{slug:"ritmo",name:"Ritmo"}],ford:[{slug:"capri",name:"Capri"},{slug:"cougar",name:"Cougar"},{slug:"courier",name:"Courier"},{slug:"e-transit",name:"E-Transit"},{slug:"endura",name:"Endura"},{slug:"escape",name:"Escape"},{slug:"everest",name:"Everest"},{slug:"f-150",name:"F-150"},{slug:"fairlane",name:"Fairlane"},{slug:"fairmont",name:"Fairmont"},{slug:"falcon",name:"Falcon"},{slug:"fiesta",name:"Fiesta"},{slug:"laser",name:"Laser"},{slug:"ltd",name:"LTD"},{slug:"mustang",name:"Mustang"},{slug:"mustang-mach-e",name:"Mustang Mach-E"},{slug:"probe",name:"Probe"},{slug:"puma",name:"Puma"},{slug:"ranger",name:"Ranger"},{slug:"taurus",name:"Taurus"},{slug:"territory",name:"Territory"},{slug:"tourneo-custom",name:"Tourneo Custom"},{slug:"transit",name:"Transit"},{slug:"transit-custom",name:"Transit Custom"}],foton:[{slug:"tunland",name:"Tunland"}],geely:[{slug:"ex5",name:"EX5"},{slug:"riddara-rd6",name:"Riddara RD6"},{slug:"starray-em-i",name:"Starray EM-i"}],genesis:[{slug:"g70",name:"G70"},{slug:"g80",name:"G80"},{slug:"gv60",name:"GV60"},{slug:"gv70",name:"GV70"},{slug:"gv80",name:"GV80"}],"great-wall":[{slug:"cannon",name:"Cannon"},{slug:"cannon-alpha",name:"Cannon Alpha"},{slug:"ora",name:"Ora"},{slug:"steed",name:"Steed"},{slug:"ute",name:"Ute"}],haval:[{slug:"h6",name:"H6"},{slug:"h6gt",name:"H6 GT"},{slug:"jolion",name:"Jolion"},{slug:"jolion-s",name:"Jolion S"}],holden:[{slug:"acadia",name:"Acadia"},{slug:"adventra",name:"Adventra"},{slug:"apollo",name:"Apollo"},{slug:"astra",name:"Astra"},{slug:"astra-gtc",name:"Astra GTC"},{slug:"astra-vxr",name:"Astra VXR"},{slug:"barina",name:"Barina"},{slug:"barina-spark",name:"Barina Spark"},{slug:"caprice",name:"Caprice"},{slug:"captiva",name:"Captiva"},{slug:"captiva-5",name:"Captiva 5"},{slug:"captiva-7",name:"Captiva 7"},{slug:"cascada",name:"Cascada"},{slug:"colorado",name:"Colorado"},{slug:"colorado-7",name:"Colorado 7"},{slug:"commodore",name:"Commodore"},{slug:"crewman",name:"Crewman"},{slug:"cruze",name:"Cruze"},{slug:"equinox",name:"Equinox"},{slug:"frontera",name:"Frontera"},{slug:"insignia-vxr",name:"Insignia VXR"},{slug:"jackaroo",name:"Jackaroo"},{slug:"malibu",name:"Malibu"},{slug:"monaro",name:"Monaro"},{slug:"one-tonner",name:"One Tonner"},{slug:"rodeo",name:"Rodeo"},{slug:"spark",name:"Spark"},{slug:"suburban",name:"Suburban"},{slug:"tigra",name:"Tigra"},{slug:"trailblazer",name:"Trailblazer"},{slug:"trax",name:"Trax"},{slug:"ute",name:"Ute"},{slug:"vectra",name:"Vectra"},{slug:"viva",name:"Viva"},{slug:"volt",name:"Volt"},{slug:"zafira",name:"Zafira"}],honda:[{slug:"accord",name:"Accord"},{slug:"accord-euro",name:"Accord Euro"},{slug:"city",name:"City"},{slug:"civic",name:"Civic"},{slug:"civic-5d",name:"Civic 5d"},{slug:"civic-type-r",name:"Civic Type R"},{slug:"cr-v",name:"CR-V"},{slug:"hr-v",name:"HR-V"},{slug:"jazz",name:"Jazz"},{slug:"jazz-crosstar",name:"Jazz Crosstar"},{slug:"legend",name:"Legend"},{slug:"odyssey",name:"Odyssey"},{slug:"s2000",name:"S2000"},{slug:"zr-v",name:"ZR-V"}],hyundai:[{slug:"accent",name:"Accent"},{slug:"elantra",name:"Elantra"},{slug:"elantra-lavita",name:"Elantra LaVita"},{slug:"i20-n",name:"i20 N"},{slug:"i30",name:"i30"},{slug:"i30-fastback-n",name:"i30 Fastback N"},{slug:"i30-n",name:"i30 N"},{slug:"i30-sedan",name:"i30 Sedan"},{slug:"i30-sedan-n",name:"i30 Sedan N"},{slug:"i45",name:"i45"},{slug:"iload",name:"iLoad"},{slug:"imax",name:"iMax"},{slug:"inster",name:"Inster"},{slug:"ioniq",name:"IONIQ"},{slug:"ioniq-5",name:"IONIQ 5"},{slug:"ioniq-5-n",name:"IONIQ 5 N"},{slug:"ioniq-6",name:"IONIQ 6"},{slug:"ioniq-6-n",name:"IONIQ 6 N"},{slug:"ioniq-9",name:"IONIQ 9"},{slug:"ix35",name:"ix35"},{slug:"kona",name:"Kona"},{slug:"kona-n",name:"Kona N"},{slug:"mighty",name:"Mighty"},{slug:"nexo",name:"Nexo"},{slug:"palisade",name:"Palisade"},{slug:"santa-fe",name:"Santa Fe"},{slug:"sonata",name:"Sonata"},{slug:"staria",name:"Staria"},{slug:"tucson",name:"Tucson"},{slug:"venue",name:"Venue"}],ineos:[{slug:"grenadier",name:"Grenadier"}],isuzu:[{slug:"d-max",name:"D-MAX"},{slug:"mu-x",name:"mu-X"}],iveco:[{slug:"daily",name:"Daily"}],jac:[{slug:"t9",name:"T9"}],jaecoo:[{slug:"j5",name:"J5"},{slug:"j7",name:"J7"}],jaguar:[{slug:"e-pace",name:"E-Pace"},{slug:"f-pace",name:"F-Pace"},{slug:"f-type",name:"F-Type"},{slug:"i-pace",name:"I-Pace"},{slug:"xe",name:"XE"},{slug:"xf",name:"XF"}],jeep:[{slug:"avenger",name:"Avenger"},{slug:"cherokee",name:"Cherokee"},{slug:"compass",name:"Compass"},{slug:"gladiator",name:"Gladiator"},{slug:"grand-cherokee",name:"Grand Cherokee"},{slug:"grand-cherokee-l",name:"Grand Cherokee L"},{slug:"renegade",name:"Renegade"},{slug:"wrangler",name:"Wrangler"}],"kg-mobility":[{slug:"actyon",name:"Actyon"},{slug:"korando",name:"Korando"},{slug:"musso",name:"Musso"},{slug:"musso-ev",name:"Musso EV"},{slug:"rexton",name:"Rexton"},{slug:"torres",name:"Torres"}],kia:[{slug:"carnival",name:"Carnival"},{slug:"cerato",name:"Cerato"},{slug:"ev3",name:"EV3"},{slug:"ev4",name:"EV4"},{slug:"ev5",name:"EV5"},{slug:"ev6",name:"EV6"},{slug:"ev9",name:"EV9"},{slug:"grand-carnival",name:"Grand Carnival"},{slug:"k4",name:"K4"},{slug:"mentor",name:"Mentor"},{slug:"niro",name:"Niro"},{slug:"niro-plus",name:"Niro Plus"},{slug:"optima",name:"Optima"},{slug:"picanto",name:"Picanto"},{slug:"picanto-x-line",name:"Picanto X-Line"},{slug:"rio",name:"Rio"},{slug:"rondo",name:"Rondo"},{slug:"seltos",name:"Seltos"},{slug:"sorento",name:"Sorento"},{slug:"sportage",name:"Sportage"},{slug:"stinger",name:"Stinger"},{slug:"stonic",name:"Stonic"},{slug:"tasman",name:"Tasman"}],lamborghini:[{slug:"aventador",name:"Aventador"},{slug:"countach",name:"Countach"},{slug:"huracan",name:"Huracan"},{slug:"revuelto",name:"Revuelto"},{slug:"sian",name:"Sian"},{slug:"temerario",name:"Temerario"},{slug:"urus",name:"Urus"}],"land-rover":[{slug:"defender",name:"Defender"},{slug:"discovery-5",name:"Discovery 5"},{slug:"discovery-sport",name:"Discovery Sport"},{slug:"range-rover",name:"Range Rover"},{slug:"range-rover-evoque",name:"Range Rover Evoque"},{slug:"range-rover-sport",name:"Range Rover Sport"},{slug:"range-rover-velar",name:"Range Rover Velar"}],ldv:[{slug:"d90",name:"D90"},{slug:"deliver-7",name:"Deliver 7"},{slug:"deliver-9",name:"Deliver 9"},{slug:"edeliver-3",name:"eDeliver 3"},{slug:"edeliver-7",name:"eDeliver 7"},{slug:"edeliver-9",name:"eDeliver 9"},{slug:"et60",name:"eT60"},{slug:"g10",name:"G10"},{slug:"mifa",name:"Mifa People Mover"},{slug:"mifa-9",name:"Mifa 9"},{slug:"t60",name:"T60"},{slug:"terron-9",name:"Terron 9"},{slug:"v80",name:"V80"}],leapmotor:[{slug:"b10",name:"B10"},{slug:"c10",name:"C10"}],lexus:[{slug:"es",name:"ES"},{slug:"gx",name:"GX"},{slug:"is",name:"IS"},{slug:"lbx",name:"LBX"},{slug:"lc",name:"LC"},{slug:"lm",name:"LM"},{slug:"ls",name:"LS"},{slug:"lx",name:"LX"},{slug:"nx",name:"NX"},{slug:"rc-f",name:"RC F"},{slug:"rx",name:"RX"},{slug:"rz",name:"RZ"},{slug:"ux",name:"UX"}],lotus:[{slug:"eletre",name:"Eletre"},{slug:"emeya",name:"Emeya"},{slug:"emira",name:"Emira"},{slug:"evija",name:"Evija"}],mahindra:[{slug:"genio",name:"Genio"},{slug:"pik-up",name:"Pik Up"},{slug:"scorpio-n",name:"Scorpio-N"},{slug:"xuv500",name:"XUV500"},{slug:"xuv700",name:"XUV700"}],maserati:[{slug:"ghibli",name:"Ghibli"},{slug:"gran-turismo",name:"GranTurismo"},{slug:"grancabrio",name:"GranCabrio"},{slug:"grecale",name:"Grecale"},{slug:"gt2-stradale",name:"GT2 Stradale"},{slug:"levante",name:"Levante"},{slug:"mc20",name:"MC20"},{slug:"mcpura",name:"MCPura"},{slug:"quattroporte",name:"Quattroporte"}],mazda:[{slug:"6e",name:"6e"},{slug:"929",name:"929"},{slug:"bravo",name:"Bravo"},{slug:"bt-50",name:"BT-50"},{slug:"cx-3",name:"CX-3"},{slug:"cx-30",name:"CX-30"},{slug:"cx-5",name:"CX-5"},{slug:"cx-60",name:"CX-60"},{slug:"cx-70",name:"CX-70"},{slug:"cx-8",name:"CX-8"},{slug:"cx-80",name:"CX-80"},{slug:"cx-9",name:"CX-9"},{slug:"cx-90",name:"CX-90"},{slug:"mazda2",name:"Mazda2"},{slug:"mazda3",name:"Mazda3"},{slug:"mazda3-mps",name:"Mazda3 MPS"},{slug:"mazda6",name:"Mazda6"},{slug:"mx-30",name:"MX-30"},{slug:"mx-5",name:"MX-5"},{slug:"mx-5-rf",name:"MX-5 RF"},{slug:"rx-7",name:"RX-7"}],mclaren:[{slug:"720s",name:"720S"},{slug:"720s-spider",name:"720S Spider"},{slug:"750s",name:"750S"},{slug:"765lt",name:"765LT"},{slug:"765lt-spider",name:"765LT Spider"},{slug:"artura",name:"Artura"},{slug:"gt",name:"GT"},{slug:"gts",name:"GTS"},{slug:"mp4-12c",name:"Mp4-12C"},{slug:"senna",name:"Senna"},{slug:"speedtail",name:"Speedtail"},{slug:"w1",name:"W1"}],mercedes:[{slug:"a-class",name:"A-Class"},{slug:"a-class-amg",name:"A-Class AMG"},{slug:"c-class",name:"C-Class"},{slug:"c-class-amg",name:"C-Class AMG"},{slug:"cla-class",name:"CLA-Class"},{slug:"cla-class-amg",name:"CLA-Class AMG"},{slug:"cle-class",name:"CLE-Class"},{slug:"cls-class-amg",name:"CLS-Class AMG"},{slug:"e-class",name:"E-Class"},{slug:"e-class-amg",name:"E-Class AMG"},{slug:"e-class-cabrio",name:"E-Class Cabriolet"},{slug:"e-class-coupe",name:"E-Class Coupe"},{slug:"eqa",name:"EQA"},{slug:"eqb",name:"EQB"},{slug:"eqc",name:"EQC"},{slug:"eqe",name:"EQE"},{slug:"eqe-amg",name:"EQE AMG"},{slug:"eqe-suv",name:"EQE SUV"},{slug:"eqe-suv-amg",name:"EQE SUV AMG"},{slug:"eqs",name:"EQS"},{slug:"eqs-amg",name:"EQS AMG"},{slug:"eqs-suv",name:"EQS SUV"},{slug:"eqv",name:"EQV"},{slug:"g-class",name:"G-Class"},{slug:"g-class-amg",name:"G-Class AMG"},{slug:"gla",name:"GLA-Class"},{slug:"gla-class-amg",name:"GLA-Class AMG"},{slug:"glb",name:"GLB-Class"},{slug:"glb-class-amg",name:"GLB-Class AMG"},{slug:"glc",name:"GLC-Class"},{slug:"glc-class-amg",name:"GLC-Class AMG"},{slug:"glc-class-coupe",name:"GLC-Class Coupe"},{slug:"glc-class-coupe-amg",name:"GLC-Class Coupe AMG"},{slug:"gle-class",name:"GLE-Class"},{slug:"gle-class-amg",name:"GLE-Class AMG"},{slug:"gle-class-coupe",name:"GLE-Class Coupe"},{slug:"gle-class-coupe-amg",name:"GLE-Class Coupe AMG"},{slug:"gls-class",name:"GLS-Class"},{slug:"gls-class-amg",name:"GLS-Class AMG"},{slug:"s-class",name:"S-Class"},{slug:"sprinter",name:"Sprinter"},{slug:"v-class",name:"V-Class"},{slug:"x-class",name:"X-Class"}],"mercedes-maybach":[{slug:"eqs",name:"EQS"},{slug:"gls-class",name:"GLS-Class"},{slug:"s-class",name:"S-Class"}],mg:[{slug:"3",name:"3"},{slug:"350",name:"350"},{slug:"4",name:"4"},{slug:"5",name:"5"},{slug:"6",name:"6"},{slug:"cyberster",name:"Cyberster"},{slug:"gs",name:"GS"},{slug:"hs",name:"HS"},{slug:"im5",name:"IM5"},{slug:"im6",name:"IM6"},{slug:"qs",name:"QS"},{slug:"s5",name:"S5"},{slug:"u9",name:"MGU9"},{slug:"zs",name:"ZS"},{slug:"zs-ev",name:"ZS EV"},{slug:"zst",name:"ZST"}],mini:[{slug:"aceman",name:"Aceman"},{slug:"clubman",name:"Clubman"},{slug:"convertible",name:"Convertible"},{slug:"cooper",name:"Cooper"},{slug:"countryman",name:"Countryman"},{slug:"hatch",name:"Hatch"}],mitsubishi:[{slug:"asx",name:"ASX"},{slug:"challenger",name:"Challenger"},{slug:"eclipse-cross",name:"Eclipse Cross"},{slug:"express",name:"Express"},{slug:"l200",name:"L200"},{slug:"magna",name:"Magna"},{slug:"mirage",name:"Mirage"},{slug:"nimbus",name:"Nimbus"},{slug:"outlander",name:"Outlander"},{slug:"pajero-sport",name:"Pajero Sport"},{slug:"triton",name:"Triton"},{slug:"verada",name:"Verada"}],nissan:[{slug:"200sx",name:"200SX"},{slug:"280zx",name:"280ZX"},{slug:"300zx",name:"300ZX"},{slug:"370z",name:"370Z"},{slug:"almera",name:"Almera"},{slug:"altima",name:"Altima"},{slug:"ariya",name:"Ariya"},{slug:"bluebird",name:"Bluebird"},{slug:"dualis",name:"Dualis"},{slug:"dualis-2",name:"Dualis+2"},{slug:"gt-r",name:"GT-R"},{slug:"juke",name:"Juke"},{slug:"leaf",name:"Leaf"},{slug:"maxima",name:"Maxima"},{slug:"micra",name:"Micra"},{slug:"navara",name:"Navara"},{slug:"np300-navara",name:"NP300 Navara"},{slug:"pathfinder",name:"Pathfinder"},{slug:"patrol",name:"Patrol"},{slug:"patrol-cab-chassis",name:"Patrol Cab Chassis"},{slug:"pulsar",name:"Pulsar"},{slug:"qashqai",name:"Qashqai"},{slug:"x-trail",name:"X-Trail"},{slug:"z",name:"Z"}],omoda:[{slug:"9",name:"9"},{slug:"c5",name:"C5"},{slug:"e5",name:"E5"}],opel:[{slug:"astra",name:"Astra"},{slug:"grandland",name:"Grandland"},{slug:"mokka",name:"Mokka"}],ora:[{slug:"03",name:"03"}],peugeot:[{slug:"2008",name:"2008"},{slug:"208",name:"208"},{slug:"3008",name:"3008"},{slug:"308",name:"308"},{slug:"408",name:"408"},{slug:"5008",name:"5008"},{slug:"508",name:"508"},{slug:"boxer",name:"Boxer"},{slug:"expert",name:"Expert"},{slug:"partner",name:"Partner"}],polaris:[{slug:"general-xp",name:"General XP 1000"},{slug:"general-xp-4",name:"General XP 4 1000"},{slug:"ranger-crew-xd",name:"Ranger Crew XD 1500"},{slug:"ranger-crew-xp",name:"Ranger Crew XP 1000"},{slug:"ranger-xd",name:"Ranger XD 1500"},{slug:"ranger-xp",name:"Ranger XP 1000"},{slug:"rzr-pro-r",name:"RZR Pro R"},{slug:"rzr-pro-r-4",name:"RZR Pro R 4"},{slug:"rzr-pro-xp",name:"RZR Pro XP"},{slug:"rzr-xp",name:"RZR XP 1000"},{slug:"rzr-xp-4",name:"RZR XP 4 1000"},{slug:"xpedition-adv",name:"Xpedition ADV"},{slug:"xpedition-adv-5",name:"Xpedition ADV 5"},{slug:"xpedition-xp",name:"Xpedition XP"},{slug:"xpedition-xp-5",name:"Xpedition XP 5"}],polestar:[{slug:"polestar-1",name:"Polestar 1"},{slug:"polestar-2",name:"Polestar 2"},{slug:"polestar-3",name:"Polestar 3"},{slug:"polestar-4",name:"Polestar 4"},{slug:"polestar-5",name:"Polestar 5"}],porsche:[{slug:"718",name:"718"},{slug:"911",name:"911"},{slug:"928",name:"928"},{slug:"cayenne",name:"Cayenne"},{slug:"macan",name:"Macan"},{slug:"panamera",name:"Panamera"},{slug:"taycan",name:"Taycan"}],proton:[{slug:"exora",name:"Exora"},{slug:"gen-2",name:"Gen-2"},{slug:"jumbuck",name:"Jumbuck"},{slug:"persona",name:"Persona"},{slug:"preve",name:"Preve"},{slug:"s16",name:"S16"},{slug:"satria",name:"Satria"},{slug:"savvy",name:"Savvy"},{slug:"suprima",name:"Suprima S"},{slug:"waja",name:"Waja"}],ram:[{slug:"1500",name:"1500"},{slug:"1500-classic",name:"1500 Classic"},{slug:"1500-trx",name:"1500 TRX"},{slug:"2500",name:"2500"},{slug:"3500",name:"3500"}],renault:[{slug:"arkana",name:"Arkana"},{slug:"captur",name:"Captur"},{slug:"duster",name:"Duster"},{slug:"kangoo",name:"Kangoo"},{slug:"kangoo-van",name:"Kangoo Van"},{slug:"koleos",name:"Koleos"},{slug:"latitude",name:"Latitude"},{slug:"master",name:"Master"},{slug:"megane-e-tech",name:"Megane E-Tech"},{slug:"scenic-e-tech",name:"Scenic E-Tech"},{slug:"trafic",name:"Trafic"}],seat:[{slug:"arona",name:"Arona"},{slug:"ateca",name:"Ateca"},{slug:"leon",name:"Leon"},{slug:"tarraco",name:"Tarraco"}],skoda:[{slug:"elroq",name:"Elroq"},{slug:"enyaq-iv",name:"Enyaq"},{slug:"fabia",name:"Fabia"},{slug:"kamiq",name:"Kamiq"},{slug:"karoq",name:"Karoq"},{slug:"kodiaq",name:"Kodiaq"},{slug:"octavia",name:"Octavia"},{slug:"rapid",name:"Rapid"},{slug:"scala",name:"Scala"},{slug:"superb",name:"Superb"},{slug:"superb-scout",name:"Superb Scout"},{slug:"yeti",name:"Yeti"}],smart:[{slug:"1",name:"#1"},{slug:"3",name:"#3"},{slug:"roadster",name:"Roadster"}],ssangyong:[{slug:"korando",name:"Korando"},{slug:"kyron",name:"Kyron"},{slug:"musso",name:"Musso"},{slug:"rexton",name:"Rexton"},{slug:"rhino",name:"Rhino"},{slug:"stavic",name:"Stavic"},{slug:"tivoli",name:"Tivoli"}],subaru:[{slug:"brz",name:"BRZ"},{slug:"crosstrek",name:"Crosstrek"},{slug:"forester",name:"Forester"},{slug:"impreza",name:"Impreza"},{slug:"liberty",name:"Liberty"},{slug:"outback",name:"Outback"},{slug:"solterra",name:"Solterra"},{slug:"wrx",name:"WRX"},{slug:"wrx-sti",name:"WRX STI"},{slug:"xv",name:"XV"}],suzuki:[{slug:"baleno",name:"Baleno"},{slug:"fronx",name:"Fronx"},{slug:"ignis",name:"Ignis"},{slug:"jimny",name:"Jimny"},{slug:"s-cross",name:"S-Cross"},{slug:"swift",name:"Swift"},{slug:"swift-sport",name:"Swift Sport"},{slug:"vitara",name:"Vitara"}],tank:[{slug:"300",name:"300"},{slug:"500",name:"500"}],tesla:[{slug:"cybertruck",name:"Cybertruck"},{slug:"model-3",name:"Model 3"},{slug:"model-s",name:"Model S"},{slug:"model-x",name:"Model X"},{slug:"model-y",name:"Model Y"}],toyota:[{slug:"86",name:"86"},{slug:"aurion",name:"Aurion"},{slug:"avalon",name:"Avalon"},{slug:"avensis-verso",name:"Avensis Verso"},{slug:"bz4x",name:"bZ4X"},{slug:"c-hr",name:"C-HR"},{slug:"camry",name:"Camry"},{slug:"corolla",name:"Corolla"},{slug:"corolla-cross",name:"Corolla Cross"},{slug:"echo",name:"Echo"},{slug:"fortuner",name:"Fortuner"},{slug:"gr-corolla",name:"GR Corolla"},{slug:"gr-yaris",name:"GR Yaris"},{slug:"gr86",name:"GR86"},{slug:"granvia",name:"Granvia"},{slug:"hiace",name:"Hiace"},{slug:"hilux",name:"Hilux"},{slug:"kluger",name:"Kluger"},{slug:"land-cruiser",name:"Land Cruiser"},{slug:"land-cruiser-prado",name:"Land Cruiser Prado"},{slug:"prius",name:"Prius"},{slug:"prius-c",name:"Prius c"},{slug:"prius-v",name:"Prius v"},{slug:"rav4",name:"RAV4"},{slug:"rukus",name:"Rukus"},{slug:"supra",name:"Supra"},{slug:"tarago",name:"Tarago"},{slug:"tundra",name:"Tundra"},{slug:"vienta",name:"Vienta"},{slug:"yaris",name:"Yaris"},{slug:"yaris-cross",name:"Yaris Cross"}],triumph:[{slug:"tr7",name:"TR7"}],volkswagen:[{slug:"amarok",name:"Amarok"},{slug:"beetle",name:"Beetle"},{slug:"caddy",name:"Caddy"},{slug:"california",name:"California"},{slug:"caravelle",name:"Caravelle"},{slug:"cc",name:"CC"},{slug:"crafter",name:"Crafter"},{slug:"golf",name:"Golf"},{slug:"golf-alltrack",name:"Golf Alltrack"},{slug:"golf-gti",name:"Golf GTI"},{slug:"golf-r",name:"Golf R"},{slug:"grand-california",name:"Grand California"},{slug:"id-buzz",name:"ID. Buzz"},{slug:"id4",name:"ID.4"},{slug:"id5",name:"ID.5"},{slug:"multivan",name:"Multivan"},{slug:"passat",name:"Passat"},{slug:"passat-alltrack",name:"Passat Alltrack"},{slug:"polo",name:"Polo"},{slug:"polo-gti",name:"Polo GTI"},{slug:"t-cross",name:"T-Cross"},{slug:"t-roc",name:"T-Roc"},{slug:"t-roc-r",name:"T-Roc R"},{slug:"tiguan",name:"Tiguan"},{slug:"tiguan-allspace",name:"Tiguan Allspace"},{slug:"touareg",name:"Touareg"},{slug:"transporter",name:"Transporter"}],volvo:[{slug:"c40",name:"C40"},{slug:"es90",name:"ES90"},{slug:"ex30",name:"EX30"},{slug:"ex40",name:"EX40"},{slug:"ex90",name:"EX90"},{slug:"s60",name:"S60"},{slug:"s60-cross-country",name:"S60 Cross Country"},{slug:"s90",name:"S90"},{slug:"v60-cross-country",name:"V60 Cross Country"},{slug:"v90-cross-country",name:"V90 Cross Country"},{slug:"xc40",name:"XC40"},{slug:"xc60",name:"XC60"},{slug:"xc90",name:"XC90"}],zeekr:[{slug:"009",name:"009"},{slug:"x",name:"X"}]},years:{"audi/rs6":[2026,2025,2024,2023,2022,2021,2020],"bmw/m3":[2026,2025,2024,2023,2022,2021,2020,2018,2017,2016,2015,2014],"ferrari/296-gtb":[2026,2025,2024,2023,2022],"lamborghini/huracan":[2024,2023,2022,2021,2020,2019],"mclaren/750s":[2026,2025,2024,2023],"mercedes/c-class-amg":[2026,2025,2024,2023,2022,2021,2020,2019,2018,2017,2016],"nissan/gt-r":[2023,2022,2021,2020,2019,2018,2017,2016],"tesla/model-3":[2026,2025,2024,2023,2022,2021,2020,2019,2018,2017],"toyota/supra":[2026,2025,2024,2023,2022,2021,1993,1992,1991,1990,1989,1988,1987,1986]},modifications:{"audi/rs6/2024":[{slug:"a28ff79ddf",name:"4.0 TFSi quattro",trim:"4.0 TFSi quattro",body:null}],"bmw/m3/2024":[{slug:"0aaf0bb46d",name:"M3",trim:"M3",body:null},{slug:"402e65e913",name:"M3 Competition",trim:"M3 Competition",body:null},{slug:"4c760df5c5",name:"M3 Competition xDrive",trim:"M3 Competition xDrive",body:null},{slug:"6250847bc8",name:"M3 Competition xDrive",trim:"M3 Competition xDrive",body:null},{slug:"82f59cadb0",name:"M3",trim:"M3",body:null}],"ferrari/296-gtb/2024":[{slug:"c412dafd12",name:"3.0",trim:"3.0",body:null}],"lamborghini/huracan/2024":[{slug:"aab49a3dae",name:"Evo 5.2",trim:"Evo 5.2",body:null},{slug:"f81a37ca20",name:"Evo 5.2",trim:"Evo 5.2",body:null}],"mclaren/750s/2024":[{slug:"f8f346c327",name:"4.0T",trim:"4.0T",body:null}],"mercedes/c-class-amg/2024":[{slug:"038122904b",name:"C 43 4Matic",trim:"C 43 4Matic",body:null},{slug:"a403e6b64c",name:"C 63 S E",trim:"C 63 S E",body:null}],"nissan/gt-r/2024":[],"tesla/model-3/2024":[{slug:"026e4ab9d6",name:"Long Range",trim:"Long Range",body:null},{slug:"4296c050a9",name:"Performance",trim:"Performance",body:null},{slug:"50f0c93d66",name:"Performance",trim:"Performance",body:null},{slug:"be5b2b9767",name:"Standard Range",trim:"Standard Range",body:null},{slug:"d4960b3833",name:"Long Range",trim:"Long Range",body:null}],"toyota/supra/2024":[{slug:"eabbd747b7",name:"3.0i",trim:"3.0i",body:null}]},meta:{modelsFetchedAt:{abarth:"2026-06-28T04:33:00.474Z",aion:"2026-06-28T04:33:01.415Z","alfa-romeo":"2026-06-28T04:33:02.355Z",alpine:"2026-06-28T04:33:03.290Z","aston-martin":"2026-06-28T04:33:04.229Z",audi:"2026-06-28T04:33:05.195Z",bentley:"2026-06-28T04:33:06.135Z",bmw:"2026-06-28T04:33:07.112Z","bmw-alpina":"2026-06-28T04:33:08.062Z",byd:"2026-06-28T04:33:09.004Z",cadillac:"2026-06-28T04:33:09.958Z",chery:"2026-06-28T04:33:10.944Z",citroen:"2026-06-28T04:33:11.887Z",cupra:"2026-06-28T04:33:12.827Z",daihatsu:"2026-06-28T04:33:13.770Z",datsun:"2026-06-28T04:33:14.721Z",deepal:"2026-06-27T04:23:59.381Z",denza:"2026-06-27T04:24:00.200Z",dodge:"2026-06-27T04:24:01.018Z",ds:"2026-06-27T04:24:01.843Z",ferrari:"2026-06-27T04:24:02.667Z",fiat:"2026-06-27T04:24:03.492Z",ford:"2026-06-27T04:24:04.311Z",foton:"2026-06-27T04:24:05.129Z",geely:"2026-06-27T04:24:05.946Z",genesis:"2026-06-27T04:24:06.764Z","great-wall":"2026-06-27T04:24:07.584Z",haval:"2026-06-27T04:24:08.402Z",holden:"2026-06-27T04:24:09.221Z",honda:"2026-06-27T04:24:10.039Z",hyundai:"2026-06-27T04:24:10.861Z",ineos:"2026-06-27T04:24:11.677Z",isuzu:"2026-06-27T04:24:12.495Z",iveco:"2026-06-28T04:32:51.940Z",jac:"2026-06-27T04:24:13.314Z",jaecoo:"2026-06-28T04:32:17.949Z",jaguar:"2026-06-28T04:32:18.902Z",jeep:"2026-06-28T04:32:19.838Z","kg-mobility":"2026-06-28T04:32:20.769Z",kia:"2026-06-28T04:32:21.710Z",lamborghini:"2026-06-28T04:32:22.641Z","land-rover":"2026-06-28T04:32:23.589Z",ldv:"2026-06-28T04:32:24.525Z",leapmotor:"2026-06-28T04:32:25.463Z",lexus:"2026-06-28T04:32:26.401Z",lotus:"2026-06-28T04:32:27.336Z",mahindra:"2026-06-28T04:32:28.278Z",maserati:"2026-06-28T04:32:29.225Z",mazda:"2026-06-28T04:32:30.189Z",mclaren:"2026-06-28T04:32:31.133Z",mercedes:"2026-06-28T04:32:32.103Z","mercedes-maybach":"2026-06-28T04:32:33.041Z",mg:"2026-06-28T04:32:33.991Z",mini:"2026-06-28T04:32:34.935Z",mitsubishi:"2026-06-28T04:32:35.884Z",nissan:"2026-06-28T04:32:36.836Z",omoda:"2026-06-28T04:32:37.789Z",opel:"2026-06-28T04:32:38.731Z",ora:"2026-06-28T04:32:39.684Z",peugeot:"2026-06-28T04:32:40.631Z",polaris:"2026-06-28T04:32:52.902Z",polestar:"2026-06-28T04:32:41.575Z",porsche:"2026-06-28T04:32:42.516Z",proton:"2026-06-28T04:32:43.459Z",ram:"2026-06-28T04:32:44.398Z",renault:"2026-06-28T04:32:45.351Z",seat:"2026-06-28T04:32:46.297Z",skoda:"2026-06-28T04:32:47.233Z",smart:"2026-06-28T04:32:48.178Z",ssangyong:"2026-06-28T04:32:49.114Z",subaru:"2026-06-28T04:32:50.052Z",suzuki:"2026-06-28T04:32:50.996Z",tank:"2026-06-28T04:32:53.840Z",tesla:"2026-06-28T04:32:54.775Z",toyota:"2026-06-28T04:32:55.749Z",triumph:"2026-06-28T04:32:56.677Z",volkswagen:"2026-06-28T04:32:57.635Z",volvo:"2026-06-28T04:32:58.582Z",zeekr:"2026-06-28T04:32:59.524Z"},popularFetchedAt:"2026-06-28T04:32:16.984Z",coverage:{covered:79,total:79}}};var u=v,k=(d||""||"http://localhost:8000").replace(/\/+$/,""),M=3600,Z="x-efficient-shop-hop",C="".trim();async function g(a,e){let s=new URLSearchParams;for(let[h,i]of Object.entries(e))i!==void 0&&i!==""&&s.set(h,String(i));let n=s.toString(),l=`${k}/api/fitment${a}${n?`?${n}`:""}`,m={next:{revalidate:M}},[f,y]=await Promise.all([b(),T()]),o=p(f,y,S(m));C&&(o[Z]=C);let t=await fetch(l,{...m,...Object.keys(o).length>0?{headers:o}:{}});if(!t.ok)throw new Error(`backend fitment ${t.status} on ${a}`);let c=await t.text();return c?JSON.parse(c):null}function r(a){return a!==void 0&&u.region===a&&(u.makes?.length??0)>0}function A(a){if(!a)return null;let e=a.et_range;return{pcd:a.pcd||void 0,boltPattern:a.bolt_pattern||void 0,centreBore:a.centre_bore??void 0,frontWheels:a.front_wheels??[],rearWheels:a.rear_wheels??[],frontTyres:a.front_tyres??[],rearTyres:a.rear_tyres??[],etRange:e&&e[0]!==null&&e[1]!==null?[e[0],e[1]]:void 0}}var z={async makes(a){try{return await g("/makes/",{region:a})}catch(e){if(r(a))return u.makes;throw e}},async models(a,e){try{return await g("/models/",{make:a,region:e})}catch(s){let n=r(e)?u.models[a]:void 0;if(n)return n;throw s}},async years(a,e,s){try{return await g("/years/",{make:a,model:e,region:s})}catch(n){let l=r(s)?u.years[`${a}/${e}`]:void 0;if(l)return l;throw n}},async modifications(a,e,s,n){try{return await g("/modifications/",{make:a,model:e,year:s,region:n})}catch(l){let m=r(n)?u.modifications[`${a}/${e}/${s}`]:void 0;if(m)return m;throw l}},async stockFitment(a,e,s,n,l){return A(await g("/stock-fitment/",{make:a,model:e,year:s,modification:n,region:l}))}};export{z as fitmentData};
|
package/dist/editor.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.sf-embedded{height:100%;min-height:0}.sf-embedded .sf-editor{height:100%}.sf-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sf-panel-heading{display:flex;align-items:baseline;gap:6px;min-width:0}.sf-panel-site{display:block;margin:0;min-width:0;overflow:hidden;font-size:var(--text-2xs);font-weight:500;color:var(--sf-muted);white-space:nowrap;text-overflow:ellipsis}.sf-name-tip{position:relative;display:block;min-width:0;max-width:100%}.sf-name-text{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sf-panel-site:before{content:"\b7";margin-right:6px}.sf-x{width:24px;height:24px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--sf-muted);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm)}.sf-x:hover{background:var(--sf-hover)}.sf-gap{position:relative;display:block;width:100%;height:9px;margin:-2px 0;padding:0;border:0;background:transparent;cursor:pointer;z-index:1}.sf-gap-line{position:absolute;left:12px;right:12px;top:50%;height:2px;transform:translateY(-50%);border-radius:calc(var(--radius-sm) / 2);background:var(--sf-accent);opacity:0;transition:opacity .12s}.sf-gap-plus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.7);width:18px;height:18px;border-radius:50%;background:var(--sf-accent);color:var(--sf-on-accent);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);line-height:1;box-shadow:0 0 0 2px var(--sf-panel);opacity:0;transition:opacity .12s,transform .12s}.sf-gap:hover .sf-gap-line,.sf-gap:focus-visible .sf-gap-line{opacity:1}.sf-gap:hover .sf-gap-plus,.sf-gap:focus-visible .sf-gap-plus{opacity:1;transform:translate(-50%,-50%) scale(1)}.sf-subtree{margin:var(--es-rhythm-between) 0 var(--es-rhythm-between) 16px;padding-left:9px;border-left:1px solid var(--sf-line);display:flex;flex-direction:column;gap:var(--es-rhythm-between)}.sf-addside-sitewide{display:flex;align-items:center;gap:10px;margin-top:16px;padding:10px;border:1px solid var(--sf-divider);border-radius:var(--radius-xl)}.sf-addside-sitewide-glyph{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-lg);background:var(--sf-hover);color:var(--sf-muted)}.sf-addside-sitewide-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;border:0;background:none;font:600 var(--text-xs)/1.3 var(--sf-font);color:var(--sf-text);text-align:left;cursor:pointer}.sf-addside-sitewide-name:hover{color:var(--sf-accent)}.sf-addside-sitewide-desc{font-weight:400;font-size:var(--text-xs);color:var(--sf-muted)}.sf-thumb{--sf-thumb-card: #ffffff;--sf-thumb-thumb-bg: #fcfdff;--sf-thumb-thumb-border: #edeff4;--sf-thumb-block: #e9ebf0;--sf-thumb-bar-light: #dde1e8;--sf-thumb-bar-dark: #c3c9d3;--sf-thumb-hatch1: #e2e5ec;--sf-thumb-hatch2: #edeff4;--sf-thumb-accent: #2f6bed;--sf-thumb-accent-tint: #e6edfd;--sf-thumb-border: #e7eaf1;--sf-thumb-ink: #1b2027;--sf-thumb-ink-2: #39434f;--sf-thumb-ink-soft: #2c3540;--sf-thumb-ink-soft-2: #4a5763;--sf-thumb-paper: #f4f1ed;--sf-thumb-paper-2: #cfc8bf;--sf-thumb-warm: #e7c26a;--sf-thumb-rust: #b4652a;--sf-thumb-on-ink: #ffffff;--sf-thumb-scene-text: #171412;--sf-thumb-scene-muted: #6b7280;--sf-thumb-scene-rule: #eceef1;--sf-thumb-mark-1: #c8ccd1;--sf-thumb-mark-2: #8e9aa6;--sf-thumb-scrim: rgba(0, 0, 0, .55)}@keyframes sf-thumb-marquee{0%{transform:translate(0)}to{transform:translate(-33.34%)}}.sf-addcard-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--sf-addcard-veil);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity .15s;pointer-events:none}.sf-addcard:hover .sf-addcard-overlay,.sf-addcard:focus-visible .sf-addcard-overlay{opacity:1}.sf-addcard-addbtn{display:inline-flex;align-items:center;gap:6px;background:var(--sf-accent);color:var(--sf-on-accent);border-radius:var(--radius-lg);padding:8px 14px;font-size:var(--text-xs);font-weight:600;box-shadow:0 4px 12px var(--sf-accent-shadow)}.sf-addcard-plus{font-size:var(--text-base);line-height:1;margin-top:-1px}.sf-addcard-meta{display:flex;flex-direction:column;gap:2px;padding:0 2px 2px}.sf-addcard-name{font-size:var(--text-xs);font-weight:600;color:var(--sf-text)}.sf-addcard-desc{font-size:var(--text-2xs);line-height:1.35;color:var(--sf-muted)}.sf-addempty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:64px 20px;text-align:center;color:var(--sf-muted)}.sf-addempty-icon{display:flex;color:var(--sf-field-placeholder)}.sf-addempty-icon svg{width:30px;height:30px}.sf-addempty-title{font-size:var(--text-sm);font-weight:600;color:var(--sf-text)}.sf-frame--tablet,.sf-frame--mobile{align-self:stretch}.sf-frame--tablet{width:800px;outline:1px solid var(--sf-device-border);outline-offset:-1px}.sf-frame--mobile{width:390px;outline:1px solid var(--sf-device-border);outline-offset:-1px}[data-puck-entry] .es-zone:empty:not(.is-area-selected):not(.is-hovering-area:not(.is-root)){outline:none}[data-puck-entry] .es-zone.is-area-selected:not(.is-root),[data-puck-entry] .es-zone.is-hovering-area:not(.is-root){outline:none}[data-puck-entry] .es-zone:empty:is(.is-area-selected,.is-hovering-area:not(.is-root)){outline:1px solid var(--es-accent-line, #bfdbfe)}[data-puck-overlay-portal]:hover{outline:1px solid color-mix(in srgb,var(--es-accent, #2563eb) 60%,transparent);outline-offset:2px}[data-puck-overlay-portal],[data-puck-overlay-portal] *{pointer-events:auto!important}[data-puck-overlay-portal]:focus-within{outline:2px solid var(--es-accent-line, #bfdbfe);outline-offset:2px}[data-puck-overlay-portal]:hover:has([data-puck-overlay-portal]:hover){outline:none}[data-puck-entry]:has([data-puck-overlay-portal]:hover) .es-canvas-outline.is-hover{outline:none}.sf-insp-body{flex:1;overflow-y:auto;scrollbar-gutter:stable;--sf-insp-pad-x: var(--es-insp-pad-x, var(--space-16));padding-block:4px 18px;--sf-select-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23c3c3c3'><polygon points='0,0 100,0 50,50'/></svg>")}.sf-insp-body input[type=text]:not(:where(.rosh-focus-ring)),.sf-insp-body input[type=number]:not(:where(.rosh-focus-ring)),.sf-insp-body input:not([type]):not(:where(.rosh-focus-ring)),.sf-insp-body textarea:not(:where(.rosh-focus-ring)){width:100%;border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--sf-field-radius);padding:8px 11px;font-size:var(--text-sm);color:var(--sf-field-text);font-family:var(--sf-font)}.sf-insp-body input:not(:where(.rosh-focus-ring))::placeholder,.sf-insp-body textarea:not(:where(.rosh-focus-ring))::placeholder{color:var(--sf-field-placeholder);opacity:1}.sf-insp-body textarea:not(:where(.rosh-focus-ring)){min-height:74px;line-height:1.45;resize:vertical}.sf-insp-body input[type=text]:not(:where(.rosh-focus-ring)):focus,.sf-insp-body input:not([type]):not(:where(.rosh-focus-ring)):focus,.sf-insp-body textarea:not(:where(.rosh-focus-ring)):focus{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-insp-body input[aria-invalid=true]{border-color:var(--sf-danger)}.sf-insp-body select{width:100%;border:1px solid var(--sf-input-border);background-color:var(--sf-field-bg);appearance:none;-webkit-appearance:none;background-image:var(--sf-select-arrow);background-size:12px;background-repeat:no-repeat;background-position:calc(100% - 12px) calc(50% + 3px);border-radius:var(--sf-field-radius);padding:8px 11px;font-size:var(--text-sm);color:var(--sf-field-text);cursor:pointer}.sf-editor .sf-body .sf-panel .sf-insp-body select:hover{background-color:var(--sf-hover);background-image:var(--sf-select-arrow);border-color:var(--sf-input-border)}.sf-insp-body input[type=range]{accent-color:var(--sf-accent)}.sf-multi-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--sf-field-radius);padding:8px 11px;font-size:var(--text-sm);font-family:var(--sf-font);color:var(--sf-field-text);text-align:left;cursor:pointer}.sf-multi-btn:focus-visible{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-multi-caret{font-size:var(--text-2xs);color:var(--sf-text-secondary);flex:none}.sf-multi-menu{margin:6px 0 0;padding:4px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);display:flex;flex-direction:column}.sf-secttheme-btn{display:block;width:100%}.sf-secttheme-btn:focus-within{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-secttheme-btn .sf-theme-pick:focus-visible,.sf-secttheme-btn .sf-theme-edit:focus-visible{outline:none}.sf-secttheme-caret{flex:none;border:0;background:none;padding:3px 2px 3px 6px;font:inherit;line-height:1;color:var(--sf-text-secondary);cursor:pointer}.sf-secttheme-oncard{margin:0;padding:5px 4px 7px;font-size:var(--text-2xs);line-height:1.4;color:var(--sf-text-secondary)}.sf-secttheme-nopreview{display:block;height:74px;background:var(--sf-field-bg);border-bottom:1px dashed var(--sf-input-border)}.sf-secttheme-chip{width:30px;height:20px;flex:none;display:flex;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--line-strong)}.sf-secttheme-chip i{display:block;height:100%;flex:1 1 auto}.sf-secttheme-chip i.sf-secttheme-chip-accent{flex:0 0 40%}.sf-secttheme-chip--none{background:var(--sf-field-bg);border-style:dashed}.sf-secttheme-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1 1 auto;min-width:0}.sf-secttheme-menu{display:flex;flex-direction:column;padding:4px;gap:8px;background:var(--sf-accent-tint)}.sf-secttheme-menu>.sf-secttheme-item{flex:none}.sf-secttheme-item{display:flex;align-items:center;gap:9px;width:100%;padding:6px 7px;border:0;background:transparent;border-radius:max(calc(var(--sf-field-radius) - 2px),2px);font-size:var(--text-sm);font-family:var(--sf-font);color:var(--sf-field-text);text-align:left;cursor:pointer}.sf-secttheme-item:hover{background:var(--sf-accent-ring)}.sf-secttheme-item.is-active{background:var(--sf-accent-ring);font-weight:600}.sf-secttheme-item:focus-visible,.sf-secttheme-done:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px;border-radius:var(--radius-sm)}.sf-secttheme-sep{height:1px;margin:3px 0;background:var(--sf-input-border)}.sf-secttheme-sheet{margin-top:6px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);overflow:hidden}.sf-secttheme-sheet-head{display:flex;align-items:center;padding:6px 9px;background:var(--sf-field-bg);border-bottom:1px solid var(--sf-input-border);font-size:var(--text-xs);font-weight:600;color:var(--sf-field-text)}.sf-secttheme-done{margin-left:auto;padding:2px 4px;border:0;background:transparent;color:var(--sf-text-secondary);font-size:var(--text-2xs);font-family:var(--sf-font);cursor:pointer}.sf-secttheme-rows{padding:0 12px 12px}.sf-secttheme-rows>.es-field:first-child{margin-top:var(--es-rhythm-group-first)}.sf-secttheme-warn{margin:0;padding:7px 9px;border-top:1px solid var(--sf-input-border);background:var(--sf-accent-ring);font-size:var(--text-2xs);line-height:1.4;color:var(--sf-text-secondary)}.sf-panel--hidden{display:none}.sf-pages,.sf-styles{display:flex;flex-direction:column;min-height:0;height:100%}.sf-pages-find{flex:none;padding:0 var(--space-12) var(--space-8)}.sf-pages>.sf-note{margin:0 var(--space-12);padding:10px 12px}.sf-pages>.sf-note--error{margin-top:var(--space-4)}.sf-page-draft{flex:none;font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted);text-transform:uppercase;letter-spacing:.3px}.sf-badge-dynamic,.sf-badge-lightbox{flex:none;font-size:var(--text-3xs);font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:999px}.sf-badge-dynamic{color:var(--sf-accent-text);background:var(--sf-accent-tint)}.sf-badge-lightbox{color:var(--status-success-soft-ink);background:var(--status-success-soft)}.sf-badge-preview{flex:none;font-size:var(--text-3xs);font-weight:700;letter-spacing:.3px;text-transform:uppercase;padding:2px 7px;border-radius:999px;color:var(--sf-warning);background:var(--sf-preview-tint)}.sf-panel-head-actions{display:flex;align-items:center;gap:2px}.sf-insp-body .es-insp-tabs{padding:0;position:sticky;top:0;z-index:2;background:var(--sf-panel);box-shadow:0 -16px 0 0 var(--sf-panel)}.sf-field{margin-top:var(--es-rhythm-between)}.sf-insp-body .es-insp-row:has(.es-group-sub),.sf-theme-colours .es-group-sub,.sf-secttheme-rows .es-group-sub{border-top:1px solid var(--sf-line);margin-top:30px;padding-top:30px;margin-left:calc(var(--sf-insp-pad-x) * -1);margin-right:calc(var(--sf-insp-pad-x) * -1);padding-left:var(--sf-insp-pad-x);padding-right:var(--sf-insp-pad-x)}.sf-insp-body .es-insp-row:has(.es-group-sub) .es-group-sub{margin-top:0}.sf-insp-body .es-insp-row:nth-child(1 of:not([hidden],:empty,:has(>[data-sf-device-hidden],>[data-sf-no-control]))):has(.es-group-sub){border-top:0;margin-top:0;padding-top:var(--es-rhythm-group-first)}.sf-insp-body .es-insp-row:has(.es-group-sub)+.es-insp-row .sf-field,.sf-insp-body .es-insp-row:has(.es-group-head)+.es-insp-row .sf-field{margin-top:var(--es-rhythm-group-first)}.sf-field-label{display:block;font-size:var(--text-xs);font-weight:500;color:var(--sf-text-secondary);margin-bottom:var(--es-rhythm-within)}.sf-field-label--inline{margin-bottom:0}.sf-panel--right.sf-hints-folded .es-field-hint:not(.sf-hint-keep):not(:has(.sf-hint-keep)){display:none}.es-field-hint:has(.sf-hint-while-typing){display:none}.es-field:focus-within>.es-field-hint:has(.sf-hint-while-typing){display:block}.es-insp-row:has(>[data-sf-no-control]){display:none!important}.sf-header-value[data-changed]{color:var(--sf-text)}.sf-field-readonly{border:1px solid var(--sf-input-border);background:var(--sf-chip-bg);border-radius:var(--sf-field-radius);padding:8px 11px;font-size:var(--text-sm);color:var(--sf-text-secondary);font-family:var(--sf-font);cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-field-head{display:flex;align-items:center;gap:8px;margin-bottom:var(--es-rhythm-within)}.sf-field-head .sf-field-label{flex:1;min-width:0;margin-bottom:0}.sf-field-eye{flex:none;width:22px;height:22px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--sf-muted);display:flex;align-items:center;justify-content:center;opacity:.6;transition:background .12s,color .12s,opacity .12s}.sf-field-eye:hover{background:var(--sf-hover);opacity:1;color:var(--sf-text-secondary)}.es-field.is-hidden .es-field-label{color:var(--sf-muted);text-decoration:line-through}.es-field.is-hidden .sf-field-eye{opacity:1;color:var(--sf-text-secondary)}.es-field.is-hidden input,.es-field.is-hidden textarea{opacity:.5}.sf-copybox>.es-copy-bar,.es-list-above>.es-copy-bar{display:flex;align-items:center;gap:2px;margin-bottom:0}.sf-copybox>.es-copy-bar,.es-list-above>.es-copy-bar{flex-wrap:wrap;row-gap:2px}.sf-copybox .es-copy-mark.has-glyph,.es-list-above .es-copy-mark.has-glyph{width:24px}.sf-copybox .es-copy-mark:not(.has-glyph),.es-list-above .es-copy-mark:not(.has-glyph){padding:0 6px;font-size:var(--text-2xs);line-height:1;white-space:nowrap}.sf-copybox .es-copy-mark,.es-list-above .es-copy-mark{height:22px}.sf-copybox>.es-copy-bar>.es-copy-bar-split,.es-list-above>.es-copy-bar>.es-copy-bar-split{margin-left:auto;height:14px}.sf-copybox>.es-copy-bar>.sf-markup-clear,.es-list-above>.es-copy-bar>.sf-markup-clear{margin-left:auto}.sf-copybox>.es-copy-bar>.es-copy-bar-split,.es-list-above>.es-copy-bar>.es-copy-bar-split{align-self:center;margin-right:2px}.es-field.is-hidden .es-copy-bar{opacity:.5}.sf-copybox{border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);overflow:hidden}.sf-copybox:focus-within{border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-copybox>.es-copy-bar{margin-bottom:0;padding:3px 6px;border-bottom:1px solid var(--sf-input-border);background:var(--sf-hover)}.sf-copybox:not(:focus-within)>.es-copy-bar{display:none}.sf-copybox>input,.sf-copybox>textarea,.sf-insp-body .sf-copybox>input[type=text],.sf-insp-body .sf-copybox>input:not([type]),.sf-insp-body .sf-copybox>textarea{border:none;border-radius:0;background:transparent;display:block;width:100%}.sf-copybox>input:focus,.sf-copybox>textarea:focus,.sf-insp-body .sf-copybox>input[type=text]:focus,.sf-insp-body .sf-copybox>input:not([type]):focus,.sf-insp-body .sf-copybox>textarea:focus{box-shadow:none}.sf-swatches{display:flex;align-items:center;gap:10px}.sf-swatch{width:26px;height:26px;border-radius:var(--radius-lg);border:none;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px var(--line-strong)}.sf-swatch.is-active{box-shadow:0 0 0 2px var(--sf-panel),0 0 0 4px var(--sf-accent)}.sf-swatch-hex{font-size:var(--text-2xs);color:var(--sf-muted);font-variant-numeric:tabular-nums;margin-left:2px}.sf-colour{display:inline-flex;align-items:center;gap:6px;min-width:0}.es-field-head>.sf-colour{margin-left:auto}.sf-colour-hexwrap{flex:none;display:flex}.sf-colour-caption{font-size:var(--text-xs);color:var(--sf-muted);white-space:nowrap}.sf-editor .sf-colour input.sf-colour-hex.is-inherited,.sf-editor .sf-insp-body .sf-colour input[type=text].sf-colour-hex.is-inherited{color:var(--sf-muted)}.sf-chooser{display:flex;width:100%;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-field-text);font-size:var(--text-sm);text-align:left;cursor:pointer}.sf-chooser:hover{background:var(--sf-hover)}.sf-chooser-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-chooser-meta{flex:none;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--sf-disabled)}.sf-chooser-caret{flex:none;color:var(--sf-disabled)}.sf-chooser-menu{position:absolute;left:0;z-index:50;margin-top:4px;width:100%;overflow:hidden;padding:4px 0;border:1px solid var(--sf-divider);border-radius:var(--sf-field-radius);background:var(--sf-panel);box-shadow:var(--es-menu-shadow)}.sf-chooser-menu--tall{max-height:256px;overflow:hidden auto}.sf-chooser-item{display:flex;width:100%;align-items:center;gap:8px;padding:6px 10px;border:0;background:none;text-align:left;font-size:var(--text-sm);color:var(--sf-text-secondary);cursor:pointer}.sf-chooser-item:hover{background:var(--sf-hover)}.sf-chooser-item.is-active{font-weight:600;color:var(--sf-text)}.sf-chooser-add{color:var(--sf-accent-text);font-weight:500}.sf-chooser-add:hover{background:var(--sf-hover)}.sf-rungs{display:flex;width:100%;gap:4px}.sf-rung{flex:1;padding:4px 8px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-text-secondary);font-size:var(--text-xs);cursor:pointer}.sf-rung:hover:not(.is-active){background:var(--sf-hover)}.sf-rung.is-active{border-color:var(--sf-disabled);background:var(--sf-chip-bg);color:var(--sf-text);font-weight:600}.sf-shadow-chip{display:block;flex:none;box-sizing:border-box;width:16px;height:11px;border:1px solid var(--sf-disabled);background:var(--sf-field-bg)}.sf-hints{display:flex;margin-top:28px}.sf-hints-toggle{display:inline-flex;flex:none;align-items:center;gap:5px;color:var(--sf-muted)}.sf-hints-toggle svg{flex:none}.sf-scale-a{flex:none;font-size:var(--text-2xs);line-height:1;color:var(--sf-disabled)}.sf-scale-a--lg{font-size:var(--text-base);color:var(--sf-muted)}.sf-auto-reset{padding:2px 6px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);font-size:var(--text-2xs);color:var(--sf-text-secondary);cursor:pointer}.sf-auto-reset:hover{background:var(--sf-hover)}.sf-site-styles-tabpanel>:first-child{margin-top:var(--es-rhythm-group-first)}.sf-style-list{display:flex;flex-direction:column}.sf-style-head{display:flex;width:100%;align-items:center;gap:8px;padding:10px 0;background:none;border:0;text-align:left;cursor:pointer}.sf-style-head:hover .sf-style-sample{color:var(--sf-text)}.sf-style-caret{display:inline-flex;flex:none;align-items:center;color:var(--sf-disabled);transition:transform .12s ease}.sf-style-row.is-open .sf-style-caret{transform:rotate(90deg)}.sf-style-name{flex:none;font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted)}.sf-style-sample{min-width:0;margin-left:auto;overflow:hidden;color:var(--sf-text);text-overflow:ellipsis;white-space:nowrap}.sf-style-sample-tip{position:relative;display:flex;min-width:0;margin-left:auto}.sf-style-slot{display:inline-flex;flex:none;width:14px;height:14px;align-items:center;justify-content:center;color:var(--sf-muted);opacity:0;transform:scale(.6);transition:opacity .16s ease,transform .16s ease}.sf-style-slot.is-saved{opacity:1;transform:scale(1)}@media(prefers-reduced-motion:reduce){.sf-style-slot{transition:none}}.sf-style-body{padding:2px 0 12px}.sf-select{padding:5px 8px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-text);font-size:var(--text-xs);cursor:pointer}.sf-rung--glyph{flex:0 0 34px;font-size:var(--text-sm);line-height:18px;text-align:center}.sf-rung--glyph:disabled{color:var(--sf-disabled);cursor:not-allowed}.sf-rung--glyph:disabled:hover{background:var(--sf-field-bg)}.sf-rung-tip{position:relative;display:inline-flex;flex:0 0 34px}.sf-rung-tip .sf-rung--glyph{flex:1}.sf-tip-disabled{display:inline-flex}.sf-rung-tip>.sf-tip-disabled{flex:1}.sf-tip-disabled>button:disabled{pointer-events:none}.sf-tip-disabled:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:var(--radius-sm)}.sf-theme-list{display:flex;flex-direction:column;gap:8px;margin-top:max(var(--es-row-gap),var(--es-rhythm-group-first))}.sf-theme-card,.sf-secttheme-btn{border:1px solid var(--sf-input-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--sf-panel)}.sf-theme-card:hover,.sf-secttheme-btn:hover{border-color:var(--sf-muted)}.sf-theme-card.is-selected{border-color:var(--sf-accent);box-shadow:0 0 0 2px var(--sf-accent-ring)}.sf-theme-pick{display:block;width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}.sf-theme-page{display:flex;flex-direction:column;gap:4px;padding:10px 12px}.sf-theme-eyebrow{font-size:7.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1}.sf-theme-headline{font-size:var(--text-sm);font-weight:750;letter-spacing:-.01em;line-height:1.1}.sf-theme-body{font-size:9.5px;line-height:1.4;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-theme-row{display:flex;align-items:center;gap:7px;margin-top:1px}.sf-theme-btn{font-size:8.5px;font-weight:700;letter-spacing:.02em;padding:5px 11px;border-radius:var(--radius-sm);white-space:nowrap;flex:none}.sf-theme-mini{flex:1;min-width:0;height:22px;border-radius:var(--radius-sm);border:1px solid;display:flex;align-items:center;justify-content:center;font-size:7.5px;font-weight:600;opacity:.75}.sf-theme-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px 6px 12px;background:var(--sf-hover)}.sf-theme-card.is-selected .sf-theme-foot{color:var(--sf-accent-text)}.sf-theme-name{font-size:var(--text-2xs);font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-theme-warn{flex:none;margin-left:auto;font-size:var(--text-2xs);font-weight:700;color:var(--status-warning-soft-ink);white-space:nowrap}.sf-theme-warn+.sf-theme-edit{margin-left:8px}.sf-theme-name{margin-right:auto}.sf-theme-edit{flex:none}.sf-theme-colours{padding:0 12px 12px}.sf-theme-colours[hidden]{display:none}.sf-theme-colours>.es-field:first-child{margin-top:var(--es-rhythm-group-first)}.sf-theme-reset{margin-top:var(--es-rhythm-between-tight)}.sf-theme-add{display:flex;align-items:center;gap:6px;margin-top:8px;border:0;background:none;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--sf-accent-text);padding:4px 0;cursor:pointer}.sf-theme-add:hover{text-decoration:underline}.sf-colour-lede{margin-top:-3px;margin-bottom:10px}.sf-colour-pair{border:1px solid var(--sf-divider);border-radius:var(--sf-row-radius);padding:2px 11px 11px;background:var(--sf-app-bg)}.sf-colour-row{margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sf-colour-mode{font-size:var(--text-xs);font-weight:500;color:var(--sf-text-secondary)}.sf-colour-mode small{display:block;margin-top:1px;font-size:var(--text-2xs);font-weight:400;color:var(--sf-muted)}.sf-readability{margin-top:10px;padding:11px 12px 12px;border:1px solid var(--sf-divider);border-radius:var(--sf-row-radius)}.sf-readability-row{display:flex;align-items:center;gap:9px;padding:4px 0;font-size:var(--text-xs)}.sf-readability-who{flex:1;color:var(--sf-text-secondary)}.sf-readability-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--sf-disabled)}.sf-readability-val{color:var(--sf-muted)}.sf-readability-dot.is-good{background:var(--sf-muted)}.sf-readability-dot.is-large-only{background:var(--sf-warning)}.sf-readability-dot.is-hard{background:var(--sf-danger)}.sf-readability-val.is-good{color:var(--sf-text-secondary)}.sf-readability-val.is-large-only{color:var(--sf-warning)}.sf-readability-val.is-hard{color:var(--sf-danger)}.sf-readability-advice{margin-top:7px;font-size:var(--text-2xs);line-height:1.6;color:var(--sf-muted)}.sf-readability-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.sf-readability-suggestion{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-btn-text);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;cursor:pointer}.sf-readability-suggestion:hover{background:var(--sf-hover)}.sf-readability-chip{width:9px;height:9px;flex:none;border-radius:calc(var(--radius-sm) / 2);box-shadow:inset 0 0 0 1px var(--line-strong)}.sf-slider{display:flex;align-items:center;gap:12px}.es-field-ctl>.sf-slider{flex:1;min-width:0}.sf-slider>.sf-slider-track{flex:1;min-width:0}.sf-slider.has-notch{position:relative}.sf-slider.has-notch:before{content:"";position:absolute;top:50%;left:calc(7px + (100% - 14px) * var(--sf-notch));width:2px;height:10px;margin-top:-5px;border-radius:calc(var(--radius-sm) / 2);background:var(--sf-input-border);pointer-events:none}.sf-preview-pin{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:9px 14px;background:var(--sf-panel)}.sf-preview-pin-text{display:flex;flex-direction:column;gap:1px;min-width:0}.sf-preview-pin-label{font-size:var(--text-sm);font-weight:500;color:var(--sf-text)}.sf-preview-pin-hint{font-size:var(--text-2xs);color:var(--sf-muted)}.sf-colstep{display:flex;align-items:center;gap:6px}.sf-colstep-value{min-width:14px;text-align:center;font-size:var(--text-sm);font-weight:500;color:var(--sf-text)}.sf-checkbox{cursor:pointer}.sf-locked{opacity:.5;pointer-events:none}.sf-seg2 button:focus-visible,.sf-readability-suggestion:focus-visible,.sf-swatch:focus-visible,.sf-field-eye:focus-visible,.sf-insp-body select:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}.sf-seg2 button:focus-visible{outline-offset:-1px}.sf-seg2{display:flex;gap:3px;background:var(--sf-track-bg);border:1px solid var(--sf-input-border);border-radius:var(--radius-lg);padding:3px}.sf-seg2 button{flex:1;border:none;background:transparent;border-radius:var(--radius-md);padding:6px 8px;font-size:var(--text-xs);font-weight:500;color:var(--sf-icon);cursor:pointer;transition:background .12s,color .12s,box-shadow .12s}@container (width < 284px){.sf-seg2 button{padding-inline:6px}}.sf-seg2 button:hover:not(.is-active){color:var(--sf-text-secondary);background:var(--sf-hover)}.sf-seg2 button.is-active{background:var(--sf-raised);color:var(--sf-text-strong);box-shadow:var(--es-raised-shadow)}.sf-seg2[data-disabled]{opacity:.5;cursor:not-allowed}.sf-seg2[data-disabled] button{cursor:not-allowed;color:var(--sf-disabled)}.sf-seg2[data-disabled] button.is-active{color:var(--sf-text-secondary)}.sf-seg2[data-disabled] button:hover:not(.is-active){background:transparent;color:var(--sf-disabled)}.sf-seg2 button>svg{display:block;margin:0 auto}.es-list-above>.es-copy-bar{margin-bottom:0}input.sf-list-marking{border-color:var(--sf-accent);box-shadow:0 0 0 1px var(--sf-accent-tint)}.sf-blogsource{display:flex;flex-direction:column;gap:9px}.sf-blogsource-action{align-self:flex-start}.sf-blogsource-status{margin:0;font-size:var(--text-xs);color:var(--sf-text-secondary)}.sf-blogsource-status[data-state=error]{color:var(--sf-danger)}.sf-source-open{display:inline;padding:0;border:0;background:none;font:inherit;color:var(--sf-accent-text);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.sf-source-open:hover{color:var(--sf-accent)}.sf-source-open:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:calc(var(--radius-sm) / 2)}.sf-formpicker{display:flex;flex-direction:column;gap:9px}.sf-formsummary-caption{margin-bottom:4px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.02em;color:var(--sf-text-secondary)}.sf-formsummary-fields{margin:0;padding-left:18px;font-size:var(--text-xs);line-height:1.55;color:var(--sf-text-secondary)}.sf-formsummary-warn{margin:0;font-size:var(--text-xs);line-height:1.45;color:var(--sf-danger)}.sf-formsummary-actions{display:flex;flex-wrap:wrap;gap:8px}.sf-image-status{margin-top:6px;font-size:var(--text-2xs);color:var(--sf-muted)}.sf-image-status--error{color:var(--sf-danger)}ul.sf-image-status{list-style:none;padding:0}.sf-image-status--error li{color:inherit;font-size:inherit}.sf-image-slot-inert{border:1.5px dashed var(--sf-input-border);border-radius:var(--radius-lg);padding:12px 14px;font-size:var(--text-xs);line-height:1.5;color:var(--sf-muted);background-image:repeating-linear-gradient(45deg,var(--sf-hatch) 0 1px,transparent 1px 12px)}.es-insp-rows:has([data-image-focus]) .es-pick-image-frame{display:none}.sf-note{padding:14px 16px;font-size:var(--text-sm);line-height:1.5;color:var(--sf-muted)}.sf-note p+p{margin-top:8px}.sf-note strong{color:var(--sf-text);font-weight:600}.sf-note-detail{margin-top:10px;font-size:var(--text-2xs);color:var(--sf-muted);opacity:.75;word-break:break-all}.sf-note--error{color:var(--sf-danger);background:var(--sf-danger-tint);border-radius:var(--radius-md)}.sf-part-style{position:relative;margin:0 0 4px;padding:11px 13px;border:1px solid var(--sf-divider);border-radius:var(--radius-xl);background:var(--sf-track-bg)}.sf-part-style.has-overrides{border-color:var(--sf-accent-ring)}.sf-part-style.has-overrides:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--sf-accent);border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.sf-part-style-caption{margin-bottom:2px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-part-style-count{margin-bottom:3px;font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted)}.sf-part-style-name{min-width:0;font-size:var(--text-xl);line-height:1.15;letter-spacing:-.01em;color:var(--sf-text-strong);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sf-part-style-pick{position:relative}.sf-part-style-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;min-width:0}.sf-part-style-trigger .sf-part-style-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-part-style-sign{margin-left:auto;width:16px;flex:none;text-align:center;color:var(--sf-muted);font-size:var(--text-sm);line-height:1}.sf-part-style-trigger[aria-expanded=false] .sf-part-style-sign:before{content:"+"}.sf-part-style-trigger[aria-expanded=true] .sf-part-style-sign:before{content:"\2212"}.sf-part-style-trigger:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:var(--radius-sm)}.sf-part-style-menu{position:absolute;z-index:30;left:0;right:0;box-shadow:var(--es-menu-shadow)}.sf-part-style-option{display:flex;align-items:baseline;gap:8px;width:100%;padding:7px 9px;border:0;background:none;text-align:left;font-size:var(--text-sm);color:var(--sf-field-text);border-radius:max(calc(var(--sf-field-radius) - 2px),2px);cursor:pointer}.sf-part-style-option:hover{background:var(--sf-accent-ring)}.sf-part-style-option:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px}.sf-part-style-option.is-on{background:var(--sf-accent-ring);font-weight:600}.sf-part-style-option-name{flex:0 0 auto;white-space:nowrap}.sf-part-style-option .sf-note{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.es-fsel-label.sf-part-style-keep{flex:none}.sf-part-style-aside{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xs);font-weight:400;color:var(--es-muted)}.sf-part-style-meta{margin-top:1px;font-size:var(--text-2xs);color:var(--sf-muted);font-variant-numeric:tabular-nums}.sf-part-style-top{display:flex;align-items:center;gap:9px;margin-top:8px}.sf-part-style-gap{flex:1}.sf-part-style-state{font-size:var(--text-xs);color:var(--sf-text-secondary)}.sf-part-chip{display:inline-flex;align-items:center;border-radius:999px;padding:2px 9px;background:var(--sf-accent-tint);color:var(--sf-accent-text);font-size:var(--text-2xs);font-weight:700;font-variant-numeric:tabular-nums}.sf-part-link{border:0;background:none;padding:0;font:inherit;font-size:var(--text-xs);font-weight:500;color:var(--sf-accent-text);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--sf-accent-ring)}.sf-part-link:hover{text-decoration-color:currentColor}.es-group-body>.sf-note{margin:12px 0 -4px;padding:0 0 0 2px}.sf-slot-rows>.sf-note{padding:10px 11px 12px}.sf-part-field.is-style-value>.es-field-head>.es-field-value{color:var(--sf-muted)}.sf-part-select{width:100%;min-width:0}.sf-part-ink{display:flex;flex-direction:column;gap:8px;min-width:0}.sf-part-ink-top{display:flex;align-items:baseline;gap:8px}.sf-part-ink-label{font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted)}.sf-part-ink-read{margin-left:auto;font-size:var(--text-xs);color:var(--sf-text-secondary);font-variant-numeric:tabular-nums}.sf-part-ink-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.sf-part-mark{width:18px;height:18px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:var(--sf-accent);cursor:pointer}.sf-part-mark-dot{transform-origin:center;transition:transform .15s ease,opacity .15s ease}.sf-part-mark-arrow{opacity:0;transition:opacity .15s ease}.sf-part-mark:hover .sf-part-mark-dot,.sf-part-mark:focus-visible .sf-part-mark-dot{transform:scale(0);opacity:0}.sf-part-mark:hover .sf-part-mark-arrow,.sf-part-mark:focus-visible .sf-part-mark-arrow{opacity:1}@media(prefers-reduced-motion:reduce){.sf-part-mark-dot,.sf-part-mark-arrow{transition:none}}.sf-part-text{margin-top:4px;margin-bottom:4px}.sf-part-text .sf-copybox textarea{min-height:84px;line-height:1.5;resize:vertical}.sf-entries{margin-top:32px}.sf-entries-head{margin:14px 0 4px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-entry-eye{display:inline-flex;align-items:center;color:var(--sf-muted)}.sf-slot-rows .sf-add-card{padding:8px 11px;border-radius:0}.sf-image-drop{flex:1;min-width:0}.sf-image-drop.is-dragover .es-pick-image-slot{border-color:var(--sf-accent);background-color:var(--sf-accent-tint)}.sf-image-drop.is-dragover .es-pick-image-frame{outline:2px solid var(--sf-accent);outline-offset:-2px}.sf-gallery-filter{display:flex;gap:5px;flex-wrap:wrap}.sf-gallery-filter button{border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:999px;padding:4px 11px;font-size:var(--text-xs);font-weight:600;color:var(--sf-icon);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.sf-gallery-filter button:hover{background:var(--sf-hover)}.sf-gallery-filter button[aria-pressed=true]{background:var(--sf-accent);border-color:var(--sf-accent);color:var(--sf-on-accent)}.sf-gallery-layouts{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:6px;margin-top:7px}.es-field-ctl>.sf-gallery-layouts,.es-field-ctl>.sf-gallery-filter{flex:1 1 auto;min-width:0}.sf-tile-tip{position:relative;display:flex;min-width:0}.sf-tile-tip>button{flex:1;min-width:0}.sf-gallery-layouts button{border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--radius-lg);padding:5px;cursor:pointer;transition:border-color .12s,box-shadow .12s,background .12s}.sf-gallery-layouts button:hover{background:var(--sf-hover)}.sf-gallery-layouts button[aria-pressed=true]{border-color:var(--sf-accent);box-shadow:0 0 0 2px var(--sf-accent-ring);background:var(--sf-panel)}.sf-gallery-pic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:6px;grid-auto-flow:row dense;gap:2px}.sf-gallery-pic i{display:block;background:var(--sf-track-bg);border-radius:calc(var(--radius-sm) / 2)}.sf-gallery-layouts button[aria-pressed=true] .sf-gallery-pic i{background:var(--sf-accent)}.sf-gallery-count{font-size:var(--text-2xs);color:var(--sf-disabled);margin-top:7px}.sf-locations-view{margin-top:var(--es-rhythm-between)}.sf-blogsource>.es-field-hint,.sf-formsummary .es-field-hint{margin:0}.es-field-ctl>.sf-copybox{flex:1 1 auto;min-width:0}.sf-focal-row{margin-top:var(--es-rhythm-between)}.sf-canvas-notice{position:absolute;top:8px;left:8px;right:8px;z-index:1}.es-ts+.es-ts-section{margin-top:var(--es-rhythm-group)}
|
|
1
|
+
.sf-embedded{height:100%;min-height:0}.sf-embedded .sf-editor{height:100%}.sf-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sf-panel-heading{display:flex;align-items:baseline;gap:var(--space-8);min-width:0}.sf-panel-site{display:block;margin:0;min-width:0;overflow:hidden;font-size:var(--text-2xs);font-weight:500;color:var(--sf-muted);white-space:nowrap;text-overflow:ellipsis}.sf-name-tip{position:relative;display:block;min-width:0;max-width:100%}.sf-name-text{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sf-panel-site:before{content:"\b7";margin-right:var(--space-8)}.sf-x{width:24px;height:24px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--sf-muted);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm)}.sf-x:hover{background:var(--sf-hover)}.sf-gap{position:relative;display:block;width:100%;height:9px;margin:-2px 0;padding:0;border:0;background:transparent;cursor:pointer;z-index:1}.sf-gap-line{position:absolute;left:12px;right:12px;top:50%;height:2px;transform:translateY(-50%);border-radius:calc(var(--radius-sm) / 2);background:var(--sf-accent);opacity:0;transition:opacity .12s}.sf-gap-plus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.7);width:18px;height:18px;border-radius:50%;background:var(--sf-accent);color:var(--sf-on-accent);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);line-height:1;box-shadow:0 0 0 2px var(--sf-panel);opacity:0;transition:opacity .12s,transform .12s}.sf-gap:hover .sf-gap-line,.sf-gap:focus-visible .sf-gap-line{opacity:1}.sf-gap:hover .sf-gap-plus,.sf-gap:focus-visible .sf-gap-plus{opacity:1;transform:translate(-50%,-50%) scale(1)}.sf-subtree{margin:var(--es-rhythm-between) 0 var(--es-rhythm-between) 16px;padding-left:var(--space-12);border-left:1px solid var(--sf-line);display:flex;flex-direction:column;gap:var(--es-rhythm-between)}.sf-addside-sitewide{display:flex;align-items:center;gap:var(--space-12);margin-top:16px;padding:var(--space-12);border:1px solid var(--sf-divider);border-radius:var(--radius-xl)}.sf-addside-sitewide-glyph{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--radius-lg);background:var(--sf-hover);color:var(--sf-muted)}.sf-addside-sitewide-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0;border:0;background:none;font:600 var(--text-xs)/1.3 var(--sf-font);color:var(--sf-text);text-align:left;cursor:pointer}.sf-addside-sitewide-name:hover{color:var(--sf-accent)}.sf-addside-sitewide-desc{font-weight:400;font-size:var(--text-xs);color:var(--sf-muted)}.sf-thumb{--sf-thumb-card: #ffffff;--sf-thumb-thumb-bg: #fcfdff;--sf-thumb-thumb-border: #edeff4;--sf-thumb-block: #e9ebf0;--sf-thumb-bar-light: #dde1e8;--sf-thumb-bar-dark: #c3c9d3;--sf-thumb-hatch1: #e2e5ec;--sf-thumb-hatch2: #edeff4;--sf-thumb-accent: #2f6bed;--sf-thumb-accent-tint: #e6edfd;--sf-thumb-border: #e7eaf1;--sf-thumb-ink: #1b2027;--sf-thumb-ink-2: #39434f;--sf-thumb-ink-soft: #2c3540;--sf-thumb-ink-soft-2: #4a5763;--sf-thumb-paper: #f4f1ed;--sf-thumb-paper-2: #cfc8bf;--sf-thumb-warm: #e7c26a;--sf-thumb-rust: #b4652a;--sf-thumb-on-ink: #ffffff;--sf-thumb-scene-text: #171412;--sf-thumb-scene-muted: #6b7280;--sf-thumb-scene-rule: #eceef1;--sf-thumb-mark-1: #c8ccd1;--sf-thumb-mark-2: #8e9aa6;--sf-thumb-scrim: rgba(0, 0, 0, .55)}@keyframes sf-thumb-marquee{0%{transform:translate(0)}to{transform:translate(-33.34%)}}.sf-addcard-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--sf-addcard-veil);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity .15s;pointer-events:none}.sf-addcard:hover .sf-addcard-overlay,.sf-addcard:focus-visible .sf-addcard-overlay{opacity:1}.sf-addcard-addbtn{display:inline-flex;align-items:center;gap:var(--space-8);background:var(--sf-accent);color:var(--sf-on-accent);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-16);font-size:var(--text-xs);font-weight:600;box-shadow:0 4px 12px var(--sf-accent-shadow)}.sf-addcard-plus{font-size:var(--text-base);line-height:1;margin-top:-1px}.sf-addcard-meta{display:flex;flex-direction:column;gap:2px;padding:0 2px 2px}.sf-addcard-name{font-size:var(--text-xs);font-weight:600;color:var(--sf-text)}.sf-addcard-desc{font-size:var(--text-2xs);line-height:1.35;color:var(--sf-muted)}.sf-addempty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-12);padding:64px 20px;text-align:center;color:var(--sf-muted)}.sf-addempty-icon{display:flex;color:var(--sf-field-placeholder)}.sf-addempty-icon svg{width:30px;height:30px}.sf-addempty-title{font-size:var(--text-sm);font-weight:600;color:var(--sf-text)}.sf-frame--tablet,.sf-frame--mobile{align-self:stretch}.sf-frame--tablet{width:800px;outline:1px solid var(--sf-device-border);outline-offset:-1px}.sf-frame--mobile{width:390px;outline:1px solid var(--sf-device-border);outline-offset:-1px}[data-puck-entry] .es-zone:empty:not(.is-area-selected):not(.is-hovering-area:not(.is-root)){outline:none}[data-puck-entry] .es-zone.is-area-selected:not(.is-root),[data-puck-entry] .es-zone.is-hovering-area:not(.is-root){outline:none}[data-puck-entry] .es-zone:empty:is(.is-area-selected,.is-hovering-area:not(.is-root)){outline:1px solid var(--es-accent-line, #bfdbfe)}[data-puck-overlay-portal]:hover{outline:1px solid color-mix(in srgb,var(--es-accent, #2563eb) 60%,transparent);outline-offset:2px}[data-puck-overlay-portal],[data-puck-overlay-portal] *{pointer-events:auto!important}[data-puck-overlay-portal]:focus-within{outline:2px solid var(--es-accent-line, #bfdbfe);outline-offset:2px}[data-puck-overlay-portal]:hover:has([data-puck-overlay-portal]:hover){outline:none}[data-puck-entry]:has([data-puck-overlay-portal]:hover) .es-canvas-outline.is-hover{outline:none}.sf-insp-body{flex:1;overflow-y:auto;scrollbar-gutter:stable;--sf-insp-pad-x: var(--es-insp-pad-x, var(--space-16));padding-block:var(--space-4) var(--space-20);--sf-select-arrow: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23c3c3c3'><polygon points='0,0 100,0 50,50'/></svg>")}.sf-insp-body input[type=text]:not(:where(.rosh-focus-ring)),.sf-insp-body input[type=number]:not(:where(.rosh-focus-ring)),.sf-insp-body input:not([type]):not(:where(.rosh-focus-ring)),.sf-insp-body textarea:not(:where(.rosh-focus-ring)){width:100%;border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--sf-field-radius);padding:var(--space-8) var(--space-12);font-size:var(--text-sm);color:var(--sf-field-text);font-family:var(--sf-font)}.sf-insp-body input:not(:where(.rosh-focus-ring))::placeholder,.sf-insp-body textarea:not(:where(.rosh-focus-ring))::placeholder{color:var(--sf-field-placeholder);opacity:1}.sf-insp-body textarea:not(:where(.rosh-focus-ring)){min-height:74px;line-height:1.45;resize:vertical}.sf-insp-body input[type=text]:not(:where(.rosh-focus-ring)):focus,.sf-insp-body input:not([type]):not(:where(.rosh-focus-ring)):focus,.sf-insp-body textarea:not(:where(.rosh-focus-ring)):focus{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-insp-body input[aria-invalid=true]{border-color:var(--sf-danger)}.sf-insp-body select{width:100%;border:1px solid var(--sf-input-border);background-color:var(--sf-field-bg);appearance:none;-webkit-appearance:none;background-image:var(--sf-select-arrow);background-size:12px;background-repeat:no-repeat;background-position:calc(100% - 12px) calc(50% + 3px);border-radius:var(--sf-field-radius);padding:var(--space-8) var(--space-12);font-size:var(--text-sm);color:var(--sf-field-text);cursor:pointer}.sf-editor .sf-body .sf-panel .sf-insp-body select:hover{background-color:var(--sf-hover);background-image:var(--sf-select-arrow);border-color:var(--sf-input-border)}.sf-insp-body input[type=range]{accent-color:var(--sf-accent)}.sf-multi-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:var(--sf-field-radius);padding:var(--space-8) var(--space-12);font-size:var(--text-sm);font-family:var(--sf-font);color:var(--sf-field-text);text-align:left;cursor:pointer}.sf-multi-btn:focus-visible{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-multi-caret{font-size:var(--text-2xs);color:var(--sf-text-secondary);flex:none}.sf-multi-menu{margin:var(--space-8) 0 0;padding:4px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);display:flex;flex-direction:column}.sf-secttheme-btn{display:block;width:100%}.sf-secttheme-btn:focus-within{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-secttheme-btn .sf-theme-pick:focus-visible,.sf-secttheme-btn .sf-theme-edit:focus-visible{outline:none}.sf-secttheme-caret{flex:none;border:0;background:none;padding:var(--space-4) var(--space-2) var(--space-4) var(--space-8);font:inherit;line-height:1;color:var(--sf-text-secondary);cursor:pointer}.sf-secttheme-oncard{margin:0;padding:var(--space-8) var(--space-4) var(--space-8);font-size:var(--text-2xs);line-height:1.4;color:var(--sf-text-secondary)}.sf-secttheme-nopreview{display:block;height:74px;background:var(--sf-field-bg);border-bottom:1px dashed var(--sf-input-border)}.sf-secttheme-chip{width:30px;height:20px;flex:none;display:flex;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--line-strong)}.sf-secttheme-chip i{display:block;height:100%;flex:1 1 auto}.sf-secttheme-chip i.sf-secttheme-chip-accent{flex:0 0 40%}.sf-secttheme-chip--none{background:var(--sf-field-bg);border-style:dashed}.sf-secttheme-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1 1 auto;min-width:0}.sf-secttheme-menu{display:flex;flex-direction:column;padding:4px;gap:8px;background:var(--sf-accent-tint)}.sf-secttheme-menu>.sf-secttheme-item{flex:none}.sf-secttheme-item{display:flex;align-items:center;gap:var(--space-12);width:100%;padding:var(--space-8) var(--space-8);border:0;background:transparent;border-radius:max(calc(var(--sf-field-radius) - 2px),2px);font-size:var(--text-sm);font-family:var(--sf-font);color:var(--sf-field-text);text-align:left;cursor:pointer}.sf-secttheme-item:hover{background:var(--sf-accent-ring)}.sf-secttheme-item.is-active{background:var(--sf-accent-ring);font-weight:600}.sf-secttheme-item:focus-visible,.sf-secttheme-done:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px;border-radius:var(--radius-sm)}.sf-secttheme-sep{height:1px;margin:var(--space-4) 0;background:var(--sf-input-border)}.sf-secttheme-sheet{margin-top:var(--space-8);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);overflow:hidden}.sf-secttheme-sheet-head{display:flex;align-items:center;padding:var(--space-8) var(--space-12);background:var(--sf-field-bg);border-bottom:1px solid var(--sf-input-border);font-size:var(--text-xs);font-weight:600;color:var(--sf-field-text)}.sf-secttheme-done{margin-left:auto;padding:2px 4px;border:0;background:transparent;color:var(--sf-text-secondary);font-size:var(--text-2xs);font-family:var(--sf-font);cursor:pointer}.sf-secttheme-rows{padding:0 12px 12px}.sf-secttheme-rows>.es-field:first-child{margin-top:var(--es-rhythm-group-first)}.sf-secttheme-warn{margin:0;padding:var(--space-8) var(--space-12);border-top:1px solid var(--sf-input-border);background:var(--sf-accent-ring);font-size:var(--text-2xs);line-height:1.4;color:var(--sf-text-secondary)}.sf-panel--hidden{display:none}.sf-pages,.sf-styles{display:flex;flex-direction:column;min-height:0;height:100%}.sf-pages-find{flex:none;padding:0 var(--space-12) var(--space-8)}.sf-pages>.sf-note{margin:0 var(--space-12);padding:var(--space-12)}.sf-pages>.sf-note--error{margin-top:var(--space-4)}.sf-panel-head-actions{display:flex;align-items:center;gap:2px}.sf-insp-body .es-insp-tabs{padding:0;position:sticky;top:0;z-index:2;background:var(--sf-panel);box-shadow:0 -16px 0 0 var(--sf-panel)}.sf-field{margin-top:var(--es-rhythm-between)}.sf-insp-body .es-insp-row:has(.es-group-sub),.sf-theme-colours .es-group-sub,.sf-secttheme-rows .es-group-sub{border-top:1px solid var(--sf-line);margin-top:var(--space-32);padding-top:var(--space-32);margin-left:calc(var(--sf-insp-pad-x) * -1);margin-right:calc(var(--sf-insp-pad-x) * -1);padding-left:var(--sf-insp-pad-x);padding-right:var(--sf-insp-pad-x)}.sf-insp-body .es-insp-row:has(.es-group-sub) .es-group-sub{margin-top:0}.sf-insp-body .es-insp-row:nth-child(1 of:not([hidden],:empty,:has(>[data-sf-device-hidden],>[data-sf-no-control]))):has(.es-group-sub){border-top:0;margin-top:0;padding-top:var(--es-rhythm-group-first)}.sf-insp-body .es-insp-row:has(.es-group-sub)+.es-insp-row .sf-field,.sf-insp-body .es-insp-row:has(.es-group-head)+.es-insp-row .sf-field{margin-top:var(--es-rhythm-group-first)}.sf-field-label{display:block;font-size:var(--text-xs);font-weight:500;color:var(--sf-text-secondary);margin-bottom:var(--es-rhythm-within)}.sf-field-label--inline{margin-bottom:0}.sf-panel--right.sf-hints-folded .es-field-hint:not(.sf-hint-keep):not(:has(.sf-hint-keep)){display:none}.es-field-hint:has(.sf-hint-while-typing){display:none}.es-field:focus-within>.es-field-hint:has(.sf-hint-while-typing){display:block}.es-insp-row:has(>[data-sf-no-control]){display:none!important}.sf-header-value[data-changed]{color:var(--sf-text)}.sf-field-readonly{border:1px solid var(--sf-input-border);background:var(--sf-chip-bg);border-radius:var(--sf-field-radius);padding:var(--space-8) var(--space-12);font-size:var(--text-sm);color:var(--sf-text-secondary);font-family:var(--sf-font);cursor:default;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-field-head{display:flex;align-items:center;gap:8px;margin-bottom:var(--es-rhythm-within)}.sf-field-head .sf-field-label{flex:1;min-width:0;margin-bottom:0}.sf-field-eye{flex:none;width:22px;height:22px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--sf-muted);display:flex;align-items:center;justify-content:center;opacity:.6;transition:background .12s,color .12s,opacity .12s}.sf-field-eye:hover{background:var(--sf-hover);opacity:1;color:var(--sf-text-secondary)}.es-field.is-hidden .es-field-label{color:var(--sf-muted);text-decoration:line-through}.es-field.is-hidden .sf-field-eye{opacity:1;color:var(--sf-text-secondary)}.es-field.is-hidden input,.es-field.is-hidden textarea,.es-field.is-hidden .sf-markup-bar{opacity:.5}.sf-copybox{border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);overflow:hidden}.sf-copybox:focus-within{border-color:var(--sf-accent);box-shadow:0 0 0 3px var(--sf-accent-ring)}.sf-copybox>.sf-markup-bar{margin-bottom:0;padding:var(--space-4) var(--space-8);border-bottom:1px solid var(--sf-input-border);background:var(--sf-hover)}.sf-copybox:not(:focus-within)>.sf-markup-bar{display:none}.sf-copybox>input,.sf-copybox>textarea,.sf-insp-body .sf-copybox>input[type=text],.sf-insp-body .sf-copybox>input:not([type]),.sf-insp-body .sf-copybox>textarea{border:none;border-radius:0;background:transparent;display:block;width:100%}.sf-copybox>input:focus,.sf-copybox>textarea:focus,.sf-insp-body .sf-copybox>input[type=text]:focus,.sf-insp-body .sf-copybox>input:not([type]):focus,.sf-insp-body .sf-copybox>textarea:focus{box-shadow:none}.sf-swatches{display:flex;align-items:center;gap:var(--space-12)}.sf-swatch{width:26px;height:26px;border-radius:var(--radius-lg);border:none;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px var(--line-strong)}.sf-swatch.is-active{box-shadow:0 0 0 2px var(--sf-panel),0 0 0 4px var(--sf-accent)}.sf-swatch-hex{font-size:var(--text-2xs);color:var(--sf-muted);font-variant-numeric:tabular-nums;margin-left:2px}.sf-colour{display:inline-flex;align-items:center;gap:var(--space-8);min-width:0}.es-field-head>.sf-colour{margin-left:auto}.sf-colour-hexwrap{flex:none;display:flex}.sf-colour-caption{font-size:var(--text-xs);color:var(--sf-muted);white-space:nowrap}.sf-editor .sf-colour input.sf-colour-hex.is-inherited,.sf-editor .sf-insp-body .sf-colour input[type=text].sf-colour-hex.is-inherited{color:var(--sf-muted)}.sf-chooser{display:flex;width:100%;align-items:center;gap:8px;padding:var(--space-8) var(--space-12);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-field-text);font-size:var(--text-sm);text-align:left;cursor:pointer}.sf-chooser:hover{background:var(--sf-hover)}.sf-chooser-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-chooser-meta{flex:none;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--sf-disabled)}.sf-chooser-caret{flex:none;color:var(--sf-disabled)}.sf-chooser-menu{position:absolute;left:0;z-index:50;margin-top:4px;width:100%;overflow:hidden;padding:4px 0;border:1px solid var(--sf-divider);border-radius:var(--sf-field-radius);background:var(--sf-panel);box-shadow:var(--es-menu-shadow)}.sf-chooser-menu--tall{max-height:256px;overflow:hidden auto}.sf-chooser-item{display:flex;width:100%;align-items:center;gap:8px;padding:var(--space-8) var(--space-12);border:0;background:none;text-align:left;font-size:var(--text-sm);color:var(--sf-text-secondary);cursor:pointer}.sf-chooser-item:hover{background:var(--sf-hover)}.sf-chooser-item.is-active{font-weight:600;color:var(--sf-text)}.sf-chooser-add{color:var(--sf-accent-text);font-weight:500}.sf-chooser-add:hover{background:var(--sf-hover)}.sf-rungs{display:flex;width:100%;gap:4px}.sf-rung{flex:1;padding:4px 8px;border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-text-secondary);font-size:var(--text-xs);cursor:pointer}.sf-rung:hover:not(.is-active){background:var(--sf-hover)}.sf-rung.is-active{border-color:var(--sf-disabled);background:var(--sf-chip-bg);color:var(--sf-text);font-weight:600}.sf-shadow-chip{display:block;flex:none;box-sizing:border-box;width:16px;height:11px;border:1px solid var(--sf-disabled);background:var(--sf-field-bg)}.sf-hints{display:flex;margin-top:var(--space-32)}.sf-hints-toggle{display:inline-flex;flex:none;align-items:center;gap:var(--space-8);color:var(--sf-muted)}.sf-hints-toggle svg{flex:none}.sf-scale-a{flex:none;font-size:var(--text-2xs);line-height:1;color:var(--sf-disabled)}.sf-scale-a--lg{font-size:var(--text-base);color:var(--sf-muted)}.sf-auto-reset{padding:var(--space-2) var(--space-8);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);font-size:var(--text-2xs);color:var(--sf-text-secondary);cursor:pointer}.sf-auto-reset:hover{background:var(--sf-hover)}.sf-site-styles-tabpanel>:first-child{margin-top:var(--es-rhythm-group-first)}.sf-style-list{display:flex;flex-direction:column}.sf-style-head{display:flex;width:100%;align-items:center;gap:8px;padding:var(--space-12) 0;background:none;border:0;text-align:left;cursor:pointer}.sf-style-head:hover .sf-style-sample{color:var(--sf-text)}.sf-style-caret{display:inline-flex;flex:none;align-items:center;color:var(--sf-disabled);transition:transform .12s ease}.sf-style-row.is-open .sf-style-caret{transform:rotate(90deg)}.sf-style-name{flex:none;font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted)}.sf-style-sample{min-width:0;margin-left:auto;overflow:hidden;color:var(--sf-text);text-overflow:ellipsis;white-space:nowrap}.sf-style-sample-tip{position:relative;display:flex;min-width:0;margin-left:auto}.sf-style-slot{display:inline-flex;flex:none;width:14px;height:14px;align-items:center;justify-content:center;color:var(--sf-muted);opacity:0;transform:scale(.6);transition:opacity .16s ease,transform .16s ease}.sf-style-slot.is-saved{opacity:1;transform:scale(1)}@media(prefers-reduced-motion:reduce){.sf-style-slot{transition:none}}.sf-style-body{padding:2px 0 12px}.sf-select{padding:var(--space-8) var(--space-8);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-text);font-size:var(--text-xs);cursor:pointer}.sf-rung--glyph{flex:0 0 34px;font-size:var(--text-sm);line-height:18px;text-align:center}.sf-rung--glyph:disabled{color:var(--sf-disabled);cursor:not-allowed}.sf-rung--glyph:disabled:hover{background:var(--sf-field-bg)}.sf-rung-tip{position:relative;display:inline-flex;flex:0 0 34px}.sf-rung-tip .sf-rung--glyph{flex:1}.sf-tip-disabled{display:inline-flex}.sf-rung-tip>.sf-tip-disabled{flex:1}.sf-tip-disabled>button:disabled{pointer-events:none}.sf-tip-disabled:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:var(--radius-sm)}.sf-theme-list{display:flex;flex-direction:column;gap:8px;margin-top:max(var(--es-row-gap),var(--es-rhythm-group-first))}.sf-theme-card,.sf-secttheme-btn{border:1px solid var(--sf-input-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--sf-panel)}.sf-theme-card:hover,.sf-secttheme-btn:hover{border-color:var(--sf-muted)}.sf-theme-card.is-selected{border-color:var(--sf-accent);box-shadow:0 0 0 2px var(--sf-accent-ring)}.sf-theme-pick{display:block;width:100%;padding:0;border:0;background:none;font:inherit;text-align:left;cursor:pointer}.sf-theme-page{display:flex;flex-direction:column;gap:4px;padding:var(--space-12) var(--space-12)}.sf-theme-eyebrow{font-size:7.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1}.sf-theme-headline{font-size:var(--text-sm);font-weight:750;letter-spacing:-.01em;line-height:1.1}.sf-theme-body{font-size:9.5px;line-height:1.4;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sf-theme-row{display:flex;align-items:center;gap:var(--space-8);margin-top:1px}.sf-theme-btn{font-size:8.5px;font-weight:700;letter-spacing:.02em;padding:var(--space-8) var(--space-12);border-radius:var(--radius-sm);white-space:nowrap;flex:none}.sf-theme-mini{flex:1;min-width:0;height:22px;border-radius:var(--radius-sm);border:1px solid;display:flex;align-items:center;justify-content:center;font-size:7.5px;font-weight:600;opacity:.75}.sf-theme-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:var(--space-8) var(--space-8) var(--space-8) var(--space-12);background:var(--sf-hover)}.sf-theme-card.is-selected .sf-theme-foot{color:var(--sf-accent-text)}.sf-theme-name{font-size:var(--text-2xs);font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-theme-warn{flex:none;margin-left:auto;font-size:var(--text-2xs);font-weight:700;color:var(--status-warning-soft-ink);white-space:nowrap}.sf-theme-warn+.sf-theme-edit{margin-left:8px}.sf-theme-name{margin-right:auto}.sf-theme-edit{flex:none}.sf-theme-colours{padding:0 12px 12px}.sf-theme-colours[hidden]{display:none}.sf-theme-colours>.es-field:first-child{margin-top:var(--es-rhythm-group-first)}.sf-theme-reset{margin-top:var(--es-rhythm-between-tight)}.sf-theme-add{display:flex;align-items:center;gap:var(--space-8);margin-top:8px;border:0;background:none;font:inherit;font-size:var(--text-xs);font-weight:600;color:var(--sf-accent-text);padding:4px 0;cursor:pointer}.sf-theme-add:hover{text-decoration:underline}.sf-colour-lede{margin-top:-3px;margin-bottom:var(--space-12)}.sf-colour-pair{border:1px solid var(--sf-divider);border-radius:var(--sf-row-radius);padding:var(--space-2) var(--space-12) var(--space-12);background:var(--sf-app-bg)}.sf-colour-row{margin-top:var(--space-12);display:flex;align-items:center;justify-content:space-between;gap:12px}.sf-colour-mode{font-size:var(--text-xs);font-weight:500;color:var(--sf-text-secondary)}.sf-colour-mode small{display:block;margin-top:1px;font-size:var(--text-2xs);font-weight:400;color:var(--sf-muted)}.sf-readability{margin-top:var(--space-12);padding:var(--space-12) var(--space-12) var(--space-12);border:1px solid var(--sf-divider);border-radius:var(--sf-row-radius)}.sf-readability-row{display:flex;align-items:center;gap:var(--space-12);padding:4px 0;font-size:var(--text-xs)}.sf-readability-who{flex:1;color:var(--sf-text-secondary)}.sf-readability-dot{width:8px;height:8px;flex:none;border-radius:50%;background:var(--sf-disabled)}.sf-readability-val{color:var(--sf-muted)}.sf-readability-dot.is-good{background:var(--sf-muted)}.sf-readability-dot.is-large-only{background:var(--sf-warning)}.sf-readability-dot.is-hard{background:var(--sf-danger)}.sf-readability-val.is-good{color:var(--sf-text-secondary)}.sf-readability-val.is-large-only{color:var(--sf-warning)}.sf-readability-val.is-hard{color:var(--sf-danger)}.sf-readability-advice{margin-top:var(--space-8);font-size:var(--text-2xs);line-height:1.6;color:var(--sf-muted)}.sf-readability-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-top:8px}.sf-readability-suggestion{display:inline-flex;align-items:center;gap:var(--space-8);height:26px;padding:0 var(--space-12);border:1px solid var(--sf-input-border);border-radius:var(--sf-field-radius);background:var(--sf-field-bg);color:var(--sf-btn-text);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;cursor:pointer}.sf-readability-suggestion:hover{background:var(--sf-hover)}.sf-readability-chip{width:9px;height:9px;flex:none;border-radius:calc(var(--radius-sm) / 2);box-shadow:inset 0 0 0 1px var(--line-strong)}.sf-slider{display:flex;align-items:center;gap:12px}.es-field-ctl>.sf-slider{flex:1;min-width:0}.sf-slider>.sf-slider-track{flex:1;min-width:0}.sf-slider.has-notch{position:relative}.sf-slider.has-notch:before{content:"";position:absolute;top:50%;left:calc(7px + (100% - 14px) * var(--sf-notch));width:2px;height:10px;margin-top:-5px;border-radius:calc(var(--radius-sm) / 2);background:var(--sf-input-border);pointer-events:none}.sf-preview-pin{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:var(--space-12) var(--space-16);background:var(--sf-panel)}.sf-preview-pin-text{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.sf-preview-pin-label{font-size:var(--text-sm);font-weight:500;color:var(--sf-text)}.sf-preview-pin-hint{font-size:var(--text-2xs);color:var(--sf-muted)}.sf-colstep{display:flex;align-items:center;gap:var(--space-8)}.sf-colstep-value{min-width:14px;text-align:center;font-size:var(--text-sm);font-weight:500;color:var(--sf-text)}.sf-checkbox{cursor:pointer}.sf-locked{opacity:.5;pointer-events:none}.sf-seg2 button:focus-visible,.sf-readability-suggestion:focus-visible,.sf-swatch:focus-visible,.sf-field-eye:focus-visible,.sf-insp-body select:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px}.sf-seg2 button:focus-visible{outline-offset:-1px}.sf-seg2{display:flex;gap:var(--space-4);background:var(--sf-track-bg);border:1px solid var(--sf-input-border);border-radius:var(--radius-lg);padding:var(--space-4)}.sf-seg2 button{flex:1;border:none;background:transparent;border-radius:var(--radius-md);padding:var(--space-8) var(--space-8);font-size:var(--text-xs);font-weight:500;color:var(--sf-icon);cursor:pointer;transition:background .12s,color .12s,box-shadow .12s}@container (width < 284px){.sf-seg2 button{padding-inline:var(--space-8)}}.sf-seg2 button:hover:not(.is-active){color:var(--sf-text-secondary);background:var(--sf-hover)}.sf-seg2 button.is-active{background:var(--sf-raised);color:var(--sf-text-strong);box-shadow:var(--es-raised-shadow)}.sf-seg2[data-disabled]{opacity:.5;cursor:not-allowed}.sf-seg2[data-disabled] button{cursor:not-allowed;color:var(--sf-disabled)}.sf-seg2[data-disabled] button.is-active{color:var(--sf-text-secondary)}.sf-seg2[data-disabled] button:hover:not(.is-active){background:transparent;color:var(--sf-disabled)}.sf-seg2 button>svg{display:block;margin:0 auto}.es-list-above>.sf-markup-bar{margin-bottom:0}input.sf-list-marking{border-color:var(--sf-accent);box-shadow:0 0 0 1px var(--sf-accent-tint)}.sf-blogsource{display:flex;flex-direction:column;gap:var(--space-12)}.sf-blogsource-action{align-self:flex-start}.sf-blogsource-status{margin:0;font-size:var(--text-xs);color:var(--sf-text-secondary)}.sf-blogsource-status[data-state=error]{color:var(--sf-danger)}.sf-source-open{display:inline;padding:0;border:0;background:none;font:inherit;color:var(--sf-accent-text);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.sf-source-open:hover{color:var(--sf-accent)}.sf-source-open:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:calc(var(--radius-sm) / 2)}.sf-formpicker{display:flex;flex-direction:column;gap:var(--space-12)}.sf-formsummary-caption{margin-bottom:4px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.02em;color:var(--sf-text-secondary)}.sf-formsummary-fields{margin:0;padding-left:var(--space-20);font-size:var(--text-xs);line-height:1.55;color:var(--sf-text-secondary)}.sf-formsummary-warn{margin:0;font-size:var(--text-xs);line-height:1.45;color:var(--sf-danger)}.sf-formsummary-actions{display:flex;flex-wrap:wrap;gap:8px}.sf-image-slot-inert{border:1.5px dashed var(--sf-input-border);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-16);font-size:var(--text-xs);line-height:1.5;color:var(--sf-muted);background-image:repeating-linear-gradient(45deg,var(--sf-hatch) 0 1px,transparent 1px 12px)}.sf-note{padding:var(--space-16) var(--space-16);font-size:var(--text-sm);line-height:1.5;color:var(--sf-muted)}.sf-note p+p{margin-top:8px}.sf-note strong{color:var(--sf-text);font-weight:600}.sf-note-detail{margin-top:var(--space-12);font-size:var(--text-2xs);color:var(--sf-muted);opacity:.75;word-break:break-all}.sf-note--error{color:var(--sf-danger);background:var(--sf-danger-tint);border-radius:var(--radius-md)}.sf-part-style{position:relative;margin:0 0 4px;padding:var(--space-12) var(--space-16);border:1px solid var(--sf-divider);border-radius:var(--radius-xl);background:var(--sf-track-bg)}.sf-part-style.has-overrides{border-color:var(--sf-accent-ring)}.sf-part-style.has-overrides:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--sf-accent);border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.sf-part-style-caption{margin-bottom:2px;font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-part-style-count{margin-bottom:var(--space-4);font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted)}.sf-part-style-name{min-width:0;font-size:var(--text-xl);line-height:1.15;letter-spacing:-.01em;color:var(--sf-text-strong);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sf-part-style-pick{position:relative}.sf-part-style-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;min-width:0}.sf-part-style-trigger .sf-part-style-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sf-part-style-sign{margin-left:auto;width:16px;flex:none;text-align:center;color:var(--sf-muted);font-size:var(--text-sm);line-height:1}.sf-part-style-trigger[aria-expanded=false] .sf-part-style-sign:before{content:"+"}.sf-part-style-trigger[aria-expanded=true] .sf-part-style-sign:before{content:"\2212"}.sf-part-style-trigger:focus-visible{outline:2px solid var(--sf-accent);outline-offset:2px;border-radius:var(--radius-sm)}.sf-part-style-menu{position:absolute;z-index:30;left:0;right:0;box-shadow:var(--es-menu-shadow)}.sf-part-style-option{display:flex;align-items:baseline;gap:8px;width:100%;padding:var(--space-8) var(--space-12);border:0;background:none;text-align:left;font-size:var(--text-sm);color:var(--sf-field-text);border-radius:max(calc(var(--sf-field-radius) - 2px),2px);cursor:pointer}.sf-part-style-option:hover{background:var(--sf-accent-ring)}.sf-part-style-option:focus-visible{outline:2px solid var(--sf-accent);outline-offset:-2px}.sf-part-style-option.is-on{background:var(--sf-accent-ring);font-weight:600}.sf-part-style-option-name{flex:0 0 auto;white-space:nowrap}.sf-part-style-option .sf-note{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.es-fsel-label.sf-part-style-keep{flex:none}.sf-part-style-aside{min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-2xs);font-weight:400;color:var(--es-muted)}.sf-part-style-meta{margin-top:1px;font-size:var(--text-2xs);color:var(--sf-muted);font-variant-numeric:tabular-nums}.sf-part-style-top{display:flex;align-items:center;gap:var(--space-12);margin-top:8px}.sf-part-style-gap{flex:1}.sf-part-style-state{font-size:var(--text-xs);color:var(--sf-text-secondary)}.sf-part-chip{display:inline-flex;align-items:center;border-radius:999px;padding:var(--space-2) var(--space-12);background:var(--sf-accent-tint);color:var(--sf-accent-text);font-size:var(--text-2xs);font-weight:700;font-variant-numeric:tabular-nums}.sf-part-link{border:0;background:none;padding:0;font:inherit;font-size:var(--text-xs);font-weight:500;color:var(--sf-accent-text);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--sf-accent-ring)}.sf-part-link:hover{text-decoration-color:currentColor}.es-group-body>.sf-note{margin:12px 0 -4px;padding:0 0 0 2px}.sf-slot-rows>.sf-note{padding:var(--space-12) var(--space-12) var(--space-12)}.sf-part-field.is-style-value>.es-field-head>.es-field-value{color:var(--sf-muted)}.sf-part-select{width:100%;min-width:0}.sf-part-ink{display:flex;flex-direction:column;gap:8px;min-width:0}.sf-part-ink-top{display:flex;align-items:baseline;gap:8px}.sf-part-ink-label{font-size:var(--text-2xs);font-weight:600;color:var(--sf-muted)}.sf-part-ink-read{margin-left:auto;font-size:var(--text-xs);color:var(--sf-text-secondary);font-variant-numeric:tabular-nums}.sf-part-ink-swatches{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-8)}.sf-part-mark{width:18px;height:18px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:var(--sf-accent);cursor:pointer}.sf-part-mark-dot{transform-origin:center;transition:transform .15s ease,opacity .15s ease}.sf-part-mark-arrow{opacity:0;transition:opacity .15s ease}.sf-part-mark:hover .sf-part-mark-dot,.sf-part-mark:focus-visible .sf-part-mark-dot{transform:scale(0);opacity:0}.sf-part-mark:hover .sf-part-mark-arrow,.sf-part-mark:focus-visible .sf-part-mark-arrow{opacity:1}@media(prefers-reduced-motion:reduce){.sf-part-mark-dot,.sf-part-mark-arrow{transition:none}}.sf-part-text{margin-top:4px;margin-bottom:4px}.sf-part-text .sf-copybox textarea{min-height:84px;line-height:1.5;resize:vertical}.sf-entries{margin-top:32px}.sf-entries-head{margin:var(--space-16) 0 var(--space-4);font-size:var(--text-2xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--sf-muted)}.sf-entry-eye{display:inline-flex;align-items:center;color:var(--sf-muted)}.sf-slot-rows .sf-add-card{padding:var(--space-8) var(--space-12);border-radius:0}.sf-gallery-filter{display:flex;gap:var(--space-8);flex-wrap:wrap}.sf-gallery-filter button{border:1px solid var(--sf-input-border);background:var(--sf-field-bg);border-radius:999px;padding:var(--space-4) var(--space-12);font-size:var(--text-xs);font-weight:600;color:var(--sf-icon);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.sf-gallery-filter button:hover{background:var(--sf-hover)}.sf-gallery-filter button[aria-pressed=true]{background:var(--sf-accent);border-color:var(--sf-accent);color:var(--sf-on-accent)}.sf-gallery-layouts{margin-top:var(--space-8)}.es-field-ctl>.sf-gallery-layouts,.es-field-ctl>.sf-gallery-filter{flex:1 1 auto;min-width:0}.sf-gallery-pic{width:100%;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:6px;grid-auto-flow:row dense;gap:2px}.sf-gallery-pic i{display:block;background:var(--sf-track-bg);border-radius:calc(var(--radius-sm) / 2)}.sf-gallery-layouts button[aria-pressed=true] .sf-gallery-pic i{background:var(--sf-accent)}.sf-gallery-count{font-size:var(--text-2xs);color:var(--sf-disabled);margin-top:var(--space-8)}.sf-locations-view{margin-top:var(--es-rhythm-between)}.sf-blogsource>.es-field-hint,.sf-formsummary .es-field-hint{margin:0}.es-field-ctl>.sf-copybox{flex:1 1 auto;min-width:0}.sf-canvas-notice{position:absolute;top:8px;left:8px;right:8px;z-index:1}.es-ts+.es-ts-section{margin-top:var(--es-rhythm-group)}
|
package/dist/index.d.ts
CHANGED
|
@@ -35,7 +35,13 @@ export interface MediaPickRequest {
|
|
|
35
35
|
accept: string;
|
|
36
36
|
/** The field's label, e.g. "Background image". */
|
|
37
37
|
title: string;
|
|
38
|
+
/** A file dropped straight on the field: the host uploads it and picks it
|
|
39
|
+
* without waiting for a click. */
|
|
38
40
|
file?: File | null;
|
|
41
|
+
/** The field's own terms for its host's panel, handed to it untouched.
|
|
42
|
+
* Absent when the field gave none; the window's `open-media-picker`
|
|
43
|
+
* message never carries it. */
|
|
44
|
+
options?: Record<string, unknown>;
|
|
39
45
|
}
|
|
40
46
|
|
|
41
47
|
/** The props the host's media panel is drawn with. */
|
|
@@ -73,6 +79,11 @@ export type EditorToHostMessage =
|
|
|
73
79
|
| { type: "storefront-editor:open-category"; categoryId: string; name?: string }
|
|
74
80
|
| { type: "storefront-editor:open-product"; slug: string; name?: string }
|
|
75
81
|
| { type: "storefront-editor:open-post"; slug: string; title?: string }
|
|
82
|
+
/** Open the website's Settings (`"settings"`, e.g. Selling, where the stock
|
|
83
|
+
* rules live) or its Shipping (`"shipping"`, the pickup places) in the host,
|
|
84
|
+
* from a panel row that reads a rule the editor does not own. Nothing
|
|
85
|
+
* answers it. */
|
|
86
|
+
| { type: "storefront-editor:open-site-section"; section: "settings" | "shipping" }
|
|
76
87
|
| { type: "storefront-editor:open-menus"; menuId?: string | null }
|
|
77
88
|
| { type: "storefront-editor:open-page"; slug: string }
|
|
78
89
|
| { type: "storefront-editor:new-page" }
|
|
@@ -519,6 +530,7 @@ export interface SiteThemeRow {
|
|
|
519
530
|
block_gap?: number | null;
|
|
520
531
|
hero_background_follows_width?: boolean | null;
|
|
521
532
|
photography_grayscale?: boolean | null;
|
|
533
|
+
share_button_on_posts?: boolean | null;
|
|
522
534
|
word_styles?: Partial<Record<string, Record<string, unknown> | null>> | null;
|
|
523
535
|
/** The website's text styles as ONE list: every style with ONLY the values
|
|
524
536
|
* its merchant set. NULL means "read the old columns". */
|