efficient-storefront-blocks 0.57.0 → 0.58.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/dist/chunks/{EditorPreviewCheckout-7Y7WL5BM.js → EditorPreviewCheckout-4NGRJA3T.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-5MWJMLLI.js → SiteEditorProvider-V5FE5UD6.js} +1 -1
- package/dist/chunks/{chunk-BPVXTVPM.js → chunk-4AKN63X5.js} +1 -1
- package/dist/chunks/chunk-K4AZ5SUU.js +1 -0
- package/dist/chunks/chunk-PHH7L5FJ.js +255 -0
- package/dist/chunks/{chunk-FSSCNRRE.js → chunk-SJQTKWV3.js} +1 -1
- package/dist/chunks/{fitment-data-UVMEA7WW.js → fitment-data-OIWU6HGJ.js} +1 -1
- package/dist/editor/components/BlogSource.d.ts +11 -0
- package/dist/editor/components/BlogSource.js +1 -0
- package/dist/editor/components/CategorySource.d.ts +7 -0
- package/dist/editor/components/CategorySource.js +1 -0
- package/dist/editor/components/CollectionPicker.d.ts +7 -0
- package/dist/editor/components/CollectionPicker.js +1 -0
- package/dist/editor/components/ConsentBannerLayoutTiles.d.ts +3 -0
- package/dist/editor/components/ConsentBannerLayoutTiles.js +1 -0
- package/dist/editor/components/CountryShowAsTiles.d.ts +5 -0
- package/dist/editor/components/CountryShowAsTiles.js +1 -0
- package/dist/editor/components/EditProductLink.d.ts +1 -0
- package/dist/editor/components/EditProductLink.js +1 -0
- package/dist/editor/components/EditorCurrencyProvider.d.ts +7 -0
- package/dist/editor/components/EditorCurrencyProvider.js +1 -0
- package/dist/editor/components/EditorPreviewChat.d.ts +1 -0
- package/dist/editor/components/EditorPreviewChat.js +11 -0
- package/dist/editor/components/EditorPreviewCheckout.d.ts +1 -0
- package/dist/editor/components/EditorPreviewCheckout.js +1 -0
- package/dist/editor/components/EditorPreviewSurface.d.ts +5 -0
- package/dist/editor/components/EditorPreviewSurface.js +1 -0
- package/dist/editor/components/FinishPicker.d.ts +6 -0
- package/dist/editor/components/FinishPicker.js +1 -0
- package/dist/editor/components/FooterColumnsField.d.ts +6 -0
- package/dist/editor/components/FooterColumnsField.js +1 -0
- package/dist/editor/components/FooterLogoFillField.d.ts +6 -0
- package/dist/editor/components/FooterLogoFillField.js +1 -0
- package/dist/editor/components/FooterLogoRowFillField.d.ts +6 -0
- package/dist/editor/components/FooterLogoRowFillField.js +1 -0
- package/dist/editor/components/FormPicker.d.ts +33 -0
- package/dist/editor/components/FormPicker.js +1 -0
- package/dist/editor/components/GalleryProductBinding.d.ts +7 -0
- package/dist/editor/components/GalleryProductBinding.js +1 -0
- package/dist/editor/components/GalleryShowcaseSource.d.ts +7 -0
- package/dist/editor/components/GalleryShowcaseSource.js +1 -0
- package/dist/editor/components/HeaderSection.d.ts +3 -0
- package/dist/editor/components/HeaderSection.js +1 -0
- package/dist/editor/components/HeaderSettingsPanel.d.ts +132 -0
- package/dist/editor/components/HeaderSettingsPanel.js +1 -0
- package/dist/editor/components/MenuLinkRangeField.d.ts +5 -0
- package/dist/editor/components/MenuLinkRangeField.js +1 -0
- package/dist/editor/components/MenuPicker.d.ts +7 -0
- package/dist/editor/components/MenuPicker.js +1 -0
- package/dist/editor/components/PerViewStepperField.d.ts +13 -0
- package/dist/editor/components/PerViewStepperField.js +1 -0
- package/dist/editor/components/PreviewHeader.d.ts +2 -0
- package/dist/editor/components/PreviewHeader.js +11 -0
- package/dist/editor/components/PreviewHeaderPrimer.d.ts +4 -0
- package/dist/editor/components/PreviewHeaderPrimer.js +1 -0
- package/dist/editor/components/PreviewMenusPrimer.d.ts +3 -0
- package/dist/editor/components/PreviewMenusPrimer.js +1 -0
- package/dist/editor/components/PreviewProductPicker.d.ts +20 -0
- package/dist/editor/components/PreviewProductPicker.js +1 -0
- package/dist/editor/components/ProductHeroSource.d.ts +19 -0
- package/dist/editor/components/ProductHeroSource.js +1 -0
- package/dist/editor/components/ProductPicker.d.ts +6 -0
- package/dist/editor/components/ProductPicker.js +1 -0
- package/dist/editor/components/SocialLinksDoor.d.ts +1 -0
- package/dist/editor/components/SocialLinksDoor.js +1 -0
- package/dist/editor/components/SpecTableSource.d.ts +7 -0
- package/dist/editor/components/SpecTableSource.js +1 -0
- package/dist/editor/components/StorefrontEditorFurniture.d.ts +6 -0
- package/dist/editor/components/StorefrontEditorFurniture.js +1 -0
- package/dist/editor/components/StorefrontHeaderPanel.d.ts +2 -0
- package/dist/editor/components/StorefrontHeaderPanel.js +1 -0
- package/dist/editor/components/StorefrontLinkRows.d.ts +5 -0
- package/dist/editor/components/StorefrontLinkRows.js +1 -0
- package/dist/editor/components/StorefrontShopRows.d.ts +2 -0
- package/dist/editor/components/StorefrontShopRows.js +1 -0
- package/dist/editor/components/SwitchToBoxHeader.d.ts +1 -0
- package/dist/editor/components/SwitchToBoxHeader.js +1 -0
- package/dist/editor/components/WheelsPerRowField.d.ts +6 -0
- package/dist/editor/components/WheelsPerRowField.js +1 -0
- package/dist/editor/components/useCategoryFilter.d.ts +11 -0
- package/dist/editor/components/useCategoryFilter.js +1 -0
- package/dist/editor/components/useGridSourceLock.d.ts +1 -0
- package/dist/editor/components/useGridSourceLock.js +1 -0
- package/dist/editor/components/useStorefrontCategories.d.ts +2 -0
- package/dist/editor/components/useStorefrontCategories.js +1 -0
- package/dist/editor/components/useStorefrontForms.d.ts +2 -0
- package/dist/editor/components/useStorefrontForms.js +1 -0
- package/dist/editor/components/useWheelMediaGroups.d.ts +2 -0
- package/dist/editor/components/useWheelMediaGroups.js +1 -0
- package/dist/editor/lib/api/section-templates.d.ts +43 -0
- package/dist/editor/lib/api/section-templates.js +1 -0
- package/dist/editor/lib/editor-currency-source.d.ts +11 -0
- package/dist/editor/lib/editor-currency-source.js +1 -0
- package/dist/editor/lib/efficient-backend.d.ts +21 -0
- package/dist/editor/lib/efficient-backend.js +1 -0
- package/dist/editor/lib/header-settings-source.d.ts +7 -0
- package/dist/editor/lib/header-settings-source.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/Collections/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/Collections/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/Header/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/Header/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/ThemeSwitchBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/ThemeSwitchBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/controls.d.ts +15 -0
- package/dist/editor/lib/puck/blocks/commerce/controls.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/index.d.ts +1 -0
- package/dist/editor/lib/puck/blocks/commerce/index.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/page-rules.d.ts +8 -0
- package/dist/editor/lib/puck/blocks/commerce/page-rules.js +1 -0
- package/dist/editor/lib/puck/blocks/commerce/shared-fields.d.ts +5 -0
- package/dist/editor/lib/puck/blocks/commerce/shared-fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/BookingBox/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/BookingBox/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Events/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Events/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Footer/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Footer/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/FooterText/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/FooterText/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Form/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Form/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Reviews/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Reviews/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/Subscribe/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/Subscribe/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.js +1 -0
- package/dist/editor/lib/puck/blocks/service/controls.d.ts +2 -0
- package/dist/editor/lib/puck/blocks/service/controls.js +1 -0
- package/dist/editor/lib/puck/blocks/service/index.d.ts +1 -0
- package/dist/editor/lib/puck/blocks/service/index.js +1 -0
- package/dist/editor/lib/puck/blocks/service/placeholders.d.ts +1 -0
- package/dist/editor/lib/puck/blocks/service/placeholders.js +1 -0
- package/dist/editor/lib/puck/box-header-for-site.d.ts +9 -0
- package/dist/editor/lib/puck/box-header-for-site.js +1 -0
- package/dist/editor/lib/puck/box-header.d.ts +52 -0
- package/dist/editor/lib/puck/box-header.js +1 -0
- package/dist/editor/lib/puck/config.d.ts +73 -0
- package/dist/editor/lib/puck/config.js +1 -0
- package/dist/editor/lib/say-with.d.ts +2 -0
- package/dist/editor/lib/say-with.js +1 -0
- package/dist/editor/lib/storefront-document.d.ts +2 -0
- package/dist/editor/lib/storefront-document.js +1 -0
- package/dist/editor/lib/storefront-editor-words.d.ts +693 -0
- package/dist/editor/lib/storefront-editor-words.js +1 -0
- package/dist/editor/lib/storefront-editor.d.ts +9 -0
- package/dist/editor/lib/storefront-editor.js +1 -0
- package/dist/editor/lib/storefront-shop-surfaces.d.ts +8 -0
- package/dist/editor/lib/storefront-shop-surfaces.js +1 -0
- package/dist/editor/lib/use-prime-and-refresh.d.ts +16 -0
- package/dist/editor/lib/use-prime-and-refresh.js +1 -0
- package/dist/editor.css +1 -1
- package/dist/index.d.ts +14 -0
- package/dist/index.js +69 -52
- package/dist/render/app/fonts/archivo/OFL.txt +93 -0
- package/dist/render/app/fonts/archivo/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/archivo/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/archivo/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/archivo/latin.woff2 +0 -0
- package/dist/render/app/fonts/archivo/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/archivo/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/assistant/OFL.txt +95 -0
- package/dist/render/app/fonts/assistant/hebrew.woff2 +0 -0
- package/dist/render/app/fonts/assistant/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/assistant/latin.woff2 +0 -0
- package/dist/render/app/fonts/big-shoulders/OFL.txt +93 -0
- package/dist/render/app/fonts/big-shoulders/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/big-shoulders/latin.woff2 +0 -0
- package/dist/render/app/fonts/big-shoulders/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/OFL.txt +93 -0
- package/dist/render/app/fonts/cormorant/cyrillic-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/latin.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/cormorant/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/OFL.txt +93 -0
- package/dist/render/app/fonts/dm-sans/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/dm-sans/latin.woff2 +0 -0
- package/dist/render/app/fonts/fallbacks.css +133 -0
- package/dist/render/app/fonts/fraunces/OFL.txt +93 -0
- package/dist/render/app/fonts/fraunces/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/latin.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/fraunces/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/inter/OFL.txt +93 -0
- package/dist/render/app/fonts/inter/cyrillic-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/inter/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek-ext.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/greek.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/latin.woff2 +0 -0
- package/dist/render/app/fonts/inter/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/inter/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/OFL.txt +93 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/greek-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/greek.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/latin.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/jetbrains-mono/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/manrope/OFL.txt +93 -0
- package/dist/render/app/fonts/manrope/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/manrope/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/manrope/greek.woff2 +0 -0
- package/dist/render/app/fonts/manrope/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/manrope/latin.woff2 +0 -0
- package/dist/render/app/fonts/manrope/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/michroma/OFL.txt +93 -0
- package/dist/render/app/fonts/michroma/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/michroma/latin.woff2 +0 -0
- package/dist/render/app/fonts/oswald/OFL.txt +93 -0
- package/dist/render/app/fonts/oswald/cyrillic-ext.woff2 +0 -0
- package/dist/render/app/fonts/oswald/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/oswald/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/oswald/latin.woff2 +0 -0
- package/dist/render/app/fonts/oswald/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/outfit/OFL.txt +93 -0
- package/dist/render/app/fonts/outfit/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/outfit/latin.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/OFL.txt +93 -0
- package/dist/render/app/fonts/playfair-display/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/latin.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/vietnamese-italic.woff2 +0 -0
- package/dist/render/app/fonts/playfair-display/vietnamese.woff2 +0 -0
- package/dist/render/app/fonts/poppins/OFL.txt +93 -0
- package/dist/render/app/fonts/poppins/devanagari-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-italic-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-italic-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/devanagari-italic-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-italic-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-italic-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-ext-italic-600.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-italic-400.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-italic-500.woff2 +0 -0
- package/dist/render/app/fonts/poppins/latin-italic-600.woff2 +0 -0
- package/dist/render/app/fonts/sora/OFL.txt +93 -0
- package/dist/render/app/fonts/sora/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/sora/latin.woff2 +0 -0
- package/dist/render/app/fonts/space-grotesk/OFL.txt +93 -0
- package/dist/render/app/fonts/space-grotesk/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/space-grotesk/latin.woff2 +0 -0
- package/dist/render/app/fonts/space-grotesk/vietnamese.woff2 +0 -0
- package/dist/render/app/globals.css +3264 -0
- package/dist/render/built-with.json +3 -0
- package/dist/render/components/AppointmentBooking.d.ts +14 -0
- package/dist/render/components/AppointmentBooking.js +1 -0
- package/dist/render/components/AssistantChatMount.d.ts +8 -0
- package/dist/render/components/AssistantChatMount.js +1 -0
- package/dist/render/components/AssistantChatPanel.d.ts +7 -0
- package/dist/render/components/AssistantChatPanel.js +1 -0
- package/dist/render/components/BoxHeaderBar.d.ts +10 -0
- package/dist/render/components/BoxHeaderBar.js +1 -0
- package/dist/render/components/BrandPlate.d.ts +4 -0
- package/dist/render/components/BrandPlate.js +1 -0
- package/dist/render/components/BundleCard.d.ts +6 -0
- package/dist/render/components/BundleCard.js +1 -0
- package/dist/render/components/CartContext.d.ts +91 -0
- package/dist/render/components/CartContext.js +1 -0
- package/dist/render/components/CartDrawer.d.ts +12 -0
- package/dist/render/components/CartDrawer.js +4 -0
- package/dist/render/components/CartLineThumbnail.d.ts +8 -0
- package/dist/render/components/CartLineThumbnail.js +1 -0
- package/dist/render/components/CatalogFilterBarSection.d.ts +12 -0
- package/dist/render/components/CatalogFilterBarSection.js +1 -0
- package/dist/render/components/ChatContext.d.ts +23 -0
- package/dist/render/components/ChatContext.js +1 -0
- package/dist/render/components/ChatLauncher.d.ts +18 -0
- package/dist/render/components/ChatLauncher.js +1 -0
- package/dist/render/components/ChatWidget.d.ts +12 -0
- package/dist/render/components/ChatWidget.js +1 -0
- package/dist/render/components/CheckoutCTA.d.ts +12 -0
- package/dist/render/components/CheckoutCTA.js +1 -0
- package/dist/render/components/CollectionCard.d.ts +27 -0
- package/dist/render/components/CollectionCard.js +1 -0
- package/dist/render/components/Collections.d.ts +17 -0
- package/dist/render/components/Collections.js +1 -0
- package/dist/render/components/CompatibleTyres.d.ts +23 -0
- package/dist/render/components/CompatibleTyres.js +1 -0
- package/dist/render/components/ConsentBanner.d.ts +20 -0
- package/dist/render/components/ConsentBanner.js +1 -0
- package/dist/render/components/ConsentContext.d.ts +22 -0
- package/dist/render/components/ConsentContext.js +1 -0
- package/dist/render/components/ConsentPanel.d.ts +15 -0
- package/dist/render/components/ConsentPanel.js +1 -0
- package/dist/render/components/ConsentProvider.d.ts +7 -0
- package/dist/render/components/ConsentProvider.js +1 -0
- package/dist/render/components/ContactRouting.d.ts +33 -0
- package/dist/render/components/ContactRouting.js +1 -0
- package/dist/render/components/CountrySelect.d.ts +7 -0
- package/dist/render/components/CountrySelect.js +1 -0
- package/dist/render/components/CouponField.d.ts +3 -0
- package/dist/render/components/CouponField.js +1 -0
- package/dist/render/components/CurrencyContext.d.ts +27 -0
- package/dist/render/components/CurrencyContext.js +1 -0
- package/dist/render/components/DeliveryOptions.d.ts +18 -0
- package/dist/render/components/DeliveryOptions.js +1 -0
- package/dist/render/components/DeliveryOptionsSource.d.ts +8 -0
- package/dist/render/components/DeliveryOptionsSource.js +1 -0
- package/dist/render/components/DetailRows.d.ts +22 -0
- package/dist/render/components/DetailRows.js +1 -0
- package/dist/render/components/DimensionArrowMarkers.d.ts +3 -0
- package/dist/render/components/DimensionArrowMarkers.js +1 -0
- package/dist/render/components/EditorCurrencyNoticeContext.d.ts +7 -0
- package/dist/render/components/EditorCurrencyNoticeContext.js +1 -0
- package/dist/render/components/EmailCaptureForm.d.ts +15 -0
- package/dist/render/components/EmailCaptureForm.js +1 -0
- package/dist/render/components/EnglishVariant.d.ts +7 -0
- package/dist/render/components/EnglishVariant.js +1 -0
- package/dist/render/components/EuTyreLabelCard.d.ts +4 -0
- package/dist/render/components/EuTyreLabelCard.js +1 -0
- package/dist/render/components/EuTyreLabels.d.ts +7 -0
- package/dist/render/components/EuTyreLabels.js +1 -0
- package/dist/render/components/Events.d.ts +62 -0
- package/dist/render/components/Events.js +1 -0
- package/dist/render/components/FinishSwatches.d.ts +14 -0
- package/dist/render/components/FinishSwatches.js +1 -0
- package/dist/render/components/FitmentTable.d.ts +17 -0
- package/dist/render/components/FitmentTable.js +1 -0
- package/dist/render/components/FooterDivider.d.ts +6 -0
- package/dist/render/components/FooterDivider.js +1 -0
- package/dist/render/components/FooterEmailSignup.d.ts +6 -0
- package/dist/render/components/FooterEmailSignup.js +1 -0
- package/dist/render/components/FooterGroup.d.ts +8 -0
- package/dist/render/components/FooterGroup.js +1 -0
- package/dist/render/components/FooterLogo.d.ts +13 -0
- package/dist/render/components/FooterLogo.js +1 -0
- package/dist/render/components/FooterMenu.d.ts +25 -0
- package/dist/render/components/FooterMenu.js +1 -0
- package/dist/render/components/FooterSection.d.ts +11 -0
- package/dist/render/components/FooterSection.js +1 -0
- package/dist/render/components/FooterSocial.d.ts +16 -0
- package/dist/render/components/FooterSocial.js +1 -0
- package/dist/render/components/FooterText.d.ts +7 -0
- package/dist/render/components/FooterText.js +1 -0
- package/dist/render/components/FormBlock.d.ts +19 -0
- package/dist/render/components/FormBlock.js +1 -0
- package/dist/render/components/GalleryCard.d.ts +28 -0
- package/dist/render/components/GalleryCard.js +1 -0
- package/dist/render/components/GalleryGrid.d.ts +20 -0
- package/dist/render/components/GalleryGrid.js +1 -0
- package/dist/render/components/GalleryItem.d.ts +41 -0
- package/dist/render/components/GalleryItem.js +1 -0
- package/dist/render/components/GalleryShowcase.d.ts +51 -0
- package/dist/render/components/GalleryShowcase.js +1 -0
- package/dist/render/components/Header.d.ts +13 -0
- package/dist/render/components/Header.js +1 -0
- package/dist/render/components/HeaderNavItem.d.ts +17 -0
- package/dist/render/components/HeaderNavItem.js +1 -0
- package/dist/render/components/HeaderToolBlocks.d.ts +18 -0
- package/dist/render/components/HeaderToolBlocks.js +1 -0
- package/dist/render/components/HeaderTools.d.ts +21 -0
- package/dist/render/components/HeaderTools.js +1 -0
- package/dist/render/components/LegalLine.d.ts +4 -0
- package/dist/render/components/LegalLine.js +1 -0
- package/dist/render/components/Lightbox.d.ts +19 -0
- package/dist/render/components/Lightbox.js +1 -0
- package/dist/render/components/LinkedProductHero.d.ts +34 -0
- package/dist/render/components/LinkedProductHero.js +1 -0
- package/dist/render/components/LiveSiteMapsProvider.d.ts +6 -0
- package/dist/render/components/LiveSiteMapsProvider.js +1 -0
- package/dist/render/components/MenuPlaceholderLabel.d.ts +1 -0
- package/dist/render/components/MenuPlaceholderLabel.js +1 -0
- package/dist/render/components/NoCurrencyNote.d.ts +4 -0
- package/dist/render/components/NoCurrencyNote.js +1 -0
- package/dist/render/components/PreOrderPanel.d.ts +5 -0
- package/dist/render/components/PreOrderPanel.js +1 -0
- package/dist/render/components/PreviewMenusContext.d.ts +13 -0
- package/dist/render/components/PreviewMenusContext.js +1 -0
- package/dist/render/components/ProductCard.d.ts +6 -0
- package/dist/render/components/ProductCard.js +1 -0
- package/dist/render/components/ProductCardChrome.d.ts +37 -0
- package/dist/render/components/ProductCardChrome.js +1 -0
- package/dist/render/components/ProductCardEyebrow.d.ts +14 -0
- package/dist/render/components/ProductCardEyebrow.js +1 -0
- package/dist/render/components/ProductGridSection.d.ts +65 -0
- package/dist/render/components/ProductGridSection.js +1 -0
- package/dist/render/components/ProductHeroPanel.d.ts +22 -0
- package/dist/render/components/ProductHeroPanel.js +1 -0
- package/dist/render/components/ProductLightbox.d.ts +5 -0
- package/dist/render/components/ProductLightbox.js +1 -0
- package/dist/render/components/ProductRef.d.ts +16 -0
- package/dist/render/components/ProductRef.js +1 -0
- package/dist/render/components/PublishedFooter.d.ts +16 -0
- package/dist/render/components/PublishedFooter.js +1 -0
- package/dist/render/components/PublishedHeader.d.ts +4 -0
- package/dist/render/components/PublishedHeader.js +1 -0
- package/dist/render/components/QuantityStepper.d.ts +7 -0
- package/dist/render/components/QuantityStepper.js +1 -0
- package/dist/render/components/QuoteLink.d.ts +4 -0
- package/dist/render/components/QuoteLink.js +1 -0
- package/dist/render/components/ReviewForm.d.ts +8 -0
- package/dist/render/components/ReviewForm.js +1 -0
- package/dist/render/components/Reviews.d.ts +12 -0
- package/dist/render/components/Reviews.js +1 -0
- package/dist/render/components/SearchContext.d.ts +13 -0
- package/dist/render/components/SearchContext.js +1 -0
- package/dist/render/components/SectionBand.d.ts +9 -0
- package/dist/render/components/SectionBand.js +1 -0
- package/dist/render/components/SectionFootnote.d.ts +5 -0
- package/dist/render/components/SectionFootnote.js +1 -0
- package/dist/render/components/SectionGroupBody.d.ts +9 -0
- package/dist/render/components/SectionGroupBody.js +1 -0
- package/dist/render/components/SectionNotice.d.ts +7 -0
- package/dist/render/components/SectionNotice.js +1 -0
- package/dist/render/components/SiteRecordContext.d.ts +17 -0
- package/dist/render/components/SiteRecordContext.js +1 -0
- package/dist/render/components/SiteSwitch.d.ts +10 -0
- package/dist/render/components/SiteSwitch.js +1 -0
- package/dist/render/components/SpecTable.d.ts +18 -0
- package/dist/render/components/SpecTable.js +1 -0
- package/dist/render/components/SpecTablePartBridge.d.ts +5 -0
- package/dist/render/components/SpecTablePartBridge.js +1 -0
- package/dist/render/components/StorefrontProviders.d.ts +15 -0
- package/dist/render/components/StorefrontProviders.js +1 -0
- package/dist/render/components/SubmitBuild.d.ts +23 -0
- package/dist/render/components/SubmitBuild.js +1 -0
- package/dist/render/components/Subscribe.d.ts +27 -0
- package/dist/render/components/Subscribe.js +1 -0
- package/dist/render/components/SubscribePopup.d.ts +19 -0
- package/dist/render/components/SubscribePopup.js +7 -0
- package/dist/render/components/SubscribePopupContext.d.ts +33 -0
- package/dist/render/components/SubscribePopupContext.js +1 -0
- package/dist/render/components/ThemeToggle.d.ts +1 -0
- package/dist/render/components/ThemeToggle.js +1 -0
- package/dist/render/components/ThemedSelect.d.ts +59 -0
- package/dist/render/components/ThemedSelect.js +1 -0
- package/dist/render/components/TyreCard.d.ts +19 -0
- package/dist/render/components/TyreCard.js +1 -0
- package/dist/render/components/TyreFitVerdicts.d.ts +7 -0
- package/dist/render/components/TyreFitVerdicts.js +1 -0
- package/dist/render/components/TyreImage.d.ts +10 -0
- package/dist/render/components/TyreImage.js +1 -0
- package/dist/render/components/TyrePlpCard.d.ts +19 -0
- package/dist/render/components/TyrePlpCard.js +1 -0
- package/dist/render/components/TyreRenderSvg.d.ts +7 -0
- package/dist/render/components/TyreRenderSvg.js +1 -0
- package/dist/render/components/TyreSummaryCard.d.ts +11 -0
- package/dist/render/components/TyreSummaryCard.js +1 -0
- package/dist/render/components/TyreVehicleFitment.d.ts +18 -0
- package/dist/render/components/TyreVehicleFitment.js +1 -0
- package/dist/render/components/ViewMoreLink.d.ts +4 -0
- package/dist/render/components/ViewMoreLink.js +1 -0
- package/dist/render/components/WebFormField.d.ts +17 -0
- package/dist/render/components/WebFormField.js +1 -0
- package/dist/render/components/WheelCardFrame.d.ts +67 -0
- package/dist/render/components/WheelCardFrame.js +1 -0
- package/dist/render/components/WheelImage.d.ts +20 -0
- package/dist/render/components/WheelImage.js +1 -0
- package/dist/render/components/WheelPlaceholder.d.ts +7 -0
- package/dist/render/components/WheelPlaceholder.js +1 -0
- package/dist/render/components/WheelSvg.d.ts +7 -0
- package/dist/render/components/WheelSvg.js +1 -0
- package/dist/render/components/WishlistContext.d.ts +13 -0
- package/dist/render/components/WishlistContext.js +1 -0
- package/dist/render/components/booking/BookingBox.d.ts +16 -0
- package/dist/render/components/booking/BookingBox.js +1 -0
- package/dist/render/components/booking/BookingFormState.d.ts +46 -0
- package/dist/render/components/booking/BookingFormState.js +1 -0
- package/dist/render/components/booking/BookingRegions.d.ts +16 -0
- package/dist/render/components/booking/BookingRegions.js +1 -0
- package/dist/render/components/buy-row.d.ts +1 -0
- package/dist/render/components/buy-row.js +1 -0
- package/dist/render/components/catalog/CatalogFilterBar.d.ts +55 -0
- package/dist/render/components/catalog/CatalogFilterBar.js +1 -0
- package/dist/render/components/catalog/CatalogFilterContext.d.ts +39 -0
- package/dist/render/components/catalog/CatalogFilterContext.js +1 -0
- package/dist/render/components/catalog/CatalogFilterLabels.d.ts +6 -0
- package/dist/render/components/catalog/CatalogFilterLabels.js +1 -0
- package/dist/render/components/catalog/CatalogVehiclePicker.d.ts +22 -0
- package/dist/render/components/catalog/CatalogVehiclePicker.js +1 -0
- package/dist/render/components/catalog/FilterPill.d.ts +25 -0
- package/dist/render/components/catalog/FilterPill.js +1 -0
- package/dist/render/components/catalog/SiteMenuLinks.d.ts +6 -0
- package/dist/render/components/catalog/SiteMenuLinks.js +1 -0
- package/dist/render/components/checkout/CheckoutPageClient.d.ts +25 -0
- package/dist/render/components/checkout/CheckoutPageClient.js +3 -0
- package/dist/render/components/fitment/FitmentFinder.d.ts +15 -0
- package/dist/render/components/fitment/FitmentFinder.js +1 -0
- package/dist/render/components/fitment/FitmentPickerGrid.d.ts +6 -0
- package/dist/render/components/fitment/FitmentPickerGrid.js +1 -0
- package/dist/render/components/fitment/FitmentRowFit.d.ts +4 -0
- package/dist/render/components/fitment/FitmentRowFit.js +1 -0
- package/dist/render/components/fitment/PickerField.d.ts +16 -0
- package/dist/render/components/fitment/PickerField.js +1 -0
- package/dist/render/components/fitment/StockFitmentCard.d.ts +8 -0
- package/dist/render/components/fitment/StockFitmentCard.js +1 -0
- package/dist/render/components/fitment/useFitmentCascade.d.ts +31 -0
- package/dist/render/components/fitment/useFitmentCascade.js +1 -0
- package/dist/render/components/fitment/useVehicleFit.d.ts +29 -0
- package/dist/render/components/fitment/useVehicleFit.js +1 -0
- package/dist/render/components/fitment/vehicle-control.d.ts +10 -0
- package/dist/render/components/fitment/vehicle-control.js +0 -0
- package/dist/render/components/fitment/vehicle-level-state.d.ts +14 -0
- package/dist/render/components/fitment/vehicle-level-state.js +1 -0
- package/dist/render/components/formSubmission.d.ts +32 -0
- package/dist/render/components/formSubmission.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.d.ts +13 -0
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.d.ts +14 -0
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.d.ts +8 -0
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.d.ts +16 -0
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.d.ts +18 -0
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicProductHero.d.ts +25 -0
- package/dist/render/components/pdp-dynamic/DynamicProductHero.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.d.ts +31 -0
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.d.ts +13 -0
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreFitment.d.ts +13 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreFitment.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreSizes.d.ts +11 -0
- package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -0
- package/dist/render/components/pdp-dynamic/FitmentTableBlock.d.ts +7 -0
- package/dist/render/components/pdp-dynamic/FitmentTableBlock.js +1 -0
- package/dist/render/components/pdp-dynamic/KindGate.d.ts +8 -0
- package/dist/render/components/pdp-dynamic/KindGate.js +1 -0
- package/dist/render/components/pdp-dynamic/useSampleProduct.d.ts +5 -0
- package/dist/render/components/pdp-dynamic/useSampleProduct.js +1 -0
- package/dist/render/components/product-hero/TyreHeroFitment.d.ts +17 -0
- package/dist/render/components/product-hero/TyreHeroFitment.js +1 -0
- package/dist/render/components/product-hero/VehicleQuestion.d.ts +18 -0
- package/dist/render/components/product-hero/VehicleQuestion.js +1 -0
- package/dist/render/components/product-hero/WheelHeroFitment.d.ts +9 -0
- package/dist/render/components/product-hero/WheelHeroFitment.js +1 -0
- package/dist/render/components/product-hero/hero-content.d.ts +7 -0
- package/dist/render/components/product-hero/hero-content.js +1 -0
- package/dist/render/components/product-hero/hero-view.d.ts +37 -0
- package/dist/render/components/product-hero/hero-view.js +1 -0
- package/dist/render/components/product-hero/stage-photo.d.ts +10 -0
- package/dist/render/components/product-hero/stage-photo.js +3 -0
- package/dist/render/components/submit/SubmitBox.d.ts +19 -0
- package/dist/render/components/submit/SubmitBox.js +1 -0
- package/dist/render/components/submit/SubmitRegions.d.ts +17 -0
- package/dist/render/components/submit/SubmitRegions.js +1 -0
- package/dist/render/components/useEuTyreLabels.d.ts +3 -0
- package/dist/render/components/useEuTyreLabels.js +1 -0
- package/dist/render/components/useFinishSelection.d.ts +17 -0
- package/dist/render/components/useFinishSelection.js +1 -0
- package/dist/render/components/useHeaderBar.d.ts +9 -0
- package/dist/render/components/useHeaderBar.js +1 -0
- package/dist/render/components/useLightbox.d.ts +10 -0
- package/dist/render/components/useLightbox.js +1 -0
- package/dist/render/components/useModalDismiss.d.ts +8 -0
- package/dist/render/components/useModalDismiss.js +1 -0
- package/dist/render/components/useNewsletterSignup.d.ts +12 -0
- package/dist/render/components/useNewsletterSignup.js +1 -0
- package/dist/render/components/usePreOrderIntent.d.ts +14 -0
- package/dist/render/components/usePreOrderIntent.js +1 -0
- package/dist/render/components/useProductCatalog.d.ts +54 -0
- package/dist/render/components/useProductCatalog.js +1 -0
- package/dist/render/components/useProductSelection.d.ts +39 -0
- package/dist/render/components/useProductSelection.js +1 -0
- package/dist/render/components/useStockAlertSignup.d.ts +14 -0
- package/dist/render/components/useStockAlertSignup.js +1 -0
- package/dist/render/components/useStorefrontReviews.d.ts +2 -0
- package/dist/render/components/useStorefrontReviews.js +1 -0
- package/dist/render/components/useTyreCatalog.d.ts +2 -0
- package/dist/render/components/useTyreCatalog.js +1 -0
- package/dist/render/components/useTyreDetail.d.ts +6 -0
- package/dist/render/components/useTyreDetail.js +1 -0
- package/dist/render/components/useTyreFitAnswer.d.ts +5 -0
- package/dist/render/components/useTyreFitAnswer.js +1 -0
- package/dist/render/components/useWheelDetail.d.ts +6 -0
- package/dist/render/components/useWheelDetail.js +1 -0
- package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +42 -0
- package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -0
- package/dist/render/components/wheels-plp/PlpActiveChips.d.ts +9 -0
- package/dist/render/components/wheels-plp/PlpActiveChips.js +1 -0
- package/dist/render/components/wheels-plp/PlpCard.d.ts +27 -0
- package/dist/render/components/wheels-plp/PlpCard.js +1 -0
- package/dist/render/components/wheels-plp/PlpInStockToggle.d.ts +6 -0
- package/dist/render/components/wheels-plp/PlpInStockToggle.js +1 -0
- package/dist/render/components/wheels-plp/PlpNotifyMeDialog.d.ts +10 -0
- package/dist/render/components/wheels-plp/PlpNotifyMeDialog.js +1 -0
- package/dist/render/components/wheels-plp/PlpPagination.d.ts +5 -0
- package/dist/render/components/wheels-plp/PlpPagination.js +1 -0
- package/dist/render/components/wheels-plp/PlpSidebar.d.ts +25 -0
- package/dist/render/components/wheels-plp/PlpSidebar.js +1 -0
- package/dist/render/components/wheels-plp/PlpTypePicker.d.ts +7 -0
- package/dist/render/components/wheels-plp/PlpTypePicker.js +1 -0
- package/dist/render/components/wheels-plp/PlpTyreSizeBoxes.d.ts +9 -0
- package/dist/render/components/wheels-plp/PlpTyreSizeBoxes.js +1 -0
- package/dist/render/components/wheels-plp/PlpVehicleBar.d.ts +15 -0
- package/dist/render/components/wheels-plp/PlpVehicleBar.js +1 -0
- package/dist/render/components/wheels-plp/PlpVehicleGate.d.ts +10 -0
- package/dist/render/components/wheels-plp/PlpVehicleGate.js +1 -0
- package/dist/render/components/wheels-plp/usePlpCardSelection.d.ts +18 -0
- package/dist/render/components/wheels-plp/usePlpCardSelection.js +1 -0
- package/dist/render/components/wheels-plp/usePlpFiltersInUrl.d.ts +10 -0
- package/dist/render/components/wheels-plp/usePlpFiltersInUrl.js +1 -0
- package/dist/render/components/wheels-plp/useVehicleCatalog.d.ts +10 -0
- package/dist/render/components/wheels-plp/useVehicleCatalog.js +1 -0
- package/dist/render/components/wheels-plp/useWheelCardBottom.d.ts +20 -0
- package/dist/render/components/wheels-plp/useWheelCardBottom.js +1 -0
- package/dist/render/lib/api/chat.d.ts +31 -0
- package/dist/render/lib/api/chat.js +1 -0
- package/dist/render/lib/api/fitment-data.d.ts +18 -0
- package/dist/render/lib/api/fitment-data.js +1 -0
- package/dist/render/lib/api/gallery-builds-data.d.ts +4 -0
- package/dist/render/lib/api/gallery-builds-data.js +1 -0
- package/dist/render/lib/api/generated-upload-limits.d.ts +1292 -0
- package/dist/render/lib/api/generated-upload-limits.js +1 -0
- package/dist/render/lib/api/index.d.ts +806 -0
- package/dist/render/lib/api/index.js +1 -0
- package/dist/render/lib/api/origins.d.ts +2 -0
- package/dist/render/lib/api/origins.js +1 -0
- package/dist/render/lib/api/types.d.ts +3928 -0
- package/dist/render/lib/api/types.js +0 -0
- package/dist/render/lib/api/upload-limits.d.ts +10 -0
- package/dist/render/lib/api/upload-limits.js +1 -0
- package/dist/render/lib/assistant-chat.d.ts +35 -0
- package/dist/render/lib/assistant-chat.js +1 -0
- package/dist/render/lib/auth.d.ts +6 -0
- package/dist/render/lib/auth.js +1 -0
- package/dist/render/lib/booking/text-kinds.d.ts +11 -0
- package/dist/render/lib/booking/text-kinds.js +1 -0
- package/dist/render/lib/booking-dates.d.ts +23 -0
- package/dist/render/lib/booking-dates.js +1 -0
- package/dist/render/lib/cache-evict.d.ts +4 -0
- package/dist/render/lib/cache-evict.js +1 -0
- package/dist/render/lib/cart/coupon-preview.d.ts +12 -0
- package/dist/render/lib/cart/coupon-preview.js +1 -0
- package/dist/render/lib/cart/shipping-status.d.ts +12 -0
- package/dist/render/lib/cart/shipping-status.js +1 -0
- package/dist/render/lib/cart/snapshot-lines.d.ts +3 -0
- package/dist/render/lib/cart/snapshot-lines.js +1 -0
- package/dist/render/lib/catalog/from-tyre.d.ts +3 -0
- package/dist/render/lib/catalog/from-tyre.js +1 -0
- package/dist/render/lib/catalog/from-wheel.d.ts +7 -0
- package/dist/render/lib/catalog/from-wheel.js +1 -0
- package/dist/render/lib/catalog/listing-links.d.ts +11 -0
- package/dist/render/lib/catalog/listing-links.js +1 -0
- package/dist/render/lib/catalog/plp-item.d.ts +39 -0
- package/dist/render/lib/catalog/plp-item.js +1 -0
- package/dist/render/lib/catalog/plp-vehicle-copy.d.ts +20 -0
- package/dist/render/lib/catalog/plp-vehicle-copy.js +1 -0
- package/dist/render/lib/catalog/plp-vehicle-slice.d.ts +13 -0
- package/dist/render/lib/catalog/plp-vehicle-slice.js +1 -0
- package/dist/render/lib/catalog/product-options.d.ts +27 -0
- package/dist/render/lib/catalog/product-options.js +1 -0
- package/dist/render/lib/catalog/purchase.d.ts +46 -0
- package/dist/render/lib/catalog/purchase.js +1 -0
- package/dist/render/lib/catalog/related-cards.d.ts +12 -0
- package/dist/render/lib/catalog/related-cards.js +1 -0
- package/dist/render/lib/catalog/relationships.d.ts +28 -0
- package/dist/render/lib/catalog/relationships.js +1 -0
- package/dist/render/lib/catalog/store-product.d.ts +56 -0
- package/dist/render/lib/catalog/store-product.js +1 -0
- package/dist/render/lib/chat-socket.d.ts +8 -0
- package/dist/render/lib/chat-socket.js +1 -0
- package/dist/render/lib/checkout/wallet-return.d.ts +52 -0
- package/dist/render/lib/checkout/wallet-return.js +1 -0
- package/dist/render/lib/chrome-cache.d.ts +6 -0
- package/dist/render/lib/chrome-cache.js +1 -0
- package/dist/render/lib/chrome-load.d.ts +28 -0
- package/dist/render/lib/chrome-load.js +1 -0
- package/dist/render/lib/click-ids.d.ts +8 -0
- package/dist/render/lib/click-ids.js +1 -0
- package/dist/render/lib/commerce.d.ts +42 -0
- package/dist/render/lib/commerce.js +1 -0
- package/dist/render/lib/consent/choice.d.ts +35 -0
- package/dist/render/lib/consent/choice.js +1 -0
- package/dist/render/lib/consent/rules.d.ts +60 -0
- package/dist/render/lib/consent/rules.js +1 -0
- package/dist/render/lib/content/catalog-filter-labels.d.ts +6 -0
- package/dist/render/lib/content/catalog-filter-labels.js +1 -0
- package/dist/render/lib/content/country-show-as.d.ts +9 -0
- package/dist/render/lib/content/country-show-as.js +1 -0
- package/dist/render/lib/content/english-variant.d.ts +4 -0
- package/dist/render/lib/content/english-variant.js +1 -0
- package/dist/render/lib/content/field-usage.d.ts +35 -0
- package/dist/render/lib/content/field-usage.js +1 -0
- package/dist/render/lib/content/header-bar.d.ts +8 -0
- package/dist/render/lib/content/header-bar.js +1 -0
- package/dist/render/lib/content/header-theme.d.ts +7 -0
- package/dist/render/lib/content/header-theme.js +1 -0
- package/dist/render/lib/content/menu-placeholder.d.ts +8 -0
- package/dist/render/lib/content/menu-placeholder.js +1 -0
- package/dist/render/lib/content/menu-row.d.ts +9 -0
- package/dist/render/lib/content/menu-row.js +1 -0
- package/dist/render/lib/content/product-hero.d.ts +13 -0
- package/dist/render/lib/content/product-hero.js +1 -0
- package/dist/render/lib/content/site.d.ts +62 -0
- package/dist/render/lib/content/site.js +1 -0
- package/dist/render/lib/content/source-values.d.ts +43 -0
- package/dist/render/lib/content/source-values.js +0 -0
- package/dist/render/lib/content/stock-words.d.ts +10 -0
- package/dist/render/lib/content/stock-words.js +1 -0
- package/dist/render/lib/countries.d.ts +5 -0
- package/dist/render/lib/countries.js +1 -0
- package/dist/render/lib/editor-route.d.ts +3 -0
- package/dist/render/lib/editor-route.js +1 -0
- package/dist/render/lib/email-shape.d.ts +1 -0
- package/dist/render/lib/email-shape.js +1 -0
- package/dist/render/lib/font-table.json +2588 -0
- package/dist/render/lib/forwarded-for.d.ts +6 -0
- package/dist/render/lib/forwarded-for.js +1 -0
- package/dist/render/lib/google-tag.d.ts +37 -0
- package/dist/render/lib/google-tag.js +1 -0
- package/dist/render/lib/header-settings-fetch.d.ts +5 -0
- package/dist/render/lib/header-settings-fetch.js +1 -0
- package/dist/render/lib/links/link-rules.d.ts +80 -0
- package/dist/render/lib/links/link-rules.js +1 -0
- package/dist/render/lib/logo/surface-is-light.d.ts +1 -0
- package/dist/render/lib/logo/surface-is-light.js +1 -0
- package/dist/render/lib/menu-link.d.ts +1 -0
- package/dist/render/lib/menu-link.js +1 -0
- package/dist/render/lib/menu-source.d.ts +23 -0
- package/dist/render/lib/menu-source.js +1 -0
- package/dist/render/lib/meta-pixel.d.ts +19 -0
- package/dist/render/lib/meta-pixel.js +1 -0
- package/dist/render/lib/newsletter-signup.d.ts +16 -0
- package/dist/render/lib/newsletter-signup.js +1 -0
- package/dist/render/lib/next-fonts.d.ts +3 -0
- package/dist/render/lib/next-fonts.js +1 -0
- package/dist/render/lib/popup/popup-rules.d.ts +25 -0
- package/dist/render/lib/popup/popup-rules.js +1 -0
- package/dist/render/lib/popup/text-kind-style.d.ts +3 -0
- package/dist/render/lib/popup/text-kind-style.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/AccountBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CartBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CartBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/Collections/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/commerce/Collections/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.d.ts +9 -0
- package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/CountrySwitchBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/DetailRows/render.d.ts +9 -0
- package/dist/render/lib/puck/blocks/commerce/DetailRows/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.d.ts +9 -0
- package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/Gallery/render.d.ts +14 -0
- package/dist/render/lib/puck/blocks/commerce/Gallery/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryB/render.d.ts +13 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryB/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/Header/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/Header/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ProductHero/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/ProductHero/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ProductRef/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/ProductRef/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/SpecTable/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/commerce/SpecTable/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/ThemeSwitchBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/placeholders.d.ts +4 -0
- package/dist/render/lib/puck/blocks/commerce/placeholders.js +1 -0
- package/dist/render/lib/puck/blocks/commerce/renders.d.ts +32 -0
- package/dist/render/lib/puck/blocks/commerce/renders.js +1 -0
- package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/BookingBox/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/BookingBox/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/ContactRouting/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/ContactRouting/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Events/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/service/Events/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Footer/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/Footer/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterDivider/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterDivider/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterGroup/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/FooterGroup/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterLogo/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterLogo/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterMenu/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterMenu/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterSocial/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterSocial/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/FooterText/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/FooterText/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Form/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/Form/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/LegalLineBlock/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/ReviewForm/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/service/ReviewForm/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Reviews/render.d.ts +6 -0
- package/dist/render/lib/puck/blocks/service/Reviews/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SiteFooter/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/service/SiteFooter/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SiteHeader/render.d.ts +7 -0
- package/dist/render/lib/puck/blocks/service/SiteHeader/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SubmitBox/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/SubmitBox/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SubmitBuild/render.d.ts +8 -0
- package/dist/render/lib/puck/blocks/service/SubmitBuild/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/Subscribe/render.d.ts +2 -0
- package/dist/render/lib/puck/blocks/service/Subscribe/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.d.ts +17 -0
- package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.js +1 -0
- package/dist/render/lib/puck/blocks/service/renders.d.ts +26 -0
- package/dist/render/lib/puck/blocks/service/renders.js +1 -0
- package/dist/render/lib/puck/blocks/service/subscribe.d.ts +33 -0
- package/dist/render/lib/puck/blocks/service/subscribe.js +1 -0
- package/dist/render/lib/puck/blocks/text-part-shapes.json +1649 -0
- package/dist/render/lib/puck/current-product.d.ts +19 -0
- package/dist/render/lib/puck/current-product.js +1 -0
- package/dist/render/lib/puck/current-record.d.ts +44 -0
- package/dist/render/lib/puck/current-record.js +1 -0
- package/dist/render/lib/puck/fitment-table-dynamic.d.ts +4 -0
- package/dist/render/lib/puck/fitment-table-dynamic.js +1 -0
- package/dist/render/lib/puck/footer-page-blocks.d.ts +7 -0
- package/dist/render/lib/puck/footer-page-blocks.js +1 -0
- package/dist/render/lib/puck/preview-pick.d.ts +7 -0
- package/dist/render/lib/puck/preview-pick.js +1 -0
- package/dist/render/lib/puck/preview-product.d.ts +6 -0
- package/dist/render/lib/puck/preview-product.js +1 -0
- package/dist/render/lib/puck/render-client.d.ts +5 -0
- package/dist/render/lib/puck/render-client.js +1 -0
- package/dist/render/lib/puck/render-config.d.ts +4 -0
- package/dist/render/lib/puck/render-config.js +1 -0
- package/dist/render/lib/puck/slot-seeds.d.ts +3 -0
- package/dist/render/lib/puck/slot-seeds.js +1 -0
- package/dist/render/lib/puck/storefront-root.d.ts +18 -0
- package/dist/render/lib/puck/storefront-root.js +1 -0
- package/dist/render/lib/puck/subscribe-content-type.d.ts +10 -0
- package/dist/render/lib/puck/subscribe-content-type.js +1 -0
- package/dist/render/lib/puck/template-product-kind.d.ts +7 -0
- package/dist/render/lib/puck/template-product-kind.js +1 -0
- package/dist/render/lib/sections/card-image-sizes.d.ts +12 -0
- package/dist/render/lib/sections/card-image-sizes.js +1 -0
- package/dist/render/lib/sections/card-show-defaults.d.ts +10 -0
- package/dist/render/lib/sections/card-show-defaults.js +1 -0
- package/dist/render/lib/sections/catalog-filter-layout.d.ts +7 -0
- package/dist/render/lib/sections/catalog-filter-layout.js +1 -0
- package/dist/render/lib/sections/fill-row.d.ts +16 -0
- package/dist/render/lib/sections/fill-row.js +1 -0
- package/dist/render/lib/sections/hero-arrangement.d.ts +11 -0
- package/dist/render/lib/sections/hero-arrangement.js +1 -0
- package/dist/render/lib/sections/hero-gallery.d.ts +14 -0
- package/dist/render/lib/sections/hero-gallery.js +1 -0
- package/dist/render/lib/sections/hero-price-placement.d.ts +7 -0
- package/dist/render/lib/sections/hero-price-placement.js +1 -0
- package/dist/render/lib/select-keys.d.ts +18 -0
- package/dist/render/lib/select-keys.js +1 -0
- package/dist/render/lib/site-headers.d.ts +3 -0
- package/dist/render/lib/site-headers.js +1 -0
- package/dist/render/lib/storefront-page-groups.d.ts +16 -0
- package/dist/render/lib/storefront-page-groups.js +1 -0
- package/dist/render/lib/storefront-page-order.d.ts +3 -0
- package/dist/render/lib/storefront-page-order.js +1 -0
- package/dist/render/lib/submit/text-kinds.d.ts +11 -0
- package/dist/render/lib/submit/text-kinds.js +1 -0
- package/dist/render/lib/tyres/eu-tyre-label.d.ts +29 -0
- package/dist/render/lib/tyres/eu-tyre-label.js +1 -0
- package/dist/render/lib/tyres/placeholder-tyre.d.ts +2 -0
- package/dist/render/lib/tyres/placeholder-tyre.js +1 -0
- package/dist/render/lib/tyres/spec-sheet.d.ts +12 -0
- package/dist/render/lib/tyres/spec-sheet.js +1 -0
- package/dist/render/lib/tyres/tyre-brand-name.d.ts +2 -0
- package/dist/render/lib/tyres/tyre-brand-name.js +1 -0
- package/dist/render/lib/tyres/tyre-fit-copy.d.ts +3 -0
- package/dist/render/lib/tyres/tyre-fit-copy.js +1 -0
- package/dist/render/lib/tyres/tyre-page-path.d.ts +2 -0
- package/dist/render/lib/tyres/tyre-page-path.js +1 -0
- package/dist/render/lib/tyres/tyre-purchase.d.ts +12 -0
- package/dist/render/lib/tyres/tyre-purchase.js +1 -0
- package/dist/render/lib/tyres/tyre-size-fit.d.ts +12 -0
- package/dist/render/lib/tyres/tyre-size-fit.js +1 -0
- package/dist/render/lib/tyres/tyre-size.d.ts +11 -0
- package/dist/render/lib/tyres/tyre-size.js +1 -0
- package/dist/render/lib/tyres/tyre-vehicle-fitment.d.ts +17 -0
- package/dist/render/lib/tyres/tyre-vehicle-fitment.js +1 -0
- package/dist/render/lib/uuid.d.ts +1 -0
- package/dist/render/lib/uuid.js +1 -0
- package/dist/render/lib/wheels/applied-vehicle.d.ts +1 -0
- package/dist/render/lib/wheels/applied-vehicle.js +1 -0
- package/dist/render/lib/wheels/catalog-default-layout.d.ts +14 -0
- package/dist/render/lib/wheels/catalog-default-layout.js +1 -0
- package/dist/render/lib/wheels/catalog-filters-to-listing.d.ts +9 -0
- package/dist/render/lib/wheels/catalog-filters-to-listing.js +1 -0
- package/dist/render/lib/wheels/catalog-filters.d.ts +19 -0
- package/dist/render/lib/wheels/catalog-filters.js +1 -0
- package/dist/render/lib/wheels/collections.d.ts +22 -0
- package/dist/render/lib/wheels/collections.js +1 -0
- package/dist/render/lib/wheels/cover-rendering.d.ts +23 -0
- package/dist/render/lib/wheels/cover-rendering.js +1 -0
- package/dist/render/lib/wheels/detail-shots.d.ts +10 -0
- package/dist/render/lib/wheels/detail-shots.js +1 -0
- package/dist/render/lib/wheels/finish-colour-match.d.ts +4 -0
- package/dist/render/lib/wheels/finish-colour-match.js +1 -0
- package/dist/render/lib/wheels/finish-defaults.d.ts +16 -0
- package/dist/render/lib/wheels/finish-defaults.js +1 -0
- package/dist/render/lib/wheels/finish-photos.d.ts +2 -0
- package/dist/render/lib/wheels/finish-photos.js +1 -0
- package/dist/render/lib/wheels/fitment-columns.d.ts +9 -0
- package/dist/render/lib/wheels/fitment-columns.js +1 -0
- package/dist/render/lib/wheels/fitment-options.d.ts +18 -0
- package/dist/render/lib/wheels/fitment-options.js +1 -0
- package/dist/render/lib/wheels/fitment-row-fit.d.ts +17 -0
- package/dist/render/lib/wheels/fitment-row-fit.js +1 -0
- package/dist/render/lib/wheels/fitments.d.ts +13 -0
- package/dist/render/lib/wheels/fitments.js +1 -0
- package/dist/render/lib/wheels/grid-source.d.ts +12 -0
- package/dist/render/lib/wheels/grid-source.js +1 -0
- package/dist/render/lib/wheels/listable-wheels.d.ts +3 -0
- package/dist/render/lib/wheels/listable-wheels.js +1 -0
- package/dist/render/lib/wheels/lug-count.d.ts +10 -0
- package/dist/render/lib/wheels/lug-count.js +1 -0
- package/dist/render/lib/wheels/pdp-fit-verdict.d.ts +27 -0
- package/dist/render/lib/wheels/pdp-fit-verdict.js +1 -0
- package/dist/render/lib/wheels/picker-goes-to-the-shop.d.ts +10 -0
- package/dist/render/lib/wheels/picker-goes-to-the-shop.js +1 -0
- package/dist/render/lib/wheels/placeholder-wheel.d.ts +3 -0
- package/dist/render/lib/wheels/placeholder-wheel.js +1 -0
- package/dist/render/lib/wheels/plp-filters.d.ts +100 -0
- package/dist/render/lib/wheels/plp-filters.js +1 -0
- package/dist/render/lib/wheels/plp-fitment-match.d.ts +61 -0
- package/dist/render/lib/wheels/plp-fitment-match.js +1 -0
- package/dist/render/lib/wheels/plp-grid.d.ts +18 -0
- package/dist/render/lib/wheels/plp-grid.js +1 -0
- package/dist/render/lib/wheels/plp-hydrate.d.ts +21 -0
- package/dist/render/lib/wheels/plp-hydrate.js +1 -0
- package/dist/render/lib/wheels/plp-vehicle-params.d.ts +10 -0
- package/dist/render/lib/wheels/plp-vehicle-params.js +1 -0
- package/dist/render/lib/wheels/pre-order-intent.d.ts +3 -0
- package/dist/render/lib/wheels/pre-order-intent.js +1 -0
- package/dist/render/lib/wheels/pre-order.d.ts +7 -0
- package/dist/render/lib/wheels/pre-order.js +1 -0
- package/dist/render/lib/wheels/price-display.d.ts +47 -0
- package/dist/render/lib/wheels/price-display.js +1 -0
- package/dist/render/lib/wheels/render-fit.d.ts +3 -0
- package/dist/render/lib/wheels/render-fit.js +1 -0
- package/dist/render/lib/wheels/renderable-finishes.d.ts +6 -0
- package/dist/render/lib/wheels/renderable-finishes.js +1 -0
- package/dist/render/lib/wheels/selected-studs.d.ts +9 -0
- package/dist/render/lib/wheels/selected-studs.js +1 -0
- package/dist/render/lib/wheels/set-mode.d.ts +34 -0
- package/dist/render/lib/wheels/set-mode.js +1 -0
- package/dist/render/lib/wheels/size-range.d.ts +10 -0
- package/dist/render/lib/wheels/size-range.js +1 -0
- package/dist/render/lib/wheels/spec-format.d.ts +7 -0
- package/dist/render/lib/wheels/spec-format.js +1 -0
- package/dist/render/lib/wheels/spec-sheet.d.ts +58 -0
- package/dist/render/lib/wheels/spec-sheet.js +1 -0
- package/dist/render/lib/wheels/tyre-render.d.ts +34 -0
- package/dist/render/lib/wheels/tyre-render.js +1 -0
- package/dist/render/lib/wheels/variant-spec.d.ts +9 -0
- package/dist/render/lib/wheels/variant-spec.js +1 -0
- package/dist/render/lib/wheels/variants.d.ts +8 -0
- package/dist/render/lib/wheels/variants.js +1 -0
- package/dist/render/lib/wheels/vehicle-field-focus.d.ts +7 -0
- package/dist/render/lib/wheels/vehicle-field-focus.js +1 -0
- package/dist/render/lib/wheels/vehicle-memory.d.ts +25 -0
- package/dist/render/lib/wheels/vehicle-memory.js +1 -0
- package/dist/render/lib/wheels/wheel-name.d.ts +4 -0
- package/dist/render/lib/wheels/wheel-name.js +1 -0
- package/dist/render/lib/wheels/wheel-specs.d.ts +14 -0
- package/dist/render/lib/wheels/wheel-specs.js +1 -0
- package/dist/render/lib/wheels/wheel-summary-casing.d.ts +4 -0
- package/dist/render/lib/wheels/wheel-summary-casing.js +1 -0
- package/dist/render/lib/wheels/wheels.d.ts +38 -0
- package/dist/render/lib/wheels/wheels.js +1 -0
- package/dist/render/mocks/fitment-snapshot.json +3911 -0
- package/dist/render/mocks/gallery-builds.json +213 -0
- package/dist/words.d.ts +68 -7
- package/dist/words.js +5 -5
- package/package.json +37 -5
- package/dist/chunks/chunk-BDITPYS5.js +0 -1
- package/dist/chunks/chunk-EHKAKDFN.js +0 -255
- /package/dist/chunks/{chunk-4NM2MDGN.js → chunk-76HTJBKU.js} +0 -0
- /package/dist/chunks/{chunk-EHKAKDFN.js.LEGAL.txt → chunk-PHH7L5FJ.js.LEGAL.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as d}from"react/jsx-runtime";import{renderGold as f}from"efficient-web-builder/render/components/goldPhrases";import{say as l}from"efficient-web-builder/format/lib/editor-words";const m={sm:"text-[12px]",md:"text-[13px]",lg:"text-[15px]"};function n({text:e,size:o="md",tone:r="default",editing:x=!1}){const t=e||(x?l("Add a line of footer text."):"");return t?d("p",{className:`${m[o]} leading-[1.5] ${r==="dim"?"text-fg-dim":"text-fg"}`,children:f(t)}):null}export{n as default};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Form } from "../lib/api/index.js";
|
|
2
|
+
export interface FormBlockProps {
|
|
3
|
+
formSlug?: string;
|
|
4
|
+
heading?: string;
|
|
5
|
+
intro?: string;
|
|
6
|
+
submitText?: string;
|
|
7
|
+
finePrint?: string;
|
|
8
|
+
form?: Form | null;
|
|
9
|
+
editing?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export default function FormBlock({ formSlug, heading, intro, submitText, finePrint, form: injected, editing, }?: FormBlockProps): import("react").JSX.Element;
|
|
12
|
+
export declare function FormBody({ form, formSlug, submitText, finePrint, editing, onSent, }: {
|
|
13
|
+
form: Form;
|
|
14
|
+
formSlug?: string;
|
|
15
|
+
submitText?: string;
|
|
16
|
+
finePrint?: string;
|
|
17
|
+
editing?: boolean;
|
|
18
|
+
onSent?: () => void;
|
|
19
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as t,jsxs as c}from"react/jsx-runtime";import{useEffect as F}from"react";import{FormFieldInput as f,FormHoneypot as S,successMessageFor as w,useBoundForm as z,useFormSubmission as T}from"./formSubmission.js";import g from"./SectionNotice.js";import{say as h}from"efficient-web-builder/format/lib/editor-words";import C from"./WebFormField.js";const b="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";function j({field:e,value:s,onChange:n}){const r={field:e,value:s,onChange:n};return e.type==="checkbox"?c("label",{className:"flex items-start gap-3",children:[t(f,{...r,className:"mt-1 size-4 accent-accent"}),c("span",{className:"font-mono text-[12px] font-semibold uppercase tracking-[0.16em] text-fg",children:[e.label,e.required?t("span",{className:"text-accent",children:" *"}):null]})]}):t(C,{label:e.label,required:e.required,children:t(f,{...r,className:e.type==="textarea"?b+" resize-y":b})})}function B({formSlug:e,heading:s,intro:n,submitText:r,finePrint:i,form:p,editing:o=!1}={}){const a=z(e,p);if(a===void 0)return t(g,{size:"short",children:h("Loading form…")});if(a===null)return t(g,{size:"short",children:o?h("Choose a form in the inspector, under Form."):"This form is unavailable."});const m=(s??"").trim()||a.title;return t("section",{className:"relative z-[2] border-t border-line bg-surface",children:c("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:[m&&t("h2",{className:"mb-4 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]:text-[length:min(var(--size-headingMedium,32px),var(--sf-heading-max,9999px))]",children:m}),(n??"").trim()&&t("p",{className:"mb-12 max-w-[640px] font-display text-[16px] leading-[1.6] text-fg-dim",children:n}),t(q,{form:a,formSlug:e,submitText:r,finePrint:i,editing:o})]})})}function q({form:e,formSlug:s,submitText:n,finePrint:r,editing:i=!1,onSent:p}){const{valueOf:o,set:a,honeypot:m,setHoneypot:y,submitting:d,done:x,error:u,handleSubmit:N}=T({form:e,formSlug:s,editing:i});F(()=>{x&&p?.()},[x]);const v=(n??"").trim()||e.submitButtonText?.trim()||"Submit";return x?t("p",{role:"status",className:"max-w-[560px] font-serif text-[19px] italic leading-[1.6] text-fg-dim",children:w(e)}):c("form",{className:"flex max-w-[720px] flex-col gap-5",onSubmit:N,children:[e.fields.map(l=>t(j,{field:l,value:o(l.key),onChange:k=>a(l.key,k)},l.key)),t(S,{value:m,onChange:y}),u&&t("p",{role:"alert",className:"font-mono text-[12px] uppercase tracking-[0.18em] text-alert",children:u}),t("button",{type:i?"button":"submit",disabled:d,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:d?"Sending…":v}),e.consentText?.trim()&&t("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:e.consentText}),(r??"").trim()&&t("span",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-fg-dim/70",children:r})]})}export{q as FormBody,B as default};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface Build {
|
|
2
|
+
car: string;
|
|
3
|
+
wheel: string;
|
|
4
|
+
wheelSlug?: string;
|
|
5
|
+
process: string;
|
|
6
|
+
finish: string;
|
|
7
|
+
imageLabel: string;
|
|
8
|
+
detailLabel: string;
|
|
9
|
+
imageSrc?: string;
|
|
10
|
+
detailSrc?: string;
|
|
11
|
+
photos?: string[];
|
|
12
|
+
}
|
|
13
|
+
interface Props {
|
|
14
|
+
build: Build;
|
|
15
|
+
hiddenMobile?: boolean;
|
|
16
|
+
alwaysShowOverlay?: boolean;
|
|
17
|
+
forceHover?: boolean;
|
|
18
|
+
index?: number;
|
|
19
|
+
total?: number;
|
|
20
|
+
ratio?: string;
|
|
21
|
+
captionPlace?: string;
|
|
22
|
+
display?: unknown;
|
|
23
|
+
displayPhone?: unknown;
|
|
24
|
+
styleOwner?: string;
|
|
25
|
+
editing?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export default function GalleryCard({ build, hiddenMobile, alwaysShowOverlay, forceHover, index, total, ratio, captionPlace, display, displayPhone, styleOwner, editing }: Props): import("react").JSX.Element;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useState as w}from"react";import j from"next/image";import S from"efficient-web-builder/render/components/Placeholder";import{withRMark as m}from"efficient-web-builder/render/components/RMark";import{galleryCaptionIsBelow as $,galleryCardRatioClass as T}from"efficient-web-builder/format/lib/content/gallery-card-layout";import{partDisplayClass as _}from"efficient-web-builder/format/lib/content/part-display";import{PART_STYLE_KIND_ATTR as R,PART_STYLE_OWNER_ATTR as A}from"efficient-web-builder/render/lib/puck/text-parts";import C from"efficient-web-builder/render/components/PartStyledKind";function E({build:e,hiddenMobile:g,alwaysShowOverlay:h,forceHover:o,index:l,total:c,ratio:y,captionPlace:u,display:v,displayPhone:b,styleOwner:p,editing:x=!1}){const a=s=>_(v,b,s),r=s=>x&&p?{[A]:p,[R]:`@${s}`}:{},i=(s,d)=>!x&&p?t(C,{kind:`@${s}`,shared:!0,children:d}):d,[N,z]=w(!1),k=$(u),f=n("div",{className:["sf-card group relative overflow-hidden bg-surface-2",T(y),g?"max-[800px]:hidden":""].join(" "),children:[n("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",o?"scale-[1.06] opacity-0 [filter:brightness(0.5)]":"group-hover:scale-[1.06] group-hover:opacity-0 group-hover:[filter:brightness(0.5)]"].join(" "),children:[t(S,{label:e.imageLabel,src:e.imageSrc}),t("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.35)"}})]}),t("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",o?"opacity-100 scale-[1.06] [filter:brightness(0.5)]":"opacity-0 group-hover:scale-[1.06] group-hover:opacity-100 group-hover:[filter:brightness(0.5)]"].join(" "),style:{background:"var(--site-surface)"},children:e.detailSrc&&t(j,{src:e.detailSrc,alt:"",fill:!0,sizes:"(max-width: 800px) 100vw, (max-width: 1500px) 33vw, 25vw",loading:"lazy",className:"absolute inset-0 z-[3] object-cover",style:{display:N?"none":"block"},onError:()=>z(!0)})}),(e.process||l!=null&&c!=null)&&n("div",{className:"pointer-events-none absolute top-3 left-3 right-3 z-[3] flex items-baseline gap-2 max-[800px]:top-2.5 max-[800px]:left-2.5 max-[800px]:right-2.5",children:[e.process&&t("span",{...r("tag"),className:["min-w-0 truncate font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] text-accent",a("tag"),"transition-opacity duration-300 ease-out",h||o?"opacity-100":"opacity-0 group-hover:opacity-100 max-[800px]:opacity-100"].join(" "),children:i("tag",m(e.process))}),l!=null&&c!=null&&t("span",{...r("number"),className:`ml-auto shrink-0 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] ${a("number")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:i("number",`${String(l).padStart(2,"0")} / ${String(c).padStart(2,"0")}`)})]}),t("div",{className:["absolute inset-0 z-[2]","transition-[opacity,transform] duration-300 ease-out",h||o?"opacity-100 translate-y-0":"opacity-0 translate-y-2 group-hover:opacity-100 group-hover:translate-y-0 max-[800px]:opacity-100 max-[800px]:translate-y-0"].join(" "),style:{color:"var(--overlay-fg)",background:"linear-gradient(180deg, transparent 40%, rgba(10,10,10,.85) 100%)"},children:n("div",{className:"absolute inset-x-0 bottom-0 top-9 flex flex-col justify-end gap-1 overflow-hidden p-6 max-[800px]:top-8 max-[800px]:p-3.5",children:[e.car&&t("div",{...r("eyebrow"),className:`truncate font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-accent max-[800px]:text-[length:var(--size-label,11px)] max-[800px]:tracking-[0.15em] ${a("eyebrow")}`.trim(),children:i("eyebrow",e.car)}),e.wheel&&t("div",{...r("title"),className:`font-heading3 text-[length:var(--size-headingSmall,22px)] font-medium leading-[1.05] tracking-[-0.02em] max-[800px]:text-[length:var(--size-body,16px)] ${a("title")}`.trim(),children:i("title",e.wheel)}),e.finish&&t("div",{...r("meta"),className:`mt-1.5 flex gap-3.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.12em] ${a("meta")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:t("span",{children:i("meta",m(e.finish))})})]})})]});return k?n("div",{className:g?"max-[800px]:hidden":"",children:[f,n("div",{className:"bg-surface px-3.5 pt-3 pb-3.5",children:[e.wheel&&t("div",{...r("title"),className:`font-display text-[length:var(--size-body,15px)] font-medium leading-[1.25] tracking-[-0.01em] text-fg ${a("title")}`.trim(),children:i("title",e.wheel)}),(e.finish||e.car)&&t("div",{...r(e.finish?"meta":"eyebrow"),className:`mt-0.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg-dim ${a(e.finish?"meta":"eyebrow")}`.trim(),children:i(e.finish?"meta":"eyebrow",m(e.finish||e.car))})]})]}):f}export{E as default};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SlotComponent } from "efficient-easel/blocks";
|
|
2
|
+
export interface GalleryGridProps {
|
|
3
|
+
omitHead?: boolean;
|
|
4
|
+
items?: SlotComponent;
|
|
5
|
+
num?: string;
|
|
6
|
+
title?: string;
|
|
7
|
+
linkText?: string;
|
|
8
|
+
linkHref?: string;
|
|
9
|
+
galleryHref?: string;
|
|
10
|
+
submitHref?: string;
|
|
11
|
+
previewHover?: boolean;
|
|
12
|
+
display?: unknown;
|
|
13
|
+
displayPhone?: unknown;
|
|
14
|
+
styleOwner?: string;
|
|
15
|
+
columns?: number | string;
|
|
16
|
+
columnsMobile?: number | string;
|
|
17
|
+
layout?: string;
|
|
18
|
+
gap?: number | string;
|
|
19
|
+
}
|
|
20
|
+
export default function GalleryGrid({ items: Items, num, title, linkText, linkHref, galleryHref, submitHref, previewHover, display, displayPhone, styleOwner, layout, columns, columnsMobile, gap: gapProp, omitHead, }: GalleryGridProps): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as e,jsxs as b}from"react/jsx-runtime";import{containerGapProps as S}from"efficient-web-builder/format/lib/content/container-gap";import C from"efficient-web-builder/render/components/Btn";import{GALLERY_GRID_ATTR as E,GalleryLinksContext as M}from"./GalleryItem.js";import{SharedPartKinds as R}from"efficient-web-builder/render/components/PublishedPartStylesContext";import{renderHeadline as j}from"efficient-web-builder/render/components/goldPhrases";import w from"efficient-web-builder/render/components/SectionHeader";import{resolveGridColumns as z,resolveGridMobileColumns as A}from"efficient-web-builder/format/lib/content/grid-span";import{galleryLayoutClass as I,galleryLayoutCss as P,resolveGalleryLayout as $}from"efficient-web-builder/format/lib/content/gallery-layout";const B="relative z-[2] bg-bg py-[120px] max-[800px]:py-[70px]",O="relative z-[2] bg-bg pt-0 pb-[120px] max-[800px]:pt-0 max-[800px]:pb-[70px]",T="mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]";function k({items:t,num:c,title:a,linkText:i,linkHref:m,galleryHref:o="/gallery",submitHref:x="/contact",previewHover:g,display:f,displayPhone:y,styleOwner:h,layout:n,columns:s,columnsMobile:u,gap:v,omitHead:d=!1}){const p=$(n),l=p?n:null,N=!p&&s!=null&&s!=="",r=S("GalleryB",v,"both"),G=l?{className:`sf-card-grid sf-gallery-zone ${I(l)} grid${r.className}`,style:r.style}:N?{className:`sf-card-grid sf-grid-zone grid${r.className}`,style:{...r.style,"--sf-grid-cols":String(z(s)),"--sf-grid-cols-phone":String(A(u,s))}}:{className:`sf-card-grid grid grid-cols-4${r.className} max-[1500px]:grid-cols-3 max-[800px]:grid-cols-1`,style:r.style},_=i?{text:i,href:m||"#"}:void 0,L=a?j(a,!1):void 0;return e("section",{className:d?O:B,children:b("div",{className:T,children:[d?null:e(w,{num:c,title:L,link:_}),l&&e("style",{dangerouslySetInnerHTML:{__html:P(l)}}),t&&e(M.Provider,{value:{galleryHref:o,submitHref:x,previewHover:g,display:f,displayPhone:y,styleOwner:h},children:e(R,{children:e("div",{[E]:"",style:{display:"contents"},children:e(t,{...G,minEmptyHeight:320})})})}),e("div",{className:"mt-12 flex flex-col items-center gap-3",children:e(C,{href:o,variant:"ghost",children:"See Gallery"})})]})})}export{k as default};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type GalleryShowcaseCard } from "./GalleryShowcase.js";
|
|
2
|
+
export declare const GalleryLinksContext: import("react").Context<{
|
|
3
|
+
galleryHref?: string;
|
|
4
|
+
submitHref?: string;
|
|
5
|
+
previewHover?: boolean;
|
|
6
|
+
display?: unknown;
|
|
7
|
+
displayPhone?: unknown;
|
|
8
|
+
styleOwner?: string;
|
|
9
|
+
}>;
|
|
10
|
+
export declare const GALLERY_TILE_PARTS: readonly [{
|
|
11
|
+
readonly id: "tag";
|
|
12
|
+
readonly label: "Tag";
|
|
13
|
+
}, {
|
|
14
|
+
readonly id: "eyebrow";
|
|
15
|
+
readonly label: "Eyebrow";
|
|
16
|
+
}, {
|
|
17
|
+
readonly id: "title";
|
|
18
|
+
readonly label: "Title";
|
|
19
|
+
}, {
|
|
20
|
+
readonly id: "meta";
|
|
21
|
+
readonly label: "Meta";
|
|
22
|
+
}, {
|
|
23
|
+
readonly id: "number";
|
|
24
|
+
readonly label: "Card number";
|
|
25
|
+
}];
|
|
26
|
+
export declare const GALLERY_GRID_ATTR = "data-gallery-grid";
|
|
27
|
+
export declare const GALLERY_TILE_ATTR = "data-gallery-tile";
|
|
28
|
+
export declare const GALLERY_ITEM_HINTS: {
|
|
29
|
+
readonly process: "Category";
|
|
30
|
+
readonly eyebrow: "Subtitle";
|
|
31
|
+
readonly name: "Item name";
|
|
32
|
+
readonly meta: "Detail";
|
|
33
|
+
};
|
|
34
|
+
export declare const GALLERY_ITEM_SEEDS: GalleryShowcaseCard[];
|
|
35
|
+
export interface GalleryItemProps extends GalleryShowcaseCard {
|
|
36
|
+
ratio?: string;
|
|
37
|
+
captionPlace?: string;
|
|
38
|
+
editing?: boolean;
|
|
39
|
+
previewHover?: boolean;
|
|
40
|
+
}
|
|
41
|
+
export default function GalleryItem({ editing, previewHover: ownPreviewHover, ratio, captionPlace, ...card }: GalleryItemProps): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as t,jsxs as n,Fragment as d}from"react/jsx-runtime";import{createContext as R,useCallback as $,useContext as A,useEffect as I,useRef as G,useState as N}from"react";import k from"next/link";import H from"./GalleryCard.js";import O,{LightboxClose as M}from"./Lightbox.js";import{renderGold as p,renderHeadline as Y}from"efficient-web-builder/render/components/goldPhrases";import{sizedImage as D}from"efficient-web-builder/format/lib/sized-image";const F="(max-width: 1100px) 100vw, min(59vw, 1050px)",B=R({}),oe=[{id:"tag",label:"Tag"},{id:"eyebrow",label:"Eyebrow"},{id:"title",label:"Title"},{id:"meta",label:"Meta"},{id:"number",label:"Card number"}],V="data-gallery-grid",L="data-gallery-tile";function W(r,l){const[s,m]=N(null);return I(()=>{const i=r.current,o=i?.closest(`[${V}]`);if(!i||!o)return;const h=()=>{const u=Array.from(o.querySelectorAll(`[${L}]`)),g=u.indexOf(i),x=g>=0?{index:g+1,total:u.length}:null;m(e=>e?.index===x?.index&&e?.total===x?.total?e:x)};if(h(),!l)return;const b=new MutationObserver(h);return b.observe(o,{childList:!0,subtree:!0}),()=>b.disconnect()},[r,l]),s}const le={process:"Category",eyebrow:"Subtitle",name:"Item name",meta:"Detail"},q=()=>({image:"",href:"#",process:"",eyebrow:"",name:"",meta:""}),ae=Array.from({length:6},q);function U(r,l){return(r??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||l}function Z(r){const l=(r.photos??[]).map(o=>o?.src).filter(o=>!!o),s=r.image||l[0]||"",m=[s,...l].filter(o=>!!o),i=U(r.name,"gallery-item");return{car:r.eyebrow??"",wheel:r.name??"",process:r.process??"",finish:r.meta??"",imageLabel:`${i}.jpg`,detailLabel:`${i}-detail.jpg`,imageSrc:s||void 0,detailSrc:l[0]||s||void 0,photos:m,href:r.href}}function J({editing:r=!1,previewHover:l,ratio:s,captionPlace:m,...i}){const{galleryHref:o="/gallery",submitHref:h="/contact",previewHover:b,display:u,displayPhone:g,styleOwner:x}=A(B),e=Z(i),a=e.photos??(e.imageSrc?[e.imageSrc]:[]),C=G(null),S=$(c=>{C.current=c},[]),_=W(C,r),E=r&&(!!l||!!b),[T,f]=N(!1),[v,y]=N(0),j=()=>y(c=>(c-1+a.length)%a.length),z=()=>y(c=>(c+1)%a.length),w=a[v]??e.imageSrc??"",P=t(H,{build:e,forceHover:E,index:_?.index,total:_?.total,ratio:s,captionPlace:m,display:u,displayPhone:g,styleOwner:x,editing:r});return n(d,{children:[r?t("div",{ref:S,[L]:"",className:"block w-full text-left",children:P}):t("button",{ref:S,[L]:"",type:"button","aria-label":`Open ${e.car||"build"} on ${e.wheel||"wheel"}`,onClick:()=>{y(0),f(!0)},className:"block w-full cursor-pointer text-left focus:outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2",children:P}),t(O,{open:T,onClose:()=>f(!1),label:`${e.car} on ${e.wheel}`,onPrev:a.length>1?j:void 0,onNext:a.length>1?z:void 0,className:"flex items-center justify-center p-6 backdrop-blur-[8px] max-[700px]:p-3",style:{background:"color-mix(in oklab, var(--bg) 78%, transparent)"},children:n("div",{onClick:c=>c.stopPropagation(),className:"relative grid w-[min(1800px,100%)] max-h-[calc(100vh-48px)] grid-cols-[1.4fr_1fr] overflow-hidden border border-line bg-bg max-[1100px]:grid-cols-1 max-[1100px]:overflow-auto",style:{boxShadow:"0 60px 120px -20px rgba(0,0,0,0.7)"},children:[t(M,{label:"Close popup",className:"absolute right-[24px] top-[24px] z-[5] flex h-[56px] w-[56px] items-center justify-center border border-line font-mono text-[length:var(--size-label,21px)] text-fg-dim transition-colors hover:border-accent hover:text-fg",style:{background:"color-mix(in oklab, var(--bg) 70%, transparent)"},children:"✕"}),n("div",{className:"relative flex min-h-[690px] items-center justify-center overflow-hidden bg-surface-2 max-[1100px]:min-h-[450px]",children:[w&&t("img",{...D(w,{fallbackWidth:1280}),sizes:F,alt:`${e.car} — ${v+1} of ${a.length}`,className:"block h-full max-h-[88vh] w-full object-cover"},w),a.length>1&&n(d,{children:[t("button",{type:"button","aria-label":"Previous photo",onClick:j,className:"absolute left-4 top-1/2 flex h-16 w-16 -translate-y-1/2 cursor-pointer items-center justify-center border border-fg-dim/40 bg-overlay-scrim/40 font-mono text-[length:var(--size-label,24px)] text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"◁"}),t("button",{type:"button","aria-label":"Next photo",onClick:z,className:"absolute right-4 top-1/2 flex h-16 w-16 -translate-y-1/2 cursor-pointer items-center justify-center border border-fg-dim/40 bg-overlay-scrim/40 font-mono text-[length:var(--size-label,24px)] text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"▷"}),n("span",{className:"absolute bottom-4 left-1/2 -translate-x-1/2 border border-fg-dim/30 bg-overlay-scrim/50 px-4 py-1.5 font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.22em] text-fg-dim backdrop-blur-[4px]",children:[v+1," / ",a.length]})]})]}),n("div",{className:"flex flex-col gap-[30px] px-[60px] py-[72px] max-[1100px]:px-9 max-[1100px]:py-[54px]",children:[e.process&&t("span",{className:"font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.3em] text-accent",children:p(e.process)}),e.wheel&&t("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(42px,4.5vw,60px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.95] tracking-[-0.025em]",children:Y(e.wheel,!1)}),e.car&&n("div",{className:"font-heading3 text-[length:var(--size-headingSmall,27px)] leading-[1.4] text-fg",children:["on ",t("em",{className:"font-serif font-normal italic text-accent tracking-[-0.01em]",children:p(e.car,!0)})]}),n("dl",{className:"mt-3 grid grid-cols-[auto_1fr] gap-x-7 gap-y-[18px] border-y border-line py-[30px] font-mono text-[length:var(--size-label,15px)] uppercase tracking-[0.22em]",children:[e.wheel&&n(d,{children:[t("dt",{className:"text-fg-dim",children:"Wheel"}),t("dd",{className:"text-fg",children:p(e.wheel)})]}),e.process&&n(d,{children:[t("dt",{className:"text-fg-dim",children:"Process"}),t("dd",{className:"text-fg",children:p(e.process)})]}),e.finish&&n(d,{children:[t("dt",{className:"text-fg-dim",children:"Finish"}),t("dd",{className:"text-fg",children:p(e.finish)})]}),e.car&&n(d,{children:[t("dt",{className:"text-fg-dim",children:"Vehicle"}),t("dd",{className:"text-fg",children:p(e.car)})]})]}),n("div",{className:"mt-auto flex flex-col gap-3.5 pt-6",children:[n(k,{href:e.href||"/wheels",onClick:()=>f(!1),className:"group flex items-center justify-between gap-6 border border-btn bg-btn px-9 py-6 font-mono text-[length:var(--size-label,16px)] uppercase tracking-[0.3em] text-btn-ink transition-colors hover:border-fg hover:bg-fg",children:[t("span",{children:"View product"}),t("span",{className:"transition-transform group-hover:translate-x-[6px]",children:"→"})]}),n(k,{href:o,onClick:()=>f(!1),className:"flex items-center justify-between gap-6 border border-line px-9 py-6 font-mono text-[length:var(--size-label,16px)] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:[t("span",{children:"See more builds"}),t("span",{children:"→"})]}),n(k,{href:h,onClick:()=>f(!1),className:"flex items-center justify-between gap-6 border border-line px-9 py-6 font-mono text-[length:var(--size-label,16px)] uppercase tracking-[0.3em] text-fg transition-colors hover:border-accent hover:text-accent",children:[t("span",{children:"Submit your build"}),t("span",{children:"→"})]})]})]})]})})]})}export{V as GALLERY_GRID_ATTR,le as GALLERY_ITEM_HINTS,ae as GALLERY_ITEM_SEEDS,L as GALLERY_TILE_ATTR,oe as GALLERY_TILE_PARTS,B as GalleryLinksContext,J as default};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export interface GalleryShowcaseCard {
|
|
2
|
+
image?: string;
|
|
3
|
+
photos?: {
|
|
4
|
+
src?: string;
|
|
5
|
+
}[];
|
|
6
|
+
href?: string;
|
|
7
|
+
process?: string;
|
|
8
|
+
eyebrow?: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
meta?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface GalleryStat {
|
|
13
|
+
value?: string;
|
|
14
|
+
label?: string;
|
|
15
|
+
}
|
|
16
|
+
type Mode = "vehicles" | "wheels" | "others" | "both";
|
|
17
|
+
type Active = "vehicles" | "wheels" | "others";
|
|
18
|
+
export interface GalleryShowcaseProps {
|
|
19
|
+
mode?: Mode;
|
|
20
|
+
kicker?: string;
|
|
21
|
+
breadcrumbLabel?: string;
|
|
22
|
+
vehicleTabLabel?: string;
|
|
23
|
+
vehicleTitle?: string;
|
|
24
|
+
vehicleBody1?: string;
|
|
25
|
+
vehicleBody2?: string;
|
|
26
|
+
vehicleStats?: GalleryStat[];
|
|
27
|
+
vehicleCards?: GalleryShowcaseCard[];
|
|
28
|
+
wheelTabLabel?: string;
|
|
29
|
+
wheelTitle?: string;
|
|
30
|
+
wheelBody1?: string;
|
|
31
|
+
wheelBody2?: string;
|
|
32
|
+
wheelStats?: GalleryStat[];
|
|
33
|
+
wheelCards?: GalleryShowcaseCard[];
|
|
34
|
+
othersTitle?: string;
|
|
35
|
+
othersBody1?: string;
|
|
36
|
+
othersBody2?: string;
|
|
37
|
+
othersStats?: GalleryStat[];
|
|
38
|
+
othersCards?: GalleryShowcaseCard[];
|
|
39
|
+
showBreadcrumb?: boolean;
|
|
40
|
+
showStats?: boolean;
|
|
41
|
+
showIntro?: boolean;
|
|
42
|
+
showTabs?: boolean;
|
|
43
|
+
showFilters?: boolean;
|
|
44
|
+
showCount?: boolean;
|
|
45
|
+
showSort?: boolean;
|
|
46
|
+
previewTab?: Active;
|
|
47
|
+
previewHover?: boolean;
|
|
48
|
+
editing?: boolean;
|
|
49
|
+
}
|
|
50
|
+
export default function GalleryShowcase({ mode, kicker, breadcrumbLabel, vehicleTabLabel, vehicleTitle, vehicleBody1, vehicleBody2, vehicleStats, vehicleCards, wheelTabLabel, wheelTitle, wheelBody1, wheelBody2, wheelStats, wheelCards, othersTitle, othersBody1, othersBody2, othersStats, othersCards, showBreadcrumb, showStats, showIntro, showTabs, showFilters, showCount, showSort, previewTab, previewHover, editing, }: GalleryShowcaseProps): import("react").JSX.Element;
|
|
51
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as t,jsxs as r,Fragment as N}from"react/jsx-runtime";import $e from"next/link";import{useMemo as W,useState as w}from"react";import{stripMarkup as F}from"efficient-web-builder/format/lib/markup";import{renderChrome as k,renderGold as i,renderHeadline as Ce}from"efficient-web-builder/render/components/goldPhrases";import T from"efficient-web-builder/render/components/Placeholder";import je,{LightboxClose as ze}from"./Lightbox.js";import Se from"./ThemedSelect.js";import{say as $}from"efficient-web-builder/format/lib/editor-words";const n={bodyUpTo720:"max-[720px]:text-[length:var(--size-body,15px)]",labelUpTo720:"max-[720px]:text-[length:var(--size-label,11px)]",body:"text-[length:var(--size-body,17px)]",labelXs:"text-[length:var(--size-label,11px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]",labelXl:"text-[length:var(--size-label,14px)]"};function G(m,d){return(m??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||d}function Y(m){const d=[m.image,...(m.photos??[]).map(u=>u?.src)].filter(u=>!!u);return d.length?d:[""]}const O=6,Le=()=>Array.from({length:O},(m,d)=>({image:"",process:$("Tag"),eyebrow:$("Category"),name:$("Item name"),meta:$("{n} photos",{n:`0${d+1}`})}));function _e({mode:m="both",kicker:d,breadcrumbLabel:u,vehicleTabLabel:X="Gallery A",vehicleTitle:ee,vehicleBody1:te,vehicleBody2:ae,vehicleStats:re,vehicleCards:B,wheelTabLabel:U="Gallery B",wheelTitle:ne,wheelBody1:le,wheelBody2:se,wheelStats:oe,wheelCards:E,othersTitle:ie,othersBody1:ce,othersBody2:pe,othersStats:me,othersCards:de,showBreadcrumb:xe=!0,showStats:ge=!0,showIntro:ue=!0,showTabs:fe=!0,showFilters:H=!0,showCount:M=!0,showSort:I=!0,previewTab:C,previewHover:he=!1,editing:b=!1}){const j=m==="both",v=j?["vehicles","wheels"]:m==="wheels"?["wheels"]:m==="others"?["others"]:["vehicles"],[Z,be]=w(v[0]),y=(b&&j&&C&&v.includes(C)?C:null)??(v.includes(Z)?Z:v[0]),ve=b&&he,[z,D]=w("all"),[S,ye]=w("newest"),[L,h]=w(null),l=y==="vehicles"?{title:ee,body1:te,body2:ae,stats:re??[],cards:B??[],unit:"items",word:X}:y==="others"?{title:ie,body1:ce,body2:pe,stats:me??[],cards:de??[],unit:"items",word:"Others"}:{title:ne,body1:le,body2:se,stats:oe??[],cards:E??[],unit:"items",word:U},V=W(()=>{const e=[];for(const a of l.cards)a.process&&!e.includes(a.process)&&e.push(a.process);return e},[l.cards]),_=z!=="all"&&V.includes(z)?z:"all",q=_==="all"?l.cards:l.cards.filter(e=>e.process===_),J=W(()=>{const e=[...q];return S==="name"&&e.sort((a,o)=>(a.name??"").localeCompare(o.name??"")),e},[q,S]),K=l.cards.length===0,A=b&&K,P=A?Le():J,Ne=A?O:l.cards.length,we=A?O:J.length,Q=d?`${d} · ${F(l.word)}`:void 0;function ke(e){e!==y&&(be(e),D("all"))}return r("section",{className:"relative z-[2] bg-bg",children:[xe&&r("nav",{className:`mx-auto flex max-w-[var(--sf-site-width,1600px)] items-center gap-4 border-b border-line px-[var(--sf-site-gutter,40px)] py-6 font-mono ${n.labelLarge} uppercase tracking-[0.2em] text-fg-dim max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[720px]:py-4`,children:[t("span",{className:"hover:text-fg",children:"Home"}),t("span",{className:"opacity-40",children:"/"}),t("span",{className:"text-fg",children:u?k(u):"Gallery"})]}),r("div",{className:"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-[auto_1fr_auto] items-end gap-[60px] border-b border-line px-[var(--sf-site-gutter,40px)] pt-[100px] pb-[60px] max-[1100px]:grid-cols-1 max-[1100px]:gap-5 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[1100px]:pt-[60px]",children:[t("span",{className:`pb-4 font-mono ${n.labelXl} uppercase tracking-[0.3em] text-accent`,children:Q?i(Q):null}),t("h2",{className:"font-display text-[length:min(var(--size-headingLarge,clamp(64px,9vw,140px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-[0.9] tracking-[-0.04em]",children:l.title?Ce(l.title,!0):null}),t("div",{className:`pb-4 text-right font-mono ${n.labelLarge} uppercase leading-[1.8] tracking-[0.18em] text-fg-dim max-[1100px]:text-left`,children:ge&&l.stats.map((e,a)=>r("div",{children:[e.value?t("strong",{className:"font-normal text-fg",children:i(e.value)}):null," ",e.label?i(e.label):null]},a))})]}),ue&&(l.body1||l.body2)&&r("div",{className:"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-2 gap-[60px] px-[var(--sf-site-gutter,40px)] pt-8 max-[1100px]:grid-cols-1 max-[1100px]:gap-4 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",children:[l.body1&&t("p",{className:`max-w-[540px] font-display ${n.body} leading-[1.6] text-fg-dim`,children:i(l.body1)}),l.body2&&t("p",{className:`max-w-[540px] font-display ${n.body} leading-[1.6] text-fg-dim`,children:i(l.body2)})]}),j&&fe&&t("div",{className:"mx-auto mt-10 flex max-w-[var(--sf-site-width,1600px)] items-stretch border-y border-line px-[var(--sf-site-gutter,40px)] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[720px]:px-3",children:["vehicles","wheels"].map((e,a)=>{const o=y===e,c=e==="vehicles"?X:U,f=e==="vehicles"?(B??[]).length:(E??[]).length,p=(c||"").trim().split(/\s+/),x=p.slice(0,-1).join(" "),s=p.slice(-1)[0]??"";return r("button",{type:"button",onClick:()=>ke(e),className:["group relative grid flex-1 cursor-pointer grid-cols-[auto_1fr_auto] items-end gap-5 px-6 py-8 text-left transition-colors",a===0?"border-r border-line":"","max-[720px]:grid-cols-[auto_1fr] max-[720px]:items-center max-[720px]:gap-2 max-[720px]:px-3 max-[720px]:py-3",o?"bg-surface":"hover:bg-fg/[0.04]"].join(" "),children:[t("span",{className:[`pb-2 font-mono ${n.labelLarge} tracking-[0.3em] max-[720px]:pb-0 ${n.labelUpTo720} max-[720px]:tracking-[0.24em]`,o?"text-accent":"text-fg-dim group-hover:text-accent"].join(" "),children:a===0?"A":"B"}),r("span",{className:`font-heading2 text-[length:min(var(--size-headingMedium,clamp(28px,3.6vw,48px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.02em] ${n.bodyUpTo720}`,children:[x?r(N,{children:[k(x)," "]}):null,t("em",{className:"font-normal italic text-accent",children:k(s)})]}),r("span",{className:`pb-2 text-right font-mono ${n.labelSmall} uppercase leading-[1.7] tracking-[0.24em] text-fg-dim max-[720px]:hidden`,children:[t("strong",{className:"font-normal text-fg",children:f})," ","items",t("br",{}),e==="vehicles"?"Community photos":"Featured photos"]}),o&&t("span",{className:"pointer-events-none absolute inset-x-0 -bottom-px h-0.5 bg-accent"})]},e)})}),(H||M||I)&&r("div",{className:"mx-auto grid max-w-[var(--sf-site-width,1600px)] grid-cols-[auto_1fr_auto] items-center gap-8 border-b border-line px-[var(--sf-site-gutter,40px)] py-5 max-[720px]:grid-cols-1 max-[720px]:gap-4 max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[720px]:py-3",style:{background:"color-mix(in oklab, var(--bg) 92%, transparent)"},children:[t("div",{className:"flex flex-wrap gap-1",children:H&&["all",...V].map(e=>{const a=_===e,o=e==="all"?"All":e;return t("button",{type:"button",onClick:()=>D(e),className:[`cursor-pointer border px-4 py-3 font-mono ${n.labelLarge} uppercase tracking-[0.2em] transition-colors`,a?"border-fg bg-fg text-bg":"border-transparent text-fg-dim hover:text-fg"].join(" "),children:k(o)},e)})}),M?r("div",{className:`text-center font-mono ${n.labelLarge} uppercase tracking-[0.2em] text-fg-dim`,children:[t("strong",{className:"font-normal text-accent",children:we})," / ",Ne," ",l.unit]}):t("div",{}),I?r("div",{className:`flex items-center gap-3 font-mono ${n.labelLarge} uppercase tracking-[0.18em] text-fg-dim`,children:[t("span",{children:"Sort"}),r(Se,{value:S,onChange:e=>ye(e.target.value),className:`cursor-pointer border border-line bg-bg px-3 py-2 font-mono ${n.labelLarge} uppercase tracking-[0.18em] text-fg`,children:[t("option",{value:"newest",children:"Newest"}),t("option",{value:"featured",children:"Featured"}),t("option",{value:"name",children:"Name A–Z"})]})]}):t("div",{})]}),t("div",{className:"mx-auto max-w-[var(--sf-site-width,1600px)] px-[var(--sf-site-gutter,40px)] pt-5 pb-20 max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))] max-[720px]:px-[min(20px,var(--sf-site-gutter,40px))]",children:P.length>0?t("div",{className:"grid grid-cols-6 gap-2 max-[1100px]:grid-cols-2 max-[720px]:grid-cols-1",children:P.map((e,a)=>{const o=Y(e)[0],f=`group relative block aspect-[4/3] w-full overflow-hidden bg-surface-2 text-left ${a<2?"col-span-3 max-[1100px]:col-span-1":"col-span-2 max-[1100px]:col-span-1"}`,p=`${e.name??"card"}-${a}`,x=r(N,{children:[t(T,{label:G(e.name,`gallery-card-${a+1}`),src:o||void 0,alt:F(e.name??""),sizes:"(max-width: 720px) 100vw, (max-width: 1100px) 50vw, 33vw",className:`transition-transform duration-700 ${ve?"scale-[1.04]":"group-hover:scale-[1.04]"}`}),r("div",{className:"pointer-events-none absolute inset-0 z-10 flex flex-col justify-between p-6 max-[720px]:p-3",style:{background:"linear-gradient(180deg, rgba(10,10,10,.55) 0%, transparent 35%, transparent 55%, rgba(10,10,10,.92) 100%)"},children:[r("div",{className:`flex items-start justify-between font-mono ${n.labelSmall} uppercase tracking-[0.24em]`,children:[e.process?t("span",{className:"text-accent",children:i(e.process)}):t("span",{}),r("span",{className:"text-overlay-fg/70",children:[String(a+1).padStart(2,"0")," / ",String(P.length).padStart(2,"0")]})]}),r("div",{className:"flex flex-col gap-2",children:[e.eyebrow&&t("div",{className:`font-mono ${n.labelSmall} uppercase tracking-[0.24em] text-accent`,children:i(e.eyebrow)}),e.name&&t("div",{className:"font-heading3 text-[length:var(--size-headingSmall,clamp(22px,2.4vw,32px))] font-medium uppercase leading-none tracking-[-0.02em] text-overlay-fg",children:i(e.name)}),e.meta&&t("div",{className:`flex flex-wrap gap-3 pt-1 font-mono ${n.labelXs} uppercase tracking-[0.2em] text-overlay-fg/70`,children:t("span",{children:i(e.meta)})})]})]})]});return b?t("div",{className:f,children:x},p):t("button",{type:"button",onClick:()=>h({card:e,index:0}),"aria-label":`Open ${e.name??"gallery item"}`,className:`${f} cursor-pointer focus:outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2`,children:x},p)})}):t("div",{className:`py-20 text-center font-mono ${n.labelXl} uppercase tracking-[0.2em] text-fg-dim`,children:K?"No items in this gallery yet.":"No items match this filter."})}),L&&(()=>{const e=Y(L.card),{card:a,index:o}=L,c=e.length,f=e[o]??e[0]??"",p=s=>h(g=>g&&{...g,index:(g.index+s+c)%c}),x=[a.process,a.meta].filter(Boolean).join(" · ");return r(je,{open:!0,onClose:()=>h(null),label:a.name??"Gallery item",onPrev:c>1?()=>p(-1):void 0,onNext:c>1?()=>p(1):void 0,className:"flex cursor-zoom-out flex-col items-center justify-center bg-overlay-scrim/92 p-6 backdrop-blur-sm max-[720px]:p-3",children:[r("div",{className:"relative flex w-full flex-1 items-center justify-center",children:[t("div",{className:"relative h-full max-h-[72vh] w-full max-w-[92vw]",children:t(T,{label:G(a.name,"gallery-photo"),src:f||void 0,alt:F(a.name??""),objectFit:"contain",sizes:"92vw"})}),c>1&&r(N,{children:[t("button",{type:"button","aria-label":"Previous photo",onClick:s=>{s.stopPropagation(),p(-1)},className:"absolute left-2 top-1/2 flex h-12 w-12 -translate-y-1/2 cursor-pointer items-center justify-center border border-fg-dim/40 bg-overlay-scrim/40 text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"◁"}),t("button",{type:"button","aria-label":"Next photo",onClick:s=>{s.stopPropagation(),p(1)},className:"absolute right-2 top-1/2 flex h-12 w-12 -translate-y-1/2 cursor-pointer items-center justify-center border border-fg-dim/40 bg-overlay-scrim/40 text-fg-dim transition-colors hover:border-accent hover:text-accent",children:"▷"})]})]}),r("div",{className:`mt-5 flex flex-col items-center gap-3 text-center font-mono ${n.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,onClick:s=>s.stopPropagation(),children:[r("div",{className:"flex flex-col items-center gap-1",children:[a.name&&t("span",{className:"text-accent",children:i(a.name)}),a.eyebrow&&t("span",{children:i(a.eyebrow)}),r("span",{className:"text-fg-dim/70",children:[x?r(N,{children:[i(x)," · "]}):null,o+1," / ",c]})]}),a.href&&t($e,{href:a.href,onClick:()=>h(null),className:`cursor-pointer border border-btn bg-btn/[0.08] px-5 py-3 font-mono ${n.labelLarge} uppercase tracking-[0.28em] text-btn transition-colors hover:bg-btn hover:text-btn-ink`,children:"View Product →"})]}),c>1&&t("div",{onClick:s=>s.stopPropagation(),className:"mt-5 flex max-w-[92vw] gap-2 overflow-x-auto pb-1",children:e.map((s,g)=>t("button",{type:"button","aria-label":`Photo ${g+1}`,onClick:()=>h(R=>R&&{...R,index:g}),className:["relative h-16 w-24 shrink-0 cursor-pointer overflow-hidden border transition-colors max-[720px]:h-12 max-[720px]:w-16",g===o?"border-accent":"border-line opacity-60 hover:border-fg-dim hover:opacity-100"].join(" "),children:t(T,{label:G(a.name,"gallery-photo"),src:s||void 0,alt:"",sizes:"120px"})},`${s}-${g}`))}),t(ze,{})]})})()]})}export{_e as default};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type HeaderSettings } from "../lib/api/index.js";
|
|
2
|
+
import type { PreviewHeaderSettings } from "efficient-web-builder/render/components/PreviewHeaderContext";
|
|
3
|
+
export default function Header({ previewSettings, initialSettings, editorPreview, showThemeToggle, wordmark, hideLogo, hideMenu, siteName, commerceEnabled, }?: {
|
|
4
|
+
previewSettings?: PreviewHeaderSettings;
|
|
5
|
+
initialSettings?: HeaderSettings | null;
|
|
6
|
+
editorPreview?: boolean;
|
|
7
|
+
showThemeToggle?: boolean;
|
|
8
|
+
wordmark?: string | null;
|
|
9
|
+
hideLogo?: boolean;
|
|
10
|
+
hideMenu?: boolean;
|
|
11
|
+
siteName?: string;
|
|
12
|
+
commerceEnabled?: boolean;
|
|
13
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as r,Fragment as I,jsxs as s}from"react/jsx-runtime";import te from"next/link";import{usePathname as Ke}from"next/navigation";import{useCallback as Ve,useEffect as O,useState as p}from"react";import{useCart as qe}from"./CartContext.js";import{useSearch as Ye}from"./SearchContext.js";import Je,{useCountrySelectShows as Xe}from"./CountrySelect.js";import{resolveCountryShowAs as Qe}from"../lib/content/country-show-as.js";import ne from"./HeaderNavItem.js";import Ze from"efficient-web-builder/render/components/Logo";import et from"./MenuPlaceholderLabel.js";import{withRMark as oe}from"efficient-web-builder/render/components/RMark";import{AccountButton as tt,CartButton as nt,SearchButton as ot}from"./HeaderTools.js";import{useHeaderBar as rt}from"./useHeaderBar.js";import{useModalDismiss as st}from"./useModalDismiss.js";import lt from"./ThemeToggle.js";import{products as at}from"../lib/api/index.js";import{shouldFetchPublicHeaderSettings as it}from"../lib/header-settings-fetch.js";import{HEADER_MENU_PLACEHOLDER_COUNT as ct}from"../lib/content/menu-placeholder.js";import{DEFAULT_SWITCH_SHOWN as dt}from"efficient-web-builder/format/lib/theme";import{chromeWidthStyle as mt,resolveChromeWidth as ut}from"efficient-web-builder/format/lib/content/page-width";import{headerThemeWrap as ht}from"../lib/content/header-theme.js";import{headerSolidBackground as ft,isProductPage as pt}from"../lib/content/header-bar.js";import{surfaceIsLight as gt}from"../lib/logo/surface-is-light.js";import{HEADER_HEIGHT_PX as xt,HEADER_SET_HEIGHT_CSS as bt}from"efficient-web-builder/render/lib/puck/header-clearance";import{HEADER_INK_ATTR as yt,HEADER_INK_OVERRIDE_ATTR as vt,resolveHeaderInkMode as wt}from"efficient-web-builder/render/lib/puck/header-ink";const re={stacked:{grid:"hidden min-[1501px]:grid",flex:"hidden min-[1501px]:flex"},inline:{grid:"hidden min-[801px]:grid",flex:"hidden min-[801px]:flex"}},St=Array.from({length:ct},()=>({href:"#",label:r(et,{})}));function kt({previewSettings:g,initialSettings:$,editorPreview:T,showThemeToggle:se,wordmark:le,hideLogo:ae,hideMenu:ie,siteName:L,commerceEnabled:v=!0}={}){const M=Ke(),[ce,de]=p(!1);O(()=>{const e=b.current?.ownerDocument??document,t=()=>de(e.querySelector(`[${yt}="light"]`)!=null);t();const f=requestAnimationFrame(t);return()=>cancelAnimationFrame(f)},[M]);const z=pt(M),[c,w]=p(!1),{open:me,totals:ue}=qe(),{open:he}=Ye(),[C,fe]=p(!1),[pe,ge]=p(null),[xe,be]=p(null),[n,ye]=p($??null),o=g??(n?{logoUrl:n.logoUrl,reverseLogo:n.reverseLogo,logoReversed:n.logoReversed,logoInkIsDark:n.logoInkIsDark,logoPosition:n.logoPosition,logoSize:n.logoSize,logoSizePx:n.logoSizePx,menuItems:(n.menuItems??[]).map(e=>({label:e.label,url:e.url,dropdown_menu:null,dropdown_items:e.dropdownItems??[]})),menuSplit:n.menuSplit??3,menuPosition:n.menuPosition,menuRow:n.menuRow,menuGapPx:n.menuGapPx??null,searchEnabled:n.searchEnabled,searchPosition:n.searchPosition,searchRow:n.searchRow,countrySelectorEnabled:n.countrySelectorEnabled,countrySelectorShowAs:n.countrySelectorShowAs,countryUrls:n.countryUrls,accountEnabled:n.accountEnabled,cartEnabled:n.cartEnabled,utilStyle:n.utilStyle,navTextCase:n.navTextCase,lightReverseText:n.lightReverseText,topTextColor:n.topTextColor,transparentTop:n.transparentTop,surface:n.surface,theme:n.theme,width:n.width,heightPx:n.heightPx,sticky:n.sticky}:null),ve=ae?null:o?.logoUrl??null,we=o?.reverseLogo??!1,Se=o?.logoReversed??null,ke=o?.logoInkIsDark??null,i=o?.logoPosition??"center",Ne=o?.logoSize??"medium",Ee=o?.logoSizePx??null,B=Math.min(Math.max(o?.menuSplit??3,1),4),Pe=(o?.menuPosition??"left")==="center",Ie=(o?.menuPosition??"left")==="beside",U=(o?.menuRow??"top")==="inline",F=o?.menuGapPx??null,$e=F!=null?{gap:`${F}px`}:void 0,S=U?re.inline:re.stacked,Te=o?.searchEnabled??!1,G=o?.searchPosition??"right",Le=o?.countrySelectorEnabled??!0,Ce=Qe(o?.countrySelectorShowAs),_=o?.accountEnabled??!0,_e=o?.cartEnabled??!0,A=(o?.utilStyle??"icon")==="text",l=`mono-eyebrow${(o?.navTextCase??"uppercase")==="capitalised"?" mono-eyebrow-plain":""}`,W=o?.countryUrls??{},Ae=ut(o?.width),De=mt(Ae)??void 0,Re=o?.heightPx??xt.default,K=o?.sticky??"always",k=wt(o?.topTextColor),m=ht(o?.theme),N=Object.keys(W),V=Xe(N.length?N:void 0),x=Le?r(Je,{countries:N.length?N:void 0,urls:g?void 0:W,showAs:Ce}):null,{headerRef:b,scrolled:q,navHidden:He}=rt({stickyMode:K,heightPx:Re}),je=m?JSON.stringify(m.style):null;O(()=>{const e=b.current?.ownerDocument??document,t=e.defaultView??window,f=ee=>ee?gt(t.getComputedStyle(ee).getPropertyValue("--bg")):null,Z=()=>{fe(e.documentElement.getAttribute("data-theme")==="light"),ge(f(e.body)),be(f(b.current))};Z();const j=new MutationObserver(Z);return j.observe(e.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),e.body&&j.observe(e.body,{attributes:!0,attributeFilter:["style"]}),()=>j.disconnect()},[b,je]);const y=se??dt?r(lt,{}):null;O(()=>{if(!it({editorPreview:!!T,hasPreviewSettings:!!g,hasInitialSettings:!!$}))return;let e=!1;return at.getHeaderSettings().then(t=>!e&&ye(t)).catch(t=>{console.warn("[header] settings fetch failed; using built-in defaults",t)}),()=>{e=!0}},[T,g,$]);const E=q||z,Y=ft(C,z),J=k==="auto"?ce:k==="light",Oe=E||!J,Me=E?xe??C:(pe??C)&&!J,ze=k==="auto"?null:{[vt]:k},Be=Ve(()=>w(!1),[]);st({active:c,onDismiss:Be});const d=(e,t,f="start")=>r(ne,{item:e,dropdownAlign:f},t),Ue=!ie&&(o?.menuItems?.length??0)>0,X=!!T||!!g,a=Ue?o.menuItems.map(e=>({href:e.url||"",label:oe(e.label),plainLabel:e.label,dropdownItems:(e.dropdown_items??[]).map(t=>({href:t.url||"",label:oe(t.label),plainLabel:t.label}))})):X?St.map(e=>({...e,plainLabel:"Menu item",dropdownItems:[]})):[],Fe=a.length>0||v&&_||!!x&&V||!!y,Ge=i==="center"?a.slice(0,B):i==="right"?a:[],We=i==="center"?a.slice(B):i==="left"?a:[],P=Te?r(ot,{onClick:X?void 0:he,asText:A}):null,D=v&&_?r(tt,{asText:A}):null,R=e=>v&&_e?r(nt,{onClick:me,count:ue.sets,asText:A,className:e}):null,u=s(I,{children:[G==="left"?P:null,x,y,D,R(),G==="right"?P:null]}),H=(e,t=!1)=>r(te,{href:"/","aria-label":L?`${L} home`:"Home",className:e,children:r(Ze,{variant:"header",scrolled:Oe,src:ve,reverse:we,onLightSurface:Me,reversedSrc:Se,inkIsDark:ke,size:Ne,sizePx:Ee,wordmark:le,siteName:L,fitToContainer:t})}),h=H("inline-flex shrink-0 items-center justify-center"),Q="flex min-w-0 flex-1 items-center overflow-x-clip [container-type:inline-size]";return s(I,{children:[r("header",{ref:b,"data-scrolled":q||void 0,...ze,className:["sf-site-header",...m?[m.className]:[],K==="none"?"absolute":"fixed","inset-x-0 top-0 z-50","flex items-center","px-[var(--sf-site-gutter,40px)] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))]",E?"border-b border-line backdrop-blur-md":"border-b border-transparent","transition-[background,border-color,transform] duration-300 ease-out"].join(" "),style:{...m?m.style:null,minHeight:bt,...He?{transform:"translateY(-100%)"}:null,...E?{background:Y,color:"var(--fg)","--sf-header-ground":Y}:{color:"var(--sf-header-overlay-fg)","--sf-header-ground":"var(--sf-header-overlay-ground)"}},children:s("div",{className:"w-full",style:De,children:[Pe?s("div",{className:`${S.grid} grid-cols-[1fr_auto_1fr] items-center gap-8`,children:[i==="right"?r("nav",{className:`${l} flex items-center gap-8`,children:u}):r("div",{className:"flex items-center",children:h}),r("nav",{className:`${l} flex items-center justify-center gap-8`,children:a.map((e,t)=>d(e,`${e.href}-${t}`,"center"))}),i==="right"?r("div",{className:"flex items-center justify-end",children:h}):r("nav",{className:`${l} flex items-center justify-end gap-8`,children:u})]}):i==="center"?s("div",{className:`${S.grid} grid-cols-[1fr_auto_1fr] items-center gap-8`,children:[r("nav",{className:`${l} flex items-center gap-8`,children:Ge.map((e,t)=>d(e,`${e.href}-${t}`))}),h,s("nav",{className:`${l} flex items-center justify-end gap-8`,children:[We.map((e,t)=>d(e,`${e.href}-${t}`,"end")),u]})]}):Ie?s("div",{className:`${S.flex} items-center justify-between gap-8`,children:[s("div",{className:"flex items-center gap-8",style:$e,children:[h,r("nav",{className:`${l} flex items-center gap-8`,children:a.map((e,t)=>d(e,`${e.href}-${t}`))})]}),r("nav",{className:`${l} flex items-center justify-end gap-8`,children:u})]}):r("div",{className:`${S.flex} items-center justify-between gap-8`,children:i==="right"?s(I,{children:[s("nav",{className:`${l} flex items-center gap-8`,children:[a.map((e,t)=>d(e,`${e.href}-${t}`)),u]}),h]}):s(I,{children:[h,s("nav",{className:`${l} flex items-center gap-8`,children:[a.map((e,t)=>d(e,`${e.href}-${t}`)),u]})]})}),!U&&s("div",{className:"hidden min-[801px]:max-[1500px]:flex flex-col gap-3",children:[s("div",{className:"flex items-center justify-between",children:[H(Q,!0),s("div",{className:`${l} flex shrink-0 items-center gap-5`,children:[P,x,y,D,R()]})]}),r("nav",{className:`${l} flex items-center gap-6 border-t border-line/60 pt-3`,children:a.map((e,t)=>d(e,`${e.href}-${t}`))})]}),s("div",{className:"hidden max-[800px]:flex items-center justify-between",children:[H(Q,!0),s("div",{className:"flex shrink-0 items-center gap-4",children:[P,D,R(l),Fe&&s("button",{type:"button","aria-label":c?"Close menu":"Open menu","aria-expanded":c,onClick:()=>w(e=>!e),className:"flex h-11 w-11 flex-col items-center justify-center gap-2",children:[r("span",{className:`block h-px w-5 bg-current transition-transform ${c?"translate-y-[3px] rotate-45":""}`}),r("span",{className:`block h-px w-5 bg-current transition-transform ${c?"opacity-0":""}`}),r("span",{className:`block h-px w-5 bg-current transition-transform ${c?"-translate-y-[3px] -rotate-45":""}`})]})]})]})]})}),c&&s("div",{className:"fixed inset-x-0 top-0 bottom-0 z-40 hidden overflow-y-auto max-[800px]:flex max-[800px]:flex-col max-[800px]:gap-8 max-[800px]:bg-bg max-[800px]:px-6 max-[800px]:pt-24 max-[800px]:pb-10",children:[a.map((e,t)=>r(ne,{item:e,mobile:!0,onNavigate:()=>w(!1)},`${e.href}-${t}`)),s("div",{className:"mt-auto flex flex-col gap-4 border-t border-line pt-6",children:[v&&_&&s("div",{className:"flex items-center justify-between",children:[r("span",{className:"mono-eyebrow text-fg-dim",children:"Account"}),r(te,{href:"/account",onClick:()=>w(!1),className:"mono-eyebrow underline",children:"Your account"})]}),x&&V&&s("div",{className:"flex items-center justify-between",children:[r("span",{className:"mono-eyebrow text-fg-dim",children:"Region"}),x]}),y&&s("div",{className:"flex items-center justify-between",children:[r("span",{className:"mono-eyebrow text-fg-dim",children:"Theme"}),y]})]})]})]})}export{kt as default};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
export type HeaderNavigationItem = {
|
|
3
|
+
href: string;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
plainLabel: string;
|
|
6
|
+
dropdownItems: {
|
|
7
|
+
href: string;
|
|
8
|
+
label: ReactNode;
|
|
9
|
+
plainLabel: string;
|
|
10
|
+
}[];
|
|
11
|
+
};
|
|
12
|
+
export default function HeaderNavItem({ item, mobile, onNavigate, dropdownAlign, }: {
|
|
13
|
+
item: HeaderNavigationItem;
|
|
14
|
+
mobile?: boolean;
|
|
15
|
+
onNavigate?: () => void;
|
|
16
|
+
dropdownAlign?: "start" | "center" | "end";
|
|
17
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as n,jsxs as d}from"react/jsx-runtime";import l from"next/link";import{useEffect as w,useId as N,useRef as m,useState as k}from"react";import{isLabelOnlyMenuUrl as p}from"../lib/menu-link.js";function $({item:s,mobile:a=!1,onNavigate:x,dropdownAlign:h="start"}){const[r,i]=k(!1),f=N(),c=m(null),b=m(null),g=s.dropdownItems.length>0,u=!p(s.href);w(()=>{if(!r)return;const e=c.current?.ownerDocument??document,t=y=>{c.current?.contains(y.target)||i(!1)};return e.addEventListener("pointerdown",t),()=>e.removeEventListener("pointerdown",t)},[r]);const o=()=>{i(!1),x?.()};if(!g)return u?n(l,{href:s.href,onClick:o,className:a?"flex min-h-11 items-center font-display text-3xl focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent":"whitespace-nowrap opacity-80 transition-opacity hover:opacity-100 focus-visible:rounded-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent",children:s.label}):n("span",{className:a?"flex min-h-11 items-center font-display text-3xl":"whitespace-nowrap opacity-80",children:s.label});const v=n("button",{ref:b,type:"button","aria-label":`${r?"Close":"Open"} ${s.plainLabel} menu`,"aria-expanded":r,"aria-controls":f,onClick:()=>i(e=>!e),className:a?"flex h-11 w-11 shrink-0 items-center justify-center rounded-full focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent":"flex h-8 w-8 shrink-0 items-center justify-center rounded-full opacity-70 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent",children:n("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5","aria-hidden":"true",className:`transition-transform ${r?"rotate-180":""}`,children:n("path",{d:"m3 5 4 4 4-4"})})});return a?d("div",{ref:c,children:[d("div",{className:"flex min-h-11 items-center justify-between gap-3",children:[u?n(l,{href:s.href,onClick:o,className:"min-w-0 flex-1 font-display text-3xl focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent",children:s.label}):n("span",{className:"min-w-0 flex-1 font-display text-3xl",children:s.label}),v]}),r?n("div",{id:f,className:"mt-3 flex flex-col border-l border-line pl-5",children:s.dropdownItems.map((e,t)=>p(e.href)?n("span",{className:"flex min-h-11 items-center text-base opacity-80",children:e.label},`${e.href}-${t}`):n(l,{href:e.href,onClick:o,className:"flex min-h-11 items-center text-base opacity-80 transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent",children:e.label},`${e.href}-${t}`))}):null]}):d("div",{ref:c,className:"relative flex items-center whitespace-nowrap",onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),onBlurCapture:e=>{e.currentTarget.contains(e.relatedTarget)||i(!1)},onKeyDown:e=>{e.key==="Escape"&&(i(!1),b.current?.focus())},children:[u?n(l,{href:s.href,onClick:o,onFocus:()=>i(!0),className:"opacity-80 transition-opacity hover:opacity-100 focus-visible:rounded-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent",children:s.label}):n("span",{className:"opacity-80",children:s.label}),v,r?n("div",{id:f,className:`absolute top-full z-[60] w-72 pt-3 text-fg ${h==="end"?"right-0":h==="center"?"left-1/2 -translate-x-1/2":"left-0"}`,children:n("div",{className:"overflow-hidden rounded-lg border border-line bg-bg p-2 shadow-xl",children:s.dropdownItems.map((e,t)=>p(e.href)?n("span",{className:"flex min-h-11 items-center rounded-md px-4 py-2 text-sm opacity-80",children:e.label},`${e.href}-${t}`):n(l,{href:e.href,onClick:o,className:"flex min-h-11 items-center rounded-md px-4 py-2 text-sm opacity-80 transition-[background,opacity] hover:bg-[var(--card-bg)] hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent",children:e.label},`${e.href}-${t}`))})}):null]})}export{$ as default};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CountryShowAs } from "../lib/content/country-show-as.js";
|
|
2
|
+
export type ToolStyle = "icon" | "text";
|
|
3
|
+
export declare function SearchTool({ style, editing }: {
|
|
4
|
+
style?: ToolStyle;
|
|
5
|
+
editing?: boolean;
|
|
6
|
+
}): import("react").JSX.Element;
|
|
7
|
+
export declare function CartTool({ style, editing }: {
|
|
8
|
+
style?: ToolStyle;
|
|
9
|
+
editing?: boolean;
|
|
10
|
+
}): import("react").JSX.Element | null;
|
|
11
|
+
export declare function AccountTool({ style }: {
|
|
12
|
+
style?: ToolStyle;
|
|
13
|
+
}): import("react").JSX.Element | null;
|
|
14
|
+
export declare function ThemeSwitchTool(): import("react").JSX.Element | null;
|
|
15
|
+
export declare function CountrySwitchTool({ editing, showAs, }: {
|
|
16
|
+
editing?: boolean;
|
|
17
|
+
showAs?: CountryShowAs;
|
|
18
|
+
}): import("react").JSX.Element | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as o}from"react/jsx-runtime";import{useCart as c}from"./CartContext.js";import u,{useCountrySelectShows as i}from"./CountrySelect.js";import{AccountButton as a,CartButton as m,SearchButton as h}from"./HeaderTools.js";import f from"./ThemeToggle.js";import{useOfferToPhoneMenu as r}from"efficient-web-builder/render/components/PhoneMenuTools";import{useSearch as p}from"./SearchContext.js";import{useSiteSells as s,useSiteThemeSwitchShown as d}from"./SiteRecordContext.js";import{say as x}from"efficient-web-builder/format/lib/editor-words";function j({style:e="icon",editing:t=!1}){const{open:n}=p();return r("search"),o("span",{"data-phone-menu-tool":"search",className:"contents",children:o(h,{onClick:t?void 0:n,asText:e==="text"})})}function k({style:e="icon",editing:t=!1}){const{open:n,totals:l}=c();return s()?o(m,{onClick:t?()=>{}:n,count:l.sets,asText:e==="text"}):null}function v({style:e="icon"}){const t=s();return r(t?"account":null),t?o(a,{asText:e==="text"}):null}function M(){const e=d();return r(e?"theme":null),e?o("span",{"data-phone-menu-tool":"theme",className:"contents",children:o(f,{})}):null}function O({editing:e=!1,showAs:t}){const n=i();return r(n?"region":null),n?o("span",{"data-phone-menu-tool":"region",className:"contents",children:o(u,{showAs:t})}):e?o("div",{"data-country-placeholder":"",className:"rounded border border-dashed border-line px-3 py-2 text-[13px] text-fg-dim",children:x("No regions yet")}):null}export{v as AccountTool,k as CartTool,O as CountrySwitchTool,j as SearchTool,M as ThemeSwitchTool};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const UTIL_WORDS: {
|
|
2
|
+
readonly search: "Search";
|
|
3
|
+
readonly account: "Account";
|
|
4
|
+
readonly cart: "Bag";
|
|
5
|
+
};
|
|
6
|
+
export declare const UTIL_WORD_CLASS = "whitespace-nowrap";
|
|
7
|
+
export declare function CartButton({ onClick, count, asText, className, }: {
|
|
8
|
+
onClick: () => void;
|
|
9
|
+
count: number;
|
|
10
|
+
asText?: boolean;
|
|
11
|
+
className?: string;
|
|
12
|
+
}): import("react").JSX.Element;
|
|
13
|
+
export declare function AccountButton({ asText, className }: {
|
|
14
|
+
asText?: boolean;
|
|
15
|
+
className?: string;
|
|
16
|
+
}): import("react").JSX.Element;
|
|
17
|
+
export declare function SearchButton({ onClick, asText, className, }: {
|
|
18
|
+
onClick?: () => void;
|
|
19
|
+
asText?: boolean;
|
|
20
|
+
className?: string;
|
|
21
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as r,jsxs as a}from"react/jsx-runtime";import d from"next/link";import{useEffect as h,useRef as l}from"react";import{CART_GLYPH as p}from"efficient-web-builder/render/components/cartGlyph";import m from"efficient-easel/screen/components/UiIcon";const i={search:"Search",account:"Account",cart:"Bag"},o="whitespace-nowrap";function f(t){return t>99?"99+":String(t)}function x({count:t,ref:e}){return r("span",{ref:e,"data-cart-badge":"","aria-hidden":"true",className:"pointer-events-none absolute -top-[7px] -right-[9px] inline-flex h-4 min-w-4 items-center justify-center rounded-full bg-current px-1 text-[10px] leading-none font-semibold tabular-nums",style:{letterSpacing:0},children:r("span",{style:{color:"var(--sf-header-ground, var(--bg))"},children:f(t)})})}function v({onClick:t,count:e,asText:n,className:u}){const c=l(null),s=l(e);return h(()=>{s.current!==e&&(s.current=e,!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&c.current?.animate([{transform:"scale(0.6)"},{transform:"scale(1)"}],{duration:180,easing:"ease-out"}))},[e]),r("button",{type:"button",onClick:t,"aria-label":`Open cart, ${e} item${e===1?"":"s"}`,className:`mono-eyebrow-ctl inline-flex items-center gap-2 opacity-80 transition-opacity hover:opacity-100 ${u??""}`,children:n?a("span",{className:o,children:[i.cart,e>0?` ${e}`:""]}):a("span",{className:"relative inline-flex",children:[r("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:p}),e>0?r(x,{count:e,ref:c}):null]})})}function L({asText:t,className:e}){return r(d,{href:"/account","aria-label":"Account",className:`mono-eyebrow-ctl inline-flex items-center opacity-80 transition-opacity hover:opacity-100 ${e??""}`,children:t?r("span",{className:o,children:i.account}):a("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[r("circle",{cx:"12",cy:"8",r:"3.4"}),r("path",{d:"M5 20a7 7 0 0 1 14 0"})]})})}function S({onClick:t,asText:e,className:n}){return r("button",{type:"button",onClick:t,"aria-label":"Search",title:"Search (⌘K)",className:`mono-eyebrow-ctl inline-flex items-center opacity-80 transition-opacity hover:opacity-100 ${n??""}`,children:e?r("span",{className:o,children:i.search}):r(m,{name:"search",size:18,strokeWidth:1.6,rounded:!0})})}export{L as AccountButton,v as CartButton,S as SearchButton,i as UTIL_WORDS,o as UTIL_WORD_CLASS};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as e,Fragment as s,jsxs as t}from"react/jsx-runtime";import{readHidable as l}from"efficient-easel/screen/lib/puck/hidable";import{useSiteCopyright as p}from"./SiteRecordContext.js";import{useConsentControls as c}from"./ConsentContext.js";import{CONSENT_TEXT_BUTTON as d}from"./ConsentBanner.js";function m({copyright:i}={}){const o=p(),r=l(i),a=r.hidden?null:r.text.trim()||o,n=c();return t("div",{className:"flex flex-wrap justify-between gap-x-6 gap-y-3 border-t border-line pt-6 font-mono text-[13px] uppercase tracking-[0.15em] text-fg-dim max-[800px]:flex-col max-[800px]:gap-3",children:[a!==null&&e("span",{children:a}),t("span",{className:"flex flex-wrap items-center gap-3 min-[801px]:ml-auto",children:[e("span",{children:"Privacy"}),e("span",{"aria-hidden":!0,children:"·"}),e("span",{children:"Terms"}),e("span",{"aria-hidden":!0,children:"·"}),e("span",{children:"Cookies"}),n?.ready&&t(s,{children:[e("span",{"aria-hidden":!0,children:"·"}),e("button",{type:"button",className:`${d} text-left`,onClick:n.openPanel,children:n.rule.footerLink})]})]})]})}export{m as default};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type CSSProperties, type ReactNode } from "react";
|
|
2
|
+
export declare const LIGHTBOX_HOST_SELECTOR = ".sf-themed-content";
|
|
3
|
+
export interface LightboxProps {
|
|
4
|
+
open: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
label: string;
|
|
7
|
+
onPrev?: () => void;
|
|
8
|
+
onNext?: () => void;
|
|
9
|
+
className?: string;
|
|
10
|
+
style?: CSSProperties;
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export default function Lightbox({ open, onClose, label, onPrev, onNext, className, style, children }: LightboxProps): import("react").JSX.Element | null;
|
|
14
|
+
export declare function LightboxClose({ className, style, label, children, }: {
|
|
15
|
+
className?: string;
|
|
16
|
+
style?: CSSProperties;
|
|
17
|
+
label?: string;
|
|
18
|
+
children?: ReactNode;
|
|
19
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as y,Fragment as N,jsxs as O}from"react/jsx-runtime";import{createContext as j,useContext as R,useEffect as K,useLayoutEffect as P,useRef as x,useState as H}from"react";import{createPortal as I}from"react-dom";const F=".sf-themed-content",S="sf-section-accent";function V(o,r){const s={};let c=!1;const l=[];for(let e=o;e&&e!==r;e=e.parentElement)l.push(e);for(const e of l.reverse()){e.classList.contains(S)&&(c=!0);const a=e.style;if(a)for(let h=0;h<a.length;h+=1){const f=a.item(h);f.startsWith("--")&&(s[f]=a.getPropertyValue(f))}}return{className:c?`contents ${S}`:"contents",style:s}}function $(o){const r=o.querySelectorAll("a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex='-1'])");return Array.from(r).filter(s=>!s.hasAttribute("hidden")&&s.getAttribute("aria-hidden")!=="true")}const _=j(()=>{});function q({open:o,onClose:r,label:s,onPrev:c,onNext:l,className:e="",style:a,children:h}){const f=x(null),p=x(null),[m,g]=H(null);P(()=>{if(!o){g(null);return}const t=f.current;if(!t)return;const i=t.closest(F)??t.ownerDocument.body;g({host:i,theme:V(t,i)})},[o]);const b=x({onClose:r,onPrev:c,onNext:l});b.current={onClose:r,onPrev:c,onNext:l};const w=o&&m!==null;return K(()=>{if(!w)return;const t=p.current,i=t?.ownerDocument??document,v=i.activeElement;t?.focus();const E=n=>{if(n.key==="Escape")b.current.onClose();else if(n.key==="ArrowLeft")b.current.onPrev?.();else if(n.key==="ArrowRight")b.current.onNext?.();else if(n.key==="Tab"&&t){const u=$(t);if(u.length===0){n.preventDefault(),t.focus();return}const C=u[0],L=u[u.length-1],d=i.activeElement,T=!!d&&t.contains(d)&&d!==t;if(n.shiftKey&&(!T||d===C))n.preventDefault(),L.focus();else if(!n.shiftKey&&(!T||d===L))n.preventDefault(),C.focus();else{n.preventDefault();const A=u.indexOf(d);u[n.shiftKey?A-1:A+1]?.focus()}}},k=i.defaultView??window;k.addEventListener("keydown",E);const D=i.body.style.overflow;return i.body.style.overflow="hidden",()=>{k.removeEventListener("keydown",E),i.body.style.overflow=D,v&&v.isConnected&&v.focus()}},[w]),o?O(N,{children:[y("span",{ref:f,hidden:!0}),m&&I(y("div",{className:m.theme.className,style:m.theme.style,children:y("div",{ref:p,role:"dialog","aria-modal":"true","aria-label":s,tabIndex:-1,onClick:r,className:`fixed inset-0 z-(--sf-layer-lightbox) outline-none ${e}`,style:a,children:y(_.Provider,{value:r,children:h})})}),m.host)]}):null}function M({className:o="absolute right-5 top-5 flex h-10 w-10 cursor-pointer items-center justify-center border border-fg-dim/40 text-fg-dim transition-colors hover:border-accent hover:text-accent",style:r,label:s="Close",children:c="×"}){const l=R(_);return y("button",{type:"button","aria-label":s,onClick:e=>{e.stopPropagation(),l()},className:o,style:r,children:c})}export{F as LIGHTBOX_HOST_SELECTOR,M as LightboxClose,q as default};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { HeroPricePlacement } from "../lib/sections/hero-price-placement.js";
|
|
2
|
+
import type { HeroLayout, HeroTextAlign } from "../lib/sections/hero-arrangement.js";
|
|
3
|
+
import type { HeroGalleryMode, HeroImageFit } from "../lib/sections/hero-gallery.js";
|
|
4
|
+
import { type Tyre, type Wheel } from "../lib/api/index.js";
|
|
5
|
+
export type LinkedHeroRecord = {
|
|
6
|
+
kind: "wheel";
|
|
7
|
+
wheel: Wheel;
|
|
8
|
+
} | {
|
|
9
|
+
kind: "tyre";
|
|
10
|
+
tyre: Tyre;
|
|
11
|
+
};
|
|
12
|
+
interface HeroArrangement {
|
|
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 LinkedProductHero({ slug, kind, editing, pricePlacement, showVehicleFitment, ...arrangement }: {
|
|
22
|
+
slug: string;
|
|
23
|
+
kind?: "wheel" | "tyre";
|
|
24
|
+
editing?: boolean;
|
|
25
|
+
pricePlacement?: HeroPricePlacement;
|
|
26
|
+
showVehicleFitment?: boolean;
|
|
27
|
+
} & HeroArrangement): import("react").JSX.Element;
|
|
28
|
+
export declare function LinkedHeroLoaded({ record, editing, pricePlacement, showVehicleFitment, ...arrangement }: {
|
|
29
|
+
record: LinkedHeroRecord;
|
|
30
|
+
editing?: boolean;
|
|
31
|
+
pricePlacement?: HeroPricePlacement;
|
|
32
|
+
showVehicleFitment?: boolean;
|
|
33
|
+
} & HeroArrangement): import("react").JSX.Element;
|
|
34
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as i,Fragment as x,jsxs as g}from"react/jsx-runtime";import{useEffect as L,useState as f}from"react";import P from"./ProductHeroPanel.js";import y from"./ProductLightbox.js";import a from"./SectionNotice.js";import{useLightbox as w}from"./useLightbox.js";import{useProductSelection as b}from"./useProductSelection.js";import{fromTyre as j}from"../lib/catalog/from-tyre.js";import{fromWheel as k}from"../lib/catalog/from-wheel.js";import{products as h}from"../lib/api/index.js";function F({slug:e,kind:r="wheel",editing:l=!1,pricePlacement:s,showVehicleFitment:m=!0,...n}){const[c,t]=f(null),[p,u]=f(!1);return L(()=>{let d=!1;return t(null),u(!1),(r==="tyre"?h.getTyre(e).then(o=>({kind:"tyre",tyre:o})):h.getWheel(e).then(o=>({kind:"wheel",wheel:o}))).then(o=>{d||t(o)}).catch(()=>{d||u(!0)}),()=>{d=!0}},[e,r]),p?i(a,{size:"tall",children:"Couldn’t load this product."}):c?i(H,{record:c,editing:l,pricePlacement:s,showVehicleFitment:m,...n}):i(a,{size:"tall",children:"Loading product…"})}function H({record:e,editing:r=!1,pricePlacement:l,showVehicleFitment:s=!0,...m}){const n=e.kind==="tyre"?j(e.tyre):k(e.wheel),c=b(n,{editing:r}),t=w();return g(x,{children:[i(P,{product:n,selection:c,onLightbox:t.open,editing:r,pricePlacement:l,showVehicleFitment:s,...m}),i(y,{item:t.item,onClose:t.close})]})}export{H as LinkedHeroLoaded,F as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as i}from"react/jsx-runtime";import{useMemo as s}from"react";import{SiteMapsProvider as u}from"efficient-web-builder/render/lib/maps-config";function m({apiKey:e,mapId:r,children:o}){const t=s(()=>({apiKey:e,setApiKey:()=>{},mapId:r}),[e,r]);return i(u,{value:t,children:o})}export{m as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function MenuPlaceholderLabel(): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{MENU_PLACEHOLDER_LABEL as o}from"../lib/content/menu-placeholder.js";import{say as a}from"efficient-web-builder/format/lib/editor-words";function e(){return r("span",{className:"opacity-50",children:a(o)})}export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as t}from"react/jsx-runtime";import r from"./SectionFootnote.js";import{useNoCurrencyNoteOwner as n}from"./EditorCurrencyNoticeContext.js";import{say as e}from"efficient-web-builder/format/lib/editor-words";const s="This website has no currency yet. Add one in {place} and these cards will price. Only you can see this line.";function i({editing:o}){return n(o)?t(r,{text:e(s,{place:e("Settings")})}):null}export{s as NO_CURRENCY_NOTE,i as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useState as u}from"react";import v from"./EmailCaptureForm.js";import{usePreOrderIntent as k}from"./usePreOrderIntent.js";import{sizePairLabel as c}from"../lib/wheels/plp-filters.js";function y({wheel:a,editing:b=!1}){const r=a.sizePairs??[],[n,x]=u(r.length>0?0:-1),[l,f]=u(""),{status:o,submit:g,reset:d}=k(),s=n>=0?r[n]??null:null;function h(){g({productSlug:a.slug,size:s,email:l,dryRun:b})}return t("div",{className:"flex flex-col gap-5 border-t border-line pt-5",children:[t("div",{className:"border-2 border-accent/40 px-4 py-4 font-mono text-[12px] leading-relaxed tracking-[0.08em] text-fg",style:{background:"color-mix(in oklab, var(--accent) 6%, transparent)"},children:[e("span",{className:"font-bold uppercase tracking-[0.2em] text-accent",children:"Pre-order"})," ","— this design isn't available to add to cart right now. Leave your email to pre-order it. No payment is taken now."]}),r.length>0&&t("div",{children:[t("div",{className:"mb-4 font-mono text-[13px] font-semibold uppercase tracking-[0.22em] text-fg",children:["Size ·"," ",e("span",{className:"text-accent",children:s?c(s):"Select a size"})]}),e("div",{className:"flex flex-wrap gap-2",children:r.map((p,m)=>{const i=m===n;return t("button",{type:"button",onClick:()=>{x(m),o==="sent"&&d()},className:["relative cursor-pointer border-2 px-4 py-3 text-left font-mono uppercase transition-colors",i?"border-accent text-fg outline outline-1 outline-accent -outline-offset-1":"border-fg-dim/50 text-fg hover:border-accent"].join(" "),style:i?{background:"color-mix(in oklab, var(--accent) 14%, transparent)"}:void 0,children:[i&&e("span",{"aria-hidden":!0,className:"absolute inset-y-0 left-0 w-[3px] bg-accent"}),e("span",{className:"block text-[14px] tracking-[0.18em]",children:c(p)})]},c(p))})})]}),o==="sent"?t("p",{className:"font-mono text-[12px] uppercase tracking-[0.18em] text-accent",children:["Thanks — we've registered your pre-order for the ",a.name,"."]}):e(v,{email:l,onEmailChange:f,status:o,onResetVerdict:d,onSubmit:h,inputAriaLabel:"Email to pre-order this design",submitLabel:"Pre-order",buttonClassName:"cursor-pointer whitespace-nowrap border-2 border-btn bg-btn px-6 font-mono text-[12px] font-bold uppercase tracking-[0.22em] text-btn-ink transition-colors hover:bg-fg hover:border-fg disabled:cursor-not-allowed disabled:opacity-50",errorMessage:"Couldn't register that — please try again."})]})}export{y as default};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type MenuIdentity } from "../lib/menu-source.js";
|
|
3
|
+
type Ctx = {
|
|
4
|
+
live: MenuIdentity;
|
|
5
|
+
ready: boolean;
|
|
6
|
+
primeLive: (live: MenuIdentity) => void;
|
|
7
|
+
setLive: (live: MenuIdentity) => void;
|
|
8
|
+
};
|
|
9
|
+
export declare function PreviewMenusProvider({ children }: {
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
}): import("react").JSX.Element;
|
|
12
|
+
export declare const usePreviewMenus: () => Ctx;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as l}from"react/jsx-runtime";import{createContext as m,useCallback as n,useContext as d,useMemo as x,useState as f}from"react";import{NO_MENUS as a}from"../lib/menu-source.js";const u=m({live:a,ready:!1,primeLive:()=>{},setLive:()=>{}});function P({children:v}){const[t,r]=f({live:a,ready:!1}),s=n(e=>r(i=>i.ready?i:{live:e,ready:!0}),[]),o=n(e=>r({live:e,ready:!0}),[]),c=x(()=>({...t,primeLive:s,setLive:o}),[t,s,o]);return l(u.Provider,{value:c,children:v})}const C=()=>d(u);export{P as PreviewMenusProvider,C as usePreviewMenus};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as r,Fragment as le,jsxs as me}from"react/jsx-runtime";import pe from"next/image";import{useMemo as ue,useState as fe}from"react";import{formatSelectionPrice as he,formatWheelPrice as ge,FROM_PREFIX as Se,resolveSelectionPrice as be,formatWheelWasPrice as Ce,resolveWheelPrice as we,SET_QUOTE_LABEL as ve}from"../lib/wheels/price-display.js";import{setBuildLabel as Fe,setIsWide as Pe,setSecondSrc as xe,summarySetBuild as Ee,wheelCardPriceLine as u}from"../lib/wheels/set-mode.js";import{wheelCardSpecFacts as Be}from"../lib/wheels/plp-fitment-match.js";import{isRenderableFinish as Ie}from"../lib/wheels/renderable-finishes.js";import{CARD_INDEX_BADGE_CLASS as ye,CARD_INDEX_CLASS as Le}from"efficient-web-builder/format/lib/sections/product-card-style";import{coverSrcForWheel as We,resolvePaintedSrc as _e}from"../lib/wheels/cover-rendering.js";import{useCurrency as ke}from"./CurrencyContext.js";import{applyCardAnswers as $e}from"../lib/content/field-usage.js";import{wheelCardEyebrow as Ae,withSetChip as ze}from"./ProductCardEyebrow.js";import Re from"./FinishSwatches.js";import{useFinishSelection as je}from"./useFinishSelection.js";import{withRMark as _}from"efficient-web-builder/render/components/RMark";import De from"./WheelPlaceholder.js";import{useProductCardChrome as Ne}from"./ProductCardChrome.js";import{usePlpCardSelection as He}from"./wheels-plp/usePlpCardSelection.js";import{useWheelCardBottom as Me}from"./wheels-plp/useWheelCardBottom.js";import Oe,{cardSpecFields as Xe,WheelCardBadge as k,WheelCardCorners as Te}from"./WheelCardFrame.js";function Ue({wheel:e,variant:f="compact",defaultFinish:$}){const i=f==="catalog",h=ue(()=>e.finishes.filter(Ie),[e.finishes]),A=e.coverImage??null,{currency:s}=ke(),{imageBackgroundFill:z,spinOnHover:R,coverIndex:j,indexBadge:g,outline:D,showBadge:N,fieldUsage:S,reserveEyebrow:H,showCardPrice:M,showCardFinishes:b,showCardSizes:O,showCardBuy:C,showCardPage:w,imageSizes:X}=Ne(),c=i&&(C||w),d=we(e.prices[s],e.msrpPrices?.[s]),v=ge(d,s,Se),T=Ce(d,s),F=Ee(e),t=Pe(F),P=Fe(F),U=$e(Be(e,null,{sizes:O}),S).map(o=>o.text),{selectedIdx:G,setSelectedIdx:Q,hoverIdx:V,setHoverIdx:q,availability:J,finish:n,shownSrc:x,showSwatches:K,probes:Y}=je(h,A,$??e.defaultFinish??void 0),Z=We(e,j,n?.name,x),ee="h-full w-full",oe=R?`transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)] ${i?"group-hover:rotate-[72deg]":"group-hover:rotate-[60deg]"}`:"",[E,re]=fe(()=>new Set),se=o=>re(a=>a.has(o)?a:new Set(a).add(o)),l=_e({overrideSrc:Z,hookSrc:x,failed:E}),B=(o,a)=>r(pe,{src:o,alt:a,width:1e3,height:1e3,sizes:X,className:`block object-contain ${oe} ${ee}`,draggable:!1,onError:()=>se(o)},o),I=n?`${e.name} — ${n.name}`:e.name,te=l?B(l,I):r(De,{imageLabel:e.name}),m=t?xe(e.finishes?.find(o=>o.name===n?.name),l):null,ie=m&&!E.has(m)?B(m,`${I} — right`):void 0,ne=i?r(Te,{set:t,numbered:g!=="off",right:[P?r(k,{tone:"outline",children:P}):N&&e.badge?r(k,{tone:e.badge==="new"?"solid":"outline",children:e.badge==="new"?"New":"Bestseller"}):null]}):null,y=Ae({kindLabel:null,brand:null,process:e.process?_(e.process):null},S),ae=t&&!i?ze(y):y,ce=g!=="off"?r("span",{"aria-hidden":!0,className:`${Le} ${ye}`}):null,L=He(e),p=be(e,L.selectedVariant,s,1),W=Me({wheel:e,sel:L,price:p,show:{buy:c&&C,page:c&&w}}),de=b&&K?r(Re,{finishes:h,availability:J,selectedIdx:G,hoverIdx:V,activeFinish:n,onSelect:Q,onHover:q,showLabel:!1}):null;return me(le,{children:[r(Oe,{variant:f,wide:t&&i,href:`/wheels/${e.slug}`,outline:D,imageBackgroundFill:z,probes:Y,reserveEyebrow:H,indexBadge:ce,badges:ne,image:te,imageSecond:ie,eyebrow:ae,name:_(e.name),spec:Xe(U),was:t?void 0:T,price:t?d.priced?u(v,!0):ve:c?u(he(p,s),p.priced):u(v,d.priced),swatches:de,reserveSwatches:b,showPrice:M,identityLink:c,wholeCardLink:!0,actions:W.actions}),W.dialog]})}export{Ue as default};
|