efficient-storefront-blocks 0.56.0 → 0.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -0
- package/dist/chunks/{EditorPreviewCheckout-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 +35 -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{lugLabel as M}from"./lug-count.js";import{formatSizeRange as E}from"./size-range.js";import{etRangeLabel as L,inchRangeLabel as N}from"./spec-format.js";const f=5,m=.2;function g(e){if(!e)return{holes:null,circles:[]};const t=e.replace(/\([^)]*\)?/g," ").trim(),n=t.match(/^\s*(\d+)\s*[x×*]\s*(.+)$/i),r=n?Number(n[1]):null,o=(n?n[2]:t).split(/[-/,]/).map(l=>Number(l.trim().replace(/[^\d.]/g,""))).filter(l=>Number.isFinite(l)&&l>0);return{holes:r,circles:o}}function p(e){if(!e||e.length<2)return null;const[t,n]=e;return!Number.isFinite(t)||!Number.isFinite(n)?null:[Math.min(t,n),Math.max(t,n)]}function O(e){if(!e)return null;const t=g(e.pcd||e.boltPattern);if(t.holes===null||t.circles.length===0)return null;const n=t.circles[0],r=p(e.etRange),c=r?[r[0]-f,r[1]+f]:null;return{holes:t.holes,circle:n,centreBore:typeof e.centreBore=="number"&&e.centreBore>0?e.centreBore:null,etRange:c}}function K(e,t){return Math.abs(e-t)<=m}function h(e,t,n){const r=g(e);return(r.holes??t)!==n.holes?!1:r.circles.some(o=>K(o,n.circle))}function x(e,t){return t.centreBore===null?!0:e+m>=t.centreBore}function P(e,t){return e[0]<=t[1]&&e[1]>=t[0]}function u(e,t){const n=`${t.holes}×${t.circle}`;return e.pcds.length===0?{key:"unverifiable",wheel:"",vehicle:n}:e.pcds.some(r=>h(r,e.lugs,t))?t.etRange!==null&&e.etRange!==null&&!P(e.etRange,t.etRange)?{key:"et",wheel:s(e.etRange),vehicle:s(t.etRange)}:e.centreBores.length>0&&!e.centreBores.some(r=>x(r,t))?{key:"bore",wheel:`${e.centreBores.join(" / ")} mm`,vehicle:`${t.centreBore} mm`}:null:{key:"pcd",wheel:e.pcds.join(" / "),vehicle:n}}function F(e){return{pcds:e.spec?.pcds??[],lugs:e.spec?.lugs??null,etRange:p(e.spec?.etRange),centreBores:e.spec?.centreBores??[]}}function d(e){const t=e.et,n=e.rearEt??e.et;return{pcds:e.boltPattern?[e.boltPattern]:[],lugs:null,etRange:t==null||n==null?null:[Math.min(t,n),Math.max(t,n)],centreBores:e.centreBore==null?[]:[e.centreBore]}}function B(e,t){const n=u(e,t);return n===null||n.key!=="et"?n:u(e,{...t,etRange:null})}function V(e,t){return u(F(e),t)}function v(e,t){return u(d(e),t)}function T(e,t){return B(d(e),t)===null}function w(e,t){return t?e.filter(n=>T(n,t)):[...e]}function _(e,t){return B(F(e),t)===null}function D(e,t){return t?e.filter(n=>_(n,t)):e}const R=1;function S(e,t){const n=e.spec?.pcds??[],r=e.spec?.centreBores??[],c=p(e.spec?.etRange);if(!t)return{pcds:n,etRange:c,centreBores:r};const o=e.spec?.lugs??null,l=n.filter(a=>h(a,o,t)),i=r.filter(a=>x(a,t));return{pcds:l.length>0?l:n,etRange:c,centreBores:i.length>0?i:r}}function s(e){return L(e[0],e[1])}function b(e,t=""){const n=`${e.slice(0,R).join(" / ")}${t}`,r=e.length-R;return r>0?`${n} +${r} more`:n}const C="·";function j(e,t){return $(e,t).map(n=>n.text)}function H(e,t,{sizes:n}){const r=$(e,t);if(!n)return r.length>0?r:y(e);const c=[...new Set(e.sizes)].sort((l,i)=>l-i).map(l=>({fieldKey:"diameter",text:N(l,l)})),o=r.length>0?[]:y(e).filter(l=>l.fieldKey==="holes");return[...c,...r,...o]}function y(e){return[{fieldKey:"diameter",text:E(e.sizes)},{fieldKey:"holes",text:M(e.spec?.lugs)}].filter(t=>!!t.text)}function $(e,t){const{pcds:n,etRange:r,centreBores:c}=S(e,t),o=[];return n.length>0&&o.push({fieldKey:"pcd",text:`PCD ${b(n)}`}),r!==null&&o.push({fieldKey:"et",text:s(r)}),c.length>0&&o.push({fieldKey:"center_bore",text:`C/B ${b(c," mm")}`}),o}function X(e,t){return j(e,t).join(` ${C} `)}function k(e){return e?[{key:"pcd",name:"Bolt pattern",value:`${e.holes}×${e.circle}`},{key:"bore",name:"Hub bore",value:e.centreBore!==null?`${e.centreBore} mm bore`:null},{key:"et",name:"Offset",value:e.etRange!==null?s(e.etRange):null}]:[]}function q(e){return k(e).map(t=>t.value).filter(t=>t!==null).join(" · ")}export{f as ET_TOLERANCE_MM,C as FITMENT_FIELD_SEPARATOR,R as FITMENT_LINE_MAX,B as fitmentBlockingFailure,k as fitmentChecks,u as fitmentFitFailure,q as fitmentSummary,g as parseBoltPattern,p as parseMmRange,v as variantFitFailure,d as variantFitment,T as variantFitsVehicle,w as variantsFittingVehicle,O as vehicleFitmentFromStock,H as wheelCardSpecFacts,V as wheelFitFailure,F as wheelFitment,S as wheelFitmentFacts,j as wheelFitmentFields,$ as wheelFitmentKeyedFields,X as wheelFitmentLine,_ as wheelFitsVehicle,y as wheelSizeLugFacts,D as wheelsFittingVehicle};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ViewTier } from "efficient-easel/screen/lib/content/view-tiers";
|
|
2
|
+
export declare const PLP_COLUMNS_AUTO = "auto";
|
|
3
|
+
export type PlpColumnCount = number | typeof PLP_COLUMNS_AUTO;
|
|
4
|
+
export type PlpColumns = Record<ViewTier, PlpColumnCount>;
|
|
5
|
+
export declare const PLP_COLUMNS_MIN = 1;
|
|
6
|
+
export declare const PLP_COLUMNS_MAX = 6;
|
|
7
|
+
export declare const PLP_COLUMNS_DEFAULT: PlpColumns;
|
|
8
|
+
export declare const PLP_COLUMN_STEPS: PlpColumnCount[];
|
|
9
|
+
export declare const PLP_GRID_GAP = "1rem";
|
|
10
|
+
export declare const PLP_GRID_GAP_TERM = "var(--sf-block-gap-rem, var(--sf-card-gap, 1rem))";
|
|
11
|
+
export declare const PLP_AUTO_MIN_CARD_PX = 248;
|
|
12
|
+
export declare const PLP_FIXED_MIN_CARD_PX = 150;
|
|
13
|
+
export declare const plpGridColsVar: (tier: ViewTier) => string;
|
|
14
|
+
export declare const PLP_GRID_GAP_VAR = "--plp-grid-gap";
|
|
15
|
+
export declare function formatPlpColumnCount(count: PlpColumnCount): string;
|
|
16
|
+
export declare function normalizePlpColumns(value: unknown): PlpColumns;
|
|
17
|
+
export declare function plpGridTracks(count: PlpColumnCount): string;
|
|
18
|
+
export declare function plpGridVars(columns: PlpColumns, tier?: ViewTier | null): Record<string, string>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{VIEW_TIERS as a}from"efficient-easel/screen/lib/content/view-tiers";const r="auto",e=1,P=6,i={desktop:r,tablet:r,mobile:r},C=[r,...Array.from({length:P-e+1},(t,o)=>e+o)],c="1rem",_=`var(--sf-block-gap-rem, var(--sf-card-gap, ${c}))`,l=248,f=150,m=.5,x=t=>`--plp-grid-cols-${t}`,u="--plp-grid-gap";function M(t){return t===r?"Auto":String(t)}function p(t){if(t===r)return r;const o=typeof t=="number"?t:NaN;return Number.isFinite(o)?Math.min(Math.max(Math.round(o),e),P):r}function N(t){if(!t||typeof t!="object")return{...i};const o=t;return{desktop:p(o.desktop),tablet:p(o.tablet),mobile:p(o.mobile)}}function L(t){if(t===r)return`repeat(auto-fill, minmax(${l}px, 1fr))`;const n=`calc((100% - ${`${t-1} * ${_}`}) / ${t} - ${m}px)`;return`repeat(auto-fill, minmax(max(${f}px, ${n}), 1fr))`}function d(t,o=null){const n={[u]:_};for(const s of a)n[x(s)]=L(t[o??s]);return n}export{l as PLP_AUTO_MIN_CARD_PX,r as PLP_COLUMNS_AUTO,i as PLP_COLUMNS_DEFAULT,P as PLP_COLUMNS_MAX,e as PLP_COLUMNS_MIN,C as PLP_COLUMN_STEPS,f as PLP_FIXED_MIN_CARD_PX,c as PLP_GRID_GAP,_ as PLP_GRID_GAP_TERM,u as PLP_GRID_GAP_VAR,M as formatPlpColumnCount,N as normalizePlpColumns,x as plpGridColsVar,L as plpGridTracks,d as plpGridVars};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Data } from "efficient-easel/blocks";
|
|
2
|
+
import type { ProductKind, ProductSummary, WheelSummary } from "../api/index.js";
|
|
3
|
+
import type { FieldUsageAnswer } from "../content/field-usage.js";
|
|
4
|
+
export declare const ALLOY_WHEELS_LISTING_TYPE = "AlloyWheelsListing";
|
|
5
|
+
export declare const PRODUCT_GRID_TYPE = "ProductGrid";
|
|
6
|
+
export declare const GRID_CATALOG_PROP = "catalog";
|
|
7
|
+
export declare const CATALOG_FILTER_BAR_TYPE = "CatalogFilterBar";
|
|
8
|
+
export declare const FIELD_USAGE_PROP = "fieldUsage";
|
|
9
|
+
interface ContentNode {
|
|
10
|
+
type?: string;
|
|
11
|
+
props?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
export declare function pageHasWheelsListing(data: Data | null | undefined): boolean;
|
|
14
|
+
export declare function pageReadsFieldUsage(data: Data | null | undefined): boolean;
|
|
15
|
+
export declare function hydrateFieldUsage(data: Data, answers: readonly FieldUsageAnswer[]): Data;
|
|
16
|
+
export declare function listingCatalogKinds(data: Data | null | undefined): ProductKind[];
|
|
17
|
+
export declare function listingWantsWheelsOnly(kinds: readonly ProductKind[]): boolean;
|
|
18
|
+
export declare function hydrateWheelsListing(data: Data, products: ProductSummary[] | WheelSummary[]): Data;
|
|
19
|
+
export declare function dehydrateWheelsListing(data: Data): Data;
|
|
20
|
+
export declare function dehydrateWheelsListingNode<T extends ContentNode>(node: T): T;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{resolvePlpKinds as y}from"../catalog/plp-item.js";import{isLinkedSource as m,rowsForGridSource as O}from"./grid-source.js";const p="AlloyWheelsListing",G="ProductGrid",L="catalog",W="CatalogFilterBar",c="fieldUsage";function x(t){return t.props?.source}function i(t){return t?.type===G&&m(x(t))}function l(t){return t?.type===W}function f(t){return t?.type===p||i(t)||l(t)}function a(t){const r=t.content??[],e=t.zones??{};return[...r,...Object.values(e).flat()]}function S(t){return t?a(t).some(r=>r?.type===p||i(r)):!1}function T(t){return t?a(t).some(f):!1}function U(t,r){return r.length===0?t:_(t,f,e=>({...e,props:{...e.props??{},[c]:r}}))}function k(t){if(!t)return[];const r=new Set;for(const e of a(t))if(!(e?.type!==p&&!i(e)))for(const n of y(e.props?.kinds))r.add(n);return[...r]}function C(t){return t.length===1&&t[0]==="alloy-wheel"}function I(t,r){return F(t,e=>i(e)?{...e,props:{...g(e).props,[L]:O(x(e)??{},E(r,y(e.props?.kinds)))}}:{...e,props:{...h(e).props,products:r}})}function z(t){return _(t,f,r=>l(r)?w(r):i(r)?g(r):h(r))}function w(t){if(!t.props||!(c in t.props))return t;const{[c]:r,...e}=t.props;return{...t,props:e}}function g(t){const{[L]:r,[c]:e,...n}=t.props??{},s=n.source;if(s&&"wheels"in s){const{wheels:u,...o}=s;n.source=o}return{...t,props:n}}function E(t,r){const e=new Set(r);return t.filter(n=>{const s=n.kind??"alloy-wheel";return e.has(s)})}function N(t){return i(t)?g(t):l(t)?w(t):t?.type===p?h(t):t}function h(t){const{wheels:r,products:e,[c]:n,...s}=t.props??{};return{...t,props:s}}function F(t,r){return _(t,e=>e?.type===p||i(e),r)}function _(t,r,e){const n=o=>r(o)?e(o):o,s=t,u={...t};return s.content&&(u.content=s.content.map(n)),s.zones&&(u.zones=Object.fromEntries(Object.entries(s.zones).map(([o,P])=>[o,P.map(n)]))),u}export{p as ALLOY_WHEELS_LISTING_TYPE,W as CATALOG_FILTER_BAR_TYPE,c as FIELD_USAGE_PROP,L as GRID_CATALOG_PROP,G as PRODUCT_GRID_TYPE,z as dehydrateWheelsListing,N as dehydrateWheelsListingNode,U as hydrateFieldUsage,I as hydrateWheelsListing,k as listingCatalogKinds,C as listingWantsWheelsOnly,S as pageHasWheelsListing,T as pageReadsFieldUsage};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type VehicleSelection } from "./fitment-options.js";
|
|
2
|
+
export declare const VEHICLE_PARAM: {
|
|
3
|
+
readonly make: "make";
|
|
4
|
+
readonly model: "model";
|
|
5
|
+
readonly year: "year";
|
|
6
|
+
readonly trim: "trim";
|
|
7
|
+
};
|
|
8
|
+
export declare function isCompleteVehicle(v: VehicleSelection): boolean;
|
|
9
|
+
export declare function vehicleFromParams(params: URLSearchParams): VehicleSelection | null;
|
|
10
|
+
export declare function appendVehicleParams(params: URLSearchParams, vehicle: VehicleSelection | null): URLSearchParams;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{DEFAULT_VEHICLE as n}from"./fitment-options.js";const o={make:"make",model:"model",year:"year",trim:"trim"};function i(e){return!!e.make&&!!e.model&&e.year!==null&&!!e.modification}function l(e){const t=Number(e.get(o.year)),r={...n,make:e.get(o.make)??"",model:e.get(o.model)??"",year:Number.isFinite(t)&&t>0?Math.floor(t):null,modification:e.get(o.trim)??""};return i(r)?r:null}function u(e,t){return!t||!i(t)||(e.set(o.make,t.make),e.set(o.model,t.model),e.set(o.year,String(t.year)),e.set(o.trim,t.modification)),e}export{o as VEHICLE_PARAM,u as appendVehicleParams,i as isCompleteVehicle,l as vehicleFromParams};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{sizePairLabel as i}from"./plp-filters.js";function o(e,r,t){return{productSlug:e,email:t.trim(),size:r?i(r):""}}export{o as preOrderIntentBody};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { WheelVariant } from "../api/index.js";
|
|
2
|
+
export interface PreOrderInputs {
|
|
3
|
+
variants: WheelVariant[] | undefined;
|
|
4
|
+
inStock: boolean | undefined;
|
|
5
|
+
priced: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function isPreOrderWheel({ variants, inStock, priced }: PreOrderInputs): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function n({variants:e,inStock:r,priced:t}){return t&&r===!0&&(e??[]).length===0}export{n as isPreOrderWheel};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type SetComponent } from "../commerce.js";
|
|
2
|
+
import type { Currency } from "../api/index.js";
|
|
3
|
+
export declare const UNPRICED_LABEL = "Price on request";
|
|
4
|
+
export declare const SET_QUOTE_LABEL = "Request a quote";
|
|
5
|
+
export declare const FROM_PREFIX = "from ";
|
|
6
|
+
export declare const FROM_PREFIX_START = "From ";
|
|
7
|
+
export declare const EACH_UNIT = "each";
|
|
8
|
+
export declare const FREE_PRICE = "Free";
|
|
9
|
+
export declare function isPriced(amount: number | null | undefined): amount is number;
|
|
10
|
+
export declare function priceIn(prices: Record<string, number | null> | undefined, currency: string): number | null;
|
|
11
|
+
export declare function comparePrice(a: Record<string, number | null> | undefined, b: Record<string, number | null> | undefined, currency: string, direction: "asc" | "desc"): number;
|
|
12
|
+
export declare function withinPriceRange(prices: Record<string, number | null> | undefined, currency: string, min?: number | null, max?: number | null): boolean;
|
|
13
|
+
export interface WheelPriceDisplay {
|
|
14
|
+
priced: boolean;
|
|
15
|
+
unit: number | null;
|
|
16
|
+
was: number | null;
|
|
17
|
+
onSale: boolean;
|
|
18
|
+
setTotal: number | null;
|
|
19
|
+
}
|
|
20
|
+
export declare function resolveWheelPrice(unit: number | null | undefined, msrp: number | null | undefined, setQty?: number): WheelPriceDisplay;
|
|
21
|
+
export declare function formatWheelPrice(price: WheelPriceDisplay, currency: Currency, prefix?: string): string;
|
|
22
|
+
export declare function formatWheelWasPrice(price: WheelPriceDisplay, currency: Currency): string | null;
|
|
23
|
+
export interface SetPriceDisplay {
|
|
24
|
+
priced: boolean;
|
|
25
|
+
unit: number | null;
|
|
26
|
+
isFrom: boolean;
|
|
27
|
+
setTotal: number | null;
|
|
28
|
+
}
|
|
29
|
+
export declare function resolveSetPrice(components: SetComponent[], currency: string, sets?: number): SetPriceDisplay;
|
|
30
|
+
export interface SelectionPriceDisplay {
|
|
31
|
+
priced: boolean;
|
|
32
|
+
unit: number | null;
|
|
33
|
+
isFrom: boolean;
|
|
34
|
+
was: number | null;
|
|
35
|
+
onSale: boolean;
|
|
36
|
+
setTotal: number | null;
|
|
37
|
+
fromSetTotal: number | null;
|
|
38
|
+
}
|
|
39
|
+
export declare function resolveSelectionPrice(wheel: {
|
|
40
|
+
prices: Record<string, number | null>;
|
|
41
|
+
msrpPrices?: Record<string, number | null> | null;
|
|
42
|
+
}, variant: {
|
|
43
|
+
components: SetComponent[];
|
|
44
|
+
} | null | undefined, currency: string, sets?: number): SelectionPriceDisplay;
|
|
45
|
+
export declare function formatSelectionPrice(price: SelectionPriceDisplay, currency: Currency): string;
|
|
46
|
+
export declare function formatSelectionWasPrice(price: SelectionPriceDisplay, currency: Currency): string | null;
|
|
47
|
+
export declare function setPriceLabel(price: SelectionPriceDisplay, currency: Currency): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{formatPrice as i,setPrice as p,WHEELS_PER_SET as P}from"../commerce.js";const c="Price on request",E="Request a quote",T="from ",w="From ",_="each",h="Free";function s(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function a(e,t){const n=e?.[t];return s(n)?n:null}function I(e,t,n,l){const r=a(e,n),o=a(t,n);return r===null&&o===null?0:r===null?1:o===null?-1:l==="asc"?r-o:o-r}function L(e,t,n,l){if(n==null&&l==null)return!0;const r=a(e,t);return!(r===null||n!=null&&r<n||l!=null&&r>l)}const S={priced:!1,unit:null,was:null,onSale:!1,setTotal:null};function m(e,t,n){if(!s(e))return S;const l=s(t)&&t>e?t:null;return{priced:!0,unit:e,was:l,onSale:l!==null,setTotal:n!=null?e*n:null}}function C(e,t,n=""){return!e.priced||e.unit==null?c:`${n}${i(e.unit,t)}`}function N(e,t){return e.was==null?null:i(e.was,t)}function x(e,t,n=1){const l=p(e,t);if(l===null)return{priced:!1,unit:null,isFrom:!1,setTotal:null};const r=e.reduce((u,f)=>u+f.wheels,0),o=Math.min(...e.map(u=>u.prices[t]));return{priced:!0,unit:o,isFrom:o*r!==l,setTotal:l*n}}const F={priced:!1,unit:null,isFrom:!1,was:null,onSale:!1,setTotal:null};function W(e,t,n,l=1){const r=m(e.prices[n],e.msrpPrices?.[n],P),o=r.setTotal==null?null:r.setTotal*l;if(!t)return{priced:r.priced,unit:r.unit,isFrom:!0,was:r.was,onSale:r.onSale,setTotal:null,fromSetTotal:o};const u=x(t.components,n,l);return u.priced?{priced:!0,unit:u.unit,isFrom:u.isFrom,was:null,onSale:!1,setTotal:u.setTotal,fromSetTotal:o}:{...F,fromSetTotal:o}}function d(e,t){return!e.priced||e.unit==null?c:`${e.isFrom?T:""}${i(e.unit,t)}`}function U(e,t){return e.was==null?null:i(e.was,t)}function A(e,t){return!e.priced||e.unit==null?E:d(e,t)}export{_ as EACH_UNIT,h as FREE_PRICE,T as FROM_PREFIX,w as FROM_PREFIX_START,E as SET_QUOTE_LABEL,c as UNPRICED_LABEL,I as comparePrice,d as formatSelectionPrice,U as formatSelectionWasPrice,C as formatWheelPrice,N as formatWheelWasPrice,s as isPriced,a as priceIn,W as resolveSelectionPrice,x as resolveSetPrice,m as resolveWheelPrice,A as setPriceLabel,L as withinPriceRange};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Finish, WheelVariant } from "../api/index.js";
|
|
2
|
+
export declare const REFERENCE_NOTE = "Image for reference only. Actual product may vary.";
|
|
3
|
+
export declare function stageIsFallback(finish: Pick<Finish, "renderFits">, variant: Pick<WheelVariant, "diameter" | "width"> | null | undefined, studs: number | null, usedLugSet: boolean): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const f="Image for reference only. Actual product may vary.",u=l=>String(Number(l));function g(l,e,t,i){const s=l.renderFits;if(!s||!e||e.diameter==null||e.width==null)return!1;const n=i&&t!=null?s.lug?.[String(t)]:s.angles;if(!n)return!1;const r=u(e.diameter);if(!(n.sizes.length===0||n.sizes.includes(`${r}x${u(e.width)}`)||n.sizes.includes(r)))return!0;const c=n.lugs??[];return!i&&t!=null&&c.length>0&&!c.includes(t)}export{f as REFERENCE_NOTE,g as stageIsFallback};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Finish, WheelSummary } from "../api/index.js";
|
|
2
|
+
export type RenderableFinish = Finish & {
|
|
3
|
+
src: string;
|
|
4
|
+
};
|
|
5
|
+
export declare function isRenderableFinish(f: Finish): f is RenderableFinish;
|
|
6
|
+
export declare function dropRenderlessFinishes<W extends WheelSummary>(wheel: W): W;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(n){return!!n.src}function r(n){const i=n.finishes.filter(e);if(i.length===n.finishes.length)return n;const s=n.defaultFinish&&i.some(t=>t.name===n.defaultFinish)?n.defaultFinish:null;return{...n,finishes:i,defaultFinish:s}}export{r as dropRenderlessFinishes,e as isRenderableFinish};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{parseBoltPattern as e}from"./plp-fitment-match.js";function o(t){return t.manualMode?e(t.shown.boltPattern).holes:t.vehicle.fit?.holes??null}export{o as selectedStuds};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { StoreProduct } from "../catalog/store-product.js";
|
|
2
|
+
import type { WheelSummary, WheelVariant } from "../api/index.js";
|
|
3
|
+
export declare function variantIsDually(variant: WheelVariant): boolean;
|
|
4
|
+
export declare function productIsDually(product: StoreProduct): boolean;
|
|
5
|
+
export interface WheelSetBuild {
|
|
6
|
+
readonly twoObjects: boolean;
|
|
7
|
+
readonly handed: boolean;
|
|
8
|
+
readonly staggered: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const TWO_OBJECT_ET_SPREAD_MM = 150;
|
|
11
|
+
export declare const AXLE_WORDS = "Front + rear";
|
|
12
|
+
export declare const HAND_WORDS = "L/R pair";
|
|
13
|
+
export declare const NOT_HANDED_WORDS = "Not handed";
|
|
14
|
+
export declare const CARD_HAND_WORDS = "L/R";
|
|
15
|
+
export declare function variantEtSpread(variant: WheelVariant): number;
|
|
16
|
+
export declare function variantIsTwoObjects(variant: WheelVariant): boolean;
|
|
17
|
+
export declare function productIsTwoObjects(product: StoreProduct): boolean;
|
|
18
|
+
export declare function variantIsHanded(variant: WheelVariant): boolean;
|
|
19
|
+
export declare function variantIsStaggered(variant: WheelVariant): boolean;
|
|
20
|
+
export declare function variantHasDistinctRear(variant: WheelVariant): boolean;
|
|
21
|
+
export declare function variantSetBuild(variant: WheelVariant): WheelSetBuild;
|
|
22
|
+
export declare function summarySetBuild(summary: WheelSummary): WheelSetBuild;
|
|
23
|
+
export declare function setBuildLabel(build: WheelSetBuild): string | null;
|
|
24
|
+
export declare function setIsWide(build: WheelSetBuild): boolean;
|
|
25
|
+
export declare function variantHasComposedRender(variant: WheelVariant): boolean;
|
|
26
|
+
export declare function productHasComposedRender(product: StoreProduct): boolean;
|
|
27
|
+
export declare function summaryIsDually(summary: WheelSummary): boolean;
|
|
28
|
+
export declare function setSuppressesRow(isTwoObjects: boolean, key: string): boolean;
|
|
29
|
+
export declare function setSecondSrc(finish: {
|
|
30
|
+
src?: string;
|
|
31
|
+
srcRight?: string;
|
|
32
|
+
} | null | undefined, painted: string | null): string | null;
|
|
33
|
+
export declare const PER_WHEEL_UNIT = "per wheel";
|
|
34
|
+
export declare function wheelCardPriceLine(label: string, priced: boolean): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{WHEELS_PER_SET as r}from"../commerce.js";function u(e){return(e.components??[]).reduce((o,s)=>o+s.wheels,0)>r}function R(e){return e.kind==="alloy-wheel"&&(e.source.variants??[]).some(u)}const a=150,c="Front + rear",w="L/R pair",_="Not handed",l="L/R";function i(e){return e.et==null||e.rearEt==null?0:Math.abs(e.rearEt-e.et)}function n(e){return i(e)>=a}function D(e){return e.kind==="alloy-wheel"&&(e.source.variants??[]).some(n)}function d(e){return e.directional===!0}function p(e){return e.kind==="staggered"}function m(e){return e.rearWidth!=null||e.rearEt!=null&&e.rearEt!==e.et}function O(e){return{twoObjects:n(e),handed:d(e),staggered:p(e)}}function g(e){return{twoObjects:f(e),handed:e.handed??!1,staggered:!1}}function W(e){const t=[e.twoObjects?c:"",e.handed?l:""].filter(Boolean);return t.length?t.join(" · "):null}function H(e){return e.handed}function x(e){return new Set((e.components??[]).map(t=>t.partNumber)).size>1}function I(e){return e.kind==="alloy-wheel"&&(e.source.variants??[]).some(x)}function f(e){return(e.setWheelCount??0)>r}const E=new Set(["boltPattern"]);function T(e,t){return e&&E.has(t)}function b(e,t){return!e?.srcRight||!t||t!==e.src?null:e.srcRight}const S="per wheel";function y(e,t){return t?`${e} ${S}`:e}export{c as AXLE_WORDS,l as CARD_HAND_WORDS,w as HAND_WORDS,_ as NOT_HANDED_WORDS,S as PER_WHEEL_UNIT,a as TWO_OBJECT_ET_SPREAD_MM,I as productHasComposedRender,R as productIsDually,D as productIsTwoObjects,W as setBuildLabel,H as setIsWide,b as setSecondSrc,T as setSuppressesRow,f as summaryIsDually,g as summarySetBuild,i as variantEtSpread,x as variantHasComposedRender,m as variantHasDistinctRear,u as variantIsDually,d as variantIsHanded,p as variantIsStaggered,n as variantIsTwoObjects,O as variantSetBuild,y as wheelCardPriceLine};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function sizeRange(sizes: number[]): {
|
|
2
|
+
min: number;
|
|
3
|
+
max: number;
|
|
4
|
+
} | null;
|
|
5
|
+
export declare function formatSizeRange(sizes: number[]): string | null;
|
|
6
|
+
interface HasSizes {
|
|
7
|
+
sizes?: readonly number[] | null;
|
|
8
|
+
}
|
|
9
|
+
export declare function diametersOf(items: readonly HasSizes[]): number[];
|
|
10
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{inchRangeLabel as o}from"./spec-format.js";function i(n){return n.length===0?null:{min:Math.min(...n),max:Math.max(...n)}}function f(n){const t=i(n);return t?o(t.min,t.max):null}function m(n){const t=new Set;for(const r of n)for(const e of r.sizes??[])typeof e=="number"&&t.add(e);return[...t].sort((r,e)=>r-e)}export{m as diametersOf,f as formatSizeRange,i as sizeRange};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function trimDecimal(value: number): string;
|
|
2
|
+
export declare function wheelSizeLabel(diameter: number, width: number, rearWidth?: number | null): string;
|
|
3
|
+
export declare const RANGE_SEPARATOR = " to ";
|
|
4
|
+
export declare function signedNumber(value: number): string;
|
|
5
|
+
export declare function etRangeLabel(lo: number, hi: number): string;
|
|
6
|
+
export declare function inchRangeLabel(lo: number, hi: number): string;
|
|
7
|
+
export declare function inchLabel(value: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(n){return Number.isInteger(n)?String(n):String(Number(n.toFixed(2)))}function c(n,t,$){const o=$!=null?`${e(t)}/${e($)}`:e(t);return`${n}" × ${o}`}const i=" to ";function r(n){return n<0?`−${e(-n)}`:e(n)}function u(n,t){return n===t?`ET ${r(n)}`:`ET ${r(n)}${i}${r(t)}`}function x(n,t){return n===t?`${e(n)}"`:`${e(n)}"${i}${e(t)}"`}function b(n){return n==="—"?n:`${n}"`}export{i as RANGE_SEPARATOR,u as etRangeLabel,b as inchLabel,x as inchRangeLabel,r as signedNumber,e as trimDecimal,c as wheelSizeLabel};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { Wheel, WheelSpec, WheelVariant } from "../api/index.js";
|
|
2
|
+
export interface SpecSheetRow {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
accent?: boolean;
|
|
6
|
+
fieldKey?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface SpecDiagram {
|
|
9
|
+
wheelName: string;
|
|
10
|
+
imageSrc: string | null;
|
|
11
|
+
diameter: string;
|
|
12
|
+
width: string;
|
|
13
|
+
offset: string;
|
|
14
|
+
holes: string;
|
|
15
|
+
pcd: string;
|
|
16
|
+
spokes: number;
|
|
17
|
+
mesh: boolean;
|
|
18
|
+
bore: string;
|
|
19
|
+
}
|
|
20
|
+
export interface SpecSheet {
|
|
21
|
+
rows: SpecSheetRow[];
|
|
22
|
+
diagram: SpecDiagram | null;
|
|
23
|
+
}
|
|
24
|
+
export interface SpecTableSourceValue {
|
|
25
|
+
slug: string;
|
|
26
|
+
name: string;
|
|
27
|
+
process: string;
|
|
28
|
+
spokes: number;
|
|
29
|
+
mesh: boolean;
|
|
30
|
+
spec: WheelSpec | null;
|
|
31
|
+
finishes: {
|
|
32
|
+
name: string;
|
|
33
|
+
image: string | null;
|
|
34
|
+
}[];
|
|
35
|
+
coverImage?: string | null;
|
|
36
|
+
variants?: WheelVariant[];
|
|
37
|
+
}
|
|
38
|
+
interface SpecLike {
|
|
39
|
+
lugs: number | null;
|
|
40
|
+
sizes: number[];
|
|
41
|
+
widths: number[];
|
|
42
|
+
pcds: string[];
|
|
43
|
+
centreBores: number[];
|
|
44
|
+
etRange: number[];
|
|
45
|
+
loadRating: string;
|
|
46
|
+
bumpProfile: string;
|
|
47
|
+
rimProfile: string;
|
|
48
|
+
cap: string;
|
|
49
|
+
}
|
|
50
|
+
export declare function dimensionCallouts(variant: WheelVariant | undefined, spec: Pick<SpecLike, "sizes" | "widths" | "etRange"> | null | undefined): {
|
|
51
|
+
diameter: string;
|
|
52
|
+
width: string;
|
|
53
|
+
offset: string;
|
|
54
|
+
};
|
|
55
|
+
export declare function sourceFromWheel(w: Wheel): SpecTableSourceValue;
|
|
56
|
+
export declare function buildSpecSheet(source: SpecTableSourceValue | null | undefined, finishName?: string, sizeProfile?: string): SpecSheet;
|
|
57
|
+
export declare function buildLegacySpecSheet(slug: string, finishName?: string, sizeProfile?: string): SpecSheet;
|
|
58
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{getWheelBySlug as v}from"./wheels.js";import{getWheelSpec as y}from"./wheel-specs.js";import{getFitments as K}from"./fitments.js";import{COLLECTION_FIELD_KEY as L}from"../content/field-usage.js";import{parseBoltPattern as R}from"./plp-fitment-match.js";import{etRangeLabel as B,trimDecimal as w}from"./spec-format.js";import{variantSpecLabel as C}from"./variant-spec.js";import{findVariant as P}from"./variants.js";import{lugDigits as d}from"./lug-count.js";function m(e){return e&&e.trim()?e:"—"}function h(e){return e[0]?.replace(/^\s*\d+\s*[×x]\s*/,"")||"—"}function p(e,t,i,n,l){const o=R(l?.boltPattern).holes,s=o!=null&&o>0?o:e.lugs,c=d(s),r=e.pcds.length?e.pcds.join(" · "):"—",a=e.centreBores.length?`${e.centreBores.join(" / ")} mm`:"—",u=e.etRange.length>=2?B(e.etRange[0],e.etRange[1]):"—",f=n??"",S=l?C(l):"—";return{rows:[{label:"Your Selection",value:"—",accent:!0},{label:"Finish",value:i,fieldKey:"wheel_finish_ref"},{label:"Size",value:f},{label:"Wheel Spec",value:S},{label:"Lug Count",value:m(c&&`${c}-lug`),fieldKey:"holes"},{label:"Bolt Pattern",value:r,fieldKey:"bolt_pattern"},{label:"Offset (ET)",value:u,fieldKey:"et"},{label:"Process",value:m(t),fieldKey:L},{label:"Centre Bore",value:a,fieldKey:"center_bore"},{label:"Load Rating",value:m(e.loadRating),fieldKey:"load_rating"},{label:"Bump Profile",value:m(e.bumpProfile),fieldKey:"hump"},{label:"Rim Profile",value:m(e.rimProfile),fieldKey:"flange"},{label:"Cap Code",value:m(e.cap),fieldKey:"cap_code"}],size:f}}function g(e){return e.length?e[Math.ceil(e.length/2)-1]:void 0}function _(e,t){const i=e?.diameter??g(t?.sizes??[]),n=e?.width??g(t?.widths??[]),l=t?.etRange??[],[o,s]=l,c=e?.et??(l.length>=2&&o===s?o:void 0),r=a=>m(a!=null?w(a):void 0);return{diameter:r(i),width:r(n),offset:r(c)}}function b(e,t){const i=e?.centreBore??g(t.centreBores);return{..._(e,t),bore:m(i!=null?`${i} mm`:void 0)}}function O(e){return{slug:e.slug,name:e.name,process:e.process,spokes:e.spokes,mesh:e.mesh,spec:e.spec??null,finishes:e.finishes.map(t=>({name:t.name,image:t.src||t.angles?.[0]||null})),coverImage:e.coverImage??null,variants:e.variants}}function T(e,t,i){const n=e?.spec;if(!e||!n)return{rows:[],diagram:null};const l=e.finishes.find(u=>u.name===t)??e.finishes[0],o=P(e.variants??[],l?.name,i),{rows:s,size:c}=p(n,e.process,l?.name??"—",i,o),r=b(o,n),a={wheelName:e.name,imageSrc:l?.image??e.coverImage??null,...r,holes:d(n.lugs),pcd:h(n.pcds),spokes:e.spokes,mesh:e.mesh};return{rows:s,diagram:a}}function $(e,t,i){const n=v(e),l=y(e);if(!n||!l)return{rows:[],diagram:null};const o=K(e),s=n.finishes.find(f=>f.name===t)??n.finishes[0],{rows:c,size:r}=p(l,n.process,s?.name??"—",i,void 0),a=b(void 0,l),u={wheelName:n.name,imageSrc:s?.angles?.[0]??s?.src??null,...a,holes:o[0]?.holes?.toString()??d(l.lugs),pcd:o[0]?.pcd??h(l.pcds),spokes:n.spokes,mesh:n.mesh};return{rows:c,diagram:u}}export{$ as buildLegacySpecSheet,T as buildSpecSheet,_ as dimensionCallouts,O as sourceFromWheel};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare const TYRE_VIEW_SIZE = 400;
|
|
2
|
+
export interface TyreProfile {
|
|
3
|
+
sectionWidth: number;
|
|
4
|
+
aspectRatio: number;
|
|
5
|
+
rimDiameter: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const DEFAULT_TYRE_PROFILE: TyreProfile;
|
|
8
|
+
export declare function tyreProfileFromSize(label: string | null | undefined): TyreProfile;
|
|
9
|
+
export interface TyreGeometry {
|
|
10
|
+
cy: number;
|
|
11
|
+
rx: number;
|
|
12
|
+
ry: number;
|
|
13
|
+
cxf: number;
|
|
14
|
+
dx: number;
|
|
15
|
+
rimRx: number;
|
|
16
|
+
rimRy: number;
|
|
17
|
+
}
|
|
18
|
+
export declare function tyreGeometry(profile: TyreProfile): TyreGeometry;
|
|
19
|
+
export declare function tyreArcPath(g: TyreGeometry, f: number, sweep: 0 | 1, flip?: boolean): string;
|
|
20
|
+
export declare function tyreRingPath(g: TyreGeometry, f0: number, f1: number): string;
|
|
21
|
+
export declare function tyreBlockPath(g: TyreGeometry, f0: number, f1: number, t0: number, t1: number): string;
|
|
22
|
+
export interface TreadColumn {
|
|
23
|
+
f: readonly [number, number];
|
|
24
|
+
blocks?: {
|
|
25
|
+
count: number;
|
|
26
|
+
gap: number;
|
|
27
|
+
phase?: number;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export type TreadPattern = readonly TreadColumn[];
|
|
31
|
+
export declare const TREAD_GENERIC: TreadPattern;
|
|
32
|
+
export declare const TREAD_PATTERNS: Readonly<Record<string, TreadPattern>>;
|
|
33
|
+
export declare function resolveTreadPattern(tireType: string | null | undefined): TreadPattern;
|
|
34
|
+
export declare const TYRE_ILLUSTRATION_NOTE: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{parseTyreSize as d}from"../tyres/tyre-size.js";const R=25.4,p=400,i=152,P=58,u=i*Math.cos(P*Math.PI/180),b=14,E=p/2,k={sectionWidth:225,aspectRatio:60,rimDiameter:17};function L(t){const c=d(t);return c?{sectionWidth:c.width,aspectRatio:c.profile,rimDiameter:c.rim}:k}function S(t){const c=t.rimDiameter*R/2,e=c+t.sectionWidth*t.aspectRatio/100,r=i*(t.sectionWidth/e),n=c/e;return{cy:E,rx:u,ry:i,cxf:p/2-r/2-b,dx:r,rimRx:u*n,rimRy:i*n}}const o=t=>t.toFixed(1);function I(t,c,e,r=!1){const n=t.cxf+c*t.dx,[s,a]=r?[t.cy+t.ry,t.cy-t.ry]:[t.cy-t.ry,t.cy+t.ry];return`M${o(n)} ${o(s)} A${o(t.rx)} ${o(t.ry)} 0 0 ${e} ${o(n)} ${o(a)}`}function U(t,c,e){const r=t.cxf+c*t.dx,n=t.cxf+e*t.dx,s=t.cy-t.ry,a=t.cy+t.ry;return`M${o(r)} ${o(s)} L${o(n)} ${o(s)} A${o(t.rx)} ${o(t.ry)} 0 0 1 ${o(n)} ${o(a)} L${o(r)} ${o(a)} A${o(t.rx)} ${o(t.ry)} 0 0 0 ${o(r)} ${o(s)} Z`}function f(t,c,e){const r=e*Math.PI;return[t.cxf+c*t.dx+t.rx*Math.sin(r),t.cy-t.ry*Math.cos(r)]}function O(t,c,e,r,n){const[s,a]=f(t,c,r),[y,$]=f(t,c,n),[h,l]=f(t,e,n),[T,m]=f(t,e,r);return`M${o(s)} ${o(a)} A${o(t.rx)} ${o(t.ry)} 0 0 1 ${o(y)} ${o($)} L${o(h)} ${o(l)} A${o(t.rx)} ${o(t.ry)} 0 0 0 ${o(T)} ${o(m)} L${o(s)} ${o(a)} Z`}const x=[{f:[0,.215]},{f:[.245,.485]},{f:[.515,.755]},{f:[.785,1]}],M={COM:[{f:[0,.115]},{f:[.145,.26]},{f:[.29,.405]},{f:[.435,.55]},{f:[.58,.695]},{f:[.725,.84]},{f:[.87,1]}],P:[{f:[0,.17],blocks:{count:9,gap:.34}},{f:[.2,.38]},{f:[.42,.58]},{f:[.62,.8]},{f:[.83,1],blocks:{count:9,gap:.34,phase:.5}}],HP:[{f:[0,.3]},{f:[.34,.52]},{f:[.56,.7]},{f:[.74,1],blocks:{count:16,gap:.18}}],UHP:[{f:[0,.34]},{f:[.4,.56]},{f:[.62,1]}],SUV:[{f:[0,.16],blocks:{count:7,gap:.4}},{f:[.2,.36],blocks:{count:11,gap:.26,phase:.5}},{f:[.4,.6]},{f:[.64,.8],blocks:{count:11,gap:.26,phase:.5}},{f:[.84,1],blocks:{count:7,gap:.4}}],LT:[{f:[0,.22],blocks:{count:11,gap:.26}},{f:[.26,.48],blocks:{count:11,gap:.26,phase:.5}},{f:[.52,.74],blocks:{count:11,gap:.26}},{f:[.78,1],blocks:{count:11,gap:.26,phase:.5}}],AT:[{f:[0,.23],blocks:{count:6,gap:.46}},{f:[.29,.5],blocks:{count:6,gap:.46,phase:.5}},{f:[.56,.77],blocks:{count:6,gap:.46}},{f:[.83,1],blocks:{count:6,gap:.46,phase:.5}}],MT:[{f:[0,.29],blocks:{count:4,gap:.58}},{f:[.36,.64],blocks:{count:4,gap:.58,phase:.5}},{f:[.71,1],blocks:{count:4,gap:.58}}]},A=[["ultra high performance","UHP"],["uhp","UHP"],["high performance","HP"],["hp","HP"],["performance","HP"],["sport","HP"],["mud terrain","MT"],["mud","MT"],["mt","MT"],["all terrain","AT"],["at","AT"],["light truck","LT"],["lt","LT"],["commercial","COM"],["com","COM"],["van","COM"],["cargo","COM"],["suv","SUV"],["4x4","SUV"],["crossover","SUV"],["cuv","SUV"],["passenger","P"],["touring","P"],["highway","P"],["p","P"]];function C(t){const c=` ${(t??"").toLowerCase().replace(/[^a-z0-9]+/g," ").trim()} `;if(c.trim()==="")return x;for(const[e,r]of A)if(c.includes(` ${e} `))return M[r];return x}const H="Illustrations are drawn to each tyre's listed size and represent its category; supplier photography replaces them where available.";export{k as DEFAULT_TYRE_PROFILE,x as TREAD_GENERIC,M as TREAD_PATTERNS,H as TYRE_ILLUSTRATION_NOTE,p as TYRE_VIEW_SIZE,C as resolveTreadPattern,I as tyreArcPath,O as tyreBlockPath,S as tyreGeometry,L as tyreProfileFromSize,U as tyreRingPath};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { WheelVariant } from "../api/index.js";
|
|
2
|
+
export declare function variantSizeLabel(variant: WheelVariant): string;
|
|
3
|
+
export declare function variantFitmentLabel(variant: WheelVariant): string;
|
|
4
|
+
export declare function variantEtKey(variant: WheelVariant): string | null;
|
|
5
|
+
export declare function variantSizeGroupKey(variant: WheelVariant): string;
|
|
6
|
+
export declare function variantSizeGroupLabel(variant: WheelVariant): string;
|
|
7
|
+
export declare function variantSizeGroupNote(variant: WheelVariant): string;
|
|
8
|
+
export declare function variantSpecLabel(variant: WheelVariant): string;
|
|
9
|
+
export declare function variantsForFinish(variants: WheelVariant[], finishName: string | null | undefined): WheelVariant[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{trimDecimal as u,wheelSizeLabel as i}from"./spec-format.js";import{variantHasDistinctRear as o}from"./set-mode.js";function h(e){return e.diameter==null||e.width==null?e.size:i(e.diameter,e.width,e.rearWidth)}function p(e){const r=[];e.boltPattern&&r.push(e.boltPattern),e.centreBore!=null&&r.push(`${u(e.centreBore)} bore`);const t=n(e);return t!==null&&r.push(`ET ${t}`),e.directional&&r.push("L/R pair"),r.join(" · ")}function n(e){return e.et==null?null:e.rearEt!=null&&e.rearEt!==e.et?`${e.et}/${e.rearEt}`:String(e.et)}function c(e){return e.diameter==null||e.width==null?JSON.stringify([e.size]):JSON.stringify([e.kind,e.diameter,e.width,e.rearWidth??null])}function s(e){return e.diameter==null||e.width==null?e.size:`${e.diameter}" ${e.kind}`}function m(e){return e.diameter==null||e.width==null?"":e.rearWidth!=null?`${u(e.width)} front / ${u(e.rearWidth)} rear`:`${u(e.width)} all round`}function $(e){if(e.diameter==null||e.width==null)return e.size;const r=(t,l)=>`${e.diameter} × ${u(t)}${l!=null?` ET ${l}`:""}`;return o(e)?`${r(e.width,e.et)} front · ${r(e.rearWidth??e.width,e.rearEt)} rear`:r(e.width,e.et)}function w(e,r){return r?e.filter(t=>t.finishName===r):[]}export{n as variantEtKey,p as variantFitmentLabel,c as variantSizeGroupKey,s as variantSizeGroupLabel,m as variantSizeGroupNote,h as variantSizeLabel,$ as variantSpecLabel,w as variantsForFinish};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { WheelSummary, WheelVariant } from "../api/index.js";
|
|
2
|
+
export declare function setLabel(variant: WheelVariant): string;
|
|
3
|
+
export declare function sizesForFinish(variants: WheelVariant[], finishName: string | null): string[];
|
|
4
|
+
export declare function findVariant(variants: WheelVariant[], finishName: string | null | undefined, size: string | null | undefined): WheelVariant | undefined;
|
|
5
|
+
export declare function isVariantOutOfStock(variant: WheelVariant | undefined): boolean;
|
|
6
|
+
export declare function outOfStockVariantsForFinish(variants: WheelVariant[], finishName: string | null | undefined): WheelVariant[];
|
|
7
|
+
export declare function firstSellableFinishIndex(variants: WheelVariant[], finishNames: string[], availability: boolean[]): number;
|
|
8
|
+
export declare function isOneWheelDesign(wheel: WheelSummary): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{WHEELS_PER_SET as s}from"../commerce.js";import{variantIsHanded as f}from"./set-mode.js";const c="dually";function p(e){const t=e.components.reduce((r,o)=>r+o.wheels,0)||s,n=e.kind,i=[n==="staggered"?"Staggered":n===c?"Dually":"",f(e)?"L/R":""].filter(Boolean);return i.length?`${i.join(" ")} set of ${t}`:`Set of ${t}`}function u(e,t){return[...new Set(e.filter(n=>!t||n.finishName===t).map(n=>n.size))]}function g(e,t,n){if(!(!t||!n))return e.find(i=>i.finishName===t&&i.size===n)}function l(e){return e!=null&&e.inStock===!1}function h(e,t){return t?e.filter(n=>n.finishName===t&&l(n)):[]}function x(e,t,n){return t.findIndex((i,r)=>n[r]!==!1&&u(e,i).length>0)}function S(e){const t=new Set((e.sizePairs??[]).map(r=>`${r.diameter}x${r.width}`)),n=e.spec?.pcds??[],i=e.spec?.etRange??[];return t.size===1&&n.length<=1&&(i.length===0||i[0]===i[i.length-1])}export{g as findVariant,x as firstSellableFinishIndex,S as isOneWheelDesign,l as isVariantOutOfStock,h as outOfStockVariantsForFinish,p as setLabel,u as sizesForFinish};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { VehicleSelection } from "./fitment-options.js";
|
|
2
|
+
export type VehicleField = "make" | "model" | "year" | "trim";
|
|
3
|
+
export declare const VEHICLE_FIELD_ORDER: readonly VehicleField[];
|
|
4
|
+
export declare const VEHICLE_FIELD_LABEL: Record<VehicleField, string>;
|
|
5
|
+
export declare function isVehicleFieldPicked(field: VehicleField, vehicle: VehicleSelection): boolean;
|
|
6
|
+
export declare function resolveVehicleFocus(clicked: VehicleField, vehicle: VehicleSelection): VehicleField;
|
|
7
|
+
export declare function firstUnansweredVehicleField(vehicle: VehicleSelection): VehicleField | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const n=["make","model","year","trim"],i={make:"Make",model:"Model",year:"Year",trim:"Trim"};function o(r,e){switch(r){case"make":return e.make!=="";case"model":return e.model!=="";case"year":return e.year!==null;case"trim":return e.modification!==""}}function a(r,e){for(const t of n){if(t===r)break;if(!o(t,e))return t}return r}function m(r){return n.find(e=>!o(e,r))??null}export{i as VEHICLE_FIELD_LABEL,n as VEHICLE_FIELD_ORDER,m as firstUnansweredVehicleField,o as isVehicleFieldPicked,a as resolveVehicleFocus};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type StorageLike } from "efficient-web-builder/format/lib/safe-storage";
|
|
2
|
+
import { type VehicleSelection } from "./fitment-options.js";
|
|
3
|
+
export declare const VEHICLE_STORAGE_KEY = "storefront-vehicle";
|
|
4
|
+
export interface RememberedVehicleLabels {
|
|
5
|
+
make: string;
|
|
6
|
+
model: string;
|
|
7
|
+
modification: string;
|
|
8
|
+
}
|
|
9
|
+
export interface RememberedVehicle {
|
|
10
|
+
vehicle: VehicleSelection;
|
|
11
|
+
labels: RememberedVehicleLabels;
|
|
12
|
+
}
|
|
13
|
+
export type VehicleStorage = StorageLike;
|
|
14
|
+
export declare function createVehicleMemory(getStorage: () => VehicleStorage | null): {
|
|
15
|
+
read: () => RememberedVehicle | null;
|
|
16
|
+
write: (value: RememberedVehicle) => void;
|
|
17
|
+
clear: () => void;
|
|
18
|
+
subscribe: (listener: () => void) => () => void;
|
|
19
|
+
};
|
|
20
|
+
export declare const storefrontVehicleMemory: {
|
|
21
|
+
read: () => RememberedVehicle | null;
|
|
22
|
+
write: (value: RememberedVehicle) => void;
|
|
23
|
+
clear: () => void;
|
|
24
|
+
subscribe: (listener: () => void) => () => void;
|
|
25
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{safeLocalStorage as l}from"efficient-web-builder/format/lib/safe-storage";import{DEFAULT_VEHICLE as c}from"./fitment-options.js";import{isCompleteVehicle as s}from"./plp-vehicle-params.js";const n="storefront-vehicle";function m(r){if(!r||typeof r!="object")return null;const e=r,o={...c,...e.vehicle??{}};return s(o)?{vehicle:o,labels:{make:e.labels?.make??o.make,model:e.labels?.model??o.model,modification:e.labels?.modification??o.modification}}:null}function a(r){let e;const o=new Set,i=()=>{for(const t of[...o])t()};return{read(){if(e!==void 0)return e;try{const t=r()?.getItem(n);e=t?m(JSON.parse(t)):null}catch{e=null}return e},write(t){e=t;try{r()?.setItem(n,JSON.stringify(t))}catch{}i()},clear(){e=null;try{r()?.removeItem(n)}catch{}i()},subscribe(t){return o.add(t),()=>{o.delete(t)}}}}const p=a(()=>l);export{n as VEHICLE_STORAGE_KEY,a as createVehicleMemory,p as storefrontVehicleMemory};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function c(e){const t=e.lastIndexOf(" ");return t===-1?{lead:"",accent:e}:{lead:e.slice(0,t+1),accent:e.slice(t+1)}}export{c as splitWheelName};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface WheelSpec {
|
|
2
|
+
lugs: 5 | 6;
|
|
3
|
+
sizes: number[];
|
|
4
|
+
widths: number[];
|
|
5
|
+
pcds: string[];
|
|
6
|
+
etRange: [number, number];
|
|
7
|
+
centreBores: number[];
|
|
8
|
+
loadRating: string;
|
|
9
|
+
cap: string;
|
|
10
|
+
bumpProfile: string;
|
|
11
|
+
rimProfile: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const SPECS_BY_SLUG: Record<string, WheelSpec>;
|
|
14
|
+
export declare function getWheelSpec(slug: string): WheelSpec | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const i={"haste-ii":{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5×112-114.3","5×120"],etRange:[33,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32×15×60°"},"force-6":{lugs:6,sizes:[20,22,24],widths:[9,9.5,10],pcds:["6×135","6×139.7","6×135-139.7"],etRange:[20,25],centreBores:[87.1],loadRating:"880 kg / 1,940 lbs",cap:"CP506AL82",bumpProfile:"H2",rimProfile:"34×16×60°"},"speed-ii":{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5×112-114.3","5×120"],etRange:[33,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32×15×60°"},"vortex-ii":{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5×112-114.3","5×120"],etRange:[35,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32×15×60°"},"vector-iii":{lugs:5,sizes:[18,19,20,22],widths:[8,8.5,9.5,10,10.5],pcds:["5×112-114.3","5×120"],etRange:[32,42],centreBores:[71.5,72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32×15×60°"},"blitz-ii":{lugs:5,sizes:[18,19,20,22],widths:[8,8.5,9.5,10,10.5],pcds:["5×112-114.3","5×120"],etRange:[38,42],centreBores:[71.5,72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32×15×60°"},"thrust-ii":{lugs:5,sizes:[18,19,20,22],widths:[8,8.5,9.5,10,10.5],pcds:["5×112-114.3","5×120"],etRange:[33,42],centreBores:[71.5,72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32×15×60°"},"torque-ii":{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5×112-114.3","5×120"],etRange:[42,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP506AL68",bumpProfile:"EH2+",rimProfile:"32×15×60°"},"turbine-ii":{lugs:5,sizes:[20,22],widths:[8.5,10,10.5],pcds:["5×112-114.3","5×120"],etRange:[35,42],centreBores:[71.5,72.6,73.1],loadRating:"880 kg / 1,940 lbs",cap:"CP506AL68",bumpProfile:"EH2+",rimProfile:"32×15×60°"},blitz:{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5×112-114.3","5×120"],etRange:[38,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32×15×60°"},"frixion-5":{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5×112-114.3","5×120"],etRange:[35,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP595AL68",bumpProfile:"EH2+",rimProfile:"32×15×60°"},"frixion-6":{lugs:6,sizes:[20,22,24],widths:[9,9.5,10],pcds:["6×135","6×139.7","6×135-139.7"],etRange:[20,25],centreBores:[87.1],loadRating:"690–880 kg / 1,520–1,940 lbs",cap:"CP506AL82",bumpProfile:"EH2+",rimProfile:"34×16×60°"},rotor:{lugs:5,sizes:[20,22],widths:[8.5,9,10,10.5],pcds:["5×112-114.3","5×115","5×120","5×127"],etRange:[15,40],centreBores:[71.5,72.6,73.1],loadRating:"880 kg / 1,940 lbs",cap:"CP509PS73",bumpProfile:"EH2+",rimProfile:"32×15×60°"},"vector-ii":{lugs:5,sizes:[19,20],widths:[8.5,9.5,10],pcds:["5×112-114.3","5×120"],etRange:[38,42],centreBores:[72.6,73.1],loadRating:"880 kg / 1,940 lbs",cap:"CP506AL68",bumpProfile:"EH2+",rimProfile:"32×15×60°"},torque:{lugs:5,sizes:[18,19,20],widths:[8,8.5,9.5,10],pcds:["5×112-114.3","5×120"],etRange:[35,42],centreBores:[72.6,73.1],loadRating:"690 kg / 1,520 lbs",cap:"CP506AL68",bumpProfile:"EH2+",rimProfile:"32×15×60°"}};function s(e){return i[e]}export{i as SPECS_BY_SLUG,s as getWheelSpec};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { WheelSummary } from "../api/index.js";
|
|
2
|
+
import { type PlpItem } from "../catalog/plp-item.js";
|
|
3
|
+
export declare function normalizeWheelSummary(wheel: WheelSummary): WheelSummary;
|
|
4
|
+
export declare function normalizeCatalogRows<T extends PlpItem>(rows: readonly T[]): T[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{itemKind as s}from"../catalog/plp-item.js";function p(t){if(!t.includes("_"))return t;const r=t.replace(/^_+/,""),e=t.slice(0,t.length-r.length),[n,...c]=r.split("_");return e+n+c.map(o=>o.slice(0,1).toUpperCase()+o.slice(1)).join("")}function i(t){if(Array.isArray(t))return t.map(i);if(t&&typeof t=="object"){const r={};for(const[e,n]of Object.entries(t))r[p(e)]=i(n);return r}return t}function f(t){return i(t)}function a(t){return t.map(r=>s(r)==="tyre"?r:f(r))}export{a as normalizeCatalogRows,f as normalizeWheelSummary};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type FinishFamily = "black" | "silver" | "bronze" | "graphite" | "red";
|
|
2
|
+
export type Process = "FusionForge®" | "Precision Forged" | "Monoblock Cast";
|
|
3
|
+
export type Badge = "new" | "bestseller" | null;
|
|
4
|
+
import type { Currency, Prices } from "../api/index.js";
|
|
5
|
+
export type { Currency, Prices };
|
|
6
|
+
export interface Finish {
|
|
7
|
+
name: string;
|
|
8
|
+
color: string;
|
|
9
|
+
family: FinishFamily;
|
|
10
|
+
src?: string;
|
|
11
|
+
angles?: string[];
|
|
12
|
+
}
|
|
13
|
+
export interface Wheel {
|
|
14
|
+
name: string;
|
|
15
|
+
slug: string;
|
|
16
|
+
process: Process;
|
|
17
|
+
sizes: number[];
|
|
18
|
+
prices: Prices;
|
|
19
|
+
spokes: number;
|
|
20
|
+
mesh: boolean;
|
|
21
|
+
badge: Badge;
|
|
22
|
+
finishes: Finish[];
|
|
23
|
+
description?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare const HEX: {
|
|
26
|
+
readonly hyperBlack: "#1a1a1c";
|
|
27
|
+
readonly blackSatin: "#0d0d0d";
|
|
28
|
+
readonly blackMachined: "#2a2a2a";
|
|
29
|
+
readonly silverSatin: "#a8a8a8";
|
|
30
|
+
readonly silverMachined: "#b5b5b5";
|
|
31
|
+
readonly bronze: "#7a5a3a";
|
|
32
|
+
readonly anthracite: "#3a3a3a";
|
|
33
|
+
readonly candyRed: "#9a1f1f";
|
|
34
|
+
readonly gunmetal: "#4a4d52";
|
|
35
|
+
};
|
|
36
|
+
export declare const WHEELS: Wheel[];
|
|
37
|
+
export declare function getWheelBySlug(slug: string): Wheel | undefined;
|
|
38
|
+
export declare function getRelatedWheels(slug: string, count?: number): Wheel[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const r={hyperBlack:"#1a1a1c",blackSatin:"#0d0d0d",blackMachined:"#2a2a2a",silverSatin:"#a8a8a8",silverMachined:"#b5b5b5",bronze:"#7a5a3a",anthracite:"#3a3a3a",candyRed:"#9a1f1f",gunmetal:"#4a4d52"},e="/media/images/products",c=["0","20-20","25","35"];function a(i,o,n){const s=`${e}/${i}/${n}${o}`,I=c.map(l=>`${s}${l}.png`);return{src:I[0],angles:I}}function t(i,o,n){const s=c.map((I,l)=>`${e}/${i}/${o}.${I}.${n[l]}.png`);return{src:s[0],angles:s}}import{media as u}from"efficient-web-builder/render/lib/media";const p=[{name:"HASTE II",slug:"haste-ii",process:"FusionForge®",sizes:[18,19,20],price:1450,spokes:5,mesh:!1,badge:"bestseller",finishes:[{name:"Silver Satin Lacquer",color:r.silverSatin,family:"silver",...a("Haste II",".","Haste II.Ssl")},{name:"Black Satin Lacquer",color:r.blackSatin,family:"black",...a("Haste II",".","Haste II.Ksl")}]},{name:"FORCE 6",slug:"force-6",process:"FusionForge®",sizes:[19,20,21],price:2950,spokes:6,mesh:!1,badge:null,finishes:[{name:"Silver Machined Carbon Satin Lacquer",color:r.silverMachined,family:"silver",...a("force 6",".","Froce6.Smfcbtm")},{name:"Black Machined Carbon Dark Tint Satin Lacquer",color:r.blackMachined,family:"black",...a("force 6",".","Froce6.Kmfcbtdtm")},{name:"Black Satin Lacquer",color:r.blackSatin,family:"black",...a("force 6",".","Froce6.Ktm")},{name:"Candy Red",color:r.candyRed,family:"red",...a("force 6",".","Froce6.R")}]},{name:"SPEED II",slug:"speed-ii",process:"FusionForge®",sizes:[18,19,20],price:3400,spokes:5,mesh:!1,badge:"new",finishes:[{name:"Silver Machined Face",color:r.silverMachined,family:"silver",...a("speed_II",".","Speed II.Smftm")},{name:"Black Machined Face Dark Tint Satin Lacquer",color:r.blackMachined,family:"black",...a("speed_II",".","Speed II.Kmftdtm")},{name:"Black Satin Lacquer",color:r.blackSatin,family:"black",...a("speed_II",".","Speed II.Ktm")},{name:"Candy Red",color:r.candyRed,family:"red",...a("speed_II",".","Speed II.R")}]},{name:"VORTEX II",slug:"vortex-ii",process:"FusionForge®",sizes:[19,20],price:3200,spokes:5,mesh:!0,badge:null,finishes:[{name:"Silver Machined Face",color:r.silverMachined,family:"silver",...a("Vortex II","-","Vortex II-SMFTM")},{name:"Black Machined Face Satin Lacquer Dark Tint",color:r.blackMachined,family:"black",...a("Vortex II","-","Vortex II-KMFTMTD")},{name:"Black Satin Lacquer",color:r.blackSatin,family:"black",...a("Vortex II","-","Vortex II-KTM")}]},{name:"VECTOR III",slug:"vector-iii",process:"Precision Forged",sizes:[18,19,20,21],price:4200,spokes:7,mesh:!1,badge:null,finishes:[{name:"Hyper Black",color:r.hyperBlack,family:"black",...a("vector_III","-","Vector III-H")},{name:"Anthracite",color:r.anthracite,family:"graphite",...a("vector_III","-","Vector III-ATM")},{name:"Black Satin Lacquer",color:r.blackSatin,family:"black",...a("vector_III","-","Vector III-KTM")},{name:"Silver Satin Lacquer",color:r.silverSatin,family:"silver",...a("vector_III","-","Vector III-STM")},{name:"Bronze",color:r.bronze,family:"bronze",...a("vector_III","-","Vector III- N")}]},{name:"BLITZ II",slug:"blitz-ii",process:"Precision Forged",sizes:[18,19,20,22],price:4400,spokes:8,mesh:!0,badge:null,finishes:[{name:"Hyper Black",color:r.hyperBlack,family:"black",src:`${e}/blitz_II/Blitz II.H.0.752 (3).png`,angles:[`${e}/blitz_II/Blitz II.H.0.752 (3).png`,`${e}/blitz_II/Blitz II.H.20-20752 (4).png`,`${e}/blitz_II/Blitz II.H.25.752 (2).png`,`${e}/blitz_II/Blitz II.H.35.752 (1).png`]},{name:"Anthracite",color:r.anthracite,family:"graphite",src:`${e}/blitz_II/Blitz II.A.0.756 (3).png`,angles:[`${e}/blitz_II/Blitz II.A.0.756 (3).png`,`${e}/blitz_II/Blitz II.A.20-20.756 (4).png`,`${e}/blitz_II/Blitz II.A.25.756 (2).png`,`${e}/blitz_II/Blitz II.A.35.756 (1).png`]},{name:"Black Satin Lacquer",color:r.blackSatin,family:"black",src:`${e}/blitz_II/Blitz II.Ktm.0.760 (3).png`,angles:[`${e}/blitz_II/Blitz II.Ktm.0.760 (3).png`,`${e}/blitz_II/Blitz II.Ktm.20-20760 (4).png`,`${e}/blitz_II/Blitz II.Ktm.25.760 (2).png`,`${e}/blitz_II/Blitz II.Ktm.35.760 (1).png`]},{name:"Silver Satin Lacquer",color:r.silverSatin,family:"silver",src:`${e}/blitz_II/Blitz II.Stm.0.748 (3).png`,angles:[`${e}/blitz_II/Blitz II.Stm.0.748 (3).png`,`${e}/blitz_II/Blitz II.Stm 20-20.748 (4).png`,`${e}/blitz_II/Blitz II.Stm.25.748 (2).png`,`${e}/blitz_II/Blitz II.Stm.35.748 (1).png`]},{name:"Bronze",color:r.bronze,family:"bronze",src:`${e}/blitz_II/Blitz II.n.0.764 (3).png`,angles:[`${e}/blitz_II/Blitz II.n.0.764 (3).png`,`${e}/blitz_II/Blitz II.n.20-20.764 (4).png`,`${e}/blitz_II/Blitz II.n.25.764 (2).png`,`${e}/blitz_II/Blitz II.n.35.764 (1).png`]}]},{name:"THRUST II",slug:"thrust-ii",process:"Precision Forged",sizes:[18,19,20,22],price:4500,spokes:7,mesh:!1,badge:"bestseller",finishes:[{name:"Hyper Black",color:r.hyperBlack,family:"black",src:`${e}/thrust_II/Thrust II v2 2010 H.0.719.png`,angles:[`${e}/thrust_II/Thrust II v2 2010 H.0.719.png`,`${e}/thrust_II/Thrust II v2 2010 H.30.720.png`,`${e}/thrust_II/Thrust II v2 2010 H.30-30.722.png`,`${e}/thrust_II/Thrust II v2 2010 H.45.721.png`]},{name:"Anthracite",color:r.anthracite,family:"graphite",src:`${e}/thrust_II/Thrust II v2 2010 A.0.735.png`,angles:[`${e}/thrust_II/Thrust II v2 2010 A.0.735.png`,`${e}/thrust_II/Thrust II v2 2010 A.30.736.png`,`${e}/thrust_II/Thrust II v2 2010 A.30-30.738.png`,`${e}/thrust_II/Thrust II v2 2010 A.45.737.png`]},{name:"Black Satin Lacquer",color:r.blackSatin,family:"black",src:`${e}/thrust_II/Thrust II v2 2010 K.0.730.png`,angles:[`${e}/thrust_II/Thrust II v2 2010 K.0.730.png`,`${e}/thrust_II/Thrust II v2 2010 K.30.731.png`,`${e}/thrust_II/Thrust II v2 2010 K.30-30.733.png`,`${e}/thrust_II/Thrust II v2 2010 K.45.732.png`]},{name:"Silver Satin Lacquer",color:r.silverSatin,family:"silver",src:`${e}/thrust_II/Thrust II v2 2010 S.0.725.png`,angles:[`${e}/thrust_II/Thrust II v2 2010 S.0.725.png`,`${e}/thrust_II/Thrust II v2 2010 S.30.726.png`,`${e}/thrust_II/Thrust II v2 2010 S.30-30.728.png`,`${e}/thrust_II/Thrust II v2 2010 S.45.727.png`]},{name:"Bronze",color:r.bronze,family:"bronze",src:`${e}/thrust_II/Thrust II v2 2010 N.0.740.png`,angles:[`${e}/thrust_II/Thrust II v2 2010 N.0.740.png`,`${e}/thrust_II/Thrust II v2 2010 N.30.741.png`,`${e}/thrust_II/Thrust II v2 2010 N.30-30.743.png`,`${e}/thrust_II/Thrust II v2 2010 N.45.742.png`]}]},{name:"TORQUE II",slug:"torque-ii",process:"Precision Forged",sizes:[18,19,20,22],price:4300,spokes:7,mesh:!1,badge:null,finishes:[{name:"Hyper Black",color:r.hyperBlack,family:"black",src:`${e}/torque_II/Torque II-H-0-2195.png`,angles:[`${e}/torque_II/Torque II-H-0-2195.png`,`${e}/torque_II/Torque II-H-20-20-2198.png`,`${e}/torque_II/Torque II-H-25-2196.png`,`${e}/torque_II/Torque II-H-35-2197.png`]},{name:"Anthracite",color:r.anthracite,family:"graphite",src:`${e}/torque_II/Torque II-A-0-2174.png`,angles:[`${e}/torque_II/Torque II-A-0-2174.png`,`${e}/torque_II/Torque II-A-20-20-2177.png`,`${e}/torque_II/Torque II-A-25-2175.png`,`${e}/torque_II/Torque II-A-35-2176.png`]},{name:"Black Satin Lacquer",color:r.blackSatin,family:"black",src:`${e}/torque_II/Torque II-Ktm-0-2202.png`,angles:[`${e}/torque_II/Torque II-Ktm-0-2202.png`,`${e}/torque_II/Torque II-Ktm-20-20-2205.png`,`${e}/torque_II/Torque II-Ktm-25-2203.png`,`${e}/torque_II/Torque II-Ktm-35-2204.png`]},{name:"Silver Satin Lacquer",color:r.silverSatin,family:"silver",src:`${e}/torque_II/Torque II-S-0-2181.png`,angles:[`${e}/torque_II/Torque II-S-0-2181.png`,`${e}/torque_II/Torque II-S-20-20-2184.png`,`${e}/torque_II/Torque II-S-25-2182.png`,`${e}/torque_II/Torque II-S-35-2183.png`]},{name:"Bronze",color:r.bronze,family:"bronze",src:`${e}/torque_II/Torque II-N-0-2188.png`,angles:[`${e}/torque_II/Torque II-N-0-2188.png`,`${e}/torque_II/Torque II-N-20-20-2191.png`,`${e}/torque_II/Torque II-N-25-2189.png`,`${e}/torque_II/Torque II-N-35-2190.png`]}]},{name:"TURBINE II",slug:"turbine-ii",process:"Monoblock Cast",sizes:[19,20,21],price:1650,spokes:9,mesh:!0,badge:null,finishes:[{name:"Silver Machined Face",color:r.silverMachined,family:"silver",src:`${e}/turbine II/Turbine II L S MF TM.0.png`,angles:[`${e}/turbine II/Turbine II L S MF TM.0.png`,`${e}/turbine II/Turbine II L S MF TM.25.png`,`${e}/turbine II/Turbine II L S MF TM.35.png`,`${e}/turbine II/Turbine II L S MF TM.45.png`]},{name:"Black Machined Face Dark Tint Satin Lacquer",color:r.blackMachined,family:"black",src:`${e}/turbine II/Turbine II L K MF TD TM.0.png`,angles:[`${e}/turbine II/Turbine II L K MF TD TM.0.png`,`${e}/turbine II/Turbine II L K MF TD TM.25.png`,`${e}/turbine II/Turbine II L K MF TD TM.35.png`,`${e}/turbine II/Turbine II L K MF TD TM.45.png`]}]},{name:"BLITZ",slug:"blitz",process:"Monoblock Cast",sizes:[18,19,20],price:1380,spokes:8,mesh:!0,badge:null,finishes:[{name:"Silver Satin Lacquer",color:r.silverSatin,family:"silver",...t("blitz","Blitz.Stm",["2167","2170","2168","2169"])},{name:"Silver Machined Face",color:r.silverMachined,family:"silver",...t("blitz","Blitz.Smftm",["2160","2163","2161","2162"])},{name:"Black Satin Lacquer",color:r.blackSatin,family:"black",...t("blitz","Blitz.Ktm",["2146","2149","2147","2148"])},{name:"Black Machined Face Dark Tint Satin Lacquer",color:r.blackMachined,family:"black",...t("blitz","Blitz.Kmftdtm",["2139","2142","2140","2141"])},{name:"Candy Red",color:r.candyRed,family:"red",...t("blitz","Blitz.Rmftr",["2153","2156","2154","2155"])}]},{name:"FRIXION 5",slug:"frixion-5",process:"Monoblock Cast",sizes:[18,19,20],price:1320,spokes:5,mesh:!1,badge:null,finishes:[{name:"Silver Machined Face",color:r.silverMachined,family:"silver",...t("frixion 5","Frixion5 S MF",["1969","1972","1970","1971"])},{name:"Black Machined Face",color:r.blackMachined,family:"black",...t("frixion 5","Frixion5 K TM",["1995","1998","1996","1997"])},{name:"Candy Red",color:r.candyRed,family:"red",...t("frixion 5","Frixion5 R ",["1973","1976","1974","1975"])}]},{name:"FRIXION 6",slug:"frixion-6",process:"Monoblock Cast",sizes:[18,19,20,22],price:1380,spokes:6,mesh:!1,badge:null,finishes:[{name:"Silver Machined Face",color:r.silverMachined,family:"silver",...t("frixion 6","Frixion6 S MF TM",["2044","2047","2045","2046"])},{name:"Black Machined Face Dark Tint",color:r.blackMachined,family:"black",src:`${e}/frixion 6/Frixion6 K MF TD.0.2030.png`,angles:[`${e}/frixion 6/Frixion6 K MF TD.0.2030.png`,`${e}/frixion 6/Frixion6 K MF TD.20-20.2033.png`,`${e}/frixion 6/Frixion6 K MF TD.25.png`,`${e}/frixion 6/Frixion6 K MF TD.35.2032.png`]},{name:"Candy Red",color:r.candyRed,family:"red",...t("frixion 6","Frixion6 R MF TR",["2037","2040","2038","2039"])}]},{name:"ROTOR",slug:"rotor",process:"Monoblock Cast",sizes:[18,19,20,22],price:1450,spokes:5,mesh:!1,badge:"bestseller",finishes:[{name:"Silver Machined Face",color:r.silverMachined,family:"silver",...a("rotor",".","Rotor.Smftm")},{name:"Black Machined Face Dark Tint",color:r.blackMachined,family:"black",...a("rotor",".","Rotor.Kmftdtm")},{name:"Candy Red",color:r.candyRed,family:"red",...a("rotor",".","Rotor.Rmftr")}]},{name:"VECTOR II",slug:"vector-ii",process:"Monoblock Cast",sizes:[18,19,20],price:1420,spokes:7,mesh:!1,badge:null,finishes:[{name:"Silver Machined Face",color:r.silverMachined,family:"silver",...a("vector II","-","Vector II-Smftm")},{name:"Black Satin Lacquer",color:r.blackSatin,family:"black",...a("vector II","-","Vector II-Ktm")},{name:"Candy Red",color:r.candyRed,family:"red",...a("vector II","-","Vector II-Rmftr")}]},{name:"TORQUE",slug:"torque",process:"Monoblock Cast",sizes:[18,19,20],price:1390,spokes:7,mesh:!1,badge:null,finishes:[{name:"Silver Machined Face",color:r.silverMachined,family:"silver",...a("torque","-","Torque-Smftm")},{name:"Black Machined Face Dark Tint Satin Lacquer",color:r.blackMachined,family:"black",...a("torque","-","Torque-Kmftdtm")},{name:"Black Satin Lacquer",color:r.blackSatin,family:"black",...a("torque","-","Torque-Ktm")},{name:"Anthracite",color:r.anthracite,family:"graphite",...a("torque","-","Torque-A")}]}];function h(i){return{GBP:i,USD:Math.round(i*1.28/10)*10,AUD:Math.round(i*1.92/10)*10}}const g={"haste-ii":"A featherweight FusionForge® 5-spoke built for the road — the HASTE II is our bestselling all-rounder, precise under load and unmistakable at the kerb.","force-6":"Six clean FusionForge® spokes carry the FORCE 6: a wide, planted stance engineered for big-brake clearance and effortless high-speed composure.","speed-ii":"New for the season, the SPEED II sharpens the FusionForge® silhouette into a taut, motorsport-inspired 5-spoke tuned for lightness and response.","vortex-ii":"The VORTEX II wraps a FusionForge® core in a split-mesh face — aggressive brake cooling and a deep, dimensional look that shifts with the light.","vector-iii":"Elevate your drive with the VECTOR III: a fully forged, race-inspired open 7-spoke that aids brake cooling and cuts unsprung mass — a commitment to performance and handling.","blitz-ii":"The BLITZ II fans eight Precision Forged spokes into a fine mesh — track-bred cooling and a technical face that reads fast even at a standstill.","thrust-ii":"Our Precision Forged bestseller, the THRUST II balances a rigid 7-spoke structure with real weight savings for confident turn-in and long-haul comfort.","torque-ii":"The TORQUE II is Precision Forged for strength where it counts — a muscular 7-spoke that stays composed under power without the weight penalty.","turbine-ii":"Nine turbine-like spokes give the Monoblock Cast TURBINE II its motion — an accessible, durable wheel with a mesh face that never sits still.",blitz:"The original BLITZ: a Monoblock Cast 8-spoke mesh that brings a technical, layered look to everyday miles at a keen price.","frixion-5":"Clean, honest and Monoblock Cast — the FRIXION 5's simple 5-spoke face suits daily driving and takes finishes beautifully.","frixion-6":"The FRIXION 6 adds a spoke and a wider fitment range to the Frixion line — a versatile Monoblock Cast wheel for road and light track use.",rotor:"Our Monoblock Cast bestseller, the ROTOR pairs a bold 5-spoke face with a broad fitment range — the easy, everyday upgrade.","vector-ii":"The VECTOR II brings the Vector line's open 7-spoke geometry to a Monoblock Cast build — a lighter look and a friendlier price.",torque:"The TORQUE keeps things purposeful: a sturdy Monoblock Cast 7-spoke tuned for a planted stance and dependable street manners."},m=p.map(({price:i,...o})=>({...o,prices:h(i),description:g[o.slug]??"",compatibleTyres:[],finishes:o.finishes.map(n=>({...n,src:n.src?u(n.src):n.src,angles:n.angles?.map(u)}))})),d=new Map(m.map(i=>[i.slug,i]));function b(i){return d.get(i)}function k(i,o=3){const n=b(i);return n?m.filter(s=>s.process===n.process&&s.slug!==i).slice(0,o):[]}export{r as HEX,m as WHEELS,k as getRelatedWheels,b as getWheelBySlug};
|