efficient-storefront-blocks 0.47.0 → 0.49.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 +49 -0
- package/dist/chunks/EditorPreviewCheckout-PU4R5GN7.js +4 -0
- package/dist/chunks/{SiteEditorProvider-F3CFXIIO.js → SiteEditorProvider-FZBRQ2B2.js} +1 -1
- package/dist/chunks/chunk-5JCRKBCY.js +1 -0
- package/dist/chunks/chunk-C7MFEEPZ.js +1 -0
- package/dist/chunks/chunk-VMPVYAOB.js +255 -0
- package/dist/chunks/{chunk-IAV6LRGK.js → chunk-ZC7LDSMX.js} +1 -1
- package/dist/chunks/{fitment-data-2FUV22CG.js → fitment-data-K76YEOJL.js} +1 -1
- package/dist/consent.d.ts +47 -0
- package/dist/consent.js +1 -0
- package/dist/contract.js +1 -1
- package/dist/editor.css +1 -1
- package/dist/index.d.ts +21 -91
- package/dist/index.js +108 -80
- package/dist/words.d.ts +12 -3
- package/dist/words.js +6 -6
- package/package.json +10 -3
- package/dist/chunks/EditorPreviewCheckout-33A6G6NG.js +0 -4
- package/dist/chunks/chunk-C6CQWBF7.js +0 -255
- package/dist/chunks/chunk-OUTUANSR.js +0 -1
- package/dist/chunks/chunk-PNTJHDOO.js +0 -1
- /package/dist/chunks/{SectionEditorShell-3ZKNO54T.js → SectionEditorShell-2BUHUZDQ.js} +0 -0
- /package/dist/chunks/{chunk-64T5EISP.js → chunk-OCPDFASX.js} +0 -0
- /package/dist/chunks/{chunk-C6CQWBF7.js.LEGAL.txt → chunk-VMPVYAOB.js.LEGAL.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as at,j as fe,r as st,t as lt,u as ut,w as q}from"./chunk-IAV6LRGK.js";import{Aa as rt,Da as $e,Ea as ot,za as pe}from"./chunk-OUTUANSR.js";import{e as nt,q as it,s as oe}from"./chunk-64T5EISP.js";import{createContext as rn,useContext as on,useEffect as an,useMemo as he,useState as mt}from"react";function ct(e,t){return e.map(n=>({partNumber:n.partNumber,quantity:n.wheels*t}))}function ie(e,t){if(e.length===0)return null;let n=0;for(let r of e){let o=r.prices?.[t];if(typeof o!="number"||!Number.isFinite(o)||o<=0)return null;n+=o*r.wheels}return n}var He=4,yr=1,br={unit:"set",spares:0,spareSide:"left"};function dt(e){return e.unit==="single"?1:He+e.spares}function Cr(e,t){return[{partNumber:e.partNumber,wheels:dt(t),prices:e.prices}]}function xr(e,t){let n=dt(t)-He;if(n<=0||e.length===0)return e;let r=tn(e),o=r?r[t.spareSide]:0;return e.map((i,a)=>a===o?{...i,wheels:i.wheels+n}:i)}function tn(e){let t,n;for(let r=0;r<e.length;r+=1){let o=e[r].hand;if(o!=="left"&&o!=="right")continue;if((o==="left"?t:n)!==void 0)return null;o==="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 Sr(e){return e.unit==="single"?"Single":nn(`Set of ${He}`,e)}var vr="data-add-to-basket",qe=9,Te="en";function ge(e,t,n=0){return new Intl.NumberFormat(Te,{style:"currency",currency:t,minimumFractionDigits:0,maximumFractionDigits:n}).format(e)}function Er(e,t){return new Intl.NumberFormat(Te,{style:"currency",currency:t}).format(e)}import{jsx as un}from"react/jsx-runtime";var pt="storefront-country",ft=rn(null);function sn(e){return gt(e,"catalogue")}function ln(e){return gt(e,"money")}function gt(e,t){let n=new Map(e.map(o=>[o.code,o.decimalPlaces])),r=new Map;return(o,i)=>{if(!i)return"";let a=r.get(i);if(!a){let s=n.get(i)??0;a=new Intl.NumberFormat(Te,{style:"currency",currency:i,minimumFractionDigits:t==="money"?s:0,maximumFractionDigits:s}),r.set(i,a)}return a.format(o)}}function Tr({children:e,currencies:t,countries:n,defaultCurrency:r,defaultCountry:o}){let i=he(()=>t??[],[t]),a=he(()=>n??[],[n]),s=he(()=>r||i.find(y=>y.isDefault)?.code||i[0]?.code||"",[r,i]),c=he(()=>o||a.find(y=>y.isDefault)?.code||a[0]?.code||"",[o,a]),[u,m]=mt(c),[d,S]=mt(!1);an(()=>{let y=oe.getItem(pt);y&&a.some(I=>I.code===y)&&m(y),S(!0)},[a]);function L(y){m(y),oe.setItem(pt,y)}let C=he(()=>{let y=a.find(v=>v.code===u)??null,I=y?.currency,M=I&&i.some(v=>v.code===I)?I:s,D=sn(i),N=ln(i);return{country:u,currency:M,setCountry:L,currencies:i,countries:a,activeCountry:y,formatPrice:(v,x)=>D(v,x??M),formatMoney:(v,x)=>N(v,x??M),ready:d}},[u,i,a,s,d]);return un(ft.Provider,{value:C,children:e})}function ht(){let e=on(ft);if(!e)throw new Error("useCurrency must be used within a CurrencyProvider");return e}import{createContext as Pn,useCallback as k,useContext as In,useEffect as j,useMemo as Nt,useRef as ae,useState as A}from"react";function bt(e,t){return e.valid?!1:e.reason==="firstOrderOnly"?!0:e.reason==="notEligible"&&!t}var Ct="We'll confirm this discount when you place your order.",kr="Confirmed at checkout";function Ar(e){return e&&(e.valid||e.deferred)?e.code:void 0}var yt="coupon_code: ";function Mr(e){return!(e instanceof fe)||e.status!==400||!e.message.startsWith(yt)?null:e.message.slice(yt.length)}function xt(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 Ne="Price on request",dn="Request a quote",mn="from ",Ur="From ",$r="each",St="Free";function Ke(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function We(e,t){let n=e?.[t];return Ke(n)?n:null}function Hr(e,t,n,r){let o=We(e,n),i=We(t,n);return o===null&&i===null?0:o===null?1:i===null?-1:r==="asc"?o-i:i-o}function qr(e,t,n,r){if(n==null&&r==null)return!0;let o=We(e,t);return!(o===null||n!=null&&o<n||r!=null&&o>r)}var pn={priced:!1,unit:null,was:null,onSale:!1,setTotal:null};function fn(e,t,n){if(!Ke(e))return pn;let r=Ke(t)&&t>e?t:null;return{priced:!0,unit:e,was:r,onSale:r!==null,setTotal:n!=null?e*n:null}}function Kr(e,t,n=""){return!e.priced||e.unit==null?Ne:`${n}${ge(e.unit,t)}`}function Wr(e,t){return e.was==null?null:ge(e.was,t)}function gn(e,t,n=1){let r=ie(e,t);if(r===null)return{priced:!1,unit:null,isFrom:!1,setTotal:null};let o=e.reduce((a,s)=>a+s.wheels,0),i=Math.min(...e.map(a=>a.prices[t]));return{priced:!0,unit:i,isFrom:i*o!==r,setTotal:r*n}}var hn={priced:!1,unit:null,isFrom:!1,was:null,onSale:!1,setTotal:null};function Br(e,t,n,r=1){let o=fn(e.prices[n],e.msrpPrices?.[n],4),i=o.setTotal==null?null:o.setTotal*r;if(!t)return{priced:o.priced,unit:o.unit,isFrom:!0,was:o.was,onSale:o.onSale,setTotal:null,fromSetTotal:i};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:i}:{...hn,fromSetTotal:i}}function yn(e,t){return!e.priced||e.unit==null?Ne:`${e.isFrom?mn:""}${ge(e.unit,t)}`}function zr(e,t){return e.was==null?null:ge(e.was,t)}function Gr(e,t){return!e.priced||e.unit==null?dn:yn(e,t)}var bn=/^[^@\s]+@[^@\s]+\.[^@\s]+$/;function vt(e){return bn.test(e.trim())}var Et="sf:ga-purchases",Cn=20;function It(){return typeof window>"u"||window.parent!==window}function ye(...e){try{if(It()||typeof window.gtag!="function")return;window.gtag(...e)}catch{}}function xn(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:ie(e.components,t)??0,quantity:e.qty}}function Be(e,t){return e.filter(Re).map(n=>xn(n,t))}function Jr(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 wt(e,t){let n=Be([e],t);n.length!==0&&ye("event","add_to_cart",{currency:t,value:n[0].price*n[0].quantity,items:n})}function Zr(e){let t=Be(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 Pt=new Set;function Sn(e){if(Pt.has(e))return!1;Pt.add(e);try{let t=JSON.parse(oe.getItem(Et)??"[]");if(t.includes(e))return!1;oe.setItem(Et,JSON.stringify([...t,e].slice(-Cn)))}catch{}return!0}function eo(e){let t=e.confirmation;if(It()||!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:Be(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",Lt="Calculated at checkout",En=Lt,ro=Lt;function Tt({quoted:e,optionCount:t,chosenAmount:n,couponWaivesFreight:r}){return e&&t===0?"arranged":r?"free":n===void 0?"pending":n===0?"free":"charged"}function oo(e){switch(e){case"arranged":return vn;case"pending":return En;case"free":return St;case"charged":return null}}import{jsx as Nn}from"react/jsx-runtime";var wn=400,Ln=400,Tn=1500;function Re(e){return(e.components?.length??0)>0}function Rt(e,t){return{code:e,valid:t.valid,deferred:bt(t,t.askedAsShopper),message:t.message||void 0,effects:t.effects??void 0}}function kt(e,t){return ie(e.components,t)}function ze(e,t){let n=kt(e,t);return n===null?null:n*e.qty}function _t(e){return e!=="tyre"}var At=Pn(null);function yo({children:e,preview:t=!1}){let{currency:n,country:r,formatMoney:o}=ht(),[i,a]=A(t),[s,c]=A([]),[u,m]=A([]),[d,S]=A([]),[L,C]=A(!1),[y,I]=A(!1),[M,D]=A(!1),[N,v]=A(!1),[x,K]=A(null),[R,W]=A(void 0),b=ae(r),w=ae("");b.current=b.current||r;let[p,B]=A(null),[Q,F]=A(!1),[O,ve]=A(null),z=ae(void 0),X=k(()=>a(!0),[]),le=k(()=>a(!1),[]),J=k(()=>a(l=>!l),[]);j(()=>{t||typeof window>"u"||new URLSearchParams(window.location.search).get("cart")==="open"&&X()},[X,t]);let Ee=k(l=>{v(!0),_t(l)&&D(!0)},[]),U=M||s.some(l=>_t(l.kind)),Pe=N||s.length>0;j(()=>{if(t||!U||L)return;let l=!0;return q.listWheels().then(f=>{l&&(m(f),C(!0))}),()=>{l=!1}},[t,U,L]),j(()=>{if(t||!Pe||y)return;let l=!0;return q.listBundles().then(f=>{l&&(S(f),I(!0))}),()=>{l=!1}},[t,Pe,y]);let P=x?.deliveryOptions??[];j(()=>{P.length!==0&&ve(l=>l&&P.some(f=>f.id===l)?l:P[0]?.id??null)},[x]);let Z=k(()=>s.filter(Re).flatMap(l=>ct(l.components,l.qty)),[s]),ee=k(async(l,f)=>{let h=l.trim().toUpperCase();if(!h)return;let g=Z();if(g.length===0){B({code:h,valid:!1,message:"Add a wheel to the cart first."});return}F(!0),z.current=f;try{let T=await q.validateCoupon({code:h,items:g,currency:n,shippingMethodId:O??void 0,customerEmail:f});B(Rt(h,T))}catch{B({code:h,valid:!1,message:"Could not check that code. Please try again."})}finally{F(!1)}},[Z,n,O]),ue=k(()=>{B(null),z.current=void 0},[]),ce=k(l=>{if(!p)return;let{code:f}=p;B(h=>h&&h.code===f?{code:f,valid:!1,refused:!0,message:l}:h)},[p]);j(()=>{if(!p||p.refused)return;let l=p.code,f=g=>g!==null&&g.code===l&&!g.refused,h=setTimeout(async()=>{let g=Z();if(g.length===0){B(T=>f(T)?{code:l,valid:!1,message:"Add a wheel to the cart first."}:T);return}F(!0);try{let T=await q.validateCoupon({code:l,items:g,currency:n,shippingMethodId:O??void 0,customerEmail:z.current});B(me=>f(me)?Rt(l,T):me)}catch{}finally{F(!1)}},wn);return()=>clearTimeout(h)},[s,n,O]);let te=p&&!p.refused?p.code:void 0;j(()=>{if(t)return;let l=!0,f=setTimeout(async()=>{let h=Z();if(h.length===0){K(null),W(void 0);return}try{let g=await q.quoteCart({items:h,currency:n,shippingMethodId:O??void 0,couponCode:te,customerEmail:z.current||void 0,country:b.current||void 0,subdivision:w.current||void 0});if(!l)return;K(g)}catch{if(!l)return}W(te)},Ln);return()=>{l=!1,clearTimeout(f)}},[s,n,O,te,r]);let de=k(l=>{c(f=>{let h=f.findIndex(g=>g.id===l.id);return h===-1?[...f,l]:f.map((g,T)=>T===h?{...g,qty:Math.min(qe,g.qty+l.qty)}:g)}),wt(l,n)},[n]),ne=k(l=>{c(f=>f.filter(h=>h.id!==l))},[]),Ie=k((l,f)=>{let h=Math.max(1,Math.min(qe,f));c(g=>g.map(T=>T.id===l?{...T,qty:h}:T))},[]),we=k(l=>{c(l)},[]),[E,$]=A(null),Y=ae(null);Y.current=E;let H=ae(null),Oe=ae(""),Qe=k((l,f)=>{let h=l.trim().toLowerCase();vt(h)&&$(g=>g&&g.email===h&&g.firstName===(f??"")?g:{email:h,firstName:f??""})},[]);j(()=>{if(t||!E)return;let l=xt(s.filter(Re),g=>ze(g,n)===null?Ne:o(ze(g,n),n)),f={email:E.email,firstName:E.firstName,currency:n,items:l},h=JSON.stringify(f);if(h!==Oe.current)return H.current&&clearTimeout(H.current),H.current=setTimeout(()=>{H.current=null,Oe.current=h,q.captureCart(f).catch(g=>{})},Tn),()=>{H.current&&(clearTimeout(H.current),H.current=null)}},[s,E,n,t]);let Je=k(()=>{H.current&&(clearTimeout(H.current),H.current=null);let l=Y.current;l&&(Oe.current="",q.captureCart({email:l.email,firstName:l.firstName,currency:n,items:[]}).catch(f=>{}))},[n]),Ze=Nt(()=>{let l=s.reduce((_,re)=>{let Le=ze(re,n);return Le===null?_:_+Le},0),f=s.some(_=>kt(_,n)===null),h=s.reduce((_,re)=>_+re.qty,0),g=p?.valid?p.effects:void 0,T=g?Math.min(l,Number(g.discountAmount)):0,me=x?.bundleDiscount??0,jt=x?.appliedBundles??[],Fe=!!g?.freeShipping,et=P.find(_=>_.id===O),tt=Fe?0:x?.shipping??et?.amount??0,Qt=Tt({quoted:x!==null,optionCount:P.length,chosenAmount:et?.amount,couponWaivesFreight:Fe}),Ue={};for(let _ of g?.freeUnits??[])Ue[_.partNumber]=(Ue[_.partNumber]??0)+_.quantity;let Jt=x?.tax??null,Zt=x?x.grandTotal:l-T-me+tt;return{sets:h,units:s.reduce((_,re)=>_+(re.components??[]).reduce((Le,en)=>Le+en.wheels*re.qty,0),0),subtotal:l,hasUnpricedLine:f,discount:T,bundleDiscount:me,appliedBundles:jt,shipping:tt,freeShipping:Fe,shippingStatus:Qt,freeUnitsByPartNumber:Ue,tax:Jt,grand:Zt,repricing:!!p?.refused&&x!==null&&R===p?.code,currency:n}},[s,n,p,P,O,x,R]),Yt=Nt(()=>({isOpen:i,preview:t,open:X,close:le,toggle:J,items:s,catalog:u,bundles:d,warmCatalog:Ee,add:de,remove:ne,setQty:Ie,replaceItems:we,identify:Qe,clearCapturedCart:Je,coupon:p,applyCoupon:ee,removeCoupon:ue,refuseCoupon:ce,couponBusy:Q,deliveryOptions:P,shippingMethodId:O,setShippingMethodId:ve,totals:Ze}),[i,t,X,le,J,s,u,d,Ee,de,ne,Ie,we,Qe,Je,p,ee,ue,ce,Q,P,O,Ze]);return Nn(At.Provider,{value:Yt,children:e})}function Mt(){let e=In(At);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 Dt(e,t,n,r){for(;e.size>=t;){let o,i;for(let[s,c]of e){if(c.expiresAt<=r){o=s;break}i===void 0&&n(s)&&(i=s)}let a=o??i??e.keys().next().value;if(a===void 0)return;e.delete(a)}}var Rn=6e4,_n=5e3,kn=500,_e=new Map;async function An(e){let{host:t,matchesRequestHost:n}=await st();if(!t)return"";let r=await lt();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 Ot(e,t){if(await ut()!==null)return t();let n=await An(e);if(!n)return t();let r=Date.now(),o=_e.get(n);if(o&&o.expiresAt>r)return o.load;let i=await t(),a=i.outcome.state==="failed",s=a?_n:Rn,c=_e.get(n)?.lastGood,u=i.outcome.state==="ok"?i:a?c:void 0,m=a&&u?u:i;return Dt(_e,kn,Mn,r),_e.set(n,{load:m,expiresAt:r+s,lastGood:u}),m}var Dn=404;function On(e){if(e instanceof fe&&e.status===Dn)return{state:"absent"};let t=e instanceof fe?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 Ft(e,t,n,r){try{let o=await t();return r?.(o)?{value:o,outcome:{state:"absent"}}:{value:o,outcome:{state:"ok"}}}catch(o){let i=On(o);return i.state==="failed"&&Un(e,i),{value:n,outcome:i}}}function $n(e){return e==="production"?"silent":"banner"}var Io=$n("production");function qn(e,t){return e?.trim()||t}function Ao({legalName:e,foundedYear:t,siteName:n},r=new Date().getFullYear()){let o=qn(e,n);return`\xA9 ${t&&t<r?`${t}\u2013${r}`:`${r}`} ${o}`}var Kn={name:pe,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:$e},Mo=Hn(async()=>Ot("site",()=>Ft("site",async()=>{let e=await q.getSite();return{name:rt(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:ot(e.socialLinks)}},Kn)));var Do={name:pe,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:$e};import{jsx as Ce,jsxs as Ge}from"react/jsx-runtime";import{useEffect as ke,useId as zn,useRef as $t,useState as Ae}from"react";var be=new Map,Wn=64;async function Bn(e){if(!nt())return null;try{let t=await fetch(`${it()}/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:o}=n;return typeof r!="string"?null:{reversed:r,inkIsDark:typeof o=="boolean"?o:null}}catch{return null}}function Ut(e){let t=be.get(e);if(t)return t;let n=Bn(e);if(be.set(e,n),be.size>Wn){let r=be.keys().next();r.done||be.delete(r.value)}return n}var Gn={small:54,medium:66,large:84},Vn=44,Xn=202/22,zo=16,Go=140,Yn=.88,Vo=16,jn="invert(1)";function Xo({variant:e="header",scrolled:t=!0,src:n,reverse:r=!1,color:o=null,onLightSurface:i,reversedSrc:a,inkIsDark:s,size:c="medium",sizePx:u,wordmark:m,siteName:d=pe,fitToContainer:S=!1,fitWordmarkToContainer:L=!1,fitFloorPx:C}){let y=m&&m.trim()?m.trim():d,[I,M]=Ae(!1),D=$t(null),N=E=>{D.current=E};ke(()=>{let E=D.current?.ownerDocument??document,$=()=>{M(E.documentElement.getAttribute("data-theme")==="light")};$();let Y=new MutationObserver($);return Y.observe(E.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>Y.disconnect()},[]);let v=n&&n.trim()?n.trim():null,x=!!v&&at(v),K=i??(I&&t),R=o&&o.trim()?o.trim():null,W=r&&!R,b=`logo-color-${zn().replace(/[^A-Za-z0-9_-]/g,"")}`,w=W&&x&&v&&a!=null?{reversed:a,inkIsDark:s??null}:null,p=w!==null,[B,Q]=Ae(null);ke(()=>{if(!W||!v||!x||p){Q(null);return}let E=!1;return Q(null),Ut(v).then($=>{E||Q($)}),()=>{E=!0}},[W,v,x,p]);let F=w??B,O=!!F&&F.inkIsDark!==null&&(K?!F.inkIsDark:F.inkIsDark),ve=W&&!!v&&!x&&!K,z=O&&F?F.reversed:v,X=z?[z]:[],[le,J]=Ae(0);ke(()=>{J(0)},[v,O]);let Ee=e==="footer"?Vn:Gn[c],U=u&&u>0?u:Ee,Pe=Math.round(U*Xn),P=le<X.length?X[le]:null,[Z,ee]=Ae(z),ue=P!==null&&P===Z,ce=$t(null);ke(()=>{let E=ce.current;if(!E||!E.complete)return;if(E.naturalWidth>0||E.naturalHeight>0){ee(P);return}let $=!1;return E.decode().then(()=>!$&&ee(P),()=>!$&&J(Y=>Y+1)),()=>{$=!0}},[P]);let te=S||L,de=`calc(100cqi / ${((y.length+1)*Yn).toFixed(2)})`,ne=te&&C&&C>0?Math.min(C,U):null,Ie=te?ne===null?`min(${U}px, ${de})`:`clamp(${ne}px, ${de}, ${U}px)`:`${U}px`,we=Ge("span",{className:`font-display font-bold tracking-[0.18em] ${ne===null?"whitespace-nowrap":"whitespace-normal"}`,style:{fontSize:Ie,lineHeight:1,...R?{color:R}:{}},"aria-label":y,children:[y,Ce("span",{className:"text-accent",style:R?{color:R}:void 0,children:"."})]});return Ge("span",{ref:N,className:"inline-flex items-center",children:[!ue&&we,R&&P&&Ce("svg",{"aria-hidden":"true",focusable:"false",width:"0",height:"0",style:{position:"absolute"},children:Ge("filter",{id:b,colorInterpolationFilters:"sRGB",children:[Ce("feFlood",{style:{floodColor:R}}),Ce("feComposite",{in2:"SourceAlpha",operator:"in"})]})}),P&&Ce("img",{ref:ce,src:P,alt:y,width:Pe,height:U,className:"shrink-0 object-contain",style:{...ue?{height:`${U}px`,width:"auto",...S?{maxWidth:"100cqi"}:{}}:{display:"none"},...ve?{filter:jn}:{},...R?{filter:`url(#${b})`}:{}},onLoad:()=>ee(P),onError:()=>J(E=>E+1)},P)]})}import{jsx as xe,jsxs as Jn}from"react/jsx-runtime";function Qn({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 m=u+Math.PI/e;s.push({x1:a(100+Math.cos(m)*22*1.4),y1:a(100+Math.sin(m)*22*1.4),x2:a(100+Math.cos(m)*78),y2:a(100+Math.sin(m)*78),main:!1})}}return Jn("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:[xe("circle",{cx:100,cy:100,r:92,strokeWidth:2}),xe("circle",{cx:100,cy:100,r:84,strokeWidth:1,opacity:.4}),xe("circle",{cx:100,cy:100,r:22,strokeWidth:2}),xe("circle",{cx:100,cy:100,r:6,fill:"currentColor"}),s.map((c,u)=>xe("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 Jo="#c9a461",Ht=[{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"}],Zo={name:"",color:"var(--fg)",family:"silver",src:""};function Zn(e,t){let n=r=>{let o=Ht.findIndex(i=>i.f===r);return o===-1?Ht.length:o};return n(e)-n(t)||e.localeCompare(t)}function ei(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(Zn)}import{useState as er}from"react";import{jsx as se,jsxs as Ve}from"react/jsx-runtime";function tr({customerEmail:e}){let{coupon:t,applyCoupon:n,removeCoupon:r,couponBusy:o}=Mt(),[i,a]=er("");async function s(){o||!i.trim()||(await n(i,e),a(""))}return Ve("div",{className:"flex flex-col gap-2",children:[t===null?Ve("div",{className:"flex border border-line",children:[se("input",{type:"text",value:i,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"}),se("button",{type:"button",onClick:()=>{s()},disabled:o,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:o?"\u2026":"Apply"})]}):Ve("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:[se("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}),se("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?se("p",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-fg-dim",children:Ct}):t&&!t.valid&&t.message&&se("p",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-alert",children:t.message})]})}function si(){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 rr,isValidElement as or,useEffect as Kt,useId as ir,useLayoutEffect as zt,useRef as G,useState as Wt}from"react";var Me=(e,t)=>!!e[t]&&!e[t].disabled;function Xe(e,t,n){let r=e.length;for(let o=1;o<=r;o++){let i=((t+n*o)%r+r)%r;if(Me(e,i))return i}return t}function Ye(e,t){return Xe(e,t===1?-1:e.length,t)}function je(e,t){return Me(e,t)?t:Math.max(Ye(e,1),0)}function qt(e,t,n){let{open:r,focus:o}=e,i=a=>({...e,...a});if(t.length===1&&/\S/.test(t)){let a=e.typed+t.toLowerCase(),s=n.findIndex((c,u)=>Me(n,u)&&c.label.toLowerCase().startsWith(a));return{state:i({open:!0,typed:a,focus:s>=0?s:o}),handled:!0}}if(!r)return t==="ArrowDown"||t==="ArrowUp"||t==="Enter"||t===" "?{state:i({open:!0,typed:""}),handled:!0}:{state:e,handled:!1};switch(t){case"ArrowDown":return{state:i({focus:Xe(n,o,1)}),handled:!0};case"ArrowUp":return{state:i({focus:Xe(n,o,-1)}),handled:!0};case"Home":return{state:i({focus:Ye(n,1)}),handled:!0};case"End":return{state:i({focus:Ye(n,-1)}),handled:!0};case"Enter":case" ":return Me(n,o)?{state:i({open:!1,typed:""}),commit:o,refocus:!0,handled:!0}:{state:e,handled:!0};case"Escape":return{state:i({open:!1,typed:""}),refocus:!0,handled:!0};case"Tab":return{state:i({open:!1,typed:""}),handled:!1};default:return{state:e,handled:!1}}}import{placeMenu as ar}from"efficient-shell/ui";import{Fragment as mr,jsx as V,jsxs as Gt}from"react/jsx-runtime";var Bt={body:"text-[length:var(--size-body,14px)]",label:"text-[length:var(--size-label,13px)]"};function sr({items:e,value:t,onPick:n,open:r,onOpen:o,onClose:i}){let[a,s]=Wt(!1),c=r!==void 0,u=c?r:a,[m,d]=Wt(0),S=G({text:"",timer:0}),L=G(null),C=G(null),y=G(null),I=ir(),M=G(null),D=e.findIndex(b=>b.value===t),N=b=>{b!==u&&(c||s(b),b?o?.():i?.())},v=b=>{let w=e[b];!w||w.disabled||(n(w.value),N(!1),C.current?.focus())},x=b=>{let w={open:u,focus:u?m:je(e,D),typed:S.current.text},p=qt(w,b,e);return!p.handled&&p.state.open===u?!1:(p.state.typed!==w.typed&&(S.current.text=p.state.typed,window.clearTimeout(S.current.timer),S.current.timer=window.setTimeout(()=>{S.current.text=""},500)),d(p.state.focus),p.commit!==void 0?v(p.commit):N(p.state.open),p.refocus&&C.current?.focus(),p.handled)},K=G(x);K.current=x;let R=G(()=>N(!1));R.current=()=>N(!1);let W=b=>{u||(M.current=b.nativeEvent,K.current(b.key)&&b.preventDefault())};return Kt(()=>{if(!u)return;let b=p=>{L.current?.contains(p.target)||R.current()},w=p=>{p!==M.current&&K.current(p.key)&&p.preventDefault()};return document.addEventListener("mousedown",b),document.addEventListener("keydown",w),()=>{document.removeEventListener("mousedown",b),document.removeEventListener("keydown",w)}},[u]),Kt(()=>{u&&(S.current.text||d(je(e,D)))},[u]),zt(()=>{if(!u||!y.current)return;y.current.children.item(m)?.scrollIntoView({block:"nearest"})},[m,u]),{open:u,toggle:()=>N(!u),close:()=>N(!1),focusIdx:m,setFocusIdx:d,pick:b=>v(e.findIndex(w=>w.value===b)),wrapRef:L,triggerRef:C,listRef:y,listId:I,onTriggerKeyDown:W,activeId:u?`${I}-${m}`:void 0}}var lr={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 ${Bt.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 ${Bt.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 ur(e,t){zt(()=>{let n=e.current,r=n?.ownerDocument.defaultView;if(!n||!r)return;let o=()=>{let i=n.style;i.top=i.bottom=i.marginTop=i.marginBottom=i.maxHeight=i.overflowY=i.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",m=ar({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(m.side==="top"){i.top="auto",i.bottom="100%",i.marginTop="0px";let S=m.top+Math.min(c.height,m.maxHeight);i.marginBottom=`${Math.max(0,s.top-S)}px`}m.maxHeight<c.height&&(i.maxHeight=`${m.maxHeight}px`,i.overflowY="auto");let d=m.left-c.left;d&&(i.translate=`${d}px`)};return o(),r.addEventListener("resize",o),r.addEventListener("scroll",o,!0),()=>{r.removeEventListener("resize",o),r.removeEventListener("scroll",o,!0)}},[e,t])}function cr({id:e,tone:t,items:n,value:r,focusIdx:o,onFocus:i,onPick:a,listRef:s,ariaLabel:c}){let u=lr[t],m=G(null);return ur(m,n.length),V("ul",{ref:d=>{m.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 L=d.value===r;return V("li",{id:`${e}-${S}`,role:"option","aria-selected":L,"aria-disabled":d.disabled||void 0,onMouseEnter:()=>!d.disabled&&i(S),onMouseDown:C=>{C.preventDefault(),d.disabled||a(d.value)},className:u.item(S===o,L&&d.value!=="",!!d.disabled,S===n.length-1),style:u.itemStyle?.(L),children:d.meta===void 0?d.label:Gt(mr,{children:[d.lead,V("span",{className:"flex-1 whitespace-nowrap",children:d.label}),V("span",{className:"ml-auto text-[12px] opacity-50",children:d.meta})]})},`${d.value}_${S}`)})})}function dr({value:e,onChange:t,disabled:n,children:r,className:o,style:i,name:a,id:s,"aria-label":c}){let u=rr.toArray(r).flatMap(C=>{if(!or(C))return[];if(C.type!=="option")return[];let I=C.props,M=I.value!==void 0?String(I.value):"",D=I.children,N=typeof D=="string"||typeof D=="number"?String(D):M;return[{value:M,label:N,disabled:!!I.disabled}]}),m=e??"",d=sr({items:u,value:m,onPick:C=>t?.({target:{value:C}})}),L=u.find(C=>C.value===m)?.label??u[0]?.label??"";return Gt("div",{ref:d.wrapRef,className:"relative",children:[a&&V("input",{type:"hidden",name:a,value:m}),V("button",{ref:C=>{d.triggerRef.current=C},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:C=>!n&&d.onTriggerKeyDown(C),className:`block w-full ${o??""}`,style:i,children:V("span",{className:"block w-full truncate text-left",children:L})}),d.open&&V(cr,{id:d.listId,tone:"select",items:u,value:m,focusIdx:d.focusIdx,onFocus:d.setFocusIdx,onPick:d.pick,listRef:d.listRef})]})}import{jsx as Se,jsxs as De}from"react/jsx-runtime";var pr="font-mono text-[length:var(--size-label,12px)]",fr="font-semibold uppercase tracking-[0.22em] text-fg";function Vt(e){return`${e??pr} ${fr}`}function Xt(){return Se("span",{className:"text-accent",children:" *"})}function gr({children:e,required:t,labelFace:n}){return De("span",{className:Vt(n),children:[e,t?Se(Xt,{}):null]})}function hr({label:e,required:t,hint:n,separate:r,htmlFor:o,labelFace:i,className:a,children:s}){let c=a?`flex flex-col gap-2 ${a}`:"flex flex-col gap-2",u=n?Se("span",{className:"font-mono text-[11px] uppercase tracking-[0.22em] text-fg-dim",children:n}):null;return r||n?De("div",{className:c,children:[De("label",{htmlFor:o,className:Vt(i),children:[e,t?Se(Xt,{}):null]}),s,u]}):De("label",{htmlFor:o,className:c,children:[Se(gr,{required:t,labelFace:i,children:e}),s]})}export{kr as a,Ar as b,Mr as c,ct as d,He as e,yr as f,br as g,Cr as h,xr as i,tn as j,nn as k,Sr as l,vr as m,qe as n,Te as o,ge as p,Er as q,Ne as r,dn as s,mn as t,Ur as u,$r as v,St as w,We as x,Hr as y,qr as z,fn as A,Kr as B,Wr as C,gn as D,Br as E,yn as F,zr as G,Gr as H,vt as I,Jr as J,Zr as K,eo as L,ro as M,oo as N,Tr as O,ht as P,Re as Q,ze as R,yo as S,Mt as T,Ao as U,Kn as V,Do as W,Gn as X,Vn as Y,zo as Z,Go as _,Vo as $,Xo as aa,Qn as ba,Jo as ca,Ht as da,Zo as ea,Zn as fa,ei as ga,tr as ha,si as ia,sr as ja,cr as ka,dr as la,gr as ma,hr as na};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|