efficient-storefront-blocks 0.89.0 → 0.90.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 +16 -0
- package/dist/chunks/{EditorPreviewCheckout-R7XG75DW.js → EditorPreviewCheckout-M4LID5YF.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-YNUCDQ2D.js → SiteEditorProvider-2JWQZN2Q.js} +1 -1
- package/dist/chunks/chunk-3XIZADE6.js +1 -0
- package/dist/chunks/chunk-6TDIG6W3.js +395 -0
- package/dist/chunks/chunk-JMUP4FBL.js +1 -0
- package/dist/chunks/{chunk-E54FFOUS.js → chunk-U6UPMVSX.js} +1 -1
- package/dist/chunks/{fitment-data-URBK335I.js → fitment-data-3VLLTJW6.js} +1 -1
- package/dist/contract.js +2 -2
- package/dist/editor/components/GalleryPicturesSource.d.ts +33 -0
- package/dist/editor/components/GalleryPicturesSource.js +1 -0
- package/dist/editor/components/ProductSourceRows.d.ts +35 -0
- package/dist/editor/components/ProductSourceRows.js +1 -0
- package/dist/editor/components/ReviewsProductSource.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryB/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterDivider/fields.js +1 -1
- package/dist/editor/lib/document/config.d.ts +1 -0
- package/dist/editor/lib/document/config.js +1 -1
- package/dist/editor/lib/storefront-editor-words.d.ts +1 -0
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/editor.css +1 -1
- package/dist/index.js +62 -43
- package/dist/links.js +1 -1
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/AppointmentBooking.js +1 -1
- package/dist/render/components/ArticleBody.js +1 -1
- package/dist/render/components/BoxHeaderBar.js +1 -1
- package/dist/render/components/CollectionCard.d.ts +1 -1
- package/dist/render/components/CollectionCard.js +1 -1
- package/dist/render/components/ContactRouting.js +1 -1
- package/dist/render/components/EuTyreLabels.d.ts +2 -1
- package/dist/render/components/EuTyreLabels.js +1 -1
- package/dist/render/components/Events.js +1 -1
- package/dist/render/components/FooterDivider.d.ts +1 -2
- package/dist/render/components/FooterDivider.js +1 -1
- package/dist/render/components/FooterEmailSignup.js +1 -1
- package/dist/render/components/FooterGroup.js +1 -1
- package/dist/render/components/FooterLogo.js +1 -1
- package/dist/render/components/FooterMenu.js +1 -1
- package/dist/render/components/FooterMessaging.js +1 -1
- package/dist/render/components/FooterPayment.js +1 -1
- package/dist/render/components/FooterSection.js +1 -1
- package/dist/render/components/FooterSocial.js +1 -1
- package/dist/render/components/FooterText.js +1 -1
- package/dist/render/components/GalleryCard.js +1 -1
- package/dist/render/components/GalleryGrid.d.ts +3 -1
- package/dist/render/components/GalleryGrid.js +3 -1
- package/dist/render/components/GalleryItem.d.ts +1 -0
- package/dist/render/components/GalleryItem.js +1 -1
- package/dist/render/components/GalleryShowcase.js +1 -1
- package/dist/render/components/GridCardTemplate.js +1 -1
- package/dist/render/components/HeaderNavItem.d.ts +1 -1
- package/dist/render/components/HeaderNavItem.js +1 -1
- package/dist/render/components/HeaderToolBlocks.js +1 -1
- package/dist/render/components/HeaderTools.d.ts +5 -3
- package/dist/render/components/HeaderTools.js +1 -1
- package/dist/render/components/LegalLine.js +1 -1
- package/dist/render/components/MenuLinkBlock.js +1 -1
- package/dist/render/components/MenuPlaceholderLabel.js +1 -1
- package/dist/render/components/ProductGallery.d.ts +2 -1
- package/dist/render/components/ProductGallery.js +1 -1
- package/dist/render/components/ProductRef.js +1 -1
- package/dist/render/components/QuoteLink.d.ts +2 -1
- package/dist/render/components/QuoteLink.js +1 -1
- package/dist/render/components/RatingStars.js +1 -1
- package/dist/render/components/ReviewForm.js +1 -1
- package/dist/render/components/SectionBand.js +1 -1
- package/dist/render/components/SectionFootnote.d.ts +2 -1
- package/dist/render/components/SectionFootnote.js +1 -1
- package/dist/render/components/SectionGroupBody.js +1 -1
- package/dist/render/components/SectionNotice.js +1 -1
- package/dist/render/components/TyreFitVerdicts.js +1 -1
- package/dist/render/components/booking/BookingBox.js +1 -1
- package/dist/render/components/booking/BookingRegions.js +1 -1
- package/dist/render/components/card-pieces/CardBuyButton.d.ts +3 -1
- package/dist/render/components/card-pieces/CardBuyButton.js +1 -1
- package/dist/render/components/card-pieces/CardEyebrow.js +1 -1
- package/dist/render/components/card-pieces/CardName.js +1 -1
- package/dist/render/components/card-pieces/CardPrice.js +1 -1
- package/dist/render/components/card-pieces/CardProductPicture.js +1 -1
- package/dist/render/components/card-pieces/CardSpecs.js +1 -1
- package/dist/render/components/card-pieces/HostPart.js +1 -1
- package/dist/render/components/card-pieces/card-row.js +1 -1
- package/dist/render/components/catalog/ShopperChips.js +1 -1
- package/dist/render/components/catalog/ShopperFilters.js +1 -1
- package/dist/render/components/fitment/FitmentPickerGrid.js +1 -1
- package/dist/render/components/fitment/StockFitmentCard.js +1 -1
- package/dist/render/components/fitment/StockFitmentPart.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.d.ts +4 -0
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicProductGallery.js +1 -1
- package/dist/render/components/submit/SubmitBox.js +1 -1
- package/dist/render/lib/content/served-lists.d.ts +8 -0
- package/dist/render/lib/content/served-lists.js +1 -0
- package/dist/render/lib/document/blocks/commerce/GalleryB/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductHero/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductPrice/render.js +1 -1
- package/dist/render/lib/document/blocks/service/Events/render.js +1 -1
- package/dist/render/lib/document/blocks/service/FooterDivider/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/FooterDivider/render.js +1 -1
- package/dist/render/lib/document/blocks/service/RatingBlock/render.js +1 -1
- package/dist/render/lib/document/card-templates.d.ts +2 -0
- package/dist/render/lib/document/card-templates.js +1 -1
- package/dist/render/lib/document/lazy-draws.js +1 -1
- package/dist/render/lib/document/render-config.d.ts +1 -0
- package/dist/render/lib/document/render-config.js +1 -1
- package/dist/render/lib/document/section-to-box-rows-productgrid.d.ts +1 -0
- package/dist/render/lib/document/section-to-box-rows-productgrid.js +1 -0
- package/dist/render/lib/sections/product-pictures.d.ts +25 -0
- package/dist/render/lib/sections/product-pictures.js +1 -0
- package/dist/render/lib/sections/product-source.d.ts +8 -0
- package/dist/render/lib/sections/product-source.js +1 -0
- package/dist/render/lib/sections/reviews.js +1 -1
- package/dist/words.d.ts +11 -0
- package/dist/words.js +5 -5
- package/package.json +4 -3
- package/dist/chunks/chunk-BYBBZS7L.js +0 -1
- package/dist/chunks/chunk-G4Y7XXRV.js +0 -1
- package/dist/chunks/chunk-WRDUOJZO.js +0 -382
- /package/dist/chunks/{chunk-WRDUOJZO.js.LEGAL.txt → chunk-6TDIG6W3.js.LEGAL.txt} +0 -0
- /package/dist/chunks/{chunk-ZA3ULZOA.js → chunk-N445XY3W.js} +0 -0
- /package/dist/editor/lib/{editor-words-kept.d.ts → storefront-editor-words-kept.d.ts} +0 -0
- /package/dist/editor/lib/{editor-words-kept.js → storefront-editor-words-kept.js} +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "efficient-storefront-blocks",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.90.0",
|
|
4
4
|
"description": "The EFFICIENT storefront's website editor — the website builder assembled with the storefront's own sections — for an app that edits a storefront website inside its own page. Built from the efficient-storefront-blocks repository.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"author": "Efficient Pty Ltd",
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
"./dist/editor/lib/efficient-backend.js",
|
|
20
20
|
"./dist/render/lib/document/card-templates.js",
|
|
21
21
|
"./dist/render/lib/document/section-to-box-rows-detail.js",
|
|
22
|
+
"./dist/render/lib/document/section-to-box-rows-productgrid.js",
|
|
22
23
|
"./dist/render/lib/document/section-to-box-rows-reviews.js",
|
|
23
24
|
"./dist/render/lib/document/section-to-box-rows-spec.js",
|
|
24
25
|
"./dist/render/lib/document/slot-seeds.js"
|
|
@@ -96,8 +97,8 @@
|
|
|
96
97
|
"@stripe/react-stripe-js": "^6.7.0",
|
|
97
98
|
"@stripe/stripe-js": "^9.9.0",
|
|
98
99
|
"efficient-easel": "^29.1.0",
|
|
99
|
-
"efficient-shell": "^12.
|
|
100
|
-
"efficient-web-builder": "^
|
|
100
|
+
"efficient-shell": "^12.17.0",
|
|
101
|
+
"efficient-web-builder": "^59.0.0",
|
|
101
102
|
"next": ">=16",
|
|
102
103
|
"react": ">=19",
|
|
103
104
|
"react-dom": ">=19"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as Ct,i as be,q as xt,s as St,t as vt,v as G}from"./chunk-E54FFOUS.js";import{La as ye,Ma as yt,Pa as qe,Qa as bt,Ta as We,Ua as Ge}from"./chunk-G4Y7XXRV.js";import{j as ht,l as ae}from"./chunk-ZA3ULZOA.js";import{createContext as Sn,useContext as Nt,useEffect as vn,useMemo as Ce,useState as _t}from"react";function Pt(e,t){return e.map(n=>({partNumber:n.partNumber,quantity:n.wheels*t}))}function se(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 Ke=4,Hr=1,Br={unit:"set",spares:0,spareSide:"left"};function wt(e){return e.unit==="single"?1:Ke+e.spares}function qr(e,t){return[{partNumber:e.partNumber,wheels:wt(t),prices:e.prices}]}function Wr(e,t){let n=wt(t)-Ke;if(n<=0||e.length===0)return e;let r=bn(e),o=r?r[t.spareSide]:0;return e.map((i,s)=>s===o?{...i,wheels:i.wheels+n}:i)}function bn(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 Cn(e,t){return t.spares>0?`${e} + spare`:e}function Gr(e){return e.unit==="single"?"Single":Cn(`Set of ${Ke}`,e)}var Kr="data-add-to-basket",ze=9,xn="en",Et=new Map;function Le(e,t,n){let r=`${e}|${t??""}|${n??""}`,o=Et.get(r);return o||(o=new Intl.NumberFormat(xn,{style:"currency",currency:e,...t===void 0?{}:{minimumFractionDigits:t},...n===void 0?{}:{maximumFractionDigits:n}}),Et.set(r,o)),o}function le(e,t,n=0){return Le(t,0,n).format(e)}function zr(e,t){return Le(t).format(e)}function Xr(e,t){let n=e.savings[t];if(n===void 0)return null;let r=le(n,t);return e.savingIsFrom?`Save from ${r}`:`Save ${r}`}import{jsx as _n}from"react/jsx-runtime";var En="storefront-country",Rt=En,Xe=Sn(null);function Pn(e){return Lt(e,"catalogue")}function wn(e){return Lt(e,"money")}function Lt(e,t){let n=new Map(e.map(r=>[r.code,r.decimalPlaces]));return(r,o)=>{if(!o)return"";let i=n.get(o)??0;return Le(o,t==="money"?i:0,i).format(r)}}function Zr({children:e,currencies:t,countries:n,defaultCurrency:r,defaultCountry:o}){let i=Ce(()=>t??[],[t]),s=Ce(()=>n??[],[n]),l=Ce(()=>r||i.find(p=>p.isDefault)?.code||i[0]?.code||"",[r,i]),u=Ce(()=>o||s.find(p=>p.isDefault)?.code||s[0]?.code||"",[o,s]),[c,f]=_t(u),[C,d]=_t(!1);vn(()=>{let p=ae.getItem(Rt);p&&s.some(M=>M.code===p)&&f(p),d(!0)},[s]);function w(p){f(p),ae.setItem(Rt,p)}let E=Ce(()=>{let p=s.find(R=>R.code===c)??null,M=p?.currency,L=M&&i.some(R=>R.code===M)?M:l,F=Pn(i),_=wn(i);return{country:c,currency:L,setCountry:w,currencies:i,countries:s,activeCountry:p,formatPrice:(R,h)=>F(R,h??L),formatMoney:(R,h)=>_(R,h??L),ready:C}},[c,i,s,l,C]);return _n(Xe.Provider,{value:E,children:e})}function kt(){let e=Nt(Xe);if(!e)throw new Error("useCurrency must be used within a CurrencyProvider");return e}function Jr(){return Nt(Xe)?.country??""}import{createContext as Bn,useCallback as v,useContext as qn,useEffect as V,useMemo as Gt,useRef as ue,useState as N}from"react";function It(){return"/edit"}function Tt(e,t){return e.valid?!1:e.reason==="firstOrderOnly"?!0:e.reason==="notEligible"&&!t}var Ot="We'll confirm this discount when you place your order.",oo="Confirmed at checkout";function io(e){return e&&(e.valid||e.deferred)?e.code:void 0}var At="coupon_code: ";function ao(e){return!(e instanceof be)||e.status!==400||!e.message.startsWith(At)?null:e.message.slice(At.length)}function Mt(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 ke="Price on request",Nn="Request a quote",Ln="from ",co="From ",fo="each",Dt="Free";function Ve(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Ye(e,t){let n=e?.[t];return Ve(n)?n:null}function po(e,t,n,r){let o=Ye(e,n),i=Ye(t,n);return o===null&&i===null?0:o===null?1:i===null?-1:r==="asc"?o-i:i-o}function mo(e,t,n,r){if(n==null&&r==null)return!0;let o=Ye(e,t);return!(o===null||n!=null&&o<n||r!=null&&o>r)}var kn={priced:!1,unit:null,was:null,onSale:!1,setTotal:null};function In(e,t,n){if(!Ve(e))return kn;let r=Ve(t)&&t>e?t:null;return{priced:!0,unit:e,was:r,onSale:r!==null,setTotal:n!=null?e*n:null}}function go(e,t,n=""){return!e.priced||e.unit==null?ke:`${n}${le(e.unit,t)}`}function ho(e,t){return e.was==null?null:le(e.was,t)}function An(e,t,n=1){let r=se(e,t);if(r===null)return{priced:!1,unit:null,isFrom:!1,setTotal:null};let o=e.reduce((s,l)=>s+l.wheels,0),i=Math.min(...e.map(s=>s.prices[t]));return{priced:!0,unit:i,isFrom:i*o!==r,setTotal:r*n}}var Tn={priced:!1,unit:null,isFrom:!1,was:null,onSale:!1,setTotal:null};function yo(e,t,n,r=1){let o=In(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 s=An(t.components,n,r);return s.priced?{priced:!0,unit:s.unit,isFrom:s.isFrom,was:null,onSale:!1,setTotal:s.setTotal,fromSetTotal:i}:{...Tn,fromSetTotal:i}}function On(e,t){return!e.priced||e.unit==null?ke:`${e.isFrom?Ln:""}${le(e.unit,t)}`}function bo(e,t){return e.was==null?null:le(e.was,t)}function Co(e,t){return!e.priced||e.unit==null?Nn:On(e,t)}var Mn=/^[^@\s]+@[^@\s]+\.[^@\s]+$/;function Ft(e){return Mn.test(e.trim())}var Ut="sf:ga-purchases",Dn=20;function Ht(){return typeof window>"u"||window.parent!==window}function xe(...e){try{if(Ht()||typeof window.gtag!="function")return;window.gtag(...e)}catch{}}function Fn(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:se(e.components,t)??0,quantity:e.qty}}function Qe(e,t){return e.filter(Ie).map(n=>Fn(n,t))}function wo(e){xe("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 Bt(e,t){let n=Qe([e],t);n.length!==0&&xe("event","add_to_cart",{currency:t,value:n[0].price*n[0].quantity,items:n})}function _o(e){let t=Qe(e.lines,e.currency);t.length!==0&&xe("event","begin_checkout",{currency:e.currency,value:e.value,...e.coupon?{coupon:e.coupon}:{},items:t})}var $t=new Set;function Un(e){if($t.has(e))return!1;$t.add(e);try{let t=JSON.parse(ae.getItem(Ut)??"[]");if(t.includes(e))return!1;ae.setItem(Ut,JSON.stringify([...t,e].slice(-Dn)))}catch{}return!0}function Ro(e){let t=e.confirmation;if(Ht()||!Un(t.orderNumber))return;let n=t.currency,r=Number(t.grandTotal);xe("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&&xe("event","conversion",{send_to:e.adsSendTo,transaction_id:t.orderNumber,currency:n,value:r})}var $n="Arranged after review",qt="Calculated at checkout",Hn=qt,ko=qt;function Wt({quoted:e,optionCount:t,chosenAmount:n,couponWaivesFreight:r}){return e&&t===0?"arranged":r?"free":n===void 0?"pending":n===0?"free":"charged"}function Io(e){switch(e){case"arranged":return $n;case"pending":return Hn;case"free":return Dt;case"charged":return null}}import{jsx as zn}from"react/jsx-runtime";var Wn=400,Gn=400,Kn=1500;function Ie(e){return(e.components?.length??0)>0}function Kt(e,t){return{code:e,valid:t.valid,deferred:Tt(t,t.askedAsShopper),message:t.message||void 0,effects:t.effects??void 0}}function Xt(e,t){return se(e.components,t)}function je(e,t){let n=Xt(e,t);return n===null?null:n*e.qty}function zt(e){return e!=="tyre"}var Vt=Bn(null);function Go({children:e,preview:t=!1}){let{currency:n,country:r,formatMoney:o}=kt(),[i,s]=N(t),[l,u]=N([]),[c,f]=N([]),[C,d]=N([]),[w,E]=N(!1),[p,M]=N(!1),[L,F]=N(!1),[_,R]=N(!1),[h,$]=N(null),[j,U]=N(0),b=v(()=>U(a=>a+1),[]),[P,x]=N(void 0),[K,Ue]=N(null),[S,A]=N(null),[ce,ee]=N(!1),[T,de]=N(null),Z=ue(void 0),H=v(()=>s(!0),[]),te=v(()=>s(!1),[]),B=v(()=>s(a=>!a),[]);V(()=>{t||typeof window>"u"||new URLSearchParams(window.location.search).get("cart")==="open"&&H()},[H,t]);let ne=It(),D=ue(ne);V(()=>{D.current!==ne&&(D.current=ne,t||te())},[ne,t,te]);let we=v(a=>{Ue(m=>m?.country===a?.country&&m?.subdivision===a?.subdivision&&m?.postcode===a?.postcode?m:a)},[]),re=v(a=>{R(!0),zt(a)&&F(!0)},[]),fe=L||l.some(a=>zt(a.kind)),pe=_||l.length>0;V(()=>{if(t||!fe||w)return;let a=!0;return G.listWheels().then(m=>{a&&(f(m),E(!0))}),()=>{a=!1}},[t,fe,w]),V(()=>{if(t||!pe||p)return;let a=!0;return G.listBundles().then(m=>{a&&(d(m),M(!0))}),()=>{a=!1}},[t,pe,p]);let q=h?.deliveryOptions??[],me=h?.courier??null;V(()=>{h&&de(a=>a&&q.some(m=>m.id===a)?a:q[0]?.id??null)},[h]);let X=v(()=>l.filter(Ie).flatMap(a=>Pt(a.components,a.qty)),[l]),_e=v(async(a,m)=>{let y=a.trim().toUpperCase();if(!y)return;let g=X();if(g.length===0){A({code:y,valid:!1,message:"Add a wheel to the cart first."});return}ee(!0),Z.current=m;try{let I=await G.validateCoupon({code:y,items:g,currency:n,shippingMethodId:T??void 0,customerEmail:m});A(Kt(y,I))}catch{A({code:y,valid:!1,unchecked:!0,message:"Could not check that code. Please try again."})}finally{ee(!1)}},[X,n,T]),Re=v(()=>{A(null),Z.current=void 0},[]),k=v(a=>{if(!S)return;let{code:m}=S;A(y=>y&&y.code===m?{code:m,valid:!1,refused:!0,message:a}:y)},[S]);V(()=>{if(!S||S.refused)return;let a=S.code,m=g=>g!==null&&g.code===a&&!g.refused,y=setTimeout(async()=>{let g=X();if(g.length===0){A(I=>m(I)?{code:a,valid:!1,message:"Add a wheel to the cart first."}:I);return}ee(!0);try{let I=await G.validateCoupon({code:a,items:g,currency:n,shippingMethodId:T??void 0,customerEmail:Z.current});A(he=>m(he)?Kt(a,I):he)}catch{}finally{ee(!1)}},Wn);return()=>clearTimeout(y)},[l,n,T]);let z=S&&!S.refused?S.code:void 0;V(()=>{if(t)return;let a=!0,m=setTimeout(async()=>{let y=X();if(y.length===0){$(null),x(void 0);return}try{let g=await G.quoteCart({items:y,currency:n,shippingMethodId:T??void 0,couponCode:z,customerEmail:Z.current||void 0,country:K?.country||r||void 0,subdivision:K?.country&&K.subdivision||void 0,postcode:K?.country&&K.postcode||void 0});if(!a)return;$(g)}catch{if(!a)return}x(z)},Gn);return()=>{a=!1,clearTimeout(m)}},[l,n,T,z,r,K,j]);let oe=v(a=>{u(m=>{let y=m.findIndex(g=>g.id===a.id);return y===-1?[...m,a]:m.map((g,I)=>I===y?{...g,qty:Math.min(ze,g.qty+a.qty)}:g)}),Bt(a,n)},[n]),ot=v(a=>{u(m=>m.filter(y=>y.id!==a))},[]),it=v((a,m)=>{let y=Math.max(1,Math.min(ze,m));u(g=>g.map(I=>I.id===a?{...I,qty:y}:I))},[]),at=v(a=>{u(a)},[]),[ge,dn]=N(null),st=ue(null);st.current=ge;let W=ue(null),$e=ue(""),lt=v((a,m)=>{let y=a.trim().toLowerCase();Ft(y)&&dn(g=>g&&g.email===y&&g.firstName===(m??"")?g:{email:y,firstName:m??""})},[]);V(()=>{if(t||!ge)return;let a=Mt(l.filter(Ie),g=>je(g,n)===null?ke:o(je(g,n),n)),m={email:ge.email,firstName:ge.firstName,currency:n,items:a},y=JSON.stringify(m);if(y!==$e.current)return W.current&&clearTimeout(W.current),W.current=setTimeout(()=>{W.current=null,$e.current=y,G.captureCart(m).catch(g=>{})},Kn),()=>{W.current&&(clearTimeout(W.current),W.current=null)}},[l,ge,n,t]);let ut=v(()=>{W.current&&(clearTimeout(W.current),W.current=null);let a=st.current;a&&($e.current="",G.captureCart({email:a.email,firstName:a.firstName,currency:n,items:[]}).catch(m=>{}))},[n]),ct=Gt(()=>{let a=l.reduce((O,ie)=>{let Ne=je(ie,n);return Ne===null?O:O+Ne},0),m=l.some(O=>Xt(O,n)===null),y=l.reduce((O,ie)=>O+ie.qty,0),g=S?.valid?S.effects:void 0,I=g?Math.min(a,Number(g.discountAmount)):0,he=h?.bundleDiscount??0,pn=h?.appliedBundles??[],He=!!g?.freeShipping,mt=q.find(O=>O.id===T),gt=He?0:h?.shipping??mt?.amount??0,mn=Wt({quoted:h!==null,optionCount:q.length,chosenAmount:mt?.amount,couponWaivesFreight:He}),Be={};for(let O of g?.freeUnits??[])Be[O.partNumber]=(Be[O.partNumber]??0)+O.quantity;let gn=h?.tax??null,hn=h?h.grandTotal:a-I-he+gt;return{sets:y,units:l.reduce((O,ie)=>O+(ie.components??[]).reduce((Ne,yn)=>Ne+yn.wheels*ie.qty,0),0),subtotal:a,hasUnpricedLine:m,discount:I,bundleDiscount:he,appliedBundles:pn,shipping:gt,freeShipping:He,shippingStatus:mn,freeUnitsByPartNumber:Be,tax:gn,grand:hn,repricing:!!S?.refused&&h!==null&&P===S?.code,currency:n}},[l,n,S,q,T,h,P]),dt=ue(!0),ft=v(a=>{dt.current=a},[]),pt=v(a=>{oe(a),dt.current&&H()},[oe,H]),fn=Gt(()=>({isOpen:i,preview:t,open:H,close:te,toggle:B,items:l,catalog:c,bundles:C,warmCatalog:re,add:oe,addAndOpen:pt,setAutoOpen:ft,remove:ot,setQty:it,replaceItems:at,identify:lt,clearCapturedCart:ut,coupon:S,applyCoupon:_e,removeCoupon:Re,refuseCoupon:k,couponBusy:ce,deliveryOptions:q,setQuoteDestination:we,courier:me,requote:b,shippingMethodId:T,setShippingMethodId:de,totals:ct}),[i,t,H,te,B,l,c,C,re,oe,pt,ft,ot,it,at,lt,ut,S,_e,Re,k,ce,q,we,me,b,T,ct]);return zn(Vt.Provider,{value:fn,children:e})}function Yt(){let e=qn(Vt);if(!e)throw new Error("useCart() must be called inside <CartProvider>. Mount the provider in app/layout.tsx.");return e}import{cache as rr}from"react";function Qt(e,t,n,r){for(;e.size>=t;){let o,i;for(let[l,u]of e){if(u.expiresAt<=r){o=l;break}i===void 0&&n(l)&&(i=l)}let s=o??i??e.keys().next().value;if(s===void 0)return;e.delete(s)}}var Xn=6e4,Vn=5e3,Yn=500,Ae=new Map;async function Qn(e){let{host:t,matchesRequestHost:n}=await xt();if(!t)return"";let r=await St();return r?`${e}|slug:${encodeURIComponent(t)}/${encodeURIComponent(r)}`:n?`${e}|host:${t}`:`${e}|xhost:${t}`}var jn=e=>e.includes("|slug:")||e.includes("|xhost:");async function jt(e,t){if(await vt()!==null)return t();let n=await Qn(e);if(!n)return t();let r=Date.now(),o=Ae.get(n);if(o&&o.expiresAt>r)return o.load;let i=await t(),s=i.outcome.state==="failed",l=s?Vn:Xn,u=Ae.get(n)?.lastGood,c=i.outcome.state==="ok"?i:s?u:void 0,f=s&&c?c:i;return Qt(Ae,Yn,jn,r),Ae.set(n,{load:f,expiresAt:r+l,lastGood:c}),f}var Zn=404;function Jn(e){if(e instanceof be&&e.status===Zn)return{state:"absent"};let t=e instanceof be?e.status:-1,n=e instanceof Error?e.message:String(e);return{state:"failed",status:t,detail:n}}var er="[storefront:chrome-load-failed]";function tr(e,t){console.error(`${er} ${e} status=${t.status} \u2014 serving fallback chrome`,t.detail)}async function Zt(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=Jn(o);return i.state==="failed"&&tr(e,i),{value:n,outcome:i}}}function nr(e){return e==="production"?"silent":"banner"}var Zo=nr("production");function or(e,t){return e?.trim()||t}function ai({legalName:e,foundedYear:t,siteName:n},r=new Date().getFullYear()){let o=or(e,n);return`\xA9 ${t&&t<r?`${t}\u2013${r}`:`${r}`} ${o}`}var ir={name:ye,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,consentEnabled:!1,consentPrivacyPage:null,consentNoticeOptOut:!1,socialLinks:qe},si=rr(async()=>jt("site",()=>Zt("site",async()=>{let e=await G.getSite();return{name:yt(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,consentEnabled:e.consentEnabled??!1,consentPrivacyPage:e.consentPrivacyPage??null,consentNoticeOptOut:e.consentNoticeOptOut??!1,socialLinks:bt(e.socialLinks)}},ir)));var li={name:ye,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,consentEnabled:!1,consentPrivacyPage:null,consentNoticeOptOut:!1,socialLinks:qe};import{jsx as ve,jsxs as Ze}from"react/jsx-runtime";import{useEffect as Te,useId as ur,useRef as en,useState as Oe}from"react";import{useRootIsDark as cr}from"efficient-shell/theme";import{efficientClientOpen as ar}from"efficient-easel/screen/lib/session";var Se=new Map,sr=64;async function lr(e){if(!ar())return null;try{let t=await fetch(`${ht()}/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 Jt(e){let t=Se.get(e);if(t)return t;let n=lr(e);if(Se.set(e,n),Se.size>sr){let r=Se.keys().next();r.done||Se.delete(r.value)}return n}var dr=202/22,fr=.88,Pi=16,pr="invert(1)";function wi({variant:e="header",scrolled:t=!0,src:n,reverse:r=!1,color:o=null,onLightSurface:i,reversedSrc:s,inkIsDark:l,size:u="medium",sizePx:c,wordmark:f,siteName:C=ye,fitToContainer:d=!1,fitWordmarkToContainer:w=!1,fitFloorPx:E}){let p=f&&f.trim()?f.trim():C,[M,L]=Oe(null),F=en(null),_=k=>{F.current=k};Te(()=>{L(F.current?.ownerDocument??null)},[]);let R=!cr({doc:M,whenUnset:!0}),h=n&&n.trim()?n.trim():null,$=!!h&&Ct(h),j=i??(R&&t),U=o&&o.trim()?o.trim():null,b=r&&!U,P=`logo-color-${ur().replace(/[^A-Za-z0-9_-]/g,"")}`,x=b&&$&&h&&s!=null?{reversed:s,inkIsDark:l??null}:null,K=x!==null,[Ue,S]=Oe(null);Te(()=>{if(!b||!h||!$||K){S(null);return}let k=!1;return S(null),Jt(h).then(z=>{k||S(z)}),()=>{k=!0}},[b,h,$,K]);let A=x??Ue,ce=!!A&&A.inkIsDark!==null&&(j?!A.inkIsDark:A.inkIsDark),ee=b&&!!h&&!$&&!j,T=ce&&A?A.reversed:h,de=T?[T]:[],[Z,H]=Oe(0);Te(()=>{H(0)},[h,ce]);let te=e==="footer"?Ge:We[u],B=c&&c>0?c:te,ne=Math.round(B*dr),D=Z<de.length?de[Z]:null,[we,re]=Oe(T),fe=D!==null&&D===we,pe=en(null);Te(()=>{let k=pe.current;if(!k||!k.complete)return;if(k.naturalWidth>0||k.naturalHeight>0){re(D);return}let z=!1;return k.decode().then(()=>!z&&re(D),()=>!z&&H(oe=>oe+1)),()=>{z=!0}},[D]);let q=d||w,me=`calc(100cqi / ${((p.length+1)*fr).toFixed(2)})`,X=q&&E&&E>0?Math.min(E,B):null,_e=q?X===null?`min(${B}px, ${me})`:`clamp(${X}px, ${me}, ${B}px)`:`${B}px`,Re=Ze("span",{className:`font-display font-bold tracking-[0.18em] ${X===null?"whitespace-nowrap":"whitespace-normal"}`,style:{fontSize:_e,lineHeight:1,...U?{color:U}:{}},"aria-label":p,children:[p,ve("span",{className:"text-accent",style:U?{color:U}:void 0,children:"."})]});return Ze("span",{ref:_,className:"inline-flex items-center",children:[!fe&&Re,U&&D&&ve("svg",{"aria-hidden":"true",focusable:"false",width:"0",height:"0",style:{position:"absolute"},children:Ze("filter",{id:P,colorInterpolationFilters:"sRGB",children:[ve("feFlood",{style:{floodColor:U}}),ve("feComposite",{in2:"SourceAlpha",operator:"in"})]})}),D&&ve("img",{ref:pe,src:D,alt:p,width:ne,height:B,className:"shrink-0 object-contain",style:{...fe?{height:`${B}px`,width:"auto",...d?{maxWidth:"100cqi"}:{}}:{display:"none"},...ee?{filter:pr}:{},...U?{filter:`url(#${P})`}:{}},onLoad:()=>re(D),onError:()=>H(k=>k+1)},D)]})}import{jsx as mr}from"react/jsx-runtime";function Ri({tone:e="bad",role:t,children:n}){return mr("div",{role:t,className:["border bg-surface px-4 py-3 text-[14px] leading-relaxed text-fg",e==="good"?"border-accent":e==="bad"?"border-alert":"border-line"].join(" "),children:n})}import{jsx as Ee,jsxs as hr}from"react/jsx-runtime";function gr({spokes:e,mesh:t=!1,className:n}){let s=u=>Math.round(u*1e3)/1e3,l=[];for(let u=0;u<e;u++){let c=u/e*Math.PI*2-Math.PI/2;if(l.push({x1:s(100+Math.cos(c)*22),y1:s(100+Math.sin(c)*22),x2:s(100+Math.cos(c)*86),y2:s(100+Math.sin(c)*86),main:!0}),t){let f=c+Math.PI/e;l.push({x1:s(100+Math.cos(f)*22*1.4),y1:s(100+Math.sin(f)*22*1.4),x2:s(100+Math.cos(f)*78),y2:s(100+Math.sin(f)*78),main:!1})}}return hr("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:[Ee("circle",{cx:100,cy:100,r:92,strokeWidth:2}),Ee("circle",{cx:100,cy:100,r:84,strokeWidth:1,opacity:.4}),Ee("circle",{cx:100,cy:100,r:22,strokeWidth:2}),Ee("circle",{cx:100,cy:100,r:6,fill:"currentColor"}),l.map((u,c)=>Ee("line",{x1:u.x1,y1:u.y1,x2:u.x2,y2:u.y2,stroke:"currentColor",strokeWidth:u.main?6:3,strokeLinecap:"round",opacity:u.main?1:.5},c))]})}var Ai="#c9a461",tn=[{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"}],Ti={name:"",color:"var(--fg)",family:"silver",src:""};function yr(e,t){let n=r=>{let o=tn.findIndex(i=>i.f===r);return o===-1?tn.length:o};return n(e)-n(t)||e.localeCompare(t)}function Oi(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(yr)}import{useState as br}from"react";import{jsx as J,jsxs as Je}from"react/jsx-runtime";function Cr({customerEmail:e}){let{coupon:t,applyCoupon:n,removeCoupon:r,couponBusy:o}=Yt(),[i,s]=br("");async function l(){o||!i.trim()||(await n(i,e),s(""))}return Je("div",{className:"flex flex-col gap-2",children:[t===null?Je("div",{className:"flex border border-line",children:[J("input",{type:"text",value:i,onChange:u=>s(u.target.value),onKeyDown:u=>{u.key==="Enter"&&(u.preventDefault(),l())},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"}),J("button",{type:"button",onClick:()=>{l()},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"})]}):Je("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:[J("span",{className:["font-mono text-[11px] uppercase tracking-[0.22em]",t.valid?"text-accent":t.deferred||t.unchecked?"text-fg":"text-fg-dim line-through"].join(" "),children:t.code}),t.unchecked&&J("button",{type:"button",onClick:()=>{n(t.code,e)},disabled:o,className:"ml-auto font-mono text-[10px] uppercase tracking-[0.26em] text-btn transition-colors hover:text-fg disabled:cursor-wait disabled:opacity-60",children:o?"\u2026":"Try again"}),J("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?J("p",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-fg-dim",children:Ot}):t&&!t.valid&&t.message&&J("p",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-alert",children:t.message})]})}var et="Ads on. Shopper can opt out.",Me="Ads and analytics off until Accept",xr={us:{region:"us",name:"United States",model:"opt-out",law:"California CCPA / CPRA, other state laws",beforeChoice:et,footerLink:"Do Not Sell or Share My Personal Information",panelEyebrow:"Do not sell or share",adsRowName:"Sale or sharing for ads"},ca:{region:"ca",name:"Canada",model:"opt-in",law:"PIPEDA, Quebec Law 25",beforeChoice:Me,footerLink:"Privacy choices",panelEyebrow:"Privacy choices",adsRowName:"Advertising"},au:{region:"au",name:"Australia",model:"opt-out",law:"Privacy Act 1988 (APPs)",beforeChoice:et,footerLink:"Privacy choices",panelEyebrow:"Privacy choices",adsRowName:"Advertising"},nz:{region:"nz",name:"New Zealand",model:"opt-out",law:"Privacy Act 2020",beforeChoice:et,footerLink:"Privacy choices",panelEyebrow:"Privacy choices",adsRowName:"Advertising"},uk:{region:"uk",name:"United Kingdom",model:"opt-in",law:"PECR, UK GDPR",beforeChoice:Me,footerLink:"Cookie settings",panelEyebrow:"Cookie settings",adsRowName:"Advertising"},eu:{region:"eu",name:"European Union",model:"opt-in",law:"ePrivacy Directive, GDPR",beforeChoice:Me,footerLink:"Cookie settings",panelEyebrow:"Cookie settings",adsRowName:"Advertising"},other:{region:"other",name:"All other countries",model:"opt-in",law:"Safe default",beforeChoice:Me,footerLink:"Cookie settings",panelEyebrow:"Cookie settings",adsRowName:"Advertising"}};function Sr(e){let t=[...e.googleAds?["Google"]:[],...e.meta?["Facebook","Instagram"]:[]];return t.length<=1?t.join(""):`${t.slice(0,-1).join(", ")} and ${t[t.length-1]}`}function Bi(e,t,n){let r=Sr(n),o=r?`We use cookies to count visits and to show you ${t} ads on ${r}.`:"We use cookies to count visits.";return e.model==="opt-in"?{heading:r?"Cookies and ads":"Cookies",before:`${o} Nothing loads until you choose. You can change this at any time with `,link:e.footerLink,after:" at the bottom of every page."}:{heading:r?"Cookies and ads":"Cookies",before:`${o} You can say no at any time: choose Privacy choices, or use `,link:e.footerLink,after:" at the bottom of every page."}}var qi={accept:"Accept all",reject:"Reject all",choose:"Choose",save:"Save",ok:"OK",privacyChoices:"Privacy choices",privacyPolicy:"Privacy Policy",alwaysOn:"Always on"};var vr={asked:!1,region:"other",model:"opt-in",analytics:!0,ads:!0,chosen:!0,gpc:!1};var Er=vr;function zi(e=Er){if(e.asked)return e.ads?"granted":"denied"}function Vi(){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 wr,isValidElement as _r,useEffect as rn,useId as Rr,useLayoutEffect as sn,useRef as Y,useState as on}from"react";var De=(e,t)=>!!e[t]&&!e[t].disabled;function tt(e,t,n){let r=e.length;for(let o=1;o<=r;o++){let i=((t+n*o)%r+r)%r;if(De(e,i))return i}return t}function nt(e,t){return tt(e,t===1?-1:e.length,t)}function rt(e,t){return De(e,t)?t:Math.max(nt(e,1),0)}function nn(e,t,n){let{open:r,focus:o}=e,i=s=>({...e,...s});if(t.length===1&&/\S/.test(t)){let s=e.typed+t.toLowerCase(),l=n.findIndex((u,c)=>De(n,c)&&u.label.toLowerCase().startsWith(s));return{state:i({open:!0,typed:s,focus:l>=0?l: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:tt(n,o,1)}),handled:!0};case"ArrowUp":return{state:i({focus:tt(n,o,-1)}),handled:!0};case"Home":return{state:i({focus:nt(n,1)}),handled:!0};case"End":return{state:i({focus:nt(n,-1)}),handled:!0};case"Enter":case" ":return De(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 Nr}from"efficient-shell/ui";import{Fragment as Mr,jsx as Q,jsxs as ln}from"react/jsx-runtime";var an={body:"text-[length:var(--size-body,14px)]",label:"text-[length:var(--size-label,13px)]"};function Lr({items:e,value:t,onPick:n,open:r,onOpen:o,onClose:i}){let[s,l]=on(!1),u=r!==void 0,c=u?r:s,[f,C]=on(0),d=Y({text:"",timer:0}),w=Y(null),E=Y(null),p=Y(null),M=Rr(),L=Y(null),F=e.findIndex(b=>b.value===t),_=b=>{b!==c&&(u||l(b),b?o?.():i?.())},R=b=>{let P=e[b];!P||P.disabled||(n(P.value),_(!1),E.current?.focus())},h=b=>{let P={open:c,focus:c?f:rt(e,F),typed:d.current.text},x=nn(P,b,e);return!x.handled&&x.state.open===c?!1:(x.state.typed!==P.typed&&(d.current.text=x.state.typed,window.clearTimeout(d.current.timer),d.current.timer=window.setTimeout(()=>{d.current.text=""},500)),C(x.state.focus),x.commit!==void 0?R(x.commit):_(x.state.open),x.refocus&&E.current?.focus(),x.handled)},$=Y(h);$.current=h;let j=Y(()=>_(!1));j.current=()=>_(!1);let U=b=>{c||(L.current=b.nativeEvent,$.current(b.key)&&b.preventDefault())};return rn(()=>{if(!c)return;let b=x=>{w.current?.contains(x.target)||j.current()},P=x=>{x!==L.current&&$.current(x.key)&&x.preventDefault()};return document.addEventListener("mousedown",b),document.addEventListener("keydown",P),()=>{document.removeEventListener("mousedown",b),document.removeEventListener("keydown",P)}},[c]),rn(()=>{c&&(d.current.text||C(rt(e,F)))},[c]),sn(()=>{if(!c||!p.current)return;p.current.children.item(f)?.scrollIntoView({block:"nearest"})},[f,c]),{open:c,toggle:()=>_(!c),close:()=>_(!1),focusIdx:f,setFocusIdx:C,pick:b=>R(e.findIndex(P=>P.value===b)),wrapRef:w,triggerRef:E,listRef:p,listId:M,onTriggerKeyDown:U,activeId:c?`${M}-${f}`:void 0}}var kr={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 ${an.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 ${an.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 Ir(e,t){sn(()=>{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 s=n.offsetParent??n.parentElement;if(!s)return;let l=s.getBoundingClientRect(),u=n.getBoundingClientRect(),c=Math.abs(u.right-l.right)<Math.abs(u.left-l.left)?"end":"start",f=Nr({trigger:{left:l.left,right:l.right,top:l.top,bottom:l.bottom},menu:{width:u.width,height:u.height},bounds:{left:0,top:0,right:r.innerWidth,bottom:r.innerHeight},align:c,side:"bottom"});if(f.side==="top"){i.top="auto",i.bottom="100%",i.marginTop="0px";let d=f.top+Math.min(u.height,f.maxHeight);i.marginBottom=`${Math.max(0,l.top-d)}px`}f.maxHeight<u.height&&(i.maxHeight=`${f.maxHeight}px`,i.overflowY="auto");let C=f.left-u.left;C&&(i.translate=`${C}px`)};return o(),r.addEventListener("resize",o),r.addEventListener("scroll",o,!0),()=>{r.removeEventListener("resize",o),r.removeEventListener("scroll",o,!0)}},[e,t])}function Ar(e){return e.split(" ").map(t=>t==="left-0"?"right-0":t).join(" ")}function Tr({id:e,tone:t,items:n,value:r,focusIdx:o,onFocus:i,onPick:s,listRef:l,ariaLabel:u,align:c="start"}){let f=kr[t],C=Y(null);return Ir(C,n.length),Q("ul",{ref:d=>{C.current=d,l&&(l.current=d)},id:e,role:"listbox","aria-label":u,...f.pickerMarker?{"data-picker-menu":""}:{},className:c==="end"?Ar(f.list):f.list,children:n.map((d,w)=>{let E=d.value===r;return Q("li",{id:`${e}-${w}`,role:"option","aria-selected":E,"aria-disabled":d.disabled||void 0,onMouseEnter:()=>!d.disabled&&i(w),onMouseDown:p=>{p.preventDefault(),d.disabled||s(d.value)},className:f.item(w===o,E&&d.value!=="",!!d.disabled,w===n.length-1),style:f.itemStyle?.(E),children:d.meta===void 0?d.label:ln(Mr,{children:[d.lead,Q("span",{className:"flex-1 whitespace-nowrap",children:d.label}),Q("span",{className:"ml-auto text-[12px] opacity-50",children:d.meta})]})},`${d.value}_${w}`)})})}function Or({value:e,onChange:t,disabled:n,children:r,className:o,style:i,name:s,id:l,"aria-label":u,align:c}){let f=wr.toArray(r).flatMap(p=>{if(!_r(p))return[];if(p.type!=="option")return[];let L=p.props,F=L.value!==void 0?String(L.value):"",_=L.children,R=typeof _=="string"||typeof _=="number"?String(_):F;return[{value:F,label:R,disabled:!!L.disabled}]}),C=e??"",d=Lr({items:f,value:C,onPick:p=>t?.({target:{value:p}})}),E=f.find(p=>p.value===C)?.label??f[0]?.label??"";return ln("div",{ref:d.wrapRef,className:"relative",children:[s&&Q("input",{type:"hidden",name:s,value:C}),Q("button",{ref:p=>{d.triggerRef.current=p},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":u,id:l,onClick:()=>!n&&d.toggle(),onKeyDown:p=>!n&&d.onTriggerKeyDown(p),className:`block w-full ${o??""}`,style:i,children:Q("span",{className:"block w-full truncate text-left",children:E})}),d.open&&Q(Tr,{id:d.listId,tone:"select",items:f,value:C,focusIdx:d.focusIdx,onFocus:d.setFocusIdx,onPick:d.pick,listRef:d.listRef,align:c})]})}import{jsx as Pe,jsxs as Fe}from"react/jsx-runtime";var Dr="font-mono text-[length:var(--size-label,12px)]",Fr="font-semibold uppercase tracking-[0.22em] text-fg";function un(e){return`${e??Dr} ${Fr}`}function cn(){return Pe("span",{className:"text-accent",children:" *"})}function Ur({children:e,required:t,labelFace:n}){return Fe("span",{className:un(n),children:[e,t?Pe(cn,{}):null]})}function $r({label:e,required:t,hint:n,separate:r,htmlFor:o,labelFace:i,className:s,children:l}){let u=s?`flex flex-col gap-2 ${s}`:"flex flex-col gap-2",c=n?Pe("span",{className:"font-mono text-[11px] uppercase tracking-[0.22em] text-fg-dim",children:n}):null;return r||n?Fe("div",{className:u,children:[Fe("label",{htmlFor:o,className:un(i),children:[e,t?Pe(cn,{}):null]}),l,c]}):Fe("label",{htmlFor:o,className:u,children:[Pe(Ur,{required:t,labelFace:i,children:e}),l]})}var aa="w-full border-2 border-line bg-bg px-4 py-4 font-display text-[17px] tracking-[-0.005em] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent";export{It as a,oo as b,io as c,ao as d,Pt as e,Ke as f,Hr as g,Br as h,qr as i,Wr as j,bn as k,Cn as l,Gr as m,Kr as n,ze as o,Le as p,le as q,zr as r,Xr as s,ke as t,Nn as u,Ln as v,co as w,fo as x,Dt as y,Ye as z,po as A,mo as B,In as C,go as D,ho as E,An as F,yo as G,On as H,bo as I,Co as J,Ft as K,wo as L,_o as M,Ro as N,ko as O,Io as P,Zr as Q,kt as R,Jr as S,Ie as T,je as U,Go as V,Yt as W,ai as X,ir as Y,li as Z,Pi as _,wi as $,gr as aa,Ai as ba,tn as ca,Ti as da,yr as ea,Oi as fa,Cr as ga,Ri as ha,xr as ia,Bi as ja,qi as ka,vr as la,zi as ma,Vi as na,Lr as oa,Tr as pa,Or as qa,Ur as ra,$r as sa,aa as ta};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as Ge}from"react/jsx-runtime";import{createContext as kn,useCallback as i,useContext as In,useMemo as On,useState as xn}from"react";import{createContext as Te,useContext as D}from"react";import{createContext as Mt}from"react";var Ee=Mt(null);var Dt=Te(null),F=Te({logo:null,placeholder:!1,wordmark:null});function jn(){let e=D(Ee),t=D(Dt),n=D(F),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{contrastRatio as Zn,hexToRgb as k,parseHexColor as I,readableInk as Ft,relativeLuminance as W}from"efficient-shell/format";var Jn="storefront-theme",Qn="sf:theme-mode",ea="sf:theme-switch",ta="hide",z="light",V=!1,Nt=7,Gt=18;function vt(e){return e>=Nt&&e<Gt}function na(e){let{mode:t,override:n,switchShown:a,hour:o}=e;return a&&(n==="light"||n==="dark")?n:t==="auto"?vt(o)?"light":"dark":t==="light"?"light":"dark"}var m={background:"#0a0a0a",surface:"#131313",line:"#2a2a2a",muted:"#9a9388"},Bt=[{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"}],O={selected:0,themes:Bt};function we(e){return!e||!Array.isArray(e.themes)||e.themes.length===0?{...O}:{selected:Math.min(Math.max(0,e.selected??0),e.themes.length-1),themes:e.themes}}function N(e,t,n){let a=k(e),o=k(t);if(a===null||o===null)return e;let r=(l,c)=>Math.max(0,Math.min(255,Math.round(l+(c-l)*n))).toString(16).padStart(2,"0");return`#${r(a.r,o.r)}${r(a.g,o.g)}${r(a.b,o.b)}`}var Ut={light:"#ffffff",dark:"#0a0a0a"},aa=["light","dark"];function oa(e,t){let n=Ut[t],a=t==="light"?"#ffffff":"#000000";return{text:n,accent:n,background:e,surface:N(e,a,.1),line:N(e,a,.22),muted:N(n,e,.35),brandInk:t}}function b(e){let t=we(e);return t.themes[t.selected]}function x(e){return{text:e.text,accent:e.accent,background:e.background||m.background,surface:e.surface||m.surface,line:e.line||m.line,muted:e.muted||m.muted}}var Wt=.4,$t=4.5,zt=3,sa={good:"Good","large-only":"Large text only",hard:"Hard to read"};function ra(e){return e>=$t?"good":e>=zt?"large-only":"hard"}var Vt=["#000000","#ffffff"];function P(e){return Ft(e,Vt)}var Yt=[.25,.4,.55];function ia(e){let t=k(e);return t===null?[]:Yt.map(n=>"#"+[t.r,t.g,t.b].map(a=>Math.round(a*(1-n)).toString(16).padStart(2,"0")).join(""))}function la(e){let t=b(e),n={"--theme-fg":t.text},a=W(t.text);return(a===null||a>=Wt)&&(n["--overlay-fg"]=t.text),n}var Xt=82;function Y(e){return`color-mix(in srgb, ${e} ${Xt}%, #000)`}function ca(e){let t=b(e);return{"--theme-accent":t.accent,"--theme-accent-2":Y(t.accent),"--theme-accent-ink":P(t.accent)}}function X(e){let t=e?.button;return t&&I(t)===t.toLowerCase()?t.toLowerCase():null}function ua(e){let t=b(e),n=X(t),a=Ae(t);if(n===null&&a===null)return{};let o={};return n!==null&&(o["--theme-btn"]=n,o["--theme-btn-2"]=Y(n)),o["--theme-btn-ink"]=a??P(n),o}function Ae(e){let t=e?.buttonInk;return t&&I(t)===t.toLowerCase()?t.toLowerCase():null}function jt(e,t){return Ae(e)??P(X(e)??t)}function da(e){let t=b(e);return{fill:X(t)??t.accent.toLowerCase(),ink:jt(t,t.accent)}}function ha(e){let t={};return we(e).themes.forEach((n,a)=>{let o=x(n);t[`--theme-preset-${a}-accent`]=o.accent,t[`--theme-preset-${a}-accent-2`]=Y(o.accent),t[`--theme-preset-${a}-accent-ink`]=P(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 G=e=>{let t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4},v=e=>255*(e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055);function Ce([e,t,n]){let[a,o,r]=[G(e),G(t),G(n)],l=Math.cbrt(.4122214708*a+.5363325363*o+.0514459929*r),c=Math.cbrt(.2119034982*a+.6806995451*o+.1073969566*r),u=Math.cbrt(.0883024619*a+.2817188376*o+.6299787005*r);return[.2104542553*l+.793617785*c-.0040720468*u,1.9779984951*l-2.428592205*c+.4505937099*u,.0259040371*l+.7827717662*c-.808675766*u]}function Kt([e,t,n]){let a=(e+.3963377774*t+.2158037573*n)**3,o=(e-.1055613458*t-.0638541728*n)**3,r=(e-.0894841775*t-1.291485548*n)**3;return[v(4.0767416621*a-3.3077115913*o+.2309699292*r),v(-1.2684380046*a+2.6097574011*o-.3413193965*r),v(-.0041960863*a-.7034186147*o+1.707614701*r)]}var $=e=>{let t=k(e);return t===null?[0,0,0]:[t.r,t.g,t.b]},Le=(e,t,n)=>[e[0]*n+t[0]*(1-n),e[1]*n+t[1]*(1-n),e[2]*n+t[2]*(1-n)],ke=e=>`#${e.map(t=>Math.max(0,Math.min(255,Math.round(t))).toString(16).padStart(2,"0")).join("")}`,Ie=e=>Le($(e.surface),$(e.line),.6);function ga(e){return ke(Ie(x(e)))}function qt(e){let t=x(e);return ke(Kt(Le(Ce(Ie(t)),Ce($(t.text)),.92)))}function fa(e,t){let n=e[t];if(!n)return-1;let a=qt(n);return e.findIndex((o,r)=>r!==t&&I(o.background??"")===a)}var Zt=1;function Jt(e,t){let n=(e??[]).flatMap((a,o)=>{let r=W(a.background??""),l=W(a.text??"");return r!==null&&l!==null&&r<l?[o]:[]});return n.find(a=>a!==t)??n[0]??Zt}function ma(e){return Jt(e?.themes,e?.selected)}var Sa=["--theme-bg","--theme-surface","--theme-surface-2","--theme-line","--theme-muted"];function pa(e){let t=x(b(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!==m.surface||t.line!==m.line)&&(a["--theme-surface-2"]=n),a}var Qt=["heading","body","label"];function _a(e){if(!e)return null;for(let t of Qt)if(e.includes(`--size-${t}`))return t;return/--size-heading(Large|Medium|Small)/.test(e)?"heading":null}var Oe=["headingLarge","headingMedium","headingSmall","accent","body","label"];var j={headingLarge:null,headingMedium:null,headingSmall:null,accent:null,body:null,label:null},en=8,tn=200;function nn(e){if(typeof e!="number"||!Number.isFinite(e))return null;let t=Math.round(e);return t>=en&&t<=tn?t:null}function an(e){let t={};for(let n of Oe)t[n]=nn(e?.[n]);return t}function ba(e){let t=an(e),n={};for(let a of Oe){let o=t[a];o!==null&&(n[`--size-${a}`]=`${o}px`)}return n}var on=["square","small","large"],sn="small";function ya(e){return on.includes(e??"")?e:sn}var K=0,rn=40,Ea={square:0,small:null,large:16},xe={"--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 q(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(rn,Math.max(K,Math.round(t))):null}function ln(e){let t=q(e);return t===null?{}:Object.fromEntries(Object.entries(xe).map(([n,a])=>{let o=t*a/16;return[n,o===0?"0":`${o}rem`]}))}function Ta(e){return(q(e)??K)*xe["--sf-button-radius"]}function Ca(e){return ln(q(e)??K)}var cn=["none","soft","lifted"],un="soft",Pe="none",dn=["tight","normal","roomy"],hn="normal",R="normal",gn=["none","lift","highlight"],fn="lift",mn="highlight",Re="#141416";function He(e){return cn.includes(e??"")?e:un}function Sn(e){return dn.includes(e??"")?e:hn}function Me(e){return gn.includes(e??"")?e:fn}function pn(e){return e&&I(e)===e.toLowerCase()?e.toLowerCase():Re}function wa(e){let t=He(e);return t===Pe?void 0:t}function Aa(e){let t=Sn(e);return t===R?void 0:t}function La(e){let t=Me(e);return t===mn?void 0:t}function ka(e,t,n){let a=pn(t);return a===Re?{}:He(e)!==Pe||Me(n)==="lift"?{"--sf-shadow-color":a}:{}}var _n=["normal","tight","compressed"],y="normal";function De(e){return _n.includes(e??"")?e:y}function Ia(e){let t=De(e);return t===y?void 0:t}function Oa(e){switch(De(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,italicStrong:null,maxPx:null,weight2:null,weight3:null,case2:"authored",case3:"authored"},B=100,U=900,bn=24,yn=200;function L(e,t,n){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,t),n))}function Fe(e){let t=L(e?.weight,B,U),n=e?.case==="sentence"?"sentence":"authored",a=r=>r==null?t:L(r,B,U),o=r=>r==="sentence"?"sentence":r==="authored"?"authored":n;return{case:n,weight:t,weightStrong:L(e?.weightStrong,B,U),italicStrong:typeof e?.italicStrong=="boolean"?e.italicStrong:null,maxPx:L(e?.maxPx,bn,yn),weight2:a(e?.weight2),weight3:a(e?.weight3),case2:o(e?.case2),case3:o(e?.case3)}}function xa(e){let t=Fe(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 Pa(e){return Fe({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 Ne=[{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:"jost",label:"Jost",cssVar:"--font-jost",category:"sans",italic:!0,italicLoaded:!0},{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}],p=new Map(Ne.map(e=>[e.key,e]));function Ha(e){return p.get(e)}var J=["heading","heading2","heading3","body","accent","label"];function Ma(e){return typeof e=="string"&&J.includes(e)?e:null}var Da={heading:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",body:"Body",accent:"Emphasis",label:"Labels"},En=[["font-heading2","heading2"],["font-heading3","heading3"],["font-display","heading"],["font-serif","accent"],["font-mono","label"],["font-body","body"]],Tn=/var\(--size-(headingLarge|headingMedium|headingSmall|accent|body|label)\s*,/,Fa={heading:"headingLarge",heading2:"headingMedium",heading3:"headingSmall",accent:"accent",body:"body",label:"label"},Cn={headingLarge:"heading",headingMedium:"heading2",headingSmall:"heading3",accent:"accent",body:"body",label:"label"};function Na(e){let t=e?Tn.exec(e):null;return t?Cn[t[1]]??null:wn(e)}function wn(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 En)if(t.includes(n))return a;return null}var h={heading:"space-grotesk",heading2:"space-grotesk",heading3:"space-grotesk",body:"inter",accent:"fraunces",label:"jetbrains-mono"};function An(e){let t=n=>{let a=e?.[n];if(a&&p.has(a))return a;if(n==="heading2"||n==="heading3"){let o=e?.heading;return o&&p.has(o)?o:h.heading}return h[n]};return Object.fromEntries(J.map(n=>[n,t(n)]))}function Ln(e,t){return p.get(e[t])??p.get(h[t])}function S(e,t){return`var(${Ln(e,t).cssVar})`}var Ga=[...new Set(J.map(e=>p.get(h[e]).cssVar))],va=[...new Set(Ne.map(e=>e.cssVar))];function Ba(e){let t=An(e);return{"--font-role-heading":S(t,"heading"),"--font-role-heading2":S(t,"heading2"),"--font-role-heading3":S(t,"heading3"),"--font-role-body":S(t,"body"),"--font-role-accent":S(t,"accent"),"--font-role-label":S(t,"label"),fontFamily:"var(--font-role-body)"}}var ve=kn({settings:null,setSettings:()=>{},primeSettings:()=>{},websiteName:null,templateChrome:!1,templateName:null,chromePlaceholder:!1,themeMode:z,setThemeMode:()=>{},themeSwitchShown:V,setThemeSwitchShown:()=>{},theme:O,themeRow:"none",setTheme:()=>{},fonts:h,setFonts:()=>{},sizes:j,setSizes:()=>{},cornerRadiusPx:null,setCornerRadiusPx:()=>{},cardShadow:null,setCardShadow:()=>{},shadowColor:null,setShadowColor:()=>{},cardGap:R,setCardGap:()=>{},hoverEffect:null,setHoverEffect:()=>{},headingCompression:y,setHeadingCompression:()=>{},siteWidth:null,setSiteWidth:()=>{},siteGutter:null,siteGutterPhone:null,blockGap:null,blockGapPhone:null,setSiteGutter:()=>{},setSiteGutterPhone:()=>{},setBlockGap:()=>{},setBlockGapPhone:()=>{},headingTypography:Z,setHeadingTypography:()=>{},textStyles:null,setTextStyles:()=>{},wordStyles:null,heroBackgroundFollowsWidth:null,setHeroBackgroundFollowsWidth:()=>{},sectionBackgroundWidth:null,setSectionBackgroundWidth:()=>{},sectionContentWidth:null,setSectionContentWidth:()=>{},photographyGrayscale:null,setPhotographyGrayscale:()=>{},shareButtonOnPosts:null,setShareButtonOnPosts:()=>{},themeFromDocument:!1});function Xa({children:e,websiteName:t=null,templateChrome:n=!1,templateName:a=null,chromePlaceholder:o=!1,themeMode:r=z,onThemeModeChange:l,themeSwitchShown:c=V,onThemeSwitchShownChange:u,theme:E=O,themeRow:T="none",onThemeChange:g,fonts:C=h,onFontsChange:f,sizes:d=j,onSizesChange:w,cornerRadiusPx:H=null,onCornerRadiusPxChange:A,cardShadow:M=null,onCardShadowChange:Q,shadowColor:ze=null,onShadowColorChange:ee,cardGap:Ve=R,onCardGapChange:te,hoverEffect:Ye=null,onHoverEffectChange:ne,headingCompression:Xe=y,onHeadingCompressionChange:ae,siteWidth:je=null,onSiteWidthChange:oe,siteGutter:Ke=null,siteGutterPhone:qe=null,blockGap:Ze=null,blockGapPhone:Je=null,onSiteGutterChange:se,onSiteGutterPhoneChange:re,onBlockGapChange:ie,onBlockGapPhoneChange:le,headingTypography:Qe=Z,onHeadingTypographyChange:ce,textStyles:et=null,onTextStylesChange:ue,wordStyles:tt=null,heroBackgroundFollowsWidth:nt=null,onHeroBackgroundFollowsWidthChange:de,sectionBackgroundWidth:at=null,onSectionBackgroundWidthChange:he,sectionContentWidth:ot=null,onSectionContentWidthChange:ge,photographyGrayscale:st=null,onPhotographyGrayscaleChange:fe,shareButtonOnPosts:rt=null,onShareButtonOnPostsChange:me,themeFromDocument:it=!1}){let[_,Se]=xn(null),lt=i(s=>Se(Ht=>Ht??s),[]),ct=i(s=>l?.(s),[l]),ut=i(s=>u?.(s),[u]),dt=i(s=>g?.(s),[g]),ht=i(s=>f?.(s),[f]),gt=i(s=>w?.(s),[w]),ft=i(s=>oe?.(s),[oe]),mt=i(s=>se?.(s),[se]),St=i(s=>re?.(s),[re]),pt=i(s=>ie?.(s),[ie]),_t=i(s=>le?.(s),[le]),bt=i(s=>de?.(s),[de]),yt=i(s=>he?.(s),[he]),Et=i(s=>ge?.(s),[ge]),Tt=i(s=>fe?.(s),[fe]),Ct=i(s=>me?.(s),[me]),wt=i(s=>A?.(s),[A]),At=i(s=>Q?.(s),[Q]),Lt=i(s=>ee?.(s),[ee]),kt=i(s=>te?.(s),[te]),It=i(s=>ne?.(s),[ne]),Ot=i(s=>ae?.(s),[ae]),xt=i(s=>ce?.(s),[ce]),Pt=i(s=>ue?.(s),[ue]),pe=_?.logoUrl,_e=_?.logoReversed,be=_?.logoInkIsDark,ye=_!==null,Rt=On(()=>({logo:ye?{logoUrl:pe,logoReversed:_e,logoInkIsDark:be}:null,placeholder:n||o,wordmark:n?a:t}),[ye,pe,_e,be,n,o,a,t]);return Ge(F.Provider,{value:Rt,children:Ge(ve.Provider,{value:{settings:_,setSettings:Se,primeSettings:lt,websiteName:t,templateChrome:n,templateName:a,chromePlaceholder:o,themeMode:r,setThemeMode:ct,themeSwitchShown:c,setThemeSwitchShown:ut,theme:E,themeRow:T,setTheme:dt,fonts:C,setFonts:ht,sizes:d,setSizes:gt,cornerRadiusPx:H,setCornerRadiusPx:wt,cardShadow:M,setCardShadow:At,shadowColor:ze,setShadowColor:Lt,cardGap:Ve,setCardGap:kt,hoverEffect:Ye,setHoverEffect:It,headingCompression:Xe,setHeadingCompression:Ot,siteWidth:je,setSiteWidth:ft,siteGutter:Ke,siteGutterPhone:qe,blockGap:Ze,blockGapPhone:Je,setSiteGutter:mt,setSiteGutterPhone:St,setBlockGap:pt,setBlockGapPhone:_t,headingTypography:Qe,setHeadingTypography:xt,textStyles:et,setTextStyles:Pt,wordStyles:tt,heroBackgroundFollowsWidth:nt,setHeroBackgroundFollowsWidth:bt,sectionBackgroundWidth:at,setSectionBackgroundWidth:yt,sectionContentWidth:ot,setSectionContentWidth:Et,photographyGrayscale:st,setPhotographyGrayscale:Tt,shareButtonOnPosts:rt,setShareButtonOnPosts:Ct,themeFromDocument:it},children:e})})}var Pn=()=>In(ve);function ja(e,t,n){return e?t===n?"read":"loading":"none"}function Ka(e,t){return{value:e,readFor:t}}function qa(e,t,n){return{value:t,readFor:e.readFor===n?n:null}}function Za(){let{sectionContentWidth:e,themeFromDocument:t}=Pn();return t?null:e}import{forwardRef as Rn}from"react";import{jsx as Dn}from"react/jsx-runtime";function Hn(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 Mn=Rn(function({href:t,prefetch:n,replace:a,scroll:o,shallow:r,legacyBehavior:l,passHref:c,locale:u,onClick:E,children:T,...g},C){let f=d=>{E?.(d),!(d.defaultPrevented||g.target==="_blank")&&d.preventDefault()};return Dn("a",{ref:C,href:Hn(t),onClick:f,...g,children:T})}),eo=Mn;var Fn="Website";function ao(e){return e?.trim()||Fn}var Be=["instagram","facebook","tiktok","youtube","x","linkedin","pinterest","whatsapp","telegram","line","wechat"],Nn={instagram:"Instagram",facebook:"Facebook",tiktok:"TikTok",youtube:"YouTube",x:"X",linkedin:"LinkedIn",pinterest:"Pinterest",whatsapp:"WhatsApp",telegram:"Telegram",line:"LINE",wechat:"WeChat"},Gn={};function so(e){if(!e||typeof e!="object")return Gn;let t={};for(let n of Be){let a=e[n];if(typeof a!="string")continue;let o=a.trim();!o||!/^https?:\/\//i.test(o)||(t[n]=o)}return t}function ro(e){return Be.flatMap(t=>{let n=e[t];return n?[{platform:t,href:n,label:Nn[t]}]:[]})}var io=e=>`${e}_url`;import{forwardRef as vn}from"react";import{imageCopyUrl as Ue,imageSrcSet as We}from"efficient-shell/image-copies";import{jsx as Wn}from"react/jsx-runtime";var Bn={position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,color:"transparent"};function $e(e,t,n){if(n){let a=We(e);return a?{src:Ue(e,1280),srcSet:a,sizes:n}:{src:e,sizes:n}}if(t&&t>0){let a=We(e,{maxWidth:t*3});return a?{src:Ue(e,t*2),srcSet:a,sizes:`${t}px`}:{src:e}}return{src:e}}var Un=vn(function({src:t,width:n,height:a,fill:o,priority:r,loading:l,style:c,quality:u,placeholder:E,blurDataURL:T,unoptimized:g,loader:C,overrideSrc:f,sizes:d,...w},H){let A=f??(typeof t=="string"?t:t.src),M=$e(A,o?void 0:Number(n)||void 0,d??(o?"100vw":void 0));return Wn("img",{ref:H,...M,width:o?void 0:n,height:o?void 0:a,loading:r?"eager":l??"lazy",fetchPriority:r?"high":void 0,decoding:"async",style:o?{...Bn,...c}:{color:"transparent",...c},...w})}),ho=Un;function go(e){let t=e.overrideSrc??(typeof e.src=="string"?e.src:e.src.src),n=e.fill?void 0:Number(e.width)||void 0;return{props:$e(t,n,e.sizes??(e.fill?"100vw":void 0))}}var So={small:54,medium:66,large:84},$n=44,po=16,_o=140,bo=$n*4;export{Ne as a,Ha as b,J as c,Ma as d,Da as e,Fa as f,Na as g,wn as h,h as i,An as j,Ba as k,Zn as l,Jn as m,Qn as n,ea as o,ta as p,z as q,V as r,na as s,m as t,Bt as u,we as v,aa as w,oa as x,b as y,x as z,sa as A,ra as B,P as C,ia as D,la as E,ca as F,X as G,ua as H,Ae as I,jt as J,da as K,ha as L,ga as M,qt as N,fa as O,ma as P,Sa as Q,pa as R,_a as S,j as T,an as U,ba as V,ya as W,K as X,rn as Y,Ea as Z,q as _,ln as $,Ta as aa,Ca as ba,cn as ca,un as da,Pe as ea,R as fa,gn as ga,fn as ha,mn as ia,Re as ja,He as ka,Sn as la,Me as ma,pn as na,wa as oa,Aa as pa,La as qa,ka as ra,y as sa,De as ta,Ia as ua,Oa as va,Z as wa,Fe as xa,xa as ya,Pa as za,ho as Aa,go as Ba,eo as Ca,Ee as Da,jn as Ea,Xa as Fa,Pn as Ga,ja as Ha,Ka as Ia,qa as Ja,Za as Ka,Fn as La,ao as Ma,Be as Na,Nn as Oa,Gn as Pa,so as Qa,ro as Ra,io as Sa,So as Ta,$n as Ua,po as Va,_o as Wa,bo as Xa};
|