efficient-storefront-blocks 0.57.0 → 0.58.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/dist/chunks/{EditorPreviewCheckout-7Y7WL5BM.js → EditorPreviewCheckout-4NGRJA3T.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-5MWJMLLI.js → SiteEditorProvider-V5FE5UD6.js} +1 -1
- package/dist/chunks/{chunk-BPVXTVPM.js → chunk-4AKN63X5.js} +1 -1
- package/dist/chunks/chunk-K4AZ5SUU.js +1 -0
- package/dist/chunks/chunk-PHH7L5FJ.js +255 -0
- package/dist/chunks/{chunk-FSSCNRRE.js → chunk-SJQTKWV3.js} +1 -1
- package/dist/chunks/{fitment-data-UVMEA7WW.js → fitment-data-OIWU6HGJ.js} +1 -1
- package/dist/editor/components/BlogSource.d.ts +11 -0
- package/dist/editor/components/BlogSource.js +1 -0
- package/dist/editor/components/CategorySource.d.ts +7 -0
- package/dist/editor/components/CategorySource.js +1 -0
- package/dist/editor/components/CollectionPicker.d.ts +7 -0
- package/dist/editor/components/CollectionPicker.js +1 -0
- package/dist/editor/components/ConsentBannerLayoutTiles.d.ts +3 -0
- package/dist/editor/components/ConsentBannerLayoutTiles.js +1 -0
- package/dist/editor/components/CountryShowAsTiles.d.ts +5 -0
- package/dist/editor/components/CountryShowAsTiles.js +1 -0
- package/dist/editor/components/EditProductLink.d.ts +1 -0
- package/dist/editor/components/EditProductLink.js +1 -0
- package/dist/editor/components/EditorCurrencyProvider.d.ts +7 -0
- package/dist/editor/components/EditorCurrencyProvider.js +1 -0
- package/dist/editor/components/EditorPreviewChat.d.ts +1 -0
- package/dist/editor/components/EditorPreviewChat.js +11 -0
- package/dist/editor/components/EditorPreviewCheckout.d.ts +1 -0
- package/dist/editor/components/EditorPreviewCheckout.js +1 -0
- package/dist/editor/components/EditorPreviewSurface.d.ts +5 -0
- package/dist/editor/components/EditorPreviewSurface.js +1 -0
- package/dist/editor/components/FinishPicker.d.ts +6 -0
- package/dist/editor/components/FinishPicker.js +1 -0
- package/dist/editor/components/FooterColumnsField.d.ts +6 -0
- package/dist/editor/components/FooterColumnsField.js +1 -0
- package/dist/editor/components/FooterLogoFillField.d.ts +6 -0
- package/dist/editor/components/FooterLogoFillField.js +1 -0
- package/dist/editor/components/FooterLogoRowFillField.d.ts +6 -0
- package/dist/editor/components/FooterLogoRowFillField.js +1 -0
- package/dist/editor/components/FormPicker.d.ts +33 -0
- package/dist/editor/components/FormPicker.js +1 -0
- package/dist/editor/components/GalleryProductBinding.d.ts +7 -0
- package/dist/editor/components/GalleryProductBinding.js +1 -0
- package/dist/editor/components/GalleryShowcaseSource.d.ts +7 -0
- package/dist/editor/components/GalleryShowcaseSource.js +1 -0
- package/dist/editor/components/HeaderSection.d.ts +3 -0
- package/dist/editor/components/HeaderSection.js +1 -0
- package/dist/editor/components/HeaderSettingsPanel.d.ts +132 -0
- package/dist/editor/components/HeaderSettingsPanel.js +1 -0
- package/dist/editor/components/MenuLinkRangeField.d.ts +5 -0
- package/dist/editor/components/MenuLinkRangeField.js +1 -0
- package/dist/editor/components/MenuPicker.d.ts +7 -0
- package/dist/editor/components/MenuPicker.js +1 -0
- package/dist/editor/components/PerViewStepperField.d.ts +13 -0
- package/dist/editor/components/PerViewStepperField.js +1 -0
- package/dist/editor/components/PreviewHeader.d.ts +2 -0
- package/dist/editor/components/PreviewHeader.js +11 -0
- package/dist/editor/components/PreviewHeaderPrimer.d.ts +4 -0
- package/dist/editor/components/PreviewHeaderPrimer.js +1 -0
- package/dist/editor/components/PreviewMenusPrimer.d.ts +3 -0
- package/dist/editor/components/PreviewMenusPrimer.js +1 -0
- package/dist/editor/components/PreviewProductPicker.d.ts +20 -0
- package/dist/editor/components/PreviewProductPicker.js +1 -0
- package/dist/editor/components/ProductHeroSource.d.ts +19 -0
- package/dist/editor/components/ProductHeroSource.js +1 -0
- package/dist/editor/components/ProductPicker.d.ts +6 -0
- package/dist/editor/components/ProductPicker.js +1 -0
- package/dist/editor/components/SocialLinksDoor.d.ts +1 -0
- package/dist/editor/components/SocialLinksDoor.js +1 -0
- package/dist/editor/components/SpecTableSource.d.ts +7 -0
- package/dist/editor/components/SpecTableSource.js +1 -0
- package/dist/editor/components/StorefrontEditorFurniture.d.ts +6 -0
- package/dist/editor/components/StorefrontEditorFurniture.js +1 -0
- package/dist/editor/components/StorefrontHeaderPanel.d.ts +2 -0
- package/dist/editor/components/StorefrontHeaderPanel.js +1 -0
- package/dist/editor/components/StorefrontLinkRows.d.ts +5 -0
- package/dist/editor/components/StorefrontLinkRows.js +1 -0
- package/dist/editor/components/StorefrontShopRows.d.ts +2 -0
- package/dist/editor/components/StorefrontShopRows.js +1 -0
- package/dist/editor/components/SwitchToBoxHeader.d.ts +1 -0
- package/dist/editor/components/SwitchToBoxHeader.js +1 -0
- package/dist/editor/components/WheelsPerRowField.d.ts +6 -0
- package/dist/editor/components/WheelsPerRowField.js +1 -0
- package/dist/editor/components/useCategoryFilter.d.ts +11 -0
- package/dist/editor/components/useCategoryFilter.js +1 -0
- package/dist/editor/components/useGridSourceLock.d.ts +1 -0
- package/dist/editor/components/useGridSourceLock.js +1 -0
- package/dist/editor/components/useStorefrontCategories.d.ts +2 -0
- package/dist/editor/components/useStorefrontCategories.js +1 -0
- package/dist/editor/components/useStorefrontForms.d.ts +2 -0
- package/dist/editor/components/useStorefrontForms.js +1 -0
- package/dist/editor/components/useWheelMediaGroups.d.ts +2 -0
- package/dist/editor/components/useWheelMediaGroups.js +1 -0
- package/dist/editor/lib/api/section-templates.d.ts +43 -0
- package/dist/editor/lib/api/section-templates.js +1 -0
- package/dist/editor/lib/editor-currency-source.d.ts +11 -0
- package/dist/editor/lib/editor-currency-source.js +1 -0
- package/dist/editor/lib/efficient-backend.d.ts +21 -0
- package/dist/editor/lib/efficient-backend.js +1 -0
- package/dist/editor/lib/header-settings-source.d.ts +7 -0
- package/dist/editor/lib/header-settings-source.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/Collections/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/Collections/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/Header/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/Header/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ThemeSwitchBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ThemeSwitchBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/controls.d.ts +15 -0
- package/dist/editor/lib/puck/blocks/commerce/controls.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/index.d.ts +1 -0
- package/dist/editor/lib/puck/blocks/commerce/index.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/page-rules.d.ts +8 -0
- package/dist/editor/lib/puck/blocks/commerce/page-rules.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/shared-fields.d.ts +5 -0
- package/dist/editor/lib/puck/blocks/commerce/shared-fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/BookingBox/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/BookingBox/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Events/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Events/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Footer/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Footer/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterText/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterText/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Form/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Form/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Reviews/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Reviews/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Subscribe/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Subscribe/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/controls.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/controls.js +1 -0
- package/dist/editor/lib/puck/blocks/service/index.d.ts +1 -0
- package/dist/editor/lib/puck/blocks/service/index.js +1 -0
- package/dist/editor/lib/puck/blocks/service/placeholders.d.ts +1 -0
- package/dist/editor/lib/puck/blocks/service/placeholders.js +1 -0
- package/dist/editor/lib/puck/box-header-for-site.d.ts +9 -0
- package/dist/editor/lib/puck/box-header-for-site.js +1 -0
- package/dist/editor/lib/puck/box-header.d.ts +52 -0
- package/dist/editor/lib/puck/box-header.js +1 -0
- package/dist/editor/lib/puck/config.d.ts +73 -0
- package/dist/editor/lib/puck/config.js +1 -0
- package/dist/editor/lib/say-with.d.ts +2 -0
- package/dist/editor/lib/say-with.js +1 -0
- package/dist/editor/lib/storefront-document.d.ts +2 -0
- package/dist/editor/lib/storefront-document.js +1 -0
- package/dist/editor/lib/storefront-editor-words.d.ts +693 -0
- package/dist/editor/lib/storefront-editor-words.js +1 -0
- package/dist/editor/lib/storefront-editor.d.ts +9 -0
- package/dist/editor/lib/storefront-editor.js +1 -0
- package/dist/editor/lib/storefront-shop-surfaces.d.ts +8 -0
- package/dist/editor/lib/storefront-shop-surfaces.js +1 -0
- package/dist/editor/lib/use-prime-and-refresh.d.ts +16 -0
- package/dist/editor/lib/use-prime-and-refresh.js +1 -0
- package/dist/editor.css +1 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.js +69 -52
- package/dist/render/app/fonts/archivo/OFL.txt +93 -0
- package/dist/render/app/fonts/archivo/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/archivo/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/archivo/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/archivo/latin.woff2 +0 -0
- package/dist/render/app/fonts/archivo/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/archivo/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/assistant/OFL.txt +95 -0
- package/dist/render/app/fonts/assistant/hebrew.woff2 +0 -0
- package/dist/render/app/fonts/assistant/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/assistant/latin.woff2 +0 -0
- package/dist/render/app/fonts/big-shoulders/OFL.txt +93 -0
- package/dist/render/app/fonts/big-shoulders/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/big-shoulders/latin.woff2 +0 -0
- package/dist/render/app/fonts/big-shoulders/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/OFL.txt +93 -0
- package/dist/render/app/fonts/cormorant/cyrillic-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/OFL.txt +93 -0
- package/dist/render/app/fonts/dm-sans/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/latin.woff2 +0 -0
- package/dist/render/app/fonts/fallbacks.css +133 -0
- package/dist/render/app/fonts/fraunces/OFL.txt +93 -0
- package/dist/render/app/fonts/fraunces/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/latin.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/inter/OFL.txt +93 -0
- package/dist/render/app/fonts/inter/cyrillic-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/inter/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek-ext.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin.woff2 +0 -0
- package/dist/render/app/fonts/inter/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/OFL.txt +93 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/greek-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/greek.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/manrope/OFL.txt +93 -0
- package/dist/render/app/fonts/manrope/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/manrope/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/manrope/greek.woff2 +0 -0
- package/dist/render/app/fonts/manrope/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/manrope/latin.woff2 +0 -0
- package/dist/render/app/fonts/manrope/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/michroma/OFL.txt +93 -0
- package/dist/render/app/fonts/michroma/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/michroma/latin.woff2 +0 -0
- package/dist/render/app/fonts/oswald/OFL.txt +93 -0
- package/dist/render/app/fonts/oswald/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/oswald/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/oswald/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/oswald/latin.woff2 +0 -0
- package/dist/render/app/fonts/oswald/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/outfit/OFL.txt +93 -0
- package/dist/render/app/fonts/outfit/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/outfit/latin.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/OFL.txt +93 -0
- package/dist/render/app/fonts/playfair-display/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/poppins/OFL.txt +93 -0
- package/dist/render/app/fonts/poppins/devanagari-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-italic-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-italic-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-italic-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-italic-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-italic-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-italic-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-italic-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-italic-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-italic-600.woff2 +0 -0
- package/dist/render/app/fonts/sora/OFL.txt +93 -0
- package/dist/render/app/fonts/sora/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/sora/latin.woff2 +0 -0
- package/dist/render/app/fonts/space-grotesk/OFL.txt +93 -0
- package/dist/render/app/fonts/space-grotesk/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/space-grotesk/latin.woff2 +0 -0
- package/dist/render/app/fonts/space-grotesk/vietnamese.woff2 +0 -0
- package/dist/render/app/globals.css +3264 -0
- package/dist/render/built-with.json +3 -0
- package/dist/render/components/AppointmentBooking.d.ts +14 -0
- package/dist/render/components/AppointmentBooking.js +1 -0
- package/dist/render/components/AssistantChatMount.d.ts +8 -0
- package/dist/render/components/AssistantChatMount.js +1 -0
- package/dist/render/components/AssistantChatPanel.d.ts +7 -0
- package/dist/render/components/AssistantChatPanel.js +1 -0
- package/dist/render/components/BoxHeaderBar.d.ts +10 -0
- package/dist/render/components/BoxHeaderBar.js +1 -0
- package/dist/render/components/BrandPlate.d.ts +4 -0
- package/dist/render/components/BrandPlate.js +1 -0
- package/dist/render/components/BundleCard.d.ts +6 -0
- package/dist/render/components/BundleCard.js +1 -0
- package/dist/render/components/CartContext.d.ts +91 -0
- package/dist/render/components/CartContext.js +1 -0
- package/dist/render/components/CartDrawer.d.ts +12 -0
- package/dist/render/components/CartDrawer.js +4 -0
- package/dist/render/components/CartLineThumbnail.d.ts +8 -0
- package/dist/render/components/CartLineThumbnail.js +1 -0
- package/dist/render/components/CatalogFilterBarSection.d.ts +12 -0
- package/dist/render/components/CatalogFilterBarSection.js +1 -0
- package/dist/render/components/ChatContext.d.ts +23 -0
- package/dist/render/components/ChatContext.js +1 -0
- package/dist/render/components/ChatLauncher.d.ts +18 -0
- package/dist/render/components/ChatLauncher.js +1 -0
- package/dist/render/components/ChatWidget.d.ts +12 -0
- package/dist/render/components/ChatWidget.js +1 -0
- package/dist/render/components/CheckoutCTA.d.ts +12 -0
- package/dist/render/components/CheckoutCTA.js +1 -0
- package/dist/render/components/CollectionCard.d.ts +27 -0
- package/dist/render/components/CollectionCard.js +1 -0
- package/dist/render/components/Collections.d.ts +17 -0
- package/dist/render/components/Collections.js +1 -0
- package/dist/render/components/CompatibleTyres.d.ts +23 -0
- package/dist/render/components/CompatibleTyres.js +1 -0
- package/dist/render/components/ConsentBanner.d.ts +20 -0
- package/dist/render/components/ConsentBanner.js +1 -0
- package/dist/render/components/ConsentContext.d.ts +22 -0
- package/dist/render/components/ConsentContext.js +1 -0
- package/dist/render/components/ConsentPanel.d.ts +15 -0
- package/dist/render/components/ConsentPanel.js +1 -0
- package/dist/render/components/ConsentProvider.d.ts +7 -0
- package/dist/render/components/ConsentProvider.js +1 -0
- package/dist/render/components/ContactRouting.d.ts +33 -0
- package/dist/render/components/ContactRouting.js +1 -0
- package/dist/render/components/CountrySelect.d.ts +7 -0
- package/dist/render/components/CountrySelect.js +1 -0
- package/dist/render/components/CouponField.d.ts +3 -0
- package/dist/render/components/CouponField.js +1 -0
- package/dist/render/components/CurrencyContext.d.ts +27 -0
- package/dist/render/components/CurrencyContext.js +1 -0
- package/dist/render/components/DeliveryOptions.d.ts +18 -0
- package/dist/render/components/DeliveryOptions.js +1 -0
- package/dist/render/components/DeliveryOptionsSource.d.ts +8 -0
- package/dist/render/components/DeliveryOptionsSource.js +1 -0
- package/dist/render/components/DetailRows.d.ts +22 -0
- package/dist/render/components/DetailRows.js +1 -0
- package/dist/render/components/DimensionArrowMarkers.d.ts +3 -0
- package/dist/render/components/DimensionArrowMarkers.js +1 -0
- package/dist/render/components/EditorCurrencyNoticeContext.d.ts +7 -0
- package/dist/render/components/EditorCurrencyNoticeContext.js +1 -0
- package/dist/render/components/EmailCaptureForm.d.ts +15 -0
- package/dist/render/components/EmailCaptureForm.js +1 -0
- package/dist/render/components/EnglishVariant.d.ts +7 -0
- package/dist/render/components/EnglishVariant.js +1 -0
- package/dist/render/components/EuTyreLabelCard.d.ts +4 -0
- package/dist/render/components/EuTyreLabelCard.js +1 -0
- package/dist/render/components/EuTyreLabels.d.ts +7 -0
- package/dist/render/components/EuTyreLabels.js +1 -0
- package/dist/render/components/Events.d.ts +62 -0
- package/dist/render/components/Events.js +1 -0
- package/dist/render/components/FinishSwatches.d.ts +14 -0
- package/dist/render/components/FinishSwatches.js +1 -0
- package/dist/render/components/FitmentTable.d.ts +17 -0
- package/dist/render/components/FitmentTable.js +1 -0
- package/dist/render/components/FooterDivider.d.ts +6 -0
- package/dist/render/components/FooterDivider.js +1 -0
- package/dist/render/components/FooterEmailSignup.d.ts +6 -0
- package/dist/render/components/FooterEmailSignup.js +1 -0
- package/dist/render/components/FooterGroup.d.ts +8 -0
- package/dist/render/components/FooterGroup.js +1 -0
- package/dist/render/components/FooterLogo.d.ts +13 -0
- package/dist/render/components/FooterLogo.js +1 -0
- package/dist/render/components/FooterMenu.d.ts +25 -0
- package/dist/render/components/FooterMenu.js +1 -0
- package/dist/render/components/FooterSection.d.ts +11 -0
- package/dist/render/components/FooterSection.js +1 -0
- package/dist/render/components/FooterSocial.d.ts +16 -0
- package/dist/render/components/FooterSocial.js +1 -0
- package/dist/render/components/FooterText.d.ts +7 -0
- package/dist/render/components/FooterText.js +1 -0
- package/dist/render/components/FormBlock.d.ts +19 -0
- package/dist/render/components/FormBlock.js +1 -0
- package/dist/render/components/GalleryCard.d.ts +28 -0
- package/dist/render/components/GalleryCard.js +1 -0
- package/dist/render/components/GalleryGrid.d.ts +20 -0
- package/dist/render/components/GalleryGrid.js +1 -0
- package/dist/render/components/GalleryItem.d.ts +41 -0
- package/dist/render/components/GalleryItem.js +1 -0
- package/dist/render/components/GalleryShowcase.d.ts +51 -0
- package/dist/render/components/GalleryShowcase.js +1 -0
- package/dist/render/components/Header.d.ts +13 -0
- package/dist/render/components/Header.js +1 -0
- package/dist/render/components/HeaderNavItem.d.ts +17 -0
- package/dist/render/components/HeaderNavItem.js +1 -0
- package/dist/render/components/HeaderToolBlocks.d.ts +18 -0
- package/dist/render/components/HeaderToolBlocks.js +1 -0
- package/dist/render/components/HeaderTools.d.ts +21 -0
- package/dist/render/components/HeaderTools.js +1 -0
- package/dist/render/components/LegalLine.d.ts +4 -0
- package/dist/render/components/LegalLine.js +1 -0
- package/dist/render/components/Lightbox.d.ts +19 -0
- package/dist/render/components/Lightbox.js +1 -0
- package/dist/render/components/LinkedProductHero.d.ts +34 -0
- package/dist/render/components/LinkedProductHero.js +1 -0
- package/dist/render/components/LiveSiteMapsProvider.d.ts +6 -0
- package/dist/render/components/LiveSiteMapsProvider.js +1 -0
- package/dist/render/components/MenuPlaceholderLabel.d.ts +1 -0
- package/dist/render/components/MenuPlaceholderLabel.js +1 -0
- package/dist/render/components/NoCurrencyNote.d.ts +4 -0
- package/dist/render/components/NoCurrencyNote.js +1 -0
- package/dist/render/components/PreOrderPanel.d.ts +5 -0
- package/dist/render/components/PreOrderPanel.js +1 -0
- package/dist/render/components/PreviewMenusContext.d.ts +13 -0
- package/dist/render/components/PreviewMenusContext.js +1 -0
- package/dist/render/components/ProductCard.d.ts +6 -0
- package/dist/render/components/ProductCard.js +1 -0
- package/dist/render/components/ProductCardChrome.d.ts +37 -0
- package/dist/render/components/ProductCardChrome.js +1 -0
- package/dist/render/components/ProductCardEyebrow.d.ts +14 -0
- package/dist/render/components/ProductCardEyebrow.js +1 -0
- package/dist/render/components/ProductGridSection.d.ts +65 -0
- package/dist/render/components/ProductGridSection.js +1 -0
- package/dist/render/components/ProductHeroPanel.d.ts +22 -0
- package/dist/render/components/ProductHeroPanel.js +1 -0
- package/dist/render/components/ProductLightbox.d.ts +5 -0
- package/dist/render/components/ProductLightbox.js +1 -0
- package/dist/render/components/ProductRef.d.ts +16 -0
- package/dist/render/components/ProductRef.js +1 -0
- package/dist/render/components/PublishedFooter.d.ts +16 -0
- package/dist/render/components/PublishedFooter.js +1 -0
- package/dist/render/components/PublishedHeader.d.ts +4 -0
- package/dist/render/components/PublishedHeader.js +1 -0
- package/dist/render/components/QuantityStepper.d.ts +7 -0
- package/dist/render/components/QuantityStepper.js +1 -0
- package/dist/render/components/QuoteLink.d.ts +4 -0
- package/dist/render/components/QuoteLink.js +1 -0
- package/dist/render/components/ReviewForm.d.ts +8 -0
- package/dist/render/components/ReviewForm.js +1 -0
- package/dist/render/components/Reviews.d.ts +12 -0
- package/dist/render/components/Reviews.js +1 -0
- package/dist/render/components/SearchContext.d.ts +13 -0
- package/dist/render/components/SearchContext.js +1 -0
- package/dist/render/components/SectionBand.d.ts +9 -0
- package/dist/render/components/SectionBand.js +1 -0
- package/dist/render/components/SectionFootnote.d.ts +5 -0
- package/dist/render/components/SectionFootnote.js +1 -0
- package/dist/render/components/SectionGroupBody.d.ts +9 -0
- package/dist/render/components/SectionGroupBody.js +1 -0
- package/dist/render/components/SectionNotice.d.ts +7 -0
- package/dist/render/components/SectionNotice.js +1 -0
- package/dist/render/components/SiteRecordContext.d.ts +17 -0
- package/dist/render/components/SiteRecordContext.js +1 -0
- package/dist/render/components/SiteSwitch.d.ts +10 -0
- package/dist/render/components/SiteSwitch.js +1 -0
- package/dist/render/components/SpecTable.d.ts +18 -0
- package/dist/render/components/SpecTable.js +1 -0
- package/dist/render/components/SpecTablePartBridge.d.ts +5 -0
- package/dist/render/components/SpecTablePartBridge.js +1 -0
- package/dist/render/components/StorefrontProviders.d.ts +15 -0
- package/dist/render/components/StorefrontProviders.js +1 -0
- package/dist/render/components/SubmitBuild.d.ts +23 -0
- package/dist/render/components/SubmitBuild.js +1 -0
- package/dist/render/components/Subscribe.d.ts +27 -0
- package/dist/render/components/Subscribe.js +1 -0
- package/dist/render/components/SubscribePopup.d.ts +19 -0
- package/dist/render/components/SubscribePopup.js +7 -0
- package/dist/render/components/SubscribePopupContext.d.ts +33 -0
- package/dist/render/components/SubscribePopupContext.js +1 -0
- package/dist/render/components/ThemeToggle.d.ts +1 -0
- package/dist/render/components/ThemeToggle.js +1 -0
- package/dist/render/components/ThemedSelect.d.ts +59 -0
- package/dist/render/components/ThemedSelect.js +1 -0
- package/dist/render/components/TyreCard.d.ts +19 -0
- package/dist/render/components/TyreCard.js +1 -0
- package/dist/render/components/TyreFitVerdicts.d.ts +7 -0
- package/dist/render/components/TyreFitVerdicts.js +1 -0
- package/dist/render/components/TyreImage.d.ts +10 -0
- package/dist/render/components/TyreImage.js +1 -0
- package/dist/render/components/TyrePlpCard.d.ts +19 -0
- package/dist/render/components/TyrePlpCard.js +1 -0
- package/dist/render/components/TyreRenderSvg.d.ts +7 -0
- package/dist/render/components/TyreRenderSvg.js +1 -0
- package/dist/render/components/TyreSummaryCard.d.ts +11 -0
- package/dist/render/components/TyreSummaryCard.js +1 -0
- package/dist/render/components/TyreVehicleFitment.d.ts +18 -0
- package/dist/render/components/TyreVehicleFitment.js +1 -0
- package/dist/render/components/ViewMoreLink.d.ts +4 -0
- package/dist/render/components/ViewMoreLink.js +1 -0
- package/dist/render/components/WebFormField.d.ts +17 -0
- package/dist/render/components/WebFormField.js +1 -0
- package/dist/render/components/WheelCardFrame.d.ts +67 -0
- package/dist/render/components/WheelCardFrame.js +1 -0
- package/dist/render/components/WheelImage.d.ts +20 -0
- package/dist/render/components/WheelImage.js +1 -0
- package/dist/render/components/WheelPlaceholder.d.ts +7 -0
- package/dist/render/components/WheelPlaceholder.js +1 -0
- package/dist/render/components/WheelSvg.d.ts +7 -0
- package/dist/render/components/WheelSvg.js +1 -0
- package/dist/render/components/WishlistContext.d.ts +13 -0
- package/dist/render/components/WishlistContext.js +1 -0
- package/dist/render/components/booking/BookingBox.d.ts +16 -0
- package/dist/render/components/booking/BookingBox.js +1 -0
- package/dist/render/components/booking/BookingFormState.d.ts +46 -0
- package/dist/render/components/booking/BookingFormState.js +1 -0
- package/dist/render/components/booking/BookingRegions.d.ts +16 -0
- package/dist/render/components/booking/BookingRegions.js +1 -0
- package/dist/render/components/buy-row.d.ts +1 -0
- package/dist/render/components/buy-row.js +1 -0
- package/dist/render/components/catalog/CatalogFilterBar.d.ts +55 -0
- package/dist/render/components/catalog/CatalogFilterBar.js +1 -0
- package/dist/render/components/catalog/CatalogFilterContext.d.ts +39 -0
- package/dist/render/components/catalog/CatalogFilterContext.js +1 -0
- package/dist/render/components/catalog/CatalogFilterLabels.d.ts +6 -0
- package/dist/render/components/catalog/CatalogFilterLabels.js +1 -0
- package/dist/render/components/catalog/CatalogVehiclePicker.d.ts +22 -0
- package/dist/render/components/catalog/CatalogVehiclePicker.js +1 -0
- package/dist/render/components/catalog/FilterPill.d.ts +25 -0
- package/dist/render/components/catalog/FilterPill.js +1 -0
- package/dist/render/components/catalog/SiteMenuLinks.d.ts +6 -0
- package/dist/render/components/catalog/SiteMenuLinks.js +1 -0
- package/dist/render/components/checkout/CheckoutPageClient.d.ts +25 -0
- package/dist/render/components/checkout/CheckoutPageClient.js +3 -0
- package/dist/render/components/fitment/FitmentFinder.d.ts +15 -0
- package/dist/render/components/fitment/FitmentFinder.js +1 -0
- package/dist/render/components/fitment/FitmentPickerGrid.d.ts +6 -0
- package/dist/render/components/fitment/FitmentPickerGrid.js +1 -0
- package/dist/render/components/fitment/FitmentRowFit.d.ts +4 -0
- package/dist/render/components/fitment/FitmentRowFit.js +1 -0
- package/dist/render/components/fitment/PickerField.d.ts +16 -0
- package/dist/render/components/fitment/PickerField.js +1 -0
- package/dist/render/components/fitment/StockFitmentCard.d.ts +8 -0
- package/dist/render/components/fitment/StockFitmentCard.js +1 -0
- package/dist/render/components/fitment/useFitmentCascade.d.ts +31 -0
- package/dist/render/components/fitment/useFitmentCascade.js +1 -0
- package/dist/render/components/fitment/useVehicleFit.d.ts +29 -0
- package/dist/render/components/fitment/useVehicleFit.js +1 -0
- package/dist/render/components/fitment/vehicle-control.d.ts +10 -0
- package/dist/render/components/fitment/vehicle-control.js +0 -0
- package/dist/render/components/fitment/vehicle-level-state.d.ts +14 -0
- package/dist/render/components/fitment/vehicle-level-state.js +1 -0
- package/dist/render/components/formSubmission.d.ts +32 -0
- package/dist/render/components/formSubmission.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.d.ts +13 -0
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.d.ts +14 -0
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.d.ts +8 -0
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.d.ts +16 -0
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.d.ts +18 -0
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicProductHero.d.ts +25 -0
- package/dist/render/components/pdp-dynamic/DynamicProductHero.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.d.ts +31 -0
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.d.ts +13 -0
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreFitment.d.ts +13 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreFitment.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreSizes.d.ts +11 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -0
- package/dist/render/components/pdp-dynamic/FitmentTableBlock.d.ts +7 -0
- package/dist/render/components/pdp-dynamic/FitmentTableBlock.js +1 -0
- package/dist/render/components/pdp-dynamic/KindGate.d.ts +8 -0
- package/dist/render/components/pdp-dynamic/KindGate.js +1 -0
- package/dist/render/components/pdp-dynamic/useSampleProduct.d.ts +5 -0
- package/dist/render/components/pdp-dynamic/useSampleProduct.js +1 -0
- package/dist/render/components/product-hero/TyreHeroFitment.d.ts +17 -0
- package/dist/render/components/product-hero/TyreHeroFitment.js +1 -0
- package/dist/render/components/product-hero/VehicleQuestion.d.ts +18 -0
- package/dist/render/components/product-hero/VehicleQuestion.js +1 -0
- package/dist/render/components/product-hero/WheelHeroFitment.d.ts +9 -0
- package/dist/render/components/product-hero/WheelHeroFitment.js +1 -0
- package/dist/render/components/product-hero/hero-content.d.ts +7 -0
- package/dist/render/components/product-hero/hero-content.js +1 -0
- package/dist/render/components/product-hero/hero-view.d.ts +37 -0
- package/dist/render/components/product-hero/hero-view.js +1 -0
- package/dist/render/components/product-hero/stage-photo.d.ts +10 -0
- package/dist/render/components/product-hero/stage-photo.js +3 -0
- package/dist/render/components/submit/SubmitBox.d.ts +19 -0
- package/dist/render/components/submit/SubmitBox.js +1 -0
- package/dist/render/components/submit/SubmitRegions.d.ts +17 -0
- package/dist/render/components/submit/SubmitRegions.js +1 -0
- package/dist/render/components/useEuTyreLabels.d.ts +3 -0
- package/dist/render/components/useEuTyreLabels.js +1 -0
- package/dist/render/components/useFinishSelection.d.ts +17 -0
- package/dist/render/components/useFinishSelection.js +1 -0
- package/dist/render/components/useHeaderBar.d.ts +9 -0
- package/dist/render/components/useHeaderBar.js +1 -0
- package/dist/render/components/useLightbox.d.ts +10 -0
- package/dist/render/components/useLightbox.js +1 -0
- package/dist/render/components/useModalDismiss.d.ts +8 -0
- package/dist/render/components/useModalDismiss.js +1 -0
- package/dist/render/components/useNewsletterSignup.d.ts +12 -0
- package/dist/render/components/useNewsletterSignup.js +1 -0
- package/dist/render/components/usePreOrderIntent.d.ts +14 -0
- package/dist/render/components/usePreOrderIntent.js +1 -0
- package/dist/render/components/useProductCatalog.d.ts +54 -0
- package/dist/render/components/useProductCatalog.js +1 -0
- package/dist/render/components/useProductSelection.d.ts +39 -0
- package/dist/render/components/useProductSelection.js +1 -0
- package/dist/render/components/useStockAlertSignup.d.ts +14 -0
- package/dist/render/components/useStockAlertSignup.js +1 -0
- package/dist/render/components/useStorefrontReviews.d.ts +2 -0
- package/dist/render/components/useStorefrontReviews.js +1 -0
- package/dist/render/components/useTyreCatalog.d.ts +2 -0
- package/dist/render/components/useTyreCatalog.js +1 -0
- package/dist/render/components/useTyreDetail.d.ts +6 -0
- package/dist/render/components/useTyreDetail.js +1 -0
- package/dist/render/components/useTyreFitAnswer.d.ts +5 -0
- package/dist/render/components/useTyreFitAnswer.js +1 -0
- package/dist/render/components/useWheelDetail.d.ts +6 -0
- package/dist/render/components/useWheelDetail.js +1 -0
- package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +42 -0
- package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -0
- package/dist/render/components/wheels-plp/PlpActiveChips.d.ts +9 -0
- package/dist/render/components/wheels-plp/PlpActiveChips.js +1 -0
- package/dist/render/components/wheels-plp/PlpCard.d.ts +27 -0
- package/dist/render/components/wheels-plp/PlpCard.js +1 -0
- package/dist/render/components/wheels-plp/PlpInStockToggle.d.ts +6 -0
- package/dist/render/components/wheels-plp/PlpInStockToggle.js +1 -0
- package/dist/render/components/wheels-plp/PlpNotifyMeDialog.d.ts +10 -0
- package/dist/render/components/wheels-plp/PlpNotifyMeDialog.js +1 -0
- package/dist/render/components/wheels-plp/PlpPagination.d.ts +5 -0
- package/dist/render/components/wheels-plp/PlpPagination.js +1 -0
- package/dist/render/components/wheels-plp/PlpSidebar.d.ts +25 -0
- package/dist/render/components/wheels-plp/PlpSidebar.js +1 -0
- package/dist/render/components/wheels-plp/PlpTypePicker.d.ts +7 -0
- package/dist/render/components/wheels-plp/PlpTypePicker.js +1 -0
- package/dist/render/components/wheels-plp/PlpTyreSizeBoxes.d.ts +9 -0
- package/dist/render/components/wheels-plp/PlpTyreSizeBoxes.js +1 -0
- package/dist/render/components/wheels-plp/PlpVehicleBar.d.ts +15 -0
- package/dist/render/components/wheels-plp/PlpVehicleBar.js +1 -0
- package/dist/render/components/wheels-plp/PlpVehicleGate.d.ts +10 -0
- package/dist/render/components/wheels-plp/PlpVehicleGate.js +1 -0
- package/dist/render/components/wheels-plp/usePlpCardSelection.d.ts +18 -0
- package/dist/render/components/wheels-plp/usePlpCardSelection.js +1 -0
- package/dist/render/components/wheels-plp/usePlpFiltersInUrl.d.ts +10 -0
- package/dist/render/components/wheels-plp/usePlpFiltersInUrl.js +1 -0
- package/dist/render/components/wheels-plp/useVehicleCatalog.d.ts +10 -0
- package/dist/render/components/wheels-plp/useVehicleCatalog.js +1 -0
- package/dist/render/components/wheels-plp/useWheelCardBottom.d.ts +20 -0
- package/dist/render/components/wheels-plp/useWheelCardBottom.js +1 -0
- package/dist/render/lib/api/chat.d.ts +31 -0
- package/dist/render/lib/api/chat.js +1 -0
- package/dist/render/lib/api/fitment-data.d.ts +18 -0
- package/dist/render/lib/api/fitment-data.js +1 -0
- package/dist/render/lib/api/gallery-builds-data.d.ts +4 -0
- package/dist/render/lib/api/gallery-builds-data.js +1 -0
- package/dist/render/lib/api/generated-upload-limits.d.ts +1292 -0
- package/dist/render/lib/api/generated-upload-limits.js +1 -0
- package/dist/render/lib/api/index.d.ts +806 -0
- package/dist/render/lib/api/index.js +1 -0
- package/dist/render/lib/api/origins.d.ts +2 -0
- package/dist/render/lib/api/origins.js +1 -0
- package/dist/render/lib/api/types.d.ts +3928 -0
- package/dist/render/lib/api/types.js +0 -0
- package/dist/render/lib/api/upload-limits.d.ts +10 -0
- package/dist/render/lib/api/upload-limits.js +1 -0
- package/dist/render/lib/assistant-chat.d.ts +35 -0
- package/dist/render/lib/assistant-chat.js +1 -0
- package/dist/render/lib/auth.d.ts +6 -0
- package/dist/render/lib/auth.js +1 -0
- package/dist/render/lib/booking/text-kinds.d.ts +11 -0
- package/dist/render/lib/booking/text-kinds.js +1 -0
- package/dist/render/lib/booking-dates.d.ts +23 -0
- package/dist/render/lib/booking-dates.js +1 -0
- package/dist/render/lib/cache-evict.d.ts +4 -0
- package/dist/render/lib/cache-evict.js +1 -0
- package/dist/render/lib/cart/coupon-preview.d.ts +12 -0
- package/dist/render/lib/cart/coupon-preview.js +1 -0
- package/dist/render/lib/cart/shipping-status.d.ts +12 -0
- package/dist/render/lib/cart/shipping-status.js +1 -0
- package/dist/render/lib/cart/snapshot-lines.d.ts +3 -0
- package/dist/render/lib/cart/snapshot-lines.js +1 -0
- package/dist/render/lib/catalog/from-tyre.d.ts +3 -0
- package/dist/render/lib/catalog/from-tyre.js +1 -0
- package/dist/render/lib/catalog/from-wheel.d.ts +7 -0
- package/dist/render/lib/catalog/from-wheel.js +1 -0
- package/dist/render/lib/catalog/listing-links.d.ts +11 -0
- package/dist/render/lib/catalog/listing-links.js +1 -0
- package/dist/render/lib/catalog/plp-item.d.ts +39 -0
- package/dist/render/lib/catalog/plp-item.js +1 -0
- package/dist/render/lib/catalog/plp-vehicle-copy.d.ts +20 -0
- package/dist/render/lib/catalog/plp-vehicle-copy.js +1 -0
- package/dist/render/lib/catalog/plp-vehicle-slice.d.ts +13 -0
- package/dist/render/lib/catalog/plp-vehicle-slice.js +1 -0
- package/dist/render/lib/catalog/product-options.d.ts +27 -0
- package/dist/render/lib/catalog/product-options.js +1 -0
- package/dist/render/lib/catalog/purchase.d.ts +46 -0
- package/dist/render/lib/catalog/purchase.js +1 -0
- package/dist/render/lib/catalog/related-cards.d.ts +12 -0
- package/dist/render/lib/catalog/related-cards.js +1 -0
- package/dist/render/lib/catalog/relationships.d.ts +28 -0
- package/dist/render/lib/catalog/relationships.js +1 -0
- package/dist/render/lib/catalog/store-product.d.ts +56 -0
- package/dist/render/lib/catalog/store-product.js +1 -0
- package/dist/render/lib/chat-socket.d.ts +8 -0
- package/dist/render/lib/chat-socket.js +1 -0
- package/dist/render/lib/checkout/wallet-return.d.ts +52 -0
- package/dist/render/lib/checkout/wallet-return.js +1 -0
- package/dist/render/lib/chrome-cache.d.ts +6 -0
- package/dist/render/lib/chrome-cache.js +1 -0
- package/dist/render/lib/chrome-load.d.ts +28 -0
- package/dist/render/lib/chrome-load.js +1 -0
- package/dist/render/lib/click-ids.d.ts +8 -0
- package/dist/render/lib/click-ids.js +1 -0
- package/dist/render/lib/commerce.d.ts +42 -0
- package/dist/render/lib/commerce.js +1 -0
- package/dist/render/lib/consent/choice.d.ts +35 -0
- package/dist/render/lib/consent/choice.js +1 -0
- package/dist/render/lib/consent/rules.d.ts +60 -0
- package/dist/render/lib/consent/rules.js +1 -0
- package/dist/render/lib/content/catalog-filter-labels.d.ts +6 -0
- package/dist/render/lib/content/catalog-filter-labels.js +1 -0
- package/dist/render/lib/content/country-show-as.d.ts +9 -0
- package/dist/render/lib/content/country-show-as.js +1 -0
- package/dist/render/lib/content/english-variant.d.ts +4 -0
- package/dist/render/lib/content/english-variant.js +1 -0
- package/dist/render/lib/content/field-usage.d.ts +35 -0
- package/dist/render/lib/content/field-usage.js +1 -0
- package/dist/render/lib/content/header-bar.d.ts +8 -0
- package/dist/render/lib/content/header-bar.js +1 -0
- package/dist/render/lib/content/header-theme.d.ts +7 -0
- package/dist/render/lib/content/header-theme.js +1 -0
- package/dist/render/lib/content/menu-placeholder.d.ts +8 -0
- package/dist/render/lib/content/menu-placeholder.js +1 -0
- package/dist/render/lib/content/menu-row.d.ts +9 -0
- package/dist/render/lib/content/menu-row.js +1 -0
- package/dist/render/lib/content/product-hero.d.ts +13 -0
- package/dist/render/lib/content/product-hero.js +1 -0
- package/dist/render/lib/content/site.d.ts +62 -0
- package/dist/render/lib/content/site.js +1 -0
- package/dist/render/lib/content/source-values.d.ts +43 -0
- package/dist/render/lib/content/source-values.js +0 -0
- package/dist/render/lib/content/stock-words.d.ts +10 -0
- package/dist/render/lib/content/stock-words.js +1 -0
- package/dist/render/lib/countries.d.ts +5 -0
- package/dist/render/lib/countries.js +1 -0
- package/dist/render/lib/editor-route.d.ts +3 -0
- package/dist/render/lib/editor-route.js +1 -0
- package/dist/render/lib/email-shape.d.ts +1 -0
- package/dist/render/lib/email-shape.js +1 -0
- package/dist/render/lib/font-table.json +2588 -0
- package/dist/render/lib/forwarded-for.d.ts +6 -0
- package/dist/render/lib/forwarded-for.js +1 -0
- package/dist/render/lib/google-tag.d.ts +37 -0
- package/dist/render/lib/google-tag.js +1 -0
- package/dist/render/lib/header-settings-fetch.d.ts +5 -0
- package/dist/render/lib/header-settings-fetch.js +1 -0
- package/dist/render/lib/links/link-rules.d.ts +80 -0
- package/dist/render/lib/links/link-rules.js +1 -0
- package/dist/render/lib/logo/surface-is-light.d.ts +1 -0
- package/dist/render/lib/logo/surface-is-light.js +1 -0
- package/dist/render/lib/menu-link.d.ts +1 -0
- package/dist/render/lib/menu-link.js +1 -0
- package/dist/render/lib/menu-source.d.ts +23 -0
- package/dist/render/lib/menu-source.js +1 -0
- package/dist/render/lib/meta-pixel.d.ts +19 -0
- package/dist/render/lib/meta-pixel.js +1 -0
- package/dist/render/lib/newsletter-signup.d.ts +16 -0
- package/dist/render/lib/newsletter-signup.js +1 -0
- package/dist/render/lib/next-fonts.d.ts +3 -0
- package/dist/render/lib/next-fonts.js +1 -0
- package/dist/render/lib/popup/popup-rules.d.ts +25 -0
- package/dist/render/lib/popup/popup-rules.js +1 -0
- package/dist/render/lib/popup/text-kind-style.d.ts +3 -0
- package/dist/render/lib/popup/text-kind-style.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CartBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CartBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/Collections/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/commerce/Collections/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.d.ts +9 -0
- package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/DetailRows/render.d.ts +9 -0
- package/dist/render/lib/puck/blocks/commerce/DetailRows/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.d.ts +9 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/Gallery/render.d.ts +14 -0
- package/dist/render/lib/puck/blocks/commerce/Gallery/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryB/render.d.ts +13 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryB/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/Header/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/Header/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ProductHero/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/ProductHero/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ProductRef/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/ProductRef/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/SpecTable/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/commerce/SpecTable/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/placeholders.d.ts +4 -0
- package/dist/render/lib/puck/blocks/commerce/placeholders.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/renders.d.ts +32 -0
- package/dist/render/lib/puck/blocks/commerce/renders.js +1 -0
- package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/BookingBox/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/BookingBox/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/ContactRouting/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/ContactRouting/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Events/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/service/Events/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Footer/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/Footer/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterDivider/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterDivider/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterGroup/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/FooterGroup/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterLogo/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterLogo/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterMenu/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterMenu/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterSocial/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterSocial/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterText/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterText/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Form/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/Form/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/ReviewForm/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/service/ReviewForm/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Reviews/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/service/Reviews/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SiteFooter/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/service/SiteFooter/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SiteHeader/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/service/SiteHeader/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SubmitBox/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/SubmitBox/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SubmitBuild/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/SubmitBuild/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Subscribe/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/Subscribe/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.d.ts +17 -0
- package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/renders.d.ts +26 -0
- package/dist/render/lib/puck/blocks/service/renders.js +1 -0
- package/dist/render/lib/puck/blocks/service/subscribe.d.ts +33 -0
- package/dist/render/lib/puck/blocks/service/subscribe.js +1 -0
- package/dist/render/lib/puck/blocks/text-part-shapes.json +1649 -0
- package/dist/render/lib/puck/current-product.d.ts +19 -0
- package/dist/render/lib/puck/current-product.js +1 -0
- package/dist/render/lib/puck/current-record.d.ts +44 -0
- package/dist/render/lib/puck/current-record.js +1 -0
- package/dist/render/lib/puck/fitment-table-dynamic.d.ts +4 -0
- package/dist/render/lib/puck/fitment-table-dynamic.js +1 -0
- package/dist/render/lib/puck/footer-page-blocks.d.ts +7 -0
- package/dist/render/lib/puck/footer-page-blocks.js +1 -0
- package/dist/render/lib/puck/preview-pick.d.ts +7 -0
- package/dist/render/lib/puck/preview-pick.js +1 -0
- package/dist/render/lib/puck/preview-product.d.ts +6 -0
- package/dist/render/lib/puck/preview-product.js +1 -0
- package/dist/render/lib/puck/render-client.d.ts +5 -0
- package/dist/render/lib/puck/render-client.js +1 -0
- package/dist/render/lib/puck/render-config.d.ts +4 -0
- package/dist/render/lib/puck/render-config.js +1 -0
- package/dist/render/lib/puck/slot-seeds.d.ts +3 -0
- package/dist/render/lib/puck/slot-seeds.js +1 -0
- package/dist/render/lib/puck/storefront-root.d.ts +18 -0
- package/dist/render/lib/puck/storefront-root.js +1 -0
- package/dist/render/lib/puck/subscribe-content-type.d.ts +10 -0
- package/dist/render/lib/puck/subscribe-content-type.js +1 -0
- package/dist/render/lib/puck/template-product-kind.d.ts +7 -0
- package/dist/render/lib/puck/template-product-kind.js +1 -0
- package/dist/render/lib/sections/card-image-sizes.d.ts +12 -0
- package/dist/render/lib/sections/card-image-sizes.js +1 -0
- package/dist/render/lib/sections/card-show-defaults.d.ts +10 -0
- package/dist/render/lib/sections/card-show-defaults.js +1 -0
- package/dist/render/lib/sections/catalog-filter-layout.d.ts +7 -0
- package/dist/render/lib/sections/catalog-filter-layout.js +1 -0
- package/dist/render/lib/sections/fill-row.d.ts +16 -0
- package/dist/render/lib/sections/fill-row.js +1 -0
- package/dist/render/lib/sections/hero-arrangement.d.ts +11 -0
- package/dist/render/lib/sections/hero-arrangement.js +1 -0
- package/dist/render/lib/sections/hero-gallery.d.ts +14 -0
- package/dist/render/lib/sections/hero-gallery.js +1 -0
- package/dist/render/lib/sections/hero-price-placement.d.ts +7 -0
- package/dist/render/lib/sections/hero-price-placement.js +1 -0
- package/dist/render/lib/select-keys.d.ts +18 -0
- package/dist/render/lib/select-keys.js +1 -0
- package/dist/render/lib/site-headers.d.ts +3 -0
- package/dist/render/lib/site-headers.js +1 -0
- package/dist/render/lib/storefront-page-groups.d.ts +16 -0
- package/dist/render/lib/storefront-page-groups.js +1 -0
- package/dist/render/lib/storefront-page-order.d.ts +3 -0
- package/dist/render/lib/storefront-page-order.js +1 -0
- package/dist/render/lib/submit/text-kinds.d.ts +11 -0
- package/dist/render/lib/submit/text-kinds.js +1 -0
- package/dist/render/lib/tyres/eu-tyre-label.d.ts +29 -0
- package/dist/render/lib/tyres/eu-tyre-label.js +1 -0
- package/dist/render/lib/tyres/placeholder-tyre.d.ts +2 -0
- package/dist/render/lib/tyres/placeholder-tyre.js +1 -0
- package/dist/render/lib/tyres/spec-sheet.d.ts +12 -0
- package/dist/render/lib/tyres/spec-sheet.js +1 -0
- package/dist/render/lib/tyres/tyre-brand-name.d.ts +2 -0
- package/dist/render/lib/tyres/tyre-brand-name.js +1 -0
- package/dist/render/lib/tyres/tyre-fit-copy.d.ts +3 -0
- package/dist/render/lib/tyres/tyre-fit-copy.js +1 -0
- package/dist/render/lib/tyres/tyre-page-path.d.ts +2 -0
- package/dist/render/lib/tyres/tyre-page-path.js +1 -0
- package/dist/render/lib/tyres/tyre-purchase.d.ts +12 -0
- package/dist/render/lib/tyres/tyre-purchase.js +1 -0
- package/dist/render/lib/tyres/tyre-size-fit.d.ts +12 -0
- package/dist/render/lib/tyres/tyre-size-fit.js +1 -0
- package/dist/render/lib/tyres/tyre-size.d.ts +11 -0
- package/dist/render/lib/tyres/tyre-size.js +1 -0
- package/dist/render/lib/tyres/tyre-vehicle-fitment.d.ts +17 -0
- package/dist/render/lib/tyres/tyre-vehicle-fitment.js +1 -0
- package/dist/render/lib/uuid.d.ts +1 -0
- package/dist/render/lib/uuid.js +1 -0
- package/dist/render/lib/wheels/applied-vehicle.d.ts +1 -0
- package/dist/render/lib/wheels/applied-vehicle.js +1 -0
- package/dist/render/lib/wheels/catalog-default-layout.d.ts +14 -0
- package/dist/render/lib/wheels/catalog-default-layout.js +1 -0
- package/dist/render/lib/wheels/catalog-filters-to-listing.d.ts +9 -0
- package/dist/render/lib/wheels/catalog-filters-to-listing.js +1 -0
- package/dist/render/lib/wheels/catalog-filters.d.ts +19 -0
- package/dist/render/lib/wheels/catalog-filters.js +1 -0
- package/dist/render/lib/wheels/collections.d.ts +22 -0
- package/dist/render/lib/wheels/collections.js +1 -0
- package/dist/render/lib/wheels/cover-rendering.d.ts +23 -0
- package/dist/render/lib/wheels/cover-rendering.js +1 -0
- package/dist/render/lib/wheels/detail-shots.d.ts +10 -0
- package/dist/render/lib/wheels/detail-shots.js +1 -0
- package/dist/render/lib/wheels/finish-colour-match.d.ts +4 -0
- package/dist/render/lib/wheels/finish-colour-match.js +1 -0
- package/dist/render/lib/wheels/finish-defaults.d.ts +16 -0
- package/dist/render/lib/wheels/finish-defaults.js +1 -0
- package/dist/render/lib/wheels/finish-photos.d.ts +2 -0
- package/dist/render/lib/wheels/finish-photos.js +1 -0
- package/dist/render/lib/wheels/fitment-columns.d.ts +9 -0
- package/dist/render/lib/wheels/fitment-columns.js +1 -0
- package/dist/render/lib/wheels/fitment-options.d.ts +18 -0
- package/dist/render/lib/wheels/fitment-options.js +1 -0
- package/dist/render/lib/wheels/fitment-row-fit.d.ts +17 -0
- package/dist/render/lib/wheels/fitment-row-fit.js +1 -0
- package/dist/render/lib/wheels/fitments.d.ts +13 -0
- package/dist/render/lib/wheels/fitments.js +1 -0
- package/dist/render/lib/wheels/grid-source.d.ts +12 -0
- package/dist/render/lib/wheels/grid-source.js +1 -0
- package/dist/render/lib/wheels/listable-wheels.d.ts +3 -0
- package/dist/render/lib/wheels/listable-wheels.js +1 -0
- package/dist/render/lib/wheels/lug-count.d.ts +10 -0
- package/dist/render/lib/wheels/lug-count.js +1 -0
- package/dist/render/lib/wheels/pdp-fit-verdict.d.ts +27 -0
- package/dist/render/lib/wheels/pdp-fit-verdict.js +1 -0
- package/dist/render/lib/wheels/picker-goes-to-the-shop.d.ts +10 -0
- package/dist/render/lib/wheels/picker-goes-to-the-shop.js +1 -0
- package/dist/render/lib/wheels/placeholder-wheel.d.ts +3 -0
- package/dist/render/lib/wheels/placeholder-wheel.js +1 -0
- package/dist/render/lib/wheels/plp-filters.d.ts +100 -0
- package/dist/render/lib/wheels/plp-filters.js +1 -0
- package/dist/render/lib/wheels/plp-fitment-match.d.ts +61 -0
- package/dist/render/lib/wheels/plp-fitment-match.js +1 -0
- package/dist/render/lib/wheels/plp-grid.d.ts +18 -0
- package/dist/render/lib/wheels/plp-grid.js +1 -0
- package/dist/render/lib/wheels/plp-hydrate.d.ts +21 -0
- package/dist/render/lib/wheels/plp-hydrate.js +1 -0
- package/dist/render/lib/wheels/plp-vehicle-params.d.ts +10 -0
- package/dist/render/lib/wheels/plp-vehicle-params.js +1 -0
- package/dist/render/lib/wheels/pre-order-intent.d.ts +3 -0
- package/dist/render/lib/wheels/pre-order-intent.js +1 -0
- package/dist/render/lib/wheels/pre-order.d.ts +7 -0
- package/dist/render/lib/wheels/pre-order.js +1 -0
- package/dist/render/lib/wheels/price-display.d.ts +47 -0
- package/dist/render/lib/wheels/price-display.js +1 -0
- package/dist/render/lib/wheels/render-fit.d.ts +3 -0
- package/dist/render/lib/wheels/render-fit.js +1 -0
- package/dist/render/lib/wheels/renderable-finishes.d.ts +6 -0
- package/dist/render/lib/wheels/renderable-finishes.js +1 -0
- package/dist/render/lib/wheels/selected-studs.d.ts +9 -0
- package/dist/render/lib/wheels/selected-studs.js +1 -0
- package/dist/render/lib/wheels/set-mode.d.ts +34 -0
- package/dist/render/lib/wheels/set-mode.js +1 -0
- package/dist/render/lib/wheels/size-range.d.ts +10 -0
- package/dist/render/lib/wheels/size-range.js +1 -0
- package/dist/render/lib/wheels/spec-format.d.ts +7 -0
- package/dist/render/lib/wheels/spec-format.js +1 -0
- package/dist/render/lib/wheels/spec-sheet.d.ts +58 -0
- package/dist/render/lib/wheels/spec-sheet.js +1 -0
- package/dist/render/lib/wheels/tyre-render.d.ts +34 -0
- package/dist/render/lib/wheels/tyre-render.js +1 -0
- package/dist/render/lib/wheels/variant-spec.d.ts +9 -0
- package/dist/render/lib/wheels/variant-spec.js +1 -0
- package/dist/render/lib/wheels/variants.d.ts +8 -0
- package/dist/render/lib/wheels/variants.js +1 -0
- package/dist/render/lib/wheels/vehicle-field-focus.d.ts +7 -0
- package/dist/render/lib/wheels/vehicle-field-focus.js +1 -0
- package/dist/render/lib/wheels/vehicle-memory.d.ts +25 -0
- package/dist/render/lib/wheels/vehicle-memory.js +1 -0
- package/dist/render/lib/wheels/wheel-name.d.ts +4 -0
- package/dist/render/lib/wheels/wheel-name.js +1 -0
- package/dist/render/lib/wheels/wheel-specs.d.ts +14 -0
- package/dist/render/lib/wheels/wheel-specs.js +1 -0
- package/dist/render/lib/wheels/wheel-summary-casing.d.ts +4 -0
- package/dist/render/lib/wheels/wheel-summary-casing.js +1 -0
- package/dist/render/lib/wheels/wheels.d.ts +38 -0
- package/dist/render/lib/wheels/wheels.js +1 -0
- package/dist/render/mocks/fitment-snapshot.json +3911 -0
- package/dist/render/mocks/gallery-builds.json +213 -0
- package/dist/words.d.ts +68 -7
- package/dist/words.js +5 -5
- package/package.json +37 -5
- package/dist/chunks/chunk-BDITPYS5.js +0 -1
- package/dist/chunks/chunk-EHKAKDFN.js +0 -255
- /package/dist/chunks/{chunk-4NM2MDGN.js → chunk-76HTJBKU.js} +0 -0
- /package/dist/chunks/{chunk-EHKAKDFN.js.LEGAL.txt → chunk-PHH7L5FJ.js.LEGAL.txt} +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type CardIndexFormat, type CardOutline } from "efficient-web-builder/format/lib/sections/product-card-style";
|
|
3
|
+
import type { FieldUsageAnswer } from "../lib/content/field-usage.js";
|
|
4
|
+
export interface ProductCardChrome {
|
|
5
|
+
imageBackgroundFill: string;
|
|
6
|
+
spinOnHover: boolean;
|
|
7
|
+
coverIndex: number;
|
|
8
|
+
indexBadge: CardIndexFormat;
|
|
9
|
+
outline: CardOutline;
|
|
10
|
+
showBadge: boolean;
|
|
11
|
+
fieldUsage: readonly FieldUsageAnswer[];
|
|
12
|
+
reserveEyebrow: boolean;
|
|
13
|
+
showCardPrice: boolean;
|
|
14
|
+
showCardFinishes: boolean;
|
|
15
|
+
showCardSizes: boolean;
|
|
16
|
+
showCardBuy: boolean;
|
|
17
|
+
showCardPage: boolean;
|
|
18
|
+
imageSizes: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function ProductCardChromeProvider({ imageBackgroundFill, spinOnHover, coverIndex, indexBadge, outline, showBadge, fieldUsage, reserveEyebrow, showCardPrice, showCardFinishes, showCardSizes, showCardBuy, showCardPage, imageSizes, children, }: {
|
|
21
|
+
imageBackgroundFill: string;
|
|
22
|
+
spinOnHover: boolean;
|
|
23
|
+
coverIndex?: number;
|
|
24
|
+
indexBadge?: CardIndexFormat;
|
|
25
|
+
outline?: CardOutline;
|
|
26
|
+
showBadge?: boolean;
|
|
27
|
+
fieldUsage?: readonly FieldUsageAnswer[];
|
|
28
|
+
reserveEyebrow?: boolean;
|
|
29
|
+
showCardPrice?: boolean;
|
|
30
|
+
showCardFinishes?: boolean;
|
|
31
|
+
showCardSizes?: boolean;
|
|
32
|
+
showCardBuy?: boolean;
|
|
33
|
+
showCardPage?: boolean;
|
|
34
|
+
imageSizes?: string;
|
|
35
|
+
children: ReactNode;
|
|
36
|
+
}): import("react").JSX.Element;
|
|
37
|
+
export declare function useProductCardChrome(): ProductCardChrome;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as l}from"react/jsx-runtime";import{GRID_CARD_SHOW as r}from"../lib/sections/card-show-defaults.js";import{createContext as M,useContext as O,useMemo as F}from"react";import{DEFAULT_CARD_INDEX_FORMAT as f,DEFAULT_CARD_OUTLINE as R}from"efficient-web-builder/format/lib/sections/product-card-style";import{THEME_CARD_IMAGE_BG as L}from"efficient-web-builder/format/lib/content/card-image-background";import{DEFAULT_COVER_INDEX as a}from"../lib/wheels/cover-rendering.js";import{CARD_IMAGE_SIZES as d}from"../lib/sections/card-image-sizes.js";const p=[],N={imageBackgroundFill:L,spinOnHover:!0,coverIndex:a,indexBadge:f,outline:R,showBadge:!0,fieldUsage:p,reserveEyebrow:!1,showCardPrice:!0,showCardFinishes:!0,...r,imageSizes:d},x=M(N);function j({imageBackgroundFill:t,spinOnHover:o,coverIndex:e=a,indexBadge:u=f,outline:m=R,showBadge:_=!0,fieldUsage:C=p,reserveEyebrow:n=!1,showCardPrice:E=!0,showCardFinishes:i=!0,showCardSizes:s=r.showCardSizes,showCardBuy:A=r.showCardBuy,showCardPage:c=r.showCardPage,imageSizes:D=d,children:I}){const T=F(()=>({imageBackgroundFill:t,spinOnHover:o,coverIndex:e,indexBadge:u,outline:m,showBadge:_,fieldUsage:C,reserveEyebrow:n,showCardPrice:E,showCardFinishes:i,showCardSizes:s,showCardBuy:A,showCardPage:c,imageSizes:D}),[t,o,e,u,m,_,C,n,E,i,s,A,c,D]);return l(x.Provider,{value:T,children:I})}function W(){return O(x)}export{j as ProductCardChromeProvider,W as useProductCardChrome};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import { type FieldUsageAnswer } from "../lib/content/field-usage.js";
|
|
3
|
+
export declare function productCardEyebrow(kind: string | null, brand: ReactNode | null): ReactNode | null;
|
|
4
|
+
export declare function wheelCardEyebrowShows(available: {
|
|
5
|
+
kind: boolean;
|
|
6
|
+
brand: boolean;
|
|
7
|
+
process: boolean;
|
|
8
|
+
}, answers: readonly FieldUsageAnswer[]): boolean;
|
|
9
|
+
export declare function wheelCardEyebrow({ kindLabel, brand, process, }: {
|
|
10
|
+
kindLabel: string | null;
|
|
11
|
+
brand: ReactNode | null;
|
|
12
|
+
process: ReactNode | null;
|
|
13
|
+
}, answers: readonly FieldUsageAnswer[]): ReactNode | null;
|
|
14
|
+
export declare function withSetChip(eyebrow: ReactNode | null): ReactNode;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as t,Fragment as s,jsxs as u}from"react/jsx-runtime";import{COLLECTION_FIELD_KEY as c,keepForCard as p}from"../lib/content/field-usage.js";function i(e,r){return!e&&!r?null:u(s,{children:[e&&t("span",{className:"text-fg",children:e}),e&&r?t("span",{className:"mx-2 text-fg-dim",children:"·"}):null,r]})}function a(e,r){const n=p(r);return e.kind||e.brand&&n("brand")?!0:e.process&&n(c)}function f({kindLabel:e,brand:r,process:n},o){if(!a({kind:!!e,brand:!!r,process:!!n},o))return null;const l=p(o);return i(e,l("brand")?r:null)??(l(c)?n:null)}function d(e){return u(s,{children:[e,t("span",{className:`${e?"ml-2":""} inline-block bg-accent px-2 py-[2px] align-middle font-mono text-[11px] font-bold uppercase tracking-[0.18em] text-bg`,children:"Set"})]})}export{i as productCardEyebrow,f as wheelCardEyebrow,a as wheelCardEyebrowShows,d as withSetChip};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { type CardImageBackground } from "efficient-web-builder/format/lib/content/card-image-background";
|
|
2
|
+
import type { SlotComponent } from "efficient-easel/blocks";
|
|
3
|
+
import { type FieldUsageAnswer } from "../lib/content/field-usage.js";
|
|
4
|
+
import { type CardIndexFormat, type CardOutline } from "efficient-web-builder/format/lib/sections/product-card-style";
|
|
5
|
+
import type { CategorySourceValue } from "../lib/content/source-values.js";
|
|
6
|
+
import type { ProductSummary, WheelSummary } from "../lib/api/index.js";
|
|
7
|
+
export declare const TITLE_SIZES: readonly [{
|
|
8
|
+
readonly value: "para";
|
|
9
|
+
readonly label: "Paragraph size — 13px";
|
|
10
|
+
readonly cls: "font-mono font-normal uppercase tracking-[0.22em] text-[length:var(--size-label,13px)]";
|
|
11
|
+
}, {
|
|
12
|
+
readonly value: "sm";
|
|
13
|
+
readonly label: "Small — 40px";
|
|
14
|
+
readonly cls: "font-heading2 font-medium tracking-[-0.03em] text-[length:var(--size-headingMedium,40px)] max-[800px]:text-[length:var(--size-headingMedium,28px)]";
|
|
15
|
+
}, {
|
|
16
|
+
readonly value: "md";
|
|
17
|
+
readonly label: "Medium — 48px";
|
|
18
|
+
readonly cls: "font-heading2 font-medium tracking-[-0.03em] text-[length:var(--size-headingMedium,48px)] max-[800px]:text-[length:var(--size-headingMedium,32px)]";
|
|
19
|
+
}, {
|
|
20
|
+
readonly value: "lg";
|
|
21
|
+
readonly label: "Large — 56px";
|
|
22
|
+
readonly cls: "font-heading2 font-medium tracking-[-0.03em] text-[length:var(--size-headingMedium,56px)] max-[800px]:text-[length:var(--size-headingMedium,36px)]";
|
|
23
|
+
}, {
|
|
24
|
+
readonly value: "xl";
|
|
25
|
+
readonly label: "Extra large — 64px";
|
|
26
|
+
readonly cls: "font-heading2 font-medium tracking-[-0.03em] text-[length:var(--size-headingMedium,64px)] max-[800px]:text-[length:var(--size-headingMedium,40px)]";
|
|
27
|
+
}];
|
|
28
|
+
export type TitleSize = (typeof TITLE_SIZES)[number]["value"];
|
|
29
|
+
export declare const DEFAULT_TITLE_SIZE: TitleSize;
|
|
30
|
+
interface Props {
|
|
31
|
+
gap?: number | string;
|
|
32
|
+
num?: string;
|
|
33
|
+
title?: string;
|
|
34
|
+
titleSize?: TitleSize;
|
|
35
|
+
padTop?: number;
|
|
36
|
+
description?: string;
|
|
37
|
+
link?: {
|
|
38
|
+
text: string;
|
|
39
|
+
href: string;
|
|
40
|
+
};
|
|
41
|
+
products: SlotComponent;
|
|
42
|
+
wheels?: WheelSummary[];
|
|
43
|
+
source?: CategorySourceValue;
|
|
44
|
+
catalog?: ProductSummary[];
|
|
45
|
+
kinds?: string[];
|
|
46
|
+
columns?: number;
|
|
47
|
+
limit?: number;
|
|
48
|
+
editing?: boolean;
|
|
49
|
+
contentCapped?: boolean;
|
|
50
|
+
imageBackground?: CardImageBackground;
|
|
51
|
+
cardImage?: number | null;
|
|
52
|
+
spinOnHover?: boolean;
|
|
53
|
+
coverIndex?: number;
|
|
54
|
+
indexBadge?: CardIndexFormat;
|
|
55
|
+
outline?: CardOutline;
|
|
56
|
+
showBadge?: boolean;
|
|
57
|
+
fieldUsage?: readonly FieldUsageAnswer[];
|
|
58
|
+
showCardPrice?: boolean;
|
|
59
|
+
showCardFinishes?: boolean;
|
|
60
|
+
showCardSizes?: boolean;
|
|
61
|
+
showCardBuy?: boolean;
|
|
62
|
+
showCardPage?: boolean;
|
|
63
|
+
}
|
|
64
|
+
export default function ProductGridSection({ num, catalog, kinds, title, titleSize, padTop, description, link, products: Products, wheels, source, columns, limit, editing, contentCapped, imageBackground, spinOnHover, coverIndex, indexBadge, outline, showBadge, fieldUsage, showCardPrice, showCardFinishes, showCardSizes, showCardBuy, showCardPage, cardImage, gap: gapProp, }: Props): import("react").JSX.Element | null;
|
|
65
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as e,jsxs as d,Fragment as Ne}from"react/jsx-runtime";import{GRID_CARD_SHOW as R}from"../lib/sections/card-show-defaults.js";import{useEffect as V,useId as Te,useMemo as p}from"react";import{CARD_IMAGE_BG_OFF as ze,resolveCardImageBackground as Ie}from"efficient-web-builder/format/lib/content/card-image-background";import{cardImageShapeTokens as Le}from"efficient-web-builder/format/lib/content/card-image-shape";import{containerGapProps as Pe,GAP_LENGTH_VAR as Ae,GAP_ZONE_CLASS as Fe}from"efficient-web-builder/format/lib/content/container-gap";import Re from"next/link";import Oe from"./ProductCard.js";import{CARD_ROWS_GRID_CLASS as De,cardRowsGridStyle as Ge}from"./WheelCardFrame.js";import{ProductCardChromeProvider as ke}from"./ProductCardChrome.js";import{gridClassImageSizes as Be}from"../lib/sections/card-image-sizes.js";import{fillRowCss as Ue}from"../lib/sections/fill-row.js";import{answersForKind as Y}from"../lib/content/field-usage.js";import{wheelCardEyebrowShows as He}from"./ProductCardEyebrow.js";import je from"./NoCurrencyNote.js";import{DEFAULT_CARD_OUTLINE as Ke,cardIndexCss as We,parseCardIndexFormat as Xe}from"efficient-web-builder/format/lib/sections/product-card-style";import{DEFAULT_COVER_INDEX as Ze}from"../lib/wheels/cover-rendering.js";import{SITE_WIDTH_CAP as Ve,centredCap as Ye}from"efficient-web-builder/format/lib/content/page-width";import{ProductCatalogProvider as qe,SectionWheelsProvider as Je}from"./ProductRef.js";import{useCurrency as Qe}from"./CurrencyContext.js";import{COLLECTION_ATTR as er,useCatalogFilter as rr}from"./catalog/CatalogFilterContext.js";import{renderGold as O,renderHeadline as tr}from"efficient-web-builder/render/components/goldPhrases";import{applyCatalogFilters as ar}from"../lib/wheels/catalog-filters.js";import{normalizeCatalogRows as sr}from"../lib/wheels/wheel-summary-casing.js";import nr from"./TyreSummaryCard.js";import{itemKind as q,plpItemsOfKinds as or,plpKindNoun as ir,resolvePlpKinds as J}from"../lib/catalog/plp-item.js";import{rowsForGridSource as lr}from"../lib/wheels/grid-source.js";import{useUnifiedProductCatalog as mr}from"./useProductCatalog.js";import{STICKY_UNDERHEADER_CLASS as dr}from"efficient-web-builder/render/lib/puck/header-clearance";import{finishFamiliesOf as pr}from"../lib/wheels/finish-defaults.js";import{lugCountsOf as cr}from"../lib/wheels/lug-count.js";import{diametersOf as gr}from"../lib/wheels/size-range.js";import{say as xr}from"efficient-web-builder/format/lib/editor-words";const t={headingMediumUpTo800Xs:"max-[800px]:text-[length:var(--size-headingMedium,28px)]",headingMediumUpTo800Small:"max-[800px]:text-[length:var(--size-headingMedium,32px)]",headingMediumUpTo800Large:"max-[800px]:text-[length:var(--size-headingMedium,36px)]",headingMediumUpTo800Xl:"max-[800px]:text-[length:var(--size-headingMedium,40px)]",body:"text-[length:var(--size-body,13px)]",headingMedium1:"text-[length:var(--size-headingMedium,40px)]",headingMedium2:"text-[length:var(--size-headingMedium,48px)]",headingMedium3:"text-[length:var(--size-headingMedium,56px)]",headingMedium4:"text-[length:var(--size-headingMedium,64px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]"},Q={1:"grid-cols-1",2:"grid-cols-2 max-[800px]:grid-cols-1",3:"grid-cols-3 max-[800px]:grid-cols-1",4:"grid-cols-4 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1",5:"grid-cols-5 max-[1100px]:grid-cols-2 max-[800px]:grid-cols-1",6:"grid-cols-6 max-[1100px]:grid-cols-3 max-[800px]:grid-cols-1"},ee=[{value:"para",label:"Paragraph size — 13px",cls:`font-mono font-normal uppercase tracking-[0.22em] ${t.labelLarge}`},{value:"sm",label:"Small — 40px",cls:`font-heading2 font-medium tracking-[-0.03em] ${t.headingMedium1} ${t.headingMediumUpTo800Xs}`},{value:"md",label:"Medium — 48px",cls:`font-heading2 font-medium tracking-[-0.03em] ${t.headingMedium2} ${t.headingMediumUpTo800Small}`},{value:"lg",label:"Large — 56px",cls:`font-heading2 font-medium tracking-[-0.03em] ${t.headingMedium3} ${t.headingMediumUpTo800Large}`},{value:"xl",label:"Extra large — 64px",cls:`font-heading2 font-medium tracking-[-0.03em] ${t.headingMedium4} ${t.headingMediumUpTo800Xl}`}],ur="lg";function hr(c){return(ee.find(o=>o.value===c)??ee.find(o=>o.value===ur)).cls}function fr({num:c,catalog:o,kinds:S,title:$,titleSize:re,padTop:D,description:y,link:g,products:te,wheels:ae,source:i,columns:se,limit:x,editing:u,contentCapped:ne=!1,imageBackground:oe,spinOnHover:ie,coverIndex:le,indexBadge:me,outline:de,showBadge:pe,fieldUsage:l,showCardPrice:ce,showCardFinishes:ge,showCardSizes:xe,showCardBuy:ue,showCardPage:he,cardImage:fe,gap:ye}){const M=p(()=>l?Y(l,"alloy-wheel"):void 0,[l]),Ce=p(()=>l?Y(l,"tyre"):void 0,[l]),r=`pg-${Te().replace(/:/g,"")}`,_=Q[Math.min(6,Math.max(1,se??4))]??Q[4],G=typeof x=="number"&&x>0,k=ne,B=mr(u===!0&&!!i),n=p(()=>i?sr(lr(i,or(B??o??[],J(S)))):null,[o,B,i,S]),E=i?.process,m=!!E,{filters:C,reportCount:N,reportLugs:T,reportSizes:z,reportFinishes:I,vehicle:U}=rr(),{currency:L}=Qe(),P=m&&!!C.process&&C.process!==E,a=p(()=>n?m?ar(n,C,L,U.fit):n:null,[n,m,C,L,U.fit]);V(()=>{if(m)return N(r,P?0:a?.length??0),()=>N(r,0)},[m,P,a,N,r]);const ve=p(()=>{const s=(a??[]).filter(f=>q(f)!=="tyre");if(s.length===0)return!1;const w=s.some(f=>!!f.process);return s.some(f=>!!f.setWords)||He({kind:!1,brand:!1,process:w},M??[])},[a,M]),v=p(()=>({lugs:cr(n??[]),sizes:gr(n??[]),finishes:pr(n??[])}),[n]);V(()=>(T(r,v.lugs),z(r,v.sizes),I(r,v.finishes),()=>{T(r,[]),z(r,[]),I(r,[])}),[v,T,z,I,r]);const h=Pe("ProductGrid",ye,"both"),H=h.className.includes(Fe),A=`${r} grid${h.className} bg-[var(--catalog-grid-bg)] ${_}`,be=H?`${A} ${De}`:A,we=H?{...h.style,...Ge(`var(${Ae})`)}:h.style,Se=a?a.length>0?e("div",{className:be,style:we,children:a.map((s,w)=>q(s)==="tyre"?e(nr,{item:s,currency:L,editing:u,fieldUsage:Ce},`tyre:${s.slug}-${w}`):e(Oe,{wheel:s,variant:"catalog"},`${s.slug}-${w}`))}):u?e("div",{className:"flex min-h-[320px] items-center justify-center rounded bg-surface-2 p-4 text-center",children:e("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:xr("No products in “{name}” yet",{name:i?.name??""})})}):null:e(te,{className:A,style:h.style,minEmptyHeight:320}),b=a?a.length:null,j=ir(J(S)),$e=c||$||y||g?d("div",{className:`${dr} sticky top-[var(--sf-header-h,88px)] z-30 mb-5 flex items-center justify-between gap-4 max-[800px]:flex-wrap max-[800px]:gap-y-2 border-b border-line bg-bg/95 py-3 backdrop-blur-md ${k?"":"-mx-[var(--sf-site-gutter,40px)] px-[var(--sf-site-gutter,40px)] max-[800px]:-mx-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]"}`,children:[d("div",{className:"flex min-w-0 items-end gap-6 max-[800px]:flex-col max-[800px]:items-stretch max-[800px]:gap-3",children:[c&&e("span",{className:`font-mono ${t.labelLarge} leading-none uppercase tracking-[0.22em] text-fg-dim`,children:O(c)}),$&&e("h2",{className:`${hr(re)} leading-none text-fg max-[800px]:leading-[1] [&>span]:block`,children:tr($,!1)})]}),(y||g||b!==null)&&d("div",{className:"flex items-center gap-5 max-[800px]:gap-3 min-[800px]:grow min-[800px]:justify-end",children:[y&&e("span",{className:`max-w-[340px] truncate font-display ${t.body} leading-[1.4] text-fg-dim max-[800px]:hidden min-[800px]:w-0 min-[800px]:grow min-[800px]:text-right`,children:O(y)}),g&&d(Re,{href:g.href,className:`inline-flex items-center gap-2 whitespace-nowrap font-mono ${t.labelLarge} uppercase tracking-[0.2em] text-fg-dim transition-colors hover:text-fg`,children:[O(g.text),e("span",{"aria-hidden":!0,children:"→"})]}),b!==null&&d("span",{className:`whitespace-nowrap font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:[b," ",b===1?j.one:j.many]})]})]}):null,Me=typeof D=="number"?D:120,K=Xe(me),_e=a?G?Math.min(a.length,x):a.length:void 0,W=Ue(r,_,{limit:x,cards:a?.length}),X=We(r,K),Z=d(Ne,{children:[G&&e("style",{children:`.${r} > *:nth-child(n+${x+1}){display:none}`}),W&&e("style",{children:W}),X&&e("style",{children:X}),$e,Se,e(je,{editing:u})]});if(P)return null;const F=e("section",{...m?{[er]:E}:{},className:"relative z-[2] bg-bg px-[var(--sf-site-gutter,40px)] pt-[var(--pg-pt)] pb-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-[70px] max-[800px]:pb-[70px]",style:{"--pg-pt":`${Me}px`,...Le(fe)},children:k?e("div",{style:Ye(Ve),children:Z}):Z}),Ee=n?F:u?e(qe,{children:F}):e(Je,{wheels:ae,children:F});return e(ke,{imageSizes:Be(_,_e),imageBackgroundFill:Ie(oe,ze),spinOnHover:ie??!0,coverIndex:le??Ze,indexBadge:K,outline:de??Ke,showBadge:pe??!0,fieldUsage:M,reserveEyebrow:ve,showCardPrice:ce??!0,showCardFinishes:ge??!0,showCardSizes:xe??R.showCardSizes,showCardBuy:ue??R.showCardBuy,showCardPage:he??R.showCardPage,children:Ee})}export{ur as DEFAULT_TITLE_SIZE,ee as TITLE_SIZES,fr as default};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ProductSelection } from "./useProductSelection.js";
|
|
2
|
+
import { type StoreProduct } from "../lib/catalog/store-product.js";
|
|
3
|
+
import type { HeroPricePlacement } from "../lib/sections/hero-price-placement.js";
|
|
4
|
+
import { type HeroLayout, type HeroTextAlign } from "../lib/sections/hero-arrangement.js";
|
|
5
|
+
import { type HeroGalleryMode, type HeroImageFit } from "../lib/sections/hero-gallery.js";
|
|
6
|
+
interface Props {
|
|
7
|
+
product: StoreProduct;
|
|
8
|
+
selection: ProductSelection;
|
|
9
|
+
onLightbox: (src: string, alt: string) => void;
|
|
10
|
+
editing?: boolean;
|
|
11
|
+
pricePlacement?: HeroPricePlacement;
|
|
12
|
+
showVehicleFitment?: boolean;
|
|
13
|
+
heroLayout?: HeroLayout;
|
|
14
|
+
imageRatio?: number;
|
|
15
|
+
textAlign?: HeroTextAlign;
|
|
16
|
+
showSpecTable?: boolean;
|
|
17
|
+
showPriceQuote?: boolean;
|
|
18
|
+
galleryMode?: HeroGalleryMode;
|
|
19
|
+
imageFit?: HeroImageFit;
|
|
20
|
+
}
|
|
21
|
+
export default function ProductHeroPanel({ product, selection, onLightbox, editing, pricePlacement, showVehicleFitment, heroLayout, imageRatio, textAlign, showSpecTable, showPriceQuote, galleryMode, imageFit, }: Props): import("react").JSX.Element;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as e,jsxs as n,Fragment as u}from"react/jsx-runtime";import ce from"next/link";import{BUY_ROW_CLASS as Ce}from"./buy-row.js";import{useEffect as V,useRef as Te,useState as de}from"react";import{useCart as ze}from"./CartContext.js";import Re from"./QuoteLink.js";import{useSiteTakesOrders as we}from"./SiteRecordContext.js";import Ee from"./EmailCaptureForm.js";import{useEnglish as U}from"./EnglishVariant.js";import Le from"./QuantityStepper.js";import{MarkedLabel as W,heroView as Ae,photoLabel as q}from"./product-hero/hero-view.js";import{useProductHeroContent as Oe}from"./product-hero/hero-content.js";import{stageControls as $e,useHeldStagePhoto as je}from"./product-hero/stage-photo.js";import{useWishlist as Ie}from"./WishlistContext.js";import{useStockAlertSignup as Me}from"./useStockAlertSignup.js";import{SPARE_WORDS as He,productCartLine as Be}from"../lib/catalog/purchase.js";import{OPTION_ROW_ATTR as Fe}from"../lib/catalog/store-product.js";import{resolvingRowsAnswered as De}from"../lib/catalog/product-options.js";import{HERO_BULLET_SEPARATOR as Pe}from"../lib/content/product-hero.js";import{STOCK_WORDS as Ve}from"../lib/content/stock-words.js";import{trackViewItem as Ue}from"../lib/google-tag.js";import{DEFAULT_HERO_LAYOUT as We,DEFAULT_HERO_RATIO as qe,DEFAULT_HERO_TEXT_ALIGN as Ge,parseHeroLayout as Ke,parseHeroRatio as Xe,parseHeroTextAlign as Ye}from"../lib/sections/hero-arrangement.js";import{DEFAULT_HERO_GALLERY_MODE as Qe,DEFAULT_HERO_IMAGE_FIT as Ze,parseHeroGalleryMode as Je,parseHeroImageFit as et,resolveHeroImageFit as tt}from"../lib/sections/hero-gallery.js";import{ADD_TO_BASKET_ATTR as at,MAX_SPARES as nt,UNITS_PER_SET as rt,formatPrice as me}from"../lib/commerce.js";import{UNPRICED_LABEL as lt,formatSelectionPrice as ot,setPriceLabel as st}from"../lib/wheels/price-display.js";import{productHasComposedRender as it,productIsDually as ct,productIsTwoObjects as dt,setSuppressesRow as mt}from"../lib/wheels/set-mode.js";const pt=4e3;function ft(t){return t?[t.year,t.make,t.model,t.modification].join("-"):""}const gt=.72;function ht(t){const r=t.trim().split(/\s+/).filter(Boolean);if(r.length===0)return;const s=r.map((c,d)=>c.length+(r.length>1&&d===r.length-1?1:0));return`calc(100cqi / ${(Math.max(...s)*gt).toFixed(2)})`}function xt({product:t,selection:r,onLightbox:s,editing:c=!1,pricePlacement:d="top",showVehicleFitment:l=!0,heroLayout:m=We,imageRatio:_=qe,textAlign:g=Ge,showSpecTable:y=!0,showPriceQuote:N=!0,galleryMode:O=Qe,imageFit:w=Ze}){const $=U(),b=Ke(m),C=Ye(g),T=Xe(_),z=Je(O),p=tt(et(w),it(t)),j=b==="imageRight"?`${100-T}fr ${T}fr`:`${T}fr ${100-T}fr`,{picked:ge,pick:G,qty:K,setQty:he,choice:v,setChoice:E,angleIdx:X,setAngleIdx:Y,showValidation:xe,setShowValidation:I,manualMode:Q,vehicle:M,rows:Z,facts:ue,part:S,outOfStock:J,offer:f,preOrder:H,canAddToCart:L,currency:R,price:x,set:ee,msrpLabel:te}=r,i=Ae(t,r,c),{bullets:ae}=Oe(),B=ct(t),be=dt(t),F=l?i.vehicle:null,ve=l?i.vehicleMemory:null,[A,ke]=de(!1);V(()=>{const a=()=>{ke(document.documentElement.getAttribute("data-theme")==="light")};a();const o=new MutationObserver(a);return o.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>o.disconnect()},[]);const{add:ye,open:Ne,warmCatalog:ne}=ze(),k=we();V(()=>{!c&&k&&ne(t.kind)},[c,k,t.kind,ne]);const re=Z.filter(a=>!H||a.values.length>0),le=re.filter(a=>a.role==="resolves"),D=re.filter(a=>a.role==="describes"&&!mt(be,a.key)),oe=D.findIndex(a=>a.chosen===null),se=(!F||!i.vehicleAnswersSpecs||r.fitmentSet)&&De(Z,H)?oe===-1?D:D.slice(0,oe+1):[],Se=[...le,...se],P=n("div",{className:"flex items-baseline gap-5 border-t border-line pt-[18px]",children:[te&&e("div",{className:"font-mono text-[length:var(--size-label,15px)] text-fg-dim line-through",children:te}),e("div",{className:"font-heading2 text-[length:min(var(--size-headingMedium,36px),var(--sf-heading-max,9999px))] font-bold leading-none tracking-[-0.01em] text-fg",children:B?st(x,R):ot(x,R)}),x.priced&&e("div",{className:"font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:i.unitLabel}),x.setTotal!=null&&n("div",{className:"ml-auto border border-accent px-3 py-2 font-mono text-[length:var(--size-label,13px)] font-bold uppercase tracking-[0.18em] text-accent",style:{background:"color-mix(in oklab, var(--accent) 14%, transparent)"},children:[f.quantityLabel,": ",me(ee,R)]})]}),ie=Te(null);return V(()=>{c||ie.current===t.slug||(ie.current=t.slug,Ue({itemId:S?`${t.slug}|${S.id}`:t.slug,itemName:t.name,variant:i.metaValue,pricePerSet:x.setTotal??x.fromSetTotal??0,currency:R}))},[c,t.slug,t.name,i.metaValue,S,x,R]),n(u,{children:[e("nav",{className:"border-b border-line px-[max(var(--sf-site-gutter,40px),calc((100%_-_var(--sf-content-cap,100%))/2_+_var(--sf-site-gutter,40px)))] pt-4 pb-4 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))]",style:A?void 0:{background:"var(--section-bg)"},children:t.crumbs.map((a,o)=>n("span",{children:[o>0&&n(u,{children:[e("span",{className:"mx-3 text-accent",children:"/"}),e("wbr",{})]}),a.href?e(ce,{href:a.href,className:"hover:text-fg",children:e(W,{text:a.label})}):e("span",{className:"text-fg",children:e(W,{text:a.label})})]},`${a.label}-${o}`))}),n("section",{"data-hero-layout":b,"data-hero-align":C,className:["grid gap-10 px-[max(var(--sf-site-gutter,40px),calc((100%_-_var(--sf-content-cap,100%))/2_+_var(--sf-site-gutter,40px)))] py-14 max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[720px]:py-8",b==="stacked"?"grid-cols-1":"[grid-template-columns:var(--hero-cols)] max-[1100px]:[grid-template-columns:minmax(0,1fr)]"].join(" "),style:{...A?{}:{background:"var(--section-bg)"},...b==="stacked"?{}:{"--hero-cols":j}},children:[n("div",{"data-hero-gallery":z,"data-hero-fit":p,className:z==="tiled"?"flex items-start gap-3 max-[720px]:gap-2":void 0,style:b==="imageRight"?{order:2}:void 0,children:[n("div",{className:z==="tiled"?"min-w-0 flex-1":void 0,children:[e(vt,{name:t.name,view:i,angleIdx:X,onSelect:Y,isLight:A,onLightbox:s,fit:p}),i.referenceNote&&e("p",{"data-hero-reference-note":!0,className:"mt-2 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.18em] text-fg-dim",children:i.referenceNote}),i.galleryHint&&e("p",{"data-hero-gallery-hint":!0,className:"mt-2 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.18em] text-fg-dim",children:i.galleryHint})]}),z!=="main"&&e(kt,{name:t.name,view:i,angleIdx:X,onSelect:Y,isLight:A,tiled:z==="tiled"})]}),n("div",{className:["flex flex-col gap-7",C==="center"?"items-center text-center":""].filter(Boolean).join(" "),style:b==="imageRight"?{order:1}:void 0,children:[n("div",{className:"w-full [container-type:inline-size]",children:[n("div",{className:"mb-2.5 flex items-center gap-2.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.2em] text-accent",children:[e("span",{children:e(W,{text:t.eyebrow})}),t.badge&&n(u,{children:[e("span",{children:"·"}),e("span",{children:t.badge})]})]}),e("h1",{className:"font-heading2 text-[length:min(min(var(--size-headingMedium,clamp(48px,5.5vw,84px)),var(--hero-name-fit,9999px)),var(--sf-heading-max,9999px))] [font-weight:var(--sf-heading-weight,500)] [text-transform:var(--sf-heading-case,uppercase)] leading-[0.92] tracking-[-0.035em]",style:{"--hero-name-fit":ht(i.heading)},children:(()=>{const a=i.heading.lastIndexOf(" ");if(a===-1)return i.heading;const o=i.heading.slice(0,a),h=i.heading.slice(a+1);return n(u,{children:[o," ",n("em",{className:"font-normal italic text-accent",children:[h,"."]})]})})()})]}),d!=="belowSpecs"&&N&&P,ve,le.map(a=>e(pe,{row:a,onPick:G},a.key)),H&&i.preOrder?n(u,{children:[d==="belowSpecs"&&N&&P,i.preOrder]}):n(u,{children:[F,se.map(a=>e(pe,{row:a,onPick:G},a.key)),y&&e(ut,{facts:ue}),(f.packs.length>0||k&&(f.extra||f.spareCounts.length>0))&&n("div",{className:"border-b border-line pb-[26px]",children:[f.packs.length>0&&n(u,{children:[e("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:"How many"}),e("div",{className:"flex flex-wrap gap-1.5",children:f.packs.map(a=>n("button",{type:"button",onClick:()=>E(o=>({...o,unit:a.value})),"aria-pressed":v.unit===a.value,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",v.unit===a.value?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:v.unit===a.value?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[v.unit===a.value&&e("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),e("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:a.label})]},a.value))})]}),k&&f.extra&&n("label",{className:`${f.packs.length>0?"mt-3.5 ":""}flex cursor-pointer items-center gap-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.16em] text-fg`,children:[e("input",{type:"checkbox",checked:v.spares>0,onChange:a=>E(o=>({...o,spares:a.target.checked?nt:0})),className:"h-4 w-4 cursor-pointer accent-[var(--accent)]"}),f.extra.label]}),k&&f.spareCounts.length>0&&n(u,{children:[e("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:He.howMany}),e("div",{className:"flex flex-col gap-1.5 sm:flex-row sm:flex-wrap",children:f.spareCounts.map(a=>{const o=a.value-rt,h=v.spares===o;return n("button",{type:"button",onClick:()=>E(_e=>({..._e,spares:o})),"aria-pressed":h,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",h?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:h?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[h&&e("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),n("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:[a.value," · ",a.label]})]},a.value)})})]}),k&&f.spareSide&&n(u,{children:[e("div",{className:"mb-3.5 mt-[26px] font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:f.spareSide.label}),e("div",{className:"flex flex-wrap gap-1.5",children:f.spareSide.options.map(a=>{const o=v.spareSide===a.value;return n("button",{type:"button",onClick:()=>E(h=>({...h,spareSide:a.value})),"aria-pressed":o,className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",o?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:o?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[o&&e("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),e("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:a.label})]},a.value)})})]})]}),d==="belowSpecs"&&N&&P,n("div",{className:Ce,children:[k&&!(B&&!x.priced)&&e(Le,{value:K,onChange:he,size:"large"}),!k||B&&!x.priced?e(Re,{className:"flex-1 cursor-pointer bg-btn px-6 py-4 text-center font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg"}):x.priced?J?e("button",{type:"button",disabled:!0,"aria-disabled":!0,className:"flex-1 cursor-not-allowed border-2 border-dashed border-fg-dim/20 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] text-fg-dim/40",children:Ve.outOfStock}):n("button",{type:"button",[at]:"",onClick:()=>{if(!L){I(!0),window.setTimeout(()=>I(!1),pt);return}if(I(!1),c)return;const a=Be(t,S,ge,{choice:v,qty:K},{fitmentLabel:Q?i.specCaption:M.appliedName?`For ${M.appliedName}`:"",fitmentKey:Q?`manual|${i.specCaption}`:`vehicle|${ft(M.applied?.vehicle)}`});a&&(ye(a),Ne())},"aria-disabled":!L,className:["flex-1 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] transition-colors",L?"cursor-pointer bg-btn text-btn-ink hover:bg-fg hover:text-bg":"cursor-pointer border-2 border-dashed border-accent/50 text-accent/80 hover:border-accent hover:text-accent"].join(" "),style:L?void 0:{background:"color-mix(in oklab, var(--accent) 6%, transparent)"},children:["Add to Cart",x.setTotal!=null?` · ${me(ee,R)}`:""]}):e("button",{type:"button",disabled:!0,"aria-disabled":!0,className:"flex-1 cursor-not-allowed border-2 border-dashed border-fg-dim/20 px-6 py-4 font-mono text-[length:var(--size-label,14px)] font-bold uppercase tracking-[0.32em] text-fg-dim/40",children:lt}),e(yt,{slug:t.slug,name:t.name})]}),J&&S&&e(Nt,{partNumbers:S.components.map(a=>a.partNumber),productSlug:t.slug},S.id),xe&&(()=>{const a=Se.filter(h=>h.chosen===null).map(h=>$(h.prompt).replace(/^Select\s+/i,""));if(F&&i.vehicleAnswersSpecs&&!r.fitmentSet&&a.push("vehicle fitment"),a.length===0)return null;const o=a.length===1?a[0]:a.length===2?`${a[0]} and ${a[1]}`:`${a.slice(0,-1).join(", ")}, and ${a.at(-1)}`;return n("p",{role:"alert",className:"-mt-1 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em]",style:{color:"var(--alert)"},children:["Please select ",o," first."]})})()]}),ae.length>0&&e("ul",{className:"flex flex-wrap items-center gap-x-6 gap-y-2 border-t border-line pt-5 font-mono text-[length:var(--size-label,13px)] tracking-[0.05em] text-fg",children:ae.map((a,o)=>n("li",{children:[e("strong",{className:"font-bold text-accent",children:a.label}),a.detail?` ${Pe} ${a.detail}`:""]},`${a.label}-${o}`))})]})]})]})}function ut({facts:t}){const r=U();return t.length===0?null:n("div",{className:"border-b border-line pb-[26px]",children:[e("dl",{className:"flex flex-col gap-2",children:t.map(s=>n("div",{className:"flex flex-wrap items-baseline gap-x-2 font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.22em]",children:[n("dt",{className:"text-fg-dim",children:[r(s.label)," ·"]}),e("dd",{className:"font-semibold text-fg",children:s.value.label})]},s.key))}),e("p",{className:"mt-3 font-mono text-[length:var(--size-body,12px)] leading-relaxed tracking-[0.1em] text-fg-dim",children:"Only one of each is left, so there is nothing to choose here."})]})}function pe({row:t,onPick:r}){const s=U();if(t.values.length===0&&!t.empty)return null;const c=t.values.find(l=>l.value===t.chosen),d=c&&[c.label,c.note].filter(Boolean).join(" · ");return n("div",{className:"border-b border-line pb-[26px]",[Fe]:t.key,children:[n("div",{className:"mb-3.5 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.22em] text-fg",children:[s(t.label)," · ",e("span",{className:"text-accent",children:d??s(t.prompt)})]}),t.values.length===0?n("p",{className:"font-mono text-[length:var(--size-body,12px)] leading-relaxed tracking-[0.1em] text-fg-dim",children:[t.empty.text," ",e(ce,{href:t.empty.href,className:"text-accent hover:underline",children:t.empty.linkText})]}):t.display==="swatch"?e("div",{className:"flex flex-wrap gap-2",children:t.values.map(l=>{const m=l.value===t.chosen;return n("button",{type:"button",onClick:()=>r(t.key,l.value),className:["relative flex max-w-full items-center gap-3 border-2 px-3 py-3 text-left transition-colors",m?"border-accent outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 hover:border-accent"].join(" "),style:m?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[m&&e("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),e("span",{className:"block h-5 w-5 shrink-0 rounded-full border border-fg-dim",style:{background:l.swatch}}),e("span",{className:"block min-w-0 break-words font-mono text-[length:var(--size-label,12px)] font-bold uppercase tracking-[0.18em] text-fg",children:l.label})]},l.value)})}):e("div",{className:"flex flex-wrap gap-1.5",children:t.values.map(l=>{const m=l.value===t.chosen;return n("button",{type:"button",onClick:()=>r(t.key,l.value),className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",m?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:m?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[m&&e("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),e("span",{className:"block text-[length:var(--size-label,14px)] tracking-[0.18em]",children:l.label}),l.note&&e("span",{className:"mt-1 block text-[length:var(--size-label,11px)] tracking-[0.12em] text-fg-dim",children:l.note})]},l.value)})})]})}function fe(t){return t.photos.length>0?t.photos.length:t.thumbFallbackCells}const bt=6;function vt({name:t,view:r,angleIdx:s,onSelect:c,isLight:d,onLightbox:l,fit:m}){const _=r.photos[Math.min(s,r.photos.length-1)],g=je(r.photos,_),y=fe(r),N=y>=2,O=String(y).padStart(2,"0"),w=Math.min(s,Math.max(r.photos.length-1,0)),$=N||r.captions[w]?q(r,w):"",b=[t,r.metaValue,$].filter(Boolean).join(" — "),C="max-[720px]:static",T=["relative flex aspect-square items-center justify-center overflow-hidden max-[720px]:col-span-2",d?"bg-bg":""].join(" ");return n("div",{className:"relative max-[720px]:grid max-[720px]:grid-cols-[minmax(0,1fr)_auto] max-[720px]:items-start max-[720px]:gap-x-3 max-[720px]:gap-y-2",style:{color:r.tint},children:[n("div",{className:`absolute left-0 top-0 z-10 flex items-center gap-3 font-mono text-[length:var(--size-label,13px)] font-semibold uppercase tracking-[0.2em] text-fg ${C} max-[720px]:min-w-0 max-[720px]:flex-wrap max-[720px]:gap-x-2 max-[720px]:gap-y-1`,children:[N&&n(u,{children:[n("span",{className:"text-accent",children:[String(s+1).padStart(2,"0")," / ",O]}),e("span",{className:"text-fg-dim",children:"·"})]}),e("span",{children:t}),r.metaValue&&n(u,{children:[e("span",{className:"text-fg-dim",children:"·"}),e("span",{className:"text-accent",children:r.metaValue})]})]}),N&&e("div",{className:`absolute right-5 top-5 z-10 flex gap-1 ${C}`,children:$e(s,y,c).map(p=>e("button",{type:"button","aria-label":p.label,title:p.label,onClick:p.onClick,className:"flex h-7 w-7 items-center justify-center border border-fg-dim/60 text-fg transition-colors hover:border-accent hover:text-accent",children:p.glyph},p.label))}),n("div",{className:T,children:[["top-3 left-3","top-3 right-3","bottom-3 left-3","bottom-3 right-3"].map((p,j)=>e("span",{className:`absolute ${p} h-3 w-3 border border-fg-dim/40`,style:{borderTop:p.includes("top")?"1px solid var(--site-line)":"none",borderBottom:p.includes("bottom")?"1px solid var(--site-line)":"none",borderLeft:p.includes("left")?"1px solid var(--site-line)":"none",borderRight:p.includes("right")?"1px solid var(--site-line)":"none"}},j)),r.stageImage({photo:g,alt:b,label:`Open ${[t,r.metaValue].filter(Boolean).join(" ")} at full resolution`,onZoom:()=>l(g,b),fit:m})]}),n("div",{className:`absolute bottom-5 left-5 right-5 z-10 flex items-center justify-between gap-3 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim ${C} max-[720px]:col-span-2 max-[720px]:flex-wrap`,children:[e("span",{children:r.specCaption}),e("span",{children:r.originCaption})]})]})}function kt({name:t,view:r,angleIdx:s,onSelect:c,isLight:d,tiled:l=!1}){const m=fe(r);return m<2?null:e("div",{className:l?"order-[-1] flex w-16 flex-col gap-2 max-[720px]:w-12 max-[720px]:gap-1":"mt-2 grid grid-cols-4 gap-2 max-[720px]:gap-1",style:!l&&m>4?{gridTemplateColumns:`repeat(${Math.min(m,bt)}, minmax(0, 1fr))`}:void 0,children:Array.from({length:m}).map((_,g)=>{const y=r.photos[g];return n("button",{type:"button",onClick:()=>c(g),"aria-label":`View ${q(r,g)}`,className:["relative flex aspect-square items-center justify-center overflow-hidden transition-colors",d?"bg-bg":"",g===s?"border border-accent":"border border-transparent hover:border-fg-dim"].join(" "),style:{color:r.tint},children:[e("span",{className:"absolute top-1.5 left-2 z-10 font-mono text-[length:var(--size-label,8px)] uppercase tracking-[0.18em] text-fg-dim",children:String(g+1).padStart(2,"0")}),r.thumbImage({photo:y,alt:`${t} — ${q(r,g)}`})]},g)})})}function yt({slug:t,name:r}){const{has:s,toggle:c}=Ie(),d=s(t);return e("button",{type:"button",title:d?"Saved":"Save","aria-label":d?`Remove ${r} from wishlist`:`Save ${r} to wishlist`,"aria-pressed":d,onClick:()=>c(t),className:["h-12 w-12 cursor-pointer border-2 bg-transparent transition-colors",d?"border-accent text-accent":"border-fg-dim/50 text-fg hover:border-accent hover:text-accent"].join(" "),children:d?"♥":"♡"})}function Nt({partNumbers:t,productSlug:r}){const[s,c]=de(""),{status:d,submit:l,reset:m}=Me();function _(){l({partNumbers:t,email:s,productSlug:r})}return d==="sent"?e("p",{className:"-mt-1 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-accent",children:"We'll email you when it's back."}):e(Ee,{className:"-mt-1",email:s,onEmailChange:c,status:d,onResetVerdict:m,onSubmit:_,inputAriaLabel:"Email for the back-in-stock alert",submitLabel:"Notify me when back",buttonClassName:"cursor-pointer whitespace-nowrap border-2 border-btn px-4 font-mono text-[length:var(--size-label,11px)] font-bold uppercase tracking-[0.22em] text-btn transition-colors hover:bg-btn hover:text-btn-ink disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-btn",errorMessage:"Couldn't save that — please try again."})}export{xt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as t,Fragment as a,jsxs as e}from"react/jsx-runtime";import r,{LightboxClose as l}from"./Lightbox.js";import{sizedImage as c}from"efficient-web-builder/format/lib/sized-image";const m="92vw";function n({item:o,onClose:s}){return t(r,{open:!!o,onClose:s,label:o?.alt??"",className:"flex cursor-zoom-out items-center justify-center bg-overlay-scrim/90 p-6 backdrop-blur-sm max-[720px]:p-3",children:o&&e(a,{children:[t("img",{...c(o.src,{fallbackWidth:1920}),sizes:m,alt:o.alt,className:"block max-h-[92vh] max-w-[92vw] cursor-zoom-out object-contain"}),t(l,{}),t("span",{className:"absolute bottom-5 left-5 font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:o.alt})]})})}export{n as default};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { WheelSummary } from "../lib/api/index.js";
|
|
2
|
+
export declare function wheelForCode(pool: readonly WheelSummary[], code: string): WheelSummary | undefined;
|
|
3
|
+
export declare function SectionWheelsProvider({ wheels, children, }: {
|
|
4
|
+
wheels: WheelSummary[] | undefined;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
}): import("react").JSX.Element;
|
|
7
|
+
export declare function ProductCatalogProvider({ children }: {
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
}): import("react").JSX.Element;
|
|
10
|
+
interface Props {
|
|
11
|
+
code?: string;
|
|
12
|
+
finish?: string;
|
|
13
|
+
wheel?: WheelSummary;
|
|
14
|
+
}
|
|
15
|
+
export default function ProductRef({ code, finish, wheel }: Props): import("react").JSX.Element | null;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as l}from"react/jsx-runtime";import{createContext as c,useContext as d,useEffect as g,useState as f}from"react";import m from"./ProductCard.js";import{loadProductCatalog as h}from"./useProductCatalog.js";import{say as u}from"efficient-web-builder/format/lib/editor-words";const s=c({wheels:[],loading:!1,live:!1});function p(e,t){return e.find(r=>r.designCode===t)??e.find(r=>r.slug===t)}function S({wheels:e,children:t}){return l(s.Provider,{value:{wheels:e??[],loading:!1,live:!0},children:t})}function b({children:e}){const[t,r]=f([]),[i,a]=f(!0);return g(()=>{let n=!1;return h().then(o=>{n||(r(o),a(!1))}).catch(()=>{n||a(!1)}),()=>{n=!0}},[]),l(s.Provider,{value:{wheels:t,loading:i,live:!1},children:e})}function v({code:e,finish:t,wheel:r}){const{wheels:i,loading:a,live:n}=d(s),o=r??(e?p(i,e):void 0);return o?l(m,{wheel:o,variant:"catalog",defaultFinish:t},t??""):n?null:l("div",{className:"sf-card flex aspect-square w-full items-center justify-center bg-surface-2 p-4 text-center",children:l("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:a?u("Loading…"):e||u("Set a design code")})})}export{b as ProductCatalogProvider,S as SectionWheelsProvider,v as default,p as wheelForCode};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type FooterBlock } from "efficient-web-builder/format/lib/content/footer";
|
|
2
|
+
import { type SocialLinks } from "efficient-web-builder/format/lib/content/social-links";
|
|
3
|
+
export type FooterLogoSource = {
|
|
4
|
+
logoUrl: string | null;
|
|
5
|
+
logoReversed?: string | null;
|
|
6
|
+
logoInkIsDark?: boolean | null;
|
|
7
|
+
};
|
|
8
|
+
export default function PublishedFooter({ footerBlock, rootProps, headerSettings, siteName, legalName, foundedYear, socialLinks, }: {
|
|
9
|
+
footerBlock: FooterBlock;
|
|
10
|
+
rootProps?: Record<string, unknown> | null;
|
|
11
|
+
headerSettings?: FooterLogoSource | null;
|
|
12
|
+
siteName: string;
|
|
13
|
+
legalName?: string | null;
|
|
14
|
+
foundedYear?: number | null;
|
|
15
|
+
socialLinks?: SocialLinks;
|
|
16
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as r}from"react/jsx-runtime";import{Render as a}from"efficient-easel/render";import{renderConfig as d}from"../lib/puck/render-config.js";import{migrateRenamedProps as u}from"efficient-web-builder/format/lib/puck/renamed-props";import{SITE_FOOTER_KIND as f}from"efficient-web-builder/format/lib/content/footer";import{PublishedFooterContext as p}from"efficient-web-builder/render/components/PublishedFooterContext";import{EMPTY_SOCIAL_LINKS as g}from"efficient-web-builder/format/lib/content/social-links";function I({footerBlock:l,rootProps:e,headerSettings:o,siteName:n,legalName:t,foundedYear:i,socialLinks:m}){const s=u({root:{props:{...e??{},kind:f}},content:[l],zones:{}});return r(p.Provider,{value:{logoUrl:o?.logoUrl??null,logoReversed:o?.logoReversed??null,logoInkIsDark:o?.logoInkIsDark??null,siteName:n,legalName:t??null,foundedYear:i??null,socialLinks:m??g},children:r(a,{config:d(),data:s})})}export{I as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as t}from"react/jsx-runtime";import{Render as i}from"efficient-easel/render";import n from"./BoxHeaderBar.js";import{headerRenderConfig as s}from"../lib/puck/render-config.js";import{migrateRenamedProps as p}from"efficient-web-builder/format/lib/puck/renamed-props";function m({group:e}){const r=p({root:{props:{}},content:[e],zones:{}}),o=e.props??{};return t(n,{sticky:o.sticky,topTextColor:o.topTextColor,heightPx:o.heightPx,theme:o.sectionAccent,children:t(i,{config:s(),data:r})})}export{m as default};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export type QuantityStepperSize = "large" | "small";
|
|
2
|
+
export declare function stepQuantity(value: number, by: 1 | -1): number;
|
|
3
|
+
export default function QuantityStepper({ value, onChange, size, }: {
|
|
4
|
+
value: number;
|
|
5
|
+
onChange: (next: number) => void;
|
|
6
|
+
size: QuantityStepperSize;
|
|
7
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as a,jsxs as c}from"react/jsx-runtime";import{MAX_QTY_PER_LINE as o}from"../lib/commerce.js";const r={labelSmall:"text-[length:var(--size-label,15px)]",labelLarge:"text-[length:var(--size-label,16px)]"};function l(t,e){return Math.min(o,Math.max(1,t+e))}const s="disabled:cursor-not-allowed disabled:opacity-40",b={large:{frame:"flex items-center border-2 border-fg-dim/50",button:`h-12 w-12 cursor-pointer bg-transparent font-mono ${r.labelLarge} font-bold text-fg transition-colors enabled:hover:bg-surface enabled:hover:text-accent ${s}`,value:`w-11 text-center font-mono ${r.labelSmall} font-bold tracking-[0.1em] text-fg`},small:{frame:"flex items-center border border-line",button:`h-[30px] w-[30px] cursor-pointer font-mono text-fg-dim transition-colors enabled:hover:text-accent ${s}`,value:"min-w-[36px] px-3 text-center font-mono text-[12px] tracking-[0.18em] text-fg"}};function m({value:t,onChange:e,size:i}){const n=b[i];return c("div",{className:n.frame,children:[a("button",{type:"button",onClick:()=>e(l(t,-1)),disabled:t<=1,"aria-label":"Decrease quantity",className:n.button,children:"−"}),a("span",{className:n.value,children:t}),a("button",{type:"button",onClick:()=>e(l(t,1)),disabled:t>=o,"aria-label":"Increase quantity",className:n.button,children:"+"})]})}export{m as default,l as stepQuantity};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import t from"next/link";import{SET_QUOTE_LABEL as e}from"../lib/wheels/price-display.js";const n="/contact";function i({className:o}){return r(t,{href:n,className:o,children:e})}export{n as QUOTE_HREF,i as default};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface ReviewFormProps {
|
|
2
|
+
eyebrow?: string;
|
|
3
|
+
title?: string;
|
|
4
|
+
designCode?: string;
|
|
5
|
+
omitHead?: boolean;
|
|
6
|
+
editing?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export default function ReviewForm({ eyebrow, title, designCode, omitHead, editing, }?: ReviewFormProps): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as e,Fragment as E,jsxs as r}from"react/jsx-runtime";import{useState as a}from"react";import{products as _}from"../lib/api/index.js";import j from"efficient-web-builder/render/components/SectionEyebrow";import l,{FieldCaption as q}from"./WebFormField.js";import{renderHeadline as z}from"efficient-web-builder/render/components/goldPhrases";const s="w-full border-2 border-line bg-bg px-4 py-4 font-display text-[17px] tracking-[-0.005em] text-fg outline-none transition-colors placeholder:text-fg-dim hover:border-fg-dim focus:border-accent",A="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",M="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function T({eyebrow:p,title:u,designCode:x,omitHead:d=!1,editing:g=!1}={}){const[f,w]=a(""),[o,N]=a(""),[i,y]=a(0),[m,S]=a(""),[h,R]=a(""),[c,b]=a(!1),[k,C]=a(!1),[v,n]=a(null);async function F(t){if(t.preventDefault(),!(g||c)){if(i<1){n("Choose a star rating.");return}b(!0),n(null);try{await _.submitReview({authorName:f.trim(),...o.trim()?{email:o.trim()}:{},rating:i,...m.trim()?{title:m.trim()}:{},body:h.trim(),...x?.trim()?{designCode:x.trim()}:{}}),C(!0)}catch{n("Something went wrong — your review wasn't sent. Please try again.")}finally{b(!1)}}}return e("section",{className:"relative z-[2] border-t border-line bg-surface",children:r("div",{className:d?M:A,children:[d?null:r(E,{children:[(p??"").trim()&&e(j,{text:p??"",scaled:!1,className:"mb-4 block"}),(u??"").trim()&&e("h2",{className:"mb-12 font-heading2 text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-8 max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:z(u??"",!1)})]}),k?e("p",{role:"status",className:"max-w-[560px] font-serif text-[19px] italic leading-[1.6] text-fg-dim",children:"Thanks — your review will appear once approved."}):r("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:F,children:[r("div",{className:"grid grid-cols-2 gap-3 max-[640px]:grid-cols-1",children:[e(l,{label:"Name",required:!0,children:e("input",{type:"text",required:!0,value:f,onChange:t=>w(t.target.value),className:s})}),e(l,{label:"Email — never shown publicly",children:e("input",{type:"email",value:o,onChange:t=>N(t.target.value),className:s})})]}),r("div",{className:"flex flex-col gap-2",children:[e(q,{required:!0,children:"Rating"}),e("div",{role:"group","aria-label":"Rating",className:"flex gap-1",children:[1,2,3,4,5].map(t=>e("button",{type:"button","aria-pressed":i>=t,"aria-label":`${t} star${t===1?"":"s"}`,onClick:()=>{y(t),n(null)},className:["cursor-pointer text-[30px] leading-none transition-colors",i>=t?"text-accent":"text-fg-dim/30 hover:text-fg-dim"].join(" "),children:"★"},t))})]}),e(l,{label:"Review title (optional)",children:e("input",{type:"text",value:m,onChange:t=>S(t.target.value),className:s})}),e(l,{label:"Your review",required:!0,children:e("textarea",{required:!0,rows:5,value:h,onChange:t=>R(t.target.value),className:s+" resize-y"})}),v&&e("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:v}),e("button",{type:g?"button":"submit",disabled:c,className:"cursor-pointer self-start bg-btn px-8 py-4 font-mono text-[14px] uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg hover:text-bg disabled:cursor-wait disabled:opacity-60",children:c?"Sending…":"Submit review →"})]})]})})}export{T as default};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SectionEyebrowLook } from "efficient-web-builder/format/lib/sections/section-eyebrow-look";
|
|
2
|
+
export interface ReviewsProps {
|
|
3
|
+
eyebrow?: string;
|
|
4
|
+
look?: SectionEyebrowLook;
|
|
5
|
+
title?: string;
|
|
6
|
+
columns?: 1 | 2 | 3;
|
|
7
|
+
limit?: number;
|
|
8
|
+
designCode?: string;
|
|
9
|
+
omitHead?: boolean;
|
|
10
|
+
editing?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export default function Reviews({ look, eyebrow, title, columns, limit, designCode, omitHead, editing, }?: ReviewsProps): import("react").JSX.Element | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as e,Fragment as b,jsxs as l}from"react/jsx-runtime";import w from"efficient-web-builder/render/components/SectionEyebrow";import{renderHeadline as y,splitParagraphs as N}from"efficient-web-builder/render/components/goldPhrases";import{useStorefrontReviews as M}from"./useStorefrontReviews.js";import{say as a}from"efficient-web-builder/format/lib/editor-words";const i={headingMediumUpTo800:"max-[800px]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",headingMedium:"text-[length:min(var(--size-headingMedium,44px),var(--sf-heading-max,9999px))]",bodySmall:"text-[length:var(--size-body,15px)]",body:"text-[length:var(--size-body,17px)]",bodyLarge:"text-[length:var(--size-body,19px)]",label:"text-[length:var(--size-label,12px)]"},S=()=>[{id:"sample-review-1",authorName:a("Sample reviewer"),rating:5,title:a("Sample review title"),body:a("Approved customer reviews appear here automatically — this card is only a preview of the section's shape."),designCode:"",createdAt:""},{id:"sample-review-2",authorName:a("Sample reviewer"),rating:4,title:"",body:a("Reviews are collected by the Review Form section and wait for your approval before they show."),designCode:"",createdAt:""},{id:"sample-review-3",authorName:a("Sample reviewer"),rating:5,title:a("Another sample"),body:a("Set a product design code on this section to show one product's reviews; leave it blank for the whole store."),designCode:"",createdAt:""}];function A(n){const t=new Date(n);return Number.isNaN(t.getTime())?"":t.toLocaleDateString("en-US",{month:"long",year:"numeric"})}function R({rating:n}){const t=Math.min(5,Math.max(0,Math.round(n)));return e("div",{role:"img","aria-label":`${t} out of 5 stars`,className:`flex gap-1 ${i.body} leading-none`,children:Array.from({length:5}).map((m,o)=>e("span",{"aria-hidden":!0,className:o<t?"text-accent":"text-fg-dim/30",children:"★"},o))})}const _="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",$="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-0 pb-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]";function k({look:n,eyebrow:t,title:m,columns:o,limit:h,designCode:f,omitHead:d=!1,editing:p=!1}={}){const s=M(h??6,f),u=Math.min(3,Math.max(1,o??3)),c=!(s&&s.length>0)&&p,x=s&&s.length>0?s:c?S():[];return!p&&x.length===0?null:e("section",{className:"relative z-[2] border-t border-line bg-surface",children:l("div",{className:d?$:_,children:[d?null:l(b,{children:[(t??"").trim()&&e(w,{text:t??"",look:n,className:"mb-4 block"}),(m??"").trim()&&e("h2",{className:`mb-12 font-heading2 ${i.headingMedium} font-medium uppercase leading-none tracking-[-0.02em] text-fg max-[800px]:mb-8 ${i.headingMediumUpTo800}`,children:y(m??"",!1)})]}),e("div",{className:"sf-card grid grid-cols-1 gap-px border border-line bg-line min-[700px]:[grid-template-columns:repeat(var(--rv-cols),minmax(0,1fr))]",style:{"--rv-cols":String(u)},children:x.map(r=>l("article",{className:["flex flex-col gap-4 bg-bg p-10 max-[800px]:p-8",c?"opacity-60":""].join(" "),children:[e(R,{rating:r.rating}),r.title.trim()&&e("h3",{className:`font-display ${i.bodyLarge} font-medium uppercase leading-[1.2] tracking-[-0.01em] text-fg`,children:r.title}),e("div",{className:`flex-1 font-serif ${i.bodySmall} leading-[1.65] text-fg-dim`,children:N(r.body).map((v,g)=>e("p",{className:g?"mt-3":"",children:v},g))}),l("footer",{className:"flex items-baseline justify-between gap-4 border-t border-line pt-5",children:[e("span",{className:`font-mono ${i.label} uppercase tracking-[0.22em] text-fg`,children:r.authorName}),e("span",{className:`font-mono ${i.label} uppercase tracking-[0.18em] text-fg-dim`,children:A(r.createdAt)})]})]},r.id))})]})})}export{k as default};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
interface SearchCtx {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
open: () => void;
|
|
5
|
+
close: () => void;
|
|
6
|
+
toggle: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function SearchProvider({ children, shortcut, }: {
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
shortcut?: boolean;
|
|
11
|
+
}): import("react").JSX.Element;
|
|
12
|
+
export declare function useSearch(): SearchCtx;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as d}from"react/jsx-runtime";import{createContext as v,useCallback as o,useContext as m,useEffect as x,useMemo as y,useState as k}from"react";const w={isOpen:!1,open:()=>{},close:()=>{},toggle:()=>{}},a=v(w);function C({children:l,shortcut:r=!0}){const[s,t]=k(!1),c=o(()=>t(!0),[]),u=o(()=>t(!1),[]),i=o(()=>t(n=>!n),[]);x(()=>{if(!r)return;const n=e=>{(e.metaKey||e.ctrlKey)&&(e.key==="k"||e.key==="K")&&(e.preventDefault(),t(p=>!p))};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[r]);const f=y(()=>({isOpen:s,open:c,close:u,toggle:i}),[s,c,u,i]);return d(a.Provider,{value:f,children:l})}function K(){return m(a)}export{C as SearchProvider,K as useSearch};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode } from "react";
|
|
2
|
+
export declare const BAND_CAP = "mx-auto max-w-[var(--sf-site-width,1600px)]";
|
|
3
|
+
export default function SectionBand({ className, capped, style, id, children, }: {
|
|
4
|
+
className: string;
|
|
5
|
+
capped?: boolean;
|
|
6
|
+
style?: CSSProperties;
|
|
7
|
+
id?: string;
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{EDITORIAL_COLUMN as a}from"efficient-web-builder/format/lib/content/page-width";const n="mx-auto max-w-[var(--sf-site-width,1600px)]";function c({className:t,capped:i=!1,style:o,id:r,children:s}){return e("section",{className:i?`${n} ${t}`:t,style:o,id:r,children:e("div",{className:a,children:s})})}export{n as BAND_CAP,c as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsxs as e}from"react/jsx-runtime";import m from"next/link";import{renderGold as l}from"efficient-web-builder/render/components/goldPhrases";function a({text:t,linkText:i,linkHref:s}){const r=(i??"").trim(),o=(s??"").trim(),n=!!r&&!!o;return!t&&!n?null:e("p",{className:"mt-5 font-mono text-[length:var(--size-label,13px)] tracking-[0.06em] text-fg-dim",children:[t?l(t):null,t&&n?" ":null,n&&e(m,{href:o,className:"text-accent transition-colors hover:text-fg",children:[l(r)," →"]})]})}export{a as default};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SlotComponent } from "efficient-easel/blocks";
|
|
2
|
+
export default function SectionGroupBody({ place, sections: Sections, editing, fullWidth, navTextCase, menuRow, }: {
|
|
3
|
+
place: "header" | "footer";
|
|
4
|
+
sections: SlotComponent;
|
|
5
|
+
editing?: boolean;
|
|
6
|
+
fullWidth?: unknown;
|
|
7
|
+
navTextCase?: unknown;
|
|
8
|
+
menuRow?: unknown;
|
|
9
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as o,jsxs as f}from"react/jsx-runtime";import{PhoneMenuToolsProvider as m}from"efficient-web-builder/render/components/PhoneMenuTools";import{resolveMenuRow as u,resolveNavTextCase as h}from"../lib/content/header-bar.js";import{say as s}from"efficient-web-builder/format/lib/editor-words";function l({place:e,sections:a,editing:t=!1,fullWidth:n=!1,navTextCase:d,menuRow:i}){const r=f(e==="footer"?"footer":"div",{"data-section-group":e,...e==="header"?{"data-header-nav-case":h(d),"data-header-menu-row":u(i)??"top"}:null,className:t&&e==="footer"?"sf-theme-surfaces bg-bg text-fg":void 0,style:n===!0?{"--sf-site-width":"100vw"}:void 0,children:[t?o("p",{className:"px-5 pt-3 font-mono text-[11px] uppercase tracking-[0.15em] text-fg-dim",children:e==="header"?s("Site header — above every page"):s("Site footer — below every page")}):null,o(a,{minEmptyHeight:120})]});return e==="header"?o(m,{children:r}):r}export{l as default};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export type SectionNoticeSize = "tall" | "short";
|
|
3
|
+
export declare const SECTION_NOTICE_TEXT_CLASS = "font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim";
|
|
4
|
+
export default function SectionNotice({ size, children, }: {
|
|
5
|
+
size: SectionNoticeSize;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";const r="font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg-dim";function a({size:s,children:t}){return s==="tall"?e("section",{className:"grid min-h-[70vh] place-items-center border-b border-line px-[var(--sf-site-gutter,40px)] pt-[104px] pb-14 text-center",style:{background:"var(--section-bg)"},children:e("p",{className:r,children:t})}):e("section",{className:"relative z-[2] border-t border-line bg-surface",children:e("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] py-[84px] max-[960px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:e("p",{className:r,children:t})})})}export{r as SECTION_NOTICE_TEXT_CLASS,a as default};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type SocialLinks } from "efficient-web-builder/format/lib/content/social-links";
|
|
2
|
+
export interface SiteRecordValue {
|
|
3
|
+
socialLinks: SocialLinks;
|
|
4
|
+
legalName: string | null;
|
|
5
|
+
foundedYear: number | null;
|
|
6
|
+
siteName: string;
|
|
7
|
+
commerceEnabled?: boolean;
|
|
8
|
+
cartEnabled?: boolean;
|
|
9
|
+
showThemeSwitch?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const SiteRecordContext: import("react").Context<SiteRecordValue | null>;
|
|
12
|
+
export declare function useSiteSocialLinks(): SocialLinks;
|
|
13
|
+
export declare function useSiteSells(): boolean;
|
|
14
|
+
export declare function siteTakesOrders(record: Pick<SiteRecordValue, "commerceEnabled" | "cartEnabled"> | null | undefined): boolean;
|
|
15
|
+
export declare function useSiteTakesOrders(): boolean;
|
|
16
|
+
export declare function useSiteThemeSwitchShown(): boolean;
|
|
17
|
+
export declare function useSiteCopyright(): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{createContext as m,useContext as r}from"react";import{usePreviewHeader as s}from"efficient-web-builder/render/components/PreviewHeaderContext";import{PublishedFooterContext as u}from"efficient-web-builder/render/components/PublishedFooterContext";import{usePreviewSocial as c}from"efficient-web-builder/render/components/PreviewSocialContext";import{NEUTRAL_SITE_NAME as l,resolveCopyright as n}from"../lib/content/site.js";import{EMPTY_SOCIAL_LINKS as p}from"efficient-web-builder/format/lib/content/social-links";import{DEFAULT_SWITCH_SHOWN as a}from"efficient-web-builder/format/lib/theme";const o=m(null);function T(){const e=r(u),t=r(o),i=c();return e?e.socialLinks??p:t?t.socialLinks:i.links}function C(){return r(o)?.commerceEnabled??!0}function f(e){return(e?.commerceEnabled??!0)&&(e?.cartEnabled??!0)}function E(){return f(r(o))}function b(){const e=r(o),t=s();return e?e.showThemeSwitch??a:t.themeSwitchShown??a}function L(){const e=r(u),t=r(o),i=s();return e?n({legalName:e.legalName,foundedYear:e.foundedYear,siteName:e.siteName}):t?n({legalName:t.legalName,foundedYear:t.foundedYear,siteName:t.siteName}):n({siteName:i.websiteName?.trim()||l})}export{o as SiteRecordContext,f as siteTakesOrders,L as useSiteCopyright,C as useSiteSells,T as useSiteSocialLinks,E as useSiteTakesOrders,b as useSiteThemeSwitchShown};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
export default function SiteSwitch({ checked, onChange, ariaLabel, tone, disabled, className, children, }: {
|
|
3
|
+
checked: boolean;
|
|
4
|
+
onChange: (value: boolean) => void;
|
|
5
|
+
ariaLabel: string;
|
|
6
|
+
tone?: "green" | "accent";
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
className?: string;
|
|
9
|
+
children?: ReactNode;
|
|
10
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as s,jsxs as p}from"react/jsx-runtime";import{useState as x}from"react";function b({checked:e,onChange:l,ariaLabel:o,tone:c="accent",disabled:n=!1,className:r,children:i}){const[u,a]=x(!1),f=c==="green"?"bg-green":"bg-accent";return p("label",{className:r,children:[s("input",{type:"checkbox",role:"switch",checked:e,disabled:n,onChange:t=>l(t.target.checked),onFocus:t=>a(t.target.matches(":focus-visible")),onBlur:()=>a(!1),className:"sr-only","aria-label":o}),s("span",{"aria-hidden":"true",className:`relative inline-block h-[17px] w-[30px] flex-none rounded-full transition-colors ${e?f:"bg-line"} ${u?"outline outline-2 outline-offset-2 outline-accent":""}${n?" opacity-60":""}`,children:s("span",{className:`absolute left-[2px] top-[2px] h-[13px] w-[13px] rounded-full bg-bg transition-transform ${e?"translate-x-[13px]":""}`})}),i]})}export{b as default};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SpecDiagram } from "../lib/wheels/spec-sheet.js";
|
|
2
|
+
export interface SpecRow {
|
|
3
|
+
label?: string;
|
|
4
|
+
value?: string;
|
|
5
|
+
accent?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface SpecTableProps {
|
|
8
|
+
num?: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
rows?: SpecRow[];
|
|
12
|
+
diagram?: SpecDiagram | null;
|
|
13
|
+
editing?: boolean;
|
|
14
|
+
nodeId?: string;
|
|
15
|
+
omitHead?: boolean;
|
|
16
|
+
capped?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export default function SpecTable({ num, title, description, rows, diagram, editing, omitHead, nodeId, capped, }: SpecTableProps): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{Fragment as y,jsx as e,jsxs as r}from"react/jsx-runtime";import L from"./SectionBand.js";import{useId as $,useState as z}from"react";import E from"efficient-web-builder/render/components/SectionHeader";import I from"./WheelSvg.js";import{renderGold as b,renderHeadline as T}from"efficient-web-builder/render/components/goldPhrases";import{inchLabel as v}from"../lib/wheels/spec-format.js";import D from"./DimensionArrowMarkers.js";import _ from"./SpecTablePartBridge.js";import{SPEC_REGION_ATTR as j}from"efficient-web-builder/format/lib/sections/spec-table-regions";import{say as N}from"efficient-web-builder/format/lib/editor-words";import{sizedImage as V}from"efficient-web-builder/format/lib/sized-image";const W="(max-width: 1100px) 80vw, 290px",d={labelSmall:"text-[length:var(--size-label,11px)]",label:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,14px)]"};function t(l,a){return l?{[j]:a}:{}}function B({editing:l,nodeId:a,children:i}){return!l||!a?e(y,{children:i}):e(_,{nodeId:a,children:i})}function S({row:l,topBorder:a,editing:i}){return r("div",{className:`flex items-baseline justify-between gap-6 py-4 font-mono ${d.labelLarge} tracking-[0.05em] ${a?"border-t border-line":""}`,children:[e("span",{...t(i,"rowLabel"),className:"uppercase text-fg-dim",children:l.label}),e("span",{...t(i,"rowValue"),className:`text-right ${l.accent?"text-accent":"text-fg"}`,children:l.value})]})}function R({diagram:l,editing:a}){const[i,x]=z(!1),n=`spec-${$().replace(/:/g,"")}`,{wheelName:m,imageSrc:o,diameter:g,width:h,offset:p,holes:f,pcd:s,spokes:c,mesh:u,bore:k}=l,w=!!o&&!i;return r("div",{className:"sf-card bg-surface p-6 max-[1100px]:mt-8",children:[e("div",{...t(a,"diagramTitle"),className:`mb-3 font-mono ${d.label} uppercase tracking-[0.25em] text-fg-dim`,children:"Wheel Dimension Diagram"}),r("div",{className:"relative flex aspect-square items-center justify-center",children:[r("svg",{viewBox:"0 0 320 320",className:"absolute inset-0 h-full w-full text-fg-dim",fill:"none",stroke:"currentColor",children:[e("line",{x1:40,y1:20,x2:280,y2:20,strokeWidth:1,markerStart:`url(#${n}-L)`,markerEnd:`url(#${n}-R)`}),e("line",{x1:40,y1:15,x2:40,y2:25,strokeWidth:1}),e("line",{x1:280,y1:15,x2:280,y2:25,strokeWidth:1}),e(D,{id:n})]}),w?e("img",{...V(o,{fallbackWidth:960}),sizes:W,alt:`${m} — face`,onError:()=>x(!0),loading:"lazy",className:"relative z-[1] block h-[80%] w-[80%] object-contain"}):e(I,{spokes:c,mesh:u,className:"relative z-[1] block h-[72%] w-[72%] text-accent"}),r("span",{...t(a,"diagramCallout"),className:`absolute top-1.5 left-1/2 z-20 -translate-x-1/2 bg-surface px-2 font-mono ${d.label} tracking-[0.2em] text-accent`,children:["⌀ ",v(g)]}),r("span",{...t(a,"diagramCallout"),className:`absolute bottom-1.5 left-1/2 z-20 -translate-x-1/2 bg-surface px-2 font-mono ${d.label} tracking-[0.2em] text-fg`,children:["WIDTH ",v(h)]})]}),r("div",{className:`mt-4 grid grid-cols-5 gap-3 font-mono ${d.labelSmall} uppercase tracking-[0.2em] text-fg-dim max-[480px]:grid-cols-3`,children:[r("div",{children:[e("div",{...t(a,"diagramStatLabel"),className:"text-fg-dim/60",children:"Holes"}),e("div",{...t(a,"diagramStatValue"),className:"mt-1 text-fg",children:f})]}),r("div",{children:[e("div",{...t(a,"diagramStatLabel"),className:"text-fg-dim/60",children:"PCD"}),e("div",{...t(a,"diagramStatValue"),className:"mt-1 text-fg",children:s})]}),r("div",{children:[e("div",{...t(a,"diagramStatLabel"),className:"text-fg-dim/60",children:"Spokes"}),r("div",{...t(a,"diagramStatValue"),className:"mt-1 text-fg",children:[c,u?" + Mesh":""]})]}),r("div",{children:[e("div",{...t(a,"diagramStatLabel"),className:"text-fg-dim/60",children:"Bore"}),e("div",{...t(a,"diagramStatValue"),className:"mt-1 text-fg",children:k})]}),r("div",{children:[e("div",{...t(a,"diagramStatLabel"),className:"text-fg-dim/60",children:"ET"}),e("div",{...t(a,"diagramStatValue"),className:"mt-1 text-accent",children:p})]})]})]})}function C({num:l,title:a,description:i,rows:x,diagram:n,editing:m=!1,omitHead:o=!1,nodeId:g,capped:h=!0}){const p=(x??[]).filter(s=>(s?.label??"").trim()||(s?.value??"").trim()),f=p.length>0?p:m?[{label:N("Label"),value:N("Value")}]:[];return e(L,{className:o?"border-b border-line pt-0 pb-[120px] max-[1100px]:pt-0 max-[1100px]:pb-20":"border-b border-line py-[120px] max-[1100px]:py-20",capped:h,children:r(B,{editing:m,nodeId:g,children:[o?null:e(E,{num:l?b(l):void 0,title:a?T(a,!1):void 0,description:i?b(i):void 0,accent:!0}),n?r("div",{className:"grid grid-cols-[1fr_400px] gap-12 max-[1100px]:grid-cols-1",children:[e("div",{children:f.map((s,c)=>e(S,{row:s,topBorder:c>0,editing:m},c))}),e(R,{diagram:n,editing:m})]}):e("div",{className:"grid grid-cols-2 gap-x-16 max-[900px]:grid-cols-1",children:f.map((s,c)=>e(S,{row:s,topBorder:!0,editing:m},c))})]})})}export{C as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as r}from"react/jsx-runtime";import{SectionTextParts as o}from"efficient-web-builder/render/lib/puck/editing-bridges";function i({nodeId:e,children:t}){return r(o,{nodeId:e,sectionType:"SpecTable",children:t})}export{i as default};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ComponentProps, ReactNode } from "react";
|
|
2
|
+
import { CatalogFilterLabelsProvider } from "./catalog/CatalogFilterLabels.js";
|
|
3
|
+
import { SiteMenuLinksProvider } from "./catalog/SiteMenuLinks.js";
|
|
4
|
+
import { CurrencyProvider } from "./CurrencyContext.js";
|
|
5
|
+
import { SubscribePopupProvider } from "./SubscribePopupContext.js";
|
|
6
|
+
export interface StorefrontProvidersProps {
|
|
7
|
+
catalogFilterLabels?: ComponentProps<typeof CatalogFilterLabelsProvider>["labels"];
|
|
8
|
+
englishVariant?: string | null;
|
|
9
|
+
menuItems?: ComponentProps<typeof SiteMenuLinksProvider>["items"];
|
|
10
|
+
currency: Omit<ComponentProps<typeof CurrencyProvider>, "children">;
|
|
11
|
+
subscribe: Omit<ComponentProps<typeof SubscribePopupProvider>, "children">;
|
|
12
|
+
searchShortcut?: boolean;
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export default function StorefrontProviders({ catalogFilterLabels, englishVariant, menuItems, currency, subscribe, searchShortcut, children, }: StorefrontProvidersProps): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as r}from"react/jsx-runtime";import{CartProvider as d}from"./CartContext.js";import{CatalogFilterLabelsProvider as a}from"./catalog/CatalogFilterLabels.js";import{SiteMenuLinksProvider as s}from"./catalog/SiteMenuLinks.js";import{CurrencyProvider as c}from"./CurrencyContext.js";import{EnglishVariantProvider as f}from"./EnglishVariant.js";import{SearchProvider as h}from"./SearchContext.js";import{SubscribePopupProvider as p}from"./SubscribePopupContext.js";import{WishlistProvider as u}from"./WishlistContext.js";import{normalizeEnglishVariant as v}from"../lib/content/english-variant.js";function P({catalogFilterLabels:i,englishVariant:o,menuItems:e,currency:t,subscribe:m,searchShortcut:n=!0,children:l}){return r(f,{variant:v(o),children:r(a,{labels:i,children:r(s,{items:e,children:r(c,{...t,children:r(p,{...m,children:r(u,{children:r(d,{children:r(h,{shortcut:n,children:l})})})})})})})})}export{P as default};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Form } from "../lib/api/index.js";
|
|
2
|
+
import type { SlotComponent } from "efficient-easel/blocks";
|
|
3
|
+
export declare const SUBMIT_DEFAULTS: {
|
|
4
|
+
eyebrow: string;
|
|
5
|
+
title: string;
|
|
6
|
+
body: string;
|
|
7
|
+
buttonText: string;
|
|
8
|
+
consent: string;
|
|
9
|
+
};
|
|
10
|
+
interface Props {
|
|
11
|
+
eyebrow?: string;
|
|
12
|
+
title?: string;
|
|
13
|
+
body?: string;
|
|
14
|
+
buttonText?: string;
|
|
15
|
+
consent?: string;
|
|
16
|
+
formSlug?: string;
|
|
17
|
+
form?: Form | null;
|
|
18
|
+
editing?: boolean;
|
|
19
|
+
boxes?: SlotComponent;
|
|
20
|
+
inBoxes?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export default function SubmitBuild({ eyebrow, title, body, buttonText, consent, formSlug, form: injectedForm, editing, boxes: Boxes, inBoxes, }: Props): import("react").JSX.Element | null;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as t,jsxs as T}from"react/jsx-runtime";import v from"./SectionBand.js";import{useBoundForm as F,useFormSubmission as j}from"./formSubmission.js";import{SubmitFormColumn as B,SubmitHead as N}from"./submit/SubmitRegions.js";const e={eyebrow:"Section number",title:"Show *us yours.*",body:"Tell people what they get for submitting, and what you do with what they send.",buttonText:"Submit →",consent:"By submitting, you agree to our privacy policy. We never share contact details with third parties."};function o(s,i){return s===void 0?i:s}function L({eyebrow:s,title:i,body:d,buttonText:l,consent:b,formSlug:a,form:y,editing:n=!1,boxes:m,inBoxes:f=!1}){const x=o(s,e.eyebrow),p=o(i,e.title),u=o(d,e.body),h=o(l,e.buttonText),g=o(b,e.consent),r=F(a,y),w=j({form:r,formSlug:a,editing:n}),S=r===void 0,c=!!r||n;return!c&&!x&&!p&&!u?null:f&&m?t(v,{className:"border-y border-line py-[120px] max-[1100px]:py-[60px]",children:t(m,{className:"grid grid-cols-2 items-start gap-[60px] max-[1100px]:grid-cols-1 max-[1100px]:gap-10"})}):t("section",{className:"border-y border-line py-[120px] max-[1100px]:py-[60px]",children:T("div",{className:"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-2 items-end gap-[60px] px-[var(--sf-site-gutter,40px)] max-[1100px]:grid-cols-1 max-[1100px]:gap-10 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:[t(N,{eyebrow:x,title:p}),t(B,{body:u,buttonLabel:h,consent:g,form:r,submission:w,showForm:c,resolving:S,editing:n})]})})}export{e as SUBMIT_DEFAULTS,L as default};
|