efficient-storefront-blocks 0.66.3 → 0.70.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +45 -0
- package/README.md +5 -5
- package/dist/chunks/{EditorPreviewCheckout-B43B3UMG.js → EditorPreviewCheckout-XI4VULPL.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-KOPR3UDU.js → SiteEditorProvider-3GKJZDL5.js} +1 -1
- package/dist/chunks/{chunk-2YMPFJUY.js → chunk-QWHNN7GF.js} +1 -1
- package/dist/chunks/chunk-RPLNV3WM.js +1 -0
- package/dist/chunks/{chunk-IHYVLVY3.js → chunk-SQH6XBRG.js} +1 -1
- package/dist/chunks/{chunk-6TBRERLY.js → chunk-TXTTPEQA.js} +1 -1
- package/dist/chunks/chunk-XF2ZAVNU.js +262 -0
- package/dist/chunks/{fitment-data-SK4TTJRK.js → fitment-data-6GK7QQQI.js} +1 -1
- package/dist/contract.js +10 -2
- package/dist/editor/components/BlogSource.js +1 -1
- package/dist/editor/components/ConsentBannerLayoutTiles.d.ts +1 -1
- package/dist/editor/components/HeaderSection.js +1 -1
- package/dist/editor/components/HeaderSettingsPanel.d.ts +4 -7
- package/dist/editor/components/HeaderSettingsPanel.js +1 -1
- package/dist/editor/components/PreviewProductPicker.js +1 -1
- package/dist/editor/components/SocialLinksDoor.js +1 -1
- package/dist/editor/components/SwitchToBoxHeader.js +1 -1
- package/dist/editor/lib/api/section-templates.d.ts +1 -1
- package/dist/editor/lib/{puck → document}/blocks/commerce/AccountBlock/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/AccountBlock/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/AlloyWheelsListing/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/BundleOffer/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/BundleOffer/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/CartBlock/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/CartBlock/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/CatalogFilterBar/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/CatalogFilterBar/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/CheckoutCTA/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/CheckoutCTA/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/CollectionCard/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/CollectionCard/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/Collections/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/Collections/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/CompatibleTyres/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/CompatibleTyres/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/CountrySwitchBlock/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/DeliveryOptions/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/DeliveryOptions/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/DetailRows/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/DetailRows/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/EuTyreLabel/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/EuTyreLabel/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/fields.d.ts +1 -1
- package/dist/editor/lib/{puck → document}/blocks/commerce/FitmentFinder/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/FitmentFinder/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/FitmentTable/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/FitmentTable/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/Gallery/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/Gallery/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/GalleryB/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryB/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/GalleryItem/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryItem/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/Header/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductGallery/fields.d.ts +6 -0
- package/dist/editor/lib/document/blocks/commerce/ProductGallery/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/ProductGrid/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductGrid/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/ProductHero/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductHero/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/ProductRef/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductRef/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/RelatedProducts/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/RelatedProducts/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/SearchBlock/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/SearchBlock/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/SpecTable/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/SpecTable/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/fields.d.ts +1 -1
- package/dist/editor/lib/{puck → document}/blocks/commerce/TyreFitment/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/TyreFitment/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/TyreSizes/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/TyreSizes/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/controls.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/controls.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/index.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/commerce/page-rules.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/page-rules.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/AppointmentBooking/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/AppointmentBooking/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/BookingBox/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/BookingBox/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/ContactRouting/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/ContactRouting/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/Events/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/Events/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/Footer/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/Footer/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterDivider/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterDivider/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterEmailSignup/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterEmailSignup/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterGroup/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterGroup/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterLogo/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterLogo/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterMenu/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterMenu/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterSocial/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterSocial/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/FooterText/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/FooterText/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/Form/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/Form/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/LegalLineBlock/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/LegalLineBlock/fields.js +1 -0
- package/dist/editor/lib/document/blocks/service/OpeningHours/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/service/OpeningHours/fields.js +1 -0
- package/dist/editor/lib/document/blocks/service/RateTable/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/service/RateTable/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/RatingBlock/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/RatingBlock/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/ReviewForm/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/ReviewForm/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/Reviews/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/Reviews/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/SiteFooter/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/SiteFooter/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/SiteHeader/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/SiteHeader/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/SubmitBox/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/SubmitBox/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/SubmitBuild/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/SubmitBuild/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/Subscribe/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/Subscribe/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/SubscribeBlogs/fields.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/SubscribeBlogs/fields.js +1 -0
- package/dist/editor/lib/{puck → document}/blocks/service/controls.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/index.d.ts +1 -0
- package/dist/editor/lib/document/blocks/service/index.js +1 -0
- package/dist/editor/lib/{puck → document}/box-header-for-site.d.ts +1 -1
- package/dist/editor/lib/{puck → document}/box-header.d.ts +1 -1
- package/dist/editor/lib/document/box-header.js +1 -0
- package/dist/editor/lib/document/config.d.ts +69 -0
- package/dist/editor/lib/document/config.js +1 -0
- package/dist/editor/lib/efficient-backend.js +1 -1
- package/dist/editor/lib/efficient-block-sources.js +1 -1
- package/dist/editor/lib/storefront-editor-words.d.ts +21 -5
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/editor/lib/storefront-editor.js +1 -1
- package/dist/editor.css +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.js +223 -543
- package/dist/links.js +1 -1
- package/dist/render/app/globals.css +64 -36
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/AppointmentBooking.js +1 -1
- package/dist/render/components/BoxHeaderBar.js +1 -1
- package/dist/render/components/ChatLauncher.js +1 -1
- package/dist/render/components/CollectionCard.d.ts +1 -1
- package/dist/render/components/Collections.d.ts +1 -1
- package/dist/render/components/Collections.js +1 -1
- package/dist/render/components/ContactRouting.js +1 -1
- package/dist/render/components/GalleryCard.js +1 -1
- package/dist/render/components/Header.js +1 -1
- package/dist/render/components/LegalLine.d.ts +1 -1
- package/dist/render/components/LegalLine.js +1 -1
- package/dist/render/components/OpeningHours.d.ts +12 -0
- package/dist/render/components/OpeningHours.js +1 -0
- package/dist/render/components/ProductGridSection.js +1 -1
- package/dist/render/components/PublishedFooter.js +1 -1
- package/dist/render/components/PublishedHeader.js +1 -1
- package/dist/render/components/RateTable.d.ts +10 -0
- package/dist/render/components/RateTable.js +1 -0
- package/dist/render/components/SpecTablePartBridge.js +1 -1
- package/dist/render/components/fitment/PickerField.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.d.ts +1 -1
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.d.ts +6 -0
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicProductGallery.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicProductHero.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicSpecTable.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicTyreFitment.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -1
- package/dist/render/components/pdp-dynamic/FitmentTableBlock.js +1 -1
- package/dist/render/components/pdp-dynamic/KindGate.js +1 -1
- package/dist/render/components/pdp-dynamic/RecordPhotoGallery.d.ts +3 -2
- package/dist/render/components/pdp-dynamic/RecordPhotoGallery.js +1 -1
- package/dist/render/components/pdp-dynamic/useSampleProduct.js +1 -1
- package/dist/render/components/useHeaderBar.js +1 -1
- package/dist/render/lib/api/index.js +1 -1
- package/dist/render/lib/booking/text-kinds.js +1 -1
- package/dist/render/lib/content/header-bar.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/BundleOffer/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/BundleOffer/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/BundleOffer/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CartBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/CartBlock/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/CartBlock/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CatalogFilterBar/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/CatalogFilterBar/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/CatalogFilterBar/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CheckoutCTA/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/CheckoutCTA/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/CheckoutCTA/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CollectionCard/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/CollectionCard/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/CollectionCard/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/Collections/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/Collections/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/Collections/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CompatibleTyres/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/CompatibleTyres/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CompatibleTyres/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/CompatibleTyres/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/DeliveryOptions/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/DeliveryOptions/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/DeliveryOptions/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/DetailRows/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/DetailRows/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/DetailRows/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabel/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabel/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/EuTyreLabel/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/FitmentFinder/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentFinder/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/FitmentFinder/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentFinder/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/FitmentTable/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentTable/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/FitmentTable/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentTable/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/Gallery/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/Gallery/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/Gallery/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/Gallery/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/GalleryB/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/GalleryB/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/GalleryB/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/GalleryB/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/GalleryItem/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/GalleryItem/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/GalleryItem/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/Header/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/Header/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductGrid/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductGrid/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductGrid/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductHero/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductHero/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductHero/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/RelatedProducts/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/RelatedProducts/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/RelatedProducts/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/SearchBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/SearchBlock/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/SearchBlock/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/SpecTable/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/SpecTable/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/SpecTable/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/SpecTable/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/TyreFitment/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/TyreFitment/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/TyreFitment/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/TyreSizes/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/commerce/TyreSizes/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/TyreSizes/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/metas.d.ts +1 -1
- package/dist/render/lib/document/blocks/commerce/placeholders.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/commerce/renders.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/AppointmentBooking/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/AppointmentBooking/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/AppointmentBooking/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/BookingBox/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/BookingBox/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/BookingBox/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/ContactRouting/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/ContactRouting/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/ContactRouting/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/Events/meta.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/Events/meta.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/Events/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/Events/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/Footer/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/Footer/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/Footer/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterEmailSignup/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterEmailSignup/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/FooterEmailSignup/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/render.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/render.js +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterText/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/FooterText/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/FooterText/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/Form/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/Form/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/Form/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/OpeningHours/meta.d.ts +11 -0
- package/dist/render/lib/document/blocks/service/OpeningHours/meta.js +1 -0
- package/dist/render/lib/document/blocks/service/OpeningHours/render.d.ts +4 -0
- package/dist/render/lib/document/blocks/service/OpeningHours/render.js +1 -0
- package/dist/render/lib/document/blocks/service/RateTable/meta.d.ts +3 -0
- package/dist/render/lib/document/blocks/service/RateTable/meta.js +1 -0
- package/dist/render/lib/document/blocks/service/RateTable/render.d.ts +4 -0
- package/dist/render/lib/document/blocks/service/RateTable/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/RatingBlock/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/RatingBlock/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/RatingBlock/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/ReviewForm/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/ReviewForm/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/ReviewForm/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/Reviews/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/Reviews/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/Reviews/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/SiteFooter/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/SiteFooter/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/SiteFooter/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/SiteHeader/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/SiteHeader/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/SiteHeader/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/SubmitBox/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/SubmitBox/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/SubmitBox/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/SubmitBuild/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/SubmitBuild/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/SubmitBuild/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/Subscribe/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/Subscribe/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/Subscribe/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/SubscribeBlogs/meta.d.ts +1 -1
- package/dist/render/lib/{puck → document}/blocks/service/SubscribeBlogs/render.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/SubscribeBlogs/render.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/metas.d.ts +3 -1
- package/dist/render/lib/document/blocks/service/metas.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/renders.d.ts +3 -1
- package/dist/render/lib/document/blocks/service/renders.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/service/subscribe.d.ts +1 -1
- package/dist/render/lib/document/blocks/service/subscribe.js +1 -0
- package/dist/render/lib/{puck → document}/blocks/text-part-shapes.json +28 -0
- package/dist/render/lib/document/footer-page-blocks.js +1 -0
- package/dist/render/lib/{puck → document}/lazy-draws.d.ts +2 -2
- package/dist/render/lib/document/lazy-draws.js +1 -0
- package/dist/render/lib/document/preview-pick.js +1 -0
- package/dist/render/lib/document/render-client.js +1 -0
- package/dist/render/lib/document/render-config.js +1 -0
- package/dist/render/lib/{puck → document}/slot-seeds.d.ts +2 -2
- package/dist/render/lib/document/slot-seeds.js +1 -0
- package/dist/render/lib/{puck → document}/storefront-root.d.ts +1 -1
- package/dist/render/lib/document/storefront-root.js +1 -0
- package/dist/render/lib/document/subscribe-content-type.js +1 -0
- package/dist/render/lib/popup/text-kind-style.js +1 -1
- package/dist/render/lib/sections/opening-hours.d.ts +53 -0
- package/dist/render/lib/sections/opening-hours.js +1 -0
- package/dist/render/lib/sections/rate-table.d.ts +16 -0
- package/dist/render/lib/sections/rate-table.js +1 -0
- package/dist/render/lib/submit/text-kinds.js +1 -1
- package/dist/render/lib/wheels/catalog-default-layout.d.ts +1 -1
- package/dist/render/lib/wheels/catalog-default-layout.js +1 -1
- package/dist/words.d.ts +28 -10
- package/dist/words.js +5 -5
- package/package.json +4 -4
- package/dist/chunks/chunk-S66TL4Z3.js +0 -1
- package/dist/chunks/chunk-TAGGXC3A.js +0 -250
- package/dist/editor/lib/puck/blocks/commerce/AccountBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/AlloyWheelsListing/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/BundleOffer/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/CartBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/CatalogFilterBar/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/CheckoutCTA/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/CollectionCard/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/Collections/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/CompatibleTyres/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/CountrySwitchBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/DeliveryOptions/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/DetailRows/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/EuTyreLabel/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/FitmentFinder/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/FitmentTable/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/Gallery/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/GalleryB/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/GalleryItem/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/ProductGallery/fields.d.ts +0 -6
- package/dist/editor/lib/puck/blocks/commerce/ProductGallery/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/ProductGrid/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/ProductHero/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/ProductRef/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/RelatedProducts/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/SearchBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/SpecTable/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/TyreFitment/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/TyreSizes/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/controls.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/index.js +0 -1
- package/dist/editor/lib/puck/blocks/commerce/page-rules.js +0 -1
- package/dist/editor/lib/puck/blocks/service/AppointmentBooking/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/BookingBox/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/ContactRouting/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/Events/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/Footer/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterDivider/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterEmailSignup/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterGroup/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterLogo/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterMenu/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterSocial/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/FooterText/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/Form/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/LegalLineBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/RatingBlock/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/ReviewForm/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/Reviews/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/SiteFooter/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/SiteHeader/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/SubmitBox/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/SubmitBuild/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/Subscribe/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/SubscribeBlogs/fields.js +0 -1
- package/dist/editor/lib/puck/blocks/service/index.d.ts +0 -1
- package/dist/editor/lib/puck/blocks/service/index.js +0 -1
- package/dist/editor/lib/puck/box-header.js +0 -1
- package/dist/editor/lib/puck/config.d.ts +0 -69
- package/dist/editor/lib/puck/config.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/AlloyWheelsListing/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/BundleOffer/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/CartBlock/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/CatalogFilterBar/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/CheckoutCTA/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/CollectionCard/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/Collections/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/meta.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/CompatibleTyres/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/DeliveryOptions/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/DetailRows/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/EuTyreLabel/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/FitmentFinder/meta.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/FitmentFinder/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/FitmentTable/meta.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/FitmentTable/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/Gallery/meta.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/Gallery/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/GalleryB/meta.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/GalleryB/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/GalleryItem/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/ProductGrid/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/ProductHero/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/RelatedProducts/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/SearchBlock/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/SpecTable/meta.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/SpecTable/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/TyreFitment/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/TyreSizes/render.js +0 -1
- package/dist/render/lib/puck/blocks/commerce/placeholders.js +0 -1
- package/dist/render/lib/puck/blocks/service/AppointmentBooking/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/BookingBox/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/ContactRouting/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/Events/meta.js +0 -1
- package/dist/render/lib/puck/blocks/service/Events/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/FooterEmailSignup/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/FooterText/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/Form/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/RatingBlock/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/ReviewForm/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/Reviews/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/SiteFooter/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/SiteHeader/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/SubmitBox/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/SubmitBuild/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/Subscribe/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/SubscribeBlogs/render.js +0 -1
- package/dist/render/lib/puck/blocks/service/metas.js +0 -1
- package/dist/render/lib/puck/blocks/service/renders.js +0 -1
- package/dist/render/lib/puck/blocks/service/subscribe.js +0 -1
- package/dist/render/lib/puck/footer-page-blocks.js +0 -1
- package/dist/render/lib/puck/lazy-draws.js +0 -1
- package/dist/render/lib/puck/preview-pick.js +0 -1
- package/dist/render/lib/puck/render-client.js +0 -1
- package/dist/render/lib/puck/render-config.js +0 -1
- package/dist/render/lib/puck/slot-seeds.js +0 -1
- package/dist/render/lib/puck/storefront-root.js +0 -1
- package/dist/render/lib/puck/subscribe-content-type.js +0 -1
- /package/dist/chunks/{chunk-TAGGXC3A.js.LEGAL.txt → chunk-XF2ZAVNU.js.LEGAL.txt} +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/fields.js +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/commerce/Header/fields.js +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/fields.js +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/commerce/index.d.ts +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/commerce/shared-fields.d.ts +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/commerce/shared-fields.js +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/service/controls.js +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/service/placeholders.d.ts +0 -0
- /package/dist/editor/lib/{puck → document}/blocks/service/placeholders.js +0 -0
- /package/dist/editor/lib/{puck → document}/box-header-for-site.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/AccountBlock/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/AlloyWheelsListing/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/BundleOffer/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/CartBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/CatalogFilterBar/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/CheckoutCTA/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/CollectionCard/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/Collections/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/CountrySwitchBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/DeliveryOptions/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/DetailRows/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabel/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/EuTyreLabelBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/GalleryItem/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/Header/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/Header/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ProductGallery/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ProductGrid/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ProductHero/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ProductRef/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/RelatedProducts/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/SearchBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/ThemeSwitchBlock/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/TyreFitment/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/TyreSizes/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/metas.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/placeholders.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/blocks/commerce/renders.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/AppointmentBooking/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/BookingBox/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/ContactRouting/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/Footer/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterDivider/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterEmailSignup/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterGroup/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterLogo/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterMenu/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterSocial/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/FooterText/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/Form/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/LegalLineBlock/render.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/RatingBlock/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/ReviewForm/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/Reviews/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/SiteFooter/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/SiteHeader/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/SubmitBox/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/SubmitBuild/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/Subscribe/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/blocks/service/SubscribeBlogs/meta.js +0 -0
- /package/dist/render/lib/{puck → document}/current-product.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/current-product.js +0 -0
- /package/dist/render/lib/{puck → document}/current-record.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/current-record.js +0 -0
- /package/dist/render/lib/{puck → document}/fitment-table-dynamic.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/fitment-table-dynamic.js +0 -0
- /package/dist/render/lib/{puck → document}/footer-page-blocks.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/preview-pick.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/preview-product.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/preview-product.js +0 -0
- /package/dist/render/lib/{puck → document}/render-client.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/render-config.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/subscribe-content-type.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/template-product-kind.d.ts +0 -0
- /package/dist/render/lib/{puck → document}/template-product-kind.js +0 -0
package/dist/links.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var h={bold:{open:"**",close:"**",placeholder:"bold text"},italic:{open:"_",close:"_",placeholder:"italic text"},strike:{open:"~~",close:"~~",placeholder:"struck out"},code:{open:"`",close:"`",placeholder:"code"},highlight:{open:"==",close:"==",placeholder:"highlighted text"},quiet:{open:"^^",close:"^^",placeholder:"quiet text"},underline:{open:"[",close:"]{underline}",placeholder:"underlined text"},sup:{open:"[",close:"]{sup}",placeholder:"superscript"},sub:{open:"[",close:"]{sub}",placeholder:"subscript"}};var ze={bold:h.bold.placeholder,italic:h.italic.placeholder,strike:h.strike.placeholder,code:h.code.placeholder,highlight:h.highlight.placeholder,quiet:h.quiet.placeholder,link:"link text",underline:h.underline.placeholder,sup:h.sup.placeholder,sub:h.sub.placeholder,color:"colored text"};var Q=[{style:"bold",label:"B",name:"Strong",title:"Strong \xB7 **words** \xB7 \u2318B",shortcut:"b"},{style:"italic",label:"I",name:"Italic",title:"Italic \xB7 _words_ \xB7 \u2318I",shortcut:"i"},{style:"strike",label:"S",name:"Strikethrough",title:"Strikethrough \xB7 ~~words~~"},{style:"highlight",label:"\u25C6",name:"Emphasis",title:"Emphasis \xB7 ==words=="},{style:"quiet",label:"a",name:"Quiet",title:"Quiet \xB7 ^^words^^"},{style:"code",label:"\u2039\u203A",name:"Code",title:"Code"},{style:"link",label:"\u{1F517}",name:"Link",title:"Link \xB7 [words](https://\u2026) \xB7 \u2318K",shortcut:"k"},{style:"bullet",label:"\u2022",name:"Bulleted list",title:"Bulleted list"},{style:"number",label:"1.",name:"Numbered list",title:"Numbered list"},{style:"quote",label:"\u275D",name:"Quote",title:"Quote"},{style:"clear",label:"T\xD7",name:"Clear marks",title:"Clear marks \xB7 \u2318\u21E7X",shortcut:"shift+x"}];var x=[{open:"**",close:"**",kind:"bold"},{open:"==",close:"==",kind:"highlight"},{open:"~~",close:"~~",kind:"strike"},{open:"_",close:"_",kind:"italic",wordBoundary:!0},{open:"^^",close:"^^",kind:"quiet"},{open:"@@",close:"@@",kind:"highlight"},{open:"++",close:"++",kind:"bold",wordStart:!0}],X=["highlight","quiet"],Ue=Q.map(e=>e.style).filter(e=>x.some(n=>n.kind===e)).filter(e=>!X.includes(e)),De=[...x,{open:"*",close:"*",kind:"accent"}],$e=[...x,{open:"*",close:"*",kind:"accent"},{open:"#",close:"#",kind:"bold",notBefore:"0123456789"},{open:"[",close:"]",kind:"italic",notBefore:"(",notBeforeBlock:!0}];var Be=["http","https","mailto","tel"];function v(e){if(e===""||/[\s\u0000-\u001f\u007f]/.test(e))return!1;let n=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(e);return!n||Be.includes(n[1].toLowerCase())}var J=["width","profile","rim"];var We=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,Ge={width:[100,500],profile:[20,100],rim:[10,30]};function M(e){let n=We.exec(e??"");if(!n)return null;let t={width:Number(n[1]),profile:Number(n[2]),rim:Number(n[3])};return J.every(i=>{let[a,u]=Ge[i];return t[i]>=a&&t[i]<=u})?t:null}function L(e){if(e.width==null)return"";if(e.profile==null)return String(e.width);let n=`${e.width}/${e.profile}`;return e.rim==null?n:`${n} R${e.rim}`}function ee(e){return[L({width:e.width}),L({width:e.width,profile:e.profile}),L(e)]}var k=["alloy-wheel","tyre"],ne=["alloy-wheel"],w={"alloy-wheel":"Alloy wheels",tyre:"Tyres"};var Hn=k.map(e=>({value:e,label:w[e]}));function z(e){return e==null?[...ne]:Array.isArray(e)?k.filter(n=>e.includes(n)):[...ne]}var m=e=>e;function f(e){return m(e).kind==="tyre"?"tyre":"alloy-wheel"}function U(e){return m(e).brand??""}function te(e){return m(e).prices??void 0}function re(e){return m(e).inStock!==!1}function ie(e){let n=m(e),t=f(e)==="tyre"?n.rimDiameters:n.sizes;return Array.isArray(t)?t.filter(r=>typeof r=="number"&&Number.isFinite(r)):[]}function D(e){return f(e)==="tyre"?[]:(m(e).finishes??[]).filter(n=>typeof n?.family=="string").map(n=>({family:n.family,color:n.color??null}))}function oe(e){return D(e).map(n=>n.family)}function le(e){if(f(e)==="tyre")return[];let n=m(e),t=n.categories;return t&&t.length>0?t:n.process?[n.process]:[]}function se(e){return f(e)==="tyre"?[]:m(e).spec?.pcds??[]}function ae(e){return f(e)!=="tyre"?[]:m(e).tyreTypes??[]}function ue(e){return f(e)!=="tyre"?[]:m(e).speedRatings??[]}function ce(e){if(f(e)!=="tyre")return[];let n=m(e).sizes;return Array.isArray(n)?n.map(t=>M(typeof t=="string"?t:null)).filter(t=>t!==null):[]}var pe=null;function de(e,n){return n?e.replace(/\{([A-Za-z][A-Za-z0-9_]*)\}/g,(t,r)=>Object.prototype.hasOwnProperty.call(n,r)?String(n[r]):t):e}function y(e,n){let t=pe?pe[e]:void 0;if(typeof t=="function"){try{let r=t(n??{});if(typeof r=="string"&&r)return r}catch{}return de(e,n)}return de(typeof t=="string"&&t?t:e,n)}var fe="homepage";function me(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}var F=[{value:"page",label:"Page"},{value:"anchor",label:"Anchor"},{value:"blog",label:"Blog post",needs:"service"},{value:"product",label:"Product",needs:"commerce"},{value:"popup",label:"Popup"},{value:"custom",label:"Custom URL"}];function T(e){return e.offersCommerce&&e.offersService?F:F.filter(n=>!n.needs||(n.needs==="commerce"?e.offersCommerce:e.offersService))}var $="#popup:";function ge(e){return`${$}${e}`}function he(e){return e.startsWith($)&&e.slice($.length).trim()||null}function P(e){return e===fe?"/":`/${e}`}function _(e){return`/journal/${e}`}function A(e){return`/wheels/${e}`}function R(e,n){return`${P(e)}#${n}`}function B(e){return me(e)}function Ye(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}function E(...e){let n=new Set,t=[];for(let r of e)for(let i of r?.content??[]){let a=Ye(i?.props?.anchor);if(!a)continue;let u=B(a);!u||n.has(u)||(n.add(u),t.push({slug:u,name:a}))}return t}function ye(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}var qe=()=>({choosePage:y("Choose a page"),chooseSection:y("Choose a section"),noSections:y("No section anchors yet"),sectionHint:y("Jumps to a section on that page."),choosePost:y("Choose a post"),chooseProduct:y("Choose a product"),choosePopup:y("Choose a popup")});function I(e,n,t){if(!e)return"page";if(he(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(ye(e))return"product";if(e.includes("#")){let r=e.slice(0,e.indexOf("#"));if(r===""||r==="/"||n.includes(r))return"anchor"}return e==="/"||n.includes(e)||t&&t.listingPaths.includes(t.targetOf(e))?"page":"custom"}function Pe(e,n){let t=qe(),r=e.pages.map(l=>({value:P(l.slug),label:l.title})),i=n?.pageOptions?n.pageOptions(r):r,a=i.map(l=>l.value),u=e.pages.map(l=>({label:l.title,options:E(...l.docs).map(c=>({value:R(l.slug,c.slug),label:c.name}))})).filter(l=>l.options.length>0),p=l=>{switch(l){case"page":return{type:"select",options:i,placeholder:t.choosePage};case"anchor":return{type:"groups",groups:u,placeholder:u.length?t.chooseSection:t.noSections};case"blog":return{type:"select",options:e.posts.map(c=>({value:_(c.slug),label:c.title||c.slug})),placeholder:t.choosePost};case"product":return{type:"select",options:e.products.map(c=>({value:c.href,label:c.name||c.href})),placeholder:t.chooseProduct};case"popup":return{type:"select",options:(e.popups??[]).map(c=>({value:ge(c.slug),label:c.title||c.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},s=T(e.offers).map(l=>({value:l.value,label:y(l.label),target:p(l.value),...l.value==="anchor"?{hint:t.sectionHint}:{},...l.value==="blog"||l.value==="product"||l.value==="popup"?{hideWhenEmpty:!0}:{}}));if(!n)return{kinds:s,rules:{kindOf:l=>I(l,a),targetOf:l=>l,readFilter:()=>null,withFilter:l=>l}};let o=l=>{let c=n.withFilter(l,null);return n.listingPaths.includes(c)?c:l};return{kinds:s,rules:{kindOf:l=>I(l,a,{listingPaths:n.listingPaths,targetOf:o}),targetOf:o,readFilter:n.readFilter,withFilter:n.withFilter},filtersFor:l=>n.listingPaths.includes(l)?n.filtersFor(l):null}}function W(e,n){return e.length===0?e:e.filter(t=>t.kind===void 0||t.kind===n)}function be(e,n){let t=n==="filter"?"filterOrder":"cardOrder",r=new Map;for(let i of e){let a=i[t];if(typeof a!="number"||!Number.isFinite(a))continue;let u=r.get(i.fieldKey);(u===void 0||a<u)&&r.set(i.fieldKey,a)}return i=>i?r.get(i):void 0}function ke(e,n,t,r){let i=new Map;for(let s of t){let o=s[r];typeof o=="number"&&i.set(s.fieldKey,o)}if(i.size===0)return e;let a=[],u=[];e.forEach((s,o)=>{let l=n(s);l&&(a.push(o),u.push({item:s,index:o,order:i.get(l)}))}),u.sort((s,o)=>s.order!==void 0&&o.order!==void 0?s.order-o.order||s.index-o.index:s.order!==void 0?-1:o.order!==void 0?1:s.index-o.index);let p=[...e];return a.forEach((s,o)=>{p[s]=u[o].item}),p.every((s,o)=>s===e[o])?e:p}function Se(e){return je(e,"filter")}var He="collection";function G(e,n){return{tyreSizes:{},brands:{"alloy-wheel":"brand",tyre:"brand"},finishes:{"alloy-wheel":"wheel_finish_ref"},diameters:{"alloy-wheel":"diameter",tyre:"rim_diameter"},collections:{"alloy-wheel":He},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[n]}function je(e,n){let t=new Set(e.filter(r=>r[n]===!1).map(r=>r.fieldKey));return r=>!r||!t.has(r)}function Ze(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function xe(e,n){let t=e?.[n];return Ze(t)?t:null}function Le(e,n,t,r){if(t==null&&r==null)return!0;let i=xe(e,n);return!(i===null||t!=null&&i<t||r!=null&&i>r)}var Ve={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},_t=Object.keys(Ve);var we=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],Qe={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},Xe={diameters:"tyreSizes"};function Je(e){if(e.length===0)return[];let n=we.filter(t=>e.every(r=>Qe[t].includes(r)));return n.filter(t=>{let r=Xe[t];return!r||!n.includes(r)})}function en(e){let n=new Set;for(let t of e)n.add(f(t));return[...n]}var Fe={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function nn(e,n,t,r=null){if(r!=="kind"&&n.kind&&f(e)!==n.kind)return!1;for(let i of we){if(r===i)continue;let a=n[i];if(a.length===0)continue;let u=a.map(String);if(!Te(e,i).some(p=>u.includes(p)))return!1}return!(r!=="price"&&!Le(te(e),t,null,n.priceMax)||r!=="inStock"&&n.inStockOnly&&!re(e))}var tn={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function Te(e,n){switch(n){case"tyreSizes":return[...new Set(ce(e).flatMap(ee))];case"brands":return U(e)?[U(e)]:[];case"finishes":return oe(e);case"diameters":return ie(e).map(String);case"collections":return le(e);case"pcds":return se(e);case"tyreTypes":return ae(e);case"speedRatings":return ue(e)}}function rn(e){let n=new Map;for(let t of e)for(let r of D(t))r.color&&!n.has(r.family)&&n.set(r.family,r.color);return n}function _e(e,n,t,r=en(e),i=[]){let a=o=>ln(o,r,i),u=rn(e),p=Je(r).filter(o=>o!=="tyreSizes").filter(a).map(o=>{let l=n[o].map(String),c=new Set,N=new Map,S=new Map;for(let d of e){let b=Te(d,o);for(let g of b)c.add(g);for(let g of new Set(b))S.set(g,(S.get(g)??0)+1);if(nn(d,n,t,o))for(let g of new Set(b))N.set(g,(N.get(g)??0)+1)}let Me=[...c].map(d=>({value:d,label:o==="diameters"?`${d}\u2033`:d,count:N.get(d)??0,checked:l.includes(d),swatch:o==="finishes"?u.get(d)??null:null})).sort((d,b)=>{if(o==="diameters")return Number(d.value)-Number(b.value);let g=(S.get(b.value)??0)-(S.get(d.value)??0);return g!==0?g:d.value.localeCompare(b.value)});return{key:o,label:tn[o],options:Me}}).filter(o=>o.options.length>on),s=[];for(let o of p){let l=sn(o.key,r,i);l!==void 0&&s.push({fieldKey:o.key,filterOrder:l})}return[...ke(p,o=>o.key,s,"filterOrder")]}var on=1;function Ae(e){return e.showCollection===!1?["collections"]:[]}function ln(e,n,t){return n.length===0||t.length===0?!0:n.some(r=>Se(W(t,r))(G(e,r)))}function sn(e,n,t){if(t.length===0)return;let r;for(let i of n){let a=be(W(t,i),"filter")(G(e,i));a!==void 0&&(r===void 0||a<r)&&(r=a)}return r}var Y={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},q="type";var Re="AlloyWheelsListing";function Ee(e){return v(e.trim())}var C="/wheels",K="Products";function Ie(e,n){return n>1?`${K} \xB7 ${e}`:K}function H(...e){for(let n of e){let t=(n?.content??[]).find(r=>r?.type===Re);if(t)return t.props??{}}return null}function O(...e){return H(...e)!==null}function Ce(e,n){let t=e.filter(r=>O(...r.docs)).map(r=>P(r.slug));return t.length===0&&n.fallback?[C]:t}var j=[q,...Object.entries(Y).filter(([e])=>e!=="tyreSizes").map(([,e])=>e)];function Ke(e){let n=e.indexOf("#"),t=n===-1?"":e.slice(n),r=n===-1?e:e.slice(0,n),i=r.indexOf("?");return{path:i===-1?r:r.slice(0,i),query:i===-1?"":r.slice(i+1),hash:t}}function an(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function Oe(e){let n=new URLSearchParams(Ke(e).query);for(let t of j){let r=n.get(t);if(r)return{param:t,value:r}}return null}function Z(e,n){let{path:t,query:r,hash:i}=Ke(e),a=r.split("&").filter(u=>u&&!j.includes(an(u.split("=")[0])));return n?.value&&a.push(`${encodeURIComponent(n.param)}=${encodeURIComponent(n.value)}`),`${t}${a.length?`?${a.join("&")}`:""}${i}`}function Ne(e,n){let t=Z(e,null);return n.includes(t)?t:e}function un(e,n,t=[]){return I(e,n,{listingPaths:t,targetOf:r=>Ne(r,t)})}function cn(e){return Array.isArray(e)?e.filter(n=>typeof n?.kind=="string"&&typeof n.field_key=="string").map(n=>({kind:n.kind,fieldKey:n.field_key,...typeof n.filter=="boolean"?{filter:n.filter}:{},filterOrder:n.filter_order??null})):[]}var ve="Product type",pn="AUD";function V(e,n){let t=n.listing??{},r=z(t.kinds),i=e.filter(s=>r.includes(f(s))),a=Ae(t),u=_e(i,Fe,pn,r,n.fieldUsage).filter(s=>!a.includes(s.key)).map(s=>({param:Y[s.key],label:s.label,values:s.options.filter(o=>!o.value.includes(",")).map(o=>({value:o.value,label:o.label}))})).filter(s=>s.values.length>0),p=k.filter(s=>r.includes(s)&&i.some(o=>f(o)===s));return p.length>1&&u.unshift({param:q,label:ve,values:p.map(s=>({value:s,label:w[s]}))}),u}function dn(e){return n=>{let t=Ce(n,{fallback:e.offersCommerce}),r=n.filter(i=>O(...i.docs)).length;return{listingPaths:t,pageOptions:i=>{let a=i.map(u=>{let p=n.find(s=>P(s.slug)===u.value);return p&&O(...p.docs)?{...u,label:Ie(p.title,r)}:u});return r===0&&e.offersCommerce&&!a.some(u=>u.value===C)&&a.push({value:C,label:K}),a},filtersFor:i=>{if(!t.includes(i))return null;let a=n.find(u=>P(u.slug)===i);return V(e.catalogue,{listing:a?H(...a.docs):null,fieldUsage:e.fieldUsage})},readFilter:Oe,withFilter:Z}}}function fn(e){let n=dn({catalogue:e.catalogue,fieldUsage:e.fieldUsage,offersCommerce:e.offers.offersCommerce})(e.pages),t=Pe({pages:e.pages,posts:e.posts,products:e.products.map(r=>({href:A(r.slug),name:r.name||r.slug})),offers:e.offers},n);return{...t,rules:{...t.rules,isSafe:Ee},filtersFor:t.filtersFor??(()=>null)}}function Yt(e,n){return V(e,n)}export{C as BUILT_IN_LISTING_PATH,F as LINK_KINDS,j as LISTING_FILTER_PARAMS,K as LISTING_PAGE_LABEL,ve as PRODUCT_TYPE_FILTER_LABEL,R as anchorPath,cn as fieldUsageFromAdminRows,un as inferLinkKind,O as isProductListingPage,Ee as isSafeLink,T as linkKindsFor,fn as linkPickerSetup,Yt as listingFilterFields,H as listingNode,Ie as listingPageLabel,Ne as listingTarget,E as pageAnchors,P as pagePath,_ as postPath,Ce as productListingPaths,Oe as readListingFilter,B as slugifyAnchor,A as wheelPath,Z as withListingFilter};
|
|
1
|
+
var h={bold:{open:"**",close:"**",placeholder:"bold text"},italic:{open:"_",close:"_",placeholder:"italic text"},strike:{open:"~~",close:"~~",placeholder:"struck out"},code:{open:"`",close:"`",placeholder:"code"},highlight:{open:"==",close:"==",placeholder:"highlighted text"},quiet:{open:"^^",close:"^^",placeholder:"quiet text"},underline:{open:"[",close:"]{underline}",placeholder:"underlined text"},sup:{open:"[",close:"]{sup}",placeholder:"superscript"},sub:{open:"[",close:"]{sub}",placeholder:"subscript"}};var ze={bold:h.bold.placeholder,italic:h.italic.placeholder,strike:h.strike.placeholder,code:h.code.placeholder,highlight:h.highlight.placeholder,quiet:h.quiet.placeholder,link:"link text",underline:h.underline.placeholder,sup:h.sup.placeholder,sub:h.sub.placeholder,color:"colored text"};var Q=[{style:"bold",label:"B",name:"Strong",title:"Strong \xB7 **words** \xB7 \u2318B",shortcut:"b"},{style:"italic",label:"I",name:"Italic",title:"Italic \xB7 _words_ \xB7 \u2318I",shortcut:"i"},{style:"strike",label:"S",name:"Strikethrough",title:"Strikethrough \xB7 ~~words~~"},{style:"highlight",label:"\u25C6",name:"Emphasis",title:"Emphasis \xB7 ==words=="},{style:"quiet",label:"a",name:"Quiet",title:"Quiet \xB7 ^^words^^"},{style:"code",label:"\u2039\u203A",name:"Code",title:"Code"},{style:"link",label:"\u{1F517}",name:"Link",title:"Link \xB7 [words](https://\u2026) \xB7 \u2318K",shortcut:"k"},{style:"bullet",label:"\u2022",name:"Bulleted list",title:"Bulleted list"},{style:"number",label:"1.",name:"Numbered list",title:"Numbered list"},{style:"quote",label:"\u275D",name:"Quote",title:"Quote"},{style:"clear",label:"T\xD7",name:"Clear marks",title:"Clear marks \xB7 \u2318\u21E7X",shortcut:"shift+x"}];var x=[{open:"**",close:"**",kind:"bold"},{open:"==",close:"==",kind:"highlight"},{open:"~~",close:"~~",kind:"strike"},{open:"_",close:"_",kind:"italic",wordBoundary:!0},{open:"^^",close:"^^",kind:"quiet"},{open:"@@",close:"@@",kind:"highlight"},{open:"++",close:"++",kind:"bold",wordStart:!0}],X=["highlight","quiet"],Ue=Q.map(e=>e.style).filter(e=>x.some(n=>n.kind===e)).filter(e=>!X.includes(e)),De=[...x,{open:"*",close:"*",kind:"accent"}],$e=[...x,{open:"*",close:"*",kind:"accent"},{open:"#",close:"#",kind:"bold",notBefore:"0123456789"},{open:"[",close:"]",kind:"italic",notBefore:"(",notBeforeBlock:!0}];var Be=["http","https","mailto","tel"];function v(e){if(e===""||/[\s\u0000-\u001f\u007f]/.test(e))return!1;let n=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(e);return!n||Be.includes(n[1].toLowerCase())}var J=["width","profile","rim"];var We=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,Ge={width:[100,500],profile:[20,100],rim:[10,30]};function M(e){let n=We.exec(e??"");if(!n)return null;let t={width:Number(n[1]),profile:Number(n[2]),rim:Number(n[3])};return J.every(i=>{let[a,u]=Ge[i];return t[i]>=a&&t[i]<=u})?t:null}function L(e){if(e.width==null)return"";if(e.profile==null)return String(e.width);let n=`${e.width}/${e.profile}`;return e.rim==null?n:`${n} R${e.rim}`}function ee(e){return[L({width:e.width}),L({width:e.width,profile:e.profile}),L(e)]}var S=["alloy-wheel","tyre"],ne=["alloy-wheel"],w={"alloy-wheel":"Alloy wheels",tyre:"Tyres"};var Hn=S.map(e=>({value:e,label:w[e]}));function z(e){return e==null?[...ne]:Array.isArray(e)?S.filter(n=>e.includes(n)):[...ne]}var m=e=>e;function f(e){return m(e).kind==="tyre"?"tyre":"alloy-wheel"}function U(e){return m(e).brand??""}function te(e){return m(e).prices??void 0}function re(e){return m(e).inStock!==!1}function ie(e){let n=m(e),t=f(e)==="tyre"?n.rimDiameters:n.sizes;return Array.isArray(t)?t.filter(r=>typeof r=="number"&&Number.isFinite(r)):[]}function D(e){return f(e)==="tyre"?[]:(m(e).finishes??[]).filter(n=>typeof n?.family=="string").map(n=>({family:n.family,color:n.color??null}))}function oe(e){return D(e).map(n=>n.family)}function le(e){if(f(e)==="tyre")return[];let n=m(e),t=n.categories;return t&&t.length>0?t:n.process?[n.process]:[]}function se(e){return f(e)==="tyre"?[]:m(e).spec?.pcds??[]}function ae(e){return f(e)!=="tyre"?[]:m(e).tyreTypes??[]}function ue(e){return f(e)!=="tyre"?[]:m(e).speedRatings??[]}function ce(e){if(f(e)!=="tyre")return[];let n=m(e).sizes;return Array.isArray(n)?n.map(t=>M(typeof t=="string"?t:null)).filter(t=>t!==null):[]}var pe=null;function de(e,n){return n?e.replace(/\{([A-Za-z][A-Za-z0-9_]*)\}/g,(t,r)=>Object.prototype.hasOwnProperty.call(n,r)?String(n[r]):t):e}function y(e,n){let t=pe?pe[e]:void 0;if(typeof t=="function"){try{let r=t(n??{});if(typeof r=="string"&&r)return r}catch{}return de(e,n)}return de(typeof t=="string"&&t?t:e,n)}var fe="homepage";function me(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}var F=[{value:"page",label:"Page"},{value:"anchor",label:"Anchor"},{value:"blog",label:"Blog post",needs:"service"},{value:"product",label:"Product",needs:"commerce"},{value:"popup",label:"Popup"},{value:"custom",label:"Custom URL"}];function T(e){return e.offersCommerce&&e.offersService?F:F.filter(n=>!n.needs||(n.needs==="commerce"?e.offersCommerce:e.offersService))}var $="#popup:";function ge(e){return`${$}${e}`}function he(e){return e.startsWith($)&&e.slice($.length).trim()||null}function P(e){return e===fe?"/":`/${e}`}function _(e){return`/journal/${e}`}function A(e){return`/wheels/${e}`}function R(e,n){return`${P(e)}#${n}`}function B(e){return me(e)}function Ye(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}function E(...e){let n=new Set,t=[];for(let r of e)for(let i of r?.content??[]){let a=Ye(i?.props?.anchor);if(!a)continue;let u=B(a);!u||n.has(u)||(n.add(u),t.push({slug:u,name:a}))}return t}function ye(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}var qe=()=>({choosePage:y("Choose a page"),chooseSection:y("Choose a section"),noSections:y("No section anchors yet"),sectionHint:y("Jumps to a section on that page."),choosePost:y("Choose a post"),chooseProduct:y("Choose a product"),choosePopup:y("Choose a popup")});function I(e,n,t){if(!e)return"page";if(he(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(ye(e))return"product";if(e.includes("#")){let r=e.slice(0,e.indexOf("#"));if(r===""||r==="/"||n.includes(r))return"anchor"}return e==="/"||n.includes(e)||t&&t.listingPaths.includes(t.targetOf(e))?"page":"custom"}function Pe(e,n){let t=qe(),r=e.pages.map(l=>({value:P(l.slug),label:l.title})),i=n?.pageOptions?n.pageOptions(r):r,a=i.map(l=>l.value),u=e.pages.map(l=>({label:l.title,options:E(...l.docs).map(c=>({value:R(l.slug,c.slug),label:c.name}))})).filter(l=>l.options.length>0),p=l=>{switch(l){case"page":return{type:"select",options:i,placeholder:t.choosePage};case"anchor":return{type:"groups",groups:u,placeholder:u.length?t.chooseSection:t.noSections};case"blog":return{type:"select",options:e.posts.map(c=>({value:_(c.slug),label:c.title||c.slug})),placeholder:t.choosePost};case"product":return{type:"select",options:e.products.map(c=>({value:c.href,label:c.name||c.href})),placeholder:t.chooseProduct};case"popup":return{type:"select",options:(e.popups??[]).map(c=>({value:ge(c.slug),label:c.title||c.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},s=T(e.offers).map(l=>({value:l.value,label:y(l.label),target:p(l.value),...l.value==="anchor"?{hint:t.sectionHint}:{},...l.value==="blog"||l.value==="product"||l.value==="popup"?{hideWhenEmpty:!0}:{}}));if(!n)return{kinds:s,rules:{kindOf:l=>I(l,a),targetOf:l=>l,readFilter:()=>null,withFilter:l=>l}};let o=l=>{let c=n.withFilter(l,null);return n.listingPaths.includes(c)?c:l};return{kinds:s,rules:{kindOf:l=>I(l,a,{listingPaths:n.listingPaths,targetOf:o}),targetOf:o,readFilter:n.readFilter,withFilter:n.withFilter},filtersFor:l=>n.listingPaths.includes(l)?n.filtersFor(l):null}}function W(e,n){return e.length===0?e:e.filter(t=>t.kind===void 0||t.kind===n)}function be(e,n){let t=n==="filter"?"filterOrder":"cardOrder",r=new Map;for(let i of e){let a=i[t];if(typeof a!="number"||!Number.isFinite(a))continue;let u=r.get(i.fieldKey);(u===void 0||a<u)&&r.set(i.fieldKey,a)}return i=>i?r.get(i):void 0}function Se(e,n,t,r){let i=new Map;for(let s of t){let o=s[r];typeof o=="number"&&i.set(s.fieldKey,o)}if(i.size===0)return e;let a=[],u=[];e.forEach((s,o)=>{let l=n(s);l&&(a.push(o),u.push({item:s,index:o,order:i.get(l)}))}),u.sort((s,o)=>s.order!==void 0&&o.order!==void 0?s.order-o.order||s.index-o.index:s.order!==void 0?-1:o.order!==void 0?1:s.index-o.index);let p=[...e];return a.forEach((s,o)=>{p[s]=u[o].item}),p.every((s,o)=>s===e[o])?e:p}function ke(e){return je(e,"filter")}var He="collection";function G(e,n){return{tyreSizes:{},brands:{"alloy-wheel":"brand",tyre:"brand"},finishes:{"alloy-wheel":"wheel_finish_ref"},diameters:{"alloy-wheel":"diameter",tyre:"rim_diameter"},collections:{"alloy-wheel":He},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[n]}function je(e,n){let t=new Set(e.filter(r=>r[n]===!1).map(r=>r.fieldKey));return r=>!r||!t.has(r)}function Ze(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function xe(e,n){let t=e?.[n];return Ze(t)?t:null}function Le(e,n,t,r){if(t==null&&r==null)return!0;let i=xe(e,n);return!(i===null||t!=null&&i<t||r!=null&&i>r)}var Ve={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},_t=Object.keys(Ve);var we=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],Qe={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},Xe={diameters:"tyreSizes"};function Je(e){if(e.length===0)return[];let n=we.filter(t=>e.every(r=>Qe[t].includes(r)));return n.filter(t=>{let r=Xe[t];return!r||!n.includes(r)})}function en(e){let n=new Set;for(let t of e)n.add(f(t));return[...n]}var Fe={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function nn(e,n,t,r=null){if(r!=="kind"&&n.kind&&f(e)!==n.kind)return!1;for(let i of we){if(r===i)continue;let a=n[i];if(a.length===0)continue;let u=a.map(String);if(!Te(e,i).some(p=>u.includes(p)))return!1}return!(r!=="price"&&!Le(te(e),t,null,n.priceMax)||r!=="inStock"&&n.inStockOnly&&!re(e))}var tn={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function Te(e,n){switch(n){case"tyreSizes":return[...new Set(ce(e).flatMap(ee))];case"brands":return U(e)?[U(e)]:[];case"finishes":return oe(e);case"diameters":return ie(e).map(String);case"collections":return le(e);case"pcds":return se(e);case"tyreTypes":return ae(e);case"speedRatings":return ue(e)}}function rn(e){let n=new Map;for(let t of e)for(let r of D(t))r.color&&!n.has(r.family)&&n.set(r.family,r.color);return n}function _e(e,n,t,r=en(e),i=[]){let a=o=>ln(o,r,i),u=rn(e),p=Je(r).filter(o=>o!=="tyreSizes").filter(a).map(o=>{let l=n[o].map(String),c=new Set,N=new Map,k=new Map;for(let d of e){let b=Te(d,o);for(let g of b)c.add(g);for(let g of new Set(b))k.set(g,(k.get(g)??0)+1);if(nn(d,n,t,o))for(let g of new Set(b))N.set(g,(N.get(g)??0)+1)}let Me=[...c].map(d=>({value:d,label:o==="diameters"?`${d}\u2033`:d,count:N.get(d)??0,checked:l.includes(d),swatch:o==="finishes"?u.get(d)??null:null})).sort((d,b)=>{if(o==="diameters")return Number(d.value)-Number(b.value);let g=(k.get(b.value)??0)-(k.get(d.value)??0);return g!==0?g:d.value.localeCompare(b.value)});return{key:o,label:tn[o],options:Me}}).filter(o=>o.options.length>on),s=[];for(let o of p){let l=sn(o.key,r,i);l!==void 0&&s.push({fieldKey:o.key,filterOrder:l})}return[...Se(p,o=>o.key,s,"filterOrder")]}var on=1;function Ae(e){return e.showCollection===!1?["collections"]:[]}function ln(e,n,t){return n.length===0||t.length===0?!0:n.some(r=>ke(W(t,r))(G(e,r)))}function sn(e,n,t){if(t.length===0)return;let r;for(let i of n){let a=be(W(t,i),"filter")(G(e,i));a!==void 0&&(r===void 0||a<r)&&(r=a)}return r}var Y={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},q="type";var Re="AlloyWheelsListing";function Ee(e){return v(e.trim())}var C="/wheels",K="Products";function Ie(e,n){return n>1?`${K} \xB7 ${e}`:K}function H(...e){for(let n of e){let t=(n?.content??[]).find(r=>r?.type===Re);if(t)return t.props??{}}return null}function O(...e){return H(...e)!==null}function Ce(e,n){let t=e.filter(r=>O(...r.docs)).map(r=>P(r.slug));return t.length===0&&n.fallback?[C]:t}var j=[q,...Object.entries(Y).filter(([e])=>e!=="tyreSizes").map(([,e])=>e)];function Ke(e){let n=e.indexOf("#"),t=n===-1?"":e.slice(n),r=n===-1?e:e.slice(0,n),i=r.indexOf("?");return{path:i===-1?r:r.slice(0,i),query:i===-1?"":r.slice(i+1),hash:t}}function an(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function Oe(e){let n=new URLSearchParams(Ke(e).query);for(let t of j){let r=n.get(t);if(r)return{param:t,value:r}}return null}function Z(e,n){let{path:t,query:r,hash:i}=Ke(e),a=r.split("&").filter(u=>u&&!j.includes(an(u.split("=")[0])));return n?.value&&a.push(`${encodeURIComponent(n.param)}=${encodeURIComponent(n.value)}`),`${t}${a.length?`?${a.join("&")}`:""}${i}`}function Ne(e,n){let t=Z(e,null);return n.includes(t)?t:e}function un(e,n,t=[]){return I(e,n,{listingPaths:t,targetOf:r=>Ne(r,t)})}function cn(e){return Array.isArray(e)?e.filter(n=>typeof n?.kind=="string"&&typeof n.field_key=="string").map(n=>({kind:n.kind,fieldKey:n.field_key,...typeof n.filter=="boolean"?{filter:n.filter}:{},filterOrder:n.filter_order??null})):[]}var ve="Product type",pn="AUD";function V(e,n){let t=n.listing??{},r=z(t.kinds),i=e.filter(s=>r.includes(f(s))),a=Ae(t),u=_e(i,Fe,pn,r,n.fieldUsage).filter(s=>!a.includes(s.key)).map(s=>({param:Y[s.key],label:s.label,values:s.options.filter(o=>!o.value.includes(",")).map(o=>({value:o.value,label:o.label}))})).filter(s=>s.values.length>0),p=S.filter(s=>r.includes(s)&&i.some(o=>f(o)===s));return p.length>1&&u.unshift({param:q,label:ve,values:p.map(s=>({value:s,label:w[s]}))}),u}function dn(e){return n=>{let t=Ce(n,{fallback:e.offersCommerce}),r=n.filter(i=>O(...i.docs)).length;return{listingPaths:t,pageOptions:i=>{let a=i.map(u=>{let p=n.find(s=>P(s.slug)===u.value);return p&&O(...p.docs)?{...u,label:Ie(p.title,r)}:u});return r===0&&e.offersCommerce&&!a.some(u=>u.value===C)&&a.push({value:C,label:K}),a},filtersFor:i=>{if(!t.includes(i))return null;let a=n.find(u=>P(u.slug)===i);return V(e.catalogue,{listing:a?H(...a.docs):null,fieldUsage:e.fieldUsage})},readFilter:Oe,withFilter:Z}}}function fn(e){let n=dn({catalogue:e.catalogue,fieldUsage:e.fieldUsage,offersCommerce:e.offers.offersCommerce})(e.pages),t=Pe({pages:e.pages,posts:e.posts,products:e.products.map(r=>({href:A(r.slug),name:r.name||r.slug})),offers:e.offers},n);return{...t,rules:{...t.rules,isSafe:Ee},filtersFor:t.filtersFor??(()=>null)}}function Yt(e,n){return V(e,n)}export{C as BUILT_IN_LISTING_PATH,F as LINK_KINDS,j as LISTING_FILTER_PARAMS,K as LISTING_PAGE_LABEL,ve as PRODUCT_TYPE_FILTER_LABEL,R as anchorPath,cn as fieldUsageFromAdminRows,un as inferLinkKind,O as isProductListingPage,Ee as isSafeLink,T as linkKindsFor,fn as linkPickerSetup,Yt as listingFilterFields,H as listingNode,Ie as listingPageLabel,Ne as listingTarget,E as pageAnchors,P as pagePath,_ as postPath,Ce as productListingPaths,Oe as readListingFilter,B as slugifyAnchor,A as wheelPath,Z as withListingFilter};
|
|
@@ -197,7 +197,7 @@
|
|
|
197
197
|
to the site's built-in next/font face, so an un-themed page is
|
|
198
198
|
unchanged. The editor's "Fonts" control (Website settings)
|
|
199
199
|
overrides these tokens on the SITE-WIDE accent carrier — see
|
|
200
|
-
fontRoleStyle() in lib/fonts.ts and root.render in lib/
|
|
200
|
+
fontRoleStyle() in lib/fonts.ts and root.render in lib/document/config
|
|
201
201
|
— so picking a font re-sets every section AND the header/footer
|
|
202
202
|
chrome around them without touching the loaded @font-face vars.
|
|
203
203
|
Published on <main> alone until card 8824, which is why a themed
|
|
@@ -336,7 +336,7 @@
|
|
|
336
336
|
|
|
337
337
|
/* Colour-Theme content text. themeColorStyle() sets --theme-fg on the page
|
|
338
338
|
CONTENT wrapper (the live <main> in LayoutChrome, the editor preview body in
|
|
339
|
-
lib/
|
|
339
|
+
lib/document/config) — the merchant's per-site text colour. Mapped onto --fg in
|
|
340
340
|
EVERY mode: a theme is one flat palette (66238), so the preset states one ink
|
|
341
341
|
and it paints wherever the theme paints.
|
|
342
342
|
|
|
@@ -743,7 +743,7 @@
|
|
|
743
743
|
Corners`): this card's own answer, then the section's, then the site's, then
|
|
744
744
|
square. `--sf-card-box-radius` is published ONLY by a card that has been given
|
|
745
745
|
a number of its own, on a `display: contents` carrier the injection pass in
|
|
746
|
-
lib/
|
|
746
|
+
lib/document/config.tsx wraps it in — so a card nobody has touched declares
|
|
747
747
|
nothing, falls straight through to `--sf-card-radius` and renders exactly as
|
|
748
748
|
it did before this rule grew a level. lib/content/card-corners.ts says why the
|
|
749
749
|
card tier needs a name of its own rather than overriding the inherited token.
|
|
@@ -900,7 +900,7 @@
|
|
|
900
900
|
inline style cannot reach the part's line breaks, so these rules do. The gap
|
|
901
901
|
goes after each line except the last, list rows too; a blank line keeps its
|
|
902
902
|
height. The published page gets the same three rules from `paragraphRules`
|
|
903
|
-
in lib/
|
|
903
|
+
in lib/document/part-styles.ts — keep the two the same. A part without the flag
|
|
904
904
|
is untouched. */
|
|
905
905
|
[data-sf-part-para] br:not(br + br) {
|
|
906
906
|
display: block;
|
|
@@ -931,7 +931,7 @@
|
|
|
931
931
|
`--overlay-fg`). `scripts/test-chrome-theme-pair.ts` §6 holds it.
|
|
932
932
|
|
|
933
933
|
AUTO. A page publishes the ink its FIRST section DECLARES it needs, as
|
|
934
|
-
`data-lead-ink` on the page body (lib/
|
|
934
|
+
`data-lead-ink` on the page body (lib/document/header-ink, read by both
|
|
935
935
|
StorefrontPageView and the editor preview). Cream over a band the section
|
|
936
936
|
itself paints cream on — a `dark` or `accent` surface, or a full-bleed hero
|
|
937
937
|
with its own dark legibility gradient — and nothing at all otherwise, so a
|
|
@@ -1022,7 +1022,7 @@ body .sf-site-header[data-header-ink="dark"] {
|
|
|
1022
1022
|
@media not all and (min-width: 720px) {
|
|
1023
1023
|
/* The row, and the rows inside it: one line, each block its own width. A
|
|
1024
1024
|
block is the row's own child on the site and sits inside the editor's
|
|
1025
|
-
frame (`[data-
|
|
1025
|
+
frame (`[data-easel-block]`) in the editor, so each rule reads both. */
|
|
1026
1026
|
[data-section-group="header"] .flex-row:has([data-menu-row]),
|
|
1027
1027
|
[data-section-group="header"] .flex-row:has([data-menu-row]) .flex-row {
|
|
1028
1028
|
flex-direction: row;
|
|
@@ -1051,7 +1051,7 @@ body .sf-site-header[data-header-ink="dark"] {
|
|
|
1051
1051
|
and in the editor the frame around it, so no gap is left. Only the frame
|
|
1052
1052
|
whose block IS the tool, never a Box frame that merely holds one. */
|
|
1053
1053
|
[data-section-group="header"]:has([data-menu-row]) [data-phone-menu-tool],
|
|
1054
|
-
[data-section-group="header"]:has([data-menu-row]) [data-
|
|
1054
|
+
[data-section-group="header"]:has([data-menu-row]) [data-easel-block]:has(> * > [data-phone-menu-tool]) {
|
|
1055
1055
|
display: none;
|
|
1056
1056
|
}
|
|
1057
1057
|
}
|
|
@@ -1209,7 +1209,7 @@ body .sf-site-header[data-header-ink="dark"] {
|
|
|
1209
1209
|
ever applied to the one-row bar. The logo stays ahead of it where a
|
|
1210
1210
|
centred logo's Box is opened below. */
|
|
1211
1211
|
[data-section-group="header"]:not([data-header-menu-row="inline"]) [data-phone-menu-tool="search"] > *,
|
|
1212
|
-
[data-section-group="header"]:not([data-header-menu-row="inline"]) [data-
|
|
1212
|
+
[data-section-group="header"]:not([data-header-menu-row="inline"]) [data-easel-block]:has(> * > [data-phone-menu-tool="search"]) {
|
|
1213
1213
|
order: -1;
|
|
1214
1214
|
}
|
|
1215
1215
|
[data-section-group="header"]:not([data-header-menu-row="inline"]) .flex-row > :is([data-menu-part="lead"], :has([data-menu-part="lead"])) + * {
|
|
@@ -1223,7 +1223,7 @@ body .sf-site-header[data-header-ink="dark"] {
|
|
|
1223
1223
|
|
|
1224
1224
|
/* ─── Header TOP SPACE ────────────────────────────────────────────────
|
|
1225
1225
|
The page's own "Top space" (Page settings → `Top space`; the resolver is
|
|
1226
|
-
lib/
|
|
1226
|
+
lib/document/header-clearance). A page that takes its own space publishes
|
|
1227
1227
|
`data-top-space="own"` on its body, and the bar above it paints a real
|
|
1228
1228
|
background from the first pixel instead of being see-through.
|
|
1229
1229
|
|
|
@@ -1295,7 +1295,7 @@ body:has([data-page-width="full"]) footer {
|
|
|
1295
1295
|
phone / tablet / desktop split. A class names the tier, never a number:
|
|
1296
1296
|
`view-tablet:flex` is width ≥ 720, `max-view-tablet:flex` is width < 720, so
|
|
1297
1297
|
the two halves of a pair always meet. Hand-typed pairs did not: the header's
|
|
1298
|
-
`max-[800px]` / `min-[801px]` left exactly 800px —
|
|
1298
|
+
`max-[800px]` / `min-[801px]` left exactly 800px — The editor's Tablet view —
|
|
1299
1299
|
with no header at all (duplicate audit 2026-10-23, D01). CSS cannot import
|
|
1300
1300
|
the constants, so scripts/test-view-tier-breakpoints.ts fails if these two
|
|
1301
1301
|
lines and easel ever disagree. */
|
|
@@ -1418,11 +1418,11 @@ body:has([data-page-width="full"]) footer {
|
|
|
1418
1418
|
own min-height may read it. The two were one var until 2026-09-16, and a bar
|
|
1419
1419
|
that had grown past the slider (a tall logo, or the stacked two-row layout
|
|
1420
1420
|
between 801px and 1500px) hid the top of the page under itself by the
|
|
1421
|
-
difference. See lib/
|
|
1421
|
+
difference. See lib/document/header-clearance.ts.
|
|
1422
1422
|
|
|
1423
1423
|
Default = the historical fixed header height, so the first paint of a site
|
|
1424
1424
|
whose content fits is byte-identical to what it has always been. Keep it in
|
|
1425
|
-
step with HEADER_HEIGHT_PX.default (lib/
|
|
1425
|
+
step with HEADER_HEIGHT_PX.default (lib/document/header-clearance.ts). */
|
|
1426
1426
|
:root {
|
|
1427
1427
|
--sf-header-h: 88px;
|
|
1428
1428
|
}
|
|
@@ -1521,7 +1521,7 @@ body:has([data-page-width="full"]) footer {
|
|
|
1521
1521
|
}
|
|
1522
1522
|
}
|
|
1523
1523
|
|
|
1524
|
-
/* Section height — the "Height" field on any
|
|
1524
|
+
/* Section height — the "Height" field on any the editor section (card 66215). The
|
|
1525
1525
|
injected pass wraps a section that sets one in this class and publishes the
|
|
1526
1526
|
length as a custom property; the property is what varies per section, so the
|
|
1527
1527
|
rule itself lives here once.
|
|
@@ -1550,9 +1550,9 @@ body:has([data-page-width="full"]) footer {
|
|
|
1550
1550
|
}
|
|
1551
1551
|
}
|
|
1552
1552
|
|
|
1553
|
-
/* Section anchors — the "Anchor" field on any
|
|
1553
|
+
/* Section anchors — the "Anchor" field on any the editor section. When set,
|
|
1554
1554
|
the section renders an invisible, zero-height <span id> as its first child
|
|
1555
|
-
(see SectionAnchor in lib/
|
|
1555
|
+
(see SectionAnchor in lib/document/config.tsx). `display:block; height:0` makes it
|
|
1556
1556
|
a real scroll target that adds no layout box; `scroll-margin-top` clears the
|
|
1557
1557
|
fixed header — now the live --sf-header-h (fallback 88px) — so a
|
|
1558
1558
|
/<page>#<anchor> deep-link lands with the section below the header, not under
|
|
@@ -1564,7 +1564,7 @@ body:has([data-page-width="full"]) footer {
|
|
|
1564
1564
|
}
|
|
1565
1565
|
|
|
1566
1566
|
/* Hero slider — never show the horizontal scroll-snap scrollbar. Covers the
|
|
1567
|
-
track itself AND any descendant, because in the page-builder
|
|
1567
|
+
track itself AND any descendant, because in the page-builder the editor wraps the
|
|
1568
1568
|
slot children, so the actual scroll container can be a nested element the
|
|
1569
1569
|
utility classes on `.hero-track` don't reach. */
|
|
1570
1570
|
.hero-track,
|
|
@@ -1645,7 +1645,7 @@ body:has([data-page-width="full"]) footer {
|
|
|
1645
1645
|
fixed-size boxes squash under pressure they currently resist. A run that is
|
|
1646
1646
|
NOT a heading is reached by the other half of this fix, which is keyed to
|
|
1647
1647
|
the thing that actually makes it big: `partStyleDeclarations` in
|
|
1648
|
-
`lib/
|
|
1648
|
+
`lib/document/part-styles.ts` writes the same two properties whenever it states
|
|
1649
1649
|
a size. Together they cover both ways a run can outgrow its box.
|
|
1650
1650
|
|
|
1651
1651
|
Layered, like every bare-element rule in this file — so a section that
|
|
@@ -2016,7 +2016,7 @@ em.text-accent {
|
|
|
2016
2016
|
the design: the hero's height is the merchant's, a phone breaks every stored
|
|
2017
2017
|
coordinate, and "bottom left" means the same thing at any size.
|
|
2018
2018
|
|
|
2019
|
-
⚠️ WHY THIS IS A GRID AND NOT NINE ABSOLUTE CORNERS.
|
|
2019
|
+
⚠️ WHY THIS IS A GRID AND NOT NINE ABSOLUTE CORNERS. The editor engine 0.20 hands a slot's
|
|
2020
2020
|
children to ONE container as a flat list — there is no per-child wrapper — so
|
|
2021
2021
|
`HeroSlide` cannot sort its groups into nine corner boxes, and nine absolute
|
|
2022
2022
|
siblings cannot stack by content height without measuring in JS (which means
|
|
@@ -2074,13 +2074,13 @@ em.text-accent {
|
|
|
2074
2074
|
surface on top of the merchant's own heading. */
|
|
2075
2075
|
.sf-hero-group-layer-edit .sf-hero-group-zone { pointer-events: auto; }
|
|
2076
2076
|
|
|
2077
|
-
/*
|
|
2077
|
+
/* The editor's own drop zone, laid over the SAME rows as the copy beside it (card
|
|
2078
2078
|
66213). This is the one layer, and this element is what makes it one:
|
|
2079
2079
|
`subgrid` means a group's `--sf-hg-row` counts the layer's tracks, not a
|
|
2080
2080
|
private set of its own, so a group and the copy on one square STACK instead of
|
|
2081
2081
|
overlapping — which two stacked layers can never do.
|
|
2082
2082
|
|
|
2083
|
-
⚠️ A REAL BOX, DELIBERATELY, AND NOT `display: contents`.
|
|
2083
|
+
⚠️ A REAL BOX, DELIBERATELY, AND NOT `display: contents`. The editor measures this
|
|
2084
2084
|
element to decide where a drag lands; `display: contents` removes the box and
|
|
2085
2085
|
takes the measurement with it. Spanning every row costs nothing because the
|
|
2086
2086
|
zone is not a hit target (above) and its rows are the layer's own.
|
|
@@ -2227,10 +2227,10 @@ em.text-accent {
|
|
|
2227
2227
|
a hero is a server component, so there is no React context to read either.
|
|
2228
2228
|
`components/HeroGroup.tsx` makes the identical call one tier up for
|
|
2229
2229
|
`--sf-hg-w` and states the reason there in full — CSS already knows, so the
|
|
2230
|
-
answer is asked where it is free. `lib/
|
|
2230
|
+
answer is asked where it is free. `lib/document/config.tsx`'s cell-width pass is
|
|
2231
2231
|
the same shape for the EDITOR half of a position question.
|
|
2232
2232
|
|
|
2233
|
-
⚠️ TWO SELECTORS, BECAUSE THE EDITOR ADDS A LAYER.
|
|
2233
|
+
⚠️ TWO SELECTORS, BECAUSE THE EDITOR ADDS A LAYER. The editor engine 0.20 wraps every slot
|
|
2234
2234
|
child in a drag element unless the component declares `inline`; the published
|
|
2235
2235
|
page has no wrapper (HeroGroup's own docblock carries that measurement, card
|
|
2236
2236
|
66290). So the first line is the page and the second is the canvas.
|
|
@@ -2621,13 +2621,13 @@ em.text-accent {
|
|
|
2621
2621
|
How many of a Grid row's positions ONE block takes.
|
|
2622
2622
|
|
|
2623
2623
|
⚠️ THE RULE IS WRITTEN TWICE ON PURPOSE, AND DELETING EITHER HALF BREAKS
|
|
2624
|
-
EXACTLY ONE OF THE TWO PLACES THIS RUNS.
|
|
2624
|
+
EXACTLY ONE OF THE TWO PLACES THIS RUNS. The editor engine 0.20 wraps every slot child in
|
|
2625
2625
|
a drag element of its own unless the component declares `inline`
|
|
2626
2626
|
(components/HeroGroup.tsx carries the measurement, card 66290). So:
|
|
2627
2627
|
|
|
2628
2628
|
published page .sf-grid-zone > [data-sf-span] the block itself is
|
|
2629
2629
|
the grid item
|
|
2630
|
-
editor canvas .sf-grid-zone > *:has(> [data-sf-span])
|
|
2630
|
+
editor canvas .sf-grid-zone > *:has(> [data-sf-span]) the editor's wrapper is
|
|
2631
2631
|
the grid item, and
|
|
2632
2632
|
the attribute is one
|
|
2633
2633
|
level inside it
|
|
@@ -2640,7 +2640,7 @@ em.text-accent {
|
|
|
2640
2640
|
the overlay rules in storefront-editor.css).
|
|
2641
2641
|
|
|
2642
2642
|
NOT `display: contents` on the wrapper, which is the other way to make the
|
|
2643
|
-
block the grid item:
|
|
2643
|
+
block the grid item: The editor MEASURES that element to place a drop and to draw
|
|
2644
2644
|
its selection overlay, and `display: contents` removes the box and takes the
|
|
2645
2645
|
measurement with it. The same warning is written out at .sf-hero-group-zone.
|
|
2646
2646
|
|
|
@@ -2696,7 +2696,7 @@ em.text-accent {
|
|
|
2696
2696
|
makes it the row height.
|
|
2697
2697
|
No rule: there is
|
|
2698
2698
|
nothing to add.
|
|
2699
|
-
editor canvas .sf-grid-zone > [data-
|
|
2699
|
+
editor canvas .sf-grid-zone > [data-easel-block] the editor's drag
|
|
2700
2700
|
wrapper is the grid
|
|
2701
2701
|
item. IT stretches;
|
|
2702
2702
|
the block inside it
|
|
@@ -2720,8 +2720,8 @@ em.text-accent {
|
|
|
2720
2720
|
droppable into a Grid, and scripts/test-cell-stretch.ts holds that.
|
|
2721
2721
|
|
|
2722
2722
|
Still NOT `display: contents` on the wrapper — see the warning on the span
|
|
2723
|
-
rules above:
|
|
2724
|
-
.sf-grid-zone > [data-
|
|
2723
|
+
rules above: The editor measures that element for drops and the outline. */
|
|
2724
|
+
.sf-grid-zone > [data-easel-block] {
|
|
2725
2725
|
display: grid;
|
|
2726
2726
|
grid-template-columns: minmax(0, 1fr);
|
|
2727
2727
|
}
|
|
@@ -2734,7 +2734,7 @@ em.text-accent {
|
|
|
2734
2734
|
item, and the row's
|
|
2735
2735
|
stretch makes it the
|
|
2736
2736
|
row height. No rule.
|
|
2737
|
-
editor canvas row > [data-
|
|
2737
|
+
editor canvas row > [data-easel-block] the drag wrapper is
|
|
2738
2738
|
the flex item. IT
|
|
2739
2739
|
stretches; the block
|
|
2740
2740
|
inside it is as tall
|
|
@@ -2792,7 +2792,7 @@ em.text-accent {
|
|
|
2792
2792
|
browser reads both spellings the same; §4 holds the reader too.
|
|
2793
2793
|
|
|
2794
2794
|
Still NOT `display: contents` on the wrapper, for the reason above. */
|
|
2795
|
-
.flex-row:not(.items-start):not(.items-center):not(.items-end) > [data-
|
|
2795
|
+
.flex-row:not(.items-start):not(.items-center):not(.items-end) > [data-easel-block]:not([class]) {
|
|
2796
2796
|
display: grid;
|
|
2797
2797
|
grid-template-columns: 100%;
|
|
2798
2798
|
}
|
|
@@ -2880,7 +2880,7 @@ em.text-accent {
|
|
|
2880
2880
|
|
|
2881
2881
|
⚠️ THE CARRIER STAYS `display: contents`, AND THIS IS WHY IT CAN. The obvious
|
|
2882
2882
|
fix — make the carrier a real box and put the radius on it — is the one thing
|
|
2883
|
-
`lib/
|
|
2883
|
+
`lib/document/config.tsx` says not to do: a block box between a section and its
|
|
2884
2884
|
parent breaks a full-viewport cover's `absolute inset-0` and any sticky child.
|
|
2885
2885
|
A `display: contents` element generates no box but IS still in the DOM for
|
|
2886
2886
|
selectors, and its child is the section's own root — measured 2026-09-05 by
|
|
@@ -2955,7 +2955,7 @@ em.text-accent {
|
|
|
2955
2955
|
ACTUALLY RENDERS EDGE TO EDGE. Such a section has no visible edges, so its
|
|
2956
2956
|
corner is off the page and passing that number down would round the cards by
|
|
2957
2957
|
a value whose source the merchant cannot see. The class is put on the section's
|
|
2958
|
-
own corners carrier by the injection pass in lib/
|
|
2958
|
+
own corners carrier by the injection pass in lib/document/config.tsx, off
|
|
2959
2959
|
`sectionRunsFullWidth` — NEVER off a bare `mode === "full"`, which reads every
|
|
2960
2960
|
untouched section as full. lib/content/card-corners.ts carries the whole
|
|
2961
2961
|
ruling, including why the site's Hero image switch does not enter it.
|
|
@@ -3011,6 +3011,34 @@ em.text-accent {
|
|
|
3011
3011
|
.sf-section-corners > .sf-ticker-join { border-radius: 0; overflow: visible; }
|
|
3012
3012
|
.sf-section-corners > .sf-ticker-join > * { border-radius: var(--sf-section-radius, 0); overflow: clip; }
|
|
3013
3013
|
|
|
3014
|
+
/* ── A padding's TABLET value (three-views plan 2026-10-23, PR 3a) ───────────
|
|
3015
|
+
The same split as the phone block below: the desktop padding is INLINE, and
|
|
3016
|
+
efficient-web-builder (lib/content/section-padding, `sectionPadAttrs`) adds
|
|
3017
|
+
`.sf-pad-<side>-tablet` and its variable only for a side whose tablet value
|
|
3018
|
+
is drawn (stored, or worked out by the page's rule version). A node with no
|
|
3019
|
+
tablet value carries no class, matches nothing here, and draws the bytes it
|
|
3020
|
+
drew before this block existed.
|
|
3021
|
+
|
|
3022
|
+
The widths are the Tablet view's: efficient-easel's VIEW_TABLET_MIN (720) up
|
|
3023
|
+
to, not including, VIEW_DESKTOP_MIN (1100) — the builder's
|
|
3024
|
+
lib/content/view-values `TABLET_MEDIA`, the same string. `!important` and no
|
|
3025
|
+
`var()` fallback, for the reasons the phone block gives.
|
|
3026
|
+
scripts/test-tablet-padding-css.ts holds all of it. */
|
|
3027
|
+
@media (min-width: 720px) and (max-width: 1099.98px) {
|
|
3028
|
+
.sf-pad-top-tablet {
|
|
3029
|
+
padding-top: var(--sf-pad-t-tablet) !important;
|
|
3030
|
+
}
|
|
3031
|
+
.sf-pad-bottom-tablet {
|
|
3032
|
+
padding-bottom: var(--sf-pad-b-tablet) !important;
|
|
3033
|
+
}
|
|
3034
|
+
.sf-pad-left-tablet {
|
|
3035
|
+
padding-left: var(--sf-pad-l-tablet) !important;
|
|
3036
|
+
}
|
|
3037
|
+
.sf-pad-right-tablet {
|
|
3038
|
+
padding-right: var(--sf-pad-r-tablet) !important;
|
|
3039
|
+
}
|
|
3040
|
+
}
|
|
3041
|
+
|
|
3014
3042
|
/* ── A section's phone padding ────────────────────────────────────────────────
|
|
3015
3043
|
The phone half of the override ruled by the owner on 2026-09-07: ONE value
|
|
3016
3044
|
used on both screens, and a setting MAY also carry a phone value. Set, the
|
|
@@ -3141,14 +3169,14 @@ em.text-accent {
|
|
|
3141
3169
|
|
|
3142
3170
|
ONE RULE FOR THE PAGE AND THE EDITOR'S CANVAS (GG 2026-10-23, the hartesmetal
|
|
3143
3171
|
Home name Box: apart on the canvas, on top of each other live). On the canvas
|
|
3144
|
-
two elements stand between the Box and each block:
|
|
3145
|
-
(`[data-
|
|
3172
|
+
two elements stand between the Box and each block: The editor's item
|
|
3173
|
+
(`[data-easel-block]`) and the builder's part host (`[data-sf-part-host]`,
|
|
3146
3174
|
`display: contents`). Each rule names both shapes of "the Box's blocks", so
|
|
3147
3175
|
the canvas reads THIS rule from this sheet and no copy of it can lag behind
|
|
3148
3176
|
(the builder's canvas copy, efficient-web-builder 37 and later, goes).
|
|
3149
3177
|
scripts/test-gap-only-one-rule.tsx draws both. */
|
|
3150
3178
|
.sf-box-gap-only > *,
|
|
3151
|
-
.sf-box-gap-only > [data-
|
|
3179
|
+
.sf-box-gap-only > [data-easel-block] > [data-sf-part-host] > * {
|
|
3152
3180
|
padding-block: 0;
|
|
3153
3181
|
}
|
|
3154
3182
|
|
|
@@ -3161,7 +3189,7 @@ em.text-accent {
|
|
|
3161
3189
|
wrapper's own padding is an INLINE style, which this never beats, so what the
|
|
3162
3190
|
merchant typed still draws. Unlayered, like the rule above, for its reason. */
|
|
3163
3191
|
.sf-box-gap-only > .sf-section-pad > *,
|
|
3164
|
-
.sf-box-gap-only > [data-
|
|
3192
|
+
.sf-box-gap-only > [data-easel-block] > [data-sf-part-host] > .sf-section-pad > * {
|
|
3165
3193
|
padding-block: 0;
|
|
3166
3194
|
}
|
|
3167
3195
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as i}from"react/jsx-runtime";import{BookingFormProvider as S,useBookingForm as b}from"./booking/BookingFormState.js";import{useBookingPreview as k}from"efficient-web-builder/render/lib/
|
|
1
|
+
"use client";import{jsx as e,jsxs as i}from"react/jsx-runtime";import{BookingFormProvider as S,useBookingForm as b}from"./booking/BookingFormState.js";import{useBookingPreview as k}from"efficient-web-builder/render/lib/document/booking-preview";import{say as n}from"efficient-web-builder/format/lib/editor-words";import{BookingChoose as N,BookingConfirmed as B,BookingDetails as y,BookingHead as w}from"./booking/BookingRegions.js";function A(t={}){const o=k();return e(S,{editing:t.editing,previewConfirmation:!!t.nodeId&&o===t.nodeId,children:e(C,{...t})})}const p="mx-auto max-w-[var(--sf-site-width,1600px)] px-[min(24px,var(--sf-site-gutter,40px))] py-16 min-[800px]:px-[var(--sf-site-gutter,40px)] min-[800px]:py-[88px]",s="grid gap-8 min-[960px]:grid-cols-[minmax(0,1fr)_minmax(360px,0.8fr)] min-[960px]:gap-12";function C({eyebrow:t,heading:o,intro:g,buttonLabel:f,successMessage:u,boxes:r,inBoxes:x=!1}){const{fieldPrefix:_,editing:v,services:m,currency:D,serviceId:I,setServiceId:L,requiresPayment:P,date:j,earliestDate:z,setDate:E,setDateTouched:F,availability:M,loadingSlots:T,noSlotsMessage:R,selectedStart:$,setSelectedStart:q,customerTimezone:G,name:H,setName:O,email:J,setEmail:K,phone:Q,setPhone:U,notes:V,setNotes:W,confirmation:c,submitting:X,error:Y,canSubmit:Z,handleSubmit:l,sample:h}=b(),d=h?e("p",{className:"mb-6 font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:n("Example form — add an active service in {place}.",{place:n("Storefront → Booking Services")})}):null,a=m===void 0?e("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Loading appointments…"}):m?.length===0?e("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:v?n("Add an active service in {place}.",{place:n("Storefront → Booking Services")}):"Appointments are not available right now."}):null;return x&&r?e("section",{className:"relative z-[2] border-t border-line bg-surface",children:i("div",{className:p,children:[d,c?e(r,{className:`${s} items-start`}):i("form",{onSubmit:l,children:[e(r,{className:`${s} items-start`}),a]})]})}):e("section",{className:"relative z-[2] border-t border-line bg-surface",children:i("div",{className:p,children:[d,e(w,{eyebrow:t,heading:o,intro:g}),c?e(B,{successMessage:u}):a||i("form",{onSubmit:l,className:s,children:[e(N,{}),e(y,{buttonLabel:f})]})]})})}export{C as AppointmentBookingBody,A as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as H}from"react/jsx-runtime";import{useEffect as k,useState as _}from"react";import{usePathname as y}from"next/navigation";import{useHeaderBar as R}from"./useHeaderBar.js";import{headerSolidBackground as A,isProductPage as I,resolveHeaderHeightPx as P}from"../lib/content/header-bar.js";import{headerThemeWrap as S}from"../lib/content/header-theme.js";import{HEADER_SET_HEIGHT_VAR as T}from"efficient-web-builder/render/lib/
|
|
1
|
+
"use client";import{jsx as H}from"react/jsx-runtime";import{useEffect as k,useState as _}from"react";import{usePathname as y}from"next/navigation";import{useHeaderBar as R}from"./useHeaderBar.js";import{headerSolidBackground as A,isProductPage as I,resolveHeaderHeightPx as P}from"../lib/content/header-bar.js";import{headerThemeWrap as S}from"../lib/content/header-theme.js";import{HEADER_SET_HEIGHT_VAR as T}from"efficient-web-builder/render/lib/document/header-clearance";import{HEADER_INK_OVERRIDE_ATTR as B,resolveHeaderInkMode as D}from"efficient-web-builder/render/lib/document/header-ink";const M=["none","always","on_scroll_up"],j=e=>M.includes(e)?e:"always";function w({sticky:e,topTextColor:f,heightPx:h,theme:b,children:g}){const o=j(e),n=P(h),{headerRef:t,scrolled:a,navHidden:p}=R({stickyMode:o,heightPx:n}),s=D(f),x=s==="auto"?null:{[B]:s},r=S(b),d=I(y()),[v,E]=_(!1);k(()=>{const l=t.current?.ownerDocument??document,u=()=>E(l.documentElement.getAttribute("data-theme")==="light");u();const m=new MutationObserver(u);return m.observe(l.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>m.disconnect()},[t]);const c=a||d,i=A(v,d);return H("header",{ref:t,"data-scrolled":a||void 0,"data-box-header":"",...x,className:["sf-site-header",...r?[r.className]:[],"flex flex-col justify-center",o==="none"?"absolute":"fixed","inset-x-0 top-0 z-50",c?"border-b border-line backdrop-blur-md":"border-b border-transparent","transition-[background,border-color,transform] duration-300 ease-out"].join(" "),style:{...r?r.style:null,minHeight:`var(${T}, ${n}px)`,...p?{transform:"translateY(-100%)"}:null,...c?{background:i,color:"var(--fg)","--sf-header-ground":i}:{color:"var(--sf-header-overlay-fg)","--sf-header-ground":"var(--sf-header-overlay-ground)"}},children:g})}export{w as default,j as resolveStickyMode};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as l,Fragment as b}from"react/jsx-runtime";import{ChatBubbleLeftRightIcon as f,ChatBubbleOvalLeftEllipsisIcon as m,ChatIcon as g,MegaphoneIcon as x,PhoneIcon as L,SparklesIcon as C}from"efficient-shell/icons/efficient-glyphs";import{chatLauncherColor as I,chatLauncherIcon as _,chatLauncherPosition as S}from"efficient-web-builder/format/lib/content/chat-launcher";import{accentInk as v}from"efficient-web-builder/format/lib/theme";import{PART_PHONE_MAX_CSS as w}from"efficient-web-builder/render/lib/
|
|
1
|
+
"use client";import{jsx as e,jsxs as l,Fragment as b}from"react/jsx-runtime";import{ChatBubbleLeftRightIcon as f,ChatBubbleOvalLeftEllipsisIcon as m,ChatIcon as g,MegaphoneIcon as x,PhoneIcon as L,SparklesIcon as C}from"efficient-shell/icons/efficient-glyphs";import{chatLauncherColor as I,chatLauncherIcon as _,chatLauncherPosition as S}from"efficient-web-builder/format/lib/content/chat-launcher";import{accentInk as v}from"efficient-web-builder/format/lib/theme";import{PART_PHONE_MAX_CSS as w}from"efficient-web-builder/render/lib/document/part-styles";const y={"chat-bubble-left-right":f,"chat-bubble-oval-left-ellipsis":m,chat:g,megaphone:x,phone:L,sparkles:C};function E(a){const t=I(a?.launcherColor)||"var(--btn)";return{"--assistant-launcher-bg":t,"--assistant-launcher-ink":t==="var(--btn)"?"var(--btn-ink)":v(t),"--assistant-launcher-bg-hover":`color-mix(in oklab, ${t} 85%, black)`}}function O(a){return a?.launcherLabel?.trim()??""}function P(a){return S(a?.launcherPosition)==="left"}const k={position:"fixed",bottom:16,minWidth:48,height:48,padding:0,display:"flex",alignItems:"center",border:0,borderRadius:9999,cursor:"pointer",background:"var(--assistant-launcher-bg)",color:"var(--assistant-launcher-ink)",boxShadow:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)"},N={width:48,height:48,flex:"none",display:"flex",alignItems:"center",justifyContent:"center"},j="[data-chat-launcher-label]{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;font-size:14px;font-weight:500;line-height:1;transition:max-width 120ms ease-out,opacity 120ms ease-out,padding 120ms ease-out}[data-chat-launcher]:hover [data-chat-launcher-label],[data-chat-launcher]:focus-visible [data-chat-launcher-label]{max-width:16em;opacity:1;padding-inline-end:16px}@media (prefers-reduced-motion:reduce){[data-chat-launcher-label]{transition:none}}",A=`@media ${w}{[data-chat-launcher][data-hide-on-phones]{display:none!important}}`;function H({label:a,onOpen:t,onWarm:c,zIndex:d=1e3,badge:u,look:n}){const r=_(n?.launcherIcon),p=y[r],o=O(n),i=P(n),s=n?.showOnPhones===!1,h=(o?j:"")+(s?A:"");return l(b,{children:[h&&e("style",{children:h}),l("button",{type:"button","aria-label":a,onClick:t,onPointerEnter:c,onFocus:c,"data-sf-floating":"","data-chat-launcher":"","data-side":i?"left":"right","data-hide-on-phones":s?"":void 0,style:{...E(n),...k,...i?{left:16}:{right:16},zIndex:d},children:[e("span",{style:N,children:e(p,{size:22,"data-icon":r})}),o&&e("span",{"data-chat-launcher-label":"",children:o}),u]})]})}export{P as chatLauncherOnLeft,E as chatLauncherTokens,H as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PartStyles } from "efficient-web-builder/render/lib/
|
|
1
|
+
import type { PartStyles } from "efficient-web-builder/render/lib/document/part-styles";
|
|
2
2
|
export declare function resolveCategoryImage(src?: string): string | undefined;
|
|
3
3
|
export interface CollectionCardStyle {
|
|
4
4
|
showPrice?: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SlotComponent } from "efficient-easel/blocks";
|
|
2
|
-
import type { PartStyles } from "efficient-web-builder/render/lib/
|
|
2
|
+
import type { PartStyles } from "efficient-web-builder/render/lib/document/part-styles";
|
|
3
3
|
export interface CollectionsProps {
|
|
4
4
|
eyebrow?: string;
|
|
5
5
|
heading?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{Fragment as d,jsx as e,jsxs as i}from"react/jsx-runtime";import{useId as v}from"react";import y from"efficient-web-builder/render/components/SectionHeader";import{SectionTextParts as N}from"efficient-web-builder/render/lib/
|
|
1
|
+
"use client";import{Fragment as d,jsx as e,jsxs as i}from"react/jsx-runtime";import{useId as v}from"react";import y from"efficient-web-builder/render/components/SectionHeader";import{SectionTextParts as N}from"efficient-web-builder/render/lib/document/editing-bridges";import{CollectionCardStyleContext as M}from"./CollectionCard.js";import{fillRowCss as S}from"../lib/sections/fill-row.js";import{renderHeadline as $}from"efficient-web-builder/render/components/goldPhrases";function j({editing:r,nodeId:t,children:s}){return!r||!t?e(d,{children:s}):e(N,{nodeId:t,sectionType:"Collections",children:s})}const E="px-[max(var(--sf-site-gutter,40px),calc((100%_-_var(--sf-content-cap,100%))/2_+_var(--sf-site-gutter,40px)))] py-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:py-[70px]",F="px-[max(var(--sf-site-gutter,40px),calc((100%_-_var(--sf-content-cap,100%))/2_+_var(--sf-site-gutter,40px)))] pt-0 pb-[120px] max-[800px]:px-[min(20px,var(--sf-site-gutter,40px))] max-[800px]:pt-0 max-[800px]:pb-[70px]",I={2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5"};function R({eyebrow:r,heading:t,columns:s,showPrice:m,cardStyle:f,layout:g,limit:n,cards:l,omitHead:a=!1,nodeId:u,partStyles:h,editing:c=!1}={}){const o=`cg-${v().replace(/:/g,"")}`,_=typeof n=="number"&&n>0,C=g==="list"?"grid-cols-1":s===void 0?"grid-cols-3":I[Math.min(5,Math.max(2,Math.round(s)))]??"grid-cols-3",p=`${o} grid ${C} gap-4 max-[800px]:grid-cols-1 max-[800px]:gap-3`,x=S(o,p,{limit:n});return i("section",{className:a?F:E,children:[a?null:e(y,{num:r!==void 0?r:"01 / Collections",accentNum:!0,title:t!==void 0?$(t,!1):i(d,{children:["Three ranges,",e("br",{}),"one standard."]}),link:{text:"View all",href:"/wheels"}}),l&&e(j,{editing:c,nodeId:u,children:i(M.Provider,{value:{showPrice:m,cardStyle:f,partStyles:h,editing:c},children:[_&&e("style",{children:`.${o} > *:nth-child(n+${n+1}){display:none}`}),x&&e("style",{children:x}),e(l,{className:p,minEmptyHeight:260})]})})]})}export{R as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as n,jsxs as s,Fragment as ee}from"react/jsx-runtime";import ne from"./SectionBand.js";import{useEffect as z,useState as _}from"react";import{OTHER_REASON_ID as v}from"efficient-web-builder/format/lib/content/contact";import{FormFieldInput as te,FormHoneypot as ae,successMessageFor as le,useBoundForm as re,useFormSubmission as oe}from"./formSubmission.js";import se from"efficient-web-builder/render/components/SectionEyebrow";import ie,{FieldCaption as ce}from"./WebFormField.js";import{scrollBehavior as de}from"efficient-web-builder/render/components/useReducedMotion";import{renderChrome as q,renderGold as w,renderHeadline as me,splitParagraphs as pe}from"efficient-web-builder/render/components/goldPhrases";import{say as j}from"efficient-web-builder/format/lib/editor-words";import{phoneHref as fe}from"efficient-web-builder/format/lib/links/phone-href";import{PART_ROW_ATTR as ue,encodePartRow as xe}from"efficient-web-builder/render/lib/puck/text-parts";const t={bodySmall:"text-[length:var(--size-body,14px)]",body:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,18px)]",headingSmall1:"text-[length:var(--size-headingSmall,24px)]",headingSmall2:"text-[length:var(--size-headingSmall,26px)]",labelXs:"text-[length:var(--size-label,10px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]",labelXl:"text-[length:var(--size-label,14px)]"},M={label:"Label",value:"Value",sub:"Sub line"};function be(i,l){return i.map((r,a)=>l?{...r,at:a,label:r.label||j(M.label),value:r.value||j(M.value),sub:r.sub||j(M.sub)}:{...r,at:a}).filter(r=>!r.hidden)}function A(i,l){return l?{[ue]:xe("channels",i.at)}:{}}function T(i){if(i.href)return i.href;const l=(i.value??"").trim();if(l.includes("@"))return`mailto:${l}`;if(/^\+?[\d\s().-]{6,}$/.test(l))return fe(l)}function ge(i){const l=[],r=new Map;for(const a of i){if(!a.groupId){l.push(a);continue}const p=a.value.trim().toLowerCase(),x=r.get(p);if(x)x.label=`${x.label} · ${a.label}`;else{const b={...a};r.set(p,b),l.push(b)}}return l}function he(i,l,r){const a=p=>String(p??"").trim().toLowerCase();for(const p of i?.fields??[]){if(p.type!=="select"||!Array.isArray(p.options))continue;const x=p.options.map(String);if(!l.some(d=>x.some(f=>a(f)===a(d.title))))continue;const b=d=>a(d===v?r:l.find(f=>f.id===d)?.title);return{key:p.key,optionFor:d=>x.find(f=>a(f)===b(d)&&b(d)!==""),idFor:d=>{const f=l.find($=>a($.title)===a(d));return f?f.id:r&&a(d)===a(r)?v:void 0}}}return null}const V=`border-b border-line bg-transparent py-4 font-display ${t.bodyLarge} tracking-[0.01em] text-fg outline-none transition-colors focus:border-accent`;function ve({routingNumber:i,routingTagline:l,groups:r,formNumber:a,formHeading:p,metaLines:x,showOther:b=!0,otherLabel:d="Other",otherNoteTitle:f,otherNoteBody:$,buttonText:O,consent:H,channels:B,formSlug:L,form:W,editing:y,initialActiveId:k,onActiveChange:P,reasonExtras:D}){const N=[...r.map(e=>e.id),...b?[v]:[]],G=k&&N.includes(k)?k:N[0]??v,[g,C]=_(G);z(()=>{N.includes(g)||C(N[0]??v)},[N.join("|")]),z(()=>{k&&N.includes(k)&&C(k)},[k]);const h=re(L,W),m=oe({form:h,formSlug:L,editing:y}),u=he(h,r,b?d:void 0),I=e=>{C(e),R(null);const o=u?.optionFor(e);u&&o!==void 0&&m.set(u.key,o),P?.(e)};z(()=>{if(!u||m.valueOf(u.key))return;const e=u.optionFor(g);e!==void 0&&m.set(u.key,e)},[u?.key]);const[X,R]=_(null),S=be(B??[],!!y),Z=e=>X!==null?!e.groupId&&e.value===X:e.groupId===g,J=h===void 0,E=!!h||!!y,[K,Q]=_(!1);z(()=>{const e=()=>Q(document.documentElement.getAttribute("data-theme")==="light");e();const o=new MutationObserver(e);return o.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>o.disconnect()},[]);const U=r.length>0||!!y;return s(ee,{children:[U&&s(ne,{className:"border-b border-line py-[60px]",style:K?void 0:{background:"var(--section-bg)"},children:[(i||l)&&s("div",{className:"mb-6 flex items-center gap-6 border-b border-line pb-6",children:[i&&n(se,{text:i}),l&&n("span",{className:`font-display ${t.bodySmall} uppercase tracking-[0.04em] text-fg-dim`,children:w(l)})]}),n("div",{className:"sf-card grid grid-cols-4 gap-[2px] border border-line bg-line max-[1100px]:grid-cols-2 max-[700px]:grid-cols-1",children:r.map(e=>{const o=g===e.id;return s("button",{type:"button",onClick:()=>{I(e.id),typeof window<"u"&&window.matchMedia("(max-width: 1100px)").matches&&document.getElementById("contact-form")?.scrollIntoView({behavior:de(),block:"start"})},className:["flex min-h-[240px] cursor-pointer flex-col gap-4 px-8 py-10 text-left transition-colors",o?"bg-surface outline outline-2 -outline-offset-2 outline-accent":"bg-bg hover:bg-surface"].join(" "),children:[e.eyebrow&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:e.eyebrow}),n("h3",{className:`whitespace-pre-line font-heading3 ${t.headingSmall2} font-medium uppercase leading-[1.05] tracking-[-0.02em]`,children:e.title}),e.copy&&n("p",{className:`mt-auto font-display ${t.bodySmall} leading-[1.5] text-fg-dim`,children:e.copy}),e.response&&s("div",{className:`mt-2 flex justify-between border-t border-line pt-4 font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:[n("span",{children:"Response"}),n("strong",{className:"font-normal text-fg",children:e.response})]})]},e.id)})})]}),(E||S.length>0)&&n("section",{id:"contact-form",className:"scroll-mt-[80px] border-b border-line py-20 max-[1100px]:py-[60px]",children:s("div",{className:["mx-auto grid max-w-[var(--sf-site-width,1600px)] gap-20 px-[var(--sf-site-gutter,40px)] max-[1100px]:grid-cols-1 max-[1100px]:gap-[60px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",E&&S.length>0?"grid-cols-[1.3fr_1fr]":"grid-cols-1"].join(" "),children:[E&&s("div",{children:[s("div",{className:"mb-8 flex items-end justify-between gap-6 border-b border-line pb-6",children:[s("div",{children:[a&&n("div",{className:`pb-2 font-mono ${t.labelLarge} uppercase tracking-[0.3em] text-accent`,children:w(a)}),p&&n("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,4vw,56px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:me(p,!0)})]}),!!(x&&x.length)&&n("div",{className:`text-right font-mono ${t.labelSmall} uppercase leading-[1.8] tracking-[0.22em] text-fg-dim max-[700px]:text-left`,children:x.map((e,o)=>n("div",{children:e},o))})]}),h?m.done?n("div",{className:`border border-accent bg-accent/[0.08] p-8 font-display ${t.body} leading-[1.6] text-fg-dim`,children:le(h,"Thanks — we've received your message.")}):s("form",{className:"grid grid-cols-2 gap-5 max-[700px]:grid-cols-1",onSubmit:m.handleSubmit,children:[h.fields.map(e=>n(ie,{label:e.label,required:e.required,className:e.type==="textarea"||e.type==="checkbox"?"col-span-2 max-[700px]:col-span-1":void 0,children:n(te,{field:e,value:m.valueOf(e.key),onChange:o=>{m.set(e.key,o);const c=u&&e.key===u.key?u.idFor(o):void 0;c!==void 0&&(C(c),R(null),P?.(c))},className:e.type==="textarea"?`${V} min-h-[140px] resize-y leading-[1.5]`:e.type==="checkbox"?"size-4 self-start accent-accent":V})},e.key)),s("div",{className:"col-span-2 flex flex-col gap-2 max-[700px]:col-span-1",children:[n(ce,{required:!0,children:"Reason"}),s("div",{className:"mt-1 flex flex-wrap gap-2",children:[r.map(e=>{const o=g===e.id;return n("button",{type:"button",onClick:()=>I(e.id),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,o?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:e.title},e.id)}),b&&n("button",{type:"button",onClick:()=>I(v),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,g===v?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:q(d)})]})]}),D?.(g),g===v&&(f||$)&&s("div",{className:"sf-card col-span-2 flex flex-col gap-2 border border-line bg-bg/40 p-5 max-[700px]:col-span-1",children:[f&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:w(f)}),$&&pe($).map((e,o)=>n("p",{className:`font-display ${t.body} leading-[1.55] text-fg-dim`,children:w(e)},o))]}),n(ae,{value:m.honeypot,onChange:m.setHoneypot}),m.error&&n("p",{role:"alert",className:`col-span-2 font-mono ${t.labelSmall} uppercase tracking-[0.18em] text-alert max-[700px]:col-span-1`,children:m.error}),s("div",{className:"col-span-2 mt-5 flex flex-wrap items-center justify-between gap-6 border-t border-line pt-6 max-[700px]:col-span-1 max-[700px]:flex-col max-[700px]:items-stretch",children:[H&&n("span",{className:`max-w-[380px] font-mono ${t.labelSmall} uppercase leading-[1.6] tracking-[0.18em] text-fg-dim`,children:w(H)}),n("button",{type:y?"button":"submit",disabled:m.submitting,className:`cursor-pointer bg-btn px-8 py-5 font-mono ${t.labelXl} uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg disabled:cursor-wait disabled:opacity-60 max-[700px]:w-full`,children:m.submitting?"Sending…":O?q(O):"Send Message →"})]})]}):n("p",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:J?j("Loading form…"):j("Choose a form in the inspector, under Message form — until then this column is hidden on the live page and no message can be sent.")})]}),S.length>0&&n("aside",{className:"flex flex-col gap-0 max-[1100px]:hidden",children:S.map((e,o)=>{const c=Z(e),F=!!!e.groupId;return s("div",{...A(e,y),onClick:F?()=>R(e.value):void 0,className:["relative flex flex-col gap-3 border-b border-line border-l-2 px-5 py-8 transition-all",F?"cursor-pointer border-t-2 border-t-accent":"",c?"border-l-accent pl-6":F?"border-l-transparent hover:bg-accent/[0.04]":"border-l-transparent"].join(" "),style:c?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[c&&!!h&&s("span",{className:"absolute right-[18px] top-6 flex flex-col items-end gap-0.5 text-right",children:[n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:"→ Message routes here"}),n("span",{className:`font-mono ${t.labelXs} uppercase tracking-[0.18em] text-fg-dim`,children:"Other inboxes filter as spam"})]}),n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em] transition-colors`,c?"text-fg":"text-accent"].join(" "),children:e.label}),F?n("a",{href:e.href,onClick:Y=>Y.stopPropagation(),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] transition-colors hover:text-accent`,c?"text-accent":"text-fg"].join(" "),children:e.value}):n("a",{href:T(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em]`,c?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${o}`)})}),S.length>0&&n("div",{"data-contact-phone-list":!0,className:"hidden flex-col gap-0 max-[1100px]:flex",children:ge(S).map((e,o)=>{const c=!!e.groupId;return s("div",{...A(e,y),className:["flex flex-col gap-3 border-b border-line px-5 py-5",c?"":"border-t-2 border-t-accent"].join(" "),children:[n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em]`,c?"text-fg":"text-accent"].join(" "),children:e.label}),n("a",{href:T(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] [overflow-wrap:anywhere]`,c?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${o}`)})})]})})]})}export{M as CHANNEL_HINTS,T as channelHref,ve as default,be as drawnChannels,V as fieldClass,ge as mergeChannelsForPhone,he as topicFieldOf};
|
|
1
|
+
"use client";import{jsx as n,jsxs as s,Fragment as ee}from"react/jsx-runtime";import ne from"./SectionBand.js";import{useEffect as z,useState as _}from"react";import{OTHER_REASON_ID as v}from"efficient-web-builder/format/lib/content/contact";import{FormFieldInput as te,FormHoneypot as ae,successMessageFor as le,useBoundForm as re,useFormSubmission as oe}from"./formSubmission.js";import se from"efficient-web-builder/render/components/SectionEyebrow";import ie,{FieldCaption as ce}from"./WebFormField.js";import{scrollBehavior as de}from"efficient-web-builder/render/components/useReducedMotion";import{renderChrome as q,renderGold as w,renderHeadline as me,splitParagraphs as pe}from"efficient-web-builder/render/components/goldPhrases";import{say as j}from"efficient-web-builder/format/lib/editor-words";import{phoneHref as fe}from"efficient-web-builder/format/lib/links/phone-href";import{PART_ROW_ATTR as ue,encodePartRow as xe}from"efficient-web-builder/render/lib/document/text-parts";const t={bodySmall:"text-[length:var(--size-body,14px)]",body:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,18px)]",headingSmall1:"text-[length:var(--size-headingSmall,24px)]",headingSmall2:"text-[length:var(--size-headingSmall,26px)]",labelXs:"text-[length:var(--size-label,10px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]",labelXl:"text-[length:var(--size-label,14px)]"},M={label:"Label",value:"Value",sub:"Sub line"};function be(i,l){return i.map((r,a)=>l?{...r,at:a,label:r.label||j(M.label),value:r.value||j(M.value),sub:r.sub||j(M.sub)}:{...r,at:a}).filter(r=>!r.hidden)}function A(i,l){return l?{[ue]:xe("channels",i.at)}:{}}function T(i){if(i.href)return i.href;const l=(i.value??"").trim();if(l.includes("@"))return`mailto:${l}`;if(/^\+?[\d\s().-]{6,}$/.test(l))return fe(l)}function ge(i){const l=[],r=new Map;for(const a of i){if(!a.groupId){l.push(a);continue}const p=a.value.trim().toLowerCase(),x=r.get(p);if(x)x.label=`${x.label} · ${a.label}`;else{const b={...a};r.set(p,b),l.push(b)}}return l}function he(i,l,r){const a=p=>String(p??"").trim().toLowerCase();for(const p of i?.fields??[]){if(p.type!=="select"||!Array.isArray(p.options))continue;const x=p.options.map(String);if(!l.some(d=>x.some(f=>a(f)===a(d.title))))continue;const b=d=>a(d===v?r:l.find(f=>f.id===d)?.title);return{key:p.key,optionFor:d=>x.find(f=>a(f)===b(d)&&b(d)!==""),idFor:d=>{const f=l.find($=>a($.title)===a(d));return f?f.id:r&&a(d)===a(r)?v:void 0}}}return null}const V=`border-b border-line bg-transparent py-4 font-display ${t.bodyLarge} tracking-[0.01em] text-fg outline-none transition-colors focus:border-accent`;function ve({routingNumber:i,routingTagline:l,groups:r,formNumber:a,formHeading:p,metaLines:x,showOther:b=!0,otherLabel:d="Other",otherNoteTitle:f,otherNoteBody:$,buttonText:O,consent:H,channels:B,formSlug:L,form:W,editing:y,initialActiveId:k,onActiveChange:P,reasonExtras:D}){const N=[...r.map(e=>e.id),...b?[v]:[]],G=k&&N.includes(k)?k:N[0]??v,[g,C]=_(G);z(()=>{N.includes(g)||C(N[0]??v)},[N.join("|")]),z(()=>{k&&N.includes(k)&&C(k)},[k]);const h=re(L,W),m=oe({form:h,formSlug:L,editing:y}),u=he(h,r,b?d:void 0),I=e=>{C(e),R(null);const o=u?.optionFor(e);u&&o!==void 0&&m.set(u.key,o),P?.(e)};z(()=>{if(!u||m.valueOf(u.key))return;const e=u.optionFor(g);e!==void 0&&m.set(u.key,e)},[u?.key]);const[X,R]=_(null),S=be(B??[],!!y),Z=e=>X!==null?!e.groupId&&e.value===X:e.groupId===g,J=h===void 0,E=!!h||!!y,[K,Q]=_(!1);z(()=>{const e=()=>Q(document.documentElement.getAttribute("data-theme")==="light");e();const o=new MutationObserver(e);return o.observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]}),()=>o.disconnect()},[]);const U=r.length>0||!!y;return s(ee,{children:[U&&s(ne,{className:"border-b border-line py-[60px]",style:K?void 0:{background:"var(--section-bg)"},children:[(i||l)&&s("div",{className:"mb-6 flex items-center gap-6 border-b border-line pb-6",children:[i&&n(se,{text:i}),l&&n("span",{className:`font-display ${t.bodySmall} uppercase tracking-[0.04em] text-fg-dim`,children:w(l)})]}),n("div",{className:"sf-card grid grid-cols-4 gap-[2px] border border-line bg-line max-[1100px]:grid-cols-2 max-[700px]:grid-cols-1",children:r.map(e=>{const o=g===e.id;return s("button",{type:"button",onClick:()=>{I(e.id),typeof window<"u"&&window.matchMedia("(max-width: 1100px)").matches&&document.getElementById("contact-form")?.scrollIntoView({behavior:de(),block:"start"})},className:["flex min-h-[240px] cursor-pointer flex-col gap-4 px-8 py-10 text-left transition-colors",o?"bg-surface outline outline-2 -outline-offset-2 outline-accent":"bg-bg hover:bg-surface"].join(" "),children:[e.eyebrow&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:e.eyebrow}),n("h3",{className:`whitespace-pre-line font-heading3 ${t.headingSmall2} font-medium uppercase leading-[1.05] tracking-[-0.02em]`,children:e.title}),e.copy&&n("p",{className:`mt-auto font-display ${t.bodySmall} leading-[1.5] text-fg-dim`,children:e.copy}),e.response&&s("div",{className:`mt-2 flex justify-between border-t border-line pt-4 font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:[n("span",{children:"Response"}),n("strong",{className:"font-normal text-fg",children:e.response})]})]},e.id)})})]}),(E||S.length>0)&&n("section",{id:"contact-form",className:"scroll-mt-[80px] border-b border-line py-20 max-[1100px]:py-[60px]",children:s("div",{className:["mx-auto grid max-w-[var(--sf-site-width,1600px)] gap-20 px-[var(--sf-site-gutter,40px)] max-[1100px]:grid-cols-1 max-[1100px]:gap-[60px] max-[1100px]:px-[min(24px,var(--sf-site-gutter,40px))]",E&&S.length>0?"grid-cols-[1.3fr_1fr]":"grid-cols-1"].join(" "),children:[E&&s("div",{children:[s("div",{className:"mb-8 flex items-end justify-between gap-6 border-b border-line pb-6",children:[s("div",{children:[a&&n("div",{className:`pb-2 font-mono ${t.labelLarge} uppercase tracking-[0.3em] text-accent`,children:w(a)}),p&&n("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,4vw,56px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:me(p,!0)})]}),!!(x&&x.length)&&n("div",{className:`text-right font-mono ${t.labelSmall} uppercase leading-[1.8] tracking-[0.22em] text-fg-dim max-[700px]:text-left`,children:x.map((e,o)=>n("div",{children:e},o))})]}),h?m.done?n("div",{className:`border border-accent bg-accent/[0.08] p-8 font-display ${t.body} leading-[1.6] text-fg-dim`,children:le(h,"Thanks — we've received your message.")}):s("form",{className:"grid grid-cols-2 gap-5 max-[700px]:grid-cols-1",onSubmit:m.handleSubmit,children:[h.fields.map(e=>n(ie,{label:e.label,required:e.required,className:e.type==="textarea"||e.type==="checkbox"?"col-span-2 max-[700px]:col-span-1":void 0,children:n(te,{field:e,value:m.valueOf(e.key),onChange:o=>{m.set(e.key,o);const c=u&&e.key===u.key?u.idFor(o):void 0;c!==void 0&&(C(c),R(null),P?.(c))},className:e.type==="textarea"?`${V} min-h-[140px] resize-y leading-[1.5]`:e.type==="checkbox"?"size-4 self-start accent-accent":V})},e.key)),s("div",{className:"col-span-2 flex flex-col gap-2 max-[700px]:col-span-1",children:[n(ce,{required:!0,children:"Reason"}),s("div",{className:"mt-1 flex flex-wrap gap-2",children:[r.map(e=>{const o=g===e.id;return n("button",{type:"button",onClick:()=>I(e.id),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,o?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:e.title},e.id)}),b&&n("button",{type:"button",onClick:()=>I(v),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,g===v?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:q(d)})]})]}),D?.(g),g===v&&(f||$)&&s("div",{className:"sf-card col-span-2 flex flex-col gap-2 border border-line bg-bg/40 p-5 max-[700px]:col-span-1",children:[f&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:w(f)}),$&&pe($).map((e,o)=>n("p",{className:`font-display ${t.body} leading-[1.55] text-fg-dim`,children:w(e)},o))]}),n(ae,{value:m.honeypot,onChange:m.setHoneypot}),m.error&&n("p",{role:"alert",className:`col-span-2 font-mono ${t.labelSmall} uppercase tracking-[0.18em] text-alert max-[700px]:col-span-1`,children:m.error}),s("div",{className:"col-span-2 mt-5 flex flex-wrap items-center justify-between gap-6 border-t border-line pt-6 max-[700px]:col-span-1 max-[700px]:flex-col max-[700px]:items-stretch",children:[H&&n("span",{className:`max-w-[380px] font-mono ${t.labelSmall} uppercase leading-[1.6] tracking-[0.18em] text-fg-dim`,children:w(H)}),n("button",{type:y?"button":"submit",disabled:m.submitting,className:`cursor-pointer bg-btn px-8 py-5 font-mono ${t.labelXl} uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg disabled:cursor-wait disabled:opacity-60 max-[700px]:w-full`,children:m.submitting?"Sending…":O?q(O):"Send Message →"})]})]}):n("p",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:J?j("Loading form…"):j("Choose a form in the inspector, under Message form — until then this column is hidden on the live page and no message can be sent.")})]}),S.length>0&&n("aside",{className:"flex flex-col gap-0 max-[1100px]:hidden",children:S.map((e,o)=>{const c=Z(e),F=!!!e.groupId;return s("div",{...A(e,y),onClick:F?()=>R(e.value):void 0,className:["relative flex flex-col gap-3 border-b border-line border-l-2 px-5 py-8 transition-all",F?"cursor-pointer border-t-2 border-t-accent":"",c?"border-l-accent pl-6":F?"border-l-transparent hover:bg-accent/[0.04]":"border-l-transparent"].join(" "),style:c?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[c&&!!h&&s("span",{className:"absolute right-[18px] top-6 flex flex-col items-end gap-0.5 text-right",children:[n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:"→ Message routes here"}),n("span",{className:`font-mono ${t.labelXs} uppercase tracking-[0.18em] text-fg-dim`,children:"Other inboxes filter as spam"})]}),n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em] transition-colors`,c?"text-fg":"text-accent"].join(" "),children:e.label}),F?n("a",{href:e.href,onClick:Y=>Y.stopPropagation(),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] transition-colors hover:text-accent`,c?"text-accent":"text-fg"].join(" "),children:e.value}):n("a",{href:T(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em]`,c?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${o}`)})}),S.length>0&&n("div",{"data-contact-phone-list":!0,className:"hidden flex-col gap-0 max-[1100px]:flex",children:ge(S).map((e,o)=>{const c=!!e.groupId;return s("div",{...A(e,y),className:["flex flex-col gap-3 border-b border-line px-5 py-5",c?"":"border-t-2 border-t-accent"].join(" "),children:[n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em]`,c?"text-fg":"text-accent"].join(" "),children:e.label}),n("a",{href:T(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] [overflow-wrap:anywhere]`,c?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${o}`)})})]})})]})}export{M as CHANNEL_HINTS,T as channelHref,ve as default,be as drawnChannels,V as fieldClass,ge as mergeChannelsForPhone,he as topicFieldOf};
|
|
@@ -1 +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/
|
|
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/document/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};
|