efficient-storefront-blocks 0.57.0 → 0.58.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/dist/chunks/{EditorPreviewCheckout-7Y7WL5BM.js → EditorPreviewCheckout-4NGRJA3T.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-5MWJMLLI.js → SiteEditorProvider-V5FE5UD6.js} +1 -1
- package/dist/chunks/{chunk-BPVXTVPM.js → chunk-4AKN63X5.js} +1 -1
- package/dist/chunks/chunk-K4AZ5SUU.js +1 -0
- package/dist/chunks/chunk-PHH7L5FJ.js +255 -0
- package/dist/chunks/{chunk-FSSCNRRE.js → chunk-SJQTKWV3.js} +1 -1
- package/dist/chunks/{fitment-data-UVMEA7WW.js → fitment-data-OIWU6HGJ.js} +1 -1
- package/dist/editor/components/BlogSource.d.ts +11 -0
- package/dist/editor/components/BlogSource.js +1 -0
- package/dist/editor/components/CategorySource.d.ts +7 -0
- package/dist/editor/components/CategorySource.js +1 -0
- package/dist/editor/components/CollectionPicker.d.ts +7 -0
- package/dist/editor/components/CollectionPicker.js +1 -0
- package/dist/editor/components/ConsentBannerLayoutTiles.d.ts +3 -0
- package/dist/editor/components/ConsentBannerLayoutTiles.js +1 -0
- package/dist/editor/components/CountryShowAsTiles.d.ts +5 -0
- package/dist/editor/components/CountryShowAsTiles.js +1 -0
- package/dist/editor/components/EditProductLink.d.ts +1 -0
- package/dist/editor/components/EditProductLink.js +1 -0
- package/dist/editor/components/EditorCurrencyProvider.d.ts +7 -0
- package/dist/editor/components/EditorCurrencyProvider.js +1 -0
- package/dist/editor/components/EditorPreviewChat.d.ts +1 -0
- package/dist/editor/components/EditorPreviewChat.js +11 -0
- package/dist/editor/components/EditorPreviewCheckout.d.ts +1 -0
- package/dist/editor/components/EditorPreviewCheckout.js +1 -0
- package/dist/editor/components/EditorPreviewSurface.d.ts +5 -0
- package/dist/editor/components/EditorPreviewSurface.js +1 -0
- package/dist/editor/components/FinishPicker.d.ts +6 -0
- package/dist/editor/components/FinishPicker.js +1 -0
- package/dist/editor/components/FooterColumnsField.d.ts +6 -0
- package/dist/editor/components/FooterColumnsField.js +1 -0
- package/dist/editor/components/FooterLogoFillField.d.ts +6 -0
- package/dist/editor/components/FooterLogoFillField.js +1 -0
- package/dist/editor/components/FooterLogoRowFillField.d.ts +6 -0
- package/dist/editor/components/FooterLogoRowFillField.js +1 -0
- package/dist/editor/components/FormPicker.d.ts +33 -0
- package/dist/editor/components/FormPicker.js +1 -0
- package/dist/editor/components/GalleryProductBinding.d.ts +7 -0
- package/dist/editor/components/GalleryProductBinding.js +1 -0
- package/dist/editor/components/GalleryShowcaseSource.d.ts +7 -0
- package/dist/editor/components/GalleryShowcaseSource.js +1 -0
- package/dist/editor/components/HeaderSection.d.ts +3 -0
- package/dist/editor/components/HeaderSection.js +1 -0
- package/dist/editor/components/HeaderSettingsPanel.d.ts +132 -0
- package/dist/editor/components/HeaderSettingsPanel.js +1 -0
- package/dist/editor/components/MenuLinkRangeField.d.ts +5 -0
- package/dist/editor/components/MenuLinkRangeField.js +1 -0
- package/dist/editor/components/MenuPicker.d.ts +7 -0
- package/dist/editor/components/MenuPicker.js +1 -0
- package/dist/editor/components/PerViewStepperField.d.ts +13 -0
- package/dist/editor/components/PerViewStepperField.js +1 -0
- package/dist/editor/components/PreviewHeader.d.ts +2 -0
- package/dist/editor/components/PreviewHeader.js +11 -0
- package/dist/editor/components/PreviewHeaderPrimer.d.ts +4 -0
- package/dist/editor/components/PreviewHeaderPrimer.js +1 -0
- package/dist/editor/components/PreviewMenusPrimer.d.ts +3 -0
- package/dist/editor/components/PreviewMenusPrimer.js +1 -0
- package/dist/editor/components/PreviewProductPicker.d.ts +20 -0
- package/dist/editor/components/PreviewProductPicker.js +1 -0
- package/dist/editor/components/ProductHeroSource.d.ts +19 -0
- package/dist/editor/components/ProductHeroSource.js +1 -0
- package/dist/editor/components/ProductPicker.d.ts +6 -0
- package/dist/editor/components/ProductPicker.js +1 -0
- package/dist/editor/components/SocialLinksDoor.d.ts +1 -0
- package/dist/editor/components/SocialLinksDoor.js +1 -0
- package/dist/editor/components/SpecTableSource.d.ts +7 -0
- package/dist/editor/components/SpecTableSource.js +1 -0
- package/dist/editor/components/StorefrontEditorFurniture.d.ts +6 -0
- package/dist/editor/components/StorefrontEditorFurniture.js +1 -0
- package/dist/editor/components/StorefrontHeaderPanel.d.ts +2 -0
- package/dist/editor/components/StorefrontHeaderPanel.js +1 -0
- package/dist/editor/components/StorefrontLinkRows.d.ts +5 -0
- package/dist/editor/components/StorefrontLinkRows.js +1 -0
- package/dist/editor/components/StorefrontShopRows.d.ts +2 -0
- package/dist/editor/components/StorefrontShopRows.js +1 -0
- package/dist/editor/components/SwitchToBoxHeader.d.ts +1 -0
- package/dist/editor/components/SwitchToBoxHeader.js +1 -0
- package/dist/editor/components/WheelsPerRowField.d.ts +6 -0
- package/dist/editor/components/WheelsPerRowField.js +1 -0
- package/dist/editor/components/useCategoryFilter.d.ts +11 -0
- package/dist/editor/components/useCategoryFilter.js +1 -0
- package/dist/editor/components/useGridSourceLock.d.ts +1 -0
- package/dist/editor/components/useGridSourceLock.js +1 -0
- package/dist/editor/components/useStorefrontCategories.d.ts +2 -0
- package/dist/editor/components/useStorefrontCategories.js +1 -0
- package/dist/editor/components/useStorefrontForms.d.ts +2 -0
- package/dist/editor/components/useStorefrontForms.js +1 -0
- package/dist/editor/components/useWheelMediaGroups.d.ts +2 -0
- package/dist/editor/components/useWheelMediaGroups.js +1 -0
- package/dist/editor/lib/api/section-templates.d.ts +43 -0
- package/dist/editor/lib/api/section-templates.js +1 -0
- package/dist/editor/lib/editor-currency-source.d.ts +11 -0
- package/dist/editor/lib/editor-currency-source.js +1 -0
- package/dist/editor/lib/efficient-backend.d.ts +21 -0
- package/dist/editor/lib/efficient-backend.js +1 -0
- package/dist/editor/lib/header-settings-source.d.ts +7 -0
- package/dist/editor/lib/header-settings-source.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/Collections/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/Collections/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/Header/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/Header/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ThemeSwitchBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ThemeSwitchBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/controls.d.ts +15 -0
- package/dist/editor/lib/puck/blocks/commerce/controls.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/index.d.ts +1 -0
- package/dist/editor/lib/puck/blocks/commerce/index.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/page-rules.d.ts +8 -0
- package/dist/editor/lib/puck/blocks/commerce/page-rules.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/shared-fields.d.ts +5 -0
- package/dist/editor/lib/puck/blocks/commerce/shared-fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/BookingBox/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/BookingBox/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Events/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Events/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Footer/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Footer/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterText/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterText/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Form/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Form/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Reviews/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Reviews/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Subscribe/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Subscribe/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/controls.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/controls.js +1 -0
- package/dist/editor/lib/puck/blocks/service/index.d.ts +1 -0
- package/dist/editor/lib/puck/blocks/service/index.js +1 -0
- package/dist/editor/lib/puck/blocks/service/placeholders.d.ts +1 -0
- package/dist/editor/lib/puck/blocks/service/placeholders.js +1 -0
- package/dist/editor/lib/puck/box-header-for-site.d.ts +9 -0
- package/dist/editor/lib/puck/box-header-for-site.js +1 -0
- package/dist/editor/lib/puck/box-header.d.ts +52 -0
- package/dist/editor/lib/puck/box-header.js +1 -0
- package/dist/editor/lib/puck/config.d.ts +73 -0
- package/dist/editor/lib/puck/config.js +1 -0
- package/dist/editor/lib/say-with.d.ts +2 -0
- package/dist/editor/lib/say-with.js +1 -0
- package/dist/editor/lib/storefront-document.d.ts +2 -0
- package/dist/editor/lib/storefront-document.js +1 -0
- package/dist/editor/lib/storefront-editor-words.d.ts +693 -0
- package/dist/editor/lib/storefront-editor-words.js +1 -0
- package/dist/editor/lib/storefront-editor.d.ts +9 -0
- package/dist/editor/lib/storefront-editor.js +1 -0
- package/dist/editor/lib/storefront-shop-surfaces.d.ts +8 -0
- package/dist/editor/lib/storefront-shop-surfaces.js +1 -0
- package/dist/editor/lib/use-prime-and-refresh.d.ts +16 -0
- package/dist/editor/lib/use-prime-and-refresh.js +1 -0
- package/dist/editor.css +1 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.js +69 -52
- package/dist/render/app/fonts/archivo/OFL.txt +93 -0
- package/dist/render/app/fonts/archivo/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/archivo/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/archivo/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/archivo/latin.woff2 +0 -0
- package/dist/render/app/fonts/archivo/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/archivo/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/assistant/OFL.txt +95 -0
- package/dist/render/app/fonts/assistant/hebrew.woff2 +0 -0
- package/dist/render/app/fonts/assistant/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/assistant/latin.woff2 +0 -0
- package/dist/render/app/fonts/big-shoulders/OFL.txt +93 -0
- package/dist/render/app/fonts/big-shoulders/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/big-shoulders/latin.woff2 +0 -0
- package/dist/render/app/fonts/big-shoulders/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/OFL.txt +93 -0
- package/dist/render/app/fonts/cormorant/cyrillic-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/OFL.txt +93 -0
- package/dist/render/app/fonts/dm-sans/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/latin.woff2 +0 -0
- package/dist/render/app/fonts/fallbacks.css +133 -0
- package/dist/render/app/fonts/fraunces/OFL.txt +93 -0
- package/dist/render/app/fonts/fraunces/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/latin.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/inter/OFL.txt +93 -0
- package/dist/render/app/fonts/inter/cyrillic-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/inter/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek-ext.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin.woff2 +0 -0
- package/dist/render/app/fonts/inter/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/OFL.txt +93 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/greek-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/greek.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/manrope/OFL.txt +93 -0
- package/dist/render/app/fonts/manrope/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/manrope/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/manrope/greek.woff2 +0 -0
- package/dist/render/app/fonts/manrope/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/manrope/latin.woff2 +0 -0
- package/dist/render/app/fonts/manrope/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/michroma/OFL.txt +93 -0
- package/dist/render/app/fonts/michroma/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/michroma/latin.woff2 +0 -0
- package/dist/render/app/fonts/oswald/OFL.txt +93 -0
- package/dist/render/app/fonts/oswald/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/oswald/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/oswald/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/oswald/latin.woff2 +0 -0
- package/dist/render/app/fonts/oswald/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/outfit/OFL.txt +93 -0
- package/dist/render/app/fonts/outfit/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/outfit/latin.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/OFL.txt +93 -0
- package/dist/render/app/fonts/playfair-display/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/poppins/OFL.txt +93 -0
- package/dist/render/app/fonts/poppins/devanagari-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-italic-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-italic-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-italic-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-italic-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-italic-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-italic-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-italic-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-italic-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-italic-600.woff2 +0 -0
- package/dist/render/app/fonts/sora/OFL.txt +93 -0
- package/dist/render/app/fonts/sora/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/sora/latin.woff2 +0 -0
- package/dist/render/app/fonts/space-grotesk/OFL.txt +93 -0
- package/dist/render/app/fonts/space-grotesk/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/space-grotesk/latin.woff2 +0 -0
- package/dist/render/app/fonts/space-grotesk/vietnamese.woff2 +0 -0
- package/dist/render/app/globals.css +3264 -0
- package/dist/render/built-with.json +3 -0
- package/dist/render/components/AppointmentBooking.d.ts +14 -0
- package/dist/render/components/AppointmentBooking.js +1 -0
- package/dist/render/components/AssistantChatMount.d.ts +8 -0
- package/dist/render/components/AssistantChatMount.js +1 -0
- package/dist/render/components/AssistantChatPanel.d.ts +7 -0
- package/dist/render/components/AssistantChatPanel.js +1 -0
- package/dist/render/components/BoxHeaderBar.d.ts +10 -0
- package/dist/render/components/BoxHeaderBar.js +1 -0
- package/dist/render/components/BrandPlate.d.ts +4 -0
- package/dist/render/components/BrandPlate.js +1 -0
- package/dist/render/components/BundleCard.d.ts +6 -0
- package/dist/render/components/BundleCard.js +1 -0
- package/dist/render/components/CartContext.d.ts +91 -0
- package/dist/render/components/CartContext.js +1 -0
- package/dist/render/components/CartDrawer.d.ts +12 -0
- package/dist/render/components/CartDrawer.js +4 -0
- package/dist/render/components/CartLineThumbnail.d.ts +8 -0
- package/dist/render/components/CartLineThumbnail.js +1 -0
- package/dist/render/components/CatalogFilterBarSection.d.ts +12 -0
- package/dist/render/components/CatalogFilterBarSection.js +1 -0
- package/dist/render/components/ChatContext.d.ts +23 -0
- package/dist/render/components/ChatContext.js +1 -0
- package/dist/render/components/ChatLauncher.d.ts +18 -0
- package/dist/render/components/ChatLauncher.js +1 -0
- package/dist/render/components/ChatWidget.d.ts +12 -0
- package/dist/render/components/ChatWidget.js +1 -0
- package/dist/render/components/CheckoutCTA.d.ts +12 -0
- package/dist/render/components/CheckoutCTA.js +1 -0
- package/dist/render/components/CollectionCard.d.ts +27 -0
- package/dist/render/components/CollectionCard.js +1 -0
- package/dist/render/components/Collections.d.ts +17 -0
- package/dist/render/components/Collections.js +1 -0
- package/dist/render/components/CompatibleTyres.d.ts +23 -0
- package/dist/render/components/CompatibleTyres.js +1 -0
- package/dist/render/components/ConsentBanner.d.ts +20 -0
- package/dist/render/components/ConsentBanner.js +1 -0
- package/dist/render/components/ConsentContext.d.ts +22 -0
- package/dist/render/components/ConsentContext.js +1 -0
- package/dist/render/components/ConsentPanel.d.ts +15 -0
- package/dist/render/components/ConsentPanel.js +1 -0
- package/dist/render/components/ConsentProvider.d.ts +7 -0
- package/dist/render/components/ConsentProvider.js +1 -0
- package/dist/render/components/ContactRouting.d.ts +33 -0
- package/dist/render/components/ContactRouting.js +1 -0
- package/dist/render/components/CountrySelect.d.ts +7 -0
- package/dist/render/components/CountrySelect.js +1 -0
- package/dist/render/components/CouponField.d.ts +3 -0
- package/dist/render/components/CouponField.js +1 -0
- package/dist/render/components/CurrencyContext.d.ts +27 -0
- package/dist/render/components/CurrencyContext.js +1 -0
- package/dist/render/components/DeliveryOptions.d.ts +18 -0
- package/dist/render/components/DeliveryOptions.js +1 -0
- package/dist/render/components/DeliveryOptionsSource.d.ts +8 -0
- package/dist/render/components/DeliveryOptionsSource.js +1 -0
- package/dist/render/components/DetailRows.d.ts +22 -0
- package/dist/render/components/DetailRows.js +1 -0
- package/dist/render/components/DimensionArrowMarkers.d.ts +3 -0
- package/dist/render/components/DimensionArrowMarkers.js +1 -0
- package/dist/render/components/EditorCurrencyNoticeContext.d.ts +7 -0
- package/dist/render/components/EditorCurrencyNoticeContext.js +1 -0
- package/dist/render/components/EmailCaptureForm.d.ts +15 -0
- package/dist/render/components/EmailCaptureForm.js +1 -0
- package/dist/render/components/EnglishVariant.d.ts +7 -0
- package/dist/render/components/EnglishVariant.js +1 -0
- package/dist/render/components/EuTyreLabelCard.d.ts +4 -0
- package/dist/render/components/EuTyreLabelCard.js +1 -0
- package/dist/render/components/EuTyreLabels.d.ts +7 -0
- package/dist/render/components/EuTyreLabels.js +1 -0
- package/dist/render/components/Events.d.ts +62 -0
- package/dist/render/components/Events.js +1 -0
- package/dist/render/components/FinishSwatches.d.ts +14 -0
- package/dist/render/components/FinishSwatches.js +1 -0
- package/dist/render/components/FitmentTable.d.ts +17 -0
- package/dist/render/components/FitmentTable.js +1 -0
- package/dist/render/components/FooterDivider.d.ts +6 -0
- package/dist/render/components/FooterDivider.js +1 -0
- package/dist/render/components/FooterEmailSignup.d.ts +6 -0
- package/dist/render/components/FooterEmailSignup.js +1 -0
- package/dist/render/components/FooterGroup.d.ts +8 -0
- package/dist/render/components/FooterGroup.js +1 -0
- package/dist/render/components/FooterLogo.d.ts +13 -0
- package/dist/render/components/FooterLogo.js +1 -0
- package/dist/render/components/FooterMenu.d.ts +25 -0
- package/dist/render/components/FooterMenu.js +1 -0
- package/dist/render/components/FooterSection.d.ts +11 -0
- package/dist/render/components/FooterSection.js +1 -0
- package/dist/render/components/FooterSocial.d.ts +16 -0
- package/dist/render/components/FooterSocial.js +1 -0
- package/dist/render/components/FooterText.d.ts +7 -0
- package/dist/render/components/FooterText.js +1 -0
- package/dist/render/components/FormBlock.d.ts +19 -0
- package/dist/render/components/FormBlock.js +1 -0
- package/dist/render/components/GalleryCard.d.ts +28 -0
- package/dist/render/components/GalleryCard.js +1 -0
- package/dist/render/components/GalleryGrid.d.ts +20 -0
- package/dist/render/components/GalleryGrid.js +1 -0
- package/dist/render/components/GalleryItem.d.ts +41 -0
- package/dist/render/components/GalleryItem.js +1 -0
- package/dist/render/components/GalleryShowcase.d.ts +51 -0
- package/dist/render/components/GalleryShowcase.js +1 -0
- package/dist/render/components/Header.d.ts +13 -0
- package/dist/render/components/Header.js +1 -0
- package/dist/render/components/HeaderNavItem.d.ts +17 -0
- package/dist/render/components/HeaderNavItem.js +1 -0
- package/dist/render/components/HeaderToolBlocks.d.ts +18 -0
- package/dist/render/components/HeaderToolBlocks.js +1 -0
- package/dist/render/components/HeaderTools.d.ts +21 -0
- package/dist/render/components/HeaderTools.js +1 -0
- package/dist/render/components/LegalLine.d.ts +4 -0
- package/dist/render/components/LegalLine.js +1 -0
- package/dist/render/components/Lightbox.d.ts +19 -0
- package/dist/render/components/Lightbox.js +1 -0
- package/dist/render/components/LinkedProductHero.d.ts +34 -0
- package/dist/render/components/LinkedProductHero.js +1 -0
- package/dist/render/components/LiveSiteMapsProvider.d.ts +6 -0
- package/dist/render/components/LiveSiteMapsProvider.js +1 -0
- package/dist/render/components/MenuPlaceholderLabel.d.ts +1 -0
- package/dist/render/components/MenuPlaceholderLabel.js +1 -0
- package/dist/render/components/NoCurrencyNote.d.ts +4 -0
- package/dist/render/components/NoCurrencyNote.js +1 -0
- package/dist/render/components/PreOrderPanel.d.ts +5 -0
- package/dist/render/components/PreOrderPanel.js +1 -0
- package/dist/render/components/PreviewMenusContext.d.ts +13 -0
- package/dist/render/components/PreviewMenusContext.js +1 -0
- package/dist/render/components/ProductCard.d.ts +6 -0
- package/dist/render/components/ProductCard.js +1 -0
- package/dist/render/components/ProductCardChrome.d.ts +37 -0
- package/dist/render/components/ProductCardChrome.js +1 -0
- package/dist/render/components/ProductCardEyebrow.d.ts +14 -0
- package/dist/render/components/ProductCardEyebrow.js +1 -0
- package/dist/render/components/ProductGridSection.d.ts +65 -0
- package/dist/render/components/ProductGridSection.js +1 -0
- package/dist/render/components/ProductHeroPanel.d.ts +22 -0
- package/dist/render/components/ProductHeroPanel.js +1 -0
- package/dist/render/components/ProductLightbox.d.ts +5 -0
- package/dist/render/components/ProductLightbox.js +1 -0
- package/dist/render/components/ProductRef.d.ts +16 -0
- package/dist/render/components/ProductRef.js +1 -0
- package/dist/render/components/PublishedFooter.d.ts +16 -0
- package/dist/render/components/PublishedFooter.js +1 -0
- package/dist/render/components/PublishedHeader.d.ts +4 -0
- package/dist/render/components/PublishedHeader.js +1 -0
- package/dist/render/components/QuantityStepper.d.ts +7 -0
- package/dist/render/components/QuantityStepper.js +1 -0
- package/dist/render/components/QuoteLink.d.ts +4 -0
- package/dist/render/components/QuoteLink.js +1 -0
- package/dist/render/components/ReviewForm.d.ts +8 -0
- package/dist/render/components/ReviewForm.js +1 -0
- package/dist/render/components/Reviews.d.ts +12 -0
- package/dist/render/components/Reviews.js +1 -0
- package/dist/render/components/SearchContext.d.ts +13 -0
- package/dist/render/components/SearchContext.js +1 -0
- package/dist/render/components/SectionBand.d.ts +9 -0
- package/dist/render/components/SectionBand.js +1 -0
- package/dist/render/components/SectionFootnote.d.ts +5 -0
- package/dist/render/components/SectionFootnote.js +1 -0
- package/dist/render/components/SectionGroupBody.d.ts +9 -0
- package/dist/render/components/SectionGroupBody.js +1 -0
- package/dist/render/components/SectionNotice.d.ts +7 -0
- package/dist/render/components/SectionNotice.js +1 -0
- package/dist/render/components/SiteRecordContext.d.ts +17 -0
- package/dist/render/components/SiteRecordContext.js +1 -0
- package/dist/render/components/SiteSwitch.d.ts +10 -0
- package/dist/render/components/SiteSwitch.js +1 -0
- package/dist/render/components/SpecTable.d.ts +18 -0
- package/dist/render/components/SpecTable.js +1 -0
- package/dist/render/components/SpecTablePartBridge.d.ts +5 -0
- package/dist/render/components/SpecTablePartBridge.js +1 -0
- package/dist/render/components/StorefrontProviders.d.ts +15 -0
- package/dist/render/components/StorefrontProviders.js +1 -0
- package/dist/render/components/SubmitBuild.d.ts +23 -0
- package/dist/render/components/SubmitBuild.js +1 -0
- package/dist/render/components/Subscribe.d.ts +27 -0
- package/dist/render/components/Subscribe.js +1 -0
- package/dist/render/components/SubscribePopup.d.ts +19 -0
- package/dist/render/components/SubscribePopup.js +7 -0
- package/dist/render/components/SubscribePopupContext.d.ts +33 -0
- package/dist/render/components/SubscribePopupContext.js +1 -0
- package/dist/render/components/ThemeToggle.d.ts +1 -0
- package/dist/render/components/ThemeToggle.js +1 -0
- package/dist/render/components/ThemedSelect.d.ts +59 -0
- package/dist/render/components/ThemedSelect.js +1 -0
- package/dist/render/components/TyreCard.d.ts +19 -0
- package/dist/render/components/TyreCard.js +1 -0
- package/dist/render/components/TyreFitVerdicts.d.ts +7 -0
- package/dist/render/components/TyreFitVerdicts.js +1 -0
- package/dist/render/components/TyreImage.d.ts +10 -0
- package/dist/render/components/TyreImage.js +1 -0
- package/dist/render/components/TyrePlpCard.d.ts +19 -0
- package/dist/render/components/TyrePlpCard.js +1 -0
- package/dist/render/components/TyreRenderSvg.d.ts +7 -0
- package/dist/render/components/TyreRenderSvg.js +1 -0
- package/dist/render/components/TyreSummaryCard.d.ts +11 -0
- package/dist/render/components/TyreSummaryCard.js +1 -0
- package/dist/render/components/TyreVehicleFitment.d.ts +18 -0
- package/dist/render/components/TyreVehicleFitment.js +1 -0
- package/dist/render/components/ViewMoreLink.d.ts +4 -0
- package/dist/render/components/ViewMoreLink.js +1 -0
- package/dist/render/components/WebFormField.d.ts +17 -0
- package/dist/render/components/WebFormField.js +1 -0
- package/dist/render/components/WheelCardFrame.d.ts +67 -0
- package/dist/render/components/WheelCardFrame.js +1 -0
- package/dist/render/components/WheelImage.d.ts +20 -0
- package/dist/render/components/WheelImage.js +1 -0
- package/dist/render/components/WheelPlaceholder.d.ts +7 -0
- package/dist/render/components/WheelPlaceholder.js +1 -0
- package/dist/render/components/WheelSvg.d.ts +7 -0
- package/dist/render/components/WheelSvg.js +1 -0
- package/dist/render/components/WishlistContext.d.ts +13 -0
- package/dist/render/components/WishlistContext.js +1 -0
- package/dist/render/components/booking/BookingBox.d.ts +16 -0
- package/dist/render/components/booking/BookingBox.js +1 -0
- package/dist/render/components/booking/BookingFormState.d.ts +46 -0
- package/dist/render/components/booking/BookingFormState.js +1 -0
- package/dist/render/components/booking/BookingRegions.d.ts +16 -0
- package/dist/render/components/booking/BookingRegions.js +1 -0
- package/dist/render/components/buy-row.d.ts +1 -0
- package/dist/render/components/buy-row.js +1 -0
- package/dist/render/components/catalog/CatalogFilterBar.d.ts +55 -0
- package/dist/render/components/catalog/CatalogFilterBar.js +1 -0
- package/dist/render/components/catalog/CatalogFilterContext.d.ts +39 -0
- package/dist/render/components/catalog/CatalogFilterContext.js +1 -0
- package/dist/render/components/catalog/CatalogFilterLabels.d.ts +6 -0
- package/dist/render/components/catalog/CatalogFilterLabels.js +1 -0
- package/dist/render/components/catalog/CatalogVehiclePicker.d.ts +22 -0
- package/dist/render/components/catalog/CatalogVehiclePicker.js +1 -0
- package/dist/render/components/catalog/FilterPill.d.ts +25 -0
- package/dist/render/components/catalog/FilterPill.js +1 -0
- package/dist/render/components/catalog/SiteMenuLinks.d.ts +6 -0
- package/dist/render/components/catalog/SiteMenuLinks.js +1 -0
- package/dist/render/components/checkout/CheckoutPageClient.d.ts +25 -0
- package/dist/render/components/checkout/CheckoutPageClient.js +3 -0
- package/dist/render/components/fitment/FitmentFinder.d.ts +15 -0
- package/dist/render/components/fitment/FitmentFinder.js +1 -0
- package/dist/render/components/fitment/FitmentPickerGrid.d.ts +6 -0
- package/dist/render/components/fitment/FitmentPickerGrid.js +1 -0
- package/dist/render/components/fitment/FitmentRowFit.d.ts +4 -0
- package/dist/render/components/fitment/FitmentRowFit.js +1 -0
- package/dist/render/components/fitment/PickerField.d.ts +16 -0
- package/dist/render/components/fitment/PickerField.js +1 -0
- package/dist/render/components/fitment/StockFitmentCard.d.ts +8 -0
- package/dist/render/components/fitment/StockFitmentCard.js +1 -0
- package/dist/render/components/fitment/useFitmentCascade.d.ts +31 -0
- package/dist/render/components/fitment/useFitmentCascade.js +1 -0
- package/dist/render/components/fitment/useVehicleFit.d.ts +29 -0
- package/dist/render/components/fitment/useVehicleFit.js +1 -0
- package/dist/render/components/fitment/vehicle-control.d.ts +10 -0
- package/dist/render/components/fitment/vehicle-control.js +0 -0
- package/dist/render/components/fitment/vehicle-level-state.d.ts +14 -0
- package/dist/render/components/fitment/vehicle-level-state.js +1 -0
- package/dist/render/components/formSubmission.d.ts +32 -0
- package/dist/render/components/formSubmission.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.d.ts +13 -0
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.d.ts +14 -0
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.d.ts +8 -0
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.d.ts +16 -0
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.d.ts +18 -0
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicProductHero.d.ts +25 -0
- package/dist/render/components/pdp-dynamic/DynamicProductHero.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.d.ts +31 -0
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.d.ts +13 -0
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreFitment.d.ts +13 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreFitment.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreSizes.d.ts +11 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -0
- package/dist/render/components/pdp-dynamic/FitmentTableBlock.d.ts +7 -0
- package/dist/render/components/pdp-dynamic/FitmentTableBlock.js +1 -0
- package/dist/render/components/pdp-dynamic/KindGate.d.ts +8 -0
- package/dist/render/components/pdp-dynamic/KindGate.js +1 -0
- package/dist/render/components/pdp-dynamic/useSampleProduct.d.ts +5 -0
- package/dist/render/components/pdp-dynamic/useSampleProduct.js +1 -0
- package/dist/render/components/product-hero/TyreHeroFitment.d.ts +17 -0
- package/dist/render/components/product-hero/TyreHeroFitment.js +1 -0
- package/dist/render/components/product-hero/VehicleQuestion.d.ts +18 -0
- package/dist/render/components/product-hero/VehicleQuestion.js +1 -0
- package/dist/render/components/product-hero/WheelHeroFitment.d.ts +9 -0
- package/dist/render/components/product-hero/WheelHeroFitment.js +1 -0
- package/dist/render/components/product-hero/hero-content.d.ts +7 -0
- package/dist/render/components/product-hero/hero-content.js +1 -0
- package/dist/render/components/product-hero/hero-view.d.ts +37 -0
- package/dist/render/components/product-hero/hero-view.js +1 -0
- package/dist/render/components/product-hero/stage-photo.d.ts +10 -0
- package/dist/render/components/product-hero/stage-photo.js +3 -0
- package/dist/render/components/submit/SubmitBox.d.ts +19 -0
- package/dist/render/components/submit/SubmitBox.js +1 -0
- package/dist/render/components/submit/SubmitRegions.d.ts +17 -0
- package/dist/render/components/submit/SubmitRegions.js +1 -0
- package/dist/render/components/useEuTyreLabels.d.ts +3 -0
- package/dist/render/components/useEuTyreLabels.js +1 -0
- package/dist/render/components/useFinishSelection.d.ts +17 -0
- package/dist/render/components/useFinishSelection.js +1 -0
- package/dist/render/components/useHeaderBar.d.ts +9 -0
- package/dist/render/components/useHeaderBar.js +1 -0
- package/dist/render/components/useLightbox.d.ts +10 -0
- package/dist/render/components/useLightbox.js +1 -0
- package/dist/render/components/useModalDismiss.d.ts +8 -0
- package/dist/render/components/useModalDismiss.js +1 -0
- package/dist/render/components/useNewsletterSignup.d.ts +12 -0
- package/dist/render/components/useNewsletterSignup.js +1 -0
- package/dist/render/components/usePreOrderIntent.d.ts +14 -0
- package/dist/render/components/usePreOrderIntent.js +1 -0
- package/dist/render/components/useProductCatalog.d.ts +54 -0
- package/dist/render/components/useProductCatalog.js +1 -0
- package/dist/render/components/useProductSelection.d.ts +39 -0
- package/dist/render/components/useProductSelection.js +1 -0
- package/dist/render/components/useStockAlertSignup.d.ts +14 -0
- package/dist/render/components/useStockAlertSignup.js +1 -0
- package/dist/render/components/useStorefrontReviews.d.ts +2 -0
- package/dist/render/components/useStorefrontReviews.js +1 -0
- package/dist/render/components/useTyreCatalog.d.ts +2 -0
- package/dist/render/components/useTyreCatalog.js +1 -0
- package/dist/render/components/useTyreDetail.d.ts +6 -0
- package/dist/render/components/useTyreDetail.js +1 -0
- package/dist/render/components/useTyreFitAnswer.d.ts +5 -0
- package/dist/render/components/useTyreFitAnswer.js +1 -0
- package/dist/render/components/useWheelDetail.d.ts +6 -0
- package/dist/render/components/useWheelDetail.js +1 -0
- package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +42 -0
- package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -0
- package/dist/render/components/wheels-plp/PlpActiveChips.d.ts +9 -0
- package/dist/render/components/wheels-plp/PlpActiveChips.js +1 -0
- package/dist/render/components/wheels-plp/PlpCard.d.ts +27 -0
- package/dist/render/components/wheels-plp/PlpCard.js +1 -0
- package/dist/render/components/wheels-plp/PlpInStockToggle.d.ts +6 -0
- package/dist/render/components/wheels-plp/PlpInStockToggle.js +1 -0
- package/dist/render/components/wheels-plp/PlpNotifyMeDialog.d.ts +10 -0
- package/dist/render/components/wheels-plp/PlpNotifyMeDialog.js +1 -0
- package/dist/render/components/wheels-plp/PlpPagination.d.ts +5 -0
- package/dist/render/components/wheels-plp/PlpPagination.js +1 -0
- package/dist/render/components/wheels-plp/PlpSidebar.d.ts +25 -0
- package/dist/render/components/wheels-plp/PlpSidebar.js +1 -0
- package/dist/render/components/wheels-plp/PlpTypePicker.d.ts +7 -0
- package/dist/render/components/wheels-plp/PlpTypePicker.js +1 -0
- package/dist/render/components/wheels-plp/PlpTyreSizeBoxes.d.ts +9 -0
- package/dist/render/components/wheels-plp/PlpTyreSizeBoxes.js +1 -0
- package/dist/render/components/wheels-plp/PlpVehicleBar.d.ts +15 -0
- package/dist/render/components/wheels-plp/PlpVehicleBar.js +1 -0
- package/dist/render/components/wheels-plp/PlpVehicleGate.d.ts +10 -0
- package/dist/render/components/wheels-plp/PlpVehicleGate.js +1 -0
- package/dist/render/components/wheels-plp/usePlpCardSelection.d.ts +18 -0
- package/dist/render/components/wheels-plp/usePlpCardSelection.js +1 -0
- package/dist/render/components/wheels-plp/usePlpFiltersInUrl.d.ts +10 -0
- package/dist/render/components/wheels-plp/usePlpFiltersInUrl.js +1 -0
- package/dist/render/components/wheels-plp/useVehicleCatalog.d.ts +10 -0
- package/dist/render/components/wheels-plp/useVehicleCatalog.js +1 -0
- package/dist/render/components/wheels-plp/useWheelCardBottom.d.ts +20 -0
- package/dist/render/components/wheels-plp/useWheelCardBottom.js +1 -0
- package/dist/render/lib/api/chat.d.ts +31 -0
- package/dist/render/lib/api/chat.js +1 -0
- package/dist/render/lib/api/fitment-data.d.ts +18 -0
- package/dist/render/lib/api/fitment-data.js +1 -0
- package/dist/render/lib/api/gallery-builds-data.d.ts +4 -0
- package/dist/render/lib/api/gallery-builds-data.js +1 -0
- package/dist/render/lib/api/generated-upload-limits.d.ts +1292 -0
- package/dist/render/lib/api/generated-upload-limits.js +1 -0
- package/dist/render/lib/api/index.d.ts +806 -0
- package/dist/render/lib/api/index.js +1 -0
- package/dist/render/lib/api/origins.d.ts +2 -0
- package/dist/render/lib/api/origins.js +1 -0
- package/dist/render/lib/api/types.d.ts +3928 -0
- package/dist/render/lib/api/types.js +0 -0
- package/dist/render/lib/api/upload-limits.d.ts +10 -0
- package/dist/render/lib/api/upload-limits.js +1 -0
- package/dist/render/lib/assistant-chat.d.ts +35 -0
- package/dist/render/lib/assistant-chat.js +1 -0
- package/dist/render/lib/auth.d.ts +6 -0
- package/dist/render/lib/auth.js +1 -0
- package/dist/render/lib/booking/text-kinds.d.ts +11 -0
- package/dist/render/lib/booking/text-kinds.js +1 -0
- package/dist/render/lib/booking-dates.d.ts +23 -0
- package/dist/render/lib/booking-dates.js +1 -0
- package/dist/render/lib/cache-evict.d.ts +4 -0
- package/dist/render/lib/cache-evict.js +1 -0
- package/dist/render/lib/cart/coupon-preview.d.ts +12 -0
- package/dist/render/lib/cart/coupon-preview.js +1 -0
- package/dist/render/lib/cart/shipping-status.d.ts +12 -0
- package/dist/render/lib/cart/shipping-status.js +1 -0
- package/dist/render/lib/cart/snapshot-lines.d.ts +3 -0
- package/dist/render/lib/cart/snapshot-lines.js +1 -0
- package/dist/render/lib/catalog/from-tyre.d.ts +3 -0
- package/dist/render/lib/catalog/from-tyre.js +1 -0
- package/dist/render/lib/catalog/from-wheel.d.ts +7 -0
- package/dist/render/lib/catalog/from-wheel.js +1 -0
- package/dist/render/lib/catalog/listing-links.d.ts +11 -0
- package/dist/render/lib/catalog/listing-links.js +1 -0
- package/dist/render/lib/catalog/plp-item.d.ts +39 -0
- package/dist/render/lib/catalog/plp-item.js +1 -0
- package/dist/render/lib/catalog/plp-vehicle-copy.d.ts +20 -0
- package/dist/render/lib/catalog/plp-vehicle-copy.js +1 -0
- package/dist/render/lib/catalog/plp-vehicle-slice.d.ts +13 -0
- package/dist/render/lib/catalog/plp-vehicle-slice.js +1 -0
- package/dist/render/lib/catalog/product-options.d.ts +27 -0
- package/dist/render/lib/catalog/product-options.js +1 -0
- package/dist/render/lib/catalog/purchase.d.ts +46 -0
- package/dist/render/lib/catalog/purchase.js +1 -0
- package/dist/render/lib/catalog/related-cards.d.ts +12 -0
- package/dist/render/lib/catalog/related-cards.js +1 -0
- package/dist/render/lib/catalog/relationships.d.ts +28 -0
- package/dist/render/lib/catalog/relationships.js +1 -0
- package/dist/render/lib/catalog/store-product.d.ts +56 -0
- package/dist/render/lib/catalog/store-product.js +1 -0
- package/dist/render/lib/chat-socket.d.ts +8 -0
- package/dist/render/lib/chat-socket.js +1 -0
- package/dist/render/lib/checkout/wallet-return.d.ts +52 -0
- package/dist/render/lib/checkout/wallet-return.js +1 -0
- package/dist/render/lib/chrome-cache.d.ts +6 -0
- package/dist/render/lib/chrome-cache.js +1 -0
- package/dist/render/lib/chrome-load.d.ts +28 -0
- package/dist/render/lib/chrome-load.js +1 -0
- package/dist/render/lib/click-ids.d.ts +8 -0
- package/dist/render/lib/click-ids.js +1 -0
- package/dist/render/lib/commerce.d.ts +42 -0
- package/dist/render/lib/commerce.js +1 -0
- package/dist/render/lib/consent/choice.d.ts +35 -0
- package/dist/render/lib/consent/choice.js +1 -0
- package/dist/render/lib/consent/rules.d.ts +60 -0
- package/dist/render/lib/consent/rules.js +1 -0
- package/dist/render/lib/content/catalog-filter-labels.d.ts +6 -0
- package/dist/render/lib/content/catalog-filter-labels.js +1 -0
- package/dist/render/lib/content/country-show-as.d.ts +9 -0
- package/dist/render/lib/content/country-show-as.js +1 -0
- package/dist/render/lib/content/english-variant.d.ts +4 -0
- package/dist/render/lib/content/english-variant.js +1 -0
- package/dist/render/lib/content/field-usage.d.ts +35 -0
- package/dist/render/lib/content/field-usage.js +1 -0
- package/dist/render/lib/content/header-bar.d.ts +8 -0
- package/dist/render/lib/content/header-bar.js +1 -0
- package/dist/render/lib/content/header-theme.d.ts +7 -0
- package/dist/render/lib/content/header-theme.js +1 -0
- package/dist/render/lib/content/menu-placeholder.d.ts +8 -0
- package/dist/render/lib/content/menu-placeholder.js +1 -0
- package/dist/render/lib/content/menu-row.d.ts +9 -0
- package/dist/render/lib/content/menu-row.js +1 -0
- package/dist/render/lib/content/product-hero.d.ts +13 -0
- package/dist/render/lib/content/product-hero.js +1 -0
- package/dist/render/lib/content/site.d.ts +62 -0
- package/dist/render/lib/content/site.js +1 -0
- package/dist/render/lib/content/source-values.d.ts +43 -0
- package/dist/render/lib/content/source-values.js +0 -0
- package/dist/render/lib/content/stock-words.d.ts +10 -0
- package/dist/render/lib/content/stock-words.js +1 -0
- package/dist/render/lib/countries.d.ts +5 -0
- package/dist/render/lib/countries.js +1 -0
- package/dist/render/lib/editor-route.d.ts +3 -0
- package/dist/render/lib/editor-route.js +1 -0
- package/dist/render/lib/email-shape.d.ts +1 -0
- package/dist/render/lib/email-shape.js +1 -0
- package/dist/render/lib/font-table.json +2588 -0
- package/dist/render/lib/forwarded-for.d.ts +6 -0
- package/dist/render/lib/forwarded-for.js +1 -0
- package/dist/render/lib/google-tag.d.ts +37 -0
- package/dist/render/lib/google-tag.js +1 -0
- package/dist/render/lib/header-settings-fetch.d.ts +5 -0
- package/dist/render/lib/header-settings-fetch.js +1 -0
- package/dist/render/lib/links/link-rules.d.ts +80 -0
- package/dist/render/lib/links/link-rules.js +1 -0
- package/dist/render/lib/logo/surface-is-light.d.ts +1 -0
- package/dist/render/lib/logo/surface-is-light.js +1 -0
- package/dist/render/lib/menu-link.d.ts +1 -0
- package/dist/render/lib/menu-link.js +1 -0
- package/dist/render/lib/menu-source.d.ts +23 -0
- package/dist/render/lib/menu-source.js +1 -0
- package/dist/render/lib/meta-pixel.d.ts +19 -0
- package/dist/render/lib/meta-pixel.js +1 -0
- package/dist/render/lib/newsletter-signup.d.ts +16 -0
- package/dist/render/lib/newsletter-signup.js +1 -0
- package/dist/render/lib/next-fonts.d.ts +3 -0
- package/dist/render/lib/next-fonts.js +1 -0
- package/dist/render/lib/popup/popup-rules.d.ts +25 -0
- package/dist/render/lib/popup/popup-rules.js +1 -0
- package/dist/render/lib/popup/text-kind-style.d.ts +3 -0
- package/dist/render/lib/popup/text-kind-style.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CartBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CartBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/Collections/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/commerce/Collections/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.d.ts +9 -0
- package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/DetailRows/render.d.ts +9 -0
- package/dist/render/lib/puck/blocks/commerce/DetailRows/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.d.ts +9 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/Gallery/render.d.ts +14 -0
- package/dist/render/lib/puck/blocks/commerce/Gallery/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryB/render.d.ts +13 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryB/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/Header/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/Header/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ProductHero/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/ProductHero/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ProductRef/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/ProductRef/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/SpecTable/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/commerce/SpecTable/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/placeholders.d.ts +4 -0
- package/dist/render/lib/puck/blocks/commerce/placeholders.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/renders.d.ts +32 -0
- package/dist/render/lib/puck/blocks/commerce/renders.js +1 -0
- package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/BookingBox/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/BookingBox/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/ContactRouting/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/ContactRouting/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Events/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/service/Events/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Footer/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/Footer/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterDivider/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterDivider/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterGroup/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/FooterGroup/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterLogo/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterLogo/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterMenu/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterMenu/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterSocial/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterSocial/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterText/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterText/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Form/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/Form/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/ReviewForm/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/service/ReviewForm/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Reviews/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/service/Reviews/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SiteFooter/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/service/SiteFooter/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SiteHeader/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/service/SiteHeader/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SubmitBox/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/SubmitBox/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SubmitBuild/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/SubmitBuild/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Subscribe/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/Subscribe/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.d.ts +17 -0
- package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/renders.d.ts +26 -0
- package/dist/render/lib/puck/blocks/service/renders.js +1 -0
- package/dist/render/lib/puck/blocks/service/subscribe.d.ts +33 -0
- package/dist/render/lib/puck/blocks/service/subscribe.js +1 -0
- package/dist/render/lib/puck/blocks/text-part-shapes.json +1649 -0
- package/dist/render/lib/puck/current-product.d.ts +19 -0
- package/dist/render/lib/puck/current-product.js +1 -0
- package/dist/render/lib/puck/current-record.d.ts +44 -0
- package/dist/render/lib/puck/current-record.js +1 -0
- package/dist/render/lib/puck/fitment-table-dynamic.d.ts +4 -0
- package/dist/render/lib/puck/fitment-table-dynamic.js +1 -0
- package/dist/render/lib/puck/footer-page-blocks.d.ts +7 -0
- package/dist/render/lib/puck/footer-page-blocks.js +1 -0
- package/dist/render/lib/puck/preview-pick.d.ts +7 -0
- package/dist/render/lib/puck/preview-pick.js +1 -0
- package/dist/render/lib/puck/preview-product.d.ts +6 -0
- package/dist/render/lib/puck/preview-product.js +1 -0
- package/dist/render/lib/puck/render-client.d.ts +5 -0
- package/dist/render/lib/puck/render-client.js +1 -0
- package/dist/render/lib/puck/render-config.d.ts +4 -0
- package/dist/render/lib/puck/render-config.js +1 -0
- package/dist/render/lib/puck/slot-seeds.d.ts +3 -0
- package/dist/render/lib/puck/slot-seeds.js +1 -0
- package/dist/render/lib/puck/storefront-root.d.ts +18 -0
- package/dist/render/lib/puck/storefront-root.js +1 -0
- package/dist/render/lib/puck/subscribe-content-type.d.ts +10 -0
- package/dist/render/lib/puck/subscribe-content-type.js +1 -0
- package/dist/render/lib/puck/template-product-kind.d.ts +7 -0
- package/dist/render/lib/puck/template-product-kind.js +1 -0
- package/dist/render/lib/sections/card-image-sizes.d.ts +12 -0
- package/dist/render/lib/sections/card-image-sizes.js +1 -0
- package/dist/render/lib/sections/card-show-defaults.d.ts +10 -0
- package/dist/render/lib/sections/card-show-defaults.js +1 -0
- package/dist/render/lib/sections/catalog-filter-layout.d.ts +7 -0
- package/dist/render/lib/sections/catalog-filter-layout.js +1 -0
- package/dist/render/lib/sections/fill-row.d.ts +16 -0
- package/dist/render/lib/sections/fill-row.js +1 -0
- package/dist/render/lib/sections/hero-arrangement.d.ts +11 -0
- package/dist/render/lib/sections/hero-arrangement.js +1 -0
- package/dist/render/lib/sections/hero-gallery.d.ts +14 -0
- package/dist/render/lib/sections/hero-gallery.js +1 -0
- package/dist/render/lib/sections/hero-price-placement.d.ts +7 -0
- package/dist/render/lib/sections/hero-price-placement.js +1 -0
- package/dist/render/lib/select-keys.d.ts +18 -0
- package/dist/render/lib/select-keys.js +1 -0
- package/dist/render/lib/site-headers.d.ts +3 -0
- package/dist/render/lib/site-headers.js +1 -0
- package/dist/render/lib/storefront-page-groups.d.ts +16 -0
- package/dist/render/lib/storefront-page-groups.js +1 -0
- package/dist/render/lib/storefront-page-order.d.ts +3 -0
- package/dist/render/lib/storefront-page-order.js +1 -0
- package/dist/render/lib/submit/text-kinds.d.ts +11 -0
- package/dist/render/lib/submit/text-kinds.js +1 -0
- package/dist/render/lib/tyres/eu-tyre-label.d.ts +29 -0
- package/dist/render/lib/tyres/eu-tyre-label.js +1 -0
- package/dist/render/lib/tyres/placeholder-tyre.d.ts +2 -0
- package/dist/render/lib/tyres/placeholder-tyre.js +1 -0
- package/dist/render/lib/tyres/spec-sheet.d.ts +12 -0
- package/dist/render/lib/tyres/spec-sheet.js +1 -0
- package/dist/render/lib/tyres/tyre-brand-name.d.ts +2 -0
- package/dist/render/lib/tyres/tyre-brand-name.js +1 -0
- package/dist/render/lib/tyres/tyre-fit-copy.d.ts +3 -0
- package/dist/render/lib/tyres/tyre-fit-copy.js +1 -0
- package/dist/render/lib/tyres/tyre-page-path.d.ts +2 -0
- package/dist/render/lib/tyres/tyre-page-path.js +1 -0
- package/dist/render/lib/tyres/tyre-purchase.d.ts +12 -0
- package/dist/render/lib/tyres/tyre-purchase.js +1 -0
- package/dist/render/lib/tyres/tyre-size-fit.d.ts +12 -0
- package/dist/render/lib/tyres/tyre-size-fit.js +1 -0
- package/dist/render/lib/tyres/tyre-size.d.ts +11 -0
- package/dist/render/lib/tyres/tyre-size.js +1 -0
- package/dist/render/lib/tyres/tyre-vehicle-fitment.d.ts +17 -0
- package/dist/render/lib/tyres/tyre-vehicle-fitment.js +1 -0
- package/dist/render/lib/uuid.d.ts +1 -0
- package/dist/render/lib/uuid.js +1 -0
- package/dist/render/lib/wheels/applied-vehicle.d.ts +1 -0
- package/dist/render/lib/wheels/applied-vehicle.js +1 -0
- package/dist/render/lib/wheels/catalog-default-layout.d.ts +14 -0
- package/dist/render/lib/wheels/catalog-default-layout.js +1 -0
- package/dist/render/lib/wheels/catalog-filters-to-listing.d.ts +9 -0
- package/dist/render/lib/wheels/catalog-filters-to-listing.js +1 -0
- package/dist/render/lib/wheels/catalog-filters.d.ts +19 -0
- package/dist/render/lib/wheels/catalog-filters.js +1 -0
- package/dist/render/lib/wheels/collections.d.ts +22 -0
- package/dist/render/lib/wheels/collections.js +1 -0
- package/dist/render/lib/wheels/cover-rendering.d.ts +23 -0
- package/dist/render/lib/wheels/cover-rendering.js +1 -0
- package/dist/render/lib/wheels/detail-shots.d.ts +10 -0
- package/dist/render/lib/wheels/detail-shots.js +1 -0
- package/dist/render/lib/wheels/finish-colour-match.d.ts +4 -0
- package/dist/render/lib/wheels/finish-colour-match.js +1 -0
- package/dist/render/lib/wheels/finish-defaults.d.ts +16 -0
- package/dist/render/lib/wheels/finish-defaults.js +1 -0
- package/dist/render/lib/wheels/finish-photos.d.ts +2 -0
- package/dist/render/lib/wheels/finish-photos.js +1 -0
- package/dist/render/lib/wheels/fitment-columns.d.ts +9 -0
- package/dist/render/lib/wheels/fitment-columns.js +1 -0
- package/dist/render/lib/wheels/fitment-options.d.ts +18 -0
- package/dist/render/lib/wheels/fitment-options.js +1 -0
- package/dist/render/lib/wheels/fitment-row-fit.d.ts +17 -0
- package/dist/render/lib/wheels/fitment-row-fit.js +1 -0
- package/dist/render/lib/wheels/fitments.d.ts +13 -0
- package/dist/render/lib/wheels/fitments.js +1 -0
- package/dist/render/lib/wheels/grid-source.d.ts +12 -0
- package/dist/render/lib/wheels/grid-source.js +1 -0
- package/dist/render/lib/wheels/listable-wheels.d.ts +3 -0
- package/dist/render/lib/wheels/listable-wheels.js +1 -0
- package/dist/render/lib/wheels/lug-count.d.ts +10 -0
- package/dist/render/lib/wheels/lug-count.js +1 -0
- package/dist/render/lib/wheels/pdp-fit-verdict.d.ts +27 -0
- package/dist/render/lib/wheels/pdp-fit-verdict.js +1 -0
- package/dist/render/lib/wheels/picker-goes-to-the-shop.d.ts +10 -0
- package/dist/render/lib/wheels/picker-goes-to-the-shop.js +1 -0
- package/dist/render/lib/wheels/placeholder-wheel.d.ts +3 -0
- package/dist/render/lib/wheels/placeholder-wheel.js +1 -0
- package/dist/render/lib/wheels/plp-filters.d.ts +100 -0
- package/dist/render/lib/wheels/plp-filters.js +1 -0
- package/dist/render/lib/wheels/plp-fitment-match.d.ts +61 -0
- package/dist/render/lib/wheels/plp-fitment-match.js +1 -0
- package/dist/render/lib/wheels/plp-grid.d.ts +18 -0
- package/dist/render/lib/wheels/plp-grid.js +1 -0
- package/dist/render/lib/wheels/plp-hydrate.d.ts +21 -0
- package/dist/render/lib/wheels/plp-hydrate.js +1 -0
- package/dist/render/lib/wheels/plp-vehicle-params.d.ts +10 -0
- package/dist/render/lib/wheels/plp-vehicle-params.js +1 -0
- package/dist/render/lib/wheels/pre-order-intent.d.ts +3 -0
- package/dist/render/lib/wheels/pre-order-intent.js +1 -0
- package/dist/render/lib/wheels/pre-order.d.ts +7 -0
- package/dist/render/lib/wheels/pre-order.js +1 -0
- package/dist/render/lib/wheels/price-display.d.ts +47 -0
- package/dist/render/lib/wheels/price-display.js +1 -0
- package/dist/render/lib/wheels/render-fit.d.ts +3 -0
- package/dist/render/lib/wheels/render-fit.js +1 -0
- package/dist/render/lib/wheels/renderable-finishes.d.ts +6 -0
- package/dist/render/lib/wheels/renderable-finishes.js +1 -0
- package/dist/render/lib/wheels/selected-studs.d.ts +9 -0
- package/dist/render/lib/wheels/selected-studs.js +1 -0
- package/dist/render/lib/wheels/set-mode.d.ts +34 -0
- package/dist/render/lib/wheels/set-mode.js +1 -0
- package/dist/render/lib/wheels/size-range.d.ts +10 -0
- package/dist/render/lib/wheels/size-range.js +1 -0
- package/dist/render/lib/wheels/spec-format.d.ts +7 -0
- package/dist/render/lib/wheels/spec-format.js +1 -0
- package/dist/render/lib/wheels/spec-sheet.d.ts +58 -0
- package/dist/render/lib/wheels/spec-sheet.js +1 -0
- package/dist/render/lib/wheels/tyre-render.d.ts +34 -0
- package/dist/render/lib/wheels/tyre-render.js +1 -0
- package/dist/render/lib/wheels/variant-spec.d.ts +9 -0
- package/dist/render/lib/wheels/variant-spec.js +1 -0
- package/dist/render/lib/wheels/variants.d.ts +8 -0
- package/dist/render/lib/wheels/variants.js +1 -0
- package/dist/render/lib/wheels/vehicle-field-focus.d.ts +7 -0
- package/dist/render/lib/wheels/vehicle-field-focus.js +1 -0
- package/dist/render/lib/wheels/vehicle-memory.d.ts +25 -0
- package/dist/render/lib/wheels/vehicle-memory.js +1 -0
- package/dist/render/lib/wheels/wheel-name.d.ts +4 -0
- package/dist/render/lib/wheels/wheel-name.js +1 -0
- package/dist/render/lib/wheels/wheel-specs.d.ts +14 -0
- package/dist/render/lib/wheels/wheel-specs.js +1 -0
- package/dist/render/lib/wheels/wheel-summary-casing.d.ts +4 -0
- package/dist/render/lib/wheels/wheel-summary-casing.js +1 -0
- package/dist/render/lib/wheels/wheels.d.ts +38 -0
- package/dist/render/lib/wheels/wheels.js +1 -0
- package/dist/render/mocks/fitment-snapshot.json +3911 -0
- package/dist/render/mocks/gallery-builds.json +213 -0
- package/dist/words.d.ts +68 -7
- package/dist/words.js +5 -5
- package/package.json +37 -5
- package/dist/chunks/chunk-BDITPYS5.js +0 -1
- package/dist/chunks/chunk-EHKAKDFN.js +0 -255
- /package/dist/chunks/{chunk-4NM2MDGN.js → chunk-76HTJBKU.js} +0 -0
- /package/dist/chunks/{chunk-EHKAKDFN.js.LEGAL.txt → chunk-PHH7L5FJ.js.LEGAL.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{PRODUCT_API_BASE as c,apiFetch as m}from"../api/index.js";import{parseTyreSize as u,tyreSizeLabel as y}from"./tyre-size.js";function k(t){if(!t||t.year===null)return null;const{make:n,model:e,year:r,modification:o}=t;return!n||!e||!o?null:{make:n,model:e,year:r,modification:o}}function l(t,n){const e=new URLSearchParams({make:n.make,model:n.model,year:String(n.year),modification:n.modification});return`/api/v1/tyres/${encodeURIComponent(t)}/fitment?${e.toString()}`}function s(t,n=""){return{vehicle:{...t,region:n},status:"unknown",oemSizes:[],variants:[]}}function p(t,n){if(typeof n!="object"||n===null)return s(t);const e=n,r=typeof e.vehicle=="object"&&e.vehicle!==null?e.vehicle:{},o=typeof r.region=="string"?r.region:"",a=e.status;if(a!=="fits"&&a!=="doesNotFit")return s(t,o);const f=Array.isArray(e.variants)?e.variants.filter(i=>typeof i=="object"&&i!==null&&typeof i.sku=="string"&&typeof i.fits=="boolean"):[];return f.length===0?s(t,o):{vehicle:{make:typeof r.make=="string"?r.make:t.make,model:typeof r.model=="string"?r.model:t.model,year:typeof r.year=="number"?r.year:t.year,modification:typeof r.modification=="string"?r.modification:t.modification,region:o},status:a,oemSizes:Array.isArray(e.oemSizes)?e.oemSizes.filter(i=>typeof i=="string"):[],variants:f.map(i=>({sku:i.sku,size:typeof i.size=="string"?i.size:"",fits:i.fits}))}}async function z(t,n){try{const e=await m(l(t,n),{baseUrl:c});return p(n,e)}catch{return s(n)}}function S(t){if(!t)return[];const n=[];for(const e of[...t.frontTyres,...t.rearTyres]){const r=u(e);if(!r)continue;const o=y(r);n.includes(o)||n.push(o)}return n}function b(t,n){if(n.length===0)return null;for(const e of t){const r=u(e);if(!r)continue;const o=y(r);if(n.includes(o))return o}return null}function A(t,n){if(!t||t.status==="unknown")return"unknown";const e=t.variants.find(r=>r.sku===n);return e?e.fits?"fits":"doesNotFit":"unknown"}export{z as loadTyreVehicleFitment,b as oemBadgeSize,S as oemTyreSizes,p as toTyreFitAnswer,k as tyreFitQuery,l as tyreVehicleFitmentPath,A as variantFitStatus};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function uuid(): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function r(){const o=typeof crypto<"u"?crypto:void 0;if(typeof o?.randomUUID=="function")return o.randomUUID();const e=new Uint8Array(16);if(typeof o?.getRandomValues=="function")o.getRandomValues(e);else for(let n=0;n<e.length;n++)e[n]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;const t=Array.from(e,n=>n.toString(16).padStart(2,"0")).join("");return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}export{r as uuid};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function clearAppliedVehicle(): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{storefrontVehicleMemory as e}from"./vehicle-memory.js";function o(){e.clear()}export{o as clearAppliedVehicle};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Data } from "efficient-easel/blocks";
|
|
2
|
+
import type { WheelSummary } from "../api/index.js";
|
|
3
|
+
import { type TreeItem } from "efficient-easel/screen/lib/puck/content-tree";
|
|
4
|
+
export declare const WHEELS_PAGE_SLUG = "wheels";
|
|
5
|
+
export declare const EMPTY_CATALOG_DATA: Data;
|
|
6
|
+
type LooseNode = {
|
|
7
|
+
type?: string;
|
|
8
|
+
props?: Record<string, unknown>;
|
|
9
|
+
};
|
|
10
|
+
export declare function hasCatalogSections(content: ReadonlyArray<LooseNode>): boolean;
|
|
11
|
+
export declare function buildCatalogSections(catalog?: WheelSummary[]): TreeItem[];
|
|
12
|
+
export declare function ensureWheelsCatalogSections(slug: string, data: Data, catalog?: WheelSummary[]): Data;
|
|
13
|
+
export declare function scopeCatalogSections(data: Data, catalog: WheelSummary[]): Data;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{COLLECTIONS as l,collectionsForCatalog as u,siteProcesses as p,slugifyProcess as a}from"./collections.js";import{FOOTER_TYPE as f}from"efficient-easel/screen/lib/puck/content-tree";import{CARD_IMAGE_BG_OFF as m}from"efficient-web-builder/format/lib/content/card-image-background";import{PAGE_WIDTH as C}from"efficient-web-builder/format/lib/content/page-width";import{DEFAULT_TITLE_SIZE as d}from"../../components/ProductGridSection.js";const h="wheels",E="collection:",L={content:[],root:{},zones:{}};function g(t){const o=t?.props?.source;return t?.type==="ProductGrid"&&!!o?.process}function P(t){return t.some(o=>o?.type==="CatalogFilterBar"||g(o))}function T(){return{type:"CatalogFilterBar",props:{id:"CatalogFilterBar-wheels-seed",showProcess:!0,showLugs:!0,showPrice:!0,showCount:!0,showSort:!0}}}function x(t,o){const r=a(t);return{type:"ProductGrid",props:{id:`ProductGrid-wheels-${r}`,dynamic:!1,num:o,title:t,titleSize:d,padTop:100,description:"",linkText:"Explore the collection",linkHref:`/wheels/collections/${r}`,columns:4,showAll:!0,limit:8,imageBackground:m,spinOnHover:!0,source:{slug:`${E}${r}`,name:t,process:t},fullWidth:!0,pageWidth:C.default,products:[]}}}function G(t){const o=t?u(t):l;return[T(),...o.map(r=>x(r.key,r.num))]}function O(t,o,r){if(t!==h)return o;const n=o?.content??[];if(P(n))return o;const s=G(r),e=n.findIndex(i=>i?.type===f),c=e===-1?[...n,...s]:[...n.slice(0,e),...s,...n.slice(e)];return{...o,content:c}}function S(t,o){const r=t?.content??[],n=p(o),s=r.map(e=>{const c=e?.props?.source;return e?.type==="CatalogFilterBar"?{...e,props:{...e.props,processOptions:n}}:e?.type!=="ProductGrid"||!c?.process||n.includes(c.process)?e:null}).filter(e=>e!==null);return{...t,content:s}}export{L as EMPTY_CATALOG_DATA,h as WHEELS_PAGE_SLUG,G as buildCatalogSections,O as ensureWheelsCatalogSections,P as hasCatalogSections,S as scopeCatalogSections};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type PlpFilterState } from "./plp-filters.js";
|
|
2
|
+
import type { CatalogFilterState } from "./catalog-filters.js";
|
|
3
|
+
import type { VehicleSelection } from "./fitment-options.js";
|
|
4
|
+
export type UnmappableCatalogFacet = "lugs" | "priceMin";
|
|
5
|
+
export declare const UNMAPPABLE_FACET_LABELS: Record<UnmappableCatalogFacet, string>;
|
|
6
|
+
export declare const RESULTS_LINK_BLOCKED_NOTE: string;
|
|
7
|
+
export declare function unmappableCatalogFacets(f: CatalogFilterState): UnmappableCatalogFacet[];
|
|
8
|
+
export declare function catalogFiltersToListingFilters(f: CatalogFilterState): PlpFilterState;
|
|
9
|
+
export declare function listingLinkFromCatalogFilters(href: string, f: CatalogFilterState, vehicle: VehicleSelection | null): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{EMPTY_PLP_FILTERS as h,plpFiltersToParams as g}from"./plp-filters.js";import{appendVehicleParams as d}from"./plp-vehicle-params.js";const x={lugs:"Lugs",priceMin:"Price from"},P="The results link is off while the Lugs filter is on. The product listing page filters on bolt pattern and has no lug filter, so a shopper's lug choice could not be carried across — they would land on a wider set of products than they asked for. Turn Lugs off to use the results link.";function E(s){const e=[];return s.lugs!=null&&e.push("lugs"),s.priceMin!=null&&e.push("priceMin"),e}function f(s){return s==="default"?"recommended":s}function m(s){return{...h,collections:s.process?[s.process]:[],diameters:s.size!=null?[s.size]:[],finishes:s.finish?[s.finish]:[],priceMax:s.priceMax,sort:f(s.sort)}}function F(s,e,l){const t=s.indexOf("#"),c=t===-1?"":s.slice(t),o=t===-1?s:s.slice(0,t),i=o.indexOf("?"),a=i===-1?o:o.slice(0,i),n=new URLSearchParams(i===-1?"":o.slice(i+1));for(const[u,p]of g(m(e)))n.set(u,p);d(n,l);const r=n.toString();return`${a}${r?`?${r}`:""}${c}`}export{P as RESULTS_LINK_BLOCKED_NOTE,x as UNMAPPABLE_FACET_LABELS,m as catalogFiltersToListingFilters,F as listingLinkFromCatalogFilters,E as unmappableCatalogFacets};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { FinishFamily, Process, WheelSummary } from "../api/index.js";
|
|
2
|
+
import { type VehicleFitment } from "./plp-fitment-match.js";
|
|
3
|
+
import type { Currency } from "./wheels.js";
|
|
4
|
+
export type SortKey = "default" | "new" | "price-asc" | "price-desc" | "name";
|
|
5
|
+
export declare const SORT_LABELS: Record<SortKey, string>;
|
|
6
|
+
export interface CatalogFilterState {
|
|
7
|
+
process: Process | null;
|
|
8
|
+
size: number | null;
|
|
9
|
+
lugs: number | null;
|
|
10
|
+
finish: FinishFamily | null;
|
|
11
|
+
priceMin: number | null;
|
|
12
|
+
priceMax: number | null;
|
|
13
|
+
sort: SortKey;
|
|
14
|
+
}
|
|
15
|
+
export declare const EMPTY_FILTERS: CatalogFilterState;
|
|
16
|
+
export declare function wheelMatchesFilters(wheel: WheelSummary, f: CatalogFilterState, currency: Currency): boolean;
|
|
17
|
+
export declare function sortWheels(wheels: WheelSummary[], sort: SortKey, currency: Currency): WheelSummary[];
|
|
18
|
+
export declare function applyCatalogFilters(wheels: WheelSummary[], f: CatalogFilterState, currency: Currency, fit?: VehicleFitment | null): WheelSummary[];
|
|
19
|
+
export declare function hasActiveFilters(f: CatalogFilterState): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{wheelsFittingVehicle as l}from"./plp-fitment-match.js";import{comparePrice as n,withinPriceRange as u}from"./price-display.js";import{itemLugs as o}from"./lug-count.js";const d={default:"Sort · Featured",new:"Newest","price-asc":"Price · Low","price-desc":"Price · High",name:"Name A–Z"},h={process:null,size:null,lugs:null,finish:null,priceMin:null,priceMax:null,sort:"default"};function a(e,r,s){return!(r.process&&e.process!==r.process||r.size&&!e.sizes.includes(r.size)||r.lugs!=null&&o(e)!==r.lugs||r.finish&&!e.finishes.some(i=>i.family===r.finish)||!u(e.prices,s,r.priceMin,r.priceMax))}function p(e,r,s){return[...e].sort((i,t)=>{switch(r){case"price-asc":return n(i.prices,t.prices,s,"asc");case"price-desc":return n(i.prices,t.prices,s,"desc");case"name":return i.name.localeCompare(t.name);case"new":return(t.badge==="new"?1:0)-(i.badge==="new"?1:0);default:return 0}})}function x(e,r,s,i=null){const t=l(e,i);return p(t.filter(c=>a(c,r,s)),r.sort,s)}function M(e){return!!(e.process||e.size||e.lugs||e.finish||e.priceMin!=null||e.priceMax!=null)}export{h as EMPTY_FILTERS,d as SORT_LABELS,x as applyCatalogFilters,M as hasActiveFilters,p as sortWheels,a as wheelMatchesFilters};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Process } from "../api/index.js";
|
|
2
|
+
export interface CollectionMeta {
|
|
3
|
+
key: Process;
|
|
4
|
+
num: string;
|
|
5
|
+
title: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function slugifyProcess(process: string): string;
|
|
8
|
+
export declare const COLLECTIONS: CollectionMeta[];
|
|
9
|
+
export declare function siteProcesses(catalog: ReadonlyArray<{
|
|
10
|
+
process?: string;
|
|
11
|
+
}>): Process[];
|
|
12
|
+
export declare function collectionsForCatalog(catalog: ReadonlyArray<{
|
|
13
|
+
process?: string;
|
|
14
|
+
}>): CollectionMeta[];
|
|
15
|
+
export interface SiteCollectionMeta extends Omit<CollectionMeta, "key"> {
|
|
16
|
+
key: string;
|
|
17
|
+
slug: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function siteCollections(catalog: ReadonlyArray<{
|
|
20
|
+
process?: string;
|
|
21
|
+
}>): SiteCollectionMeta[];
|
|
22
|
+
export declare const COLLECTION_ANCHORS: Record<Process, string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as a,jsxs as f}from"react/jsx-runtime";import{Fragment as m}from"react";import g from"efficient-web-builder/render/components/RMark";import{slugify as S}from"efficient-web-builder/format/lib/slugify";const s=["FusionForge®","Precision Forged","Monoblock Cast"];function p(t){return S(t)}function u(t){const n=t.split("®");return n.length===1?t:n.map((e,o)=>f(m,{children:[e,o<n.length-1&&a(g,{})]},o))}const O=s.map((t,n)=>({key:t,num:String(n+1).padStart(2,"0"),title:u(t)}));function l(t){if(t.length===0)return[...s];const n=new Set(t.map(e=>e.process));return s.filter(e=>n.has(e))}function j(t){return l(t).map((n,e)=>({key:n,num:String(e+1).padStart(2,"0"),title:u(n)}))}function k(t){const n=l(t),e=t.map(r=>r.process).filter(r=>!!r&&!s.includes(r)),o=new Set,c=[];for(const r of[...n,...e]){const i=p(r);!i||o.has(i)||(o.add(i),c.push({key:r,slug:i,num:String(c.length+1).padStart(2,"0"),title:u(r)}))}return c}const y=Object.fromEntries(s.map(t=>[t,p(t)]));export{O as COLLECTIONS,y as COLLECTION_ANCHORS,j as collectionsForCatalog,k as siteCollections,l as siteProcesses,p as slugifyProcess};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Finish, WheelSummary } from "../api/index.js";
|
|
2
|
+
import { COVER_INDEX_MAX, COVER_INDEX_MIN, COVER_INDEX_OPTIONS, DEFAULT_COVER_INDEX } from "efficient-web-builder/format/lib/sections/card-cover-index";
|
|
3
|
+
export { COVER_INDEX_MAX, COVER_INDEX_MIN, COVER_INDEX_OPTIONS, DEFAULT_COVER_INDEX };
|
|
4
|
+
export declare function parseCoverIndex(value: unknown): number;
|
|
5
|
+
export declare function lugRenderingsFor(finish: Pick<Finish, "lugRenderings"> | undefined, carStuds: number | null | undefined): readonly string[] | null;
|
|
6
|
+
export declare function axisRenderingsFor(finish: Pick<Finish, "axisRenderings"> | undefined, renderKey: string | null | undefined): readonly string[] | null;
|
|
7
|
+
export interface CoverSrcInput {
|
|
8
|
+
carRenderings?: readonly string[] | null;
|
|
9
|
+
renderings: readonly string[] | undefined;
|
|
10
|
+
coverIndex: number;
|
|
11
|
+
shownFinishName: string | undefined;
|
|
12
|
+
defaultFinishName: string | null | undefined;
|
|
13
|
+
shownSrc: string | null;
|
|
14
|
+
}
|
|
15
|
+
export declare function resolveCoverSrc({ carRenderings, renderings, coverIndex, shownFinishName, defaultFinishName, shownSrc, }: CoverSrcInput): string | null;
|
|
16
|
+
export declare function resolvePaintedSrc({ overrideSrc, hookSrc, failed, }: {
|
|
17
|
+
overrideSrc: string | null;
|
|
18
|
+
hookSrc: string | null;
|
|
19
|
+
failed: ReadonlySet<string>;
|
|
20
|
+
}): string | null;
|
|
21
|
+
export declare function coverSrcForWheel(wheel: Pick<WheelSummary, "defaultFinish" | "defaultFinishRenderings"> & {
|
|
22
|
+
finishes?: readonly Pick<Finish, "name" | "lugRenderings">[];
|
|
23
|
+
}, coverIndex: number, shownFinishName: string | undefined, shownSrc: string | null, carStuds?: number | null): string | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{COVER_INDEX_MAX as o,COVER_INDEX_MIN as l,COVER_INDEX_OPTIONS as p,DEFAULT_COVER_INDEX as s}from"efficient-web-builder/format/lib/sections/card-cover-index";function m(t){const n=typeof t=="number"?t:Number.parseInt(String(t??""),10);return!Number.isFinite(n)||n<l||n>o?s:Math.trunc(n)}function a(t,n){if(!t||!n||!Number.isFinite(n)||n<=0)return null;const r=t.lugRenderings?.[String(n)];if(!Array.isArray(r))return null;const i=r.filter(e=>typeof e=="string"&&e.length>0);return i.length>0?i:null}function _(t,n){if(!t||!n)return null;const r=t.axisRenderings?.[n];if(!Array.isArray(r))return null;const i=r.filter(e=>typeof e=="string"&&e.length>0);return i.length>0?i:null}function x({carRenderings:t,renderings:n,coverIndex:r,shownFinishName:i,defaultFinishName:e,shownSrc:u}){if(t&&t.length>0){const g=Math.min(Math.max(r,l)-1,t.length-1);return t[g]??u}if(r<=l||!n||n.length===0||!e||i!==e)return u;const f=Math.min(r-1,n.length-1);return n[f]??u}function N({overrideSrc:t,hookSrc:n,failed:r}){return t&&!r.has(t)?t:n&&n!==t&&!r.has(n)?n:null}function R(t,n,r,i,e){const u=r===void 0?void 0:t.finishes?.find(f=>f.name===r);return x({carRenderings:a(u,e),renderings:t.defaultFinishRenderings,coverIndex:n,shownFinishName:r,defaultFinishName:t.defaultFinish,shownSrc:i})}export{o as COVER_INDEX_MAX,l as COVER_INDEX_MIN,p as COVER_INDEX_OPTIONS,s as DEFAULT_COVER_INDEX,_ as axisRenderingsFor,R as coverSrcForWheel,a as lugRenderingsFor,m as parseCoverIndex,x as resolveCoverSrc,N as resolvePaintedSrc};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Finish } from "../api/index.js";
|
|
2
|
+
export type DetailShot = NonNullable<Finish["detailShots"]>[number];
|
|
3
|
+
export interface DetailShotPick {
|
|
4
|
+
rows: DetailShot[];
|
|
5
|
+
shownFor: number | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function pickDetailShots(finish: Pick<Finish, "detailShots"> | undefined, carStuds: number | null): DetailShotPick;
|
|
8
|
+
export declare function detailShotsFor(finish: Pick<Finish, "detailShots"> | undefined, carStuds: number | null): DetailShot[];
|
|
9
|
+
export declare function detailShotTag(shot: DetailShot, pick: DetailShotPick, carStuds: number | null): string | undefined;
|
|
10
|
+
export declare function variesByCar(shot: DetailShot, all: readonly DetailShot[]): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function d(e,r){const t=e?.detailShots;if(!Array.isArray(t)||t.length===0)return{rows:[],shownFor:null};const s=t.filter(n=>!!n&&typeof n.url=="string"&&!!n.url&&typeof n.title=="string"&&!!n.title);if(s.length===0)return{rows:[],shownFor:null};const o=s.filter(n=>f(n).length>0).flatMap(f);let l=r,a=null;if(l==null)l=o.length?Math.min(...o):null;else if(o.length&&!o.includes(l)){const n=l;l=o.reduce((u,i)=>{const g=Math.abs(i-n),c=Math.abs(u-n);return g<c||g===c&&i>u?i:u}),a=l}const h=new Set;return{rows:s.filter(n=>{const u=f(n);if(u.length>0&&(l==null||!u.includes(l)))return!1;const i=JSON.stringify([n.eyebrow??"",n.title,n.line??"",[...u].sort()]);return h.has(i)?!1:(h.add(i),!0)}),shownFor:a}}function y(e,r){return d(e,r).rows}function f(e){return Array.isArray(e.lugs)?e.lugs.filter(r=>typeof r=="number"):[]}function p(e,r,t){if(t!=null)return r.shownFor!=null?f(e).length>0?`Shown on the ${r.shownFor} lug wheel. Your ${t} lug wheel may look different.`:void 0:w(e,r.rows)?`Shown for your ${t} lug`:void 0}function w(e,r){const t=Array.isArray(e.lugs)?e.lugs:[];if(t.length===0)return!1;const s=new Set;for(const o of r)for(const l of o.lugs??[])s.add(l);return t.length<s.size}export{p as detailShotTag,y as detailShotsFor,d as pickDetailShots,w as variesByCar};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function r(i,n){return n.length===0?-1:i.findIndex(e=>n.includes(e.family))}export{r as firstFinishInFamilies};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Finish, FinishFamily } from "../api/index.js";
|
|
2
|
+
export declare const DEFAULT_FINISH_COLOR = "#c9a461";
|
|
3
|
+
export declare const FINISH_FAMILY_SWATCHES: {
|
|
4
|
+
f: FinishFamily;
|
|
5
|
+
label: string;
|
|
6
|
+
hex: string;
|
|
7
|
+
}[];
|
|
8
|
+
export declare const FALLBACK_FINISH: Finish;
|
|
9
|
+
export declare function compareFinishFamily(a: string, b: string): number;
|
|
10
|
+
interface HasFinishes {
|
|
11
|
+
finishes?: readonly {
|
|
12
|
+
family?: string | null;
|
|
13
|
+
}[] | null;
|
|
14
|
+
}
|
|
15
|
+
export declare function finishFamiliesOf(items: readonly HasFinishes[]): string[];
|
|
16
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const c="#c9a461",a=[{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"}],t={name:"",color:"var(--fg)",family:"silver",src:""};function l(n,e){const r=i=>{const o=a.findIndex(f=>f.f===i);return o===-1?a.length:o};return r(n)-r(e)||n.localeCompare(e)}function s(n){const e=new Set;for(const r of n)for(const i of r.finishes??[])i?.family&&e.add(i.family);return[...e].sort(l)}export{c as DEFAULT_FINISH_COLOR,t as FALLBACK_FINISH,a as FINISH_FAMILY_SWATCHES,l as compareFinishFamily,s as finishFamiliesOf};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function i(s){const o=s.angles??(s.src?[s.src]:[]),e=[],l=[];for(const n of o)(n.split("/").pop()??"").includes("20-20")?e.push(n):l.push(n);return[...l,...e]}export{i as finishAngles};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type FieldUsageAnswer } from "../content/field-usage.js";
|
|
2
|
+
import type { FitmentRow } from "./fitments.js";
|
|
3
|
+
export interface FitmentColumn {
|
|
4
|
+
fieldKey: string;
|
|
5
|
+
header: string;
|
|
6
|
+
cell: (row: FitmentRow) => string | number;
|
|
7
|
+
}
|
|
8
|
+
export declare const FITMENT_COLUMNS: readonly FitmentColumn[];
|
|
9
|
+
export declare function fitmentColumns(answers: readonly FieldUsageAnswer[]): readonly FitmentColumn[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{keepForFitment as i,orderByAnswers as a}from"../content/field-usage.js";const t=[{fieldKey:"diameter",header:"Diameter",cell:e=>e.diameter},{fieldKey:"width",header:"Width",cell:e=>e.width},{fieldKey:"holes",header:"Holes",cell:e=>e.holes},{fieldKey:"pcd",header:"PCD",cell:e=>e.pcd},{fieldKey:"et",header:"ET",cell:e=>e.et},{fieldKey:"center_bore",header:"C/B",cell:e=>e.cb},{fieldKey:"cap_code",header:"Cap",cell:e=>e.cap},{fieldKey:"bolt_pattern",header:"Bolt Pattern",cell:e=>e.boltPattern},{fieldKey:"load_rating",header:"Load Rating",cell:e=>e.loadRating}];function c(e){if(e.length===0)return t;const d=i(e),r=t.filter(l=>d(l.fieldKey));return a(r,l=>l.fieldKey,e,"fitmentOrder")}export{t as FITMENT_COLUMNS,c as fitmentColumns};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Process } from "../api/index.js";
|
|
2
|
+
export interface VehicleSelection {
|
|
3
|
+
year: number | null;
|
|
4
|
+
make: string;
|
|
5
|
+
model: string;
|
|
6
|
+
modification: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const DEFAULT_VEHICLE: VehicleSelection;
|
|
9
|
+
export interface PopularVehicle {
|
|
10
|
+
label: {
|
|
11
|
+
strong: string;
|
|
12
|
+
rest: string;
|
|
13
|
+
};
|
|
14
|
+
vehicle: VehicleSelection;
|
|
15
|
+
}
|
|
16
|
+
export declare const POPULAR: PopularVehicle[];
|
|
17
|
+
export type FilterKey = "all" | "forge" | "fusion" | "cast";
|
|
18
|
+
export declare const FILTER_PROCESS: Record<FilterKey, Process | null>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={year:null,make:"",model:"",modification:""},a=[{label:{strong:"BMW",rest:"M3"},vehicle:{year:2024,make:"bmw",model:"m3",modification:""}},{label:{strong:"Audi",rest:"RS6 Avant"},vehicle:{year:2024,make:"audi",model:"rs6",modification:""}},{label:{strong:"Mercedes",rest:"C-Class AMG"},vehicle:{year:2024,make:"mercedes",model:"c-class-amg",modification:""}},{label:{strong:"Tesla",rest:"Model 3"},vehicle:{year:2024,make:"tesla",model:"model-3",modification:""}},{label:{strong:"Ferrari",rest:"296 GTB"},vehicle:{year:2024,make:"ferrari",model:"296-gtb",modification:""}},{label:{strong:"Lambo",rest:"Huracán"},vehicle:{year:2024,make:"lamborghini",model:"huracan",modification:""}},{label:{strong:"Toyota",rest:"GR Supra"},vehicle:{year:2024,make:"toyota",model:"supra",modification:""}},{label:{strong:"Nissan",rest:"GT-R"},vehicle:{year:2024,make:"nissan",model:"gt-r",modification:""}},{label:{strong:"McLaren",rest:"750S"},vehicle:{year:2024,make:"mclaren",model:"750s",modification:""}}],o={all:null,forge:"Precision Forged",fusion:"FusionForge®",cast:"Monoblock Cast"};export{e as DEFAULT_VEHICLE,o as FILTER_PROCESS,a as POPULAR};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { FitmentRow } from "./fitments.js";
|
|
2
|
+
import { type VehicleFitment, type WheelFitment } from "./plp-fitment-match.js";
|
|
3
|
+
export type FitmentRowTone = "ask" | "checking" | "unknown" | "fits" | "warn" | "no-fit";
|
|
4
|
+
export interface FitmentRowAnswer {
|
|
5
|
+
tone: FitmentRowTone;
|
|
6
|
+
lead: string;
|
|
7
|
+
detail: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const ROW_ASK_LEAD = "Pick your car";
|
|
10
|
+
export declare const ROW_ASK_DETAIL = "and we will check this size against it.";
|
|
11
|
+
export declare function fitmentRowFitment(row: FitmentRow): WheelFitment;
|
|
12
|
+
export interface RowVehicle {
|
|
13
|
+
appliedName: string;
|
|
14
|
+
fit: VehicleFitment | null;
|
|
15
|
+
resolving: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function fitmentRowAnswer(row: FitmentRow, vehicle: RowVehicle): FitmentRowAnswer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{fitRefusal as o}from"./pdp-fit-verdict.js";import{fitmentFitFailure as l}from"./plp-fitment-match.js";const s="Pick your car",f="and we will check this size against it.";function r(t){const e=(t.pcd??"").trim();return{pcds:e?[t.holes>0?`${t.holes}×${e}`:e]:[],lugs:t.holes>0?t.holes:null,etRange:Number.isFinite(t.et)?[t.et,t.et]:null,centreBores:Number.isFinite(t.cb)&&t.cb>0?[t.cb]:[]}}function c(t,e){const n=e.appliedName;if(n==="")return{tone:"ask",lead:s,detail:f};if(e.resolving)return{tone:"checking",lead:"Checking",detail:`your ${n}…`};if(!e.fit)return{tone:"unknown",lead:"Cannot check",detail:`We have no factory wheel data for the ${n}, and we will not guess at a fit.`};const i=l(r(t),e.fit);if(i===null)return{tone:"fits",lead:`Fits your ${n}`,detail:""};if(i.key==="unverifiable")return{tone:"unknown",lead:"Cannot check",detail:"We do not hold a bolt pattern for this size, and we will not guess at a fit."};if(i.key==="et"){const a=l(r(t),{...e.fit,etRange:null});return a===null?{tone:"warn",lead:`Fits your ${n}`,detail:`Check the offset. ${o(i)}`}:{tone:"no-fit",lead:`Does not fit your ${n}`,detail:o(a)}}return{tone:"no-fit",lead:`Does not fit your ${n}`,detail:o(i)}}export{f as ROW_ASK_DETAIL,s as ROW_ASK_LEAD,c as fitmentRowAnswer,r as fitmentRowFitment};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface FitmentRow {
|
|
2
|
+
diameter: number;
|
|
3
|
+
width: number;
|
|
4
|
+
holes: number;
|
|
5
|
+
pcd: string;
|
|
6
|
+
et: number;
|
|
7
|
+
cb: number;
|
|
8
|
+
cap: string;
|
|
9
|
+
boltPattern: string;
|
|
10
|
+
loadRating: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const FITMENTS: Record<string, FitmentRow[]>;
|
|
13
|
+
export declare function getFitments(slug: string): FitmentRow[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=(S,l,g,B,k,D,F,u,f)=>({diameter:S,width:l,holes:g,pcd:B,et:k,cb:D,cap:F,boltPattern:u,loadRating:f}),i="CP509PS73",A="32x15x60°",C="880kg / 1,940 lbs",P="CP506AL82",x="34x16x60°",E="915kg / 2,000 lbs",o="CP506AL68",s="32x15x60°",c="690kg / 1,520 lbs",L="880kg / 1,940 lbs",M="34x15x60°",p="1,060kg / 2,335 lbs",r="CP507PS68",e="825kg / 1,820 lbs",O="CP595AL68",n="32x15x60°",_="690kg / 1,520 lbs",b="34x15x60°",N="1,060kg / 2,335 lbs",R="CP506AL82",I="34x16x60°",T="880kg / 1,940 lbs",U={rotor:[t(20,8.5,5,"112",35,73.1,i,A,C),t(20,8.5,5,"114.3",35,73.1,i,A,C),t(20,8.5,5,"120",35,72.6,i,A,C),t(20,8.5,5,"127",20,71.5,i,A,C),t(20,10,5,"112",40,73.1,i,A,C),t(20,10,5,"114.3",40,73.1,i,A,C),t(20,10,5,"120",40,72.6,i,A,C),t(20,10,5,"127",20,71.5,i,A,C),t(22,9,5,"112",35,73.1,i,A,C),t(22,9,5,"114.3",35,73.1,i,A,C),t(22,9,5,"115",15,71.5,i,A,C),t(22,9,5,"120",35,72.6,i,A,C),t(22,9,5,"127",20,71.5,i,A,C),t(22,10.5,5,"112",40,73.1,i,A,C),t(22,10.5,5,"114.3",40,73.1,i,A,C),t(22,10.5,5,"115",20,71.5,i,A,C),t(22,10.5,5,"120",40,72.6,i,A,C),t(22,10.5,5,"127",20,71.5,i,A,C)],"frixion-6":[t(20,9,6,"135",20,87.1,P,x,E),t(20,9,6,"139.7",20,87.1,P,x,E),t(22,9.5,6,"135",25,87.1,P,x,E),t(22,9.5,6,"139.7",25,87.1,P,x,E),t(22,9.5,6,"135",20,87.1,P,x,E),t(22,9.5,6,"139.7",20,87.1,P,x,E),t(24,10,6,"135",25,87.1,P,x,E),t(24,10,6,"139.7",25,87.1,P,x,E)],"frixion-5":[t(18,8,5,"108",42,73.1,o,s,c),t(18,8,5,"112",42,73.1,o,s,c),t(18,8,5,"114.3",42,73.1,o,s,c),t(18,8,5,"120",35,72.6,o,s,c),t(19,8.5,5,"112",42,73.1,o,s,c),t(19,8.5,5,"114.3",42,73.1,o,s,c),t(19,8.5,5,"112",35,73.1,o,s,c),t(19,8.5,5,"114.3",35,73.1,o,s,c),t(19,8.5,5,"120",35,73.1,o,s,c),t(19,8.5,5,"120",35,72.6,o,s,c),t(19,9.5,5,"112",38,73.1,o,s,c),t(19,9.5,5,"114.3",38,73.1,o,s,c),t(19,9.5,5,"112",40,73.1,o,s,c),t(19,9.5,5,"114.3",40,73.1,o,s,c),t(19,9.5,5,"120",38,72.6,o,s,c),t(20,8.5,5,"112",35,73.1,o,s,c),t(20,8.5,5,"114.3",35,73.1,o,s,c),t(20,8.5,5,"120",42,72.6,o,s,c),t(20,8.5,5,"120",35,72.6,o,s,c),t(20,8.5,5,"120",33,72.6,o,s,c),t(20,10,5,"112",40,73.1,o,s,c),t(20,10,5,"114.3",40,73.1,o,s,c),t(20,10,5,"120",40,72.6,o,s,c)],"vector-ii":[t(19,8.5,5,"112",38,73.1,o,s,L),t(19,8.5,5,"114.3",38,73.1,o,s,L),t(19,8.5,5,"112",45,73.1,o,s,L),t(19,8.5,5,"114.3",45,73.1,o,s,L),t(19,8.5,5,"120",38,72.6,o,s,L),t(19,9.5,5,"112",42,73.1,o,s,L),t(19,9.5,5,"114.3",42,73.1,o,s,L),t(19,9.5,5,"120",42,72.6,o,s,L),t(20,8.5,5,"112",38,73.1,o,s,L),t(20,8.5,5,"114.3",38,73.1,o,s,L),t(20,8.5,5,"120",38,72.6,o,s,L),t(20,10,5,"112",40,73.1,o,s,L),t(20,10,5,"114.3",40,73.1,o,s,L),t(20,10,5,"120",40,72.6,o,s,L)],"turbine-ii":[t(20,8.5,5,"112",38,73.1,o,s,L),t(20,8.5,5,"114.3",38,73.1,o,s,L),t(20,8.5,5,"112",35,73.1,o,s,L),t(20,8.5,5,"114.3",35,73.1,o,s,L),t(20,8.5,5,"112",30,73.1,o,s,L),t(20,8.5,5,"114.3",30,73.1,o,s,L),t(20,8.5,5,"112",25,73.1,o,s,L),t(20,8.5,5,"114.3",25,73.1,o,s,L),t(20,8.5,5,"120",32,72.6,o,s,L),t(20,8.5,5,"120",35,72.6,o,s,L),t(20,10,5,"112",40,73.1,o,s,L),t(20,10,5,"114.3",40,73.1,o,s,L),t(20,10,5,"112",30,73.1,o,s,L),t(20,10,5,"114.3",30,73.1,o,s,L),t(20,10,5,"120",38,72.6,o,s,L),t(20,10,5,"120",37,72.6,o,s,L),t(22,10.5,5,"127",35,71.5,o,M,p)],torque:[t(18,8,5,"108",42,73.1,o,s,c),t(18,8,5,"112",42,73.1,o,s,c),t(18,8,5,"114.3",42,73.1,o,s,c),t(18,8,5,"120",35,72.6,o,s,c),t(19,8.5,5,"112",42,73.1,o,s,c),t(19,8.5,5,"114.3",42,73.1,o,s,c),t(19,8.5,5,"120",38,72.6,o,s,c),t(19,9.5,5,"112",35,73.1,o,s,c),t(19,9.5,5,"114.3",35,73.1,o,s,c),t(19,9.5,5,"112",38,73.1,o,s,c),t(19,9.5,5,"114.3",38,73.1,o,s,c),t(19,9.5,5,"120",40,72.6,o,s,c),t(20,8.5,5,"112",35,73.1,o,s,c),t(20,8.5,5,"114.3",35,73.1,o,s,c),t(20,8.5,5,"120",32,72.6,o,s,c),t(20,8.5,5,"120",35,72.6,o,s,c),t(20,10,5,"112",40,73.1,o,s,c),t(20,10,5,"114.3",40,73.1,o,s,c),t(20,10,5,"120",40,72.6,o,s,c)],blitz:[t(18,8,5,"108",40,73.1,o,s,c),t(18,8,5,"112-114.3",40,73.1,o,s,c),t(18,8,5,"120",35,72.6,o,s,c),t(18,8,5,"120",38,72.6,o,s,c),t(19,8.5,5,"112-114.3",32,73.1,o,s,c),t(19,8.5,5,"112-114.3",40,73.1,o,s,c),t(19,8.5,5,"112-114.3",38,73.1,o,s,c),t(19,8.5,5,"114.3",35,73.1,o,s,c),t(19,8.5,5,"120",33,72.6,o,s,c),t(19,9.5,5,"112-114.3",38,73.1,o,s,c),t(19,9.5,5,"114.3",40,73.1,o,s,c),t(19,9.5,5,"120",38,72.6,o,s,c),t(20,8.5,5,"112-114.3",32,73.1,o,s,c),t(20,8.5,5,"112-114.3",38,73.1,o,s,c),t(20,8.5,5,"120",32,72.6,o,s,c),t(20,10,5,"112-114.3",40,73.1,o,s,c),t(20,10,5,"112-114.3",38,73.1,o,s,c),t(20,10,5,"120",40,72.6,o,s,c),t(20,10,5,"120",38,72.6,o,s,c)],"speed-ii":[t(18,8,5,"108",40,73.1,o,s,c),t(18,8,5,"112",40,73.1,o,s,c),t(18,8,5,"114.3",40,73.1,o,s,c),t(18,8,5,"120",38,72.6,o,s,c),t(18,8,5,"120",35,72.6,o,s,c),t(19,8.5,5,"112",40,73.1,o,s,c),t(19,8.5,5,"114.3",40,73.1,o,s,c),t(19,8.5,5,"112",32,73.1,o,s,c),t(19,8.5,5,"114.3",32,73.1,o,s,c),t(19,8.5,5,"120",33,72.6,o,s,c),t(19,9.5,5,"112",38,73.1,o,s,c),t(19,9.5,5,"114.3",38,73.1,o,s,c),t(19,9.5,5,"120",38,72.6,o,s,c),t(20,8.5,5,"112",35,73.1,o,s,c),t(20,8.5,5,"114.3",35,73.1,o,s,c),t(20,8.5,5,"112",32,73.1,o,s,c),t(20,8.5,5,"114.3",32,73.1,o,s,c),t(20,8.5,5,"120",33,72.6,o,s,c),t(20,10,5,"112",38,73.1,o,s,c),t(20,10,5,"114.3",38,73.1,o,s,c),t(20,10,5,"120",38,72.6,o,s,c)],"force-6":[t(20,9,6,"135",20,87.1,R,I,T),t(20,9,6,"135",25,87.1,R,I,T),t(20,9,6,"135",20,87.1,R,I,T),t(20,9,6,"139.7",20,87.1,R,I,T),t(20,9,6,"139.7",20,87.1,R,I,T),t(20,9,6,"139.7",25,87.1,R,I,T),t(22,9.5,6,"135",20,87.1,R,I,T),t(22,9.5,6,"139.7",20,87.1,R,I,T),t(24,10,6,"135",25,87.1,R,I,T),t(24,10,6,"139.7",25,87.1,R,I,T)],"haste-ii":[t(20,8.5,5,"112",27,73.1,r,s,e),t(20,8.5,5,"114.3",27,73.1,r,s,e),t(20,8.5,5,"112",34,73.1,r,s,e),t(20,8.5,5,"114.3",34,73.1,r,s,e),t(20,8.5,5,"120",32,72.6,r,s,e),t(20,10,5,"112",38,73.1,r,s,e),t(20,10,5,"114.3",38,73.1,r,s,e),t(20,10,5,"120",37,72.6,r,s,e)],"thrust-ii":[t(18,8,5,"108",40,73.1,O,n,_),t(18,8,5,"112",40,73.1,O,n,_),t(18,8,5,"114.3",40,73.1,O,n,_),t(18,8,5,"120",35,72.6,O,n,_),t(18,8,5,"120",38,72.6,O,n,_),t(19,8.5,5,"112",40,73.1,O,n,_),t(19,8.5,5,"114.3",40,73.1,O,n,_),t(19,8.5,5,"112",38,73.1,O,n,_),t(19,8.5,5,"114.3",38,73.1,O,n,_),t(19,8.5,5,"112",32,73.1,O,n,_),t(19,8.5,5,"114.3",32,73.1,O,n,_),t(19,8.5,5,"114.3",35,73.1,O,n,_),t(19,8.5,5,"120",33,72.6,O,n,_),t(19,9.5,5,"112",38,73.1,O,n,_),t(19,9.5,5,"114.3",38,73.1,O,n,_),t(19,9.5,5,"114.3",40,73.1,O,n,_),t(19,9.5,5,"120",38,72.6,O,n,_),t(20,8.5,5,"112",32,73.1,O,n,_),t(20,8.5,5,"114.3",32,73.1,O,n,_),t(20,8.5,5,"112",38,73.1,O,n,_),t(20,8.5,5,"114.3",38,73.1,O,n,_),t(20,8.5,5,"120",32,72.6,O,n,_),t(20,10,5,"112",40,73.1,O,n,_),t(20,10,5,"114.3",40,73.1,O,n,_),t(20,10,5,"112",38,73.1,O,n,_),t(20,10,5,"114.3",38,73.1,O,n,_),t(20,10,5,"120",38,72.6,O,n,_),t(20,10,5,"120",40,72.6,O,n,_),t(22,10.5,5,"127",35,71.5,O,b,N)],"vector-iii":[t(18,8,5,"108",40,73.1,O,n,_),t(18,8,5,"112",40,73.1,O,n,_),t(18,8,5,"114.3",40,73.1,O,n,_),t(18,8,5,"120",38,72.6,O,n,_),t(18,8,5,"120",35,72.6,O,n,_),t(19,8.5,5,"112",32,73.1,O,n,_),t(19,8.5,5,"114.3",32,73.1,O,n,_),t(19,8.5,5,"112",40,73.1,O,n,_),t(19,8.5,5,"114.3",40,73.1,O,n,_),t(19,8.5,5,"112",38,73.1,O,n,_),t(19,8.5,5,"114.3",38,73.1,O,n,_),t(19,8.5,5,"114.3",35,73.1,O,n,_),t(19,8.5,5,"120",33,72.6,O,n,_),t(19,9.5,5,"112",38,73.1,O,n,_),t(19,9.5,5,"114.3",38,73.1,O,n,_),t(19,9.5,5,"114.3",40,73.1,O,n,_),t(19,9.5,5,"120",38,72.6,O,n,_),t(20,8.5,5,"112",32,73.1,O,n,_),t(20,8.5,5,"114.3",32,73.1,O,n,_),t(20,8.5,5,"112",38,73.1,O,n,_),t(20,8.5,5,"114.3",38,73.1,O,n,_),t(20,8.5,5,"120",32,72.6,O,n,_),t(20,10,5,"112",40,73.1,O,n,_),t(20,10,5,"114.3",40,73.1,O,n,_),t(20,10,5,"112",38,73.1,O,n,_),t(20,10,5,"114.3",38,73.1,O,n,_),t(20,10,5,"120",38,72.6,O,n,_),t(20,10,5,"120",40,72.6,O,n,_),t(22,10.5,5,"127",35,71.5,O,b,N)],"blitz-ii":[t(18,8,5,"108",40,73.1,O,n,_),t(18,8,5,"112",40,73.1,O,n,_),t(18,8,5,"114.3",40,73.1,O,n,_),t(18,8,5,"120",38,72.6,O,n,_),t(18,8,5,"120",35,72.6,O,n,_),t(19,8.5,5,"112",32,73.1,O,n,_),t(19,8.5,5,"114.3",32,73.1,O,n,_),t(19,8.5,5,"112",40,73.1,O,n,_),t(19,8.5,5,"114.3",40,73.1,O,n,_),t(19,8.5,5,"112",38,73.1,O,n,_),t(19,8.5,5,"114.3",38,73.1,O,n,_),t(19,8.5,5,"114.3",35,73.1,O,n,_),t(19,8.5,5,"120",33,72.6,O,n,_),t(19,9.5,5,"112",38,73.1,O,n,_),t(19,9.5,5,"114.3",38,73.1,O,n,_),t(19,9.5,5,"114.3",40,73.1,O,n,_),t(19,9.5,5,"120",38,72.6,O,n,_),t(20,8.5,5,"112",32,73.1,O,n,_),t(20,8.5,5,"114.3",32,73.1,O,n,_),t(20,8.5,5,"112",38,73.1,O,n,_),t(20,8.5,5,"114.3",38,73.1,O,n,_),t(20,8.5,5,"120",32,72.6,O,n,_),t(20,10,5,"112",40,73.1,O,n,_),t(20,10,5,"114.3",40,73.1,O,n,_),t(20,10,5,"112",38,73.1,O,n,_),t(20,10,5,"114.3",38,73.1,O,n,_),t(20,10,5,"120",38,72.6,O,n,_),t(20,10,5,"120",40,72.6,O,n,_),t(22,10.5,5,"127",35,71.5,O,b,N)]};function V(S){return U[S]??[]}export{U as FITMENTS,V as getFitments};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const ALL_PRODUCTS_SLUG = "__all__";
|
|
2
|
+
export declare const ALL_PRODUCTS_NAME = "All products";
|
|
3
|
+
export declare function isAllProductsSource(source: {
|
|
4
|
+
slug?: string;
|
|
5
|
+
} | null | undefined): boolean;
|
|
6
|
+
export interface GridSource {
|
|
7
|
+
slug?: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
process?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function isLinkedSource(source: GridSource | null | undefined): boolean;
|
|
12
|
+
export declare function rowsForGridSource<T>(source: GridSource, rows: readonly T[]): T[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const i="__all__",l="All products";function u(r){return r?.slug===i}function p(r){return typeof r?.slug=="string"&&r.slug!==""}function f(r,e){if(u(r))return[...e];const n=t=>t;if(r.process)return e.filter(t=>n(t).process===r.process);const s=r.name??"";return e.filter(t=>{const{process:o,categories:c}=n(t);return(c??(o?[o]:[])).includes(s)})}export{l as ALL_PRODUCTS_NAME,i as ALL_PRODUCTS_SLUG,u as isAllProductsSource,p as isLinkedSource,f as rowsForGridSource};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{dropRenderlessFinishes as r}from"./renderable-finishes.js";function i(e){return e.listable!==!1}function l(e){return e.map(r).filter(i)}export{i as isListableWheel,l as listableWheelSummaries};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface HasLugs {
|
|
2
|
+
spec?: {
|
|
3
|
+
lugs?: number | null;
|
|
4
|
+
} | null;
|
|
5
|
+
}
|
|
6
|
+
export declare function lugDigits(lugs: number | null | undefined): string;
|
|
7
|
+
export declare function lugLabel(lugs: number | null | undefined): string;
|
|
8
|
+
export declare function itemLugs(item: HasLugs): number | null;
|
|
9
|
+
export declare function lugCountsOf(items: readonly HasLugs[]): number[];
|
|
10
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(t){return typeof t=="number"?String(t):""}function s(t){const n=e(t);return n&&`${n} LUG`}function r(t){const n=t.spec?.lugs;return typeof n=="number"?n:null}function i(t){const n=new Set;for(const u of t){const o=r(u);o!==null&&n.add(o)}return[...n].sort((u,o)=>u-o)}export{r as itemLugs,i as lugCountsOf,e as lugDigits,s as lugLabel};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Wheel } from "../api/index.js";
|
|
2
|
+
import { type FitFailure, type FitmentCheck, type VehicleFitment } from "./plp-fitment-match.js";
|
|
3
|
+
export type PdpFitVerdict = {
|
|
4
|
+
state: "unasked";
|
|
5
|
+
} | {
|
|
6
|
+
state: "checking";
|
|
7
|
+
} | {
|
|
8
|
+
state: "unknown";
|
|
9
|
+
missing: "vehicle" | "wheel";
|
|
10
|
+
} | {
|
|
11
|
+
state: "fits";
|
|
12
|
+
checks: FitmentCheck[];
|
|
13
|
+
} | {
|
|
14
|
+
state: "fits-with-warning";
|
|
15
|
+
checks: FitmentCheck[];
|
|
16
|
+
warning: FitFailure;
|
|
17
|
+
} | {
|
|
18
|
+
state: "no-fit";
|
|
19
|
+
failure: FitFailure;
|
|
20
|
+
};
|
|
21
|
+
export declare function pdpFitVerdict({ wheel, applied, fit, resolving, }: {
|
|
22
|
+
wheel: Wheel | null;
|
|
23
|
+
applied: boolean;
|
|
24
|
+
fit: VehicleFitment | null;
|
|
25
|
+
resolving: boolean;
|
|
26
|
+
}): PdpFitVerdict;
|
|
27
|
+
export declare function fitRefusal(failure: FitFailure): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{fitmentBlockingFailure as h,fitmentChecks as u,variantFitFailure as f,variantFitment as d,wheelFitFailure as c}from"./plp-fitment-match.js";function g({wheel:e,applied:l,fit:t,resolving:a}){if(!l)return{state:"unasked"};if(a)return{state:"checking"};if(!t)return{state:"unknown",missing:"vehicle"};if(!e)return{state:"unknown",missing:"wheel"};const r=e.variants??[],s=r.length===0?c(e,t):k(r,t);if(s===null)return{state:"fits",checks:u(t)};const n=r.length===0?null:c(e,t),i=n!==null&&n.key===s.key?n:s;return i.key==="unverifiable"?{state:"unknown",missing:"wheel"}:i.key==="et"?{state:"fits-with-warning",checks:u(t),warning:i}:{state:"no-fit",failure:i}}const o=["unverifiable","pcd","bore","et"];function k(e,l){let t=null,a=null,r=!1;for(const s of e){const n=h(d(s),l);if(n===null){const i=f(s,l);if(i===null)return null;r=!0,a=a??i;continue}(t===null||o.indexOf(n.key)>o.indexOf(t.key))&&(t=n)}return r?a:t}function m(e){switch(e.key){case"pcd":return`This car is ${e.vehicle} and this wheel is drilled ${e.wheel}. A different bolt pattern cannot be made to fit.`;case"et":return`This wheel is made in ${e.wheel} and this car takes ${e.vehicle}.`;case"bore":return`This wheel is bored ${e.wheel} and this car needs at least ${e.vehicle} to seat on its hub.`;default:return""}}export{m as fitRefusal,g as pdpFitVerdict};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { VehicleSelection } from "./fitment-options.js";
|
|
2
|
+
export declare const SHOP_PATH = "/shop";
|
|
3
|
+
export declare function shouldLeaveForTheShop({ shopperPicked, fullyPicked, editing, pathname, }: {
|
|
4
|
+
shopperPicked: boolean;
|
|
5
|
+
fullyPicked: boolean;
|
|
6
|
+
editing: boolean;
|
|
7
|
+
pathname: string;
|
|
8
|
+
}): boolean;
|
|
9
|
+
export declare function isTheShop(pathname: string): boolean;
|
|
10
|
+
export declare function shopHrefForVehicle(vehicle: VehicleSelection): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{appendVehicleParams as a}from"./plp-vehicle-params.js";const o="/shop";function h({shopperPicked:r,fullyPicked:t,editing:e,pathname:n}){return e||!r||!t?!1:!p(n)}function p(r){return(r.split("?")[0]??"").replace(/\/+$/,"")===o}function i(r){const e=a(new URLSearchParams,r).toString();return e?`${o}?${e}`:o}export{o as SHOP_PATH,p as isTheShop,i as shopHrefForVehicle,h as shouldLeaveForTheShop};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{RELATED_CARDS_MAX as n}from"../catalog/related-cards.js";import{WHEELS_PER_SET as l}from"../commerce.js";const r={GBP:0,USD:0,AUD:0},c=[{diameter:18,width:8.5,boltPattern:"5×112",centreBore:66.6,et:35},{diameter:19,width:9,boltPattern:"5×112",centreBore:66.6,et:38},{diameter:20,width:9.5,boltPattern:"5×112",centreBore:66.6,et:40}],o=[{name:"Finish 1",color:"#171717",family:"black",src:"",features:[1,2,3].map(e=>({eyebrow:"Feature eyebrow",heading:"Feature title",description:"Feature description — replace this with your own copy.",mark:`0${e} · Feature`,image:""}))},{name:"Finish 2",color:"#cccccc",family:"silver",src:""},{name:"Finish 3",color:"#8a6438",family:"bronze",src:""}],m=[{partNumber:"SAMPLE-18",diameter:18,width:8.5,holes:5,pcd:"112",et:35,cb:66.6,cap:"—",boltPattern:"5×112",loadRating:"000 kg",inStock:!0},{partNumber:"SAMPLE-19",diameter:19,width:9,holes:5,pcd:"112",et:38,cb:66.6,cap:"—",boltPattern:"5×112",loadRating:"000 kg",inStock:!0},{partNumber:"SAMPLE-20",diameter:20,width:9.5,holes:5,pcd:"112",et:40,cb:66.6,cap:"—",boltPattern:"5×112",loadRating:"000 kg",inStock:!0}],p=o.flatMap(e=>c.map((t,s)=>({finishName:e.name,size:`${t.diameter}" × ${t.width} · ${t.boltPattern} · ${t.centreBore} bore · ET ${t.et}`,kind:"squared",directional:!1,components:[{partNumber:`SAMPLE-${e.name.replace(/\s+/g,"")}-${s}`,wheels:l,prices:{...r},hand:null}],inStock:!0,rearWidth:null,rearEt:null,...t}))),a=e=>`data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="640" height="640"><rect width="640" height="640" fill="#e6e6e6"/><text x="320" y="332" font-family="sans-serif" font-size="30" fill="#8f8f8f" text-anchor="middle">${e}</text></svg>`)}`,i=e=>({url:a(e),thumbnailUrl:a(e),kind:"image"}),d={photos:[{name:"Studio set",finish:"Finish 1",items:[i("Sample photo 1"),i("Sample photo 2"),i("Sample photo 3")]}],lifestyle:[{name:"On location",finish:"",items:[i("Lifestyle 1"),i("Lifestyle 2")]},{name:"In the city",finish:"",items:[i("Lifestyle 3")]}],videos:[],accessories:[],others:[]},u=[1,2].map(e=>({sku:`SAMPLE-TYRE-${e}`,size:"000/00 R00",specs:{loadIndex:"00",speedRating:"—",construction:"—",treadPattern:"Tyre model",tireType:"—"},prices:{...r},image:null,inStock:!0,slug:null})),h={bundles:[],name:"Product Name",slug:"sample-product",process:"Precision Forged",categories:["Precision Forged"],sizes:[18,19,20],prices:{...r},msrpPrices:{GBP:null,USD:null,AUD:null},spokes:5,mesh:!1,badge:null,finishes:o,spec:{lugs:5,sizes:[18,19,20],widths:[8.5,9,9.5],pcds:["5×112"],etRange:[35,42],centreBores:[66.6],loadRating:"000 kg / 000 lbs",cap:"",bumpProfile:"",rimProfile:""},coverImage:null,defaultFinish:null,description:"Product description — replace this with your own copy.",fitments:m,mediaGroups:d,relatedProducts:[],variants:p,pdpTemplateSlug:null,compatibleTyres:u},g=Array.from({length:n},(e,t)=>t+1).map(e=>({...h,name:`Product ${e}`,slug:`sample-product-${e}`}));export{g as PLACEHOLDER_RELATED,h as PLACEHOLDER_WHEEL};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { FinishFamily, ProductKind, SizePair, WheelSummary } from "../api/index.js";
|
|
2
|
+
import { type FieldUsageAnswer } from "../content/field-usage.js";
|
|
3
|
+
import type { Currency } from "./wheels.js";
|
|
4
|
+
import { type PlpItem } from "../catalog/plp-item.js";
|
|
5
|
+
import { type TyreSize, type TyreSizePart } from "../tyres/tyre-size.js";
|
|
6
|
+
export type PlpSortKey = "recommended" | "price-asc" | "price-desc" | "name" | "new";
|
|
7
|
+
export declare const PLP_SORT_LABELS: Record<PlpSortKey, string>;
|
|
8
|
+
export declare function asPlpSortKey(value: string | null | undefined): PlpSortKey;
|
|
9
|
+
export declare function plpSortKeysFor(kinds: readonly ProductKind[]): PlpSortKey[];
|
|
10
|
+
export declare function plpOpeningSort(authored: string | null | undefined, kinds: readonly ProductKind[]): PlpSortKey;
|
|
11
|
+
export declare const PLP_FACET_KEYS: readonly ["tyreSizes", "brands", "finishes", "diameters", "collections", "pcds", "tyreTypes", "speedRatings"];
|
|
12
|
+
export type PlpFacetKey = (typeof PLP_FACET_KEYS)[number];
|
|
13
|
+
export declare function plpFacetKeysFor(kinds: readonly ProductKind[]): PlpFacetKey[];
|
|
14
|
+
export declare function plpShownKinds(ticked: readonly ProductKind[], picked: ProductKind | null): ProductKind[];
|
|
15
|
+
export interface PlpFilterState {
|
|
16
|
+
tyreSizes: string[];
|
|
17
|
+
brands: string[];
|
|
18
|
+
finishes: FinishFamily[];
|
|
19
|
+
diameters: number[];
|
|
20
|
+
collections: string[];
|
|
21
|
+
pcds: string[];
|
|
22
|
+
tyreTypes: string[];
|
|
23
|
+
speedRatings: string[];
|
|
24
|
+
priceMax: number | null;
|
|
25
|
+
inStockOnly: boolean;
|
|
26
|
+
kind: ProductKind | null;
|
|
27
|
+
sort: PlpSortKey;
|
|
28
|
+
page: number;
|
|
29
|
+
}
|
|
30
|
+
export declare const EMPTY_PLP_FILTERS: PlpFilterState;
|
|
31
|
+
export declare function sizePairLabel(pair: SizePair): string;
|
|
32
|
+
export declare function wheelSizeLabels(wheel: WheelSummary): string[];
|
|
33
|
+
export declare function formatWidth(width: number): string;
|
|
34
|
+
export declare function itemMatchesPlp(item: PlpItem, f: PlpFilterState, currency: Currency, except?: PlpFacetKey | "price" | "inStock" | "kind" | null): boolean;
|
|
35
|
+
export declare function plpInStockCount(items: readonly PlpItem[], f: PlpFilterState, currency: Currency): number;
|
|
36
|
+
export declare function sortPlpItems<T extends PlpItem>(items: readonly T[], sort: PlpSortKey, currency: Currency): T[];
|
|
37
|
+
export declare function applyPlpFilters<T extends PlpItem>(items: readonly T[], f: PlpFilterState, currency: Currency): T[];
|
|
38
|
+
export declare function hasActivePlpFilters(f: PlpFilterState): boolean;
|
|
39
|
+
export interface PlpFacetOption {
|
|
40
|
+
value: string;
|
|
41
|
+
label: string;
|
|
42
|
+
count: number;
|
|
43
|
+
checked: boolean;
|
|
44
|
+
swatch: string | null;
|
|
45
|
+
}
|
|
46
|
+
export interface PlpFacetGroup {
|
|
47
|
+
key: PlpFacetKey;
|
|
48
|
+
label: string;
|
|
49
|
+
options: PlpFacetOption[];
|
|
50
|
+
}
|
|
51
|
+
export declare const PLP_FACET_LABELS: Record<PlpFacetKey, string>;
|
|
52
|
+
export declare function buildPlpFacets(items: readonly PlpItem[], f: PlpFilterState, currency: Currency, kinds?: readonly ProductKind[], fieldUsage?: readonly FieldUsageAnswer[]): PlpFacetGroup[];
|
|
53
|
+
export declare const PLP_ONE_VALUE_MAX = 1;
|
|
54
|
+
export declare function listingHiddenFacets(props: Readonly<Record<string, unknown>>): PlpFacetKey[];
|
|
55
|
+
export declare function facetWantedByAnyKind(key: PlpFacetKey, kinds: readonly ProductKind[], fieldUsage: readonly FieldUsageAnswer[]): boolean;
|
|
56
|
+
export declare function plpTyreSizeCount(items: readonly PlpItem[]): number;
|
|
57
|
+
export declare function plpTyreSizeBoxesShown(items: readonly PlpItem[], kinds: readonly ProductKind[]): boolean;
|
|
58
|
+
export interface PlpTyreSizeBox {
|
|
59
|
+
part: TyreSizePart;
|
|
60
|
+
label: string;
|
|
61
|
+
value: number | null;
|
|
62
|
+
options: {
|
|
63
|
+
value: number;
|
|
64
|
+
label: string;
|
|
65
|
+
count: number;
|
|
66
|
+
}[];
|
|
67
|
+
}
|
|
68
|
+
export declare function buildTyreSizeBoxes(items: readonly PlpItem[], f: PlpFilterState, currency: Currency): PlpTyreSizeBox[];
|
|
69
|
+
export declare function pickTyreSize(sizes: readonly TyreSize[], current: string, part: TyreSizePart, value: number | null): string;
|
|
70
|
+
export interface PlpTypeOption {
|
|
71
|
+
kind: ProductKind | null;
|
|
72
|
+
label: string;
|
|
73
|
+
count: number;
|
|
74
|
+
checked: boolean;
|
|
75
|
+
}
|
|
76
|
+
export declare function buildPlpTypeOptions(items: readonly PlpItem[], ticked: readonly ProductKind[], f: PlpFilterState, currency: Currency): PlpTypeOption[];
|
|
77
|
+
export declare function plpPriceBounds(items: readonly PlpItem[], currency: Currency): {
|
|
78
|
+
min: number;
|
|
79
|
+
max: number;
|
|
80
|
+
} | null;
|
|
81
|
+
export interface PlpChip {
|
|
82
|
+
key: PlpFacetKey | "price" | "inStock" | "kind";
|
|
83
|
+
value: string;
|
|
84
|
+
label: string;
|
|
85
|
+
}
|
|
86
|
+
export declare function plpActiveChips(f: PlpFilterState, currency: Currency, formatMoney: (amount: number, currency: Currency) => string): PlpChip[];
|
|
87
|
+
export declare const PLP_PARAM: Record<PlpFacetKey, string>;
|
|
88
|
+
export declare const PLP_TYPE_PARAM = "type";
|
|
89
|
+
export declare function plpFiltersFromParams(params: URLSearchParams): PlpFilterState;
|
|
90
|
+
export declare function plpFiltersToParams(f: PlpFilterState): URLSearchParams;
|
|
91
|
+
export declare function plpPageSequence(pageCount: number, page: number): (number | null)[];
|
|
92
|
+
export interface PlpPageResult<T extends PlpItem = PlpItem> {
|
|
93
|
+
items: T[];
|
|
94
|
+
page: number;
|
|
95
|
+
pageCount: number;
|
|
96
|
+
total: number;
|
|
97
|
+
from: number;
|
|
98
|
+
to: number;
|
|
99
|
+
}
|
|
100
|
+
export declare function paginatePlp<T extends PlpItem>(items: readonly T[], page: number, perPage: number): PlpPageResult<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{answerOrder as q,answersForKind as _,facetFieldKey as T,keepForFilter as U,orderByAnswers as V}from"../content/field-usage.js";import{STOCK_WORDS as G}from"../content/stock-words.js";import{parseOption as H}from"efficient-web-builder/format/lib/parse-option";import{comparePrice as A,priceIn as X,withinPriceRange as J}from"./price-display.js";import{trimDecimal as Q,wheelSizeLabel as ee}from"./spec-format.js";import{itemBrand as z,itemCollections as te,itemDiameters as ne,itemFinishFamilies as re,itemFinishes as oe,itemInStock as k,itemIsNew as L,itemKind as b,itemName as R,itemPcds as ie,itemPrices as S,itemSpeedRatings as se,itemTyreSizes as M,itemTyreTypes as ce,PLP_ANY_TYPE_LABEL as le,PLP_KIND_LABELS as E,PLP_KINDS as ae}from"../catalog/plp-item.js";import{parseTyreSize as ue,tyreSizeLabel as F,tyreSizeLabels as pe,TYRE_SIZE_PARTS as h,TYRE_SIZE_PART_LABELS as fe}from"../tyres/tyre-size.js";const de={recommended:"Recommended","price-asc":"Price · low to high","price-desc":"Price · high to low",new:"Newest",name:"Name A–Z"},O=Object.keys(de);function N(e){return H(O,"recommended",e)}function me(e){return O.filter(t=>t!=="recommended"||e.length<=1)}function Fe(e,t){const r=N(e);return me(t).includes(r)?r:"name"}const y=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],he={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},Se={diameters:"tyreSizes"};function K(e){if(e.length===0)return[];const t=y.filter(r=>e.every(n=>he[r].includes(n)));return t.filter(r=>{const n=Se[r];return!n||!t.includes(n)})}function Oe(e,t){return t&&e.includes(t)?[t]:[...e]}function v(e){const t=new Set;for(const r of e)t.add(b(r));return[...t]}const Ne={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function Ke(e){return`${ye(e.width)}×${e.diameter}`}function ve(e){return[...new Set((e.sizePairs??[]).map(t=>ee(t.diameter,t.width)))]}function ye(e){return Q(e)}function g(e,t,r,n=null){if(n!=="kind"&&t.kind&&b(e)!==t.kind)return!1;for(const i of y){if(n===i)continue;const o=t[i];if(o.length===0)continue;const s=o.map(String);if(!B(e,i).some(l=>s.includes(l)))return!1}return!(n!=="price"&&!J(S(e),r,null,t.priceMax)||n!=="inStock"&&t.inStockOnly&&!k(e))}function Be(e,t,r){return e.filter(n=>k(n)&&g(n,t,r,"inStock")).length}function ge(e,t,r){const n=[...e],i=(s,l)=>R(s).localeCompare(R(l)),o=v(e).length>1;switch(t){case"price-asc":return n.sort((s,l)=>A(S(s),S(l),r,"asc"));case"price-desc":return n.sort((s,l)=>A(S(s),S(l),r,"desc"));case"name":return n.sort(i);case"new":return n.sort((s,l)=>{const a=(L(l)?1:0)-(L(s)?1:0);return a!==0||!o?a:i(s,l)});default:return n}}function Ce(e,t,r){return ge(e.filter(n=>g(n,t,r)),t.sort,r)}function Ie(e){return y.some(t=>e[t].length>0)||e.priceMax!=null||e.inStockOnly||e.kind!=null}const Pe={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size · diameter",collections:"Collection",pcds:"PCD · fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function B(e,t){switch(t){case"tyreSizes":return[...new Set(M(e).flatMap(pe))];case"brands":return z(e)?[z(e)]:[];case"finishes":return re(e);case"diameters":return ne(e).map(String);case"collections":return te(e);case"pcds":return ie(e);case"tyreTypes":return ce(e);case"speedRatings":return se(e)}}function xe(e){const t=new Map;for(const r of e)for(const n of oe(r))n.color&&!t.has(n.family)&&t.set(n.family,n.color);return t}function De(e,t,r,n=v(e),i=[]){const o=c=>we(c,n,i),s=xe(e),l=K(n).filter(c=>c!=="tyreSizes").filter(o).map(c=>{const u=t[c].map(String),P=new Set,w=new Map,x=new Map;for(const p of e){const m=B(p,c);for(const f of m)P.add(f);for(const f of new Set(m))x.set(f,(x.get(f)??0)+1);if(g(p,t,r,c))for(const f of new Set(m))w.set(f,(w.get(f)??0)+1)}const j=[...P].map(p=>({value:p,label:c==="diameters"?`${p}″`:p,count:w.get(p)??0,checked:u.includes(p),swatch:c==="finishes"?s.get(p)??null:null})).sort((p,m)=>{if(c==="diameters")return Number(p.value)-Number(m.value);const f=(x.get(m.value)??0)-(x.get(p.value)??0);return f!==0?f:p.value.localeCompare(m.value)});return{key:c,label:Pe[c],options:j}}).filter(c=>c.options.length>C),a=[];for(const c of l){const u=be(c.key,n,i);u!==void 0&&a.push({fieldKey:c.key,filterOrder:u})}return[...V(l,c=>c.key,a,"filterOrder")]}const C=1;function Ye(e){return e.showCollection===!1?["collections"]:[]}function we(e,t,r){return t.length===0||r.length===0?!0:t.some(n=>U(_(r,n))(T(e,n)))}function be(e,t,r){if(r.length===0)return;let n;for(const i of t){const o=q(_(r,i),"filter")(T(e,i));o!==void 0&&(n===void 0||o<n)&&(n=o)}return n}function Me(e){const t=new Set;for(const r of e)for(const n of M(r))t.add(F(n));return t.size}function $e(e,t){return K(t).includes("tyreSizes")?Me(e)>C:!1}function I(e){const t=ue(e);if(t)return t;const[r,n]=e.split("/");return{width:r?Number(r):void 0,profile:n?Number(n):void 0}}function _e(e,t,r){return h.slice(0,h.indexOf(r)).every(n=>{const i=t[n];return i==null||e[n]===i})}function We(e,t,r){const n=I(t.tyreSizes[0]??""),i=new Set(e.filter(o=>g(o,t,r,"tyreSizes")));return h.map(o=>{const s=new Map;for(const a of e){const c=M(a).filter(u=>_e(u,n,o));for(const u of new Set(c.map(P=>P[o])))s.has(u)||s.set(u,0),i.has(a)&&s.set(u,(s.get(u)??0)+1)}const l=[...s.keys()].sort((a,c)=>a-c).map(a=>({value:a,label:o==="rim"?`R${a}`:String(a),count:s.get(a)??0}));return{part:o,label:fe[o],value:n[o]??null,options:l}})}function Ze(e,t,r,n){const i={...I(t)},o=h.indexOf(r);i[r]=n??void 0;for(const s of h.slice(o+1))i[s]!=null&&e.some(c=>h.slice(0,h.indexOf(s)+1).every(u=>i[u]==null||c[u]===i[u]))||(i[s]=void 0);return F(i)}function je(e,t,r,n){if(t.length<2)return[];const i=e.filter(o=>g(o,r,n,"kind"));return[{kind:null,label:le,count:i.length,checked:r.kind===null},...t.map(o=>({kind:o,label:E[o],count:i.filter(s=>b(s)===o).length,checked:r.kind===o}))]}function qe(e,t){if(e.length===0)return null;const r=e.map(o=>X(S(o),t)).filter(o=>o!==null);if(r.length===0)return null;const n=Math.floor(Math.min(...r)),i=Math.ceil(Math.max(...r));return i>n?{min:n,max:i}:null}function Ue(e,t,r){const n=[];e.kind&&n.push({key:"kind",value:e.kind,label:E[e.kind]}),e.inStockOnly&&n.push({key:"inStock",value:"",label:G.inStock});for(const i of y)for(const o of e[i]){const s=String(o);n.push({key:i,value:s,label:i==="diameters"?`${s}″`:i==="pcds"?`PCD ${s}`:s})}return e.priceMax!=null&&n.push({key:"price",value:"",label:`Up to ${r(e.priceMax,t)}`}),n}const d={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},D="type",Y="maxPrice",$="inStock",W="sort",Z="page";function Ve(e){const t=o=>e.getAll(o).flatMap(s=>s.split(",")).filter(Boolean),r=Number(e.get(Y)),n=Number(e.get(Z)),i=e.get(D);return{tyreSizes:t(d.tyreSizes),brands:t(d.brands),finishes:t(d.finishes),diameters:t(d.diameters).map(Number).filter(Number.isFinite),collections:t(d.collections),pcds:t(d.pcds),tyreTypes:t(d.tyreTypes),speedRatings:t(d.speedRatings),priceMax:Number.isFinite(r)&&r>0?r:null,inStockOnly:e.get($)==="1",kind:ae.find(o=>o===i)??null,sort:N(e.get(W)),page:Number.isFinite(n)&&n>=1?Math.floor(n):1}}function Ge(e){const t=new URLSearchParams;for(const r of y){const n=e[r];n.length>0&&t.set(d[r],n.join(","))}return e.priceMax!=null&&t.set(Y,String(e.priceMax)),e.inStockOnly&&t.set($,"1"),e.kind&&t.set(D,e.kind),e.sort!=="recommended"&&t.set(W,e.sort),e.page>1&&t.set(Z,String(e.page)),t}function He(e,t){if(e<=7)return Array.from({length:e},(o,s)=>s+1);const r=[1],n=Math.max(2,t-1),i=Math.min(e-1,t+1);n>2&&r.push(null);for(let o=n;o<=i;o++)r.push(o);return i<e-1&&r.push(null),r.push(e),r}function Xe(e,t,r){const n=e.length,i=Math.max(1,Math.floor(r)),o=Math.max(1,Math.ceil(n/i)),s=Math.min(Math.max(1,Math.floor(t)),o),l=(s-1)*i;return{items:e.slice(l,l+i),page:s,pageCount:o,total:n,from:n===0?0:l+1,to:Math.min(l+i,n)}}export{Ne as EMPTY_PLP_FILTERS,y as PLP_FACET_KEYS,Pe as PLP_FACET_LABELS,C as PLP_ONE_VALUE_MAX,d as PLP_PARAM,de as PLP_SORT_LABELS,D as PLP_TYPE_PARAM,Ce as applyPlpFilters,N as asPlpSortKey,De as buildPlpFacets,je as buildPlpTypeOptions,We as buildTyreSizeBoxes,we as facetWantedByAnyKind,ye as formatWidth,Ie as hasActivePlpFilters,g as itemMatchesPlp,Ye as listingHiddenFacets,Xe as paginatePlp,Ze as pickTyreSize,Ue as plpActiveChips,K as plpFacetKeysFor,Ve as plpFiltersFromParams,Ge as plpFiltersToParams,Be as plpInStockCount,Fe as plpOpeningSort,He as plpPageSequence,qe as plpPriceBounds,Oe as plpShownKinds,me as plpSortKeysFor,$e as plpTyreSizeBoxesShown,Me as plpTyreSizeCount,Ke as sizePairLabel,ge as sortPlpItems,ve as wheelSizeLabels};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { StockFitment, WheelSummary, WheelVariant } from "../api/index.js";
|
|
2
|
+
export declare const ET_TOLERANCE_MM = 5;
|
|
3
|
+
export type MmRange = readonly [number, number];
|
|
4
|
+
export interface VehicleFitment {
|
|
5
|
+
holes: number;
|
|
6
|
+
circle: number;
|
|
7
|
+
centreBore: number | null;
|
|
8
|
+
etRange: MmRange | null;
|
|
9
|
+
}
|
|
10
|
+
export declare function parseBoltPattern(value: string | null | undefined): {
|
|
11
|
+
holes: number | null;
|
|
12
|
+
circles: number[];
|
|
13
|
+
};
|
|
14
|
+
export declare function parseMmRange(value: readonly number[] | null | undefined): MmRange | null;
|
|
15
|
+
export declare function vehicleFitmentFromStock(stock: StockFitment | null | undefined): VehicleFitment | null;
|
|
16
|
+
export interface FitFailure {
|
|
17
|
+
key: "unverifiable" | "pcd" | "et" | "bore";
|
|
18
|
+
wheel: string;
|
|
19
|
+
vehicle: string;
|
|
20
|
+
}
|
|
21
|
+
export interface WheelFitment {
|
|
22
|
+
pcds: readonly string[];
|
|
23
|
+
lugs: number | null;
|
|
24
|
+
etRange: MmRange | null;
|
|
25
|
+
centreBores: readonly number[];
|
|
26
|
+
}
|
|
27
|
+
export declare function fitmentFitFailure(spec: WheelFitment, fit: VehicleFitment): FitFailure | null;
|
|
28
|
+
export declare function wheelFitment(wheel: WheelSummary): WheelFitment;
|
|
29
|
+
export declare function variantFitment(variant: WheelVariant): WheelFitment;
|
|
30
|
+
export declare function fitmentBlockingFailure(spec: WheelFitment, fit: VehicleFitment): FitFailure | null;
|
|
31
|
+
export declare function wheelFitFailure(wheel: WheelSummary, fit: VehicleFitment): FitFailure | null;
|
|
32
|
+
export declare function variantFitFailure(variant: WheelVariant, fit: VehicleFitment): FitFailure | null;
|
|
33
|
+
export declare function variantFitsVehicle(variant: WheelVariant, fit: VehicleFitment): boolean;
|
|
34
|
+
export declare function variantsFittingVehicle(variants: readonly WheelVariant[], fit: VehicleFitment | null): WheelVariant[];
|
|
35
|
+
export declare function wheelFitsVehicle(wheel: WheelSummary, fit: VehicleFitment): boolean;
|
|
36
|
+
export declare function wheelsFittingVehicle(wheels: WheelSummary[], fit: VehicleFitment | null): WheelSummary[];
|
|
37
|
+
export declare const FITMENT_LINE_MAX = 1;
|
|
38
|
+
export declare function wheelFitmentFacts(wheel: WheelSummary, fit: VehicleFitment | null): {
|
|
39
|
+
pcds: string[];
|
|
40
|
+
etRange: MmRange | null;
|
|
41
|
+
centreBores: number[];
|
|
42
|
+
};
|
|
43
|
+
export declare const FITMENT_FIELD_SEPARATOR = "\u00B7";
|
|
44
|
+
export declare function wheelFitmentFields(wheel: WheelSummary, fit: VehicleFitment | null): string[];
|
|
45
|
+
export interface KeyedCardFact {
|
|
46
|
+
fieldKey: string;
|
|
47
|
+
text: string;
|
|
48
|
+
}
|
|
49
|
+
export declare function wheelCardSpecFacts(wheel: WheelSummary, fit: VehicleFitment | null, { sizes }: {
|
|
50
|
+
sizes: boolean;
|
|
51
|
+
}): KeyedCardFact[];
|
|
52
|
+
export declare function wheelSizeLugFacts(wheel: Pick<WheelSummary, "sizes" | "spec">): KeyedCardFact[];
|
|
53
|
+
export declare function wheelFitmentKeyedFields(wheel: WheelSummary, fit: VehicleFitment | null): KeyedCardFact[];
|
|
54
|
+
export declare function wheelFitmentLine(wheel: WheelSummary, fit: VehicleFitment | null): string;
|
|
55
|
+
export interface FitmentCheck {
|
|
56
|
+
key: "pcd" | "bore" | "et";
|
|
57
|
+
name: string;
|
|
58
|
+
value: string | null;
|
|
59
|
+
}
|
|
60
|
+
export declare function fitmentChecks(fit: VehicleFitment | null): FitmentCheck[];
|
|
61
|
+
export declare function fitmentSummary(fit: VehicleFitment | null): string;
|