efficient-storefront-blocks 0.74.0 → 0.76.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 +48 -0
- package/dist/chunks/EditorPreviewCheckout-ANI7HUYX.js +4 -0
- package/dist/chunks/{SiteEditorProvider-Z33JB5BA.js → SiteEditorProvider-AJUWZYHT.js} +1 -1
- package/dist/chunks/chunk-3IQQNZIM.js +311 -0
- package/dist/chunks/chunk-4F5CAFXO.js +1 -0
- package/dist/chunks/{chunk-5OFEWRWI.js → chunk-5NXOTPHK.js} +1 -1
- package/dist/chunks/chunk-YAYHH5GY.js +1 -0
- package/dist/chunks/{chunk-QJDTP7K6.js → chunk-YFPWVNDB.js} +1 -1
- package/dist/chunks/{fitment-data-DHKRLKNI.js → fitment-data-IZYCNTET.js} +1 -1
- package/dist/contract.js +2 -2
- package/dist/editor/components/BlogSource.js +1 -1
- package/dist/editor/components/CategoryProductFields.d.ts +22 -0
- package/dist/editor/components/CategoryProductFields.js +1 -0
- package/dist/editor/components/CategorySource.d.ts +12 -0
- package/dist/editor/components/CategorySource.js +1 -1
- package/dist/editor/components/CollectionPicker.js +1 -1
- package/dist/editor/components/CountryShowAsTiles.js +1 -1
- package/dist/editor/components/EditorPreviewChat.js +1 -11
- package/dist/editor/components/EditorPreviewSurface.js +1 -1
- package/dist/editor/components/GalleryProductBinding.js +1 -1
- package/dist/editor/components/GalleryShowcaseSource.js +1 -1
- package/dist/editor/components/HeaderSettingsPanel.d.ts +8 -4
- package/dist/editor/components/HeaderSettingsPanel.js +1 -1
- package/dist/editor/components/MenuPicker.js +1 -1
- package/dist/editor/components/PreviewProductPicker.js +1 -1
- package/dist/editor/components/ProductHeroSource.js +1 -1
- package/dist/editor/components/ProductPicker.js +1 -1
- package/dist/editor/components/SocialLinksDoor.js +1 -1
- package/dist/editor/components/SpecTableSource.js +1 -1
- package/dist/editor/lib/document/block-align-row.d.ts +2 -0
- package/dist/editor/lib/document/block-align-row.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/AccountBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/AlloyWheelsListing/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/BundleOffer/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/CartBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/CatalogFilterBar/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/CheckoutCTA/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/CollectionCard/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/Collections/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/CompatibleTyres/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/CountrySwitchBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/DeliveryOptions/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/DetailRows/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/EuTyreLabel/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/FitmentFinder/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/FitmentTable/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/Gallery/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryB/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryItem/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductGallery/fields.d.ts +2 -2
- package/dist/editor/lib/document/blocks/commerce/ProductGallery/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductGrid/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductHero/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/RelatedProducts/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/SearchBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/SpecTable/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/TyreFitment/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/TyreSizes/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/shared-fields.d.ts +1 -0
- package/dist/editor/lib/document/blocks/commerce/shared-fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/AppointmentBooking/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/BookingBox/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/ContactCards/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/ContactRouting/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/Events/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/Footer/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterDivider/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterEmailSignup/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterGroup/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterLogo/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterMenu/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterMessaging/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterPayment/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterSocial/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterText/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/Form/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/MessagingCards/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/OpeningHours/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/RateTable/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/RatingBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/ReviewForm/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/Reviews/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/SiteHeader/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/SubmitBox/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/SubmitBuild/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/Subscribe/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/SubscribeBlogs/fields.js +1 -1
- package/dist/editor/lib/document/box-header.js +1 -1
- package/dist/editor/lib/document/config.d.ts +16 -16
- package/dist/editor/lib/document/config.js +1 -1
- package/dist/editor/lib/editor-currency-source.js +1 -1
- package/dist/editor/lib/efficient-backend.js +1 -1
- package/dist/editor/lib/storefront-editor-words.d.ts +12 -16
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/editor.css +1 -1
- package/dist/index.js +413 -724
- package/dist/links.js +1 -1
- package/dist/render/app/globals.css +32 -79
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/BoxHeaderBar.js +1 -1
- package/dist/render/components/CartContext.d.ts +4 -0
- package/dist/render/components/CartContext.js +1 -1
- package/dist/render/components/CartDrawer.js +2 -2
- package/dist/render/components/CatalogFilterBarSection.d.ts +1 -1
- package/dist/render/components/CatalogFilterBarSection.js +1 -1
- package/dist/render/components/Collections.js +1 -1
- package/dist/render/components/CompatibleTyres.js +1 -1
- package/dist/render/components/ConsentPanel.js +1 -1
- package/dist/render/components/ContactRouting.js +1 -1
- package/dist/render/components/CouponField.js +1 -1
- package/dist/render/components/CurrencyContext.js +1 -1
- package/dist/render/components/Events.js +1 -1
- package/dist/render/components/FitmentTable.js +1 -1
- package/dist/render/components/FooterGroup.d.ts +1 -1
- package/dist/render/components/FooterGroup.js +1 -1
- package/dist/render/components/FooterLogo.d.ts +2 -1
- package/dist/render/components/FooterMenu.js +1 -1
- package/dist/render/components/FooterPayment.d.ts +1 -2
- package/dist/render/components/FooterPayment.js +1 -1
- package/dist/render/components/FooterSocial.d.ts +1 -2
- package/dist/render/components/FooterSocial.js +1 -1
- package/dist/render/components/FormBlock.js +1 -1
- package/dist/render/components/GalleryItem.js +1 -1
- package/dist/render/components/GalleryShowcase.js +1 -1
- package/dist/render/components/Header.js +1 -1
- package/dist/render/components/HeaderToolBlocks.d.ts +1 -2
- package/dist/render/components/HeaderToolBlocks.js +1 -1
- package/dist/render/components/HeaderTools.js +1 -1
- package/dist/render/components/Lightbox.d.ts +2 -2
- package/dist/render/components/Lightbox.js +1 -1
- package/dist/render/components/LinkedProductHero.d.ts +2 -0
- package/dist/render/components/PopupFrame.d.ts +17 -4
- package/dist/render/components/PopupFrame.js +1 -1
- package/dist/render/components/ProductGallery.js +1 -1
- package/dist/render/components/ProductGridSection.js +1 -1
- package/dist/render/components/ProductHeroPanel.d.ts +3 -1
- package/dist/render/components/ProductHeroPanel.js +1 -1
- package/dist/render/components/ProductLightbox.js +1 -1
- package/dist/render/components/ReviewForm.js +1 -1
- package/dist/render/components/SectionGroupBody.js +1 -1
- package/dist/render/components/SpecTable.d.ts +2 -1
- package/dist/render/components/SpecTable.js +1 -1
- package/dist/render/components/SubscribePopup.js +2 -2
- package/dist/render/components/TyreRenderSvg.js +1 -1
- package/dist/render/components/booking/BookingRegions.js +1 -1
- package/dist/render/components/catalog/CatalogFilterBar.d.ts +4 -4
- package/dist/render/components/catalog/CatalogFilterBar.js +1 -1
- package/dist/render/components/catalog/CatalogFilterContext.d.ts +5 -3
- package/dist/render/components/catalog/CatalogFilterContext.js +1 -1
- package/dist/render/components/catalog/FilterPill.d.ts +3 -1
- package/dist/render/components/catalog/FilterPill.js +1 -1
- package/dist/render/components/checkout/CheckoutPageClient.js +1 -1
- package/dist/render/components/checkout/checkout-parts.js +1 -1
- package/dist/render/components/checkout/checkout-state.d.ts +19 -2
- package/dist/render/components/checkout/checkout-state.js +3 -3
- package/dist/render/components/fitment/StockFitmentCard.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicProductGallery.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicProductHero.d.ts +2 -0
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.js +1 -1
- package/dist/render/components/pdp-dynamic/RecordPhotoGallery.js +1 -1
- package/dist/render/components/product-hero/TyreHeroFitment.js +1 -1
- package/dist/render/components/product-hero/VehicleQuestion.d.ts +1 -2
- package/dist/render/components/product-hero/VehicleQuestion.js +1 -1
- package/dist/render/components/product-hero/WheelHeroFitment.js +1 -1
- package/dist/render/components/product-hero/trust-bullets.d.ts +5 -0
- package/dist/render/components/product-hero/trust-bullets.js +1 -0
- package/dist/render/components/useModalDismiss.d.ts +2 -1
- package/dist/render/components/useModalDismiss.js +1 -1
- package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -1
- package/dist/render/components/wheels-plp/PlpNotifyMeDialog.js +1 -1
- package/dist/render/lib/api/index.d.ts +0 -8
- package/dist/render/lib/api/index.js +1 -1
- package/dist/render/lib/api/types.d.ts +7 -3
- package/dist/render/lib/booking/appointment-time.d.ts +2 -0
- package/dist/render/lib/booking/appointment-time.js +1 -0
- package/dist/render/lib/catalog/from-wheel.js +1 -1
- package/dist/render/lib/catalog/plp-item.js +1 -1
- package/dist/render/lib/checkout/stripe-appearance.d.ts +10 -0
- package/dist/render/lib/checkout/stripe-appearance.js +1 -0
- package/dist/render/lib/checkout/wallet-return.d.ts +1 -1
- package/dist/render/lib/commerce.d.ts +1 -0
- package/dist/render/lib/commerce.js +1 -1
- package/dist/render/lib/content/legacy-block-align.d.ts +2 -0
- package/dist/render/lib/content/legacy-block-align.js +1 -0
- package/dist/render/lib/content/menu-row.d.ts +0 -3
- package/dist/render/lib/content/menu-row.js +1 -1
- package/dist/render/lib/content/site.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/BundleOffer/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/CheckoutCTA/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/Collections/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/CompatibleTyres/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/CountrySwitchBlock/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/DeliveryOptions/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/DetailRows/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/EuTyreLabel/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentFinder/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentTable/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductGrid/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductHero/meta.d.ts +6 -0
- package/dist/render/lib/document/blocks/commerce/ProductHero/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductHero/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/RelatedProducts/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/SpecTable/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/SpecTable/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/TyreFitment/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/TyreSizes/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/ContactCards/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/ContactRouting/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/FooterPayment/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/FooterSocial/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/MessagingCards/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/OpeningHours/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/RateTable/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/SubmitBuild/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/Subscribe/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/SubscribeBlogs/meta.js +1 -1
- package/dist/render/lib/document/lazy-draws.js +1 -1
- package/dist/render/lib/document/render-client.d.ts +8 -3
- package/dist/render/lib/document/render-client.js +1 -1
- package/dist/render/lib/document/section-to-box-rows-reviews.js +1 -1
- package/dist/render/lib/document/storefront-root.d.ts +0 -2
- package/dist/render/lib/document/storefront-root.js +1 -1
- package/dist/render/lib/field-input.d.ts +1 -0
- package/dist/render/lib/field-input.js +1 -0
- package/dist/render/lib/sections/content-cap-gutter.d.ts +1 -0
- package/dist/render/lib/sections/content-cap-gutter.js +1 -0
- package/dist/render/lib/sections/hero-trust-bullets.d.ts +2 -0
- package/dist/render/lib/sections/hero-trust-bullets.js +1 -0
- package/dist/render/lib/tyres/spec-sheet.d.ts +17 -0
- package/dist/render/lib/tyres/spec-sheet.js +1 -1
- package/dist/render/lib/use-scope-class.d.ts +1 -0
- package/dist/render/lib/use-scope-class.js +1 -0
- package/dist/render/lib/wheels/catalog-default-layout.d.ts +3 -3
- package/dist/render/lib/wheels/catalog-default-layout.js +1 -1
- package/dist/render/lib/wheels/catalog-filters.d.ts +2 -2
- package/dist/render/lib/wheels/catalog-filters.js +1 -1
- package/dist/render/lib/wheels/grid-source.d.ts +7 -1
- package/dist/render/lib/wheels/grid-source.js +1 -1
- package/dist/render/lib/wheels/plp-hydrate.js +1 -1
- package/dist/words.d.ts +48 -48
- package/dist/words.js +6 -6
- package/package.json +7 -4
- package/dist/chunks/EditorPreviewCheckout-YQ3F5MSG.js +0 -4
- package/dist/chunks/chunk-BZDVZUF4.js +0 -1
- package/dist/chunks/chunk-UGXNUQRA.js +0 -246
- package/dist/chunks/chunk-UJW4B64R.js +0 -1
- package/dist/render/components/product-hero/hero-content.d.ts +0 -7
- package/dist/render/components/product-hero/hero-content.js +0 -1
- package/dist/render/components/useIsLightTheme.d.ts +0 -1
- package/dist/render/components/useIsLightTheme.js +0 -1
- package/dist/render/lib/content/product-hero.d.ts +0 -14
- package/dist/render/lib/content/product-hero.js +0 -1
- package/dist/render/lib/wheels/collections.d.ts +0 -22
- package/dist/render/lib/wheels/collections.js +0 -1
- /package/dist/chunks/{chunk-UGXNUQRA.js.LEGAL.txt → chunk-3IQQNZIM.js.LEGAL.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as yt,i as he,q as bt,s as Ct,t as xt,v as G}from"./chunk-YFPWVNDB.js";import{Ha as ge,Ia as gt,La as We,Ma as ht,Pa as qe,Qa as Ge}from"./chunk-YAYHH5GY.js";import{j as mt,l as ae}from"./chunk-5NXOTPHK.js";import{createContext as Cn,useContext as _t,useEffect as xn,useMemo as be,useState as Pt}from"react";function vt(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,Dr=1,Fr={unit:"set",spares:0,spareSide:"left"};function Et(e){return e.unit==="single"?1:Ke+e.spares}function Ur(e,t){return[{partNumber:e.partNumber,wheels:Et(t),prices:e.prices}]}function $r(e,t){let n=Et(t)-Ke;if(n<=0||e.length===0)return e;let r=hn(e),o=r?r[t.spareSide]:0;return e.map((i,a)=>a===o?{...i,wheels:i.wheels+n}:i)}function hn(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 yn(e,t){return t.spares>0?`${e} + spare`:e}function Hr(e){return e.unit==="single"?"Single":yn(`Set of ${Ke}`,e)}var Br="data-add-to-basket",ze=9,bn="en",St=new Map;function Le(e,t,n){let r=`${e}|${t??""}|${n??""}`,o=St.get(r);return o||(o=new Intl.NumberFormat(bn,{style:"currency",currency:e,...t===void 0?{}:{minimumFractionDigits:t},...n===void 0?{}:{maximumFractionDigits:n}}),St.set(r,o)),o}function ye(e,t,n=0){return Le(t,0,n).format(e)}function Wr(e,t){return Le(t).format(e)}import{jsx as Pn}from"react/jsx-runtime";var Sn="storefront-country",wt=Sn,Xe=Cn(null);function vn(e){return Rt(e,"catalogue")}function En(e){return Rt(e,"money")}function Rt(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 Xr({children:e,currencies:t,countries:n,defaultCurrency:r,defaultCountry:o}){let i=be(()=>t??[],[t]),a=be(()=>n??[],[n]),l=be(()=>r||i.find(b=>b.isDefault)?.code||i[0]?.code||"",[r,i]),c=be(()=>o||a.find(b=>b.isDefault)?.code||a[0]?.code||"",[o,a]),[u,p]=Pt(c),[d,x]=Pt(!1);xn(()=>{let b=ae.getItem(wt);b&&a.some(E=>E.code===b)&&p(b),x(!0)},[a]);function R(b){p(b),ae.setItem(wt,b)}let C=be(()=>{let b=a.find(I=>I.code===u)??null,E=b?.currency,M=E&&i.some(I=>I.code===E)?E:l,D=vn(i),k=En(i);return{country:u,currency:M,setCountry:R,currencies:i,countries:a,activeCountry:b,formatPrice:(I,g)=>D(I,g??M),formatMoney:(I,g)=>k(I,g??M),ready:d}},[u,i,a,l,d]);return Pn(Xe.Provider,{value:C,children:e})}function Nt(){let e=_t(Xe);if(!e)throw new Error("useCurrency must be used within a CurrencyProvider");return e}function Vr(){return _t(Xe)?.country??""}import{createContext as $n,useCallback as w,useContext as Hn,useEffect as V,useMemo as Wt,useRef as xe,useState as _}from"react";function Lt(){return"/edit"}function It(e,t){return e.valid?!1:e.reason==="firstOrderOnly"?!0:e.reason==="notEligible"&&!t}var Tt="We'll confirm this discount when you place your order.",Jr="Confirmed at checkout";function eo(e){return e&&(e.valid||e.deferred)?e.code:void 0}var kt="coupon_code: ";function to(e){return!(e instanceof he)||e.status!==400||!e.message.startsWith(kt)?null:e.message.slice(kt.length)}function At(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",_n="Request a quote",Rn="from ",io="From ",ao="each",Ot="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 so(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 lo(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 Nn={priced:!1,unit:null,was:null,onSale:!1,setTotal:null};function Ln(e,t,n){if(!Ve(e))return Nn;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 uo(e,t,n=""){return!e.priced||e.unit==null?ke:`${n}${ye(e.unit,t)}`}function co(e,t){return e.was==null?null:ye(e.was,t)}function kn(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((a,l)=>a+l.wheels,0),i=Math.min(...e.map(a=>a.prices[t]));return{priced:!0,unit:i,isFrom:i*o!==r,setTotal:r*n}}var In={priced:!1,unit:null,isFrom:!1,was:null,onSale:!1,setTotal:null};function fo(e,t,n,r=1){let o=Ln(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=kn(t.components,n,r);return a.priced?{priced:!0,unit:a.unit,isFrom:a.isFrom,was:null,onSale:!1,setTotal:a.setTotal,fromSetTotal:i}:{...In,fromSetTotal:i}}function Tn(e,t){return!e.priced||e.unit==null?ke:`${e.isFrom?Rn:""}${ye(e.unit,t)}`}function po(e,t){return e.was==null?null:ye(e.was,t)}function mo(e,t){return!e.priced||e.unit==null?_n:Tn(e,t)}var An=/^[^@\s]+@[^@\s]+\.[^@\s]+$/;function Mt(e){return An.test(e.trim())}var Dt="sf:ga-purchases",On=20;function Ut(){return typeof window>"u"||window.parent!==window}function Ce(...e){try{if(Ut()||typeof window.gtag!="function")return;window.gtag(...e)}catch{}}function Mn(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=>Mn(n,t))}function xo(e){Ce("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 $t(e,t){let n=Qe([e],t);n.length!==0&&Ce("event","add_to_cart",{currency:t,value:n[0].price*n[0].quantity,items:n})}function So(e){let t=Qe(e.lines,e.currency);t.length!==0&&Ce("event","begin_checkout",{currency:e.currency,value:e.value,...e.coupon?{coupon:e.coupon}:{},items:t})}var Ft=new Set;function Dn(e){if(Ft.has(e))return!1;Ft.add(e);try{let t=JSON.parse(ae.getItem(Dt)??"[]");if(t.includes(e))return!1;ae.setItem(Dt,JSON.stringify([...t,e].slice(-On)))}catch{}return!0}function vo(e){let t=e.confirmation;if(Ut()||!Dn(t.orderNumber))return;let n=t.currency,r=Number(t.grandTotal);Ce("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&&Ce("event","conversion",{send_to:e.adsSendTo,transaction_id:t.orderNumber,currency:n,value:r})}var Fn="Arranged after review",Ht="Calculated at checkout",Un=Ht,wo=Ht;function Bt({quoted:e,optionCount:t,chosenAmount:n,couponWaivesFreight:r}){return e&&t===0?"arranged":r?"free":n===void 0?"pending":n===0?"free":"charged"}function _o(e){switch(e){case"arranged":return Fn;case"pending":return Un;case"free":return Ot;case"charged":return null}}import{jsx as Gn}from"react/jsx-runtime";var Bn=400,Wn=400,qn=1500;function Ie(e){return(e.components?.length??0)>0}function qt(e,t){return{code:e,valid:t.valid,deferred:It(t,t.askedAsShopper),message:t.message||void 0,effects:t.effects??void 0}}function Kt(e,t){return se(e.components,t)}function je(e,t){let n=Kt(e,t);return n===null?null:n*e.qty}function Gt(e){return e!=="tyre"}var zt=$n(null);function $o({children:e,preview:t=!1}){let{currency:n,country:r,formatMoney:o}=Nt(),[i,a]=_(t),[l,c]=_([]),[u,p]=_([]),[d,x]=_([]),[R,C]=_(!1),[b,E]=_(!1),[M,D]=_(!1),[k,I]=_(!1),[g,$]=_(null),[j,U]=_(0),y=w(()=>U(s=>s+1),[]),[P,S]=_(void 0),[K,Ue]=_(null),[v,T]=_(null),[le,ee]=_(!1),[A,ue]=_(null),Z=xe(void 0),H=w(()=>a(!0),[]),te=w(()=>a(!1),[]),B=w(()=>a(s=>!s),[]);V(()=>{t||typeof window>"u"||new URLSearchParams(window.location.search).get("cart")==="open"&&H()},[H,t]);let ne=Lt(),F=xe(ne);V(()=>{F.current!==ne&&(F.current=ne,t||te())},[ne,t,te]);let we=w(s=>{Ue(f=>f?.country===s?.country&&f?.subdivision===s?.subdivision&&f?.postcode===s?.postcode?f:s)},[]),re=w(s=>{I(!0),Gt(s)&&D(!0)},[]),ce=M||l.some(s=>Gt(s.kind)),de=k||l.length>0;V(()=>{if(t||!ce||R)return;let s=!0;return G.listWheels().then(f=>{s&&(p(f),C(!0))}),()=>{s=!1}},[t,ce,R]),V(()=>{if(t||!de||b)return;let s=!0;return G.listBundles().then(f=>{s&&(x(f),E(!0))}),()=>{s=!1}},[t,de,b]);let W=g?.deliveryOptions??[],fe=g?.courier??null;V(()=>{g&&ue(s=>s&&W.some(f=>f.id===s)?s:W[0]?.id??null)},[g]);let X=w(()=>l.filter(Ie).flatMap(s=>vt(s.components,s.qty)),[l]),_e=w(async(s,f)=>{let h=s.trim().toUpperCase();if(!h)return;let m=X();if(m.length===0){T({code:h,valid:!1,message:"Add a wheel to the cart first."});return}ee(!0),Z.current=f;try{let L=await G.validateCoupon({code:h,items:m,currency:n,shippingMethodId:A??void 0,customerEmail:f});T(qt(h,L))}catch{T({code:h,valid:!1,unchecked:!0,message:"Could not check that code. Please try again."})}finally{ee(!1)}},[X,n,A]),Re=w(()=>{T(null),Z.current=void 0},[]),N=w(s=>{if(!v)return;let{code:f}=v;T(h=>h&&h.code===f?{code:f,valid:!1,refused:!0,message:s}:h)},[v]);V(()=>{if(!v||v.refused)return;let s=v.code,f=m=>m!==null&&m.code===s&&!m.refused,h=setTimeout(async()=>{let m=X();if(m.length===0){T(L=>f(L)?{code:s,valid:!1,message:"Add a wheel to the cart first."}:L);return}ee(!0);try{let L=await G.validateCoupon({code:s,items:m,currency:n,shippingMethodId:A??void 0,customerEmail:Z.current});T(me=>f(me)?qt(s,L):me)}catch{}finally{ee(!1)}},Bn);return()=>clearTimeout(h)},[l,n,A]);let z=v&&!v.refused?v.code:void 0;V(()=>{if(t)return;let s=!0,f=setTimeout(async()=>{let h=X();if(h.length===0){$(null),S(void 0);return}try{let m=await G.quoteCart({items:h,currency:n,shippingMethodId:A??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(!s)return;$(m)}catch{if(!s)return}S(z)},Wn);return()=>{s=!1,clearTimeout(f)}},[l,n,A,z,r,K,j]);let oe=w(s=>{c(f=>{let h=f.findIndex(m=>m.id===s.id);return h===-1?[...f,s]:f.map((m,L)=>L===h?{...m,qty:Math.min(ze,m.qty+s.qty)}:m)}),$t(s,n)},[n]),ot=w(s=>{c(f=>f.filter(h=>h.id!==s))},[]),it=w((s,f)=>{let h=Math.max(1,Math.min(ze,f));c(m=>m.map(L=>L.id===s?{...L,qty:h}:L))},[]),at=w(s=>{c(s)},[]),[pe,un]=_(null),st=xe(null);st.current=pe;let q=xe(null),$e=xe(""),lt=w((s,f)=>{let h=s.trim().toLowerCase();Mt(h)&&un(m=>m&&m.email===h&&m.firstName===(f??"")?m:{email:h,firstName:f??""})},[]);V(()=>{if(t||!pe)return;let s=At(l.filter(Ie),m=>je(m,n)===null?ke:o(je(m,n),n)),f={email:pe.email,firstName:pe.firstName,currency:n,items:s},h=JSON.stringify(f);if(h!==$e.current)return q.current&&clearTimeout(q.current),q.current=setTimeout(()=>{q.current=null,$e.current=h,G.captureCart(f).catch(m=>{})},qn),()=>{q.current&&(clearTimeout(q.current),q.current=null)}},[l,pe,n,t]);let ut=w(()=>{q.current&&(clearTimeout(q.current),q.current=null);let s=st.current;s&&($e.current="",G.captureCart({email:s.email,firstName:s.firstName,currency:n,items:[]}).catch(f=>{}))},[n]),ct=Wt(()=>{let s=l.reduce((O,ie)=>{let Ne=je(ie,n);return Ne===null?O:O+Ne},0),f=l.some(O=>Kt(O,n)===null),h=l.reduce((O,ie)=>O+ie.qty,0),m=v?.valid?v.effects:void 0,L=m?Math.min(s,Number(m.discountAmount)):0,me=g?.bundleDiscount??0,dn=g?.appliedBundles??[],He=!!m?.freeShipping,ft=W.find(O=>O.id===A),pt=He?0:g?.shipping??ft?.amount??0,fn=Bt({quoted:g!==null,optionCount:W.length,chosenAmount:ft?.amount,couponWaivesFreight:He}),Be={};for(let O of m?.freeUnits??[])Be[O.partNumber]=(Be[O.partNumber]??0)+O.quantity;let pn=g?.tax??null,mn=g?g.grandTotal:s-L-me+pt;return{sets:h,units:l.reduce((O,ie)=>O+(ie.components??[]).reduce((Ne,gn)=>Ne+gn.wheels*ie.qty,0),0),subtotal:s,hasUnpricedLine:f,discount:L,bundleDiscount:me,appliedBundles:dn,shipping:pt,freeShipping:He,shippingStatus:fn,freeUnitsByPartNumber:Be,tax:pn,grand:mn,repricing:!!v?.refused&&g!==null&&P===v?.code,currency:n}},[l,n,v,W,A,g,P]),dt=w(s=>{oe(s),H()},[oe,H]),cn=Wt(()=>({isOpen:i,preview:t,open:H,close:te,toggle:B,items:l,catalog:u,bundles:d,warmCatalog:re,add:oe,addAndOpen:dt,remove:ot,setQty:it,replaceItems:at,identify:lt,clearCapturedCart:ut,coupon:v,applyCoupon:_e,removeCoupon:Re,refuseCoupon:N,couponBusy:le,deliveryOptions:W,setQuoteDestination:we,courier:fe,requote:y,shippingMethodId:A,setShippingMethodId:ue,totals:ct}),[i,t,H,te,B,l,u,d,re,oe,dt,ot,it,at,lt,ut,v,_e,Re,N,le,W,we,fe,y,A,ct]);return Gn(zt.Provider,{value:cn,children:e})}function Xt(){let e=Hn(zt);if(!e)throw new Error("useCart() must be called inside <CartProvider>. Mount the provider in app/layout.tsx.");return e}import{cache as tr}from"react";function Vt(e,t,n,r){for(;e.size>=t;){let o,i;for(let[l,c]of e){if(c.expiresAt<=r){o=l;break}i===void 0&&n(l)&&(i=l)}let a=o??i??e.keys().next().value;if(a===void 0)return;e.delete(a)}}var Kn=6e4,zn=5e3,Xn=500,Te=new Map;async function Vn(e){let{host:t,matchesRequestHost:n}=await bt();if(!t)return"";let r=await Ct();return r?`${e}|slug:${encodeURIComponent(t)}/${encodeURIComponent(r)}`:n?`${e}|host:${t}`:`${e}|xhost:${t}`}var Yn=e=>e.includes("|slug:")||e.includes("|xhost:");async function Yt(e,t){if(await xt()!==null)return t();let n=await Vn(e);if(!n)return t();let r=Date.now(),o=Te.get(n);if(o&&o.expiresAt>r)return o.load;let i=await t(),a=i.outcome.state==="failed",l=a?zn:Kn,c=Te.get(n)?.lastGood,u=i.outcome.state==="ok"?i:a?c:void 0,p=a&&u?u:i;return Vt(Te,Xn,Yn,r),Te.set(n,{load:p,expiresAt:r+l,lastGood:u}),p}var Qn=404;function jn(e){if(e instanceof he&&e.status===Qn)return{state:"absent"};let t=e instanceof he?e.status:-1,n=e instanceof Error?e.message:String(e);return{state:"failed",status:t,detail:n}}var Zn="[storefront:chrome-load-failed]";function Jn(e,t){console.error(`${Zn} ${e} status=${t.status} \u2014 serving fallback chrome`,t.detail)}async function Qt(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"&&Jn(e,i),{value:n,outcome:i}}}function er(e){return e==="production"?"silent":"banner"}var Xo=er("production");function nr(e,t){return e?.trim()||t}function ti({legalName:e,foundedYear:t,siteName:n},r=new Date().getFullYear()){let o=nr(e,n);return`\xA9 ${t&&t<r?`${t}\u2013${r}`:`${r}`} ${o}`}var rr={name:ge,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:We},ni=tr(async()=>Yt("site",()=>Qt("site",async()=>{let e=await G.getSite();return{name:gt(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:ht(e.socialLinks)}},rr)));var ri={name:ge,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:We};import{jsx as ve,jsxs as Ze}from"react/jsx-runtime";import{useEffect as Ae,useId as sr,useRef as Zt,useState as Oe}from"react";import{useRootIsDark as lr}from"efficient-shell/theme";import{efficientClientOpen as or}from"efficient-easel/screen/lib/session";var Se=new Map,ir=64;async function ar(e){if(!or())return null;try{let t=await fetch(`${mt()}/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=ar(e);if(Se.set(e,n),Se.size>ir){let r=Se.keys().next();r.done||Se.delete(r.value)}return n}var ur=202/22,cr=.88,Ci=16,dr="invert(1)";function xi({variant:e="header",scrolled:t=!0,src:n,reverse:r=!1,color:o=null,onLightSurface:i,reversedSrc:a,inkIsDark:l,size:c="medium",sizePx:u,wordmark:p,siteName:d=ge,fitToContainer:x=!1,fitWordmarkToContainer:R=!1,fitFloorPx:C}){let b=p&&p.trim()?p.trim():d,[E,M]=Oe(null),D=Zt(null),k=N=>{D.current=N};Ae(()=>{M(D.current?.ownerDocument??null)},[]);let I=!lr({doc:E,whenUnset:!0}),g=n&&n.trim()?n.trim():null,$=!!g&&yt(g),j=i??(I&&t),U=o&&o.trim()?o.trim():null,y=r&&!U,P=`logo-color-${sr().replace(/[^A-Za-z0-9_-]/g,"")}`,S=y&&$&&g&&a!=null?{reversed:a,inkIsDark:l??null}:null,K=S!==null,[Ue,v]=Oe(null);Ae(()=>{if(!y||!g||!$||K){v(null);return}let N=!1;return v(null),jt(g).then(z=>{N||v(z)}),()=>{N=!0}},[y,g,$,K]);let T=S??Ue,le=!!T&&T.inkIsDark!==null&&(j?!T.inkIsDark:T.inkIsDark),ee=y&&!!g&&!$&&!j,A=le&&T?T.reversed:g,ue=A?[A]:[],[Z,H]=Oe(0);Ae(()=>{H(0)},[g,le]);let te=e==="footer"?Ge:qe[c],B=u&&u>0?u:te,ne=Math.round(B*ur),F=Z<ue.length?ue[Z]:null,[we,re]=Oe(A),ce=F!==null&&F===we,de=Zt(null);Ae(()=>{let N=de.current;if(!N||!N.complete)return;if(N.naturalWidth>0||N.naturalHeight>0){re(F);return}let z=!1;return N.decode().then(()=>!z&&re(F),()=>!z&&H(oe=>oe+1)),()=>{z=!0}},[F]);let W=x||R,fe=`calc(100cqi / ${((b.length+1)*cr).toFixed(2)})`,X=W&&C&&C>0?Math.min(C,B):null,_e=W?X===null?`min(${B}px, ${fe})`:`clamp(${X}px, ${fe}, ${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":b,children:[b,ve("span",{className:"text-accent",style:U?{color:U}:void 0,children:"."})]});return Ze("span",{ref:k,className:"inline-flex items-center",children:[!ce&&Re,U&&F&&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"})]})}),F&&ve("img",{ref:de,src:F,alt:b,width:ne,height:B,className:"shrink-0 object-contain",style:{...ce?{height:`${B}px`,width:"auto",...x?{maxWidth:"100cqi"}:{}}:{display:"none"},...ee?{filter:dr}:{},...U?{filter:`url(#${P})`}:{}},onLoad:()=>re(F),onError:()=>H(N=>N+1)},F)]})}import{jsx as Ee,jsxs as pr}from"react/jsx-runtime";function fr({spokes:e,mesh:t=!1,className:n}){let a=c=>Math.round(c*1e3)/1e3,l=[];for(let c=0;c<e;c++){let u=c/e*Math.PI*2-Math.PI/2;if(l.push({x1:a(100+Math.cos(u)*22),y1:a(100+Math.sin(u)*22),x2:a(100+Math.cos(u)*86),y2:a(100+Math.sin(u)*86),main:!0}),t){let p=u+Math.PI/e;l.push({x1:a(100+Math.cos(p)*22*1.4),y1:a(100+Math.sin(p)*22*1.4),x2:a(100+Math.cos(p)*78),y2:a(100+Math.sin(p)*78),main:!1})}}return pr("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((c,u)=>Ee("line",{x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,stroke:"currentColor",strokeWidth:c.main?6:3,strokeLinecap:"round",opacity:c.main?1:.5},u))]})}var Pi="#c9a461",Jt=[{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"}],wi={name:"",color:"var(--fg)",family:"silver",src:""};function mr(e,t){let n=r=>{let o=Jt.findIndex(i=>i.f===r);return o===-1?Jt.length:o};return n(e)-n(t)||e.localeCompare(t)}function _i(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(mr)}import{useState as gr}from"react";import{jsx as J,jsxs as Je}from"react/jsx-runtime";function hr({customerEmail:e}){let{coupon:t,applyCoupon:n,removeCoupon:r,couponBusy:o}=Xt(),[i,a]=gr("");async function l(){o||!i.trim()||(await n(i,e),a(""))}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:c=>a(c.target.value),onKeyDown:c=>{c.key==="Enter"&&(c.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:Tt}):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",yr={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 br(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 Ai(e,t,n){let r=br(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 Oi={accept:"Accept all",reject:"Reject all",choose:"Choose",save:"Save",ok:"OK",privacyChoices:"Privacy choices",privacyPolicy:"Privacy Policy",alwaysOn:"Always on"};var Cr={asked:!1,region:"other",model:"opt-in",analytics:!0,ads:!0,chosen:!0,gpc:!1};var xr=Cr;function Ui(e=xr){if(e.asked)return e.ads?"granted":"denied"}function Hi(){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 vr,isValidElement as Er,useEffect as tn,useId as Pr,useLayoutEffect as on,useRef as Y,useState as nn}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 en(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(),l=n.findIndex((c,u)=>De(n,u)&&c.label.toLowerCase().startsWith(a));return{state:i({open:!0,typed:a,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 wr}from"efficient-shell/ui";import{Fragment as Ir,jsx as Q,jsxs as an}from"react/jsx-runtime";var rn={body:"text-[length:var(--size-body,14px)]",label:"text-[length:var(--size-label,13px)]"};function _r({items:e,value:t,onPick:n,open:r,onOpen:o,onClose:i}){let[a,l]=nn(!1),c=r!==void 0,u=c?r:a,[p,d]=nn(0),x=Y({text:"",timer:0}),R=Y(null),C=Y(null),b=Y(null),E=Pr(),M=Y(null),D=e.findIndex(y=>y.value===t),k=y=>{y!==u&&(c||l(y),y?o?.():i?.())},I=y=>{let P=e[y];!P||P.disabled||(n(P.value),k(!1),C.current?.focus())},g=y=>{let P={open:u,focus:u?p:rt(e,D),typed:x.current.text},S=en(P,y,e);return!S.handled&&S.state.open===u?!1:(S.state.typed!==P.typed&&(x.current.text=S.state.typed,window.clearTimeout(x.current.timer),x.current.timer=window.setTimeout(()=>{x.current.text=""},500)),d(S.state.focus),S.commit!==void 0?I(S.commit):k(S.state.open),S.refocus&&C.current?.focus(),S.handled)},$=Y(g);$.current=g;let j=Y(()=>k(!1));j.current=()=>k(!1);let U=y=>{u||(M.current=y.nativeEvent,$.current(y.key)&&y.preventDefault())};return tn(()=>{if(!u)return;let y=S=>{R.current?.contains(S.target)||j.current()},P=S=>{S!==M.current&&$.current(S.key)&&S.preventDefault()};return document.addEventListener("mousedown",y),document.addEventListener("keydown",P),()=>{document.removeEventListener("mousedown",y),document.removeEventListener("keydown",P)}},[u]),tn(()=>{u&&(x.current.text||d(rt(e,D)))},[u]),on(()=>{if(!u||!b.current)return;b.current.children.item(p)?.scrollIntoView({block:"nearest"})},[p,u]),{open:u,toggle:()=>k(!u),close:()=>k(!1),focusIdx:p,setFocusIdx:d,pick:y=>I(e.findIndex(P=>P.value===y)),wrapRef:R,triggerRef:C,listRef:b,listId:E,onTriggerKeyDown:U,activeId:u?`${E}-${p}`:void 0}}var Rr={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 ${rn.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 ${rn.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 Nr(e,t){on(()=>{let n=e.current,r=n?.ownerDocument.defaultView;if(!n||!r)return;let o=()=>{let i=n.style;i.top=i.bottom=i.marginTop=i.marginBottom=i.maxHeight=i.overflowY=i.translate="";let a=n.offsetParent??n.parentElement;if(!a)return;let l=a.getBoundingClientRect(),c=n.getBoundingClientRect(),u=Math.abs(c.right-l.right)<Math.abs(c.left-l.left)?"end":"start",p=wr({trigger:{left:l.left,right:l.right,top:l.top,bottom:l.bottom},menu:{width:c.width,height:c.height},bounds:{left:0,top:0,right:r.innerWidth,bottom:r.innerHeight},align:u,side:"bottom"});if(p.side==="top"){i.top="auto",i.bottom="100%",i.marginTop="0px";let x=p.top+Math.min(c.height,p.maxHeight);i.marginBottom=`${Math.max(0,l.top-x)}px`}p.maxHeight<c.height&&(i.maxHeight=`${p.maxHeight}px`,i.overflowY="auto");let d=p.left-c.left;d&&(i.translate=`${d}px`)};return o(),r.addEventListener("resize",o),r.addEventListener("scroll",o,!0),()=>{r.removeEventListener("resize",o),r.removeEventListener("scroll",o,!0)}},[e,t])}function Lr({id:e,tone:t,items:n,value:r,focusIdx:o,onFocus:i,onPick:a,listRef:l,ariaLabel:c}){let u=Rr[t],p=Y(null);return Nr(p,n.length),Q("ul",{ref:d=>{p.current=d,l&&(l.current=d)},id:e,role:"listbox","aria-label":c,...u.pickerMarker?{"data-picker-menu":""}:{},className:u.list,children:n.map((d,x)=>{let R=d.value===r;return Q("li",{id:`${e}-${x}`,role:"option","aria-selected":R,"aria-disabled":d.disabled||void 0,onMouseEnter:()=>!d.disabled&&i(x),onMouseDown:C=>{C.preventDefault(),d.disabled||a(d.value)},className:u.item(x===o,R&&d.value!=="",!!d.disabled,x===n.length-1),style:u.itemStyle?.(R),children:d.meta===void 0?d.label:an(Ir,{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}_${x}`)})})}function kr({value:e,onChange:t,disabled:n,children:r,className:o,style:i,name:a,id:l,"aria-label":c}){let u=vr.toArray(r).flatMap(C=>{if(!Er(C))return[];if(C.type!=="option")return[];let E=C.props,M=E.value!==void 0?String(E.value):"",D=E.children,k=typeof D=="string"||typeof D=="number"?String(D):M;return[{value:M,label:k,disabled:!!E.disabled}]}),p=e??"",d=_r({items:u,value:p,onPick:C=>t?.({target:{value:C}})}),R=u.find(C=>C.value===p)?.label??u[0]?.label??"";return an("div",{ref:d.wrapRef,className:"relative",children:[a&&Q("input",{type:"hidden",name:a,value:p}),Q("button",{ref:C=>{d.triggerRef.current=C},type:"button",disabled:n,"aria-haspopup":"listbox","aria-expanded":d.open,"aria-controls":d.open?d.listId:void 0,"aria-activedescendant":d.activeId,"aria-label":c,id:l,onClick:()=>!n&&d.toggle(),onKeyDown:C=>!n&&d.onTriggerKeyDown(C),className:`block w-full ${o??""}`,style:i,children:Q("span",{className:"block w-full truncate text-left",children:R})}),d.open&&Q(Lr,{id:d.listId,tone:"select",items:u,value:p,focusIdx:d.focusIdx,onFocus:d.setFocusIdx,onPick:d.pick,listRef:d.listRef})]})}import{jsx as Pe,jsxs as Fe}from"react/jsx-runtime";var Tr="font-mono text-[length:var(--size-label,12px)]",Ar="font-semibold uppercase tracking-[0.22em] text-fg";function sn(e){return`${e??Tr} ${Ar}`}function ln(){return Pe("span",{className:"text-accent",children:" *"})}function Or({children:e,required:t,labelFace:n}){return Fe("span",{className:sn(n),children:[e,t?Pe(ln,{}):null]})}function Mr({label:e,required:t,hint:n,separate:r,htmlFor:o,labelFace:i,className:a,children:l}){let c=a?`flex flex-col gap-2 ${a}`:"flex flex-col gap-2",u=n?Pe("span",{className:"font-mono text-[11px] uppercase tracking-[0.22em] text-fg-dim",children:n}):null;return r||n?Fe("div",{className:c,children:[Fe("label",{htmlFor:o,className:sn(i),children:[e,t?Pe(ln,{}):null]}),l,u]}):Fe("label",{htmlFor:o,className:c,children:[Pe(Or,{required:t,labelFace:i,children:e}),l]})}var Zi="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{Lt as a,Jr as b,eo as c,to as d,vt as e,Ke as f,Dr as g,Fr as h,Ur as i,$r as j,hn as k,yn as l,Hr as m,Br as n,ze as o,Le as p,ye as q,Wr as r,ke as s,_n as t,Rn as u,io as v,ao as w,Ot as x,Ye as y,so as z,lo as A,Ln as B,uo as C,co as D,kn as E,fo as F,Tn as G,po as H,mo as I,Mt as J,xo as K,So as L,vo as M,wo as N,_o as O,Xr as P,Nt as Q,Vr as R,Ie as S,je as T,$o as U,Xt as V,ti as W,rr as X,ri as Y,Ci as Z,xi as _,fr as $,Pi as aa,Jt as ba,wi as ca,mr as da,_i as ea,hr as fa,yr as ga,Ai as ha,Oi as ia,Cr as ja,Ui as ka,Hi as la,_r as ma,Lr as na,kr as oa,Or as pa,Mr as qa,Zi as ra};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var l={siteSlug:null,shopOrigin:""},r=l;function S(e){r={siteSlug:e.siteSlug?.trim()||null,shopOrigin:(e.shopOrigin??"").trim().replace(/\/+$/,"")}}function I(){return r.siteSlug}function
|
|
1
|
+
var l={siteSlug:null,shopOrigin:""},r=l;function S(e){r={siteSlug:e.siteSlug?.trim()||null,shopOrigin:(e.shopOrigin??"").trim().replace(/\/+$/,"")}}function I(){return r.siteSlug}function v(){return r.shopOrigin}import{currentEaselSession as m}from"efficient-easel/screen/lib/session";var s="https://cdn.inovit.com"?.replace(/\/+$/,"");function i(e,t){let o=m().hostBackend?.media.resolve;if(!(!o||o===d))return o(e,t)??e}function u(e){return/^(?:https?:)?\/\//i.test(e)||/^(?:data|blob):/i.test(e)}function g(e){return i(e)??c(e)}function c(e){return!s||u(e)?e:s+e.replace(/^\/media/,"")}var d=e=>c(e),p="";function y(e){if(!e)return null;let t=i(e);return t!==void 0?t:e.startsWith("/")?`${p}${e}`:e}function C(e){return/^https?:\/\//i.test(e)&&!(s&&e.startsWith(s+"/"))}function F(e){if(!e)return;let t=i(e);return t!==void 0?t:e.startsWith("/media/")?g(e):e}var f="/videos/products/";function P(e){return!!e&&e.includes(f)}var L={contentHash:"035f4205f0351855",schema:1,mediaFields:{ImageBlock:["src"],LogoBlock:["src"],Flex:["bgImage","bgImagePhone"],FeaturedCover:["image"],LongRead:["image"],Banner:["imageSrc"],Timeline:["imageSrc"],Logos:["items[].src"],ContactLocations:["locations[].photo"],HeroSingle:["imageFocal","mediaImage","mediaImage2","mediaVideo","poster"],HeroSlide:["mediaImage","mediaVideo","poster","videoFrame"],PostCard:["image"],Gallery:["othersCards[].image","othersCards[].photos[].src","vehicleCards[].image","vehicleCards[].photos[].src","wheelCards[].image","wheelCards[].photos[].src"],GalleryItem:["image","photos[].src"],Manifesto:["imageSrc"],SectionHeader:["logoSrc"],IntroBleed:["imageSrc","imageSrcMobile"],Split:["imageSrc","textBgSrc"],ProcessSteps:["steps[].image"],DetailRows:["rows[].image"],PaymentBadges:["badges[].src"]},mediaKeyNames:["bgImage","bgImagePhone","image","imageFocal","imageSrc","imageSrcMobile","logoSrc","mediaImage","mediaImage2","mediaVideo","photo","poster","src","textBgSrc","videoFrame"],snapshotObjects:{ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},hydratedLists:{Events:["posts"],SubscribeBlogs:["posts"]},technicalStateKeys:["focal","focalPhone","imageFocal","imageFocal2","imageFocal2Phone","imageFocalPhone"]};function n(e){return{getItem(t){try{return e()?.getItem(t)??null}catch{return null}},setItem(t,o){try{e()?.setItem(t,o)}catch{}},removeItem(t){try{e()?.removeItem(t)}catch{}}}}var a="__storefront_probe__";function R(e){try{e.setItem(a,a);let t=e.getItem(a)===a;return e.removeItem(a),t}catch{return!1}}var x=n(()=>typeof window>"u"?null:window.localStorage),M=n(()=>typeof window>"u"?null:window.sessionStorage);function U(e){return n(()=>e.defaultView?.localStorage??null)}export{g as a,d as b,y as c,C as d,F as e,P as f,L as g,S as h,I as i,v as j,R as k,x as l,M as m,U as n};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as He}from"react/jsx-runtime";import{createContext as _n,useCallback as i,useContext as yn,useMemo as bn,useState as En}from"react";import{createContext as pe,useContext as D}from"react";import{createContext as Ct}from"react";var Se=Ct(null);var At=pe(null),P=pe({logo:null,placeholder:!1,wordmark:null});function Gn(){let e=D(Se),t=D(At),n=D(P),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 Wn,hexToRgb as k,parseHexColor as I,readableInk as Lt,relativeLuminance as kt}from"efficient-shell/format";var $n="storefront-theme",zn="sf:theme-mode",Vn="sf:theme-switch",Yn="hide",W="light",$=!1,It=7,Ot=18;function xt(e){return e>=It&&e<Ot}function Xn(e){let{mode:t,override:n,switchShown:a,hour:o}=e;return a&&(n==="light"||n==="dark")?n:t==="auto"?xt(o)?"light":"dark":t==="light"?"light":"dark"}var m={background:"#0a0a0a",surface:"#131313",line:"#2a2a2a",muted:"#9a9388"},Rt=[{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:Rt};function be(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 F(e,t,n){let a=k(e),o=k(t);if(a===null||o===null)return e;let s=(l,c)=>Math.max(0,Math.min(255,Math.round(l+(c-l)*n))).toString(16).padStart(2,"0");return`#${s(a.r,o.r)}${s(a.g,o.g)}${s(a.b,o.b)}`}var Ht={light:"#ffffff",dark:"#0a0a0a"},jn=["light","dark"];function Kn(e,t){let n=Ht[t],a=t==="light"?"#ffffff":"#000000";return{text:n,accent:n,background:e,surface:F(e,a,.1),line:F(e,a,.22),muted:F(n,e,.35),brandInk:t}}function y(e){let t=be(e);return t.themes[t.selected]}function z(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 Mt=.4,Dt=4.5,Pt=3,qn={good:"Good","large-only":"Large text only",hard:"Hard to read"};function Zn(e){return e>=Dt?"good":e>=Pt?"large-only":"hard"}var Ft=["#000000","#ffffff"];function x(e){return Lt(e,Ft)}var Nt=[.25,.4,.55];function Jn(e){let t=k(e);return t===null?[]:Nt.map(n=>"#"+[t.r,t.g,t.b].map(a=>Math.round(a*(1-n)).toString(16).padStart(2,"0")).join(""))}function Qn(e){let t=y(e),n={"--theme-fg":t.text},a=kt(t.text);return(a===null||a>=Mt)&&(n["--overlay-fg"]=t.text),n}var vt=82;function V(e){return`color-mix(in srgb, ${e} ${vt}%, #000)`}function ea(e){let t=y(e);return{"--theme-accent":t.accent,"--theme-accent-2":V(t.accent),"--theme-accent-ink":x(t.accent)}}function Y(e){let t=e?.button;return t&&I(t)===t.toLowerCase()?t.toLowerCase():null}function ta(e){let t=y(e),n=Y(t),a=Ee(t);if(n===null&&a===null)return{};let o={};return n!==null&&(o["--theme-btn"]=n,o["--theme-btn-2"]=V(n)),o["--theme-btn-ink"]=a??x(n),o}function Ee(e){let t=e?.buttonInk;return t&&I(t)===t.toLowerCase()?t.toLowerCase():null}function Gt(e,t){return Ee(e)??x(Y(e)??t)}function na(e){let t=y(e);return{fill:Y(t)??t.accent.toLowerCase(),ink:Gt(t,t.accent)}}function aa(e){let t={};return be(e).themes.forEach((n,a)=>{let o=z(n);t[`--theme-preset-${a}-accent`]=o.accent,t[`--theme-preset-${a}-accent-2`]=V(o.accent),t[`--theme-preset-${a}-accent-ink`]=x(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 N=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 _e([e,t,n]){let[a,o,s]=[N(e),N(t),N(n)],l=Math.cbrt(.4122214708*a+.5363325363*o+.0514459929*s),c=Math.cbrt(.2119034982*a+.6806995451*o+.1073969566*s),u=Math.cbrt(.0883024619*a+.2817188376*o+.6299787005*s);return[.2104542553*l+.793617785*c-.0040720468*u,1.9779984951*l-2.428592205*c+.4505937099*u,.0259040371*l+.7827717662*c-.808675766*u]}function Bt([e,t,n]){let a=(e+.3963377774*t+.2158037573*n)**3,o=(e-.1055613458*t-.0638541728*n)**3,s=(e-.0894841775*t-1.291485548*n)**3;return[v(4.0767416621*a-3.3077115913*o+.2309699292*s),v(-1.2684380046*a+2.6097574011*o-.3413193965*s),v(-.0041960863*a-.7034186147*o+1.707614701*s)]}var G=e=>{let t=k(e);return t===null?[0,0,0]:[t.r,t.g,t.b]},ye=(e,t,n)=>[e[0]*n+t[0]*(1-n),e[1]*n+t[1]*(1-n),e[2]*n+t[2]*(1-n)],Ut=e=>`#${e.map(t=>Math.max(0,Math.min(255,Math.round(t))).toString(16).padStart(2,"0")).join("")}`;function Wt(e){let t=z(e),n=ye(G(t.surface),G(t.line),.6);return Ut(Bt(ye(_e(n),_e(G(t.text)),.92)))}function oa(e,t){let n=e[t];if(!n)return-1;let a=Wt(n);return e.findIndex((o,s)=>s!==t&&I(o.background??"")===a)}var ra=["--theme-bg","--theme-surface","--theme-surface-2","--theme-line","--theme-muted"];function sa(e){let t=z(y(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 $t=["heading","body","label"];function ia(e){if(!e)return null;for(let t of $t)if(e.includes(`--size-${t}`))return t;return/--size-heading(Large|Medium|Small)/.test(e)?"heading":null}var Te=["headingLarge","headingMedium","headingSmall","accent","body","label"];var X={headingLarge:null,headingMedium:null,headingSmall:null,accent:null,body:null,label:null},zt=8,Vt=200;function Yt(e){if(typeof e!="number"||!Number.isFinite(e))return null;let t=Math.round(e);return t>=zt&&t<=Vt?t:null}function Xt(e){let t={};for(let n of Te)t[n]=Yt(e?.[n]);return t}function la(e){let t=Xt(e),n={};for(let a of Te){let o=t[a];o!==null&&(n[`--size-${a}`]=`${o}px`)}return n}var jt=["square","small","large"],Kt="small";function ca(e){return jt.includes(e??"")?e:Kt}var we=0,qt=40,ua={square:0,small:null,large:16},Zt={"--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 Ce(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(qt,Math.max(we,Math.round(t))):null}function Jt(e){let t=Ce(e);return t===null?{}:Object.fromEntries(Object.entries(Zt).map(([n,a])=>{let o=t*a/16;return[n,o===0?"0":`${o}rem`]}))}function da(e){return Jt(Ce(e)??we)}var Qt=["none","soft","lifted"],en="soft",Ae="none",tn=["tight","normal","roomy"],nn="normal",R="normal",an=["none","lift","highlight"],on="lift",rn="highlight",Le="#141416";function ke(e){return Qt.includes(e??"")?e:en}function sn(e){return tn.includes(e??"")?e:nn}function Ie(e){return an.includes(e??"")?e:on}function ln(e){return e&&I(e)===e.toLowerCase()?e.toLowerCase():Le}function ha(e){let t=ke(e);return t===Ae?void 0:t}function ga(e){let t=sn(e);return t===R?void 0:t}function fa(e){let t=Ie(e);return t===rn?void 0:t}function ma(e,t,n){let a=ln(t);return a===Le?{}:ke(e)!==Ae||Ie(n)==="lift"?{"--sf-shadow-color":a}:{}}var cn=["normal","tight","compressed"],b="normal";function Oe(e){return cn.includes(e??"")?e:b}function Sa(e){let t=Oe(e);return t===b?void 0:t}function pa(e){switch(Oe(e)){case"tight":return{lineHeight:.95,letterSpacing:-.01};case"compressed":return{lineHeight:.86,letterSpacing:-.01};default:return{}}}var j={case:"authored",weight:null,weightStrong:null,italicStrong:null,maxPx:null,weight2:null,weight3:null,case2:"authored",case3:"authored"},B=100,U=900,un=24,dn=200;function L(e,t,n){return typeof e!="number"||!Number.isFinite(e)?null:Math.round(Math.min(Math.max(e,t),n))}function xe(e){let t=L(e?.weight,B,U),n=e?.case==="sentence"?"sentence":"authored",a=s=>s==null?t:L(s,B,U),o=s=>s==="sentence"?"sentence":s==="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,un,dn),weight2:a(e?.weight2),weight3:a(e?.weight3),case2:o(e?.case2),case3:o(e?.case3)}}function _a(e){let t=xe(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 ya(e){return xe({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 Re=[{key:"space-grotesk",label:"Space Grotesk",cssVar:"--font-display",category:"sans",italic:!1,italicLoaded:!1},{key:"inter",label:"Inter",cssVar:"--font-body",category:"sans",italic:!0,italicLoaded:!0},{key:"poppins",label:"Poppins",cssVar:"--font-poppins",category:"sans",italic:!0,italicLoaded:!0},{key:"dm-sans",label:"DM Sans",cssVar:"--font-dm-sans",category:"sans",italic:!0,italicLoaded:!0},{key:"sora",label:"Sora",cssVar:"--font-sora",category:"sans",italic:!1,italicLoaded:!1},{key:"oswald",label:"Oswald",cssVar:"--font-oswald",category:"sans",italic:!1,italicLoaded:!1},{key:"archivo",label:"Archivo",cssVar:"--font-archivo",category:"sans",italic:!0,italicLoaded:!0},{key:"outfit",label:"Outfit",cssVar:"--font-outfit",category:"sans",italic:!1,italicLoaded:!1},{key:"manrope",label:"Manrope",cssVar:"--font-manrope",category:"sans",italic:!1,italicLoaded:!1},{key:"big-shoulders",label:"Big Shoulders",cssVar:"--font-big-shoulders",category:"sans",italic:!1,italicLoaded:!1},{key:"michroma",label:"Michroma",cssVar:"--font-michroma",category:"sans",italic:!1,italicLoaded:!1},{key:"assistant",label:"Assistant",cssVar:"--font-assistant",category:"sans",italic:!1,italicLoaded:!1},{key:"fraunces",label:"Fraunces",cssVar:"--font-serif",category:"serif",italic:!0,italicLoaded:!0},{key:"playfair-display",label:"Playfair Display",cssVar:"--font-playfair",category:"serif",italic:!0,italicLoaded:!0},{key:"cormorant",label:"Cormorant",cssVar:"--font-cormorant",category:"serif",italic:!0,italicLoaded:!0},{key:"jetbrains-mono",label:"JetBrains Mono",cssVar:"--font-mono-loaded",category:"mono",italic:!0,italicLoaded:!0}],p=new Map(Re.map(e=>[e.key,e]));function Ea(e){return p.get(e)}var K=["heading","heading2","heading3","body","accent","label"];function Ta(e){return typeof e=="string"&&K.includes(e)?e:null}var wa={heading:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",body:"Body",accent:"Accent",label:"Labels"},hn=[["font-heading2","heading2"],["font-heading3","heading3"],["font-display","heading"],["font-serif","accent"],["font-mono","label"],["font-body","body"]],gn=/var\(--size-(headingLarge|headingMedium|headingSmall|accent|body|label)\s*,/,Ca={heading:"headingLarge",heading2:"headingMedium",heading3:"headingSmall",accent:"accent",body:"body",label:"label"},fn={headingLarge:"heading",headingMedium:"heading2",headingSmall:"heading3",accent:"accent",body:"body",label:"label"};function Aa(e){let t=e?gn.exec(e):null;return t?fn[t[1]]??null:mn(e)}function mn(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 hn)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 Sn(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(K.map(n=>[n,t(n)]))}function pn(e,t){return p.get(e[t])??p.get(h[t])}function S(e,t){return`var(${pn(e,t).cssVar})`}var La=[...new Set(K.map(e=>p.get(h[e]).cssVar))],ka=[...new Set(Re.map(e=>e.cssVar))];function Ia(e){let t=Sn(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 Me=_n({settings:null,setSettings:()=>{},primeSettings:()=>{},websiteName:null,templateChrome:!1,templateName:null,chromePlaceholder:!1,themeMode:W,setThemeMode:()=>{},themeSwitchShown:$,setThemeSwitchShown:()=>{},theme:O,themeRow:"none",setTheme:()=>{},fonts:h,setFonts:()=>{},sizes:X,setSizes:()=>{},cornerRadiusPx:null,setCornerRadiusPx:()=>{},cardShadow:null,setCardShadow:()=>{},shadowColor:null,setShadowColor:()=>{},cardGap:R,setCardGap:()=>{},hoverEffect:null,setHoverEffect:()=>{},headingCompression:b,setHeadingCompression:()=>{},siteWidth:null,setSiteWidth:()=>{},siteGutter:null,blockGap:null,setSiteGutter:()=>{},setBlockGap:()=>{},headingTypography:j,setHeadingTypography:()=>{},textStyles:null,setTextStyles:()=>{},wordStyles:null,heroBackgroundFollowsWidth:null,setHeroBackgroundFollowsWidth:()=>{},sectionBackgroundWidth:null,setSectionBackgroundWidth:()=>{},sectionContentWidth:null,setSectionContentWidth:()=>{},photographyGrayscale:null,setPhotographyGrayscale:()=>{},shareButtonOnPosts:null,setShareButtonOnPosts:()=>{},themeFromDocument:!1});function Pa({children:e,websiteName:t=null,templateChrome:n=!1,templateName:a=null,chromePlaceholder:o=!1,themeMode:s=W,onThemeModeChange:l,themeSwitchShown:c=$,onThemeSwitchShownChange:u,theme:E=O,themeRow:T="none",onThemeChange:g,fonts:w=h,onFontsChange:f,sizes:d=X,onSizesChange:C,cornerRadiusPx:H=null,onCornerRadiusPxChange:A,cardShadow:M=null,onCardShadowChange:q,shadowColor:ve=null,onShadowColorChange:Z,cardGap:Ge=R,onCardGapChange:J,hoverEffect:Be=null,onHoverEffectChange:Q,headingCompression:Ue=b,onHeadingCompressionChange:ee,siteWidth:We=null,onSiteWidthChange:te,siteGutter:$e=null,blockGap:ze=null,onSiteGutterChange:ne,onBlockGapChange:ae,headingTypography:Ve=j,onHeadingTypographyChange:oe,textStyles:Ye=null,onTextStylesChange:re,wordStyles:Xe=null,heroBackgroundFollowsWidth:je=null,onHeroBackgroundFollowsWidthChange:se,sectionBackgroundWidth:Ke=null,onSectionBackgroundWidthChange:ie,sectionContentWidth:qe=null,onSectionContentWidthChange:le,photographyGrayscale:Ze=null,onPhotographyGrayscaleChange:ce,shareButtonOnPosts:Je=null,onShareButtonOnPostsChange:ue,themeFromDocument:Qe=!1}){let[_,de]=En(null),et=i(r=>de(wt=>wt??r),[]),tt=i(r=>l?.(r),[l]),nt=i(r=>u?.(r),[u]),at=i(r=>g?.(r),[g]),ot=i(r=>f?.(r),[f]),rt=i(r=>C?.(r),[C]),st=i(r=>te?.(r),[te]),it=i(r=>ne?.(r),[ne]),lt=i(r=>ae?.(r),[ae]),ct=i(r=>se?.(r),[se]),ut=i(r=>ie?.(r),[ie]),dt=i(r=>le?.(r),[le]),ht=i(r=>ce?.(r),[ce]),gt=i(r=>ue?.(r),[ue]),ft=i(r=>A?.(r),[A]),mt=i(r=>q?.(r),[q]),St=i(r=>Z?.(r),[Z]),pt=i(r=>J?.(r),[J]),_t=i(r=>Q?.(r),[Q]),yt=i(r=>ee?.(r),[ee]),bt=i(r=>oe?.(r),[oe]),Et=i(r=>re?.(r),[re]),he=_?.logoUrl,ge=_?.logoReversed,fe=_?.logoInkIsDark,me=_!==null,Tt=bn(()=>({logo:me?{logoUrl:he,logoReversed:ge,logoInkIsDark:fe}:null,placeholder:n||o,wordmark:n?a:t}),[me,he,ge,fe,n,o,a,t]);return He(P.Provider,{value:Tt,children:He(Me.Provider,{value:{settings:_,setSettings:de,primeSettings:et,websiteName:t,templateChrome:n,templateName:a,chromePlaceholder:o,themeMode:s,setThemeMode:tt,themeSwitchShown:c,setThemeSwitchShown:nt,theme:E,themeRow:T,setTheme:at,fonts:w,setFonts:ot,sizes:d,setSizes:rt,cornerRadiusPx:H,setCornerRadiusPx:ft,cardShadow:M,setCardShadow:mt,shadowColor:ve,setShadowColor:St,cardGap:Ge,setCardGap:pt,hoverEffect:Be,setHoverEffect:_t,headingCompression:Ue,setHeadingCompression:yt,siteWidth:We,setSiteWidth:st,siteGutter:$e,blockGap:ze,setSiteGutter:it,setBlockGap:lt,headingTypography:Ve,setHeadingTypography:bt,textStyles:Ye,setTextStyles:Et,wordStyles:Xe,heroBackgroundFollowsWidth:je,setHeroBackgroundFollowsWidth:ct,sectionBackgroundWidth:Ke,setSectionBackgroundWidth:ut,sectionContentWidth:qe,setSectionContentWidth:dt,photographyGrayscale:Ze,setPhotographyGrayscale:ht,shareButtonOnPosts:Je,setShareButtonOnPosts:gt,themeFromDocument:Qe},children:e})})}var Tn=()=>yn(Me);function Fa(e,t,n){return e?t===n?"read":"loading":"none"}function Na(e,t){return{value:e,readFor:t}}function va(e,t,n){return{value:t,readFor:e.readFor===n?n:null}}function Ga(){let{sectionContentWidth:e,themeFromDocument:t}=Tn();return t?null:e}import{forwardRef as wn}from"react";import{jsx as Ln}from"react/jsx-runtime";function Cn(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 An=wn(function({href:t,prefetch:n,replace:a,scroll:o,shallow:s,legacyBehavior:l,passHref:c,locale:u,onClick:E,children:T,...g},w){let f=d=>{E?.(d),!(d.defaultPrevented||g.target==="_blank")&&d.preventDefault()};return Ln("a",{ref:w,href:Cn(t),onClick:f,...g,children:T})}),Wa=An;var kn="Website";function Va(e){return e?.trim()||kn}var De=["instagram","facebook","tiktok","youtube","x","linkedin","pinterest","whatsapp","telegram","line","wechat"],In={instagram:"Instagram",facebook:"Facebook",tiktok:"TikTok",youtube:"YouTube",x:"X",linkedin:"LinkedIn",pinterest:"Pinterest",whatsapp:"WhatsApp",telegram:"Telegram",line:"LINE",wechat:"WeChat"},On={};function Xa(e){if(!e||typeof e!="object")return On;let t={};for(let n of De){let a=e[n];if(typeof a!="string")continue;let o=a.trim();!o||!/^https?:\/\//i.test(o)||(t[n]=o)}return t}function ja(e){return De.flatMap(t=>{let n=e[t];return n?[{platform:t,href:n,label:In[t]}]:[]})}var Ka=e=>`${e}_url`;import{forwardRef as xn}from"react";import{imageCopyUrl as Pe,imageSrcSet as Fe}from"efficient-shell/image-copies";import{jsx as Mn}from"react/jsx-runtime";var Rn={position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,color:"transparent"};function Ne(e,t,n){if(n){let a=Fe(e);return a?{src:Pe(e,1280),srcSet:a,sizes:n}:{src:e,sizes:n}}if(t&&t>0){let a=Fe(e,{maxWidth:t*3});return a?{src:Pe(e,t*2),srcSet:a,sizes:`${t}px`}:{src:e}}return{src:e}}var Hn=xn(function({src:t,width:n,height:a,fill:o,priority:s,loading:l,style:c,quality:u,placeholder:E,blurDataURL:T,unoptimized:g,loader:w,overrideSrc:f,sizes:d,...C},H){let A=f??(typeof t=="string"?t:t.src),M=Ne(A,o?void 0:Number(n)||void 0,d??(o?"100vw":void 0));return Mn("img",{ref:H,...M,width:o?void 0:n,height:o?void 0:a,loading:s?"eager":l??"lazy",fetchPriority:s?"high":void 0,decoding:"async",style:o?{...Rn,...c}:{color:"transparent",...c},...C})}),Qa=Hn;function eo(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:Ne(t,n,e.sizes??(e.fill?"100vw":void 0))}}var ao={small:54,medium:66,large:84},Dn=44,oo=16,ro=140,so=Dn*4;export{Wn as a,$n as b,zn as c,Vn as d,Yn as e,W as f,$ as g,Xn as h,m as i,Rt as j,be as k,jn as l,Kn as m,y as n,z as o,qn as p,Zn as q,x as r,Jn as s,Qn as t,ea as u,Y as v,ta as w,Ee as x,Gt as y,na as z,aa as A,oa as B,ra as C,sa as D,ia as E,X as F,Xt as G,la as H,ca as I,we as J,qt as K,ua as L,Ce as M,Jt as N,da as O,Qt as P,en as Q,Ae as R,R as S,an as T,on as U,rn as V,Le as W,ke as X,sn as Y,Ie as Z,ln as _,ha as $,ga as aa,fa as ba,ma as ca,b as da,Oe as ea,Sa as fa,pa as ga,j as ha,xe as ia,_a as ja,ya as ka,Re as la,Ea as ma,K as na,Ta as oa,wa as pa,Ca as qa,Aa as ra,mn as sa,h as ta,Sn as ua,Ia as va,Qa as wa,eo as xa,Wa as ya,Se as za,Gn as Aa,Pa as Ba,Tn as Ca,Fa as Da,Na as Ea,va as Fa,Ga,kn as Ha,Va as Ia,De as Ja,In as Ka,On as La,Xa as Ma,ja as Na,Ka as Oa,ao as Pa,Dn as Qa,oo as Ra,ro as Sa,so as Ta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as V,c as C,g as z,i as $,j,l as O}from"./chunk-5OFEWRWI.js";var U="".replace(/\/+$/,"");var B="x-forwarded-for";function Z(e){let t=(e??"").split(",").map(n=>n.trim()).filter(Boolean);return t.length>0?t[t.length-1]:null}var Ie="x-forwarded-host";function Q(e,t,n){let r={};return e&&(r[Ie]=e),t&&n==="uncached"&&(r[B]=t),r}function X(e){if(e?.cache==="no-store"||e?.cache==="no-cache")return"uncached";if(e?.cache==="force-cache")return"data-cached";let t=e?.next?.revalidate;return typeof t=="number"&&t>0?"data-cached":"uncached"}var Y="x-storefront-site",ee="x-storefront-host",te="x-storefront-preview";var Fe="shop_access_token",ne="shop_refresh_token",N=null;function L(){O.removeItem(Fe),O.removeItem(ne)}var w={getAccess(){return N},takeLegacyRefresh(){let e=O.getItem(ne);return L(),e},setTokens(e){N=e,L()},clear(){N=null,L()}};import{efficientClientOpen as Qe}from"efficient-easel/screen/lib/session";function qe(e){return!!e.src}function A(e){let t=e.finishes.filter(qe);if(t.length===e.finishes.length)return e;let n=e.defaultFinish&&t.some(r=>r.name===e.defaultFinish)?e.defaultFinish:null;return{...e,finishes:t,defaultFinish:n}}function $e(e){return e.listable!==!1}function M(e){return e.map(A).filter($e)}var oe=["fill","stroke","stop-color","color","flood-color","lighting-color","solid-color"],ae=new Set(["none","transparent","currentcolor","inherit","initial","unset","context-fill","context-stroke"]),v={black:[0,0,0],white:[255,255,255],gray:[128,128,128],grey:[128,128,128],darkgray:[169,169,169],darkgrey:[169,169,169],dimgray:[105,105,105],dimgrey:[105,105,105],lightgray:[211,211,211],lightgrey:[211,211,211],gainsboro:[220,220,220],silver:[192,192,192],whitesmoke:[245,245,245]},ce=12,le=/\burl\(/i,ue=new RegExp(`(?<![-\\w])(${oe.join("|")})(\\s*=\\s*)(["'])([^"']*)\\3`,"gi"),me=new RegExp(`((?:^|[;{\\s"'])(?:${oe.join("|")})\\s*:\\s*)([^;}"'<>]+)`,"gi"),Ue=/<svg\b([^>]*)>/i,Be=/\bfill\s*[=:]/i;function Ne(e){let t=e.replace(ue,(n,r,a,l,d)=>{let s=re(d);return s===null?n:`${r}${a}${l}${s}${l}`}).replace(me,(n,r,a)=>{let l=re(a);return l===null?n:`${r}${l}`});return t=t.replace(Ue,(n,r)=>Be.test(r)?n:`<svg fill="#ffffff"${r}>`),t}function re(e){let t=/!important/i.test(e),n=e.replace(/!important/gi,"").trim().toLowerCase();if(!n||le.test(n)||ae.has(n))return null;let r=n in v?[...v[n],1]:pe(n);if(!r)return null;let[a,l,d,s]=r;if(Math.max(a,l,d)-Math.min(a,l,d)>ce)return null;let i=Le(255-a,255-l,255-d,s);return t?`${i} !important`:i}function Le(e,t,n,r){if(r<1)return`rgba(${e}, ${t}, ${n}, ${r})`;let a=l=>l.toString(16).padStart(2,"0");return`#${a(e)}${a(t)}${a(n)}`}function pe(e){return e.startsWith("#")?Me(e):e.startsWith("rgb")?De(e):e.startsWith("hsl")?Je(e):null}function Me(e){let t=e.slice(1),n=1;if(t.length===3||t.length===4)t.length===4&&(n=parseInt(t[3]+t[3],16)/255),t=t.slice(0,3).split("").map(r=>r+r).join("");else if(t.length===6||t.length===8)t.length===8&&(n=parseInt(t.slice(6,8),16)/255),t=t.slice(0,6);else return null;return/^[0-9a-f]{6}$/.test(t)?[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16),n]:null}function De(e){let t=e.slice(e.indexOf("(")+1,e.lastIndexOf(")")),[n,r]=t.split("/"),a=n.split(/[\s,]+/).filter(Boolean).slice(0,3);if(a.length<3)return null;let l=a.map(s=>s.endsWith("%")?Math.round(parseFloat(s)/100*255):Math.round(parseFloat(s)));if(l.some(s=>Number.isNaN(s)))return null;let d=r?E(r):He(n);return[l[0],l[1],l[2],d]}function He(e){let t=e.split(/[\s,]+/).filter(Boolean);return t.length>=4?E(t[3]):1}function E(e){let t=e.trim().endsWith("%")?parseFloat(e)/100:parseFloat(e);return Number.isNaN(t)?1:t}function Je(e){let t=e.slice(e.indexOf("(")+1,e.lastIndexOf(")")),[n,r]=t.split("/"),a=n.split(/[\s,]+/).filter(Boolean);if(a.length<3)return null;let l=parseFloat(a[0]),d=parseFloat(a[1])/100,s=parseFloat(a[2])/100;if([l,d,s].some(P=>Number.isNaN(P)))return null;let i=r?E(r):a.length>=4?E(a[3]):1,[o,u,g]=We(l,d,s);return[o,u,g,i]}function We(e,t,n){let r=(1-Math.abs(2*n-1))*t,a=(e%360+360)%360/60,l=r*(1-Math.abs(a%2-1)),d=0,s=0,i=0;a<1?[d,s,i]=[r,l,0]:a<2?[d,s,i]=[l,r,0]:a<3?[d,s,i]=[0,r,l]:a<4?[d,s,i]=[0,l,r]:a<5?[d,s,i]=[l,0,r]:[d,s,i]=[r,0,l];let o=n-r/2;return[Math.round((d+o)*255),Math.round((s+o)*255),Math.round((i+o)*255)]}var se=512*1024;function D(e){return/\.svg(\?|$)/i.test(e)}function Ge(e){return`data:image/svg+xml,${encodeURIComponent(Ne(e))}`}function Ke(e){let t=e.replace(/!important/gi,"").trim().toLowerCase();if(!t||le.test(t)||ae.has(t))return null;let n=t in v?[...v[t],1]:pe(t);if(!n)return null;let[r,a,l]=n;return Math.max(r,a,l)-Math.min(r,a,l)>ce?null:(.2126*r+.7152*a+.0722*l)/255}function Ve(e){let t=[],n=r=>{let a=Ke(r);a!==null&&t.push(a)};for(let r of e.matchAll(ue))n(r[4]);for(let r of e.matchAll(me))n(r[2]);return t.length?t.reduce((r,a)=>r+a,0)/t.length<.5:null}var ie=/^(?:\uFEFF|\s+|<\?xml[^>]*\?>|<!--[\s\S]*?-->|<!DOCTYPE\s+svg[^>[]*>)/i;function ze(e){let t=e;for(let n=ie.exec(t);n&&n[0].length>0;n=ie.exec(t))t=t.slice(n[0].length);return/^<svg[\s>/]/i.test(t)}async function je(e,t){if(!D(e))return null;try{let n=await fetch(e,{signal:t,redirect:"manual"});if(!n.ok)return null;let r=Number(n.headers.get("content-length"));if(Number.isFinite(r)&&r>se)return null;let a=await n.text();return a.length>se?null:ze(a)?a:null}catch{return null}}async function de(e,t){let n=await je(e,t);return n===null?null:{reversed:Ge(n),inkIsDark:Ve(n)}}import{currentEaselSession as Ze,setSessionBridgedSite as Ht,setSessionDocumentSite as Jt}from"efficient-easel/screen/lib/session";function ge(){return Ze().siteId()}var Xe="",f=class extends Error{constructor(t,n,r){super(n),this.status=t,this.data=r}},W="Unable to reach the server. This could be a problem with your internet connection, or the server may be undergoing maintenance or an upgrade. Please try again shortly.",Ye=new Set([502,503,504]),H=0,et="This editor runs on its host's own backend, which does not serve this request.",tt=5e3,nt=15e3,rt=()=>typeof window>"u"?tt:nt;function Re(e){let t=(e.method??"GET").toUpperCase();if(!(e.body!=null||t!=="GET"&&t!=="HEAD")&&!(e.audience!=null&&e.audience!=="shop")&&typeof AbortSignal?.timeout=="function")return AbortSignal.timeout(rt())}var he=e=>e instanceof Error&&e.name==="TimeoutError",ye=(e,t)=>Ye.has(e)?W:t,st=["admin","venue"],_e="admin";function Yt(e){_e=st.includes(e)?e:"admin"}function it(){return _e}var ot=/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$/,ke=null;function en(e){ke=e&&ot.test(e)?e:null}function at(){return ke}function ct(e){if(typeof window>"u"||!e.startsWith("/api/v1/"))return e;let t=$();return!t||/[?&]site=/.test(e)?e:q(e,`site=${encodeURIComponent(t)}`)}async function c(e,t={}){let{token:n,baseUrl:r,headers:a,audience:l,...d}=t;if(typeof window<"u"&&!Qe())throw new f(H,et,null);if(typeof window>"u"&&r===void 0)throw new Error(`apiFetch(${JSON.stringify(e)}) ran on the server without an explicit baseUrl. The API_URL default it would inherit is browser-only (the prod image bakes NEXT_PUBLIC_API_URL="" for same-origin use, which a Node fetch cannot resolve). Pass a base explicitly: \`await backendOpts()\` (or baseUrl: PRODUCT_FETCH_BASE) for product reads, or the server-only PRODUCT_BACKEND_URL env for other backend surfaces.`);let s=typeof FormData<"u"&&d.body instanceof FormData,i;try{i=await fetch(`${r??Xe}${ct(e)}`,{...d,headers:{...s?{}:{"Content-Type":"application/json"},...n?{Authorization:`Bearer ${n}`}:{},...l===null?{}:{"X-Portal-Audience":l??"shop"},...a},signal:d.signal??Re({...d,audience:l})})}catch(g){throw g instanceof TypeError||he(g)?new f(H,W,null):g}let o;try{o=await i.text()}catch(g){throw he(g)?new f(H,W,null):g}let u=null;if(o)try{u=JSON.parse(o)}catch{throw new f(i.status,i.ok?"Expected JSON but received a non-JSON response":ye(i.status,i.statusText),o)}if(!i.ok){let g=(u&&typeof u=="object"&&"detail"in u&&typeof u.detail=="string"?u.detail:null)??ye(i.status,i.statusText);throw new f(i.status,g,u)}return u}var R=null;async function xe(){return R||(R=lt().finally(()=>{R=null}),R)}async function lt(){let e=w.takeLegacyRefresh(),t=await ut.refresh(e??void 0);return w.setTokens(t.access),t.access}async function Te(){return w.getAccess()??xe()}async function h(e,t={}){let n;try{n=await Te()}catch{throw w.clear(),new f(401,"Not signed in",null)}try{return await c(e,{...t,token:n})}catch(r){if(!(r instanceof f)||r.status!==401)throw r;try{let a=await xe();return await c(e,{...t,token:a})}catch{throw w.clear(),r}}}async function fe(e,t={}){if(w.getAccess())try{return{data:await h(e,t),asShopper:!0}}catch(n){if(!(n instanceof f)||n.status!==401)throw n}return{data:await c(e,t),asShopper:!1}}async function Se(){let e=await h("/api/auth/me/");if(e.portal!=="shop")throw w.clear(),new f(403,"This session is not valid for this shop.",null);return e}var ut={login:(e,t)=>c("/api/auth/login/",{method:"POST",body:JSON.stringify({email:e,password:t,portal:"shop"}),credentials:"include"}),refresh:e=>c("/api/auth/refresh/",{method:"POST",body:JSON.stringify(e?{refresh:e,portal:"shop"}:{portal:"shop"}),credentials:"include"}),logout:async()=>{w.clear();try{await c("/api/auth/logout/",{method:"POST",body:JSON.stringify({portal:"shop"}),credentials:"include"})}catch{}},restoreSession:async()=>{let e=await Te();return await Se(),e},me:Se,updateMe:e=>h("/api/auth/me/",{method:"PATCH",body:JSON.stringify(e)}),changePassword:(e,t)=>h("/api/auth/me/",{method:"PATCH",body:JSON.stringify({password:t,old_password:e})}),changeEmail:(e,t)=>h("/api/shop-portal/change-email/",{method:"POST",body:JSON.stringify({new_email:e,current_password:t})}),myProfile:()=>h("/api/shop-portal/profile/"),updateMyProfile:e=>h("/api/shop-portal/profile/",{method:"PATCH",body:JSON.stringify(e)}),myAddresses:()=>h("/api/shop-portal/delivery-locations/"),createAddress:e=>h("/api/shop-portal/delivery-locations/",{method:"POST",body:JSON.stringify(e)}),updateAddress:(e,t)=>h(`/api/shop-portal/delivery-locations/${e}/`,{method:"PATCH",body:JSON.stringify(t)}),deleteAddress:e=>h(`/api/shop-portal/delivery-locations/${e}/`,{method:"DELETE"}),passwordResetRequest:e=>c("/api/auth/password-reset/",{method:"POST",body:JSON.stringify({email:e})}),passwordResetConfirm:(e,t,n)=>c("/api/auth/password-reset/confirm/",{method:"POST",body:JSON.stringify({uid:e,token:t,new_password:n})}),brands:()=>h("/api/products/brands/"),myOrders:()=>h("/api/shop-portal/orders/").then(e=>e.results),myOrder:e=>h(`/api/shop-portal/orders/${e}/`),cancelOrder:e=>h(`/api/shop-portal/orders/${e}/cancel/`,{method:"POST"}),myReturns:e=>h(`/api/shop-portal/returns/${e?`?order=${encodeURIComponent(e)}`:""}`).then(t=>t.results),createReturn:e=>h("/api/shop-portal/returns/",{method:"POST",body:JSON.stringify(e)}),withdrawReturn:e=>h(`/api/shop-portal/returns/${e}/cancel/`,{method:"POST"}),uploadReturnPhoto:(e,t)=>{let n=new FormData;return n.append("claim_item",e),n.append("file",t),n.append("media_type",t.type.startsWith("video/")?"video":"image"),h("/api/shop-portal/return-media/",{method:"POST",body:n})}};function S(e){if(typeof e=="string")return e.startsWith("/media/")?V(e):e;if(Array.isArray(e))return e.map(S);if(e&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e))t[n]=n==="captions"&&r&&typeof r=="object"&&!Array.isArray(r)?Object.fromEntries(Object.entries(r).map(([a,l])=>[S(a),l])):S(r);return t}return e}var Ce=typeof window>"u"&&U!=="",mt=Ce?U:"",pt=j,b=()=>({baseUrl:pt(),audience:null});function m(e,t){let n=t?`?process=${encodeURIComponent(t)}`:"";return`/api/v1${e}${n}`}var dt=100,Pe=50;function Oe(e,t,n){let r=new URLSearchParams;for(let[a,l]of Object.entries(t))l!=null&&l!==""&&r.set(a,String(l));return r.set("pageSize",String(dt)),n&&r.set("cursor",n),`/api/v1${e}?${r.toString()}`}function gt(e,t){return Oe("/wheels",{process:e},t)}function ht(e,t,n){return Oe("/products",{kind:e.join(","),make:t?.make,model:t?.model,year:t?.year,modification:t?.modification},n)}function yt(e){if(!e)return null;try{return new URL(e,"http://cursor.invalid").searchParams.get("cursor")}catch{return null}}async function we(e,t,n=()=>!1){let r=[],a=null;try{for(let l=0;l<Pe;l++){let d=await c(await t(a),await p());if(r.push(...d.results),a=yt(d.next),!a)break}a&&console.warn(`[${e}] stopped at ${Pe} pages (${r.length} rows); catalog may be truncated`)}catch(l){if(n(l))throw l;console.warn(`[${e}] product API unavailable, returning []`,l)}return r}var ft=e=>e instanceof f&&e.status===400;function St(e){return e.flatMap(t=>t.kind==="alloy-wheel"?M([t]):[t])}async function ve(){return(await Pt()).host}async function Pt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js"),t=await e(),n=l=>l?.split(",")[0]?.split(":")[0]?.trim().toLowerCase()||null,r=n(t.get(ee)??t.get("x-forwarded-host")??t.get("host")),a=n(t.get("host"));return{host:r,matchesRequestHost:r!==null&&r===a}}catch{return{host:null,matchesRequestHost:!1}}}async function wt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return Z((await e()).get(B))}catch{return null}}async function bt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get(Y)||null}catch{return null}}async function At(){let e=await bt();if(e)return`site=${encodeURIComponent(e)}`;let t=await ve();return t?`host=${encodeURIComponent(t)}`:""}async function y(e){if(typeof window<"u"){let t=$();return t?q(e,`site=${encodeURIComponent(t)}`):e}return q(e,await At())}function q(e,t){return t?`${e}${e.includes("?")?"&":"?"}${t}`:e}var Rt="preview";async function _t(){if(typeof window<"u")return null;try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get(te)}catch{return null}}async function kt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get("user-agent")}catch{return null}}async function J(e,t){let n=await _t();if(n===null)return[await y(e),await p(t)];let r=q(await y(e),`${Rt}=${encodeURIComponent(n)}`),{next:a,cache:l,...d}=t??{},s=await p({...d,cache:"no-store"}),i=await kt();return i&&(s.headers={...s.headers,"user-agent":i}),[r,s]}async function xt(e){if(!Ce)return;let[t,n]=await Promise.all([ve(),wt()]),r=Q(t,n,e);return Object.keys(r).length>0?r:void 0}async function p(e){let t=await xt(X(e)),n={baseUrl:mt,...e};return t&&(n.headers={...t,...e?.headers}),n}var _=typeof window>"u";function k(e,t){let n=new URLSearchParams;for(let[a,l]of Object.entries(t))l!==void 0&&l!==""&&n.set(a,String(l));let r=n.toString();return`/api/v1/fitment${e}${r?`?${r}`:""}`}var on={listMakes:async e=>{if(_){let{fitmentData:n}=await import("./fitment-data-DHKRLKNI.js");return n.makes(e)}return(await c(k("/makes",{region:e}),b())).results},listModels:async(e,t)=>{if(_){let{fitmentData:r}=await import("./fitment-data-DHKRLKNI.js");return r.models(e,t)}return(await c(k("/models",{make:e,region:t}),b())).results},listYears:async(e,t,n)=>{if(_){let{fitmentData:a}=await import("./fitment-data-DHKRLKNI.js");return a.years(e,t,n)}return(await c(k("/years",{make:e,model:t,region:n}),b())).results},listModifications:async(e,t,n,r)=>{if(_){let{fitmentData:l}=await import("./fitment-data-DHKRLKNI.js");return l.modifications(e,t,n,r)}return(await c(k("/modifications",{make:e,model:t,year:n,region:r}),b())).results},getStockFitment:async(e,t,n,r,a)=>{if(_){let{fitmentData:l}=await import("./fitment-data-DHKRLKNI.js");return l.stockFitment(e,t,n,r,a)}return c(k("/stock-fitment",{make:e,model:t,year:n,modification:r,region:a}),b())}},an={listWheels:async e=>{let t=await we("products.listWheels",async n=>await y(gt(e,n)));return M(S(t))},listCatalog:async(e,t)=>{if(e.length===0)throw new Error("products.listCatalog() needs at least one kind. An empty list would omit `kind`, which the contract reads as `alloy-wheel` \u2014 so the call would silently return the wheel catalog instead of nothing.");let n=await we("products.listCatalog",async r=>await y(ht(e,t,r)),ft);return St(S(n))},getWheel:async e=>A(S(await c(await y(m(`/wheels/${e}`)),await p()))),getTyre:async e=>S(await c(await y(m(`/tyres/${e}`)),await p())),listBundles:async()=>{try{return await c(await y(m("/bundles")),await p())}catch{return[]}},getBundle:async e=>c(await y(m(`/bundles/${e}`)),await p()),listGalleryBuilds:async(e={})=>{let{process:t=null,wheelSlug:n=null}=e;if(typeof window>"u"){let{listGalleryBuilds:r}=await import("./gallery-builds-data-TD3QJK7L.js");return S(r(t,n))}try{let r=new URLSearchParams;t&&r.set("process",t),n&&r.set("wheelSlug",n);let a=r.toString(),l=await c(`/api/v1/gallery-builds${a?`?${a}`:""}`,b());return S(l.results)}catch(r){return console.warn("[products.listGalleryBuilds] product API unavailable, returning []",r),[]}},getSite:async()=>c(await y(m("/site")),await p()),getSiteBySlug:async e=>c(`${m("/site")}?${new URLSearchParams({site:e})}`,typeof window>"u"?await p():void 0),listPages:async()=>S(await c(await y(m("/pages")),await p())),listPopups:async()=>c(await y(m("/popups")),await p()),listProductTemplates:async()=>{try{return await c(await y(m("/product-templates")),await p())}catch(e){return console.warn("[products.listProductTemplates] unavailable, returning []",e),[]}},listDynamicPages:async e=>{let t=e?`?recordType=${encodeURIComponent(e)}`:"";try{return await c(await y(`${m("/dynamic-pages")}${t}`),await p())}catch(n){if(n instanceof f&&n.status===404)return[];throw n}},getRecord:async(e,t)=>{try{return await c(await y(m(`/records/${encodeURIComponent(e)}/${encodeURIComponent(t)}`)),await p())}catch(n){if(n instanceof f&&n.status===404)return null;throw n}},listRecordKeys:async e=>{try{let t=await c(await y(m(`/records/${encodeURIComponent(e)}`)),await p({cache:"no-store"}));return Array.isArray(t?.keys)?t.keys.filter(n=>typeof n=="string"&&n!==""):[]}catch(t){if(t instanceof f&&t.status===404)return[];throw t}},listProductTypeChoices:async()=>{try{return await c(await y(m("/product-type-choices")),await p())}catch(e){return console.warn("[products.listProductTypeChoices] unavailable, returning []",e),[]}},listFieldUsage:async()=>{try{return await c(await y(m("/field-usage")),await p())}catch(e){return console.warn("[products.listFieldUsage] unavailable, returning []",e),[]}},getPage:async(e,t={})=>{let n=t.record?`?record=${encodeURIComponent(t.record)}`:"",[r,a]=await J(m(`/pages/${e}`)+n,t.revalidate!==void 0?{next:{revalidate:t.revalidate}}:void 0);return S(await c(r,a))},listBlogPosts:async(e={})=>{let t=e.category?`?category=${encodeURIComponent(e.category)}`:"";try{return(await c(m("/blog-posts")+t,await p())).map(r=>({...r,coverImage:C(r.coverImage)??""}))}catch(n){return console.warn("[products.listBlogPosts] blog API unavailable, returning []",n),[]}},getBlogPost:async e=>{let t=await c(m(`/blog-posts/${e}`),await p());return{...t,coverImage:C(t.coverImage)??""}},createOrder:async e=>c(m("/orders"),await p({method:"POST",body:JSON.stringify(e)})),createOrderAuthed:async e=>h(m("/orders"),await p({method:"POST",body:JSON.stringify(e)})),lookupOrder:async e=>c(m("/orders/lookup"),await p({method:"POST",body:JSON.stringify(e)})),createPaymentIntent:async e=>c(m("/payments/intent"),await p({method:"POST",body:JSON.stringify(e)})),createPaypalOrder:async e=>c(m("/payments/paypal/order"),await p({method:"POST",body:JSON.stringify(e)})),capturePaypalOrder:async e=>c(m("/payments/paypal/capture"),await p({method:"POST",body:JSON.stringify(e)})),createAfterpayCheckout:async e=>c(m("/payments/afterpay/checkout"),await p({method:"POST",body:JSON.stringify(e)})),captureAfterpayPayment:async e=>c(m("/payments/afterpay/capture"),await p({method:"POST",body:JSON.stringify(e)})),chargeSquare:async e=>c(m("/payments/square/charge"),await p({method:"POST",body:JSON.stringify(e)})),createGocardlessBillingRequest:async e=>c(m("/payments/gocardless/billing-request"),await p({method:"POST",body:JSON.stringify(e)})),completeGocardlessPayment:async e=>c(m("/payments/gocardless/complete"),await p({method:"POST",body:JSON.stringify(e)})),createZipCheckout:async e=>c(m("/payments/zip/checkout"),await p({method:"POST",body:JSON.stringify(e)})),captureZipPayment:async e=>c(m("/payments/zip/capture"),await p({method:"POST",body:JSON.stringify(e)})),createKlarnaCheckout:async e=>c(m("/payments/klarna/checkout"),await p({method:"POST",body:JSON.stringify(e)})),captureKlarnaPayment:async e=>c(m("/payments/klarna/capture"),await p({method:"POST",body:JSON.stringify(e)})),createStockAlert:async e=>c(m("/stock-alerts"),await p({method:"POST",body:JSON.stringify(e)})),createPreOrderIntent:async e=>c(m("/pre-order-intents"),await p({method:"POST",body:JSON.stringify(e)})),createNewsletterSubscription:async e=>c(m("/newsletter-subscriptions"),await p({method:"POST",body:JSON.stringify(e)})),unsubscribeNewsletter:async e=>c(m("/newsletter-unsubscribe"),await p({method:"POST",body:JSON.stringify(e)})),captureCart:async e=>c(m("/carts"),await p({method:"POST",body:JSON.stringify(e)})),restoreCart:async e=>c(m("/carts/restore"),await p({method:"POST",body:JSON.stringify(e)})),unsubscribeCartReminders:async e=>c(m("/carts/unsubscribe"),await p({method:"POST",body:JSON.stringify(e)})),listReviews:async(e={})=>{let t=new URLSearchParams;e.limit&&t.set("limit",String(e.limit)),e.designCode&&t.set("designCode",e.designCode);let n=m("/reviews"),r=t.toString();try{return await c(await y(r?`${n}?${r}`:n),await p())}catch(a){return console.warn("[products.listReviews] product API unavailable, returning []",a),[]}},submitReview:async e=>c(m("/reviews"),await p({method:"POST",body:JSON.stringify(e)})),getForm:async e=>c(m(`/forms/${encodeURIComponent(e)}`),await p()),submitForm:async(e,t)=>c(m(`/forms/${encodeURIComponent(e)}/submissions`),await p({method:"POST",body:JSON.stringify(t)})),listShippingMethods:async()=>{try{return await c(m("/shipping-methods"),await p())}catch(e){return console.warn("[products.listShippingMethods] product API unavailable, returning []",e),[]}},listCountrySubdivisions:async e=>{try{return await c(m(`/countries/${encodeURIComponent(e)}/subdivisions`),await p())}catch(t){return console.warn("[products.listCountrySubdivisions] unavailable, returning []",t),[]}},quoteCart:async e=>{let t=m("/cart/quote"),n=await p({method:"POST",body:JSON.stringify(e)});return e.couponCode?(await fe(t,n)).data:c(t,n)},validateCoupon:async e=>{let{data:t,asShopper:n}=await fe(m("/coupons/validate"),await p({method:"POST",body:JSON.stringify(e)}));return{...t,askedAsShopper:n}},getHeaderSettings:async()=>{let e=Re({method:"GET"}),t=await c(...await J(m("/header-settings"),{signal:e})),n=C(t.logoUrl),r=null,a=null;if(n&&D(n)){let l=await de(n,e);l&&(r=l.reversed,a=l.inkIsDark)}return{...t,logoUrl:n,logoReversed:r,logoInkIsDark:a}},getThemeSettings:async()=>c(...await J(m("/theme-settings"))),getChatSettings:async()=>c(await y(m("/chat-settings")),await p())},cn={listServices:async()=>{try{return await c(m("/bookings/services"),await p())}catch(e){return console.warn("[bookings.listServices] API unavailable, returning []",e),{results:[],currency:"USD"}}},getAvailability:async(e,t)=>c(m(`/bookings/availability?service=${encodeURIComponent(e)}&date=${t}`),await p()),create:async e=>c(m("/bookings"),await p({method:"POST",body:JSON.stringify(e)})),get:async e=>c(m(`/bookings/manage/${encodeURIComponent(e)}`),await p()),cancel:async e=>c(m(`/bookings/manage/${encodeURIComponent(e)}/cancel`),await p({method:"POST"})),createPaymentIntent:async e=>c(m("/bookings/payments/intent"),await p({method:"POST",body:JSON.stringify({manageToken:e})}))},G=class extends Error{constructor(n,r){super(`Slug "${n}" exists on ${r} websites; a site is required to pick one.`);this.slug=n;this.count=r;this.name="AmbiguousPageSlugError"}},I=(e,t,n)=>{let r=new URLSearchParams({...t?{site:t}:{},...n?{draft:"1"}:{}}).toString();return`/api/storefront/${e}/${r?`?${r}`:""}`},x=e=>`/api/storefront/sites/${encodeURIComponent(e)}/`,Tt=e=>`${x(e)}currencies/`,Ct="/api/storefront/media/ingest/",K=class extends Error{constructor(){super("This editor is not connected to a website, so an upload has nowhere to go. Open the page from the website the file should belong to, then try again."),this.name="MediaUploadDestinationError"}};function Ot(){let e=ge();if(!e)throw new K;return`${Ct}?${new URLSearchParams({site:e})}`}var vt="X-Puck-Media-Manifest",be=z.contentHash,F={"X-Media-Manifest":be,[vt]:be},ln=Ee({});function Ee(e){return(t,n={})=>{let r=at(),a=e.headers||r?{...r?{"Accept-Language":r}:{},...e.headers,...n.headers}:void 0;return c(t,{...n,...e.baseUrl!==void 0?{baseUrl:e.baseUrl}:{},...a?{headers:a}:{},audience:e.audience??it()})}}function Et(e={}){let t=Ee(e),n=e.siteDrafts===!0,r=s=>I("header-settings",s,n),a=s=>I("theme-settings",s,n),l=s=>I("chat-settings",s,n),d=s=>I("social-settings",s,n);return{findPageBySlug:async(s,i,o)=>{let u=new URLSearchParams({slug:s});o&&u.set("site",o);let g=await t(`/api/storefront/pages/?${u.toString()}`,{token:i}),P=Array.isArray(g)?g:g.results??[];if(!o&&P.length>1)throw new G(s,P.length);return P[0]??null},getPageById:(s,i)=>t(`/api/storefront/pages/${s}/`,{token:i}),saveLayout:(s,i,o,u,g)=>t(`/api/storefront/pages/${s}/`,{method:"PATCH",body:JSON.stringify({layout:i,expected_updated_at:u,...g?{client_id:g}:{}}),token:o}),duplicatePage:(s,i,o)=>t(`/api/storefront/pages/${s}/duplicate/`,{method:"POST",body:JSON.stringify({title:i.title,slug:i.slug}),token:o}),geocode:(s,i,o)=>t(`/api/storefront/geocode/?${new URLSearchParams(o?{q:s,country:o}:{q:s})}`,{token:i}),listBlockSources:s=>t("/api/storefront/block-sources/",{token:s}),listRecordTypes:s=>t("/api/storefront/record-types/",{token:s}),createPagePreviewLink:(s,i)=>t(`/api/storefront/pages/${s}/preview-link/`,{method:"POST",token:i}),claimPageEditLock:(s,i,o,u=!1)=>t(`/api/storefront/pages/${s}/edit-lock/`,{method:"POST",body:JSON.stringify({client_id:o,takeover:u}),token:i}),releasePageEditLock:(s,i)=>t(`/api/storefront/pages/${s}/edit-lock/`,{method:"DELETE",token:i}),createTemplate:(s,i,o)=>t("/api/storefront/page-templates/",{method:"POST",body:JSON.stringify({name:s,layout:i}),headers:F,token:o}),getTemplate:(s,i)=>t(`/api/storefront/page-templates/${s}/`,{token:i}),saveTemplateLayout:(s,i,o)=>t(`/api/storefront/page-templates/${s}/`,{method:"PATCH",body:JSON.stringify({layout:i}),headers:F,token:o}),listTemplatePages:async(s,i)=>{let o=await t(`/api/storefront/template-pages/?template=${encodeURIComponent(s)}`,{token:i});return Array.isArray(o)?o:o.results??[]},findTemplatePageBySlug:async(s,i,o)=>{let u=await t(`/api/storefront/template-pages/?template=${encodeURIComponent(s)}&slug=${encodeURIComponent(i)}`,{token:o});return(Array.isArray(u)?u:u.results??[])[0]??null},createTemplatePage:(s,i,o)=>t("/api/storefront/template-pages/",{method:"POST",body:JSON.stringify({template:s,...i}),headers:F,token:o}),saveTemplatePageLayout:(s,i,o)=>t(`/api/storefront/template-pages/${s}/`,{method:"PATCH",body:JSON.stringify({layout:i}),headers:F,token:o}),deleteTemplatePage:(s,i,o)=>t(`/api/storefront/template-pages/${s}/`,{method:"DELETE",token:i,...o?.keepalive?{keepalive:!0}:{}}),listPages:async(s,i)=>{let o=new URLSearchParams({no_page:"true"});i&&o.set("site",i);let u=await t(`/api/storefront/pages/?${o.toString()}`,{token:s});return Array.isArray(u)?u:u.results??[]},createPage:(s,i,o,u)=>t("/api/storefront/pages/",{method:"POST",body:JSON.stringify({title:s,slug:i,layout:o}),token:u}),deletePage:(s,i)=>t(`/api/storefront/pages/${s}/`,{method:"DELETE",token:i}),getHeaderSettings:(s,i)=>t(r(i),{token:s}),listMenus:async(s,i)=>{let o=new URLSearchParams({no_page:"true"});i&&o.set("site",i);let u=await t(`/api/storefront/menus/?${o}`,{token:s});return Array.isArray(u)?u:u.results??[]},listBlogPosts:async(s,i={})=>{let o=new URLSearchParams({no_page:"true"});i.visibleOnly&&o.set("is_visible","true"),i.siteId&&o.set("site",i.siteId);let u=await t(`/api/storefront/blog-posts/?${o.toString()}`,{token:s});return Array.isArray(u)?u:u.results??[]},listFieldUsage:async(s,i)=>{let o=await t(`/api/storefront/field-usage/?site=${encodeURIComponent(i)}`,{token:s});return Array.isArray(o?.entries)?o.entries:[]},listCategories:async(s,i={})=>{let o=new URLSearchParams({no_page:"true"});i.visibleOnly&&o.set("is_visible","true"),i.siteId&&o.set("site",i.siteId);let u=await t(`/api/storefront/categories/?${o.toString()}`,{token:s});return[...Array.isArray(u)?u:u.results??[]].sort((P,T)=>P.sort_order-T.sort_order||P.name.localeCompare(T.name))},listForms:async(s,i={})=>{let o=new URLSearchParams({no_page:"true"});i.siteId&&o.set("site",i.siteId);let u=await t(`/api/storefront/forms/?${o.toString()}`,{token:s});return[...Array.isArray(u)?u:u.results??[]].sort((P,T)=>P.title.localeCompare(T.title))},listWheelSummaries:async(s,i={})=>{let o=new URLSearchParams;i.siteId&&o.set("site",i.siteId);let u=o.toString(),g=await t(`/api/storefront/wheel-curations/summaries/${u?`?${u}`:""}`,{token:s});return S(g)},listProducts:async(s,i={})=>{let o=new URLSearchParams;i.kinds?.length&&o.set("kind",i.kinds.join(",")),i.siteId&&o.set("site",i.siteId);let u=o.toString(),g=await t(`/api/storefront/products/${u?`?${u}`:""}`,{token:s});return S(g)},getWheelDetail:async(s,i,o={})=>{let u=new URLSearchParams({slug:i});return o.siteId&&u.set("site",o.siteId),A(S(await t(`/api/storefront/wheel-curations/detail/?${u.toString()}`,{token:s})))},updateHeaderSettings:(s,i,o)=>t(r(o),{method:"PATCH",body:JSON.stringify(s),token:i}),getSite:(s,i)=>t(x(s),{token:i}),listSites:async s=>{let i=await t("/api/storefront/sites/?no_page=true",{token:s});return Array.isArray(i)?i:i.results??[]},listSiteCurrencies:async(s,i)=>{let o=await t(Tt(s),{token:i});return Array.isArray(o)?o:[]},publishSite:(s,i)=>t(`${x(s)}publish/`,{method:"POST",token:i}),getSiteLiveState:(s,i)=>t(`${x(s)}live-state/`,{token:i}),updateSite:(s,i,o)=>t(x(s),{method:"PATCH",body:JSON.stringify(i),token:o}),getThemeSettings:(s,i)=>t(a(i),{token:s}),updateThemeSettings:(s,i,o)=>t(a(o),{method:"PATCH",body:JSON.stringify(s),token:i}),getChatSettings:(s,i)=>t(l(i),{token:s}),updateChatSettings:(s,i,o)=>t(l(o),{method:"PATCH",body:JSON.stringify(s),token:i}),getSocialSettings:(s,i)=>t(d(i),{token:s}),updateSocialSettings:(s,i,o)=>t(d(o),{method:"PATCH",body:JSON.stringify(s),token:i}),uploadHeaderLogo:(s,i,o)=>{let u=new FormData;return u.append("logo",s),t(r(o),{method:"PATCH",body:u,token:i})},clearHeaderLogo:(s,i)=>t(r(i),{method:"PATCH",body:JSON.stringify({logo:null}),token:s}),setHeaderLogoFromAsset:(s,i,o)=>t(r(o),{method:"PATCH",body:JSON.stringify({logo_asset_id:s}),token:i}),uploadMedia:async(s,i)=>{let o=new FormData;return o.append("file",s),t(Ot(),{method:"POST",body:o,token:i})},listMedia:async(s,i)=>{let o=new URLSearchParams({no_page:"true"});i&&o.set("kind",i);let u=await t(`/api/storefront/media-assets/?${o.toString()}`,{token:s});return Array.isArray(u)?u:u.results??[]}}}var un=Et({siteDrafts:!0});export{U as a,Q as b,X as c,w as d,qe as e,D as f,ge as g,Xe as h,f as i,W as j,H as k,Yt as l,en as m,c as n,ut as o,ve as p,Pt as q,wt as r,bt as s,_t as t,on as u,an as v,cn as w,G as x,ln as y,un as z};
|
|
1
|
+
import{a as V,c as T,g as z,i as $,j,l as C}from"./chunk-5NXOTPHK.js";var U="".replace(/\/+$/,"");var B="x-forwarded-for";function Z(e){let t=(e??"").split(",").map(n=>n.trim()).filter(Boolean);return t.length>0?t[t.length-1]:null}var Ie="x-forwarded-host";function Q(e,t,n){let r={};return e&&(r[Ie]=e),t&&n==="uncached"&&(r[B]=t),r}function X(e){if(e?.cache==="no-store"||e?.cache==="no-cache")return"uncached";if(e?.cache==="force-cache")return"data-cached";let t=e?.next?.revalidate;return typeof t=="number"&&t>0?"data-cached":"uncached"}var Y="x-storefront-site",ee="x-storefront-host",te="x-storefront-preview";var Fe="shop_access_token",ne="shop_refresh_token",N=null;function L(){C.removeItem(Fe),C.removeItem(ne)}var w={getAccess(){return N},takeLegacyRefresh(){let e=C.getItem(ne);return L(),e},setTokens(e){N=e,L()},clear(){N=null,L()}};import{efficientClientOpen as Qe}from"efficient-easel/screen/lib/session";function qe(e){return!!e.src}function A(e){let t=e.finishes.filter(qe);if(t.length===e.finishes.length)return e;let n=e.defaultFinish&&t.some(r=>r.name===e.defaultFinish)?e.defaultFinish:null;return{...e,finishes:t,defaultFinish:n}}function $e(e){return e.listable!==!1}function M(e){return e.map(A).filter($e)}var oe=["fill","stroke","stop-color","color","flood-color","lighting-color","solid-color"],ae=new Set(["none","transparent","currentcolor","inherit","initial","unset","context-fill","context-stroke"]),O={black:[0,0,0],white:[255,255,255],gray:[128,128,128],grey:[128,128,128],darkgray:[169,169,169],darkgrey:[169,169,169],dimgray:[105,105,105],dimgrey:[105,105,105],lightgray:[211,211,211],lightgrey:[211,211,211],gainsboro:[220,220,220],silver:[192,192,192],whitesmoke:[245,245,245]},ce=12,le=/\burl\(/i,ue=new RegExp(`(?<![-\\w])(${oe.join("|")})(\\s*=\\s*)(["'])([^"']*)\\3`,"gi"),me=new RegExp(`((?:^|[;{\\s"'])(?:${oe.join("|")})\\s*:\\s*)([^;}"'<>]+)`,"gi"),Ue=/<svg\b([^>]*)>/i,Be=/\bfill\s*[=:]/i;function Ne(e){let t=e.replace(ue,(n,r,a,l,d)=>{let s=re(d);return s===null?n:`${r}${a}${l}${s}${l}`}).replace(me,(n,r,a)=>{let l=re(a);return l===null?n:`${r}${l}`});return t=t.replace(Ue,(n,r)=>Be.test(r)?n:`<svg fill="#ffffff"${r}>`),t}function re(e){let t=/!important/i.test(e),n=e.replace(/!important/gi,"").trim().toLowerCase();if(!n||le.test(n)||ae.has(n))return null;let r=n in O?[...O[n],1]:pe(n);if(!r)return null;let[a,l,d,s]=r;if(Math.max(a,l,d)-Math.min(a,l,d)>ce)return null;let i=Le(255-a,255-l,255-d,s);return t?`${i} !important`:i}function Le(e,t,n,r){if(r<1)return`rgba(${e}, ${t}, ${n}, ${r})`;let a=l=>l.toString(16).padStart(2,"0");return`#${a(e)}${a(t)}${a(n)}`}function pe(e){return e.startsWith("#")?Me(e):e.startsWith("rgb")?De(e):e.startsWith("hsl")?Je(e):null}function Me(e){let t=e.slice(1),n=1;if(t.length===3||t.length===4)t.length===4&&(n=parseInt(t[3]+t[3],16)/255),t=t.slice(0,3).split("").map(r=>r+r).join("");else if(t.length===6||t.length===8)t.length===8&&(n=parseInt(t.slice(6,8),16)/255),t=t.slice(0,6);else return null;return/^[0-9a-f]{6}$/.test(t)?[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16),n]:null}function De(e){let t=e.slice(e.indexOf("(")+1,e.lastIndexOf(")")),[n,r]=t.split("/"),a=n.split(/[\s,]+/).filter(Boolean).slice(0,3);if(a.length<3)return null;let l=a.map(s=>s.endsWith("%")?Math.round(parseFloat(s)/100*255):Math.round(parseFloat(s)));if(l.some(s=>Number.isNaN(s)))return null;let d=r?v(r):He(n);return[l[0],l[1],l[2],d]}function He(e){let t=e.split(/[\s,]+/).filter(Boolean);return t.length>=4?v(t[3]):1}function v(e){let t=e.trim().endsWith("%")?parseFloat(e)/100:parseFloat(e);return Number.isNaN(t)?1:t}function Je(e){let t=e.slice(e.indexOf("(")+1,e.lastIndexOf(")")),[n,r]=t.split("/"),a=n.split(/[\s,]+/).filter(Boolean);if(a.length<3)return null;let l=parseFloat(a[0]),d=parseFloat(a[1])/100,s=parseFloat(a[2])/100;if([l,d,s].some(P=>Number.isNaN(P)))return null;let i=r?v(r):a.length>=4?v(a[3]):1,[o,u,g]=We(l,d,s);return[o,u,g,i]}function We(e,t,n){let r=(1-Math.abs(2*n-1))*t,a=(e%360+360)%360/60,l=r*(1-Math.abs(a%2-1)),d=0,s=0,i=0;a<1?[d,s,i]=[r,l,0]:a<2?[d,s,i]=[l,r,0]:a<3?[d,s,i]=[0,r,l]:a<4?[d,s,i]=[0,l,r]:a<5?[d,s,i]=[l,0,r]:[d,s,i]=[r,0,l];let o=n-r/2;return[Math.round((d+o)*255),Math.round((s+o)*255),Math.round((i+o)*255)]}var se=512*1024;function D(e){return/\.svg(\?|$)/i.test(e)}function Ge(e){return`data:image/svg+xml,${encodeURIComponent(Ne(e))}`}function Ke(e){let t=e.replace(/!important/gi,"").trim().toLowerCase();if(!t||le.test(t)||ae.has(t))return null;let n=t in O?[...O[t],1]:pe(t);if(!n)return null;let[r,a,l]=n;return Math.max(r,a,l)-Math.min(r,a,l)>ce?null:(.2126*r+.7152*a+.0722*l)/255}function Ve(e){let t=[],n=r=>{let a=Ke(r);a!==null&&t.push(a)};for(let r of e.matchAll(ue))n(r[4]);for(let r of e.matchAll(me))n(r[2]);return t.length?t.reduce((r,a)=>r+a,0)/t.length<.5:null}var ie=/^(?:\uFEFF|\s+|<\?xml[^>]*\?>|<!--[\s\S]*?-->|<!DOCTYPE\s+svg[^>[]*>)/i;function ze(e){let t=e;for(let n=ie.exec(t);n&&n[0].length>0;n=ie.exec(t))t=t.slice(n[0].length);return/^<svg[\s>/]/i.test(t)}async function je(e,t){if(!D(e))return null;try{let n=await fetch(e,{signal:t,redirect:"manual"});if(!n.ok)return null;let r=Number(n.headers.get("content-length"));if(Number.isFinite(r)&&r>se)return null;let a=await n.text();return a.length>se?null:ze(a)?a:null}catch{return null}}async function de(e,t){let n=await je(e,t);return n===null?null:{reversed:Ge(n),inkIsDark:Ve(n)}}import{currentEaselSession as Ze,setSessionBridgedSite as Ht,setSessionDocumentSite as Jt}from"efficient-easel/screen/lib/session";function ge(){return Ze().siteId()}var Xe="",f=class extends Error{constructor(t,n,r){super(n),this.status=t,this.data=r}},W="Unable to reach the server. This could be a problem with your internet connection, or the server may be undergoing maintenance or an upgrade. Please try again shortly.",Ye=new Set([502,503,504]),H=0,et="This editor runs on its host's own backend, which does not serve this request.",tt=5e3,nt=15e3,rt=()=>typeof window>"u"?tt:nt;function Re(e){let t=(e.method??"GET").toUpperCase();if(!(e.body!=null||t!=="GET"&&t!=="HEAD")&&!(e.audience!=null&&e.audience!=="shop")&&typeof AbortSignal?.timeout=="function")return AbortSignal.timeout(rt())}var he=e=>e instanceof Error&&e.name==="TimeoutError",ye=(e,t)=>Ye.has(e)?W:t,st=["admin","venue"],_e="admin";function Yt(e){_e=st.includes(e)?e:"admin"}function it(){return _e}var ot=/^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{1,8})*$/,ke=null;function en(e){ke=e&&ot.test(e)?e:null}function at(){return ke}function ct(e){if(typeof window>"u"||!e.startsWith("/api/v1/"))return e;let t=$();return!t||/[?&]site=/.test(e)?e:q(e,`site=${encodeURIComponent(t)}`)}async function c(e,t={}){let{token:n,baseUrl:r,headers:a,audience:l,...d}=t;if(typeof window<"u"&&!Qe())throw new f(H,et,null);if(typeof window>"u"&&r===void 0)throw new Error(`apiFetch(${JSON.stringify(e)}) ran on the server without an explicit baseUrl. The API_URL default it would inherit is browser-only (the prod image bakes NEXT_PUBLIC_API_URL="" for same-origin use, which a Node fetch cannot resolve). Pass a base explicitly: \`await backendOpts()\` (or baseUrl: PRODUCT_FETCH_BASE) for product reads, or the server-only PRODUCT_BACKEND_URL env for other backend surfaces.`);let s=typeof FormData<"u"&&d.body instanceof FormData,i;try{i=await fetch(`${r??Xe}${ct(e)}`,{...d,headers:{...s?{}:{"Content-Type":"application/json"},...n?{Authorization:`Bearer ${n}`}:{},...l===null?{}:{"X-Portal-Audience":l??"shop"},...a},signal:d.signal??Re({...d,audience:l})})}catch(g){throw g instanceof TypeError||he(g)?new f(H,W,null):g}let o;try{o=await i.text()}catch(g){throw he(g)?new f(H,W,null):g}let u=null;if(o)try{u=JSON.parse(o)}catch{throw new f(i.status,i.ok?"Expected JSON but received a non-JSON response":ye(i.status,i.statusText),o)}if(!i.ok){let g=(u&&typeof u=="object"&&"detail"in u&&typeof u.detail=="string"?u.detail:null)??ye(i.status,i.statusText);throw new f(i.status,g,u)}return u}var R=null;async function xe(){return R||(R=lt().finally(()=>{R=null}),R)}async function lt(){let e=w.takeLegacyRefresh(),t=await ut.refresh(e??void 0);return w.setTokens(t.access),t.access}async function Te(){return w.getAccess()??xe()}async function h(e,t={}){let n;try{n=await Te()}catch{throw w.clear(),new f(401,"Not signed in",null)}try{return await c(e,{...t,token:n})}catch(r){if(!(r instanceof f)||r.status!==401)throw r;try{let a=await xe();return await c(e,{...t,token:a})}catch{throw w.clear(),r}}}async function fe(e,t={}){if(w.getAccess())try{return{data:await h(e,t),asShopper:!0}}catch(n){if(!(n instanceof f)||n.status!==401)throw n}return{data:await c(e,t),asShopper:!1}}async function Se(){let e=await h("/api/auth/me/");if(e.portal!=="shop")throw w.clear(),new f(403,"This session is not valid for this shop.",null);return e}var ut={login:(e,t)=>c("/api/auth/login/",{method:"POST",body:JSON.stringify({email:e,password:t,portal:"shop"}),credentials:"include"}),refresh:e=>c("/api/auth/refresh/",{method:"POST",body:JSON.stringify(e?{refresh:e,portal:"shop"}:{portal:"shop"}),credentials:"include"}),logout:async()=>{w.clear();try{await c("/api/auth/logout/",{method:"POST",body:JSON.stringify({portal:"shop"}),credentials:"include"})}catch{}},restoreSession:async()=>{let e=await Te();return await Se(),e},me:Se,updateMe:e=>h("/api/auth/me/",{method:"PATCH",body:JSON.stringify(e)}),changePassword:(e,t)=>h("/api/auth/me/",{method:"PATCH",body:JSON.stringify({password:t,old_password:e})}),changeEmail:(e,t)=>h("/api/shop-portal/change-email/",{method:"POST",body:JSON.stringify({new_email:e,current_password:t})}),myProfile:()=>h("/api/shop-portal/profile/"),updateMyProfile:e=>h("/api/shop-portal/profile/",{method:"PATCH",body:JSON.stringify(e)}),myAddresses:()=>h("/api/shop-portal/delivery-locations/"),createAddress:e=>h("/api/shop-portal/delivery-locations/",{method:"POST",body:JSON.stringify(e)}),updateAddress:(e,t)=>h(`/api/shop-portal/delivery-locations/${e}/`,{method:"PATCH",body:JSON.stringify(t)}),deleteAddress:e=>h(`/api/shop-portal/delivery-locations/${e}/`,{method:"DELETE"}),passwordResetRequest:e=>c("/api/auth/password-reset/",{method:"POST",body:JSON.stringify({email:e})}),passwordResetConfirm:(e,t,n)=>c("/api/auth/password-reset/confirm/",{method:"POST",body:JSON.stringify({uid:e,token:t,new_password:n})}),brands:()=>h("/api/products/brands/"),myOrders:()=>h("/api/shop-portal/orders/").then(e=>e.results),myOrder:e=>h(`/api/shop-portal/orders/${e}/`),cancelOrder:e=>h(`/api/shop-portal/orders/${e}/cancel/`,{method:"POST"}),myReturns:e=>h(`/api/shop-portal/returns/${e?`?order=${encodeURIComponent(e)}`:""}`).then(t=>t.results),createReturn:e=>h("/api/shop-portal/returns/",{method:"POST",body:JSON.stringify(e)}),withdrawReturn:e=>h(`/api/shop-portal/returns/${e}/cancel/`,{method:"POST"}),uploadReturnPhoto:(e,t)=>{let n=new FormData;return n.append("claim_item",e),n.append("file",t),n.append("media_type",t.type.startsWith("video/")?"video":"image"),h("/api/shop-portal/return-media/",{method:"POST",body:n})}};function S(e){if(typeof e=="string")return e.startsWith("/media/")?V(e):e;if(Array.isArray(e))return e.map(S);if(e&&typeof e=="object"){let t={};for(let[n,r]of Object.entries(e))t[n]=n==="captions"&&r&&typeof r=="object"&&!Array.isArray(r)?Object.fromEntries(Object.entries(r).map(([a,l])=>[S(a),l])):S(r);return t}return e}var Ce=typeof window>"u"&&U!=="",mt=Ce?U:"",pt=j,b=()=>({baseUrl:pt(),audience:null});function m(e,t){let n=t?`?process=${encodeURIComponent(t)}`:"";return`/api/v1${e}${n}`}var dt=100,Pe=50;function Oe(e,t,n){let r=new URLSearchParams;for(let[a,l]of Object.entries(t))l!=null&&l!==""&&r.set(a,String(l));return r.set("pageSize",String(dt)),n&&r.set("cursor",n),`/api/v1${e}?${r.toString()}`}function gt(e,t){return Oe("/wheels",{process:e},t)}function ht(e,t,n){return Oe("/products",{kind:e.join(","),make:t?.make,model:t?.model,year:t?.year,modification:t?.modification},n)}function yt(e){if(!e)return null;try{return new URL(e,"http://cursor.invalid").searchParams.get("cursor")}catch{return null}}async function we(e,t,n=()=>!1){let r=[],a=null;try{for(let l=0;l<Pe;l++){let d=await c(await t(a),await p());if(r.push(...d.results),a=yt(d.next),!a)break}a&&console.warn(`[${e}] stopped at ${Pe} pages (${r.length} rows); catalog may be truncated`)}catch(l){if(n(l))throw l;console.warn(`[${e}] product API unavailable, returning []`,l)}return r}var ft=e=>e instanceof f&&e.status===400;function St(e){return e.flatMap(t=>t.kind==="alloy-wheel"?M([t]):[t])}async function ve(){return(await Pt()).host}async function Pt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js"),t=await e(),n=l=>l?.split(",")[0]?.split(":")[0]?.trim().toLowerCase()||null,r=n(t.get(ee)??t.get("x-forwarded-host")??t.get("host")),a=n(t.get("host"));return{host:r,matchesRequestHost:r!==null&&r===a}}catch{return{host:null,matchesRequestHost:!1}}}async function wt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return Z((await e()).get(B))}catch{return null}}async function bt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get(Y)||null}catch{return null}}async function At(){let e=await bt();if(e)return`site=${encodeURIComponent(e)}`;let t=await ve();return t?`host=${encodeURIComponent(t)}`:""}async function y(e){if(typeof window<"u"){let t=$();return t?q(e,`site=${encodeURIComponent(t)}`):e}return q(e,await At())}function q(e,t){return t?`${e}${e.includes("?")?"&":"?"}${t}`:e}var Rt="preview";async function _t(){if(typeof window<"u")return null;try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get(te)}catch{return null}}async function kt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get("user-agent")}catch{return null}}async function J(e,t){let n=await _t();if(n===null)return[await y(e),await p(t)];let r=q(await y(e),`${Rt}=${encodeURIComponent(n)}`),{next:a,cache:l,...d}=t??{},s=await p({...d,cache:"no-store"}),i=await kt();return i&&(s.headers={...s.headers,"user-agent":i}),[r,s]}async function xt(e){if(!Ce)return;let[t,n]=await Promise.all([ve(),wt()]),r=Q(t,n,e);return Object.keys(r).length>0?r:void 0}async function p(e){let t=await xt(X(e)),n={baseUrl:mt,...e};return t&&(n.headers={...t,...e?.headers}),n}var _=typeof window>"u";function k(e,t){let n=new URLSearchParams;for(let[a,l]of Object.entries(t))l!==void 0&&l!==""&&n.set(a,String(l));let r=n.toString();return`/api/v1/fitment${e}${r?`?${r}`:""}`}var on={listMakes:async e=>{if(_){let{fitmentData:n}=await import("./fitment-data-IZYCNTET.js");return n.makes(e)}return(await c(k("/makes",{region:e}),b())).results},listModels:async(e,t)=>{if(_){let{fitmentData:r}=await import("./fitment-data-IZYCNTET.js");return r.models(e,t)}return(await c(k("/models",{make:e,region:t}),b())).results},listYears:async(e,t,n)=>{if(_){let{fitmentData:a}=await import("./fitment-data-IZYCNTET.js");return a.years(e,t,n)}return(await c(k("/years",{make:e,model:t,region:n}),b())).results},listModifications:async(e,t,n,r)=>{if(_){let{fitmentData:l}=await import("./fitment-data-IZYCNTET.js");return l.modifications(e,t,n,r)}return(await c(k("/modifications",{make:e,model:t,year:n,region:r}),b())).results},getStockFitment:async(e,t,n,r,a)=>{if(_){let{fitmentData:l}=await import("./fitment-data-IZYCNTET.js");return l.stockFitment(e,t,n,r,a)}return c(k("/stock-fitment",{make:e,model:t,year:n,modification:r,region:a}),b())}},an={listWheels:async e=>{let t=await we("products.listWheels",async n=>await y(gt(e,n)));return M(S(t))},listCatalog:async(e,t)=>{if(e.length===0)throw new Error("products.listCatalog() needs at least one kind. An empty list would omit `kind`, which the contract reads as `alloy-wheel` \u2014 so the call would silently return the wheel catalog instead of nothing.");let n=await we("products.listCatalog",async r=>await y(ht(e,t,r)),ft);return St(S(n))},getWheel:async e=>A(S(await c(await y(m(`/wheels/${e}`)),await p()))),getTyre:async e=>S(await c(await y(m(`/tyres/${e}`)),await p())),listBundles:async()=>{try{return await c(await y(m("/bundles")),await p())}catch{return[]}},getBundle:async e=>c(await y(m(`/bundles/${e}`)),await p()),listGalleryBuilds:async(e={})=>{let{process:t=null,wheelSlug:n=null}=e;if(typeof window>"u"){let{listGalleryBuilds:r}=await import("./gallery-builds-data-TD3QJK7L.js");return S(r(t,n))}try{let r=new URLSearchParams;t&&r.set("process",t),n&&r.set("wheelSlug",n);let a=r.toString(),l=await c(`/api/v1/gallery-builds${a?`?${a}`:""}`,b());return S(l.results)}catch(r){return console.warn("[products.listGalleryBuilds] product API unavailable, returning []",r),[]}},getSite:async()=>c(await y(m("/site")),await p()),getSiteBySlug:async e=>c(`${m("/site")}?${new URLSearchParams({site:e})}`,typeof window>"u"?await p():void 0),listPages:async()=>S(await c(await y(m("/pages")),await p())),listPopups:async()=>c(await y(m("/popups")),await p()),listProductTemplates:async()=>{try{return await c(await y(m("/product-templates")),await p())}catch(e){return console.warn("[products.listProductTemplates] unavailable, returning []",e),[]}},listDynamicPages:async e=>{let t=e?`?recordType=${encodeURIComponent(e)}`:"";try{return await c(await y(`${m("/dynamic-pages")}${t}`),await p())}catch(n){if(n instanceof f&&n.status===404)return[];throw n}},getRecord:async(e,t)=>{try{return await c(await y(m(`/records/${encodeURIComponent(e)}/${encodeURIComponent(t)}`)),await p())}catch(n){if(n instanceof f&&n.status===404)return null;throw n}},listRecordKeys:async e=>{try{let t=await c(await y(m(`/records/${encodeURIComponent(e)}`)),await p({cache:"no-store"}));return Array.isArray(t?.keys)?t.keys.filter(n=>typeof n=="string"&&n!==""):[]}catch(t){if(t instanceof f&&t.status===404)return[];throw t}},listProductTypeChoices:async()=>{try{return await c(await y(m("/product-type-choices")),await p())}catch(e){return console.warn("[products.listProductTypeChoices] unavailable, returning []",e),[]}},listFieldUsage:async()=>{try{return await c(await y(m("/field-usage")),await p())}catch(e){return console.warn("[products.listFieldUsage] unavailable, returning []",e),[]}},getPage:async(e,t={})=>{let n=t.record?`?record=${encodeURIComponent(t.record)}`:"",[r,a]=await J(m(`/pages/${e}`)+n,t.revalidate!==void 0?{next:{revalidate:t.revalidate}}:void 0);return S(await c(r,a))},listBlogPosts:async(e={})=>{let t=e.category?`?category=${encodeURIComponent(e.category)}`:"";try{return(await c(m("/blog-posts")+t,await p())).map(r=>({...r,coverImage:T(r.coverImage)??""}))}catch(n){return console.warn("[products.listBlogPosts] blog API unavailable, returning []",n),[]}},getBlogPost:async e=>{let t=await c(m(`/blog-posts/${e}`),await p());return{...t,coverImage:T(t.coverImage)??""}},createOrder:async e=>c(m("/orders"),await p({method:"POST",body:JSON.stringify(e)})),createOrderAuthed:async e=>h(m("/orders"),await p({method:"POST",body:JSON.stringify(e)})),lookupOrder:async e=>c(m("/orders/lookup"),await p({method:"POST",body:JSON.stringify(e)})),createPaymentIntent:async e=>c(m("/payments/intent"),await p({method:"POST",body:JSON.stringify(e)})),createPaypalOrder:async e=>c(m("/payments/paypal/order"),await p({method:"POST",body:JSON.stringify(e)})),capturePaypalOrder:async e=>c(m("/payments/paypal/capture"),await p({method:"POST",body:JSON.stringify(e)})),createAfterpayCheckout:async e=>c(m("/payments/afterpay/checkout"),await p({method:"POST",body:JSON.stringify(e)})),captureAfterpayPayment:async e=>c(m("/payments/afterpay/capture"),await p({method:"POST",body:JSON.stringify(e)})),chargeSquare:async e=>c(m("/payments/square/charge"),await p({method:"POST",body:JSON.stringify(e)})),createGocardlessBillingRequest:async e=>c(m("/payments/gocardless/billing-request"),await p({method:"POST",body:JSON.stringify(e)})),completeGocardlessPayment:async e=>c(m("/payments/gocardless/complete"),await p({method:"POST",body:JSON.stringify(e)})),createZipCheckout:async e=>c(m("/payments/zip/checkout"),await p({method:"POST",body:JSON.stringify(e)})),captureZipPayment:async e=>c(m("/payments/zip/capture"),await p({method:"POST",body:JSON.stringify(e)})),createKlarnaCheckout:async e=>c(m("/payments/klarna/checkout"),await p({method:"POST",body:JSON.stringify(e)})),captureKlarnaPayment:async e=>c(m("/payments/klarna/capture"),await p({method:"POST",body:JSON.stringify(e)})),createStockAlert:async e=>c(m("/stock-alerts"),await p({method:"POST",body:JSON.stringify(e)})),createPreOrderIntent:async e=>c(m("/pre-order-intents"),await p({method:"POST",body:JSON.stringify(e)})),createNewsletterSubscription:async e=>c(m("/newsletter-subscriptions"),await p({method:"POST",body:JSON.stringify(e)})),unsubscribeNewsletter:async e=>c(m("/newsletter-unsubscribe"),await p({method:"POST",body:JSON.stringify(e)})),captureCart:async e=>c(m("/carts"),await p({method:"POST",body:JSON.stringify(e)})),restoreCart:async e=>c(m("/carts/restore"),await p({method:"POST",body:JSON.stringify(e)})),unsubscribeCartReminders:async e=>c(m("/carts/unsubscribe"),await p({method:"POST",body:JSON.stringify(e)})),listReviews:async(e={})=>{let t=new URLSearchParams;e.limit&&t.set("limit",String(e.limit)),e.designCode&&t.set("designCode",e.designCode);let n=m("/reviews"),r=t.toString();try{return await c(await y(r?`${n}?${r}`:n),await p())}catch(a){return console.warn("[products.listReviews] product API unavailable, returning []",a),[]}},submitReview:async e=>c(m("/reviews"),await p({method:"POST",body:JSON.stringify(e)})),getForm:async e=>c(m(`/forms/${encodeURIComponent(e)}`),await p()),submitForm:async(e,t)=>c(m(`/forms/${encodeURIComponent(e)}/submissions`),await p({method:"POST",body:JSON.stringify(t)})),listShippingMethods:async()=>{try{return await c(m("/shipping-methods"),await p())}catch(e){return console.warn("[products.listShippingMethods] product API unavailable, returning []",e),[]}},listCountrySubdivisions:async e=>{try{return await c(m(`/countries/${encodeURIComponent(e)}/subdivisions`),await p())}catch(t){return console.warn("[products.listCountrySubdivisions] unavailable, returning []",t),[]}},quoteCart:async e=>{let t=m("/cart/quote"),n=await p({method:"POST",body:JSON.stringify(e)});return e.couponCode?(await fe(t,n)).data:c(t,n)},validateCoupon:async e=>{let{data:t,asShopper:n}=await fe(m("/coupons/validate"),await p({method:"POST",body:JSON.stringify(e)}));return{...t,askedAsShopper:n}},getHeaderSettings:async()=>{let e=Re({method:"GET"}),t=await c(...await J(m("/header-settings"),{signal:e})),n=T(t.logoUrl),r=null,a=null;if(n&&D(n)){let l=await de(n,e);l&&(r=l.reversed,a=l.inkIsDark)}return{...t,logoUrl:n,logoReversed:r,logoInkIsDark:a}},getThemeSettings:async()=>c(...await J(m("/theme-settings"))),getChatSettings:async()=>c(await y(m("/chat-settings")),await p())},cn={listServices:async()=>{try{return await c(m("/bookings/services"),await p())}catch(e){return console.warn("[bookings.listServices] API unavailable, returning []",e),{results:[],currency:"USD"}}},getAvailability:async(e,t)=>c(m(`/bookings/availability?service=${encodeURIComponent(e)}&date=${t}`),await p()),create:async e=>c(m("/bookings"),await p({method:"POST",body:JSON.stringify(e)})),get:async e=>c(m(`/bookings/manage/${encodeURIComponent(e)}`),await p()),cancel:async e=>c(m(`/bookings/manage/${encodeURIComponent(e)}/cancel`),await p({method:"POST"})),createPaymentIntent:async e=>c(m("/bookings/payments/intent"),await p({method:"POST",body:JSON.stringify({manageToken:e})}))},G=class extends Error{constructor(n,r){super(`Slug "${n}" exists on ${r} websites; a site is required to pick one.`);this.slug=n;this.count=r;this.name="AmbiguousPageSlugError"}},E=(e,t,n)=>{let r=new URLSearchParams({...t?{site:t}:{},...n?{draft:"1"}:{}}).toString();return`/api/storefront/${e}/${r?`?${r}`:""}`},F=e=>`/api/storefront/sites/${encodeURIComponent(e)}/`,Tt=e=>`${F(e)}currencies/`,Ct="/api/storefront/media/ingest/",K=class extends Error{constructor(){super("This editor is not connected to a website, so an upload has nowhere to go. Open the page from the website the file should belong to, then try again."),this.name="MediaUploadDestinationError"}};function Ot(){let e=ge();if(!e)throw new K;return`${Ct}?${new URLSearchParams({site:e})}`}var vt="X-Puck-Media-Manifest",be=z.contentHash,I={"X-Media-Manifest":be,[vt]:be},ln=Ee({});function Ee(e){return(t,n={})=>{let r=at(),a=e.headers||r?{...r?{"Accept-Language":r}:{},...e.headers,...n.headers}:void 0;return c(t,{...n,...e.baseUrl!==void 0?{baseUrl:e.baseUrl}:{},...a?{headers:a}:{},audience:e.audience??it()})}}function Et(e={}){let t=Ee(e),n=e.siteDrafts===!0,r=s=>E("header-settings",s,n),a=s=>E("theme-settings",s,n),l=s=>E("chat-settings",s,n),d=s=>E("social-settings",s,n);return{findPageBySlug:async(s,i,o)=>{let u=new URLSearchParams({slug:s});o&&u.set("site",o);let g=await t(`/api/storefront/pages/?${u.toString()}`,{token:i}),P=Array.isArray(g)?g:g.results??[];if(!o&&P.length>1)throw new G(s,P.length);return P[0]??null},getPageById:(s,i)=>t(`/api/storefront/pages/${s}/`,{token:i}),saveLayout:(s,i,o,u,g)=>t(`/api/storefront/pages/${s}/`,{method:"PATCH",body:JSON.stringify({layout:i,expected_updated_at:u,...g?{client_id:g}:{}}),token:o}),duplicatePage:(s,i,o)=>t(`/api/storefront/pages/${s}/duplicate/`,{method:"POST",body:JSON.stringify({title:i.title,slug:i.slug}),token:o}),geocode:(s,i,o)=>t(`/api/storefront/geocode/?${new URLSearchParams(o?{q:s,country:o}:{q:s})}`,{token:i}),listBlockSources:s=>t("/api/storefront/block-sources/",{token:s}),listRecordTypes:s=>t("/api/storefront/record-types/",{token:s}),createPagePreviewLink:(s,i)=>t(`/api/storefront/pages/${s}/preview-link/`,{method:"POST",token:i}),claimPageEditLock:(s,i,o,u=!1)=>t(`/api/storefront/pages/${s}/edit-lock/`,{method:"POST",body:JSON.stringify({client_id:o,takeover:u}),token:i}),releasePageEditLock:(s,i)=>t(`/api/storefront/pages/${s}/edit-lock/`,{method:"DELETE",token:i}),createTemplate:(s,i,o)=>t("/api/storefront/page-templates/",{method:"POST",body:JSON.stringify({name:s,layout:i}),headers:I,token:o}),getTemplate:(s,i)=>t(`/api/storefront/page-templates/${s}/`,{token:i}),saveTemplateLayout:(s,i,o)=>t(`/api/storefront/page-templates/${s}/`,{method:"PATCH",body:JSON.stringify({layout:i}),headers:I,token:o}),listTemplatePages:async(s,i)=>{let o=await t(`/api/storefront/template-pages/?template=${encodeURIComponent(s)}`,{token:i});return Array.isArray(o)?o:o.results??[]},findTemplatePageBySlug:async(s,i,o)=>{let u=await t(`/api/storefront/template-pages/?template=${encodeURIComponent(s)}&slug=${encodeURIComponent(i)}`,{token:o});return(Array.isArray(u)?u:u.results??[])[0]??null},createTemplatePage:(s,i,o)=>t("/api/storefront/template-pages/",{method:"POST",body:JSON.stringify({template:s,...i}),headers:I,token:o}),saveTemplatePageLayout:(s,i,o)=>t(`/api/storefront/template-pages/${s}/`,{method:"PATCH",body:JSON.stringify({layout:i}),headers:I,token:o}),deleteTemplatePage:(s,i,o)=>t(`/api/storefront/template-pages/${s}/`,{method:"DELETE",token:i,...o?.keepalive?{keepalive:!0}:{}}),listPages:async(s,i)=>{let o=new URLSearchParams({no_page:"true"});i&&o.set("site",i);let u=await t(`/api/storefront/pages/?${o.toString()}`,{token:s});return Array.isArray(u)?u:u.results??[]},createPage:(s,i,o,u)=>t("/api/storefront/pages/",{method:"POST",body:JSON.stringify({title:s,slug:i,layout:o}),token:u}),deletePage:(s,i)=>t(`/api/storefront/pages/${s}/`,{method:"DELETE",token:i}),getHeaderSettings:(s,i)=>t(r(i),{token:s}),listMenus:async(s,i)=>{let o=new URLSearchParams({no_page:"true"});i&&o.set("site",i);let u=await t(`/api/storefront/menus/?${o}`,{token:s});return Array.isArray(u)?u:u.results??[]},listBlogPosts:async(s,i={})=>{let o=new URLSearchParams({no_page:"true"});i.visibleOnly&&o.set("is_visible","true"),i.siteId&&o.set("site",i.siteId);let u=await t(`/api/storefront/blog-posts/?${o.toString()}`,{token:s});return Array.isArray(u)?u:u.results??[]},listFieldUsage:async(s,i)=>{let o=await t(`/api/storefront/field-usage/?site=${encodeURIComponent(i)}`,{token:s});return Array.isArray(o?.entries)?o.entries:[]},listCategories:async(s,i={})=>{let o=new URLSearchParams({no_page:"true"});i.visibleOnly&&o.set("is_visible","true"),i.siteId&&o.set("site",i.siteId);let u=await t(`/api/storefront/categories/?${o.toString()}`,{token:s});return[...Array.isArray(u)?u:u.results??[]].sort((P,x)=>P.sort_order-x.sort_order||P.name.localeCompare(x.name))},listForms:async(s,i={})=>{let o=new URLSearchParams({no_page:"true"});i.siteId&&o.set("site",i.siteId);let u=await t(`/api/storefront/forms/?${o.toString()}`,{token:s});return[...Array.isArray(u)?u:u.results??[]].sort((P,x)=>P.title.localeCompare(x.title))},listWheelSummaries:async(s,i={})=>{let o=new URLSearchParams;i.siteId&&o.set("site",i.siteId);let u=o.toString(),g=await t(`/api/storefront/wheel-curations/summaries/${u?`?${u}`:""}`,{token:s});return S(g)},listProducts:async(s,i={})=>{let o=new URLSearchParams;i.kinds?.length&&o.set("kind",i.kinds.join(",")),i.siteId&&o.set("site",i.siteId);let u=o.toString(),g=await t(`/api/storefront/products/${u?`?${u}`:""}`,{token:s});return S(g)},getWheelDetail:async(s,i,o={})=>{let u=new URLSearchParams({slug:i});return o.siteId&&u.set("site",o.siteId),A(S(await t(`/api/storefront/wheel-curations/detail/?${u.toString()}`,{token:s})))},updateHeaderSettings:(s,i,o)=>t(r(o),{method:"PATCH",body:JSON.stringify(s),token:i}),getSite:(s,i)=>t(F(s),{token:i}),listSites:async s=>{let i=await t("/api/storefront/sites/?no_page=true",{token:s});return Array.isArray(i)?i:i.results??[]},listSiteCurrencies:async(s,i)=>{let o=await t(Tt(s),{token:i});return Array.isArray(o)?o:[]},publishSite:(s,i)=>t(`${F(s)}publish/`,{method:"POST",token:i}),getSiteLiveState:(s,i)=>t(`${F(s)}live-state/`,{token:i}),getThemeSettings:(s,i)=>t(a(i),{token:s}),updateThemeSettings:(s,i,o)=>t(a(o),{method:"PATCH",body:JSON.stringify(s),token:i}),getChatSettings:(s,i)=>t(l(i),{token:s}),updateChatSettings:(s,i,o)=>t(l(o),{method:"PATCH",body:JSON.stringify(s),token:i}),getSocialSettings:(s,i)=>t(d(i),{token:s}),updateSocialSettings:(s,i,o)=>t(d(o),{method:"PATCH",body:JSON.stringify(s),token:i}),uploadHeaderLogo:(s,i,o)=>{let u=new FormData;return u.append("logo",s),t(r(o),{method:"PATCH",body:u,token:i})},clearHeaderLogo:(s,i)=>t(r(i),{method:"PATCH",body:JSON.stringify({logo:null}),token:s}),setHeaderLogoFromAsset:(s,i,o)=>t(r(o),{method:"PATCH",body:JSON.stringify({logo_asset_id:s}),token:i}),uploadMedia:async(s,i)=>{let o=new FormData;return o.append("file",s),t(Ot(),{method:"POST",body:o,token:i})},listMedia:async(s,i)=>{let o=new URLSearchParams({no_page:"true"});i&&o.set("kind",i);let u=await t(`/api/storefront/media-assets/?${o.toString()}`,{token:s});return Array.isArray(u)?u:u.results??[]}}}var un=Et({siteDrafts:!0});export{U as a,Q as b,X as c,w as d,qe as e,D as f,ge as g,Xe as h,f as i,W as j,H as k,Yt as l,en as m,c as n,ut as o,ve as p,Pt as q,wt as r,bt as s,_t as t,on as u,an as v,cn as w,G as x,ln as y,un as z};
|