efficient-storefront-blocks 0.75.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 +29 -0
- package/dist/chunks/EditorPreviewCheckout-ANI7HUYX.js +4 -0
- package/dist/chunks/{SiteEditorProvider-N4T55FAV.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-YAYHH5GY.js +1 -0
- package/dist/chunks/{chunk-K26JUDGZ.js → chunk-YFPWVNDB.js} +1 -1
- package/dist/chunks/{fitment-data-5ZSHENM3.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/storefront-editor-words.d.ts +10 -13
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/editor.css +1 -1
- package/dist/index.js +214 -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 +1 -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/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/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 +12 -0
- 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/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/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/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 +46 -45
- package/dist/words.js +6 -6
- package/package.json +4 -4
- package/dist/chunks/EditorPreviewCheckout-27GNLSNR.js +0 -4
- package/dist/chunks/chunk-3TBLX25X.js +0 -1
- package/dist/chunks/chunk-4V6BLJSG.js +0 -1
- package/dist/chunks/chunk-WPHE7RI4.js +0 -246
- 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-WPHE7RI4.js.LEGAL.txt → chunk-3IQQNZIM.js.LEGAL.txt} +0 -0
- /package/dist/chunks/{chunk-SJODSVWU.js → chunk-5NXOTPHK.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as n,Fragment as g}from"react/jsx-runtime";import o from"next/link";import b,{Box as s}from"./VehicleQuestion.js";import{resolvingRowsAnswered as w}from"../../lib/catalog/product-options.js";import{fitRefusal as h,pdpFitVerdict as x}from"../../lib/wheels/pdp-fit-verdict.js";import{variantIsDually as k}from"../../lib/wheels/set-mode.js";function y({selection:a,spec:r,vehicle:t,wheel:l}){const{manualMode:c,setManualMode:d}=a,u=w(a.rows,a.preOrder),m=t.appliedName!=="",f=(l?.variants??[]).some(k),i=x({wheel:l,applied:m,fit:t.fit,resolving:t.resolving});return e(b,{vehicle:t,escape:e("button",{type:"button",className:"cursor-pointer text-right text-accent hover:underline",onClick:()=>d(p=>!p),children:c?"← Find by vehicle":"Select by specs instead →"}),override:c?n(s,{tone:"quiet",children:[e("strong",{className:"font-semibold text-fg",children:"You are choosing by the numbers."}),n("span",{className:"mt-2 block",children:[r?`${f?"The set is":"All four wheels are"} ${r}. We have not checked that against any car — make sure it matches yours.`:u?"Answer the bolt pattern and the offset below. We will not check them against a car.":"Pick a finish and a size below. The bolt pattern and the offset come next, and we will not check them against a car."," ",e(o,{href:"/fitment",className:"text-accent hover:underline",children:"Talk to an engineer →"})]})]}):null,verdict:e(N,{verdict:i,car:t.appliedName}),showChangeCar:i.state!=="fits"&&i.state!=="checking",cascadeErrorNote:n(g,{children:["Vehicle data is unavailable right now. Pick your wheel by its specs instead, or"," ",e(o,{href:"/contact",className:"text-accent hover:underline",children:"ask us to check it →"})]})
|
|
1
|
+
"use client";import{jsx as e,jsxs as n,Fragment as g}from"react/jsx-runtime";import o from"next/link";import b,{Box as s}from"./VehicleQuestion.js";import{resolvingRowsAnswered as w}from"../../lib/catalog/product-options.js";import{fitRefusal as h,pdpFitVerdict as x}from"../../lib/wheels/pdp-fit-verdict.js";import{variantIsDually as k}from"../../lib/wheels/set-mode.js";function y({selection:a,spec:r,vehicle:t,wheel:l}){const{manualMode:c,setManualMode:d}=a,u=w(a.rows,a.preOrder),m=t.appliedName!=="",f=(l?.variants??[]).some(k),i=x({wheel:l,applied:m,fit:t.fit,resolving:t.resolving});return e(b,{vehicle:t,escape:e("button",{type:"button",className:"cursor-pointer text-right text-accent hover:underline",onClick:()=>d(p=>!p),children:c?"← Find by vehicle":"Select by specs instead →"}),override:c?n(s,{tone:"quiet",children:[e("strong",{className:"font-semibold text-fg",children:"You are choosing by the numbers."}),n("span",{className:"mt-2 block",children:[r?`${f?"The set is":"All four wheels are"} ${r}. We have not checked that against any car — make sure it matches yours.`:u?"Answer the bolt pattern and the offset below. We will not check them against a car.":"Pick a finish and a size below. The bolt pattern and the offset come next, and we will not check them against a car."," ",e(o,{href:"/fitment",className:"text-accent hover:underline",children:"Talk to an engineer →"})]})]}):null,verdict:e(N,{verdict:i,car:t.appliedName}),showChangeCar:i.state!=="fits"&&i.state!=="checking",cascadeErrorNote:n(g,{children:["Vehicle data is unavailable right now. Pick your wheel by its specs instead, or"," ",e(o,{href:"/contact",className:"text-accent hover:underline",children:"ask us to check it →"})]})})}function N({verdict:a,car:r}){switch(a.state){case"checking":return n(s,{tone:"quiet",children:[e("strong",{className:"font-semibold text-fg",children:"Checking fitment…"})," ",n("span",{children:["Reading the factory wheel specs for your ",r,"."]})]});case"fits":return n(s,{tone:"good",children:[n("strong",{className:"font-semibold text-accent",children:["✓ Fits your ",r]}),e("ul",{className:"mt-2 flex flex-wrap gap-2",children:a.checks.map(t=>e("li",{className:["px-2 py-1 text-[11px] uppercase tracking-[0.14em] text-fg-dim",t.value!==null?"border border-line":"border border-dashed border-line"].join(" "),children:t.value??`${t.name} not published, not checked`},t.key))})]});case"fits-with-warning":return n(s,{tone:"good",children:[n("strong",{className:"font-semibold text-accent",children:["✓ Fits your ",r]}),e("ul",{className:"mt-2 flex flex-wrap gap-2",children:a.checks.map(t=>e("li",{className:["px-2 py-1 text-[11px] uppercase tracking-[0.14em] text-fg-dim",t.value!==null?"border border-line":"border border-dashed border-line"].join(" "),children:t.value??`${t.name} not published, not checked`},t.key))}),n("span",{className:"mt-2 block border-l-2 border-alert pl-3",children:[e("strong",{className:"font-semibold text-fg",children:"Check the offset. "}),h(a.warning)," An offset this far out is what an aftermarket wheel is for, but it changes how far the wheel sits from the guard."," ",e(o,{href:"/contact",className:"text-accent hover:underline",children:"Ask us if you are unsure →"})]})]});case"no-fit":return n(s,{tone:"bad",children:[n("strong",{className:"font-semibold",style:{color:"var(--alert)"},children:["✗ Does not fit your ",r]}),e("span",{className:"mt-2 block",children:h(a.failure)})]});case"unknown":return n(s,{tone:"quiet",children:[e("strong",{className:"font-semibold text-fg",children:a.missing==="vehicle"?`We cannot check this wheel against your ${r}`:"We cannot check this wheel"}),n("span",{className:"mt-2 block",children:[a.missing==="vehicle"?`We have no factory wheel data for the ${r}, and we will not guess at a fit.`:"We do not hold a bolt pattern for this wheel, and we will not guess at a fit."," ",e(o,{href:"/contact",className:"text-accent hover:underline",children:"Ask us before you order →"})]})]});default:return null}}export{y as default};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { SlotComponent } from "efficient-easel/blocks";
|
|
3
|
+
export declare const TRUST_BULLETS_ROW_CLASS = "border-t border-line pt-5";
|
|
4
|
+
export declare function trustBulletsSlot(stored: unknown): SlotComponent | undefined;
|
|
5
|
+
export declare function trustBulletsRow(Slot: SlotComponent | undefined, editing: boolean): ReactNode;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as s}from"react/jsx-runtime";const r="border-t border-line pt-5";function i(t){return t&&!Array.isArray(t)?t:void 0}function o(t,e){if(!t)return null;const n=e?r:`${r} empty:hidden`;return s(t,{className:n,minEmptyHeight:40})}export{r as TRUST_BULLETS_ROW_CLASS,o as trustBulletsRow,i as trustBulletsSlot};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type RefObject } from "react";
|
|
2
|
-
export declare function useModalDismiss({ active, onDismiss, focusRef, lockScroll, scopeRef, }: {
|
|
2
|
+
export declare function useModalDismiss({ active, onDismiss, focusRef, lockScroll, scopeRef, trapRef, }: {
|
|
3
3
|
active: boolean;
|
|
4
4
|
onDismiss: () => void;
|
|
5
5
|
focusRef?: RefObject<HTMLElement | null>;
|
|
6
6
|
lockScroll?: boolean;
|
|
7
7
|
scopeRef?: RefObject<HTMLElement | null>;
|
|
8
|
+
trapRef?: RefObject<HTMLElement | null>;
|
|
8
9
|
}): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{useEffect as
|
|
1
|
+
"use client";import{useEffect as d}from"react";function D({active:n,onDismiss:f,focusRef:y,lockScroll:a=!0,scopeRef:r,trapRef:i}){d(()=>{if(!n)return;const t=r?.current?.ownerDocument??document,e=u=>{u.key==="Escape"&&f()};return t.addEventListener("keydown",e),()=>t.removeEventListener("keydown",e)},[n,f,r]),d(()=>{if(!n||!a)return;const t=(r?.current?.ownerDocument??document).body,e=t.style.overflow;return t.style.overflow="hidden",()=>{t.style.overflow=e}},[n,a,r]),d(()=>{if(!n)return;const t=(r?.current?.ownerDocument??document).documentElement,e=u=>{const o=Number(t.getAttribute(m)||0)+u;o>0?t.setAttribute(m,String(o)):t.removeAttribute(m)};return e(1),()=>e(-1)},[n,r]),d(()=>{if(!n||!i)return;const t=i.current?.ownerDocument??r?.current?.ownerDocument??document,e=t.activeElement,u=o=>{const s=i.current;if(o.key!=="Tab"||!s)return;const c=Array.from(s.querySelectorAll(E)).filter(A=>!A.hasAttribute("hidden")&&A.getAttribute("aria-hidden")!=="true");if(c.length===0){o.preventDefault(),s.focus();return}const b=c[0],w=c[c.length-1],l=t.activeElement;(!(l&&s.contains(l)&&l!==s)||l===(o.shiftKey?b:w))&&(o.preventDefault(),(o.shiftKey?w:b).focus())};return t.addEventListener("keydown",u),()=>{t.removeEventListener("keydown",u),e&&e!==t.body&&e.isConnected&&e.focus()}},[n,i,r]),d(()=>{n&&y?.current?.focus()},[n,y])}const E="a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex='-1'])",m="data-sf-overlay";export{D as useModalDismiss};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as r,jsxs as s,Fragment as se}from"react/jsx-runtime";import{LISTING_CARD_SHOW as B}from"../../lib/sections/card-show-defaults.js";import{useCallback as d,useEffect as Qe,useId as Ze,useMemo as l,useRef as et,useState as tt}from"react";import{CARD_IMAGE_BG_OFF as ot,resolveCardImageBackground as rt}from"efficient-web-builder/format/lib/content/card-image-background";import{cardImageShapeTokens as nt}from"efficient-web-builder/format/lib/content/card-image-shape";import{cardIndexCss as st,DEFAULT_CARD_INDEX_FORMAT as it,DEFAULT_CARD_OUTLINE as lt}from"efficient-web-builder/format/lib/sections/product-card-style";import{answersForKind as ie}from"../../lib/content/field-usage.js";import{useCurrency as at}from"../CurrencyContext.js";import ct from"../NoCurrencyNote.js";import{usePreviewDevice as pt}from"efficient-easel/screen/components/PreviewDeviceContext";import{renderGold as dt,renderHeadline as mt}from"efficient-web-builder/render/components/goldPhrases";import{useUnifiedProductCatalog as ht}from"../useProductCatalog.js";import{scrollBehavior as ut}from"efficient-web-builder/render/components/useReducedMotion";import{normalizePlpColumns as ft,PLP_GRID_GAP_VAR as gt,plpGridVars as yt}from"../../lib/wheels/plp-grid.js";import{plpCardImageSizes as xt}from"../../lib/sections/card-image-sizes.js";import{CARD_ROWS_GRID_CLASS as St,cardRowsGridStyle as wt}from"../WheelCardFrame.js";import{applyPlpFilters as bt,asPlpSortKey as Ct,buildPlpFacets as Nt,buildPlpTypeOptions as vt,buildTyreSizeBoxes as Pt,EMPTY_PLP_FILTERS as le,hasActivePlpFilters as kt,paginatePlp as _t,pickTyreSize as Tt,plpTyreSizeBoxesShown as At,plpInStockCount as zt,plpOpeningSort as Ft,plpPriceBounds as It,plpShownKinds as Ot,plpSortKeysFor as Bt,PLP_SORT_LABELS as Lt}from"../../lib/wheels/plp-filters.js";import{itemKind as z,itemSlug as L,itemTyreSizes as Vt,plpBrandVaries as Rt,plpProcessVaries as Et,plpItemsOfKinds as Dt,plpKindNoun as V,resolvePlpKinds as Kt}from"../../lib/catalog/plp-item.js";import{plpGateWords as jt,plpVehicleCopy as Gt}from"../../lib/catalog/plp-vehicle-copy.js";import{oemBadgeSize as Mt,oemTyreSizes as $t}from"../../lib/tyres/tyre-vehicle-fitment.js";import Wt from"../TyreSummaryCard.js";import{wheelsFittingVehicle as Ht}from"../../lib/wheels/plp-fitment-match.js";import Ut from"./PlpActiveChips.js";import{DEFAULT_COVER_INDEX as Xt}from"../../lib/wheels/cover-rendering.js";import Yt from"./PlpCard.js";import qt from"./PlpPagination.js";import Jt from"./PlpSidebar.js";import Qt from"./PlpVehicleBar.js";import Zt from"./PlpVehicleGate.js";import{useVehicleCatalog as eo}from"./useVehicleCatalog.js";import{useVehicleFit as to}from"../fitment/useVehicleFit.js";import{usePlpFiltersInUrl as oo}from"./usePlpFiltersInUrl.js";import{say as R}from"efficient-web-builder/format/lib/editor-words";const Ko={heading:"Let's find wheels that fit your car.",intro:"Tell us what you drive and we'll show you every set that bolts straight on — bolt pattern, offset and hub bore checked for you."};function ro({level:C,className:N,children:v}){return r(C===2?"h2":"h1",{className:N,children:v})}const no=[];function so({heading:C="",intro:N="",askForCar:v=!0,gateHeading:E="",gateIntro:ae="",perPage:D=24,columns:ce,defaultSort:pe="recommended",hiddenFacets:de=[],fieldUsage:g=no,showPrice:K=!0,showInStock:me=!0,kinds:he,products:ue,wheels:fe,requestQuery:ge,editing:m=!1,coverIndex:ye=Xt,cardImage:xe,spinOnHover:Se=!1,imageBackground:we,showBadge:be=!0,showCardSizes:Ce,showCardBuy:Ne,showCardPage:ve,showCardPrice:Pe,showCardFinishes:ke,outline:_e=lt,indexBadge:j=it,titleLevel:Te}){const{currency:a}=at(),Ae=rt(we,ot),h=Kt(he),G=pt(),M=ft(ce),ze=yt(M,m?G:null),Fe=xt(M,m?G:null),$=`plp-${Ze().replace(/:/g,"")}`,F=st($,j),Ie=ht(),W=ue??fe??Ie??[],H=l(()=>Dt(W,h),[W,h.join(",")]),o=to({editing:m,enabled:v,autoApply:!0}),[Oe,I]=tt(!1),Be=Ft(pe,h),y=o.applied?.vehicle??null,[t,w]=oo({editing:m,openingSort:Be,appliedVehicle:y,vehicleRestored:o.restored,requestQuery:ge}),p=Ot(h,t.kind),i=d(e=>w(e),[w]),U=d((e,u)=>{const c=t[e],qe=c.map(String).includes(u)?c.filter(Je=>String(Je)!==u):[...c,e==="diameters"?Number(u):u];i({...t,[e]:qe,page:1})},[t,i]),X=d(e=>i({...t,priceMax:e,page:1}),[t,i]),Y=d(e=>i({...t,inStockOnly:e,page:1}),[t,i]),q=d(e=>i({...le,kind:e,inStockOnly:t.inStockOnly,priceMax:t.priceMax,sort:t.sort}),[t.inStockOnly,t.priceMax,t.sort,i]),Le=d(e=>i({...t,sort:e,page:1}),[t,i]),Ve=d(e=>{i({...t,page:e}),typeof window<"u"&&window.scrollTo({top:0,behavior:ut()})},[t,i]),J=d(()=>i({...le,sort:t.sort}),[t.sort,i]),{clear:k}=o,Q=d(()=>{k(),I(!0),w(e=>({...e,page:1}))},[k]),Re=d(()=>{k(),I(!1),w(e=>({...e,page:1}))},[k]),_=y?[y.make,y.model,y.year,y.modification].join("|"):"",T=et(null);Qe(()=>{if(o.restored){if(T.current===null){T.current=_;return}T.current!==_&&(T.current=_,w(e=>e.page===1?e:{...e,page:1}))}},[o.restored,_,w]);const A=eo({catalog:H,shownKinds:h,vehicle:y,editing:m}),n=l(()=>{if(!o.fit)return A;const e=A.filter(c=>z(c)==="alloy-wheel"),u=new Set(Ht(e,o.fit).map(c=>c.slug));return A.filter(c=>z(c)!=="alloy-wheel"||u.has(L(c)))},[A,o.fit]),b=de.join(","),Ee=l(()=>{const e=new Set(b?b.split(","):[]);return Nt(n,t,a,p,g).filter(u=>!e.has(u.key))},[n,t,a,b,p.join(","),g]),x=l(()=>bt(n,t,a),[n,t,a]),Z=p.length>1,De=l(()=>ie(g,"alloy-wheel"),[g]),Ke=l(()=>ie(g,"tyre"),[g]),ee=l(()=>Rt(x),[x]),je=l(()=>Et(x),[x]),Ge=l(()=>K?It(n,a):null,[n,a,K]),Me=l(()=>zt(n,t,a),[n,t,a]),$e=l(()=>vt(n,h,t,a),[n,h.join(","),t,a]),We=d((e,u)=>{const c=Tt(n.flatMap(Vt),t.tyreSizes[0]??"",e,u);i({...t,tyreSizes:c?[c]:[],page:1})},[n,t,i]),He=l(()=>{const e=new Set(b?b.split(","):[]);return!At(n,p)||e.has("tyreSizes")?null:Pt(n,t,a)},[n,t,a,b,p.join(","),g]),f=l(()=>_t(x,t.page,D),[x,t.page,D]),S=V(p),O=Gt(p),te=jt(E,ae,p,h),oe=p.length===1&&p[0]==="tyre",re=o.applied?.stock??null,P=l(()=>$t(re),[re]),Ue=l(()=>n.filter(e=>p.includes(z(e))).length,[n,p.join(",")]),ne=H.length===0,Xe=!ne&&n.length===0,Ye=v&&!m&&!o.applied&&!Oe;return h.length===0?null:s("section",{style:nt(xe),children:[v&&r(Qt,{cascade:o.cascade,appliedName:o.appliedName,fit:o.fit,fitSummary:oe&&P.length>0?`Takes ${P.join(" · ")}`:null,resolving:o.resolving,unresolved:oe?!!o.applied&&!o.resolving&&P.length===0:o.unresolved,matchCount:Ue,copy:O,onAmend:Re,onClear:Q}),Ye&&r(Zt,{cascade:o.cascade,heading:te.heading,intro:te.intro,ready:o.restored,copy:O,onSkip:()=>I(!0)}),s("div",{className:"px-5 py-10 md:px-[max(2.5rem,calc((100%_-_var(--sf-content-cap,100%))/2_+_2.5rem))]",children:[(C||N)&&s("header",{className:"mb-6",children:[C&&r(ro,{level:Te,className:"font-display text-[clamp(28px,4vw,40px)] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] leading-[1.05] tracking-[-0.02em]",children:mt(C,!1)}),N&&r("p",{className:"mt-2 max-w-[60ch] text-[15px] text-fg-dim",children:dt(N)})]}),s("div",{className:"flex flex-col gap-8 lg:flex-row lg:items-start",children:[r(Jt,{facets:Ee,filters:t,typeOptions:$e,sizeBoxes:He,sizeMatches:t.tyreSizes.length>0?x.length:null,noun:S,priceBounds:Ge,inStockCount:me?Me:null,onToggle:U,onPickType:q,onPickSize:We,onPriceMax:X,onInStockOnly:Y,onClearAll:J}),s("div",{className:"min-w-0 flex-1",children:[s("div",{className:"mb-4 flex min-h-[34px] flex-wrap items-center justify-between gap-x-4 gap-y-2 border-b border-line pb-3",children:[s("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-4 gap-y-2",children:[r("p",{className:"font-mono text-[12px] tabular-nums tracking-[0.08em]",children:f.total===0?s("span",{className:"text-fg-dim",children:["No ",S.many]}):s(se,{children:[s("span",{children:[f.from,"–",f.to]}),s("span",{className:"text-fg-dim",children:[" of ",f.total," ",S.many]})]})}),r(Ut,{filters:t,onToggle:U,onPriceMax:X,onInStockOnly:Y,onPickType:q})]}),s("label",{className:"flex items-center gap-2 font-mono text-[11px] uppercase tracking-[0.16em] text-fg-dim",children:["Sort by",r("select",{value:t.sort,onChange:e=>Le(Ct(e.target.value)),className:"cursor-pointer border border-line bg-transparent px-2 py-2 font-mono text-[12px] normal-case tracking-normal text-fg",children:Bt(h).map(e=>r("option",{value:e,children:Lt[e]},e))})]})]}),ne?r("div",{className:"border border-dashed border-line p-10",children:r("p",{className:"font-mono text-[12px] uppercase tracking-[0.16em] text-fg-dim",children:m?S.many==="wheels"?R("No wheels in this website's catalog yet — curate products to see them here."):S.many==="tyres"?R("No tyres in this website's catalog yet — curate products to see them here."):R("No products in this website's catalog yet — curate products to see them here."):"Our catalog is being updated. Please check back shortly."})}):Xe?s("div",{className:"border border-line p-10",children:[s("h3",{className:"font-display text-[22px] font-medium uppercase tracking-[-0.01em]",children:["No confirmed fit for your ",o.appliedName]}),r("p",{className:"mt-2 max-w-[52ch] text-[14px] text-fg-dim",children:O.nothingFits}),s("button",{type:"button",onClick:Q,className:"mt-4 cursor-pointer bg-btn px-4 py-3 font-mono text-[11px] font-bold uppercase tracking-[0.24em] text-btn-ink hover:bg-fg",children:["Show all ",S.many]})]}):f.total===0?s("div",{className:"border border-line p-10",children:[s("h3",{className:"font-display text-[22px] font-medium uppercase tracking-[-0.01em]",children:["No ",S.many," match those filters"]}),r("p",{className:"mt-2 max-w-[46ch] text-[14px] text-fg-dim",children:"Try widening the price range or clearing a filter."}),kt(t)&&r("button",{type:"button",onClick:J,className:"mt-4 cursor-pointer bg-btn px-4 py-3 font-mono text-[11px] font-bold uppercase tracking-[0.24em] text-btn-ink hover:bg-fg",children:"Clear all filters"})]}):s(se,{children:[F&&r("style",{children:F}),r("div",{className:`${F?`${$} plp-card-grid`:"plp-card-grid"} ${St}`,style:{...ze,...wt(`var(${gt})`)},children:f.items.map(e=>z(e)==="tyre"?r(Wt,{item:e,currency:a,fitSize:P.length>0?Mt(e.sizes,P):null,kindLabel:Z?V(["tyre"]).one:null,showBrand:ee,editing:m,fieldUsage:Ke},`tyre:${L(e)}`):r(Yt,{wheel:e,colours:t.finishes,fit:o.fit,editing:m,kindLabel:Z?V(["alloy-wheel"]).one:null,showBrand:ee,coverIndex:ye,fieldUsage:De,showProcess:je,spinOnHover:Se,imageBackgroundFill:Ae,showBadge:be,outline:_e,indexBadge:j,showCardSizes:Ce??B.showCardSizes,showCardBuy:Ne??B.showCardBuy,showCardPage:ve??B.showCardPage,showCardPrice:Pe??!0,showCardFinishes:ke??!0,imageSizes:Fe},`wheel:${L(e)}`))})]}),r(qt,{page:f.page,pageCount:f.pageCount,onPage:Ve}),r(ct,{editing:m})]})]})]})]})}export{Ko as PLP_GATE_DEFAULTS,so as default};
|
|
1
|
+
"use client";import{jsx as r,jsxs as s,Fragment as se}from"react/jsx-runtime";import{LISTING_CARD_SHOW as I}from"../../lib/sections/card-show-defaults.js";import{useScopeClass as Qe}from"../../lib/use-scope-class.js";import{useCallback as m,useEffect as Ze,useMemo as l,useRef as et,useState as tt}from"react";import{CARD_IMAGE_BG_OFF as ot,resolveCardImageBackground as rt}from"efficient-web-builder/format/lib/content/card-image-background";import{cardImageShapeTokens as nt}from"efficient-web-builder/format/lib/content/card-image-shape";import{cardIndexCss as st,DEFAULT_CARD_INDEX_FORMAT as it,DEFAULT_CARD_OUTLINE as lt}from"efficient-web-builder/format/lib/sections/product-card-style";import{answersForKind as ie}from"../../lib/content/field-usage.js";import{useCurrency as at}from"../CurrencyContext.js";import ct from"../NoCurrencyNote.js";import{usePreviewDevice as pt}from"efficient-easel/screen/components/PreviewDeviceContext";import{renderGold as mt,renderHeadline as dt}from"efficient-web-builder/render/components/goldPhrases";import{useUnifiedProductCatalog as ht}from"../useProductCatalog.js";import{scrollBehavior as ut}from"efficient-web-builder/render/components/useReducedMotion";import{normalizePlpColumns as ft,PLP_GRID_GAP_VAR as gt,plpGridVars as yt}from"../../lib/wheels/plp-grid.js";import{plpCardImageSizes as xt}from"../../lib/sections/card-image-sizes.js";import{CARD_ROWS_GRID_CLASS as St,cardRowsGridStyle as wt}from"../WheelCardFrame.js";import{applyPlpFilters as bt,asPlpSortKey as Ct,buildPlpFacets as Nt,buildPlpTypeOptions as vt,buildTyreSizeBoxes as Pt,EMPTY_PLP_FILTERS as le,hasActivePlpFilters as kt,paginatePlp as _t,pickTyreSize as Tt,plpTyreSizeBoxesShown as At,plpInStockCount as zt,plpOpeningSort as Ft,plpPriceBounds as Ot,plpShownKinds as Bt,plpSortKeysFor as It,PLP_SORT_LABELS as Lt}from"../../lib/wheels/plp-filters.js";import{itemKind as z,itemSlug as L,itemTyreSizes as Vt,plpBrandVaries as Rt,plpProcessVaries as Et,plpItemsOfKinds as Dt,plpKindNoun as V,resolvePlpKinds as Kt}from"../../lib/catalog/plp-item.js";import{plpGateWords as jt,plpVehicleCopy as Gt}from"../../lib/catalog/plp-vehicle-copy.js";import{oemBadgeSize as Mt,oemTyreSizes as $t}from"../../lib/tyres/tyre-vehicle-fitment.js";import Wt from"../TyreSummaryCard.js";import{wheelsFittingVehicle as Ht}from"../../lib/wheels/plp-fitment-match.js";import Ut from"./PlpActiveChips.js";import{DEFAULT_COVER_INDEX as Xt}from"../../lib/wheels/cover-rendering.js";import Yt from"./PlpCard.js";import qt from"./PlpPagination.js";import Jt from"./PlpSidebar.js";import Qt from"./PlpVehicleBar.js";import Zt from"./PlpVehicleGate.js";import{useVehicleCatalog as eo}from"./useVehicleCatalog.js";import{useVehicleFit as to}from"../fitment/useVehicleFit.js";import{usePlpFiltersInUrl as oo}from"./usePlpFiltersInUrl.js";import{say as R}from"efficient-web-builder/format/lib/editor-words";const jo={heading:"Let's find wheels that fit your car.",intro:"Tell us what you drive and we'll show you every set that bolts straight on — bolt pattern, offset and hub bore checked for you."};function ro({level:C,className:N,children:v}){return r(C===2?"h2":"h1",{className:N,children:v})}const no=[];function so({heading:C="",intro:N="",askForCar:v=!0,gateHeading:E="",gateIntro:ae="",perPage:D=24,columns:ce,defaultSort:pe="recommended",hiddenFacets:me=[],fieldUsage:g=no,showPrice:K=!0,showInStock:de=!0,kinds:he,products:ue,wheels:fe,requestQuery:ge,editing:d=!1,coverIndex:ye=Xt,cardImage:xe,spinOnHover:Se=!1,imageBackground:we,showBadge:be=!0,showCardSizes:Ce,showCardBuy:Ne,showCardPage:ve,showCardPrice:Pe,showCardFinishes:ke,outline:_e=lt,indexBadge:j=it,titleLevel:Te}){const{currency:a}=at(),Ae=rt(we,ot),h=Kt(he),G=pt(),M=ft(ce),ze=yt(M,d?G:null),Fe=xt(M,d?G:null),$=Qe("plp"),F=st($,j),Oe=ht(),W=ue??fe??Oe??[],H=l(()=>Dt(W,h),[W,h.join(",")]),o=to({editing:d,enabled:v,autoApply:!0}),[Be,O]=tt(!1),Ie=Ft(pe,h),y=o.applied?.vehicle??null,[t,w]=oo({editing:d,openingSort:Ie,appliedVehicle:y,vehicleRestored:o.restored,requestQuery:ge}),p=Bt(h,t.kind),i=m(e=>w(e),[w]),U=m((e,u)=>{const c=t[e],qe=c.map(String).includes(u)?c.filter(Je=>String(Je)!==u):[...c,e==="diameters"?Number(u):u];i({...t,[e]:qe,page:1})},[t,i]),X=m(e=>i({...t,priceMax:e,page:1}),[t,i]),Y=m(e=>i({...t,inStockOnly:e,page:1}),[t,i]),q=m(e=>i({...le,kind:e,inStockOnly:t.inStockOnly,priceMax:t.priceMax,sort:t.sort}),[t.inStockOnly,t.priceMax,t.sort,i]),Le=m(e=>i({...t,sort:e,page:1}),[t,i]),Ve=m(e=>{i({...t,page:e}),typeof window<"u"&&window.scrollTo({top:0,behavior:ut()})},[t,i]),J=m(()=>i({...le,sort:t.sort}),[t.sort,i]),{clear:k}=o,Q=m(()=>{k(),O(!0),w(e=>({...e,page:1}))},[k]),Re=m(()=>{k(),O(!1),w(e=>({...e,page:1}))},[k]),_=y?[y.make,y.model,y.year,y.modification].join("|"):"",T=et(null);Ze(()=>{if(o.restored){if(T.current===null){T.current=_;return}T.current!==_&&(T.current=_,w(e=>e.page===1?e:{...e,page:1}))}},[o.restored,_,w]);const A=eo({catalog:H,shownKinds:h,vehicle:y,editing:d}),n=l(()=>{if(!o.fit)return A;const e=A.filter(c=>z(c)==="alloy-wheel"),u=new Set(Ht(e,o.fit).map(c=>c.slug));return A.filter(c=>z(c)!=="alloy-wheel"||u.has(L(c)))},[A,o.fit]),b=me.join(","),Ee=l(()=>{const e=new Set(b?b.split(","):[]);return Nt(n,t,a,p,g).filter(u=>!e.has(u.key))},[n,t,a,b,p.join(","),g]),x=l(()=>bt(n,t,a),[n,t,a]),Z=p.length>1,De=l(()=>ie(g,"alloy-wheel"),[g]),Ke=l(()=>ie(g,"tyre"),[g]),ee=l(()=>Rt(x),[x]),je=l(()=>Et(x),[x]),Ge=l(()=>K?Ot(n,a):null,[n,a,K]),Me=l(()=>zt(n,t,a),[n,t,a]),$e=l(()=>vt(n,h,t,a),[n,h.join(","),t,a]),We=m((e,u)=>{const c=Tt(n.flatMap(Vt),t.tyreSizes[0]??"",e,u);i({...t,tyreSizes:c?[c]:[],page:1})},[n,t,i]),He=l(()=>{const e=new Set(b?b.split(","):[]);return!At(n,p)||e.has("tyreSizes")?null:Pt(n,t,a)},[n,t,a,b,p.join(","),g]),f=l(()=>_t(x,t.page,D),[x,t.page,D]),S=V(p),B=Gt(p),te=jt(E,ae,p,h),oe=p.length===1&&p[0]==="tyre",re=o.applied?.stock??null,P=l(()=>$t(re),[re]),Ue=l(()=>n.filter(e=>p.includes(z(e))).length,[n,p.join(",")]),ne=H.length===0,Xe=!ne&&n.length===0,Ye=v&&!d&&!o.applied&&!Be;return h.length===0?null:s("section",{style:nt(xe),children:[v&&r(Qt,{cascade:o.cascade,appliedName:o.appliedName,fit:o.fit,fitSummary:oe&&P.length>0?`Takes ${P.join(" · ")}`:null,resolving:o.resolving,unresolved:oe?!!o.applied&&!o.resolving&&P.length===0:o.unresolved,matchCount:Ue,copy:B,onAmend:Re,onClear:Q}),Ye&&r(Zt,{cascade:o.cascade,heading:te.heading,intro:te.intro,ready:o.restored,copy:B,onSkip:()=>O(!0)}),s("div",{className:"px-5 py-10 md:px-[max(2.5rem,calc((100%_-_var(--sf-content-cap,100%))/2_+_2.5rem))]",children:[(C||N)&&s("header",{className:"mb-6",children:[C&&r(ro,{level:Te,className:"font-display text-[clamp(28px,4vw,40px)] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] leading-[1.05] tracking-[-0.02em]",children:dt(C,!1)}),N&&r("p",{className:"mt-2 max-w-[60ch] text-[15px] text-fg-dim",children:mt(N)})]}),s("div",{className:"flex flex-col gap-8 lg:flex-row lg:items-start",children:[r(Jt,{facets:Ee,filters:t,typeOptions:$e,sizeBoxes:He,sizeMatches:t.tyreSizes.length>0?x.length:null,noun:S,priceBounds:Ge,inStockCount:de?Me:null,onToggle:U,onPickType:q,onPickSize:We,onPriceMax:X,onInStockOnly:Y,onClearAll:J}),s("div",{className:"min-w-0 flex-1",children:[s("div",{className:"mb-4 flex min-h-[34px] flex-wrap items-center justify-between gap-x-4 gap-y-2 border-b border-line pb-3",children:[s("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-4 gap-y-2",children:[r("p",{className:"font-mono text-[12px] tabular-nums tracking-[0.08em]",children:f.total===0?s("span",{className:"text-fg-dim",children:["No ",S.many]}):s(se,{children:[s("span",{children:[f.from,"–",f.to]}),s("span",{className:"text-fg-dim",children:[" of ",f.total," ",S.many]})]})}),r(Ut,{filters:t,onToggle:U,onPriceMax:X,onInStockOnly:Y,onPickType:q})]}),s("label",{className:"flex items-center gap-2 font-mono text-[11px] uppercase tracking-[0.16em] text-fg-dim",children:["Sort by",r("select",{value:t.sort,onChange:e=>Le(Ct(e.target.value)),className:"cursor-pointer border border-line bg-transparent px-2 py-2 font-mono text-[12px] normal-case tracking-normal text-fg",children:It(h).map(e=>r("option",{value:e,children:Lt[e]},e))})]})]}),ne?r("div",{className:"border border-dashed border-line p-10",children:r("p",{className:"font-mono text-[12px] uppercase tracking-[0.16em] text-fg-dim",children:d?S.many==="wheels"?R("No wheels in this website's catalog yet — curate products to see them here."):S.many==="tyres"?R("No tyres in this website's catalog yet — curate products to see them here."):R("No products in this website's catalog yet — curate products to see them here."):"Our catalog is being updated. Please check back shortly."})}):Xe?s("div",{className:"border border-line p-10",children:[s("h3",{className:"font-display text-[22px] font-medium uppercase tracking-[-0.01em]",children:["No confirmed fit for your ",o.appliedName]}),r("p",{className:"mt-2 max-w-[52ch] text-[14px] text-fg-dim",children:B.nothingFits}),s("button",{type:"button",onClick:Q,className:"mt-4 cursor-pointer bg-btn px-4 py-3 font-mono text-[11px] font-bold uppercase tracking-[0.24em] text-btn-ink hover:bg-fg",children:["Show all ",S.many]})]}):f.total===0?s("div",{className:"border border-line p-10",children:[s("h3",{className:"font-display text-[22px] font-medium uppercase tracking-[-0.01em]",children:["No ",S.many," match those filters"]}),r("p",{className:"mt-2 max-w-[46ch] text-[14px] text-fg-dim",children:"Try widening the price range or clearing a filter."}),kt(t)&&r("button",{type:"button",onClick:J,className:"mt-4 cursor-pointer bg-btn px-4 py-3 font-mono text-[11px] font-bold uppercase tracking-[0.24em] text-btn-ink hover:bg-fg",children:"Clear all filters"})]}):s(se,{children:[F&&r("style",{children:F}),r("div",{className:`${F?`${$} plp-card-grid`:"plp-card-grid"} ${St}`,style:{...ze,...wt(`var(${gt})`)},children:f.items.map(e=>z(e)==="tyre"?r(Wt,{item:e,currency:a,fitSize:P.length>0?Mt(e.sizes,P):null,kindLabel:Z?V(["tyre"]).one:null,showBrand:ee,editing:d,fieldUsage:Ke},`tyre:${L(e)}`):r(Yt,{wheel:e,colours:t.finishes,fit:o.fit,editing:d,kindLabel:Z?V(["alloy-wheel"]).one:null,showBrand:ee,coverIndex:ye,fieldUsage:De,showProcess:je,spinOnHover:Se,imageBackgroundFill:Ae,showBadge:be,outline:_e,indexBadge:j,showCardSizes:Ce??I.showCardSizes,showCardBuy:Ne??I.showCardBuy,showCardPage:ve??I.showCardPage,showCardPrice:Pe??!0,showCardFinishes:ke??!0,imageSizes:Fe},`wheel:${L(e)}`))})]}),r(qt,{page:f.page,pageCount:f.pageCount,onPage:Ve}),r(ct,{editing:d})]})]})]})]})}export{jo as PLP_GATE_DEFAULTS,so as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as
|
|
1
|
+
"use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useId as y,useRef as S,useState as m}from"react";import{useCurrency as P}from"../CurrencyContext.js";import{formatPrice as _}from"../../lib/commerce.js";import{withRMark as k}from"efficient-web-builder/render/components/RMark";import I from"../PopupFrame.js";import{useStockAlertSignup as E}from"../useStockAlertSignup.js";import{UNPRICED_LABEL as A,resolveSetPrice as D}from"../../lib/wheels/price-display.js";function K({wheelName:p,productSlug:N,finishName:h,variants:i,initialSize:w,onClose:o,editing:C=!1}){const s=y(),f=y(),l=S(null),{currency:u}=P(),n=E(),[z,M]=m(()=>w??i[0]?.size??""),[c,W]=m(""),[x,j]=m(!1),a=i.find(r=>r.size===z)??i[0];if(!a)return null;const B=n.status==="sent",d=n.status==="sending",g=n.status==="invalid"?"Please enter a valid email address.":n.status==="error"?"Couldn't save that — please try again.":null;function R(){a&&n.submit({partNumbers:a.components.map(r=>r.partNumber),email:c,productSlug:N,subscribeToOffers:x,dryRun:C})}return e(I,{site:{blur:6,scroll:!0,focusRef:l,trapRef:l},labelledBy:s,onClose:o,children:t("div",{ref:l,tabIndex:-1,className:"relative w-[420px] max-w-full border-2 border-accent bg-surface text-left shadow-[0_24px_60px_rgba(0,0,0,0.55)] outline-none",children:[e("button",{type:"button",onClick:o,"aria-label":"Close",className:"absolute right-[10px] top-[10px] z-[2] flex h-9 w-9 cursor-pointer items-center justify-center text-fg-dim transition-colors hover:text-accent",children:e("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":!0,children:e("path",{d:"M6 6l12 12M18 6 6 18"})})}),B?t("div",{className:"px-6 py-8 text-center",children:[e("span",{className:"mx-auto mb-4 grid h-16 w-16 place-items-center rounded-full border-[1.5px] border-accent bg-accent/15",children:e("svg",{width:"30",height:"30",viewBox:"0 0 24 24",fill:"none",stroke:"var(--accent)",strokeWidth:"2.5","aria-hidden":!0,children:e("path",{d:"M20 6 9 17l-5-5"})})}),e("h3",{id:s,className:"font-display text-[22px] font-medium uppercase leading-tight tracking-[-0.02em]",children:"You're on the list"}),t("p",{className:"mx-auto mt-2 max-w-[34ch] text-[13px] leading-[1.6] text-fg-dim",children:["We'll alert ",e("strong",{className:"font-normal text-fg",children:c.trim()})," as soon as the ",k(p)," in ",a.size," is back. Keep an eye on your inbox."]}),e("button",{type:"button",onClick:o,className:"mt-6 w-full cursor-pointer border border-line px-4 py-3 font-mono text-[11px] font-bold uppercase tracking-[0.24em] text-fg transition-colors hover:border-accent hover:text-accent",children:"Continue browsing"})]}):t("form",{className:"p-6",noValidate:!0,onSubmit:r=>{r.preventDefault(),R()},children:[t("div",{className:"mb-2 flex items-center gap-3",children:[e("span",{className:"grid h-11 w-11 flex-none place-items-center border-[1.5px] border-accent bg-accent/15",children:t("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"var(--accent)",strokeWidth:"2","aria-hidden":!0,children:[e("path",{d:"M18 8a6 6 0 1 0-12 0c0 7-3 9-3 9h18s-3-2-3-9"}),e("path",{d:"M13.7 21a2 2 0 0 1-3.4 0"})]})}),t("div",{children:[e("div",{className:"font-mono text-[10px] uppercase tracking-[0.3em] text-accent",children:"Back-in-stock alert"}),e("h3",{id:s,className:"mt-0.5 font-display text-[22px] font-medium uppercase leading-tight tracking-[-0.02em]",children:"Notify me"})]})]}),t("p",{className:"mb-5 text-[13px] leading-[1.6] text-fg-dim",children:["We'll email you the moment the"," ",e("strong",{className:"font-normal text-fg",children:k(p)}),h?` in ${h}`:""," ","is back in stock. No spam — one alert, then we're done."]}),t("fieldset",{className:"mb-4 border-0 p-0",children:[e("legend",{className:"mb-2 font-mono text-[10px] uppercase tracking-[0.16em] text-fg-dim",children:"Which fitment?"}),e("div",{className:"flex flex-wrap gap-2",children:i.map(r=>{const b=r.size===a.size;return t("button",{type:"button","aria-pressed":b,onClick:()=>M(r.size),className:["flex min-w-[calc(50%-4px)] flex-1 cursor-pointer flex-col items-start gap-0.5 border-[1.5px] px-3 py-3 text-left transition-colors",b?"border-accent bg-accent/15":"border-line hover:border-accent/60"].join(" "),children:[e("span",{className:"font-mono text-[12px] font-bold tracking-[0.08em] text-fg",children:r.size}),e("span",{className:"font-mono text-[10px] tracking-[0.08em] text-fg-dim",children:(()=>{const v=D(r.components,u);return v.setTotal!=null?_(v.setTotal,u):A})()})]},r.size)})})]}),t("div",{className:"mb-4",children:[e("label",{htmlFor:f,className:"mb-2 block font-mono text-[10px] uppercase tracking-[0.16em] text-fg-dim",children:"Email address"}),e("input",{id:f,type:"email",value:c,onChange:r=>{W(r.target.value),(n.status==="invalid"||n.status==="error")&&n.reset()},placeholder:"you@example.com",disabled:d,className:"w-full border-2 border-line bg-bg px-4 py-3 font-display text-[15px] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent disabled:opacity-60"})]}),t("label",{className:"mb-5 flex cursor-pointer items-start gap-3 text-[12px] leading-[1.5] text-fg-dim",children:[e("input",{type:"checkbox",checked:x,onChange:r=>j(r.target.checked),className:"mt-0.5 h-[18px] w-[18px] flex-none cursor-pointer accent-[var(--accent)]"}),e("span",{children:"Also send me fitment tips and occasional offers for my vehicle."})]}),t("button",{type:"submit",disabled:d,className:"flex h-[50px] w-full cursor-pointer items-center justify-center gap-2 bg-btn px-4 font-mono text-[12px] font-bold uppercase tracking-[0.24em] text-btn-ink transition-colors hover:bg-fg disabled:cursor-not-allowed disabled:opacity-60 disabled:hover:bg-btn",children:[t("svg",{width:"17",height:"17",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":!0,children:[e("path",{d:"m22 2-7 20-4-9-9-4Z"}),e("path",{d:"M22 2 11 13"})]}),d?"Sending…":"Notify me when available"]}),g&&e("p",{role:"alert",className:"mt-3 text-[12px] leading-[1.5]",style:{color:"var(--alert)"},children:g}),t("div",{className:"mt-3 flex items-center justify-center gap-2 text-[11px] text-fg-dim",children:[t("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":!0,children:[e("rect",{x:"3",y:"11",width:"18",height:"11",rx:"1"}),e("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),"We never share your details."]})]})]})})}export{K as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const r=void 0,n={hour:"numeric",minute:"2-digit"},o={weekday:"long",day:"numeric",month:"long",year:"numeric",hour:"numeric",minute:"2-digit",timeZoneName:"short"};function i(t,e){try{return new Intl.DateTimeFormat(void 0,{...n,timeZone:e}).format(new Date(t))}catch{return new Date(t).toLocaleTimeString([],n)}}function m(t,e){try{return new Intl.DateTimeFormat(void 0,{...o,timeZone:e}).format(new Date(t))}catch{return new Date(t).toLocaleString()}}export{m as formatAppointment,i as formatAppointmentTime};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{variantsFittingVehicle as
|
|
1
|
+
import{variantsFittingVehicle as P}from"../wheels/plp-fitment-match.js";import{FALLBACK_FINISH as B}from"../wheels/finish-defaults.js";import{variantEtKey as y,variantSizeGroupKey as V,variantSizeGroupLabel as F,variantSizeGroupNote as N}from"../wheels/variant-spec.js";import{trimDecimal as S}from"../wheels/spec-format.js";import{findVariant as D,isVariantOutOfStock as O}from"../wheels/variants.js";import{HAND_WORDS as x,NOT_HANDED_WORDS as A,variantIsHanded as b}from"../wheels/set-mode.js";const g="handed",k="plain";function T(t){const l=t.variants??[],i=t.finishes.map(e=>({value:e.name,label:e.name,swatch:e.color}));function s(e){const a=[];for(const v of l){const h=e(v);!h||a.some(z=>z.value===h.value)||a.push(h)}return a}const f=s(e=>({value:V(e),label:F(e),note:N(e)})),p=s(e=>e.boltPattern?{value:e.boltPattern,label:e.boltPattern}:null),m=s(e=>{const a=y(e);return a===null?null:{value:a,label:`ET ${a}`}}),n=s(e=>e.centreBore==null?null:{value:S(e.centreBore),label:`${S(e.centreBore)} mm`}),o=l.some(b),r=o?s(e=>({value:b(e)?g:k,label:b(e)?x:A})):[],c=l.map(e=>({id:`${e.finishName}|${e.size}`,options:{finish:e.finishName,size:V(e),variantSize:e.size,...e.boltPattern?{boltPattern:e.boltPattern}:{},...y(e)!==null?{et:y(e)}:{},...e.centreBore==null?{}:{centreBore:S(e.centreBore)},...o?{pairing:b(e)?g:k}:{}},inStock:!O(e),image:null,components:e.components})),u=((t.defaultFinish?i.find(e=>e.value===t.defaultFinish):void 0)??i[0])?.value;return{kind:"alloy-wheel",source:t,slug:t.slug,name:t.name,eyebrow:t.process,badge:t.badge==="new"?"New 2026":t.badge?"Bestseller":"",href:`/wheels/${t.slug}`,crumbs:[{label:"Home",href:"/"},{label:"Wheels",href:"/wheels"},{label:t.process,href:"/wheels"},{label:t.name}],cover:t.coverImage??null,inStock:t.inStock===!0,mediaGroups:t.mediaGroups,optionFields:[{key:"finish",label:"Finish",prompt:"Select a finish",role:"resolves",display:"swatch",defaultValue:u},{key:"size",label:"Size",prompt:"Select a size",role:"resolves",display:"pill",empty:{text:"This wheel isn't available to order online in this finish.",linkText:"Contact us about it →",href:"/contact"}},{key:"boltPattern",label:"Bolt pattern",prompt:"Select a bolt pattern",role:"describes",display:"pill"},{key:"et",label:"Offset",prompt:"Select an offset",role:"describes",display:"pill"},{key:"centreBore",label:"Centre bore",prompt:"Select a centre bore",role:"describes",display:"pill"},{key:"pairing",label:"Wheels",prompt:"Select a pairing",role:"describes",display:"pill"}],optionValues:{finish:i,size:f,boltPattern:p,et:m,centreBore:n,pairing:r},parts:c,anchorPrices:t.prices,anchorMsrpPrices:t.msrpPrices??{}}}function _(t,l){if(t.kind!=="alloy-wheel"||l===null)return t;const i=new Set(P(t.source.variants??[],l));if(i.size===0)return t;const s=t.parts.filter(n=>{const o=H(t.source,n);return o!==null&&i.has(o)});if(s.length===0||s.length===t.parts.length)return t;const f=(n,o)=>new Set(n.map(r=>r.options[o]).filter(r=>r!==void 0)),p={},m=[];for(const n of t.optionFields){const o=f(t.parts,n.key),r=f(s,n.key),c=(t.optionValues[n.key]??[]).filter(u=>r.has(u.value)||!o.has(u.value));p[n.key]=c;const d=n.defaultValue!==void 0&&!c.some(u=>u.value===n.defaultValue)?c[0]?.value:n.defaultValue;m.push(d===n.defaultValue?n:{...n,defaultValue:d})}return{...t,optionFields:m,optionValues:p,parts:s}}function H(t,l){return l?D(t.variants??[],l.options.finish,l.options.variantSize)??null:null}function C(t,l){return t.finishes.find(i=>i.name===l)??t.finishes[0]??B}export{T as fromWheel,H as partVariant,C as wheelFinish,_ as wheelForVehicle};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{parseTyreSize as l}from"../tyres/tyre-size.js";const s=["alloy-wheel","tyre"],u=["alloy-wheel"],
|
|
1
|
+
import{parseTyreSize as l}from"../tyres/tyre-size.js";const s=["alloy-wheel","tyre"],u=["alloy-wheel"],p={"alloy-wheel":"Alloy wheels",tyre:"Tyres"},m="All products",x="All product types";function P(e){return e.length===1&&e[0]==="alloy-wheel"?{one:"wheel",many:"wheels"}:e.length===1&&e[0]==="tyre"?{one:"tyre",many:"tyres"}:{one:"product",many:"products"}}const d=s.map(e=>({value:e,label:p[e]}));function w(e){return e==null?[...u]:Array.isArray(e)?s.filter(r=>e.includes(r)):[...u]}const t=e=>e;function o(e){return t(e).kind==="tyre"?"tyre":"alloy-wheel"}function A(e,r){return e.filter(n=>r.includes(o(n)))}function L(e){return t(e).slug??""}function h(e){return t(e).name??""}function c(e){return t(e).brand??""}function S(e){const r=new Set;for(const n of e)if(r.add(c(n)),r.size>1)return!0;return!1}function f(e){return t(e).process??""}function _(e){const r=new Set;for(const n of e)if(r.add(f(n)),r.size>1)return!0;return!1}function g(e){return t(e).prices??void 0}function T(e){return t(e).inStock!==!1}function N(e){const r=t(e),n=o(e)==="tyre"?r.rimDiameters:r.sizes;return Array.isArray(n)?n.filter(i=>typeof i=="number"&&Number.isFinite(i)):[]}function D(e){return o(e)!=="tyre"&&t(e).badge==="new"}function a(e){return o(e)==="tyre"?[]:(t(e).finishes??[]).filter(r=>typeof r?.family=="string").map(r=>({family:r.family,color:r.color??null}))}function I(e){return a(e).map(r=>r.family)}function K(e){if(o(e)==="tyre")return[];const r=t(e);return Array.isArray(r.categories)?r.categories:r.process?[r.process]:[]}function z(e){return o(e)==="tyre"?[]:t(e).spec?.pcds??[]}function E(e){return o(e)!=="tyre"?[]:t(e).tyreTypes??[]}function B(e){return o(e)!=="tyre"?[]:t(e).speedRatings??[]}function F(e){if(o(e)!=="tyre")return[];const r=t(e).sizes;return Array.isArray(r)?r.map(n=>l(typeof n=="string"?n:null)).filter(n=>n!==null):[]}export{x as PLP_ALL_TYPES_LABEL,m as PLP_ANY_TYPE_LABEL,u as PLP_DEFAULT_KINDS,s as PLP_KINDS,p as PLP_KIND_LABELS,d as PRODUCT_KIND_OPTIONS,c as itemBrand,K as itemCollections,N as itemDiameters,I as itemFinishFamilies,a as itemFinishes,T as itemInStock,D as itemIsNew,o as itemKind,h as itemName,z as itemPcds,g as itemPrices,f as itemProcess,L as itemSlug,B as itemSpeedRatings,F as itemTyreSizes,E as itemTyreTypes,S as plpBrandVaries,A as plpItemsOfKinds,P as plpKindNoun,_ as plpProcessVaries,w as resolvePlpKinds};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface StripeAppearance {
|
|
2
|
+
theme: "night" | "stripe";
|
|
3
|
+
variables: {
|
|
4
|
+
colorPrimary: string;
|
|
5
|
+
colorBackground: string;
|
|
6
|
+
colorText: string;
|
|
7
|
+
borderRadius: string;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export declare function stripeAppearance(): StripeAppearance | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{rootIsDark as a}from"efficient-shell/format";function f(){if(typeof document>"u")return;const r=getComputedStyle(document.documentElement),t=(o,n)=>r.getPropertyValue(o).trim()||n,e=a({whenUnset:!0});return{theme:e?"night":"stripe",variables:{colorPrimary:t("--accent",e?"#c9a461":"#8a6a2a"),colorBackground:t("--site-surface",e?"#131313":"#ffffff"),colorText:t("--fg",e?"#f5f1e8":"#0a0a0a"),borderRadius:"0px"}}}export{f as stripeAppearance};
|
|
@@ -8,7 +8,7 @@ export interface WalletContext {
|
|
|
8
8
|
idempotencyKey: string;
|
|
9
9
|
confirmation: OrderConfirmation;
|
|
10
10
|
}
|
|
11
|
-
export type LandingOrder = Pick<OrderConfirmation, "orderNumber"
|
|
11
|
+
export type LandingOrder = Pick<OrderConfirmation, "orderNumber"> & Partial<Pick<OrderConfirmation, "currency" | "grandTotal" | "freightCharge" | "discountAmount" | "shippingMethod" | "couponCode">>;
|
|
12
12
|
export type WalletReturn<C> = {
|
|
13
13
|
action: "ignore";
|
|
14
14
|
} | {
|
|
@@ -38,5 +38,6 @@ export declare function packLabel(choice: PurchaseChoice): string;
|
|
|
38
38
|
export declare const ADD_TO_BASKET_ATTR = "data-add-to-basket";
|
|
39
39
|
export declare const MAX_QTY_PER_LINE = 9;
|
|
40
40
|
export declare const PRICE_LOCALE = "en";
|
|
41
|
+
export declare function currencyFormat(currency: string, minimumFractionDigits?: number, maximumFractionDigits?: number): Intl.NumberFormat;
|
|
41
42
|
export declare function formatPrice(amount: number, currency: string, decimalPlaces?: number): string;
|
|
42
43
|
export declare function formatMoneyInCurrency(amount: number, currency: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const E=4;function x(e,t){return e.map(r=>({partNumber:r.partNumber,quantity:r.wheels*t}))}function S(e,t){if(e.length===0)return null;let r=0;for(const s of e){const n=s.prices?.[t];if(typeof n!="number"||!Number.isFinite(n)||n<=0)return null;r+=n*s.wheels}return r}const u=4,_=1,h={unit:"set",spares:0,spareSide:"left"};function f(e){return e.unit==="single"?1:u+e.spares}function P(e,t){return[{partNumber:e.partNumber,wheels:f(t),prices:e.prices}]}function T(e,t){const r=f(t)-u;if(r<=0||e.length===0)return e;const s=l(e),n=s?s[t.spareSide]:0;return e.map((o,a)=>a===n?{...o,wheels:o.wheels+r}:o)}function l(e){let t,r;for(let s=0;s<e.length;s+=1){const n=e[s].hand;if(n!=="left"&&n!=="right")continue;if((n==="left"?t:r)!==void 0)return null;n==="left"?t=s:r=s}return t!==void 0&&r!==void 0?{left:t,right:r}:null}function y(e){const t=typeof e.spares=="number"?e.spares:e.spare?1:0;return{unit:e.unit,spares:t,spareSide:e.spareSide??"left"}}function c(e,t){return t.spares>0?`${e} + spare`:e}function b(e){return e.unit==="single"?"Single":c(`Set of ${u}`,e)}const A="data-add-to-basket",C=9,d="en",p=new Map;function i(e,t,r){const s=`${e}|${t??""}|${r??""}`;let n=p.get(s);return n||(n=new Intl.NumberFormat(d,{style:"currency",currency:e,...t===void 0?{}:{minimumFractionDigits:t},...r===void 0?{}:{maximumFractionDigits:r}}),p.set(s,n)),n}function g(e,t,r=0){return i(t,0,r).format(e)}function w(e,t){return i(t).format(e)}export{A as ADD_TO_BASKET_ATTR,h as DEFAULT_PURCHASE_CHOICE,C as MAX_QTY_PER_LINE,_ as MAX_SPARES,d as PRICE_LOCALE,u as UNITS_PER_SET,E as WHEELS_PER_SET,i as currencyFormat,w as formatMoneyInCurrency,g as formatPrice,x as orderLinesForSets,P as packComposition,b as packLabel,y as purchaseChoiceFromPack,T as setPackComposition,S as setPrice,l as spareTargetsByHand,f as unitsPerPack,c as withSpare};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={left:"left",start:"left",center:"center",right:"right",end:"right"},n=t=>typeof t=="string"&&Object.hasOwn(e,t)?e[t]:null;export{n as legacyBlockAlignOf};
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
export type MenuLinkAlign = "start" | "center" | "end";
|
|
2
|
-
export declare const MENU_LINK_ALIGNS: readonly MenuLinkAlign[];
|
|
3
|
-
export declare const resolveMenuLinkAlign: (v: unknown) => MenuLinkAlign | null;
|
|
4
1
|
export interface MenuLinkRange {
|
|
5
2
|
from: number;
|
|
6
3
|
to?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const t=e=>typeof e=="number"&&Number.isInteger(e)&&e>=1?e:void 0;function u(e){if(!e||typeof e!="object")return null;const n=t(e.from)??1,o=t(e.to);return o!==void 0&&o<n||n===1&&o===void 0?null:o===void 0?{from:n}:{from:n,to:o}}const r=(e,n)=>n>=e.from&&(e.to===void 0||n<=e.to);export{r as menuLinkInRange,u as resolveMenuLinkRange};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PLP_DEFAULT_KINDS as
|
|
1
|
+
import{PLP_DEFAULT_KINDS as e}from"../../../../catalog/plp-item.js";import{PLP_COLUMNS_DEFAULT as o}from"../../../../wheels/plp-grid.js";import{DEFAULT_COVER_INDEX as t}from"../../../../wheels/cover-rendering.js";const l={heading:"Alloy wheels",intro:"Filter by brand, colour, size and fitment to find your set."},s={label:"List",defaultProps:{heading:"",intro:"",askForCar:!0,gateHeading:"",gateIntro:"",kinds:[...e],perPage:24,columns:o,defaultSort:"recommended",coverIndex:String(t),showInStock:!0,showCollection:!0,showPrice:!0}};export{l as ALLOYWHEELSLISTING_PH,s as AlloyWheelsListingMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const e={label:"Bundle Products",defaultProps:{num:"",title:"",description:"",columns:3}};export{e as BundleOfferMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={title:"Ready when *you are.*",secondary:"Questions? Talk to us"},t={label:"Ready-to-Order Banner",
|
|
1
|
+
const e={title:"Ready when *you are.*",secondary:"Questions? Talk to us"},t={label:"Ready-to-Order Banner",defaultProps:{eyebrow:"",title:"",body:"",ctaText:"",ctaHref:"",secondaryText:"",secondaryHref:""}};export{e as CHECKOUT_CTA_PH,t as CheckoutCTAMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const l={cards:{type:"slot"}},o={label:"Collections",fields:l,defaultProps:{columns:3,limit:6}};export{o as CollectionsMeta,l as CollectionsSlots};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PH as t}from"efficient-web-builder/format/lib/document/blocks/placeholders";const e={num:t.sectionNumber,title:"Compatible *tyres.*",description:t.body,footnote:"Tyres shown are fitment-matched companions.",footnoteLinkText:"Enquire about tyres"},n={label:"Compatible Tyres",
|
|
1
|
+
import{PH as t}from"efficient-web-builder/format/lib/document/blocks/placeholders";const e={num:t.sectionNumber,title:"Compatible *tyres.*",description:t.body,footnote:"Tyres shown are fitment-matched companions.",footnoteLinkText:"Enquire about tyres"},n={label:"Compatible Tyres",defaultProps:{num:"",title:"",description:"",footnote:"",footnoteLinkText:"",footnoteLinkHref:""}};export{e as COMPATIBLETYRES_PH,n as CompatibleTyresMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={title:"Delivery, your way",badge:"Recommended"},t={label:"Delivery Options",
|
|
1
|
+
const e={title:"Delivery, your way",badge:"Recommended"},t={label:"Delivery Options",defaultProps:{eyebrow:"",title:"",body:"",options:[],live:!0,highlightBadge:""}};export{e as DELIVERY_PH,t as DeliveryOptionsMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=[{image:"",eyebrow:"Feature eyebrow",title:"Feature *one.*",copy:"Describe this feature in a sentence or two.",tag:"01 · Detail"},{image:"",eyebrow:"Feature eyebrow",title:"Feature *two.*",copy:"Describe this feature in a sentence or two.",tag:"02 · Detail"},{image:"",eyebrow:"Feature eyebrow",title:"Feature *three.*",copy:"Describe this feature in a sentence or two.",tag:"03 · Detail"}],t={label:"Feature Rows",
|
|
1
|
+
const e=[{image:"",eyebrow:"Feature eyebrow",title:"Feature *one.*",copy:"Describe this feature in a sentence or two.",tag:"01 · Detail"},{image:"",eyebrow:"Feature eyebrow",title:"Feature *two.*",copy:"Describe this feature in a sentence or two.",tag:"02 · Detail"},{image:"",eyebrow:"Feature eyebrow",title:"Feature *three.*",copy:"Describe this feature in a sentence or two.",tag:"03 · Detail"}],t={label:"Feature Rows",defaultProps:{dynamic:!1,rows:[],startLeft:!1,layout:"even",padTop:100,padBottom:100}};export{e as DETAILROWS_SCAFFOLD_ROWS,t as DetailRowsMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={label:"EU Tyre Label",
|
|
1
|
+
const e={label:"EU Tyre Label",defaultProps:{num:""}};export{e as EuTyreLabelMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PH as t}from"efficient-web-builder/format/lib/document/blocks/placeholders";const
|
|
1
|
+
import{PH as t}from"efficient-web-builder/format/lib/document/blocks/placeholders";const o={num:t.sectionNumber,title:"Find your *match.*",description:"A few quick picks and we show the right option for you.",ctaText:"Browse all products"},i={label:"Fitment Form",defaultProps:{num:"",title:"",description:"",ctaText:"",ctaHref:"",layout:"full"}};export{o as FITMENTFINDER_PH,i as FitmentFinderMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PH as t}from"efficient-web-builder/format/lib/document/blocks/placeholders";const
|
|
1
|
+
import{PH as t}from"efficient-web-builder/format/lib/document/blocks/placeholders";const o={num:t.sectionNumber,title:"Specifications *table.*",description:t.body,footnote:"Add a short footnote here.",footnoteLinkText:"Contact us"},n={label:"Fitment Table",defaultProps:{dynamic:!1,num:"",title:"",description:"",wheel:"",showFilter:!0,tooltipDefaultOn:!0,footnote:"",footnoteLinkText:"",footnoteLinkHref:""}};export{o as FITMENTTABLE_PH,n as FitmentTableMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{DEFAULT_TITLE_SIZE as t}from"../../../../sections/product-grid-title.js";import{DEFAULT_COVER_INDEX as o}from"../../../../wheels/cover-rendering.js";import{DEFAULT_CARD_OUTLINE as e,DEFAULT_CARD_INDEX_FORMAT as r}from"efficient-web-builder/format/lib/sections/product-card-style";const i={products:{type:"slot"}},s={label:"Product Grid",fields:i,defaultProps:{dynamic:!1,num:"",title:"",titleSize:t,padTop:120,description:"",linkText:"",linkHref:"",columns:4,limit:8,showAll:!1,spinOnHover:!0,coverIndex:String(o),outline:e,indexBadge:r,showBadge:!0,source:null}};export{s as ProductGridMeta,i as ProductGridSlots};
|
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
import type { BlockRender } from "efficient-web-builder/format/lib/document/blocks/block-types";
|
|
2
|
+
export declare const ProductHeroSlots: {
|
|
3
|
+
trustBullets: {
|
|
4
|
+
type: "slot";
|
|
5
|
+
allow: string[];
|
|
6
|
+
};
|
|
7
|
+
};
|
|
2
8
|
export declare const ProductHeroMeta: Omit<BlockRender, "render">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DEFAULT_HERO_PRICE_PLACEMENT as e}from"../../../../sections/hero-price-placement.js";import{DEFAULT_HERO_LAYOUT as
|
|
1
|
+
import{DEFAULT_HERO_PRICE_PLACEMENT as e}from"../../../../sections/hero-price-placement.js";import{DEFAULT_HERO_LAYOUT as t,DEFAULT_HERO_RATIO as r,DEFAULT_HERO_TEXT_ALIGN as E}from"../../../../sections/hero-arrangement.js";import{DEFAULT_HERO_GALLERY_MODE as T,DEFAULT_HERO_IMAGE_FIT as _}from"../../../../sections/hero-gallery.js";import{TRUST_BULLETS_ALLOW as L,TRUST_BULLETS_SLOT as o}from"../../../../sections/hero-trust-bullets.js";const l={[o]:{type:"slot",allow:L}},a={label:"Product Hero",fields:l,defaultProps:{source:null,pricePlacement:e,showVehicleFitment:!0,heroLayout:t,imageRatio:r,textAlign:E,showSpecTable:!0,showPriceQuote:!0,galleryMode:T,imageFit:_,[o]:[]}};export{a as ProductHeroMeta,l as ProductHeroSlots};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{SITE_WIDTH_CAP as T}from"efficient-web-builder/format/lib/content/page-width";import{resolveWidth as _}from"efficient-web-builder/format/lib/content/section-width";import h from"../../../../../components/LinkedProductHero.js";import n from"../../../../../components/pdp-dynamic/DynamicProductHero.js";import H from"../../../../../components/SectionNotice.js";import{trustBulletsRow as L,trustBulletsSlot as P}from"../../../../../components/product-hero/trust-bullets.js";import{TRUST_BULLETS_SLOT as g}from"../../../../sections/hero-trust-bullets.js";import{useCurrentProduct as A}from"../../../current-product.js";import{isEditorOnDynamicPage as R}from"efficient-web-builder/format/lib/document/editor-page-context";import{DEFAULT_HERO_PRICE_PLACEMENT as F,parseHeroPricePlacement as O}from"../../../../sections/hero-price-placement.js";import{DEFAULT_HERO_LAYOUT as w,DEFAULT_HERO_RATIO as y,DEFAULT_HERO_TEXT_ALIGN as D,parseHeroLayout as U,parseHeroRatio as p,parseHeroTextAlign as I}from"../../../../sections/hero-arrangement.js";import{DEFAULT_HERO_GALLERY_MODE as S,DEFAULT_HERO_IMAGE_FIT as M,parseHeroGalleryMode as x,parseHeroImageFit as B}from"../../../../sections/hero-gallery.js";import{say as C}from"efficient-web-builder/format/lib/editor-words";import{ProductHeroMeta as k}from"./meta.js";function G({source:e,editing:t=!1,pricePlacement:o=F,showVehicleFitment:i=!0,heroLayout:l=w,imageRatio:u=y,textAlign:a=D,showSpecTable:c=!0,showPriceQuote:s=!0,galleryMode:f=S,imageFit:E=M,trustBullets:d}){const m={heroLayout:l,imageRatio:u,textAlign:a,showSpecTable:c,showPriceQuote:s,galleryMode:f,imageFit:E,trustBullets:L(d,t)};return A()||t&&R()?r(n,{editing:t,pricePlacement:o,showVehicleFitment:i,...m}):e?.slug?r(h,{slug:e.slug,kind:e.kind??"wheel",editing:t,pricePlacement:o,showVehicleFitment:i,...m}):t?r(H,{size:"tall",children:C("Pick a product in the panel to fill this hero.")}):r(n,{pricePlacement:o,showVehicleFitment:i,...m})}function N(e,t){return _(e,"full").mode!=="page"?t:r("div",{style:{"--sf-content-cap":T},children:t})}const re={...k,render:e=>N(e,r(G,{source:e.source,editing:e.editor?.isEditing,pricePlacement:O(e.pricePlacement),showVehicleFitment:e.showVehicleFitment??!0,heroLayout:U(e.heroLayout),imageRatio:p(e.imageRatio),textAlign:I(e.textAlign),showSpecTable:e.showSpecTable??!0,showPriceQuote:e.showPriceQuote??!0,galleryMode:x(e.galleryMode),imageFit:B(e.imageFit),trustBullets:P(e[g])}))};export{re as ProductHeroRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{RELATED_CARDS_DEFAULT as o}from"../../../../catalog/related-cards.js";import{DEFAULT_RELATIONSHIP as t}from"../../../../catalog/relationships.js";const r={footnote:"A note about how these are matched.",footnoteLinkText:"Enquire"},i={label:"Related Products",
|
|
1
|
+
import{RELATED_CARDS_DEFAULT as o}from"../../../../catalog/related-cards.js";import{DEFAULT_RELATIONSHIP as t}from"../../../../catalog/relationships.js";const r={footnote:"A note about how these are matched.",footnoteLinkText:"Enquire"},i={label:"Related Products",defaultProps:{num:"",title:"",description:"",footnote:"",footnoteLinkText:"",footnoteLinkHref:"",cardCount:o,columns:3,relationship:t}};export{r as RELATEDPRODUCTS_PH,i as RelatedProductsMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PH as e}from"efficient-web-builder/format/lib/document/blocks/placeholders";const i={num:e.sectionNumber,title:"Specifications *table.*",description:e.body},o={label:"Spec Table",
|
|
1
|
+
import{PH as e}from"efficient-web-builder/format/lib/document/blocks/placeholders";const i={num:e.sectionNumber,title:"Specifications *table.*",description:e.body},o={label:"Spec Table",defaultProps:{dynamic:!1,num:"",title:"",description:"",source:null,finish:"",size:"",showDiagram:!0,rows:[]}};export{i as SPECTABLE_PH,o as SpecTableMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as g}from"react/jsx-runtime";import
|
|
1
|
+
import{jsx as g}from"react/jsx-runtime";import h from"../../../../../components/pdp-dynamic/DynamicSpecTable.js";import w from"../../../../../components/SpecTable.js";import{buildSpecSheet as b,buildLegacySpecSheet as y}from"../../../../wheels/spec-sheet.js";import{parseSectionHeadPlacement as S}from"efficient-web-builder/format/lib/sections/section-head-placement";import{phHide as n}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{SpecTableMeta as x,SPECTABLE_PH as d}from"./meta.js";const z={...x,render:e=>{const o=S(e.headPlacement)==="own-box",t=i=>o?void 0:i;if(e.dynamic)return g(h,{nodeId:typeof e.id=="string"?e.id:void 0,num:t(n(e.num,d.num,e.editor)),title:t(n(e.title,d.title,e.editor)),description:t(n(e.description,d.description,e.editor)),showDiagram:e.showDiagram!==!1,omitHead:o,editing:e.editor?.isEditing});const a=e.source??null,m=e.wheel,r=!a?.slug&&typeof m=="string"?m:"",s=typeof e.finish=="string"?e.finish:"",f=typeof e.size=="string"?e.size:"";let l,u=!0,c=null;if(a?.slug&&a.spec){const i=b(a,s,f);l=i.rows,c=e.showDiagram===!1?null:i.diagram}else if(r){const i=y(r,s,f);l=i.rows,c=e.showDiagram===!1?null:i.diagram}else l=e.rows??[],u=!1;return g(w,{capped:!1,nodeId:typeof e.id=="string"?e.id:void 0,num:t(n(e.num,d.num,e.editor)),title:t(n(e.title,d.title,e.editor)),description:t(n(e.description,d.description,e.editor)),rows:l,builtInLabels:u,diagram:c,omitHead:o,editing:e.editor?.isEditing})}};export{z as SpecTableRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={label:"Tyre Fitment Form",
|
|
1
|
+
const e={label:"Tyre Fitment Form",defaultProps:{num:"",title:"",description:"",escapeText:"",escapeHref:""}};export{e as TyreFitmentMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={label:"Tyre Sizes",
|
|
1
|
+
const e={label:"Tyre Sizes",defaultProps:{num:"",title:"",description:""}};export{e as TyreSizesMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CONTACT_KIND_NAMES as o,CONTACT_KINDS as C}from"../../../../sections/messaging.js";const
|
|
1
|
+
import{CONTACT_KIND_NAMES as o,CONTACT_KINDS as C}from"../../../../sections/messaging.js";const N=C.map(t=>({label:o[t],value:t})),c="phone",e={label:"Contact cards",defaultProps:{title:"Who to ask",description:"",contacts:[]}};export{c as CONTACT_KIND_FALLBACK,N as CONTACT_KIND_OPTIONS,e as ContactCardsMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{CONTACT_ROUTING_DEFAULTS as t}from"efficient-web-builder/format/lib/content/contact";const r={label:"Contact Form",
|
|
1
|
+
import{CONTACT_ROUTING_DEFAULTS as t}from"efficient-web-builder/format/lib/content/contact";const r={label:"Contact Form",defaultProps:{routingNumber:t.routingNumber,routingTagline:t.routingTagline,groups:t.groups,formSlug:"",formNumber:t.formNumber,formHeading:t.formHeading,metaItems:t.metaLines.map(e=>({text:e})),showOther:t.showOther,otherLabel:t.otherLabel,otherNoteTitle:t.otherNoteTitle,otherNoteBody:t.otherNoteBody,buttonText:t.buttonText,consent:t.consent,channels:t.channels}};export{r as ContactRoutingMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{FOOTER_PAYMENT_PH as
|
|
1
|
+
import{FOOTER_PAYMENT_PH as e}from"efficient-web-builder/format/lib/content/footer";const o=e.lead,a={label:"Payment Logos",defaultProps:{lead:o,methods:[],size:"sm",align:"left"}};export{o as FOOTER_PAYMENT_LEAD,a as FooterPaymentMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SOCIAL_GAP_DEFAULT as o}from"../../../../sections/footer-social-gap.js";import{DEFAULT_SOCIAL_ICON_STYLE as
|
|
1
|
+
import{SOCIAL_GAP_DEFAULT as o}from"../../../../sections/footer-social-gap.js";import{DEFAULT_SOCIAL_ICON_STYLE as e}from"efficient-web-builder/render/components/socialIcons";const l={label:"Social Logos",defaultProps:{iconStyle:e,iconSize:"medium",align:"left",gap:o}};export{l as FooterSocialMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{MESSAGING_SOURCE as
|
|
1
|
+
import{MESSAGING_SOURCE as s}from"../../../../sections/messaging.js";const a={label:"Messaging cards",defaultProps:{title:"Message us",description:"",dataSource:s}};export{a as MessagingCardsMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="location-opening",
|
|
1
|
+
const e="location-opening",n=[{label:"Open now badge",value:"badge"},{label:"The week",value:"week"}],o="week",t={label:"Opening hours",defaultProps:{show:o,title:"Opening hours",dataSource:e}};export{n as OPENING_HOURS_SHOWS,o as OPENING_HOURS_SHOW_FALLBACK,e as OPENING_HOURS_SOURCE,t as OpeningHoursMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t="location-rate-table",
|
|
1
|
+
const t="location-rate-table",a={label:"Rate table",defaultProps:{title:"Rates",description:"What a visit costs.",dataSource:t}};export{t as RATE_TABLE_SOURCE,a as RateTableMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SUBMIT_DEFAULTS as t}from"../../../../sections/submit-build-copy.js";const o={boxes:{type:"slot",allow:["SubmitBox"]}},l={label:"Photo Submission Form",
|
|
1
|
+
import{SUBMIT_DEFAULTS as t}from"../../../../sections/submit-build-copy.js";const o={boxes:{type:"slot",allow:["SubmitBox"]}},l={label:"Photo Submission Form",fields:o,defaultProps:{eyebrow:t.eyebrow,title:t.title,body:t.body,formSlug:"",buttonText:t.buttonText,consent:t.consent}};export{l as SubmitBuildMeta,o as SubmitBuildSlots};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e={label:"Subscribe Form",
|
|
1
|
+
const e={label:"Subscribe Form",defaultProps:{headNum:"",headTitle:"",headDesc:"",kicker:"",leadTitle:"",intro:"",emailPlaceholder:"",submitText:"",subscribedText:"",finePrint:"",issuesHeading:"",issues:[],archiveText:"",archiveHref:""}};export{e as SubscribeMeta};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SUBSCRIBE_PH as e}from"../subscribe.js";const
|
|
1
|
+
import{SUBSCRIBE_PH as e}from"../subscribe.js";const s={...e,issuesHeading:"Recent posts",archiveText:"Read all posts →"},t={label:"Subscribe with Posts",defaultProps:{headNum:"",headTitle:"",headDesc:"",kicker:"",leadTitle:"",intro:"",emailPlaceholder:"",submitText:"",subscribedText:"",finePrint:"",issuesHeading:"",limit:4,archiveText:"",archiveHref:""}};export{s as SUBSCRIBE_BLOGS_PH,t as SubscribeBlogsMeta};
|