efficient-storefront-blocks 0.75.0 → 0.76.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 +29 -0
- package/dist/chunks/EditorPreviewCheckout-ANI7HUYX.js +4 -0
- package/dist/chunks/{SiteEditorProvider-N4T55FAV.js → SiteEditorProvider-AJUWZYHT.js} +1 -1
- package/dist/chunks/chunk-3IQQNZIM.js +311 -0
- package/dist/chunks/chunk-4F5CAFXO.js +1 -0
- package/dist/chunks/chunk-YAYHH5GY.js +1 -0
- package/dist/chunks/{chunk-K26JUDGZ.js → chunk-YFPWVNDB.js} +1 -1
- package/dist/chunks/{fitment-data-5ZSHENM3.js → fitment-data-IZYCNTET.js} +1 -1
- package/dist/contract.js +2 -2
- package/dist/editor/components/BlogSource.js +1 -1
- package/dist/editor/components/CategoryProductFields.d.ts +22 -0
- package/dist/editor/components/CategoryProductFields.js +1 -0
- package/dist/editor/components/CategorySource.d.ts +12 -0
- package/dist/editor/components/CategorySource.js +1 -1
- package/dist/editor/components/CollectionPicker.js +1 -1
- package/dist/editor/components/CountryShowAsTiles.js +1 -1
- package/dist/editor/components/EditorPreviewChat.js +1 -11
- package/dist/editor/components/EditorPreviewSurface.js +1 -1
- package/dist/editor/components/GalleryProductBinding.js +1 -1
- package/dist/editor/components/GalleryShowcaseSource.js +1 -1
- package/dist/editor/components/HeaderSettingsPanel.d.ts +8 -4
- package/dist/editor/components/HeaderSettingsPanel.js +1 -1
- package/dist/editor/components/MenuPicker.js +1 -1
- package/dist/editor/components/PreviewProductPicker.js +1 -1
- package/dist/editor/components/ProductHeroSource.js +1 -1
- package/dist/editor/components/ProductPicker.js +1 -1
- package/dist/editor/components/SocialLinksDoor.js +1 -1
- package/dist/editor/components/SpecTableSource.js +1 -1
- package/dist/editor/lib/document/block-align-row.d.ts +2 -0
- package/dist/editor/lib/document/block-align-row.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/AccountBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/AlloyWheelsListing/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/BundleOffer/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/CartBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/CatalogFilterBar/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/CheckoutCTA/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/CollectionCard/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/Collections/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/CompatibleTyres/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/CountrySwitchBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/DeliveryOptions/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/DetailRows/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/EuTyreLabel/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/FitmentFinder/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/FitmentTable/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/Gallery/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryB/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryItem/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductGallery/fields.d.ts +2 -2
- package/dist/editor/lib/document/blocks/commerce/ProductGallery/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductGrid/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductHero/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/RelatedProducts/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/SearchBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/SpecTable/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/TyreFitment/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/TyreSizes/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/shared-fields.d.ts +1 -0
- package/dist/editor/lib/document/blocks/commerce/shared-fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/AppointmentBooking/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/BookingBox/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/ContactCards/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/ContactRouting/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/Events/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/Footer/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterDivider/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterEmailSignup/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterGroup/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterLogo/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterMenu/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterMessaging/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterPayment/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterSocial/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterText/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/Form/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/MessagingCards/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/OpeningHours/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/RateTable/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/RatingBlock/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/ReviewForm/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/Reviews/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/SiteHeader/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/SubmitBox/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/SubmitBuild/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/Subscribe/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/SubscribeBlogs/fields.js +1 -1
- package/dist/editor/lib/document/box-header.js +1 -1
- package/dist/editor/lib/document/config.d.ts +16 -16
- package/dist/editor/lib/document/config.js +1 -1
- package/dist/editor/lib/editor-currency-source.js +1 -1
- package/dist/editor/lib/storefront-editor-words.d.ts +10 -13
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/editor.css +1 -1
- package/dist/index.js +214 -724
- package/dist/links.js +1 -1
- package/dist/render/app/globals.css +32 -79
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/BoxHeaderBar.js +1 -1
- package/dist/render/components/CartContext.d.ts +1 -0
- package/dist/render/components/CartContext.js +1 -1
- package/dist/render/components/CartDrawer.js +2 -2
- package/dist/render/components/CatalogFilterBarSection.d.ts +1 -1
- package/dist/render/components/CatalogFilterBarSection.js +1 -1
- package/dist/render/components/Collections.js +1 -1
- package/dist/render/components/CompatibleTyres.js +1 -1
- package/dist/render/components/ConsentPanel.js +1 -1
- package/dist/render/components/ContactRouting.js +1 -1
- package/dist/render/components/CouponField.js +1 -1
- package/dist/render/components/CurrencyContext.js +1 -1
- package/dist/render/components/Events.js +1 -1
- package/dist/render/components/FitmentTable.js +1 -1
- package/dist/render/components/FooterGroup.d.ts +1 -1
- package/dist/render/components/FooterGroup.js +1 -1
- package/dist/render/components/FooterLogo.d.ts +2 -1
- package/dist/render/components/FooterMenu.js +1 -1
- package/dist/render/components/FooterPayment.d.ts +1 -2
- package/dist/render/components/FooterPayment.js +1 -1
- package/dist/render/components/FooterSocial.d.ts +1 -2
- package/dist/render/components/FooterSocial.js +1 -1
- package/dist/render/components/FormBlock.js +1 -1
- package/dist/render/components/GalleryItem.js +1 -1
- package/dist/render/components/GalleryShowcase.js +1 -1
- package/dist/render/components/Header.js +1 -1
- package/dist/render/components/HeaderTools.js +1 -1
- package/dist/render/components/Lightbox.d.ts +2 -2
- package/dist/render/components/Lightbox.js +1 -1
- package/dist/render/components/LinkedProductHero.d.ts +2 -0
- package/dist/render/components/PopupFrame.d.ts +17 -4
- package/dist/render/components/PopupFrame.js +1 -1
- package/dist/render/components/ProductGallery.js +1 -1
- package/dist/render/components/ProductGridSection.js +1 -1
- package/dist/render/components/ProductHeroPanel.d.ts +3 -1
- package/dist/render/components/ProductHeroPanel.js +1 -1
- package/dist/render/components/ProductLightbox.js +1 -1
- package/dist/render/components/ReviewForm.js +1 -1
- package/dist/render/components/SpecTable.d.ts +2 -1
- package/dist/render/components/SpecTable.js +1 -1
- package/dist/render/components/SubscribePopup.js +2 -2
- package/dist/render/components/TyreRenderSvg.js +1 -1
- package/dist/render/components/booking/BookingRegions.js +1 -1
- package/dist/render/components/catalog/CatalogFilterBar.d.ts +4 -4
- package/dist/render/components/catalog/CatalogFilterBar.js +1 -1
- package/dist/render/components/catalog/CatalogFilterContext.d.ts +5 -3
- package/dist/render/components/catalog/CatalogFilterContext.js +1 -1
- package/dist/render/components/catalog/FilterPill.d.ts +3 -1
- package/dist/render/components/catalog/FilterPill.js +1 -1
- package/dist/render/components/checkout/CheckoutPageClient.js +1 -1
- package/dist/render/components/checkout/checkout-parts.js +1 -1
- package/dist/render/components/checkout/checkout-state.d.ts +12 -0
- package/dist/render/components/checkout/checkout-state.js +3 -3
- package/dist/render/components/fitment/StockFitmentCard.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicProductGallery.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicProductHero.d.ts +2 -0
- 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/RecordPhotoGallery.js +1 -1
- package/dist/render/components/product-hero/TyreHeroFitment.js +1 -1
- package/dist/render/components/product-hero/VehicleQuestion.d.ts +1 -2
- package/dist/render/components/product-hero/VehicleQuestion.js +1 -1
- package/dist/render/components/product-hero/WheelHeroFitment.js +1 -1
- package/dist/render/components/product-hero/trust-bullets.d.ts +5 -0
- package/dist/render/components/product-hero/trust-bullets.js +1 -0
- package/dist/render/components/useModalDismiss.d.ts +2 -1
- package/dist/render/components/useModalDismiss.js +1 -1
- package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -1
- package/dist/render/components/wheels-plp/PlpNotifyMeDialog.js +1 -1
- package/dist/render/lib/booking/appointment-time.d.ts +2 -0
- package/dist/render/lib/booking/appointment-time.js +1 -0
- package/dist/render/lib/catalog/from-wheel.js +1 -1
- package/dist/render/lib/catalog/plp-item.js +1 -1
- package/dist/render/lib/checkout/stripe-appearance.d.ts +10 -0
- package/dist/render/lib/checkout/stripe-appearance.js +1 -0
- package/dist/render/lib/checkout/wallet-return.d.ts +1 -1
- package/dist/render/lib/commerce.d.ts +1 -0
- package/dist/render/lib/commerce.js +1 -1
- package/dist/render/lib/content/legacy-block-align.d.ts +2 -0
- package/dist/render/lib/content/legacy-block-align.js +1 -0
- package/dist/render/lib/content/menu-row.d.ts +0 -3
- package/dist/render/lib/content/menu-row.js +1 -1
- package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/BundleOffer/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/CheckoutCTA/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/Collections/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/CompatibleTyres/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/DeliveryOptions/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/DetailRows/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/EuTyreLabel/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentFinder/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/FitmentTable/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductGrid/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductHero/meta.d.ts +6 -0
- package/dist/render/lib/document/blocks/commerce/ProductHero/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductHero/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/RelatedProducts/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/SpecTable/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/SpecTable/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/TyreFitment/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/TyreSizes/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/ContactCards/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/ContactRouting/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/FooterPayment/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/FooterSocial/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/MessagingCards/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/OpeningHours/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/RateTable/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/SubmitBuild/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/Subscribe/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/SubscribeBlogs/meta.js +1 -1
- package/dist/render/lib/document/lazy-draws.js +1 -1
- package/dist/render/lib/document/render-client.d.ts +8 -3
- package/dist/render/lib/document/render-client.js +1 -1
- package/dist/render/lib/document/section-to-box-rows-reviews.js +1 -1
- package/dist/render/lib/document/storefront-root.d.ts +0 -2
- package/dist/render/lib/document/storefront-root.js +1 -1
- package/dist/render/lib/field-input.d.ts +1 -0
- package/dist/render/lib/field-input.js +1 -0
- package/dist/render/lib/sections/content-cap-gutter.d.ts +1 -0
- package/dist/render/lib/sections/content-cap-gutter.js +1 -0
- package/dist/render/lib/sections/hero-trust-bullets.d.ts +2 -0
- package/dist/render/lib/sections/hero-trust-bullets.js +1 -0
- package/dist/render/lib/tyres/spec-sheet.d.ts +17 -0
- package/dist/render/lib/tyres/spec-sheet.js +1 -1
- package/dist/render/lib/use-scope-class.d.ts +1 -0
- package/dist/render/lib/use-scope-class.js +1 -0
- package/dist/render/lib/wheels/catalog-default-layout.d.ts +3 -3
- package/dist/render/lib/wheels/catalog-default-layout.js +1 -1
- package/dist/render/lib/wheels/catalog-filters.d.ts +2 -2
- package/dist/render/lib/wheels/catalog-filters.js +1 -1
- package/dist/render/lib/wheels/grid-source.d.ts +7 -1
- package/dist/render/lib/wheels/grid-source.js +1 -1
- package/dist/render/lib/wheels/plp-hydrate.js +1 -1
- package/dist/words.d.ts +46 -45
- package/dist/words.js +6 -6
- package/package.json +4 -4
- package/dist/chunks/EditorPreviewCheckout-27GNLSNR.js +0 -4
- package/dist/chunks/chunk-3TBLX25X.js +0 -1
- package/dist/chunks/chunk-4V6BLJSG.js +0 -1
- package/dist/chunks/chunk-WPHE7RI4.js +0 -246
- package/dist/render/components/product-hero/hero-content.d.ts +0 -7
- package/dist/render/components/product-hero/hero-content.js +0 -1
- package/dist/render/components/useIsLightTheme.d.ts +0 -1
- package/dist/render/components/useIsLightTheme.js +0 -1
- package/dist/render/lib/content/product-hero.d.ts +0 -14
- package/dist/render/lib/content/product-hero.js +0 -1
- package/dist/render/lib/wheels/collections.d.ts +0 -22
- package/dist/render/lib/wheels/collections.js +0 -1
- /package/dist/chunks/{chunk-WPHE7RI4.js.LEGAL.txt → chunk-3IQQNZIM.js.LEGAL.txt} +0 -0
- /package/dist/chunks/{chunk-SJODSVWU.js → chunk-5NXOTPHK.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as c,jsxs as N}from"react/jsx-runtime";import{useEffect as j,useMemo as T,useState as F}from"react";import{resolveMedia as O}from"efficient-web-builder/render/lib/media";import{useEaselHost as B}from"efficient-easel/screen/lib/host";import{loadProductCatalog as H}from"../../render/components/useProductCatalog.js";import{loadStorefrontCategories as M}from"./useStorefrontCategories.js";import{useCategoryFilter as R}from"./useCategoryFilter.js";import _ from"./CategoryProductFields.js";import{useSnapshotSource as z}from"efficient-web-builder/editor/components/useSnapshotSource";import W from"efficient-web-builder/editor/components/SourceStatus";import{say as t}from"efficient-web-builder/format/lib/editor-words";function p(e){return{slug:e.slug,name:e.name,process:e.process,spokes:e.spokes,mesh:e.mesh,spec:e.spec,finishes:e.finishes.map(s=>({name:s.name,image:O(s.angles?.[0]??s.src)??null}))}}function Y({value:e,onChange:s}){const f=B(),{rows:r,loading:a,refreshing:i,errored:u,refresh:g}=z({load:H,resolve:(o,n)=>o.find(l=>l.slug===n.slug),snapshot:p,value:e,onChange:s}),[h,y]=F(null);j(()=>{let o=!1;return M().then(n=>{o||y(n)}),()=>{o=!0}},[]);const d=T(()=>r&&e?.slug?r.find(o=>o.slug===e.slug)??null:null,[r,e?.slug]),{category:b,setCategory:k,categoryNames:S,filtered:x}=R(r,h,d),m=!!e?.slug&&r!==null&&!d,C=o=>{if(!o){s(null);return}const n=(r??[]).find(l=>l.slug===o);n&&s(p(n))},P=()=>{e?.slug&&f.send("storefront-editor:open-product",{slug:e.slug,name:e.name})},w=!!e?.spec,E=u?"error":i?"loading":"idle",L=u?t("Couldn’t reach the product catalog."):i?t("Syncing from the catalog…"):m?t("Linked to “{name}” — no longer in the catalog.",{name:e?.name??""}):w?t("Linked to “{name}” · every spec row follows the product.",{name:e?.name??""}):t("Linked to “{name}” — this product has no spec data yet.",{name:e?.name??""});return N("div",{children:[c(_,{category:b,onChange:k,categoryNames:S,readOnly:a,products:x,product:e?.slug??"",onProductChange:C,productReadOnly:a,emptyLabel:a?t("Loading…"):t("None (write the rows yourself)"),extraOptions:m?[{label:t("{name} (unavailable)",{name:e.name}),value:e.slug}]:[]}),e?.slug?c(W,{status:E,statusText:L,onRefresh:g,busy:i,edit:{label:t("Edit product ✎"),onClick:P},hint:t("Every spec row (lug count, bolt pattern, offset, center bore, load rating, bump profile…) comes from the product record — edit its part numbers in the Products database and this table updates to match. You still choose which finish to picture and an optional size.")}):c("p",{className:"es-field-hint sf-hint-keep",style:{marginTop:7},children:t("Pick a product to fill the spec table from the catalog, or keep “None” to write the rows yourself.")})]})}export{Y as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{blockAlignmentField as o}from"efficient-easel/screen/lib/document/box-fields";import{legacyBlockAlignOf as r}from"../../../render/lib/content/legacy-block-align.js";function c(n){const l=o(n);return{...l,render:e=>l.render({...e,value:r(e.value)??e.value})}}export{c as blockAlignRow};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{StylesIcon as t}from"efficient-easel/icons";import{group as
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{StylesIcon as t}from"efficient-easel/icons";import{group as r}from"efficient-easel/screen/lib/document/box-fields";import{segmented as m}from"efficient-web-builder/editor/lib/document/box-fields";import{TOOL_STYLE_OPTIONS as e}from"../shared-fields.js";const f={fields:{_gStyle:r("Style"),style:m("Show as",o(t,{}),e,"icon")}};export{f as AccountBlockFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as n}from"react/jsx-runtime";import
|
|
1
|
+
import{jsx as n}from"react/jsx-runtime";import _ from"efficient-web-builder/editor/components/MultiSelectField";import L from"../../../../../components/WheelsPerRowField.js";import{PLP_GATE_DEFAULTS as u}from"../../../../../../render/components/wheels-plp/AlloyWheelsListing.js";import{LISTING_CARD_SHOW as y}from"../../../../../../render/lib/sections/card-show-defaults.js";import{SortIcon as C,CarIcon as v,HashIcon as T}from"efficient-easel/icons";import{useEasel as w}from"efficient-easel/easel";import{text as O,textarea as k,panelNote as E,toggle as H,copyText as f,plainTextarea as g,cardShowFields as x,cardMediaFields as b,cardStyleFields as A}from"efficient-web-builder/editor/lib/document/controls";import{group as l}from"efficient-easel/screen/lib/document/box-fields";import{select as W,slider as N}from"efficient-web-builder/editor/lib/document/box-fields";import{noControlField as R,NoControlMark as G}from"efficient-easel/screen/lib/document/panel-no-control-mark";import{PLP_SORT_LABELS as D}from"../../../../../../render/lib/wheels/plp-filters.js";import{resolvePlpKinds as j}from"../../../../../../render/lib/catalog/plp-item.js";import{productKindsField as z}from"../shared-fields.js";import{plpVehicleCopy as K}from"../../../../../../render/lib/catalog/plp-vehicle-copy.js";import{ALLOYWHEELSLISTING_PH as h}from"../../../../../../render/lib/document/blocks/commerce/AlloyWheelsListing/meta.js";import{say as M}from"efficient-web-builder/format/lib/editor-words";const s=[{value:"showInStock",label:"In stock"},{value:"showCollection",label:"Collection"},{value:"showPrice",label:"Price"}],B="Brand, Color, Size and PCD follow the product type. Set them in Product types.",F="root:default-zone";function V(){const{appState:o,dispatch:t}=w(e=>e),r=o.ui.itemSelector,P=o.data.content??[],a=r&&(r.zone===void 0||r.zone===F)?r.index:-1,i=a>=0?P[a]:void 0,d=i?.props??{},S=s.filter(e=>d[e.value]!==!1).map(e=>e.value);return n(_,{label:"Filters",options:s.map(e=>({...e,label:M(e.label)})),value:S,onChange:e=>{if(!i||i.type!=="AlloyWheelsListing")return;const p={};for(const c of s){const m=e.includes(c.value);d[c.value]!==!1!==m&&(p[c.value]=m)}Object.keys(p).length&&t({type:"replace",destinationZone:F,destinationIndex:a,data:{...i,props:{...i.props,...p}}})}})}const I=()=>R({type:"custom",render:()=>n(G,{})},"always"),pe={fields:{_gHeader:l("Header"),heading:O("Heading",h.heading),intro:k("Intro",h.intro),_gResults:l("Products"),kinds:z(),defaultSort:W("Opening sort",n(C,{}),Object.entries(D).map(([o,t])=>({value:o,label:t})),"recommended"),_gFilters:l("Filters"),showInStock:{type:"custom",label:"Filters",options:s,render:()=>n(V,{})},showCollection:I(),showPrice:I(),_nFieldFilters:E(B),_gVehicle:l("Car prompt"),askForCar:H("Ask for the car first",!0,n(v,{})),gateHeading:f("Welcome heading",u.heading),gateIntro:g("Welcome intro",u.intro),...x({defaults:y}),...b({coverHint:"A card's opening picture — picking another color opens that color's first picture.",spinDefault:!1}),...A(),_gGrid:l("Grid"),columns:{type:"custom",render:({value:o,onChange:t})=>n(L,{value:o,onChange:t})},perPage:N("Products per page",n(T,{}),8,60,4,24)},resolveFields:(o,{fields:t})=>{const r=K(j(o.props.kinds));return{...t,gateHeading:f("Welcome heading",r.gateHeading),gateIntro:g("Welcome intro",r.gateIntro)}}};export{pe as AlloyWheelsListingFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as d}from"react/jsx-runtime";import{ColumnsIcon as i}from"efficient-easel/icons";import{text as a,textarea as e,cardImageField as s}from"efficient-web-builder/editor/lib/document/controls";import{group as o}from"efficient-easel/screen/lib/document/box-fields";import{slider as l}from"efficient-web-builder/editor/lib/document/box-fields";import{headFieldsForPlacement as n,SPLITTABLE_SECTIONS as f}from"efficient-web-builder/format/lib/sections/section-head-placement";import{PH as r}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{PRODUCTGRID_PH as p}from"../../../../../../render/lib/document/blocks/commerce/placeholders.js";const y={fields:{_gHeader:o("Header"),num:a("Number",p.num),title:e("Heading",r.sectionHeading),description:e("Body",r.body),_gLayout:o("Layout"),columns:l("Columns",d(i,{}),2,3,1,3),cardImage:s()},resolveFields:(m,{fields:t,parent:u})=>n(t,m.props.headPlacement,f.BundleOffer.headRows)};export{y as BundleOfferFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{StylesIcon as
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{StylesIcon as r}from"efficient-easel/icons";import{group as t}from"efficient-easel/screen/lib/document/box-fields";import{segmented as m}from"efficient-web-builder/editor/lib/document/box-fields";import{TOOL_STYLE_OPTIONS as e}from"../shared-fields.js";const S={fields:{_gStyle:t("Style"),style:m("Show as",o(r,{}),e,"icon")}};export{S as CartBlockFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{HashIcon as l,SortIcon as u,LayoutIcon as i}from"efficient-easel/icons";import{toggle as o,plainText as c,linkField as a,panelNote as _}from"efficient-web-builder/editor/lib/document/controls";import{group as r}from"efficient-easel/screen/lib/document/box-fields";import{select as m}from"efficient-web-builder/editor/lib/document/box-fields";import{facetToggle as t,facetNote as n}from"../controls.js";import{RESULTS_LINK_BLOCKED_NOTE as L}from"../../../../../../render/lib/wheels/catalog-filters-to-listing.js";import{FILTER_BAR_LAYOUT_OPTIONS as f,DEFAULT_FILTER_BAR_LAYOUT as p}from"../../../../../../render/lib/sections/catalog-filter-layout.js";import{withRowRules as h}from"efficient-web-builder/render/lib/document/show-when";const F="follow the product type. Set them in Product types.",s={field:"showLugs",is:!0,default:!0},R={not:s},N={fields:h({_gPills:r("Filters shown"),showProcess:t("process",!0),showLugs:t("lugs",!0),showPrice:t("price",!0),showVehicle:t("vehicle",!0),_nFieldFilters:n(["size","finish"],F),_gBar:r("Bar"),showCount:o("Result count",!0,e(l,{})),showSort:o("Sort + Clear all",!0,e(u,{})),resultsLabel:c("Results button","See all results"),resultsHref:a("Results link"),resultsBlocked:_(L),layout:m("Layout",e(i,{}),f,p)},[[["resultsHref","resultsLabel"],R],[["resultsBlocked"],s]])};export{N as CatalogFilterBarFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{text as t,textarea as e,linkField as i}from"efficient-web-builder/editor/lib/document/controls";import{group as o}from"efficient-easel/screen/lib/document/box-fields";import{PH as r}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{ctaField as d}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{CHECKOUT_CTA_PH as n}from"../../../../../../render/lib/document/blocks/commerce/CheckoutCTA/meta.js";const f={fields:{_gContent:o("Content"),eyebrow:t("Eyebrow",r.eyebrow),title:e("Heading",n.title),body:e("Body",r.body),_gButton:o("Button"),...d,secondaryText:t("Secondary button",n.secondary),secondaryHref:i("Secondary link"),_gLayout:o("Layout")}};export{f as CheckoutCTAFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as i}from"react/jsx-runtime";import
|
|
1
|
+
import{jsx as i}from"react/jsx-runtime";import r from"../../../../../components/CollectionPicker.js";import{withIdentifier as n,copyText as l,text as m,linkField as a}from"efficient-web-builder/editor/lib/document/controls";import{group as o}from"efficient-easel/screen/lib/document/box-fields";import{PH as p}from"efficient-web-builder/format/lib/document/blocks/placeholders";const C={fields:{_gContent:o("Content"),collection:{type:"custom",render:({value:e,onChange:t})=>i(r,{value:e,onChange:t})},altName:n(l("Alt name")),tag:m("Tag",p.eyebrow),_gLink:o("Link"),href:a("Link")}};export{C as CollectionCardFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{ColumnsIcon as
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{ColumnsIcon as l,HashIcon as m}from"efficient-easel/icons";import{text as n,textarea as a}from"efficient-web-builder/editor/lib/document/controls";import{group as e}from"efficient-easel/screen/lib/document/box-fields";import{slider as t}from"efficient-web-builder/editor/lib/document/box-fields";import{headFieldsForPlacement as d,SPLITTABLE_SECTIONS as c}from"efficient-web-builder/format/lib/sections/section-head-placement";import{PH as r}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{slotRowsField as p}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{CollectionsSlots as f}from"../../../../../../render/lib/document/blocks/commerce/Collections/meta.js";const I={fields:{_gContent:e("Content"),eyebrow:n("Eyebrow",r.sectionNumber),heading:a("Heading",r.sectionHeading),cardList:p("Collections","Cards"),cards:f.cards,_gLayout:e("Layout"),columns:t("Columns",o(l,{}),2,5,1,3),limit:t("Collections to display",o(m,{}),1,8,1,6)},resolveFields:(s,{fields:i,parent:C})=>d(i,s.props.headPlacement,c.Collections.headRows)};export{I as CollectionsFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{text as e,textarea as n,linkField as d,cardImageField as a}from"efficient-web-builder/editor/lib/document/controls";import{group as t}from"efficient-easel/screen/lib/document/box-fields";import{headFieldsForPlacement as m,SPLITTABLE_SECTIONS as l}from"efficient-web-builder/format/lib/sections/section-head-placement";import{COMPATIBLETYRES_PH as o}from"../../../../../../render/lib/document/blocks/commerce/CompatibleTyres/meta.js";const c={fields:{_gContent:t("Header"),num:e("Number",o.num),title:e("Heading",o.title),description:n("Body",o.description),_gFootnote:t("Footnote"),footnote:n("Footnote",o.footnote),footnoteLinkText:e("Footnote button",o.footnoteLinkText),footnoteLinkHref:d("Footnote link"),_gCards:t("Cards"),cardImage:a()},resolveFields:(r,{fields:i,parent:s})=>m(i,r.props.headPlacement,l.CompatibleTyres.headRows)};export{c as CompatibleTyresFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{SettingsField as n}from"efficient-easel/panel";import{StylesIcon as l}from"efficient-easel/icons";import{CountryShowAsTiles as m}from"../../../../../components/CountryShowAsTiles.js";import{say as t}from"efficient-web-builder/format/lib/editor-words";import{group as S}from"efficient-
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{SettingsField as n}from"efficient-easel/panel";import{StylesIcon as l}from"efficient-easel/icons";import{CountryShowAsTiles as m}from"../../../../../components/CountryShowAsTiles.js";import{say as t}from"efficient-web-builder/format/lib/editor-words";import{group as S}from"efficient-easel/screen/lib/document/box-fields";import{COUNTRY_SHOW_AS as c,COUNTRY_SHOW_AS_LABEL as f,resolveCountryShowAs as p}from"../../../../../../render/lib/content/country-show-as.js";const d={type:"custom",render:({value:e,onChange:s})=>{const r=c.find(i=>i.value===p(e));return o(n,{label:t(f),icon:o(l,{}),value:r?t(r.label):void 0,children:o(m,{value:e,onChange:s})})}},w={fields:{_gStyle:S("Style"),showAs:d}};export{w as CountrySwitchBlockFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as i}from"react/jsx-runtime";import{SettingsIcon as
|
|
1
|
+
import{jsx as i}from"react/jsx-runtime";import{SettingsIcon as s,AccentIcon as d}from"efficient-easel/icons";import{text as r,textarea as a,toggle as l,copyText as o,plainTextarea as g}from"efficient-web-builder/editor/lib/document/controls";import{group as t}from"efficient-easel/screen/lib/document/box-fields";import{headFieldsForPlacement as y,SPLITTABLE_SECTIONS as h}from"efficient-web-builder/format/lib/sections/section-head-placement";import{PH as n}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{DELIVERY_PH as m}from"../../../../../../render/lib/document/blocks/commerce/DeliveryOptions/meta.js";const O={fields:{_gContent:t("Content"),eyebrow:r("Eyebrow",n.eyebrow),title:a("Heading",m.title),body:a("Body",n.body),_gOptions:t("Options"),live:l("Use my real delivery options",!0,i(s,{})),options:{type:"array",label:"Delivery options",arrayFields:{name:o("Name"),eta:o("Window"),price:o("Price"),blurb:g("Body"),highlighted:l("Highlight",!1,i(d,{}))},getItemSummary:e=>e.name||"Option"},highlightBadge:r("Highlight badge",m.badge),_gLayout:t("Layout")},resolveFields:(e,{fields:p})=>y(p,e.props.headPlacement,h.DeliveryOptions.headRows)};export{O as DeliveryOptionsFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{ProductFieldIcon as n,WordsFromIcon as p,SquareIcon as s,ImageIcon as u}from"efficient-easel/icons";import{
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{ProductFieldIcon as n,WordsFromIcon as p,SquareIcon as s,ImageIcon as u}from"efficient-easel/icons";import{toggle as i,withScaffold as c,upload as w,plainText as o,copyText as y,plainTextarea as d}from"efficient-web-builder/editor/lib/document/controls";import{section as t}from"efficient-easel/screen/lib/document/box-fields";import{segmented as l}from"efficient-web-builder/editor/lib/document/box-fields";import{innerSpacingFields as g}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{withRowRules as f,withShowWhen as R}from"efficient-web-builder/render/lib/document/show-when";import{BOUND_TO_THE_RECORD as m,DRAWS_OTHER_RECORD as _,ON_DYNAMIC_PAGE as b,PAGE_FACTS as S}from"../page-rules.js";import{DETAILROWS_SCAFFOLD_ROWS as D}from"../../../../../../render/lib/document/blocks/commerce/DetailRows/meta.js";const P={fields:f({_sDynamic:t("Product page"),dynamic:i("Connect to product data",!1,e(n,{})),rowsFrom:l("Rows from",e(p,{}),[{label:"Product story",value:"story"},{label:"Detail shots",value:"details"}],"story"),_sRows:t("Rows"),rows:c({type:"array",label:"Rows",arrayFields:{image:w("Image","image/*"),imageShape:R(l("Image shape",e(s,{}),[{label:"Square",value:"square"},{label:"Wide",value:"wide"}],"square"),{context:"node.layout",is:"narrow"}),eyebrow:o("Eyebrow"),title:y("Title"),copy:d("Body"),specs:{type:"array",label:"Specs",arrayFields:{label:o("Label","Offset"),value:o("Value","ET -10")},defaultItemProps:{label:"",value:""},getItemSummary:(a,r)=>a?.label||`Spec ${(r??0)+1}`,max:8},tag:o("Image tag")},defaultItemProps:{image:"",imageShape:"square",eyebrow:"",title:"",copy:"",specs:[],tag:""},getItemSummary:(a,r)=>a?.title||a?.eyebrow||`Row ${(r??0)+1}`},D),_dDesign:t("Design"),layout:l("Row shape",e(s,{}),[{label:"Even columns",value:"even"},{label:"Narrow image",value:"narrow"}],"even"),startLeft:i("First image on the left",!1,e(u,{})),_dLayout:t("Layout"),...g("DetailRows")},[[["_sDynamic","dynamic"],b],[["rowsFrom"],{all:[m,{not:_}]}],[["_sRows","rows"],{not:m}]]),showWhenFacts:S};export{P as DetailRowsFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{text as r}from"efficient-web-builder/editor/lib/document/controls";import{group as e}from"efficient-easel/screen/lib/document/box-fields";import{PRODUCTGRID_PH as m}from"../../../../../../render/lib/document/blocks/commerce/placeholders.js";const p={fields:{_gHeader:e("Header"),num:r("Number",m.num)}};export{p as EuTyreLabelFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as i}from"react/jsx-runtime";import{SquareIcon as l}from"efficient-easel/icons";import{text as t,textarea as m,linkField as n}from"efficient-web-builder/editor/lib/document/controls";import{group as o}from"efficient-easel/screen/lib/document/box-fields";import{segmented as d}from"efficient-web-builder/editor/lib/document/box-fields";import{headFieldsForPlacement as s,SPLITTABLE_SECTIONS as p}from"efficient-web-builder/format/lib/sections/section-head-placement";import{withRowRules as c}from"efficient-web-builder/render/lib/document/show-when";import{FITMENTFINDER_PH as e}from"../../../../../../render/lib/document/blocks/commerce/FitmentFinder/meta.js";const b={fields:c({_gHeader:o("Header"),num:t("Number",e.num),title:t("Heading",e.title),description:m("Body",e.description),_gCta:o("Call to action"),ctaText:t("Button",e.ctaText),ctaHref:n("Button link"),_gStyle:o("Style"),layout:d("Section shape",i(l,{}),[{label:"Stacked",value:"full"},{label:"One row",value:"bar"}],"full")},[[["_gCta","ctaText","ctaHref"],{not:{field:"layout",is:"bar"}}]]),resolveFields:(r,{fields:a,parent:f})=>s(a,r.props?.headPlacement,p.FitmentFinder.headRows)};export{b as FitmentFinderFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as i}from"react/jsx-runtime";import{getFitments as
|
|
1
|
+
import{jsx as i}from"react/jsx-runtime";import{getFitments as a}from"../../../../../../render/lib/wheels/fitments.js";import{WHEELS as c}from"../../../../../../render/lib/wheels/wheels.js";import{ProductFieldIcon as p,BlockProductIcon as d,ProductSizeIcon as s,NoteIcon as f}from"efficient-easel/icons";import{toggle as n,text as r,textarea as l,linkField as u}from"efficient-web-builder/editor/lib/document/controls";import{group as t}from"efficient-easel/screen/lib/document/box-fields";import{select as F}from"efficient-web-builder/editor/lib/document/box-fields";import{headFieldsForPlacement as g,SPLITTABLE_SECTIONS as _}from"efficient-web-builder/format/lib/sections/section-head-placement";import{withRowRules as T}from"efficient-web-builder/render/lib/document/show-when";import{OFF_DYNAMIC_PAGE as h}from"../page-rules.js";import{FITMENTTABLE_PH as e}from"../../../../../../render/lib/document/blocks/commerce/FitmentTable/meta.js";const E=c.filter(o=>a(o.slug).length>0).map(o=>({value:o.slug,label:o.name})),C={fields:T({_gDynamic:t("Product page"),dynamic:n("Connect to product data",!1,i(p,{})),_gContent:t("Header"),num:r("Number",e.num),title:r("Heading",e.title),description:l("Body",e.description),_gData:t("Wheel"),wheel:F("Product",i(d,{}),E,"vector-iii"),_gOptions:t("Controls"),showFilter:n("Size-filter chips",!0,i(s,{})),tooltipDefaultOn:n("Detail tooltip on by default",!0,i(f,{})),_gFootnote:t("Footnote"),footnote:l("Footnote",e.footnote),footnoteLinkText:r("Footnote button",e.footnoteLinkText),footnoteLinkHref:u("Footnote link")},[[["_gDynamic","dynamic"],{any:[]}],[["_gData","wheel"],h]]),resolveFields:(o,{fields:m,parent:P})=>g(m,o.props.headPlacement,_.FitmentTable.headRows)};export{C as FitmentTableFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{EDITOR_ONLY_GROUP as u}from"efficient-web-builder/editor/lib/document/field-groups";import w from"../../../../../components/GalleryShowcaseSource.js";import{EyeIcon as _,TabsIcon as c,BreadcrumbIcon as v,HashIcon as g,SortIcon as S}from"efficient-easel/icons";import{FieldGlyph as b}from"efficient-web-builder/editor/components/FieldGlyph";import{
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{EDITOR_ONLY_GROUP as u}from"efficient-web-builder/editor/lib/document/field-groups";import w from"../../../../../components/GalleryShowcaseSource.js";import{EyeIcon as _,TabsIcon as c,BreadcrumbIcon as v,HashIcon as g,SortIcon as S}from"efficient-easel/icons";import{FieldGlyph as b}from"efficient-web-builder/editor/components/FieldGlyph";import{text as p,plainText as y,sourceField as C,textarea as o,copyText as a,upload as i,linkField as d,toggle as s}from"efficient-web-builder/editor/lib/document/controls";import{section as h,group as l}from"efficient-easel/screen/lib/document/box-fields";import{segmented as n}from"efficient-web-builder/editor/lib/document/box-fields";import{withRowRules as T}from"efficient-web-builder/render/lib/document/show-when";import{GALLERY_PH as r}from"../../../../../../render/lib/document/blocks/commerce/Gallery/meta.js";const B=["_sVehicle","_gVehicleContent","vehicleTabLabel","vehicleTitle","vehicleBody1","vehicleBody2","_gVehicleStats","vehicleStats","_gVehicleCards","vehicleCards"],I=["_sWheel","_gWheelContent","wheelTabLabel","wheelTitle","wheelBody1","wheelBody2","_gWheelStats","wheelStats","_gWheelCards","wheelCards"],x={fields:T({_sSetup:h("Setup"),_gGallery:l("Gallery"),mode:n("Show",t(_,{}),[{label:"Gallery A",value:"vehicles"},{label:"Gallery B",value:"wheels"},{label:"Others",value:"others"},{label:"Both",value:"both"}],"both"),kicker:p("Eyebrow",r.kicker),breadcrumbLabel:y("Breadcrumb label","Gallery"),_gSource:l("Source product"),source:C(w),_sPreview:h("Preview"),_gPreview:l(u),previewTab:n("Show tab",t(c,{}),[{label:"Gallery A",value:"vehicles"},{label:"Gallery B",value:"wheels"}],"vehicles"),_sVehicle:h("Gallery A"),_gVehicleContent:l("Content"),vehicleTabLabel:y("Tab label","Gallery A"),vehicleTitle:o("Heading",r.vehicleTitle),vehicleBody1:o("Intro",r.vehicleBody1),vehicleBody2:o("Body",r.vehicleBody2),_gVehicleStats:l("Stats"),vehicleStats:{type:"array",label:"Stats",arrayFields:{value:a("Value"),label:a("Label")},getItemSummary:e=>e.label||e.value||"stat"},_gVehicleCards:l("Cards"),vehicleCards:{type:"array",label:"Cards",arrayFields:{image:i("Cover image","image/*"),photos:{type:"array",label:"More images",arrayFields:{src:i("Image","image/*")},getItemSummary:(e,m)=>`Image ${(m??0)+1}`},href:d("Product link"),process:a("Tag"),eyebrow:a("Eyebrow"),name:a("Title"),meta:a("Meta line")},getItemSummary:e=>e.name||e.eyebrow||"card"},_sWheel:h("Gallery B"),_gWheelContent:l("Content"),wheelTabLabel:y("Tab label","Gallery B"),wheelTitle:o("Heading",r.wheelTitle),wheelBody1:o("Intro",r.wheelBody1),wheelBody2:o("Body",r.wheelBody2),_gWheelStats:l("Stats"),wheelStats:{type:"array",label:"Stats",arrayFields:{value:a("Value"),label:a("Label")},getItemSummary:e=>e.label||e.value||"stat"},_gWheelCards:l("Cards"),wheelCards:{type:"array",label:"Cards",arrayFields:{image:i("Cover image","image/*"),photos:{type:"array",label:"More images",arrayFields:{src:i("Image","image/*")},getItemSummary:(e,m)=>`Image ${(m??0)+1}`},href:d("Product link"),process:a("Tag"),eyebrow:a("Eyebrow"),name:a("Title"),meta:a("Meta line")},getItemSummary:e=>e.name||e.eyebrow||"card"},_sOthers:h("Others gallery"),_gOthersContent:l("Content"),othersTitle:o("Heading",r.othersTitle),othersBody1:o("Intro",r.othersBody1),othersBody2:o("Body",r.othersBody2),_gOthersStats:l("Stats"),othersStats:{type:"array",label:"Stats",arrayFields:{value:a("Value"),label:a("Label")},getItemSummary:e=>e.label||e.value||"stat"},_gOthersCards:l("Cards"),othersCards:{type:"array",label:"Cards",arrayFields:{image:i("Cover image","image/*"),photos:{type:"array",label:"More images",arrayFields:{src:i("Image","image/*")},getItemSummary:(e,m)=>`Image ${(m??0)+1}`},href:d("Product link"),process:a("Tag"),eyebrow:a("Eyebrow"),name:a("Title"),meta:a("Meta line")},getItemSummary:e=>e.name||e.eyebrow||"card"},_sVisibility:h("Visibility"),_gElements:l("Show / hide elements"),showBreadcrumb:s("Breadcrumb",!0,t(v,{})),showStats:s("Stats",!0,t(g,{})),showIntro:s("Intro text",!0,t(b,{noun:"intro"})),showTabs:s("Tab switcher",!0,t(c,{})),showFilters:s("Tag filters",!0,t(b,{noun:"tag"})),showCount:s("Result count",!0,t(g,{})),showSort:s("Sort control",!0,t(S,{}))},[[["_sPreview","_gPreview","previewTab"],{field:"mode",is:"both",default:"both"}],[I,{not:{field:"mode",is:"vehicles"}}],[B,{not:{field:"mode",is:"wheels"}}],[["_gVehicleCards","vehicleCards","_gWheelCards","wheelCards","_gOthersCards","othersCards"],{not:{field:"source.slug",set:!0}}]])};export{x as GalleryFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as l}from"react/jsx-runtime";import{ProductFieldIcon as
|
|
1
|
+
import{jsx as l}from"react/jsx-runtime";import{ProductFieldIcon as n,ImageIcon as c,EyeIcon as d,HashIcon as p}from"efficient-easel/icons";import{toggle as g,text as t,textarea as u,linkField as i,galleryLayoutField as _,containerGapField as y,displayFields as f}from"efficient-web-builder/editor/lib/document/controls";import{group as e}from"efficient-easel/screen/lib/document/box-fields";import{select as s,slider as L}from"efficient-web-builder/editor/lib/document/box-fields";import{blockSourceField as h,blockSourceFields as A,NO_BLOCK_SOURCE as E}from"efficient-web-builder/editor/lib/document/block-source-fields";import{GALLERY_TILE_PARTS as I}from"../../../../../../render/components/GalleryItem.js";import{headFieldsForPlacement as S,SPLITTABLE_SECTIONS as G}from"efficient-web-builder/format/lib/sections/section-head-placement";import{slotRowsField as R}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{withRowRules as v}from"efficient-web-builder/render/lib/document/show-when";import{BOUND_TO_THE_RECORD as o,DRAWS_OTHER_RECORD as F,ON_DYNAMIC_PAGE as H,PAGE_FACTS as O}from"../page-rules.js";import{GALLERY_B_PH as a,GalleryBSlots as b}from"../../../../../../render/lib/document/blocks/commerce/GalleryB/meta.js";const k=[{label:"All media groups",value:"all"},{label:"Lifestyle photos",value:"lifestyle"},{label:"Product photos",value:"photos"},{label:"Accessories",value:"accessories"},{label:"Others",value:"others"}],B=[{label:"Group covers",value:"covers"},{label:"Every photo",value:"all"},{label:"Auto (covers if 4+ groups)",value:"auto"}],K={fields:v({_gDynamic:e("Product page"),dynamic:g("Connect to product data",!1,l(n,{})),mediaZone:s("Images from",l(c,{}),k,"all"),photoDisplay:s("Show",l(d,{}),B,"covers"),_gHeader:e("Header"),num:t("Section number",a.num),title:u("Heading",a.title),_gHeaderLink:e("Header link"),linkText:t("Header button",a.link),linkHref:i("Header link"),_gImages:e("Images"),imageList:R("GalleryB"),items:b.items,...f(I),dataSource:h("Image source","Images typed here"),limit:L("Images to show",l(p,{}),1,24,1,24),_gGalleryLink:e("Gallery link"),galleryHref:i("“See gallery” link"),_gArrangement:e("Arrangement"),layout:_(),gap:y("GalleryB")},[[["_gDynamic","dynamic"],H],[["mediaZone","photoDisplay"],{all:[o,{not:F}]}],[["_gImages"],{not:o}],[["items","imageList"],{all:[{not:o},E]}],[["limit"],{field:"dataSource",set:!0}]]),resolveFields:(r,{fields:m,parent:P})=>S(A("GalleryB",m,r.props),r.props.headPlacement,G.GalleryB.headRows),showWhenFacts:O};export{K as GalleryBFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import u from"../../../../../components/GalleryProductBinding.js";import{ProductFieldIcon as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import u from"../../../../../components/GalleryProductBinding.js";import{ProductFieldIcon as p,SquareIcon as s,PlacementIcon as n}from"efficient-easel/icons";import{toggle as c,upload as l,text as o,linkField as d}from"efficient-web-builder/editor/lib/document/controls";import{group as a}from"efficient-easel/screen/lib/document/box-fields";import{select as i}from"efficient-web-builder/editor/lib/document/box-fields";import{withRowRules as g}from"efficient-web-builder/render/lib/document/show-when";const m={field:"fromProduct",is:!0},P={fields:g({_gSource:a("Content source"),fromProduct:c("Fill from a product",!1,e(p,{})),product:{type:"custom",render:({value:t,onChange:r})=>e(u,{value:t,onChange:r})},_gMedia:a("Media"),image:l("Cover image","image/*"),photos:{type:"array",label:"More images",arrayFields:{src:l("Image","image/*")},getItemSummary:(t,r)=>`Image ${(r??0)+1}`},_gText:a("Text"),process:o("Tag"),eyebrow:o("Eyebrow"),name:o("Title"),meta:o("Meta"),_gLink:a("Link"),href:d("Product link"),ratio:i("Shape",e(s,{}),[{label:"Square",value:"square"},{label:"Wide (2:1)",value:"wide"},{label:"Landscape (4:3)",value:"landscape"},{label:"Portrait (4:5)",value:"portrait"},{label:"The photo's own shape",value:"auto"}],"square"),captionPlace:i("Card text",e(n,{}),[{label:"On the photo",value:"overlay"},{label:"Below the photo",value:"below"}],"overlay")},[[["_gMedia","image","photos","_gText","process","eyebrow","name","meta","_gLink","href"],{not:m}],[["product"],m]])};export{P as GalleryItemFields};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BlockFields } from "efficient-web-builder/format/lib/document/blocks/block-types";
|
|
2
2
|
export declare const PRODUCT_GALLERY_ROWS: {
|
|
3
|
-
galleryMode: import("efficient-
|
|
4
|
-
imageFit: import("efficient-
|
|
3
|
+
galleryMode: import("efficient-easel/screen/lib/document/box-fields").BoxField<string>;
|
|
4
|
+
imageFit: import("efficient-easel/screen/lib/document/box-fields").BoxField<string>;
|
|
5
5
|
};
|
|
6
6
|
export declare const ProductGalleryFields: BlockFields;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{IMAGE_FIT_ROW_LABEL as o}from"efficient-web-builder/format/lib/content/image-fit";import{GridIcon as r,ImageIcon as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{IMAGE_FIT_ROW_LABEL as o}from"efficient-web-builder/format/lib/content/image-fit";import{GridIcon as r,ImageIcon as m}from"efficient-easel/icons";import{group as a}from"efficient-easel/screen/lib/document/box-fields";import{segmented as l}from"efficient-web-builder/editor/lib/document/box-fields";import{DEFAULT_HERO_GALLERY_MODE as i,heroImageFitOptions as t,DEFAULT_HERO_IMAGE_FIT as _}from"../../../../../../render/lib/sections/hero-gallery.js";const s={galleryMode:l("Gallery",e(r,{}),[{label:"Main only",value:"main"},{label:"Main + thumbs",value:"thumbs"},{label:"Tiled",value:"tiled"}],i),imageFit:l(o,e(m,{}),t(),_)},G={fields:{_gImageGallery:a("Image gallery"),...s}};export{s as PRODUCT_GALLERY_ROWS,G as ProductGalleryFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import I from"../../../../../components/CategorySource.js";import{headerKeysOfPlace as F,LAYOUT_FIELD_KEYS as L,SECTION_THEME_FIELD_KEYS as T,SECTION_SHAPE_FIELD_KEYS as P,SECTION_ANIM_FIELD_KEYS as g,CARD_STYLE_FIELD_KEYS as O,BOUND_CARD_MEDIA_FIELD_KEYS as y,CARD_SHOW_FIELD_KEYS as C}from"efficient-web-builder/editor/lib/document/field-groups";import{TITLE_SIZES as A}from"../../../../../../render/components/ProductGridSection.js";import{DEFAULT_TITLE_SIZE as H}from"../../../../../../render/lib/sections/product-grid-title.js";import{ProductFieldIcon as R,TextSizeIcon as N,ColumnsIcon as h,ListIcon as k,HashIcon as G}from"efficient-easel/icons";import{toggle as e,text as s,textarea as d,sourceField as Y,linkField as K,cardShowFields as U,cardMediaFields as w,cardStyleFields as x,containerGapField as B,spacingFields as M}from"efficient-web-builder/editor/lib/document/controls";import{group as t}from"efficient-easel/screen/lib/document/box-fields";import{select as b,slider as n}from"efficient-web-builder/editor/lib/document/box-fields";import{isEditorOnDynamicPage as j}from"efficient-web-builder/format/lib/document/editor-page-context";import{productKindsField as z}from"../shared-fields.js";import{ALL_PRODUCTS_SLUG as W}from"../../../../../../render/lib/wheels/grid-source.js";import{headFieldsForPlacement as Z,SPLITTABLE_SECTIONS as v}from"efficient-web-builder/format/lib/sections/section-head-placement";import{PH as m}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{slotRowsField as q}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{PRODUCTGRID_PH as l}from"../../../../../../render/lib/document/blocks/commerce/placeholders.js";import{GRID_CARD_SHOW as J}from"../../../../../../render/lib/sections/card-show-defaults.js";import{truthy as r,withRowRules as c}from"efficient-web-builder/render/lib/document/show-when";import{BOUND_TO_THE_RECORD as Q,OFF_DYNAMIC_PAGE as a,ON_DYNAMIC_PAGE as V}from"../page-rules.js";import{ProductGridSlots as X}from"../../../../../../render/lib/document/blocks/commerce/ProductGrid/meta.js";const _=M({top:120,keys:{top:"padTop",bottom:"padBottom"},group:!1,only:"top"}),$=new Set([...F("Content"),"_gDynamic","dynamic","_gHeader","num","title","titleSize","description","_gLayout","columns",...Object.keys(_),...L,...T,...P,...g,...O,...y,...C]),oo={not:Q},Po={fields:c({_gDynamic:t("Product page"),dynamic:e("Connect to product data",!1,o(R,{})),_gHeader:t("Header"),num:s("Number",l.num),title:d("Heading",m.sectionHeading),titleSize:b("Heading size",o(N,{}),A,H),description:d("Body",m.body),_gProducts:t("Products"),source:Y(I),kinds:z(),productList:q("ProductGrid"),products:X.products,_gLink:t("Link"),linkText:s("Button",l.link),linkHref:K("Link"),...U({defaults:J}),...w(),...x(),_gLayout:t("Grid"),columns:n("Columns",o(h,{}),1,6,1,4),showAll:e("Show all items",!1,o(k,{})),limit:n("Items to display",o(G,{}),1,12,1,8),gap:B("ProductGrid"),..._},[[["_gDynamic","dynamic"],V],[["kinds"],{field:"source.slug",is:W}],[["products","productList"],{not:r("source.slug")}],[["limit"],{any:[a,{not:r("showAll")}]}],[["linkHref"],{any:[a,{not:r("linkText.hidden")}]}]]),resolveFields:(p,{fields:u,parent:to})=>{const E=u,f=p.props,i=Z(E,f.headPlacement,v.ProductGrid.headRows);if(!j())return i;const S=Object.keys(i).filter(D=>!$.has(D));return c(i,[[S,oo]])}};export{Po as ProductGridFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{EDITOR_ONLY_GROUP as E,LAYOUT_FIELD_KEYS as P,SECTION_THEME_FIELD_KEYS as p,SECTION_SHAPE_FIELD_KEYS as s,SECTION_ANIM_FIELD_KEYS as u}from"efficient-web-builder/editor/lib/document/field-groups";import{PREVIEWABLE_KINDS as g}from"../../../../../../render/components/pdp-dynamic/useSampleProduct.js";import T from"../../../../../components/ProductHeroSource.js";import I from"../../../../../components/PreviewProductPicker.js";import{PlacementIcon as O,CarIcon as A,LayoutIcon as L,ColumnWidthsIcon as S,SpecTableIcon as d,DollarIcon as h}from"efficient-easel/icons";import{sourceField as R,toggle as i}from"efficient-web-builder/editor/lib/document/controls";import{alignmentField as w,group as r}from"efficient-easel/screen/lib/document/box-fields";import{select as f,segmented as F,slider as v}from"efficient-web-builder/editor/lib/document/box-fields";import{isEditorOnDynamicPage as D,editorTemplateProductKind as N}from"efficient-web-builder/format/lib/document/editor-page-context";import{HERO_PRICE_PLACEMENT_OPTIONS as y,DEFAULT_HERO_PRICE_PLACEMENT as C}from"../../../../../../render/lib/sections/hero-price-placement.js";import{DEFAULT_HERO_LAYOUT as c,HERO_LAYOUTS as m,HERO_RATIO_MIN as H,HERO_RATIO_MAX as b,DEFAULT_HERO_RATIO as U,DEFAULT_HERO_TEXT_ALIGN as Y}from"../../../../../../render/lib/sections/hero-arrangement.js";import{PRODUCT_GALLERY_ROWS as M}from"../ProductGallery/fields.js";import{shownForOption as k,withRowRules as _}from"efficient-web-builder/render/lib/document/show-when";import{OFF_DYNAMIC_PAGE as G,ON_DYNAMIC_PAGE as x}from"../page-rules.js";import{TRUST_BULLETS_SLOT as a}from"../../../../../../render/lib/sections/hero-trust-bullets.js";import{ProductHeroSlots as K}from"../../../../../../render/lib/document/blocks/commerce/ProductHero/meta.js";const B=()=>({type:"custom",render:()=>o(I,{})});function V(t){const e=t?.data?.root;return g.includes(N(e?.props))}const W={context:"previewsTemplateProduct",is:!0},j=new Set([...P,...p,...s,...u,"_gPreview","previewPick","_gPriceLine","pricePlacement","_gBehaviour","showVehicleFitment","_gArrangement","heroLayout","imageRatio","textAlign","_gShow","showSpecTable","showPriceQuote","_gImageGallery","galleryMode","imageFit",a]),ne={fields:_({_gSource:r("Product"),source:R(T),_gPreview:r(E),previewPick:B(),_gPriceLine:r("Price"),pricePlacement:f("Price position",o(O,{}),y,C),_gBehaviour:r("Behavior"),showVehicleFitment:i("Vehicle fitment",!0,o(A,{})),_gArrangement:r("Arrangement"),heroLayout:F("Layout",o(L,{}),[{label:"Split",value:"split"},{label:"Image right",value:"imageRight"},{label:"Stacked",value:"stacked"}],c),imageRatio:v("Image / buy ratio",o(S,{}),H,b,1,U,"%"),textAlign:w({allow:["left","center"],fallback:Y}),_gShow:r("Show in the buy box"),showSpecTable:i("Spec table",!0,o(d,{})),showPriceQuote:i("Price / quote",!0,o(h,{})),_gImageGallery:r("Image gallery"),...M,[a]:K[a]},[[["imageRatio"],k("heroLayout",m,c,m.filter(t=>t!=="stacked"))],[["_gPreview","previewPick"],{all:[x,W]}]]),resolveFields:(t,{fields:e})=>{if(!D())return e;const l=Object.keys(e).filter(n=>!j.has(n));return _(e,[[l,G]])},showWhenFacts:{previewsTemplateProduct:(t,{appState:e})=>V(e)}};export{ne as ProductHeroFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{RELATED_CARDS_MIN as
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{RELATED_CARDS_MIN as a,RELATED_CARDS_MAX as f,RELATED_CARDS_DEFAULT as R}from"../../../../../../render/lib/catalog/related-cards.js";import{RELATIONSHIP_OPTIONS as _,DEFAULT_RELATIONSHIP as i,RELATIONSHIPS as p,CARD_ROWS_NOT_ON_A_TYRE as T}from"../../../../../../render/lib/catalog/relationships.js";import{EyeIcon as E,HashIcon as A,ColumnsIcon as c}from"efficient-easel/icons";import{text as n,textarea as e,linkField as S,cardMediaFields as L,cardStyleFields as u}from"efficient-web-builder/editor/lib/document/controls";import{group as r}from"efficient-easel/screen/lib/document/box-fields";import{select as D,slider as m}from"efficient-web-builder/editor/lib/document/box-fields";import{headFieldsForPlacement as F,SPLITTABLE_SECTIONS as I}from"efficient-web-builder/format/lib/sections/section-head-placement";import{PH as d}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{PRODUCTGRID_PH as P}from"../../../../../../render/lib/document/blocks/commerce/placeholders.js";import{withRowRules as C}from"efficient-web-builder/render/lib/document/show-when";import{RELATEDPRODUCTS_PH as s}from"../../../../../../render/lib/document/blocks/commerce/RelatedProducts/meta.js";const H={not:{field:"relationship",in:p.filter(o=>o.to==="tyre").map(o=>o.key),default:i}},G={fields:C({_gHeader:r("Header"),num:n("Number",P.num),title:e("Heading",d.sectionHeading),description:e("Body",d.body),_gFootnote:r("Footnote"),footnote:e("Footnote",s.footnote),footnoteLinkText:n("Footnote button",s.footnoteLinkText),footnoteLinkHref:S("Footnote link"),...L(),...u(),_gLayout:r("Grid"),relationship:D("Show",t(E,{}),_,i),cardCount:m("Cards to show",t(A,{}),a,f,1,R),columns:m("Columns",t(c,{}),2,4,1,3)},[[T,H]]),resolveFields:(o,{fields:l,parent:O})=>F(l,o.props.headPlacement,I.RelatedProducts.headRows)};export{G as RelatedProductsFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{StylesIcon as
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{StylesIcon as r}from"efficient-easel/icons";import{group as t}from"efficient-easel/screen/lib/document/box-fields";import{segmented as e}from"efficient-web-builder/editor/lib/document/box-fields";import{TOOL_STYLE_OPTIONS as m}from"../shared-fields.js";const f={fields:{_gStyle:t("Style"),style:e("Show as",o(r,{}),m,"icon")}};export{f as SearchBlockFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as l}from"react/jsx-runtime";import{headerKeysOfPlace as
|
|
1
|
+
import{jsx as l}from"react/jsx-runtime";import{headerKeysOfPlace as w,LAYOUT_FIELD_KEYS as T,SECTION_THEME_FIELD_KEYS as O,SECTION_SHAPE_FIELD_KEYS as b,SECTION_ANIM_FIELD_KEYS as F}from"efficient-web-builder/editor/lib/document/field-groups";import{getWheelBySlug as L}from"../../../../../../render/lib/wheels/wheels.js";import N from"../../../../../components/SpecTableSource.js";import{ProductFieldIcon as C,FinishIcon as g,DiagramIcon as R}from"efficient-easel/icons";import{toggle as u,text as A,textarea as _,sourceField as H,plainText as d}from"efficient-web-builder/editor/lib/document/controls";import{group as r}from"efficient-easel/screen/lib/document/box-fields";import{select as f}from"efficient-web-builder/editor/lib/document/box-fields";import{isEditorOnDynamicPage as B}from"efficient-web-builder/format/lib/document/editor-page-context";import{headFieldsForPlacement as x,SPLITTABLE_SECTIONS as v}from"efficient-web-builder/format/lib/sections/section-head-placement";import{truthy as n,withRowRules as E}from"efficient-web-builder/render/lib/document/show-when";import{BOUND_TO_THE_RECORD as h,ON_DYNAMIC_PAGE as K}from"../page-rules.js";import{SPECTABLE_PH as m}from"../../../../../../render/lib/document/blocks/commerce/SpecTable/meta.js";const Y="Size (blank = none selected)",U=new Set([...w("Content"),"_gDynamic","dynamic","_gHeader","num","title","description","_gDiagram","showDiagram",...T,...O,...b,...F]),j={not:h},c={any:[{all:[n("source.slug"),n("source.spec")]},{all:[{not:n("source.slug")},n("wheel")]}]},ae={fields:E({_gDynamic:r("Product page"),dynamic:u("Connect to product data",!1,l(C,{})),_gHeader:r("Header"),num:A("Number",m.num),title:_("Heading",m.title),description:_("Body",m.description),_gData:r("Product"),source:H(N),finish:f("Finish",l(g,{}),[],""),size:{type:"text",label:Y},_gDiagram:r("Diagram"),showDiagram:u("Dimension diagram",!0,l(R,{})),_gRows:r("Rows"),rows:{type:"array",label:"Rows",arrayFields:{label:d("Label"),value:d("Value")},defaultItemProps:{label:"Label",value:""},getItemSummary:o=>o?.label||o?.value||"Row"}},[[["_gDynamic","dynamic"],K],[["finish","size"],c],[["_gDiagram","showDiagram"],{any:[h,c]}],[["_gRows","rows"],{not:c}]]),resolveFields:(o,{fields:D,parent:z})=>{const s=o.props,S=B(),y=t=>x(t,o.props.headPlacement,v.SpecTable.headRows),a=s.source,p=!a?.slug&&typeof s.wheel=="string"?s.wheel:"";let i=D;if(!(S&&s.dynamic)&&(a?.slug&&a.spec||p)){const t=a?.slug?a.finishes.map(e=>e.name):(L(p)?.finishes??[]).map(e=>e.name),P=[{value:"",label:"Default (first finish)"},...t.map(e=>({value:e,label:e}))];i={...i,finish:f("Finish",l(g,{}),P,"")}}const I=Object.keys(i).filter(t=>!U.has(t));return y(E(i,[[I,j]]))}};export{ae as SpecTableFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{text as e,textarea as n,linkField as a}from"efficient-web-builder/editor/lib/document/controls";import{group as t}from"efficient-easel/screen/lib/document/box-fields";import{headFieldsForPlacement as l,SPLITTABLE_SECTIONS as m}from"efficient-web-builder/format/lib/sections/section-head-placement";import{PH as o}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{PRODUCTGRID_PH as d}from"../../../../../../render/lib/document/blocks/commerce/placeholders.js";const s={link:"Know your size? Pick it below"},P={fields:{_gHeader:t("Header"),num:e("Number",d.num),title:e("Heading",o.sectionHeading),description:n("Body",o.body),_gCta:t("Call to action"),escapeText:e("Button",s.link),escapeHref:a("Button link")},resolveFields:(i,{fields:r,parent:p})=>l(r,i.props.headPlacement,m.TyreFitment.headRows)};export{P as TyreFitmentFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{text as e,textarea as t}from"efficient-web-builder/editor/lib/document/controls";import{group as d}from"efficient-easel/screen/lib/document/box-fields";import{headFieldsForPlacement as m,SPLITTABLE_SECTIONS as s}from"efficient-web-builder/format/lib/sections/section-head-placement";import{PH as r}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{PRODUCTGRID_PH as a}from"../../../../../../render/lib/document/blocks/commerce/placeholders.js";const T={fields:{_gHeader:d("Header"),num:e("Number",a.num),title:e("Heading",r.sectionHeading),description:t("Body",r.body)},resolveFields:(o,{fields:i,parent:p})=>m(i,o.props.headPlacement,s.TyreSizes.headRows)};export{T as TyreSizesFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
import{multiSelect as l}from"efficient-web-builder/editor/lib/document/controls";import{PRODUCT_KIND_OPTIONS as o,resolvePlpKinds as n}from"../../../../../render/lib/catalog/plp-item.js";const u=[{label:"Icon",value:"icon"},{label:"Text",value:"text"}];function a(){const r=l("Product types",o,"None — this section will be empty"),t=r.render;return{...r,render:e=>t({...e,value:Array.isArray(e.value)?e.value:n(void 0)})}}export{u as TOOL_STYLE_OPTIONS,a as productKindsField};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{plainText as e,plainTextarea as o}from"efficient-web-builder/editor/lib/document/controls";import{group as t}from"efficient-easel/screen/lib/document/box-fields";import{withRowRules as n}from"efficient-web-builder/render/lib/document/show-when";import{AppointmentBookingSlots as i}from"../../../../../../render/lib/document/blocks/service/AppointmentBooking/meta.js";const s={not:{field:"layout",is:"boxes"}},p={fields:n({_gContent:t("Content"),eyebrow:e("Eyebrow"),heading:o("Heading"),intro:o("Introduction"),buttonLabel:e("Submit button"),successMessage:o("Confirmation message"),boxes:i.boxes},[[["eyebrow","heading","intro","buttonLabel","successMessage"],s]])};export{p as AppointmentBookingFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{BOOKING_TEXT_KINDS as
|
|
1
|
+
import{BOOKING_TEXT_KINDS as r,BOOKING_KIND_PROP as a,BOOKING_TEXT_KIND_LABELS as l}from"../../../../../../render/lib/booking/text-kinds.js";import{FONT_ROLES as O,FONT_ROLE_LABELS as f}from"efficient-web-builder/format/lib/fonts";import{plainText as m,plainTextarea as n}from"efficient-web-builder/editor/lib/document/controls";import{group as c}from"efficient-easel/screen/lib/document/box-fields";import{select as u}from"efficient-web-builder/editor/lib/document/box-fields";import{textKindGlyph as p}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{withRowRules as _}from"efficient-web-builder/render/lib/document/show-when";const b={eyebrow:"head",heading:"head",intro:"head",buttonLabel:"details",successMessage:"confirm"},d={any:[]};function g(o){const e=r.map(t=>a[t]),i=[];for(const t of Object.keys(o)){if(t.startsWith("_")||e.includes(t))continue;const s=b[t];i.push([[t],s?{field:"region",is:s}:d])}return i}const B={fields:{_gTextStyle:c("Text style"),...Object.fromEntries(r.map(o=>[a[o],u(l[o],p(l[o]),[{label:"Section's own",value:""},...O.map(e=>({label:f[e],value:e}))],"")])),_gContent:c("Content"),eyebrow:m("Eyebrow"),heading:n("Heading"),intro:n("Introduction"),buttonLabel:m("Submit button"),successMessage:n("Confirmation message")},resolveFields:(o,{fields:e})=>_(e,g(e))};export{B as BookingBoxFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as a}from"react/jsx-runtime";import{PhoneIcon as m}from"efficient-easel/icons";import{copyText as t,textarea as r}from"efficient-web-builder/editor/lib/document/controls";import{group as n}from"efficient-easel/screen/lib/document/box-fields";import{select as i}from"efficient-web-builder/editor/lib/document/box-fields";import{CONTACT_KIND_FALLBACK as e,CONTACT_KIND_OPTIONS as s}from"../../../../../../render/lib/document/blocks/service/ContactCards/meta.js";import{CONTACTS_MAX as C,CONTACT_KIND_NAMES as p}from"../../../../../../render/lib/sections/messaging.js";const I={fields:{_gContent:n("Content"),title:r("Heading","Who to ask"),description:r("Body",""),contacts:{type:"array",label:"Contacts",max:C,arrayFields:{name:t("Name","Who to ask for"),kind:i("Reach by",a(m,{}),s,e),value:t("Number or ID","A number, @name or an ID")},defaultItemProps:{name:"",kind:e,value:""},getItemSummary:o=>o.name||(o.kind?p[o.kind]:"Contact")}}};export{I as ContactCardsFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as s}from"react/jsx-runtime";import{slugify as
|
|
1
|
+
import{jsx as s}from"react/jsx-runtime";import{slugify as f}from"efficient-shell/format";import{CONTACT_ROUTING_DEFAULTS as o}from"efficient-web-builder/format/lib/content/contact";import{EyeIcon as S,LinkIcon as y,EyeOffIcon as w}from"efficient-easel/icons";import{FieldGlyph as O}from"efficient-web-builder/editor/components/FieldGlyph";import{text as p,plainText as i,plainTextarea as c,textarea as d,textList as I,toggle as N,withOffPage as v}from"efficient-web-builder/editor/lib/document/controls";import{group as u}from"efficient-easel/screen/lib/document/box-fields";import{select as T}from"efficient-web-builder/editor/lib/document/box-fields";import{formPicker as x}from"../controls.js";import{CHANNEL_HINTS as h}from"../../../../../../render/components/ContactRouting.js";import{say as m}from"efficient-web-builder/format/lib/editor-words";const B={fields:{_gTop:u("Routing groups"),routingNumber:p("Section number",o.routingNumber),routingTagline:p("Eyebrow",o.routingTagline),groups:{type:"array",label:"Groups",arrayFields:{eyebrow:i("Eyebrow"),title:c("Title"),copy:c("Body"),response:i("Response time")},getItemSummary:e=>e?.title||e?.eyebrow||m("Group")},_gForm:u("Message form"),formSlug:x(),formNumber:p("Section number",o.formNumber),formHeading:d("Heading",o.formHeading),metaItems:I("Meta lines",s(O,{noun:"meta"}),"Encrypted in transit","verbatim"),_gOther:u("“Other” reason"),showOther:N("Show “Other” reason",o.showOther,s(S,{})),otherLabel:i("“Other” chip label",o.otherLabel),otherNoteTitle:p("“Other” note title",o.otherNoteTitle),otherNoteBody:d("“Other” note body",o.otherNoteBody),_gSubmit:u("Submit button"),buttonText:i("Submit button",o.buttonText),consent:d("Consent line",o.consent),_gChannels:u("Contact info"),channels:{type:"array",label:"Channels",arrayFields:{label:i("Label",h.label),value:i("Value",h.value),href:v(i("Link")),sub:i("Sub line",h.sub),groupId:T("Link to group",s(y,{}),[{label:"— Not linked —",value:""},...o.groups.map(e=>({label:e.title,value:e.id}))],""),hidden:N("Hidden",!1,s(w,{}))},getItemSummary:e=>{const n=e?.label||e?.value||m("Channel");return e?.hidden?m("{name} · hidden",{name:n}):n}}},resolveData:e=>{const n=e.props.groups??[];if(!n.some(r=>!r?.id))return e;const l=new Set,b=n.map((r,a)=>{if(r?.id)return l.add(r.id),r;let t=f(r?.title)||`group-${a+1}`;for(;l.has(t);)t=`${t}-${a+1}`;return l.add(t),{...r,id:t}});return{...e,props:{...e.props,groups:b}}},resolveFields:(e,{fields:n})=>{const l=e.props.groups??[],b=[{label:"— Not linked —",value:""},...l.map((t,g)=>({label:t?.title||t?.eyebrow||m("Group {n}",{n:g+1}),value:t?.id||f(t?.title)||`group-${g+1}`}))],r=n,a=r.channels;return a?.type==="array"&&a.arrayFields&&(r.channels={...a,arrayFields:{...a.arrayFields,groupId:T("Link to group",s(y,{}),b,"")}}),n}};export{B as ContactRoutingFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{BOX_DARKEN as t}from"efficient-web-builder/format/lib/content/box-background";import
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{BOX_DARKEN as t}from"efficient-web-builder/format/lib/content/box-background";import f from"../../../../../components/BlogSource.js";import{EVENTS_LAYOUTS as c,EVENTS_LAYOUT_FALLBACK as p,EVENTS_FEATURED_WIDTH as o,EVENTS_LAYOUT_COUNT as l,EVENTS_LAYOUT_SPREAD as E,EVENTS_LAYOUT_TABS as i}from"../../../../../../render/components/Events.js";import{LayoutIcon as S,ColumnsIcon as T,WidthIcon as _,ImageIcon as g,OpacityIcon as h,ListIcon as A,HashIcon as F,SearchIcon as I}from"efficient-easel/icons";import{text as d,textarea as L,linkField as N,sourceField as C,toggle as a,containerGapField as k,cardImageField as y}from"efficient-web-builder/editor/lib/document/controls";import{group as s}from"efficient-easel/screen/lib/document/box-fields";import{select as O,slider as r}from"efficient-web-builder/editor/lib/document/box-fields";import{blockSourceField as P,blockSourceFields as v}from"efficient-web-builder/editor/lib/document/block-source-fields";import{headFieldsForPlacement as w,SPLITTABLE_SECTIONS as x}from"efficient-web-builder/format/lib/sections/section-head-placement";import{withRowRules as B}from"efficient-web-builder/render/lib/document/show-when";import{EVENTS_PH as n}from"../../../../../../render/lib/document/blocks/service/Events/meta.js";const U=50,J={fields:B({_gContent:s("Content"),num:d("Number",n.num),title:L("Heading",n.title),linkText:d("Button",n.link),linkHref:N("Link"),dataSource:P("Cards from","Blog posts"),_gPosts:s("Blog posts"),posts:C(f,{snapshotCount:U}),_gLayout:s("Layout"),layout:O("Arrangement",e(S,{}),c,p),columns:r("Columns",e(T,{}),2,4,1,3),featuredWidth:r("Featured width",e(_,{}),o.min,o.max,o.step,o.fallback,o.unit),listCover:a("Show cover image on the smaller cards",!0,e(g,{})),featuredDarken:r("Darken",e(h,{}),t.min,t.max,t.step,55,t.unit),nameFilter:a("Filter by name",!1,e(I,{})),gap:k("Events"),showAll:a("Show all blog posts",!1,e(A,{})),limit:r("Posts to display",e(F,{}),1,20,1,3),cardImage:y()},[[["limit"],{field:"showAll",in:[!1,0,"",null],default:!1}],[["columns"],{not:{field:"layout",in:["featured",i,l,E]}}],[["featuredWidth","listCover","featuredDarken"],{field:"layout",is:"featured"}],[["nameFilter"],{not:{field:"layout",in:["featured",i,l]}}],[["cardImage"],{not:{field:"layout",in:[i,l]}}]]),resolveFields:(m,{fields:u,parent:V})=>w(v("Events",u,m.props,{hides:["_gPosts","posts"]}),m.props.headPlacement,x.Events.headRows)};export{J as EventsFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import n from"efficient-web-builder/editor/components/WidthFollowField";import i from"../../../../../components/FooterLogoFillField.js";import m from"../../../../../components/FooterLogoRowFillField.js";import d from"../../../../../components/FooterColumnsField.js";import{group as l}from"efficient-
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import n from"efficient-web-builder/editor/components/WidthFollowField";import i from"../../../../../components/FooterLogoFillField.js";import m from"../../../../../components/FooterLogoRowFillField.js";import d from"../../../../../components/FooterColumnsField.js";import{group as l}from"efficient-easel/screen/lib/document/box-fields";import{say as r}from"efficient-web-builder/format/lib/editor-words";import{slotRowsField as p}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{FooterSlots as a}from"../../../../../../render/lib/document/blocks/service/Footer/meta.js";const b={fields:{_gLayout:l("Layout"),width:{type:"custom",render:({value:o,onChange:e})=>t(n,{value:o==="full"?"full":o==="page"||o==="content"?"content":void 0,resolved:"content",followsLabel:r("Follows the page"),hint:r("Whether the footer's blocks sit on the page's column, or run edge to edge. The background always spans the screen."),onChange:s=>e(s)})},columns:{type:"custom",render:({value:o,onChange:e})=>t(d,{value:o,onChange:e})},logoFill:{type:"custom",render:({value:o,onChange:e})=>t(i,{value:o,onChange:e})},logoRowFill:{type:"custom",render:({value:o,onChange:e})=>t(m,{value:o,onChange:e})},_gBlocks:l("Blocks"),blockList:p("Footer"),blocks:a.blocks}};export{b as FooterFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{EyeOffIcon as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{EyeOffIcon as i,WeightIcon as t,WidthIcon as r}from"efficient-easel/icons";import{deviceField as m}from"efficient-easel/screen/lib/document/device-fields";import{toggle as s}from"efficient-web-builder/editor/lib/document/controls";import{group as l}from"efficient-easel/screen/lib/document/box-fields";import{slider as o}from"efficient-web-builder/editor/lib/document/box-fields";const h={fields:{_gStyle:l("Style"),thickness:o("Thickness",e(t,{}),1,8,1,1,"px"),lengthPct:o("Length",e(r,{}),10,100,1,100,"%"),hideOnMobile:m("mobile",s("Hide",!1,e(i,{})))}};export{h as FooterDividerFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{plainTextarea as o,plainText as e}from"efficient-web-builder/editor/lib/document/controls";import{group as i}from"efficient-easel/screen/lib/document/box-fields";const a={fields:{_gContent:i("Content"),heading:o("Heading","Join our email list"),placeholder:e("Field placeholder","Email address"),buttonLabel:e("Button","Subscribe")}};export{a as FooterEmailSignupFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{containerGapField as t}from"efficient-web-builder/editor/lib/document/controls";import{boxAlignField as i,group as e,noGlyph as n}from"efficient-easel/screen/lib/document/box-fields";import{segmented as l}from"efficient-web-builder/editor/lib/document/box-fields";import{slotRowsField as a}from"efficient-web-builder/editor/lib/document/blocks/shared-fields";import{FooterGroupSlots as s}from"../../../../../../render/lib/document/blocks/service/FooterGroup/meta.js";function c(){const r=i({runs:o=>o==="horizontal"?"row":"column"});return{...r,fallback:"start",render:o=>r.render({...o,value:o.value??"start"})}}const h={fields:{_gLayout:e("Layout"),direction:l("Direction",n("`Direction` names how a container's children run — a MODIFIER, not a thing. doc/naming.md N10.1 gives the idea a dash in its Glyph column; editor-shell's own `direction` meaning says the bare row is CORRECT and not an omission (SS seat, 2026-09-11)."),[{label:"Vertical",value:"vertical"},{label:"Horizontal",value:"horizontal"}],"vertical"),gap:t("FooterGroup"),align:c(),_gBlocks:e("Blocks"),blockList:a("FooterGroup"),blocks:s.blocks}};export{h as FooterGroupFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{WidthIcon as i,PaddingTopIcon as n,PaddingRightIcon as a,PaddingBottomIcon as p,PaddingLeftIcon as r}from"efficient-easel/icons";import{plainTextarea as g}from"efficient-web-builder/editor/lib/document/controls";import{blockAlignmentField as e,group as d}from"efficient-easel/screen/lib/document/box-fields";import{slider as t}from"efficient-web-builder/editor/lib/document/box-fields";import{LOGO_COLOR_FIELDS as m}from"efficient-web-builder/editor/lib/document/logo-color-fields";const s={fields:{_gContent:d("Content"),tagline:g("Body","Short brand tagline"),_gStyle:d("Style"),widthPct:t("Width",o(i,{}),40,400,1,100,"%"),align:e(),...m,padTop:t("Padding top",o(n,{}),0,120,2,0,"px"),padRight:t("Padding right",o(a,{}),0,120,2,0,"px"),padBottom:t("Padding bottom",o(p,{}),0,120,2,0,"px"),padLeft:t("Padding left",o(r,{}),0,120,2,0,"px")}};export{s as FooterLogoFields};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import t from"../../../../../components/MenuPicker.js";import{PhoneIcon as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import t from"../../../../../components/MenuPicker.js";import{PhoneIcon as m,LineBetweenIcon as l}from"efficient-easel/icons";import{deviceField as s}from"efficient-easel/screen/lib/document/device-fields";import{plainText as a,toggle as o}from"efficient-web-builder/editor/lib/document/controls";import{group as i}from"efficient-easel/screen/lib/document/box-fields";const h={fields:{_gContent:i("Content"),menu:{type:"custom",render:({value:n,onChange:r})=>e(t,{value:n,onChange:r})},heading:a("Heading","Column heading"),_gStyle:i("Style"),accordionMobile:s("mobile",o("Show as accordion",!1,e(m,{}))),showDividers:o("Dividers between links",!1,e(l,{}))}};export{h as FooterMenuFields};
|