efficient-storefront-blocks 0.40.0 → 0.41.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +65 -0
- package/dist/chunks/{EditorPreviewCheckout-G6POTPY5.js → EditorPreviewCheckout-2ZXIRZ7H.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-WZNKW4ZJ.js → SiteEditorProvider-CPK2UQDJ.js} +1 -1
- package/dist/chunks/chunk-AIB2IJBC.js +255 -0
- package/dist/chunks/chunk-I6537JSR.js +1 -0
- package/dist/chunks/{chunk-TWJV44ND.js → chunk-XJGBK3UK.js} +1 -1
- package/dist/chunks/chunk-XNJCKTT5.js +1 -0
- package/dist/chunks/{fitment-data-AEPN4DNQ.js → fitment-data-ZXT2JDJG.js} +1 -1
- package/dist/editor.css +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +59 -39
- package/dist/words.d.ts +6 -28
- package/dist/words.js +6 -6
- package/package.json +3 -3
- package/dist/chunks/chunk-P4R7UXX3.js +0 -249
- package/dist/chunks/chunk-VRSJK3KG.js +0 -1
- package/dist/chunks/chunk-ZCVIYNS6.js +0 -1
- /package/dist/chunks/{SectionEditorShell-LNTTPTET.js → SectionEditorShell-FJ23RVS7.js} +0 -0
- /package/dist/chunks/{chunk-P4R7UXX3.js.LEGAL.txt → chunk-AIB2IJBC.js.LEGAL.txt} +0 -0
- /package/dist/chunks/{chunk-UX74DN6T.js → chunk-DZX6J2J6.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as we}from"react/jsx-runtime";import{createContext as Qt,useCallback as l,useContext as en,useMemo as tn,useState as Ae}from"react";import{createContext as le,useContext as R}from"react";import{createContext as ht}from"react";var ie=ht(null);var gt=le(null),M=le({logo:null,placeholder:!1,wordmark:null});function _n(){let e=R(ie),t=R(gt),n=R(M),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{createPreviewSelectionContext as bn,useSelectHandler as ce}from"efficient-easel/screen/lib/puck/preview-selection-context";var wn="storefront-theme",An="sf:theme-mode",Cn="sf:theme-switch",Ln="hide",v="light";function ft(e){return e>=7&&e<18}function kn(e){let{mode:t,override:n,switchShown:a,hour:o}=e;return a&&(n==="light"||n==="dark")?n:t==="auto"?ft(o)?"light":"dark":t==="light"?"light":"dark"}var g={background:"#0a0a0a",surface:"#131313",line:"#2a2a2a",muted:"#9a9388"},mt=[{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"}],L={selected:0,themes:mt};function de(e){return!e||!Array.isArray(e.themes)||e.themes.length===0?{...L}:{selected:Math.min(Math.max(0,e.selected??0),e.themes.length-1),themes:e.themes}}function D(e,t,n){let a=C(e),o=C(t);if(a===null||o===null)return e;let i=s=>Math.max(0,Math.min(255,Math.round(s))).toString(16).padStart(2,"0");return`#${a.map((s,d)=>i(s+(o[d]-s)*n)).join("")}`}var St={light:"#ffffff",dark:"#0a0a0a"},In=["light","dark"];function Hn(e,t){let n=St[t],a=t==="light"?"#ffffff":"#000000";return{text:n,accent:n,background:e,surface:D(e,a,.1),line:D(e,a,.22),muted:D(n,e,.35),brandInk:t}}function k(e){let t=de(e);return t.themes[t.selected]}function ue(e){return{text:e.text,accent:e.accent,background:e.background||g.background,surface:e.surface||g.surface,line:e.line||g.line,muted:e.muted||g.muted}}function C(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(s=>s+s).join(""):t[1],[a,o,i]=[0,2,4].map(s=>parseInt(n.slice(s,s+2),16));return[a,o,i]}function N(e){let t=C(e);if(t===null)return null;let[n,a,o]=t.map(i=>{let s=i/255;return s<=.04045?s/12.92:((s+.055)/1.055)**2.4});return .2126*n+.7152*a+.0722*o}var pt=.4,_t=4.5,Et=3;function yt(e,t){let n=N(e),a=N(t);if(n===null||a===null)return null;let[o,i]=n>=a?[n,a]:[a,n];return(o+.05)/(i+.05)}var xn={good:"Good","large-only":"Large text only",hard:"Hard to read"};function Rn(e){return e>=_t?"good":e>=Et?"large-only":"hard"}var O=["#000000","#ffffff"];function I(e){let t=O[0],n=-1;for(let a of O){let o=yt(e,a);if(o===null)return O[0];o>n&&(n=o,t=a)}return t}var bt=[.25,.4,.55];function Mn(e){let t=C(e);return t===null?[]:bt.map(n=>"#"+t.map(a=>Math.round(a*(1-n)).toString(16).padStart(2,"0")).join(""))}function Dn(e){let t=k(e),n={"--theme-fg":t.text},a=N(t.text);return(a===null||a>=pt)&&(n["--overlay-fg"]=t.text),n}var Tt=82;function G(e){return`color-mix(in srgb, ${e} ${Tt}%, #000)`}function On(e){let t=k(e);return{"--theme-accent":t.accent,"--theme-accent-2":G(t.accent),"--theme-accent-ink":I(t.accent)}}function he(e){let t=e?.button;return/^#[0-9a-fA-F]{6}$/.test(t??"")?t.toLowerCase():null}function Pn(e){let t=k(e),n=he(t),a=ge(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 ge(e){let t=e?.buttonInk;return/^#[0-9a-fA-F]{6}$/.test(t??"")?t.toLowerCase():null}function Fn(e,t){return ge(e)??I(he(e)??t)}function Nn(e){let t={};return de(e).themes.forEach((n,a)=>{let o=ue(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 vn=["--theme-bg","--theme-surface","--theme-surface-2","--theme-line","--theme-muted"];function Gn(e){let t=ue(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!==g.surface||t.line!==g.line)&&(a["--theme-surface-2"]=n),a}var wt=["heading","body","label"];function Un(e){if(!e)return null;for(let t of wt)if(e.includes(`--size-${t}`))return t;return/--size-heading(Large|Medium|Small)/.test(e)?"heading":null}var fe=["headingLarge","headingMedium","headingSmall","accent","body","label"];var U={headingLarge:null,headingMedium:null,headingSmall:null,accent:null,body:null,label:null},At=8,Ct=200,zn=1;function Lt(e){if(typeof e!="number"||!Number.isFinite(e))return null;let t=Math.round(e);return t>=At&&t<=Ct?t:null}function kt(e){let t={};for(let n of fe)t[n]=Lt(e?.[n]);return t}function $n(e){let t=kt(e),n={};for(let a of fe){let o=t[a];o!==null&&(n[`--size-${a}`]=`${o}px`)}return n}var It=["square","small","large"],Ht="small";function Bn(e){return It.includes(e??"")?e:Ht}var me=0,xt=40,Vn={square:0,small:null,large:16},Rt={"--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 Se(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(xt,Math.max(me,Math.round(t))):null}function Mt(e){let t=Se(e);return t===null?{}:Object.fromEntries(Object.entries(Rt).map(([n,a])=>{let o=t*a/16;return[n,o===0?"0":`${o}rem`]}))}function Wn(e){return Mt(Se(e)??me)}var Dt=["none","soft","lifted"],Ot="soft",pe="none",Pt=["tight","normal","roomy"],Ft="normal",H="normal",Nt=["none","lift","highlight"],vt="lift",Gt="highlight",_e="#141416";function Ee(e){return Dt.includes(e??"")?e:Ot}function Ut(e){return Pt.includes(e??"")?e:Ft}function ye(e){return Nt.includes(e??"")?e:vt}function zt(e){return/^#[0-9a-fA-F]{6}$/.test(e??"")?e.toLowerCase():_e}function Yn(e){let t=Ee(e);return t===pe?void 0:t}function Xn(e){let t=Ut(e);return t===H?void 0:t}function jn(e){let t=ye(e);return t===Gt?void 0:t}function qn(e,t,n){let a=zt(t);return a===_e?{}:Ee(e)!==pe||ye(n)==="lift"?{"--sf-shadow-color":a}:{}}var $t=["normal","tight","compressed"],y="normal";function be(e){return $t.includes(e??"")?e:y}function Kn(e){let t=be(e);return t===y?void 0:t}function Zn(e){switch(be(e)){case"tight":return{lineHeight:.95,letterSpacing:-.01};case"compressed":return{lineHeight:.86,letterSpacing:-.01};default:return{}}}var z={case:"authored",weight:null,weightStrong:null,maxPx:null,weight2:null,weight3:null,case2:"authored",case3:"authored"},P=100,F=900,Bt=24,Vt=200;function A(e,t,n){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,t),n))}function $(e){let t=A(e?.weight,P,F),n=e?.case==="sentence"?"sentence":"authored",a=i=>i==null?t:A(i,P,F),o=i=>i==="sentence"?"sentence":i==="authored"?"authored":n;return{case:n,weight:t,weightStrong:A(e?.weightStrong,P,F),maxPx:A(e?.maxPx,Bt,Vt),weight2:a(e?.weight2),weight3:a(e?.weight3),case2:o(e?.case2),case3:o(e?.case3)}}function Jn(e){let t=$(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 Qn(e){return $({case:e?.heading_case??void 0,weight:e?.heading_weight,weightStrong:e?.heading_weight_strong,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})}function ea(e){let t=$(e);return{heading_case:t.case,heading_weight:t.weight,heading_weight_strong:t.weightStrong,heading_max_px:t.maxPx,heading_2_weight:t.weight2,heading_3_weight:t.weight3,heading_2_case:t.case2,heading_3_case:t.case3}}var B=[{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:"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}],u=new Map(B.map(e=>[e.key,e])),Wt={sans:"Sans",serif:"Serif",mono:"Mono"};function na(){return Object.keys(Wt).map(e=>[e,B.filter(t=>t.category===e)]).filter(([,e])=>e.length>0)}function aa(e){return u.get(e)?.italicLoaded??!1}function oa(e){return u.get(e)}var Te=["heading","heading2","heading3","body","accent","label"],ra={heading:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",body:"Body",accent:"Accent",label:"Labels"},Yt=[["font-heading2","heading2"],["font-heading3","heading3"],["font-display","heading"],["font-serif","accent"],["font-mono","label"],["font-body","body"]],Xt=/var\(--size-(headingLarge|headingMedium|headingSmall|accent|body|label)\s*,/,sa={heading:"headingLarge",heading2:"headingMedium",heading3:"headingSmall",accent:"accent",body:"body",label:"label"},jt={headingLarge:"heading",headingMedium:"heading2",headingSmall:"heading3",accent:"accent",body:"body",label:"label"};function ia(e){let t=e?Xt.exec(e):null;return t?jt[t[1]]??null:qt(e)}function qt(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 Yt)if(t.includes(n))return a;return null}var Kt=["heading","heading2","heading3"];function la(e){return Kt.includes(e)}var h={heading:"space-grotesk",heading2:"space-grotesk",heading3:"space-grotesk",body:"inter",accent:"fraunces",label:"jetbrains-mono"};function Zt(e){let t=n=>{let a=e?.[n];if(a&&u.has(a))return a;if(n==="heading2"||n==="heading3"){let o=e?.heading;return o&&u.has(o)?o:h.heading}return h[n]};return Object.fromEntries(Te.map(n=>[n,t(n)]))}function Jt(e,t){return u.get(e[t])??u.get(h[t])}function f(e,t){return`var(${Jt(e,t).cssVar})`}var ca=[...new Set(Te.map(e=>u.get(h[e]).cssVar))],da=[...new Set(B.map(e=>e.cssVar))];function ua(e){let t=Zt(e);return{"--font-role-heading":f(t,"heading"),"--font-role-heading2":f(t,"heading2"),"--font-role-heading3":f(t,"heading3"),"--font-role-body":f(t,"body"),"--font-role-accent":f(t,"accent"),"--font-role-label":f(t,"label"),fontFamily:"var(--font-role-body)"}}var Le=Qt({settings:null,setSettings:()=>{},primeSettings:()=>{},websiteName:null,templateChrome:!1,templateName:null,chromePlaceholder:!1,themeMode:v,setThemeMode:()=>{},themeSwitchShown:!1,setThemeSwitchShown:()=>{},theme:L,setTheme:()=>{},fonts:h,setFonts:()=>{},sizes:U,setSizes:()=>{},cornerRadiusPx:null,setCornerRadiusPx:()=>{},cardShadow:null,setCardShadow:()=>{},shadowColor:null,setShadowColor:()=>{},cardGap:H,setCardGap:()=>{},hoverEffect:null,setHoverEffect:()=>{},headingCompression:y,setHeadingCompression:()=>{},siteWidth:null,setSiteWidth:()=>{},siteGutter:null,blockGap:null,setSiteGutter:()=>{},setBlockGap:()=>{},headingTypography:z,setHeadingTypography:()=>{},textStyles:null,setTextStyles:()=>{},heroBackgroundFollowsWidth:null,setHeroBackgroundFollowsWidth:()=>{},photographyGrayscale:null,setPhotographyGrayscale:()=>{},themeFromDocument:!1,selected:!1,setSelected:()=>{},select:()=>{},setSelectHandler:()=>{}});function Ea({children:e,websiteName:t=null,templateChrome:n=!1,templateName:a=null,chromePlaceholder:o=!1,themeMode:i=v,onThemeModeChange:s,themeSwitchShown:d=!1,onThemeSwitchShownChange:b,theme:T=L,onThemeChange:m,fonts:S=h,onFontsChange:p,sizes:_=U,onSizesChange:c,cornerRadiusPx:x=null,onCornerRadiusPxChange:w,cardShadow:Ie=null,onCardShadowChange:V,shadowColor:He=null,onShadowColorChange:W,cardGap:xe=H,onCardGapChange:Y,hoverEffect:Re=null,onHoverEffectChange:X,headingCompression:Me=y,onHeadingCompressionChange:j,siteWidth:De=null,onSiteWidthChange:q,siteGutter:Oe=null,blockGap:Pe=null,onSiteGutterChange:K,onBlockGapChange:Z,headingTypography:Fe=z,onHeadingTypographyChange:J,textStyles:Ne=null,onTextStylesChange:Q,heroBackgroundFollowsWidth:ve=null,onHeroBackgroundFollowsWidthChange:ee,photographyGrayscale:Ge=null,onPhotographyGrayscaleChange:te,themeFromDocument:Ue=!1}){let[E,ne]=Ae(null),ze=l(r=>ne(ut=>ut??r),[]),[$e,Be]=Ae(!1),Ve=l(r=>s?.(r),[s]),We=l(r=>b?.(r),[b]),Ye=l(r=>m?.(r),[m]),Xe=l(r=>p?.(r),[p]),je=l(r=>c?.(r),[c]),qe=l(r=>q?.(r),[q]),Ke=l(r=>K?.(r),[K]),Ze=l(r=>Z?.(r),[Z]),Je=l(r=>ee?.(r),[ee]),Qe=l(r=>te?.(r),[te]),et=l(r=>w?.(r),[w]),tt=l(r=>V?.(r),[V]),nt=l(r=>W?.(r),[W]),at=l(r=>Y?.(r),[Y]),ot=l(r=>X?.(r),[X]),rt=l(r=>j?.(r),[j]),st=l(r=>J?.(r),[J]),it=l(r=>Q?.(r),[Q]),{select:lt,setSelectHandler:ct}=ce(),ae=E?.logoUrl,oe=E?.logoReversed,re=E?.logoInkIsDark,se=E!==null,dt=tn(()=>({logo:se?{logoUrl:ae,logoReversed:oe,logoInkIsDark:re}:null,placeholder:n||o,wordmark:n?a:t}),[se,ae,oe,re,n,o,a,t]);return we(M.Provider,{value:dt,children:we(Le.Provider,{value:{settings:E,setSettings:ne,primeSettings:ze,websiteName:t,templateChrome:n,templateName:a,chromePlaceholder:o,themeMode:i,setThemeMode:Ve,themeSwitchShown:d,setThemeSwitchShown:We,theme:T,setTheme:Ye,fonts:S,setFonts:Xe,sizes:_,setSizes:je,cornerRadiusPx:x,setCornerRadiusPx:et,cardShadow:Ie,setCardShadow:tt,shadowColor:He,setShadowColor:nt,cardGap:xe,setCardGap:at,hoverEffect:Re,setHoverEffect:ot,headingCompression:Me,setHeadingCompression:rt,siteWidth:De,setSiteWidth:qe,siteGutter:Oe,blockGap:Pe,setSiteGutter:Ke,setBlockGap:Ze,headingTypography:Fe,setHeadingTypography:st,textStyles:Ne,setTextStyles:it,heroBackgroundFollowsWidth:ve,setHeroBackgroundFollowsWidth:Je,photographyGrayscale:Ge,setPhotographyGrayscale:Qe,themeFromDocument:Ue,selected:$e,setSelected:Be,select:lt,setSelectHandler:ct},children:e})})}var ya=()=>en(Le);import{forwardRef as nn}from"react";import{jsx as rn}from"react/jsx-runtime";var an={position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,color:"transparent"},on=nn(function({src:t,width:n,height:a,fill:o,priority:i,loading:s,style:d,quality:b,placeholder:T,blurDataURL:m,unoptimized:S,loader:p,overrideSrc:_,...c},x){let w=_??(typeof t=="string"?t:t.src);return rn("img",{ref:x,src:w,width:o?void 0:n,height:o?void 0:a,loading:i?"eager":s??"lazy",fetchPriority:i?"high":void 0,decoding:"async",style:o?{...an,...d}:{color:"transparent",...d},...c})}),wa=on;function Aa(e){return{props:{src:e.overrideSrc??(typeof e.src=="string"?e.src:e.src.src),sizes:e.sizes}}}import{forwardRef as sn}from"react";import{jsx as dn}from"react/jsx-runtime";function ln(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 cn=sn(function({href:t,prefetch:n,replace:a,scroll:o,shallow:i,legacyBehavior:s,passHref:d,locale:b,onClick:T,children:m,...S},p){let _=c=>{T?.(c),!(c.defaultPrevented||S.target==="_blank")&&c.preventDefault()};return dn("a",{ref:p,href:ln(t),onClick:_,...S,children:m})}),Ia=cn;var un="Storefront";function Ra(e){return e?.trim()||un}var ke=["instagram","facebook","tiktok","youtube","x","linkedin","pinterest","whatsapp","telegram","line","wechat"],hn={instagram:"Instagram",facebook:"Facebook",tiktok:"TikTok",youtube:"YouTube",x:"X",linkedin:"LinkedIn",pinterest:"Pinterest",whatsapp:"WhatsApp",telegram:"Telegram",line:"LINE",wechat:"WeChat"},gn={};function Da(e){if(!e||typeof e!="object")return gn;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 Oa(e){return ke.flatMap(t=>{let n=e[t];return n?[{platform:t,href:n,label:hn[t]}]:[]})}var Pa=e=>`${e}_url`;export{wa as a,Aa as b,Ia as c,B as d,Wt as e,na as f,aa as g,oa as h,Te as i,ra as j,sa as k,ia as l,qt as m,la as n,h as o,Zt as p,ua as q,wn as r,An as s,Cn as t,Ln as u,v,kn as w,g as x,mt as y,de as z,In as A,Hn as B,k as C,ue as D,yt as E,xn as F,Rn as G,I as H,Mn as I,Dn as J,On as K,he as L,Pn as M,ge as N,Fn as O,Nn as P,vn as Q,Gn as R,Un as S,U as T,At as U,Ct as V,zn as W,kt as X,$n as Y,Bn as Z,me as _,xt as $,Vn as aa,Se as ba,Mt as ca,Wn as da,Dt as ea,Ot as fa,pe as ga,H as ha,Nt as ia,vt as ja,Gt as ka,_e as la,Ee as ma,Ut as na,ye as oa,zt as pa,Yn as qa,Xn as ra,jn as sa,qn as ta,y as ua,be as va,Kn as wa,Zn as xa,z as ya,P as za,F as Aa,Bt as Ba,Vt as Ca,$ as Da,Jn as Ea,Qn as Fa,ea as Ga,ie as Ha,_n as Ia,bn as Ja,ce as Ka,Ea as La,ya as Ma,un as Na,Ra as Oa,ke as Pa,hn as Qa,gn as Ra,Da as Sa,Oa as Ta,Pa as Ua};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as rt,i as me,r as ot,t as it,u as at,w as q}from"./chunk-TWJV44ND.js";import{Na as pe,Oa as et,Ra as Me,Sa as tt}from"./chunk-VRSJK3KG.js";import{e as Ze,q as nt,s as re}from"./chunk-UX74DN6T.js";import{createContext as Zt,useContext as en,useEffect as tn,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 o=r.prices?.[t];if(typeof o!="number"||!Number.isFinite(o)||o<=0)return null;n+=o*r.wheels}return n}var De=4,cr=1,dr={unit:"set",spares:0,spareSide:"left"};function lt(e){return e.unit==="single"?1:De+e.spares}function pr(e,t){return[{partNumber:e.partNumber,wheels:lt(t),prices:e.prices}]}function mr(e,t){let n=lt(t)-De;if(n<=0||e.length===0)return e;let r=Xt(e),o=r?r[t.spareSide]:0;return e.map((i,a)=>a===o?{...i,wheels:i.wheels+n}:i)}function Xt(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 Jt(e,t){return t.spares>0?`${e} + spare`:e}function fr(e){return e.unit==="single"?"Single":Jt(`Set of ${De}`,e)}var gr="data-add-to-basket",Oe=9,Fe="en";function fe(e,t,n=0){return new Intl.NumberFormat(Fe,{style:"currency",currency:t,minimumFractionDigits:0,maximumFractionDigits:n}).format(e)}import{jsx as on}from"react/jsx-runtime";var ct="storefront-country",dt=Zt(null);function nn(e){return pt(e,"catalogue")}function rn(e){return pt(e,"money")}function pt(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 u=n.get(i)??0;a=new Intl.NumberFormat(Fe,{style:"currency",currency:i,minimumFractionDigits:t==="money"?u:0,maximumFractionDigits:u}),r.set(i,a)}return a.format(o)}}function xr({children:e,currencies:t,countries:n,defaultCurrency:r,defaultCountry:o}){let i=ge(()=>t??[],[t]),a=ge(()=>n??[],[n]),u=ge(()=>r||i.find(C=>C.isDefault)?.code||i[0]?.code||"",[r,i]),c=ge(()=>o||a.find(C=>C.isDefault)?.code||a[0]?.code||"",[o,a]),[l,d]=ut(c),[m,P]=ut(!1);tn(()=>{let C=re.getItem(ct);C&&a.some(I=>I.code===C)&&d(C),P(!0)},[a]);function L(C){d(C),re.setItem(ct,C)}let b=ge(()=>{let C=a.find(w=>w.code===l)??null,I=C?.currency,T=I&&i.some(w=>w.code===I)?I:u,M=nn(i),x=rn(i);return{country:l,currency:T,setCountry:L,currencies:i,countries:a,activeCountry:C,formatPrice:(w,S)=>M(w,S??T),formatMoney:(w,S)=>x(w,S??T),ready:m}},[l,i,a,u,m]);return on(dt.Provider,{value:b,children:e})}function mt(){let e=en(dt);if(!e)throw new Error("useCurrency must be used within a CurrencyProvider");return e}import{createContext as Cn,useCallback as k,useContext as xn,useEffect as Y,useMemo as Pt,useRef as ie,useState as A}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.",Pr="Confirmed at checkout";function Ir(e){return e&&(e.valid||e.deferred)?e.code:void 0}var ft="coupon_code: ";function wr(e){return!(e instanceof me)||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 Pe="Price on request",sn="Request a quote";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 o=$e(e,n),i=$e(t,n);return o===null&&i===null?0:o===null?1:i===null?-1:r==="asc"?o-i:i-o}function kr(e,t,n,r){if(n==null&&r==null)return!0;let o=$e(e,t);return!(o===null||n!=null&&o<n||r!=null&&o>r)}var ln={priced:!1,unit:null,was:null,onSale:!1,setTotal:null};function un(e,t,n){if(!Ue(e))return ln;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 Ar(e,t,n=""){return!e.priced||e.unit==null?Pe:`${n}${fe(e.unit,t)}`}function Rr(e,t){return e.was==null?null:fe(e.was,t)}function cn(e,t,n=1){let r=oe(e,t);if(r===null)return{priced:!1,unit:null,isFrom:!1,setTotal:null};let o=e.reduce((a,u)=>a+u.wheels,0),i=Math.min(...e.map(a=>a.prices[t]));return{priced:!0,unit:i,isFrom:i*o!==r,setTotal:r*n}}var dn={priced:!1,unit:null,isFrom:!1,was:null,onSale:!1,setTotal:null};function Mr(e,t,n,r=1){let o=un(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=cn(t.components,n,r);return a.priced?{priced:!0,unit:a.unit,isFrom:a.isFrom,was:null,onSale:!1,setTotal:a.setTotal,fromSetTotal:i}:{...dn,fromSetTotal:i}}function pn(e,t){return!e.priced||e.unit==null?Pe:`${e.isFrom?"from ":""}${fe(e.unit,t)}`}function Dr(e,t){return e.was==null?null:fe(e.was,t)}function Or(e,t){return!e.priced||e.unit==null?sn:pn(e,t)}var mn=/^[^@\s]+@[^@\s]+\.[^@\s]+$/;function bt(e){return mn.test(e.trim())}var Ct="sf:ga-purchases",fn=20;function St(){return typeof window>"u"||window.parent!==window}function ye(...e){try{if(St()||typeof window.gtag!="function")return;window.gtag(...e)}catch{}}function gn(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 qe(e,t){return e.filter(Ie).map(n=>gn(n,t))}function Kr(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 vt(e,t){let n=qe([e],t);n.length!==0&&ye("event","add_to_cart",{currency:t,value:n[0].price*n[0].quantity,items:n})}function Wr(e){let t=qe(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 xt=new Set;function yn(e){if(xt.has(e))return!1;xt.add(e);try{let t=JSON.parse(re.getItem(Ct)??"[]");if(t.includes(e))return!1;re.setItem(Ct,JSON.stringify([...t,e].slice(-fn)))}catch{}return!0}function Br(e){let t=e.confirmation;if(St()||!yn(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:qe(e.lines,n)}),e.adsSendTo&&ye("event","conversion",{send_to:e.adsSendTo,transaction_id:t.orderNumber,currency:n,value:r})}var hn="Arranged after review",bn="Calculated at checkout";function Et({quoted:e,optionCount:t,chosenAmount:n,couponWaivesFreight:r}){return e&&t===0?"arranged":r?"free":n===void 0?"pending":n===0?"free":"charged"}function Gr(e){switch(e){case"arranged":return hn;case"pending":return bn;case"free":return"Free";case"charged":return null}}import{jsx as Pn}from"react/jsx-runtime";var Sn=400,vn=400,En=1500;function Ie(e){return(e.components?.length??0)>0}function It(e,t){return{code:e,valid:t.valid,deferred:gt(t,t.askedAsShopper),message:t.message||void 0,effects:t.effects??void 0}}function Lt(e,t){return oe(e.components,t)}function He(e,t){let n=Lt(e,t);return n===null?null:n*e.qty}function wt(e){return e!=="tyre"}var Nt=Cn(null);function oo({children:e,preview:t=!1}){let{currency:n,country:r,formatMoney:o}=mt(),[i,a]=A(t),[u,c]=A([]),[l,d]=A([]),[m,P]=A([]),[L,b]=A(!1),[C,I]=A(!1),[T,M]=A(!1),[x,w]=A(!1),[S,H]=A(null),[W,Q]=A(void 0),h=ie(r),v=ie("");h.current=h.current||r;let[p,K]=A(null),[X,z]=A(!1),[R,J]=A(null),Z=ie(void 0),D=k(()=>a(!0),[]),xe=k(()=>a(!1),[]),O=k(()=>a(s=>!s),[]);Y(()=>{t||typeof window>"u"||new URLSearchParams(window.location.search).get("cart")==="open"&&D()},[D,t]);let Se=k(s=>{w(!0),wt(s)&&M(!0)},[]),ee=T||u.some(s=>wt(s.kind)),se=x||u.length>0;Y(()=>{if(t||!ee||L)return;let s=!0;return q.listWheels().then(f=>{s&&(d(f),b(!0))}),()=>{s=!1}},[t,ee,L]),Y(()=>{if(t||!se||C)return;let s=!0;return q.listBundles().then(f=>{s&&(P(f),I(!0))}),()=>{s=!1}},[t,se,C]);let F=S?.deliveryOptions??[];Y(()=>{F.length!==0&&J(s=>s&&F.some(f=>f.id===s)?s:F[0]?.id??null)},[S]);let G=k(()=>u.filter(Ie).flatMap(s=>st(s.components,s.qty)),[u]),le=k(async(s,f)=>{let y=s.trim().toUpperCase();if(!y)return;let g=G();if(g.length===0){K({code:y,valid:!1,message:"Add a wheel to the cart first."});return}z(!0),Z.current=f;try{let N=await q.validateCoupon({code:y,items:g,currency:n,shippingMethodId:R??void 0,customerEmail:f});K(It(y,N))}catch{K({code:y,valid:!1,message:"Could not check that code. Please try again."})}finally{z(!1)}},[G,n,R]),te=k(()=>{K(null),Z.current=void 0},[]),ve=k(s=>{if(!p)return;let{code:f}=p;K(y=>y&&y.code===f?{code:f,valid:!1,refused:!0,message:s}:y)},[p]);Y(()=>{if(!p||p.refused)return;let s=p.code,f=g=>g!==null&&g.code===s&&!g.refused,y=setTimeout(async()=>{let g=G();if(g.length===0){K(N=>f(N)?{code:s,valid:!1,message:"Add a wheel to the cart first."}:N);return}z(!0);try{let N=await q.validateCoupon({code:s,items:g,currency:n,shippingMethodId:R??void 0,customerEmail:Z.current});K(de=>f(de)?It(s,N):de)}catch{}finally{z(!1)}},Sn);return()=>clearTimeout(y)},[u,n,R]);let ue=p&&!p.refused?p.code:void 0;Y(()=>{if(t)return;let s=!0,f=setTimeout(async()=>{let y=G();if(y.length===0){H(null),Q(void 0);return}try{let g=await q.quoteCart({items:y,currency:n,shippingMethodId:R??void 0,couponCode:ue,customerEmail:Z.current||void 0,country:h.current||void 0,subdivision:v.current||void 0});if(!s)return;H(g)}catch{if(!s)return}Q(ue)},vn);return()=>{s=!1,clearTimeout(f)}},[u,n,R,ue,r]);let E=k(s=>{c(f=>{let y=f.findIndex(g=>g.id===s.id);return y===-1?[...f,s]:f.map((g,N)=>N===y?{...g,qty:Math.min(Oe,g.qty+s.qty)}:g)}),vt(s,n)},[n]),U=k(s=>{c(f=>f.filter(y=>y.id!==s))},[]),V=k((s,f)=>{let y=Math.max(1,Math.min(Oe,f));c(g=>g.map(N=>N.id===s?{...N,qty:y}:N))},[]),Ge=k(s=>{c(s)},[]),[ce,Bt]=A(null),Ve=ie(null);Ve.current=ce;let $=ie(null),ke=ie(""),Ye=k((s,f)=>{let y=s.trim().toLowerCase();bt(y)&&Bt(g=>g&&g.email===y&&g.firstName===(f??"")?g:{email:y,firstName:f??""})},[]);Y(()=>{if(t||!ce)return;let s=ht(u.filter(Ie),g=>He(g,n)===null?Pe:o(He(g,n),n)),f={email:ce.email,firstName:ce.firstName,currency:n,items:s},y=JSON.stringify(f);if(y!==ke.current)return $.current&&clearTimeout($.current),$.current=setTimeout(()=>{$.current=null,ke.current=y,q.captureCart(f).catch(g=>{})},En),()=>{$.current&&(clearTimeout($.current),$.current=null)}},[u,ce,n,t]);let je=k(()=>{$.current&&(clearTimeout($.current),$.current=null);let s=Ve.current;s&&(ke.current="",q.captureCart({email:s.email,firstName:s.firstName,currency:n,items:[]}).catch(f=>{}))},[n]),Qe=Pt(()=>{let s=u.reduce((_,ne)=>{let Ee=He(ne,n);return Ee===null?_:_+Ee},0),f=u.some(_=>Lt(_,n)===null),y=u.reduce((_,ne)=>_+ne.qty,0),g=p?.valid?p.effects:void 0,N=g?Math.min(s,Number(g.discountAmount)):0,de=S?.bundleDiscount??0,Gt=S?.appliedBundles??[],Ae=!!g?.freeShipping,Xe=F.find(_=>_.id===R),Je=Ae?0:S?.shipping??Xe?.amount??0,Vt=Et({quoted:S!==null,optionCount:F.length,chosenAmount:Xe?.amount,couponWaivesFreight:Ae}),Re={};for(let _ of g?.freeUnits??[])Re[_.partNumber]=(Re[_.partNumber]??0)+_.quantity;let Yt=S?.tax??null,jt=S?S.grandTotal:s-N-de+Je;return{sets:y,units:u.reduce((_,ne)=>_+(ne.components??[]).reduce((Ee,Qt)=>Ee+Qt.wheels*ne.qty,0),0),subtotal:s,hasUnpricedLine:f,discount:N,bundleDiscount:de,appliedBundles:Gt,shipping:Je,freeShipping:Ae,shippingStatus:Vt,freeUnitsByPartNumber:Re,tax:Yt,grand:jt,repricing:!!p?.refused&&S!==null&&W===p?.code,currency:n}},[u,n,p,F,R,S,W]),zt=Pt(()=>({isOpen:i,preview:t,open:D,close:xe,toggle:O,items:u,catalog:l,bundles:m,warmCatalog:Se,add:E,remove:U,setQty:V,replaceItems:Ge,identify:Ye,clearCapturedCart:je,coupon:p,applyCoupon:le,removeCoupon:te,refuseCoupon:ve,couponBusy:X,deliveryOptions:F,shippingMethodId:R,setShippingMethodId:J,totals:Qe}),[i,t,D,xe,O,u,l,m,Se,E,U,V,Ge,Ye,je,p,le,te,ve,X,F,R,Qe]);return Pn(Nt.Provider,{value:zt,children:e})}function Tt(){let e=xn(Nt);if(!e)throw new Error("useCart() must be called inside <CartProvider>. Mount the provider in app/layout.tsx.");return e}import{cache as Dn}from"react";function _t(e,t,n,r){for(;e.size>=t;){let o,i;for(let[u,c]of e){if(c.expiresAt<=r){o=u;break}i===void 0&&n(u)&&(i=u)}let a=o??i??e.keys().next().value;if(a===void 0)return;e.delete(a)}}var In=6e4,wn=5e3,Ln=500,we=new Map;async function Nn(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 Tn=e=>e.includes("|slug:")||e.includes("|xhost:");async function kt(e,t){if(await at()!==null)return t();let n=await Nn(e);if(!n)return t();let r=Date.now(),o=we.get(n);if(o&&o.expiresAt>r)return o.load;let i=await t(),a=i.outcome.state==="failed",u=a?wn:In,c=we.get(n)?.lastGood,l=i.outcome.state==="ok"?i:a?c:void 0,d=a&&l?l:i;return _t(we,Ln,Tn,r),we.set(n,{load:d,expiresAt:r+u,lastGood:l}),d}var _n=404;function kn(e){if(e instanceof me&&e.status===_n)return{state:"absent"};let t=e instanceof me?e.status:-1,n=e instanceof Error?e.message:String(e);return{state:"failed",status:t,detail:n}}var An="[storefront:chrome-load-failed]";function Rn(e,t){console.error(`${An} ${e} status=${t.status} \u2014 serving fallback chrome`,t.detail)}async function At(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=kn(o);return i.state==="failed"&&Rn(e,i),{value:n,outcome:i}}}function Mn(e){return e==="production"?"silent":"banner"}var mo=Mn("production");function On(e,t){return e?.trim()||t}function So({legalName:e,foundedYear:t,siteName:n},r=new Date().getFullYear()){let o=On(e,n);return`\xA9 ${t&&t<r?`${t}\u2013${r}`:`${r}`} ${o}`}var Fn={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:Me},vo=Dn(async()=>kt("site",()=>At("site",async()=>{let e=await q.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)}},Fn)));var Eo={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:Me};import{jsx as Mt,jsxs as Dt}from"react/jsx-runtime";import{useEffect as Le,useRef as Ot,useState as Ne}from"react";var he=new Map,Un=64;async function $n(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:o}=n;return typeof r!="string"?null:{reversed:r,inkIsDark:typeof o=="boolean"?o:null}}catch{return null}}function Rt(e){let t=he.get(e);if(t)return t;let n=$n(e);if(he.set(e,n),he.size>Un){let r=he.keys().next();r.done||he.delete(r.value)}return n}var qn={small:54,medium:66,large:84},Hn=44,Kn=202/22,Ro=16,Mo=140,Wn=.88,Do=16,Bn="invert(1)";function Oo({variant:e="header",scrolled:t=!0,src:n,reverse:r=!1,onLightSurface:o,reversedSrc:i,inkIsDark:a,size:u="medium",sizePx:c,wordmark:l,siteName:d=pe,fitToContainer:m=!1,fitWordmarkToContainer:P=!1,fitFloorPx:L}){let b=l&&l.trim()?l.trim():d,[C,I]=Ne(!1),T=Ot(null),M=E=>{T.current=E};Le(()=>{let E=T.current?.ownerDocument??document,U=()=>{I(E.documentElement.getAttribute("data-theme")==="light")};U();let V=new MutationObserver(U);return V.observe(E.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>V.disconnect()},[]);let x=n&&n.trim()?n.trim():null,w=!!x&&rt(x),S=o??(C&&t),H=r&&w&&x&&i!=null?{reversed:i,inkIsDark:a??null}:null,W=H!==null,[Q,h]=Ne(null);Le(()=>{if(!r||!x||!w||W){h(null);return}let E=!1;return h(null),Rt(x).then(U=>{E||h(U)}),()=>{E=!0}},[r,x,w,W]);let v=H??Q,p=!!v&&v.inkIsDark!==null&&(S?!v.inkIsDark:v.inkIsDark),K=r&&!!x&&!w&&!S,X=p&&v?v.reversed:x,z=X?[X]:[],[R,J]=Ne(0);Le(()=>{J(0)},[x,p]);let Z=e==="footer"?Hn:qn[u],D=c&&c>0?c:Z,xe=Math.round(D*Kn),O=R<z.length?z[R]:null,[Se,ee]=Ne(X),se=O!==null&&O===Se,F=Ot(null);Le(()=>{let E=F.current;if(!E||!E.complete)return;if(E.naturalWidth>0||E.naturalHeight>0){ee(O);return}let U=!1;return E.decode().then(()=>!U&&ee(O),()=>!U&&J(V=>V+1)),()=>{U=!0}},[O]);let G=m||P,le=`calc(100cqi / ${((b.length+1)*Wn).toFixed(2)})`,te=G&&L&&L>0?Math.min(L,D):null,ve=G?te===null?`min(${D}px, ${le})`:`clamp(${te}px, ${le}, ${D}px)`:`${D}px`,ue=Dt("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,Mt("span",{className:"text-accent",children:"."})]});return Dt("span",{ref:M,className:"inline-flex items-center",children:[!se&&ue,O&&Mt("img",{ref:F,src:O,alt:b,width:xe,height:D,className:"shrink-0 object-contain",style:{...se?{height:`${D}px`,width:"auto",...m?{maxWidth:"100cqi"}:{}}:{display:"none"},...K?{filter:Bn}:{}},onLoad:()=>ee(O),onError:()=>J(E=>E+1)},O)]})}import{Children as Gn,isValidElement as Vn,useEffect as Ut,useId as Yn,useLayoutEffect as jn,useRef as j,useState as $t}from"react";var Te=(e,t)=>!!e[t]&&!e[t].disabled;function Ke(e,t,n){let r=e.length;for(let o=1;o<=r;o++){let i=((t+n*o)%r+r)%r;if(Te(e,i))return i}return t}function We(e,t){return Ke(e,t===1?-1:e.length,t)}function Be(e,t){return Te(e,t)?t:Math.max(We(e,1),0)}function Ft(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(),u=n.findIndex((c,l)=>Te(n,l)&&c.label.toLowerCase().startsWith(a));return{state:i({open:!0,typed:a,focus:u>=0?u: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:Ke(n,o,1)}),handled:!0};case"ArrowUp":return{state:i({focus:Ke(n,o,-1)}),handled:!0};case"Home":return{state:i({focus:We(n,1)}),handled:!0};case"End":return{state:i({focus:We(n,-1)}),handled:!0};case"Enter":case" ":return Te(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{Fragment as er,jsx as B,jsxs as qt}from"react/jsx-runtime";function Qn({items:e,value:t,onPick:n,open:r,onOpen:o,onClose:i}){let[a,u]=$t(!1),c=r!==void 0,l=c?r:a,[d,m]=$t(0),P=j({text:"",timer:0}),L=j(null),b=j(null),C=j(null),I=Yn(),T=j(null),M=e.findIndex(h=>h.value===t),x=h=>{h!==l&&(c||u(h),h?o?.():i?.())},w=h=>{let v=e[h];!v||v.disabled||(n(v.value),x(!1),b.current?.focus())},S=h=>{let v={open:l,focus:l?d:Be(e,M),typed:P.current.text},p=Ft(v,h,e);return!p.handled&&p.state.open===l?!1:(p.state.typed!==v.typed&&(P.current.text=p.state.typed,window.clearTimeout(P.current.timer),P.current.timer=window.setTimeout(()=>{P.current.text=""},500)),m(p.state.focus),p.commit!==void 0?w(p.commit):x(p.state.open),p.refocus&&b.current?.focus(),p.handled)},H=j(S);H.current=S;let W=j(()=>x(!1));W.current=()=>x(!1);let Q=h=>{l||(T.current=h.nativeEvent,H.current(h.key)&&h.preventDefault())};return Ut(()=>{if(!l)return;let h=p=>{L.current?.contains(p.target)||W.current()},v=p=>{p!==T.current&&H.current(p.key)&&p.preventDefault()};return document.addEventListener("mousedown",h),document.addEventListener("keydown",v),()=>{document.removeEventListener("mousedown",h),document.removeEventListener("keydown",v)}},[l]),Ut(()=>{l&&(P.current.text||m(Be(e,M)))},[l]),jn(()=>{if(!l||!C.current)return;C.current.children.item(d)?.scrollIntoView({block:"nearest"})},[d,l]),{open:l,toggle:()=>x(!l),close:()=>x(!1),focusIdx:d,setFocusIdx:m,pick:h=>w(e.findIndex(v=>v.value===h)),wrapRef:L,triggerRef:b,listRef:C,listId:I,onTriggerKeyDown:Q,activeId:l?`${I}-${d}`:void 0}}var Xn={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-2.5 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 text-[length:var(--size-label,13px)] 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 text-[length:var(--size-body,14px)] 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-3.5 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 Jn({id:e,tone:t,items:n,value:r,focusIdx:o,onFocus:i,onPick:a,listRef:u,ariaLabel:c}){let l=Xn[t];return B("ul",{ref:u,id:e,role:"listbox","aria-label":c,...l.pickerMarker?{"data-picker-menu":""}:{},className:l.list,children:n.map((d,m)=>{let P=d.value===r;return B("li",{id:`${e}-${m}`,role:"option","aria-selected":P,"aria-disabled":d.disabled||void 0,onMouseEnter:()=>!d.disabled&&i(m),onMouseDown:L=>{L.preventDefault(),d.disabled||a(d.value)},className:l.item(m===o,P&&d.value!=="",!!d.disabled,m===n.length-1),style:l.itemStyle?.(P),children:d.meta===void 0?d.label:qt(er,{children:[B("span",{className:"flex-1 whitespace-nowrap",children:d.label}),B("span",{className:"ml-auto text-[12px] opacity-50",children:d.meta})]})},`${d.value}_${m}`)})})}function Zn({value:e,onChange:t,disabled:n,children:r,className:o,style:i,name:a,id:u,"aria-label":c}){let l=Gn.toArray(r).flatMap(b=>{if(!Vn(b))return[];if(b.type!=="option")return[];let I=b.props,T=I.value!==void 0?String(I.value):"",M=I.children,x=typeof M=="string"||typeof M=="number"?String(M):T;return[{value:T,label:x,disabled:!!I.disabled}]}),d=e??"",m=Qn({items:l,value:d,onPick:b=>t?.({target:{value:b}})}),L=l.find(b=>b.value===d)?.label??l[0]?.label??"";return qt("div",{ref:m.wrapRef,className:"relative",children:[a&&B("input",{type:"hidden",name:a,value:d}),B("button",{ref:b=>{m.triggerRef.current=b},type:"button",disabled:n,"aria-haspopup":"listbox","aria-expanded":m.open,"aria-controls":m.open?m.listId:void 0,"aria-activedescendant":m.activeId,"aria-label":c,id:u,onClick:()=>!n&&m.toggle(),onKeyDown:b=>!n&&m.onTriggerKeyDown(b),className:`block w-full ${o??""}`,style:i,children:B("span",{className:"block w-full truncate text-left",children:L})}),m.open&&B(Jn,{id:m.listId,tone:"select",items:l,value:d,focusIdx:m.focusIdx,onFocus:m.setFocusIdx,onPick:m.pick,listRef:m.listRef})]})}var zo="#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"}],Go={name:"",color:"var(--fg)",family:"silver",src:""};function tr(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 Vo(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(tr)}import{jsx as be,jsxs as _e}from"react/jsx-runtime";var nr="font-mono text-[length:var(--size-label,12px)]",rr="font-semibold uppercase tracking-[0.22em] text-fg";function Kt(e){return`${e??nr} ${rr}`}function Wt(){return be("span",{className:"text-accent",children:" *"})}function or({children:e,required:t,labelFace:n}){return _e("span",{className:Kt(n),children:[e,t?be(Wt,{}):null]})}function ir({label:e,required:t,hint:n,separate:r,htmlFor:o,labelFace:i,className:a,children:u}){let c=a?`flex flex-col gap-2 ${a}`:"flex flex-col gap-2",l=n?be("span",{className:"font-mono text-[11px] uppercase tracking-[0.22em] text-fg-dim",children:n}):null;return r||n?_e("div",{className:c,children:[_e("label",{htmlFor:o,className:Kt(i),children:[e,t?be(Wt,{}):null]}),u,l]}):_e("label",{htmlFor:o,className:c,children:[be(or,{required:t,labelFace:i,children:e}),u]})}import{jsx as Ce,jsxs as sr}from"react/jsx-runtime";function ar({spokes:e,mesh:t=!1,className:n}){let a=c=>Math.round(c*1e3)/1e3,u=[];for(let c=0;c<e;c++){let l=c/e*Math.PI*2-Math.PI/2;if(u.push({x1:a(100+Math.cos(l)*22),y1:a(100+Math.sin(l)*22),x2:a(100+Math.cos(l)*86),y2:a(100+Math.sin(l)*86),main:!0}),t){let d=l+Math.PI/e;u.push({x1:a(100+Math.cos(d)*22*1.4),y1:a(100+Math.sin(d)*22*1.4),x2:a(100+Math.cos(d)*78),y2:a(100+Math.sin(d)*78),main:!1})}}return sr("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:[Ce("circle",{cx:100,cy:100,r:92,strokeWidth:2}),Ce("circle",{cx:100,cy:100,r:84,strokeWidth:1,opacity:.4}),Ce("circle",{cx:100,cy:100,r:22,strokeWidth:2}),Ce("circle",{cx:100,cy:100,r:6,fill:"currentColor"}),u.map((c,l)=>Ce("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},l))]})}import{useState as lr}from"react";import{jsx as ae,jsxs as ze}from"react/jsx-runtime";function ur({customerEmail:e}){let{coupon:t,applyCoupon:n,removeCoupon:r,couponBusy:o}=Tt(),[i,a]=lr("");async function u(){o||!i.trim()||(await n(i,e),a(""))}return ze("div",{className:"flex flex-col gap-2",children:[t===null?ze("div",{className:"flex border border-line",children:[ae("input",{type:"text",value:i,onChange:c=>a(c.target.value),onKeyDown:c=>{c.key==="Enter"&&(c.preventDefault(),u())},placeholder:"Coupon code","aria-label":"Coupon code",className:"flex-1 bg-transparent px-3.5 py-3.5 font-mono text-[11px] uppercase tracking-[0.18em] text-fg outline-none placeholder:text-fg-dim"}),ae("button",{type:"button",onClick:()=>{u()},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"})]}):ze("div",{className:["flex items-center justify-between gap-3 border px-3.5 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 oi(){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)}`}export{Pr as a,Ir as b,wr as c,st as d,De as e,cr as f,dr as g,pr as h,mr as i,Xt as j,Jt as k,fr as l,gr as m,Oe as n,Fe as o,fe as p,Pe as q,sn as r,$e as s,_r as t,kr as u,un as v,Ar as w,Rr as x,cn as y,Mr as z,pn as A,Dr as B,Or as C,bt as D,Kr as E,Wr as F,Br as G,Gr as H,xr as I,mt as J,Ie as K,He as L,oo as M,Tt as N,So as O,Fn as P,Eo as Q,qn as R,Hn as S,Ro as T,Mo as U,Do as V,Oo as W,Qn as X,Jn as Y,Zn as Z,zo as _,Ht as $,Go as aa,tr as ba,Vo as ca,or as da,ir as ea,ar as fa,ur as ga,oi as ha};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|