efficient-storefront-blocks 0.80.0 → 0.81.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 +13 -0
- package/dist/chunks/{EditorPreviewCheckout-PSONSVRR.js → EditorPreviewCheckout-OIN6G67Y.js} +4 -4
- package/dist/chunks/{SiteEditorProvider-PWHW2UA6.js → SiteEditorProvider-PXXYEDUI.js} +1 -1
- package/dist/chunks/{chunk-MCCDGDRW.js → chunk-EEBM2KUO.js} +1 -1
- package/dist/chunks/{chunk-3Q66B5NU.js → chunk-K3VUREAB.js} +1 -1
- package/dist/chunks/chunk-SXRBNRRO.js +320 -0
- package/dist/chunks/{fitment-data-Q2TJ6FBU.js → fitment-data-WHDQR3A2.js} +1 -1
- package/dist/editor/components/PreviewProductPicker.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/DetailRows/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryB/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/SpecTable/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/index.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/page-rules.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/page-rules.js +1 -1
- package/dist/editor/lib/document/config.d.ts +1 -0
- package/dist/editor/lib/document/config.js +1 -1
- package/dist/editor/lib/document/section-text-regions.d.ts +1 -0
- package/dist/editor/lib/document/section-text-regions.js +1 -0
- package/dist/index.js +28 -28
- package/dist/render/app/globals.css +17 -17
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/AppointmentBooking.js +1 -1
- package/dist/render/components/CheckoutCTA.js +1 -1
- package/dist/render/components/CollectionCard.js +1 -1
- package/dist/render/components/Collections.js +1 -1
- package/dist/render/components/CompatibleTyres.js +1 -1
- package/dist/render/components/ConsentBanner.js +1 -1
- package/dist/render/components/ContactCards.js +1 -1
- package/dist/render/components/ContactRouting.js +1 -1
- package/dist/render/components/DeliveryOptions.js +1 -1
- package/dist/render/components/DetailRows.js +1 -1
- package/dist/render/components/EuTyreLabels.d.ts +1 -1
- package/dist/render/components/EuTyreLabels.js +1 -1
- package/dist/render/components/Events.js +1 -1
- package/dist/render/components/FitmentTable.js +1 -1
- package/dist/render/components/FooterDivider.js +1 -1
- package/dist/render/components/FooterSection.js +1 -1
- package/dist/render/components/FooterSocial.js +1 -1
- package/dist/render/components/FormBlock.js +1 -1
- package/dist/render/components/GalleryCard.js +1 -1
- package/dist/render/components/GalleryGrid.js +1 -1
- package/dist/render/components/GalleryItem.js +1 -1
- package/dist/render/components/GalleryShowcase.js +1 -1
- package/dist/render/components/LinkedProductHero.d.ts +2 -1
- package/dist/render/components/MessagingCards.js +1 -1
- package/dist/render/components/ProductCard.js +1 -1
- package/dist/render/components/ProductCardChrome.d.ts +4 -3
- package/dist/render/components/ProductCardChrome.js +1 -1
- package/dist/render/components/ProductGallery.js +1 -1
- package/dist/render/components/ProductGridSection.d.ts +7 -6
- package/dist/render/components/ProductGridSection.js +1 -1
- package/dist/render/components/ProductHeroPanel.d.ts +7 -2
- package/dist/render/components/ProductHeroPanel.js +1 -1
- package/dist/render/components/ProductLightbox.js +1 -1
- package/dist/render/components/RateTable.js +1 -1
- package/dist/render/components/ReviewForm.js +1 -1
- package/dist/render/components/Reviews.js +1 -1
- package/dist/render/components/SectionBand.d.ts +5 -2
- package/dist/render/components/SectionBand.js +1 -1
- package/dist/render/components/SectionBandChoice.d.ts +5 -0
- package/dist/render/components/SectionBandChoice.js +1 -0
- package/dist/render/components/SpecTable.js +1 -1
- package/dist/render/components/SubmitBuild.js +1 -1
- package/dist/render/components/Subscribe.js +1 -1
- package/dist/render/components/ThemedSelect.d.ts +4 -2
- package/dist/render/components/ThemedSelect.js +1 -1
- package/dist/render/components/TyreVehicleFitment.d.ts +2 -2
- package/dist/render/components/TyreVehicleFitment.js +1 -1
- package/dist/render/components/WheelCardFrame.js +1 -1
- package/dist/render/components/WheelPlaceholder.d.ts +3 -1
- package/dist/render/components/WheelPlaceholder.js +1 -1
- package/dist/render/components/booking/BookingRegions.js +1 -1
- package/dist/render/components/buy-row.d.ts +1 -1
- package/dist/render/components/buy-row.js +1 -1
- package/dist/render/components/card-pieces/CardPicture.d.ts +1 -1
- package/dist/render/components/card-pieces/CardPicture.js +1 -1
- package/dist/render/components/card-spin.d.ts +7 -0
- package/dist/render/components/card-spin.js +1 -0
- package/dist/render/components/catalog/CatalogFilterBar.js +1 -1
- package/dist/render/components/catalog/CatalogVehiclePicker.js +1 -1
- package/dist/render/components/catalog/PriceRange.d.ts +6 -0
- package/dist/render/components/catalog/PriceRange.js +1 -0
- package/dist/render/components/catalog/SortSelect.d.ts +8 -0
- package/dist/render/components/catalog/SortSelect.js +1 -0
- package/dist/render/components/checkout/CheckoutPageClient.js +1 -1
- package/dist/render/components/checkout/checkout-parts.js +1 -1
- package/dist/render/components/fitment/FitmentFinder.js +1 -1
- package/dist/render/components/fitment/FitmentPickerGrid.js +1 -1
- package/dist/render/components/fitment/StockFitmentCard.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicBundleOffer.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicDetailRows.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicProductHero.d.ts +2 -1
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.d.ts +3 -2
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicTyreSizes.js +1 -1
- package/dist/render/components/pdp-dynamic/KindGate.js +1 -1
- package/dist/render/components/pdp-dynamic/RecordPhotoGallery.js +1 -1
- package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +3 -2
- package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -1
- package/dist/render/components/wheels-plp/PlpCard.d.ts +3 -2
- package/dist/render/components/wheels-plp/PlpCard.js +1 -1
- package/dist/render/components/wheels-plp/PlpToolbar.d.ts +16 -0
- package/dist/render/components/wheels-plp/PlpToolbar.js +1 -0
- package/dist/render/lib/catalog/relationships.js +1 -1
- package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/DetailRows/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductGrid/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductGrid/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductHero/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/RelatedProducts/render.js +1 -1
- package/dist/render/lib/sections/catalog-text-size.d.ts +7 -0
- package/dist/render/lib/sections/catalog-text-size.js +1 -0
- package/dist/render/lib/sections/fill-row.js +1 -1
- package/dist/render/lib/sections/grid-no-hole.d.ts +1 -1
- package/dist/render/lib/sections/grid-no-hole.js +1 -1
- package/dist/render/lib/sections/product-hero-text-regions.d.ts +3 -0
- package/dist/render/lib/sections/product-hero-text-regions.js +1 -0
- package/dist/render/lib/sections/section-band.d.ts +2 -0
- package/dist/render/lib/sections/section-band.js +1 -0
- package/dist/render/lib/wheels/catalog-default-layout.js +1 -1
- package/dist/render/lib/wheels/lug-count.d.ts +1 -0
- package/dist/render/lib/wheels/lug-count.js +1 -1
- package/dist/words.d.ts +13 -1
- package/dist/words.js +5 -5
- package/package.json +3 -2
- package/dist/chunks/chunk-6MHGEO3D.js +0 -320
- /package/dist/chunks/{chunk-X5W6GJLI.js → chunk-5O3W5AUB.js} +0 -0
- /package/dist/chunks/{chunk-JUGY3EKR.js → chunk-PBQWSV3B.js} +0 -0
- /package/dist/chunks/{chunk-6MHGEO3D.js.LEGAL.txt → chunk-SXRBNRRO.js.LEGAL.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,Fragment as
|
|
1
|
+
"use client";import{jsx as e,Fragment as $,jsxs as j}from"react/jsx-runtime";import{CARD_IMAGE_SIZES as z}from"../../lib/sections/card-image-sizes.js";import{LISTING_CARD_SHOW as P}from"../../lib/sections/card-show-defaults.js";import M from"next/image";import{useState as U}from"react";import X from"../BrandPlate.js";import H,{CardBuyDialog as V}from"../card-pieces/CardBuyButton.js";import Z from"../card-pieces/CardFinishSwatches.js";import q from"../card-pieces/CardPrice.js";import J from"../card-pieces/CardProductBadge.js";import{useWheelCardState as K,WheelCardStateProvider as Q}from"../card-pieces/ProductCardState.js";import{wheelCardEyebrow as Y,wheelCardEyebrowShows as ee}from"../ProductCardEyebrow.js";import{withRMark as T}from"efficient-web-builder/render/components/RMark";import re from"../WheelPlaceholder.js";import{cardSpinOf as oe}from"../card-spin.js";import{cardHoverOf as ae}from"efficient-web-builder/format/lib/animation/hover";import{CardSpecFacts as se}from"../card-pieces/CardSpecs.js";import te from"../WheelCardFrame.js";import{CARD_IMAGE_BG_OFF as ne}from"efficient-web-builder/format/lib/content/card-image-background";import{itemBrand as ie}from"../../lib/catalog/plp-item.js";import{CARD_INDEX_BADGE_CLASS as le,CARD_INDEX_CLASS as me,DEFAULT_CARD_INDEX_FORMAT as de,DEFAULT_CARD_OUTLINE as ce}from"efficient-web-builder/format/lib/sections/product-card-style";import{setSecondSrc as he}from"../../lib/wheels/set-mode.js";import{PLP_GRID_GAP_VAR as fe}from"../../lib/wheels/plp-grid.js";import{FITMENT_FIELD_SEPARATOR as ue}from"../../lib/wheels/plp-fitment-match.js";import{coverSrcForWheel as pe,DEFAULT_COVER_INDEX as we,resolvePaintedSrc as Se}from"../../lib/wheels/cover-rendering.js";const Ce=[],ge=ae({},"AlloyWheelsListing");function _e({wheel:n,colours:c,fit:i=null,editing:l=!1,brandPlate:m=!1,kindLabel:h=null,showBrand:s=!0,showProcess:f=!1,coverIndex:u=we,fieldUsage:p=Ce,hover:w=ge,imageBackgroundFill:S=ne,showBadge:C=!0,outline:g=ce,indexBadge:_=de,showCardSizes:E=P.showCardSizes,showCardBuy:A=P.showCardBuy,showCardPage:b=P.showCardPage,showCardPrice:r=!0,showCardFinishes:o=!0,imageSizes:d=z}){return e(Q,{wheel:n,colours:c,editing:l,children:e(Ee,{fit:i,brandPlate:m,kindLabel:h,showBrand:s,showProcess:f,coverIndex:u,fieldUsage:p,hover:w,imageBackgroundFill:S,showBadge:C,outline:g,indexBadge:_,showCardSizes:E,showCardBuy:A,showCardPage:b,showCardPrice:r,showCardFinishes:o,imageSizes:d})})}function Ee({fit:n,brandPlate:c,kindLabel:i,showBrand:l,showProcess:m,coverIndex:h,fieldUsage:s,hover:f,imageBackgroundFill:u,showBadge:p,outline:w,indexBadge:S,showCardSizes:C,showCardBuy:g,showCardPage:_,showCardPrice:E,showCardFinishes:A,imageSizes:b}){const{wheel:r,sel:o,isSet:d}=K(),G=pe(r,h,o.finish?.name,o.shownSrc,n?.holes),[y,k]=U(()=>new Set),x=a=>k(t=>t.has(a)?t:new Set(t).add(a)),F=Se({overrideSrc:G,hookSrc:o.shownSrc,failed:y}),I=ie(r),B=oe(f),R=(a,t)=>e(M,{src:a,alt:t,width:800,height:800,sizes:b,className:["block h-full w-full object-contain",B.className].filter(Boolean).join(" "),style:B.style,draggable:!1,onError:()=>x(a)},a),L=o.finish?`${r.name} — ${o.finish.name}`:r.name,O=F?R(F,L):e(re,{imageLabel:r.name,spin:B}),D=d?he(r.finishes?.find(a=>a.name===o.finish?.name),F):null,W=D&&!y.has(D)?R(D,`${L} — right`):void 0,N=S!=="off"?e("span",{"aria-hidden":!0,className:`${me} ${le}`}):null,v=Y({kindLabel:i,brand:l&&I?T(I):null,process:m&&r.process?T(r.process):null},s);return j($,{children:[e(te,{href:`/wheels/${r.slug}`,wide:d,setGridGap:`var(${fe})`,identityLink:!0,containerProps:{onPointerEnter:o.arm,onTouchStart:o.arm,onFocusCapture:o.arm},probes:o.probes,outline:w,imageBackgroundFill:u,indexBadge:N,badges:e(J,{show:p,numbered:N!=null,sale:!0}),image:O,imageSecond:W,plate:c?e(X,{brand:I,logo:r.brandLogo}):null,eyebrow:v,wholeCardLink:!0,reserveEyebrow:ee({kind:!!i,brand:l,process:m},s),spec:e(se,{sizes:C,fieldUsage:s,car:n,separator:ue}),price:e(q,{show:E,setTotal:!0,wasFollowsSize:!0}),swatches:e(Z,{show:A,showSingle:!0}),buy:e(H,{buy:g,page:_})}),e(V,{})]})}export{_e as default};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export declare function PlpToolbar({ start, end, className }: {
|
|
3
|
+
start: ReactNode;
|
|
4
|
+
end?: ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
}): import("react").JSX.Element;
|
|
7
|
+
export declare function PlpResultRange({ total, range, noun, }: {
|
|
8
|
+
total: number;
|
|
9
|
+
range: {
|
|
10
|
+
from: number;
|
|
11
|
+
to: number;
|
|
12
|
+
};
|
|
13
|
+
noun: {
|
|
14
|
+
many: string;
|
|
15
|
+
};
|
|
16
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{jsx as s,jsxs as e,Fragment as t}from"react/jsx-runtime";function i({start:n,end:a,className:r=""}){return e("div",{className:[r,"flex min-h-[34px] flex-wrap items-center justify-between gap-x-4 gap-y-2 border-b border-line pb-3"].filter(Boolean).join(" "),children:[s("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-4 gap-y-2",children:n}),a]})}function m({total:n,range:a,noun:r}){return s("p",{className:"font-mono text-[12px] tabular-nums tracking-[0.08em]",children:n===0?e("span",{className:"text-fg-dim",children:["No ",r.many]}):e(t,{children:[e("span",{children:[a.from,"–",a.to]}),e("span",{className:"text-fg-dim",children:[" of ",n," ",r.many]})]})})}export{m as PlpResultRange,i as PlpToolbar};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
import{CARD_HOVER_KEYS as o}from"efficient-web-builder/format/lib/animation/hover";const r={kind:"tyre",tyres:[]},i={kind:"alloy-wheel",wheels:[]},l=[{key:"tyres-that-fit",label:"Tyres that fit this product",from:["alloy-wheel"],to:"tyre",heading:"Compatible *tyres.*",resolve:e=>e.kind==="alloy-wheel"?{kind:"tyre",tyres:e.source.compatibleTyres??[]}:r},{key:"wheels-that-fit",label:"Wheels this product fits",from:["tyre"],to:"alloy-wheel",heading:"Wheels that *fit.*",resolve:(e,t)=>e.kind==="tyre"?{kind:"alloy-wheel",wheels:t}:i},{key:"more-like-this",label:"More like this",from:["alloy-wheel"],to:"alloy-wheel",heading:"Others you might *like.*",resolve:(e,t)=>({kind:"alloy-wheel",wheels:t})}],h="more-like-this",a=l.map(e=>({value:e.key,label:e.label}));function s(e){return l.find(t=>t.key===e)}function y(e){return l.filter(t=>t.from.includes(e))}function c(e,t){return e.from.includes(t)}const d=["coverIndex","imageBackground","_gHover",...Object.values(o),"showBadge"];function p(e){return s(e)?.to==="tyre"}export{d as CARD_ROWS_NOT_ON_A_TYRE,h as DEFAULT_RELATIONSHIP,l as RELATIONSHIPS,a as RELATIONSHIP_OPTIONS,p as answersWithTyres,c as relationshipApplies,s as relationshipByKey,y as relationshipsFor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import n from"../../../../../components/wheels-plp/AlloyWheelsListing.js";import{hidableText as i}from"efficient-easel/screen/lib/document/hidable";import{asPlpSortKey as r,listingHiddenFacets as o}from"../../../../wheels/plp-filters.js";import{parseCoverIndex as
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import n from"../../../../../components/wheels-plp/AlloyWheelsListing.js";import{hidableText as i}from"efficient-easel/screen/lib/document/hidable";import{asPlpSortKey as r,listingHiddenFacets as o}from"../../../../wheels/plp-filters.js";import{parseCoverIndex as l}from"../../../../wheels/cover-rendering.js";import{cardHoverOf as g}from"efficient-web-builder/format/lib/animation/hover";import{parseCardOutline as h,parseCardIndexFormat as s}from"efficient-web-builder/format/lib/sections/product-card-style";import{phHide as a}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{AlloyWheelsListingMeta as m,ALLOYWHEELSLISTING_PH as d}from"./meta.js";const S={...m,render:e=>t(n,{titleLevel:e.titleLevel,heading:a(e.heading,d.heading,e.editor),intro:a(e.intro,d.intro,e.editor),askForCar:e.askForCar!==!1,gateHeading:i(e.gateHeading),gateIntro:i(e.gateIntro),perPage:e.perPage,columns:e.columns,defaultSort:r(e.defaultSort),coverIndex:l(e.coverIndex),cardImage:e.cardImage,hover:g(e,"AlloyWheelsListing"),imageBackground:e.imageBackground,showBadge:e.showBadge!==!1,showCardPrice:e.showCardPrice,showCardFinishes:e.showCardFinishes,showCardSizes:e.showCardSizes,showCardBuy:e.showCardBuy,showCardPage:e.showCardPage,outline:h(e.outline),indexBadge:s(e.indexBadge),hiddenFacets:o(e),showPrice:e.showPrice,showInStock:e.showInStock!==!1,kinds:e.kinds,products:e.products,wheels:e.wheels,fieldUsage:e.fieldUsage,editing:e.editor?.isEditing})};export{S as AlloyWheelsListingRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import o from"../../../../../components/pdp-dynamic/DynamicDetailRows.js";import d from"../../../../../components/DetailRows.js";import{phRows as i}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{DetailRowsMeta as a,DETAILROWS_SCAFFOLD_ROWS as m}from"./meta.js";const y={...a,render:t=>t.dynamic?e(o,{rowsFrom:t.rowsFrom==="details"?"details":"story",startLeft:t.startLeft,padTop:typeof t.padTop=="number"?t.padTop:void 0,padBottom:typeof t.padBottom=="number"?t.padBottom:void 0,editing:t.editor?.isEditing}):e(d,{rows:i(t.rows,m,t.editor),startLeft:t.startLeft,layout:t.layout,padTop:typeof t.padTop=="number"?t.padTop:void 0,padBottom:typeof t.padBottom=="number"?t.padBottom:void 0,editing:t.editor?.isEditing})};export{y as DetailRowsRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DEFAULT_TITLE_SIZE as t}from"../../../../sections/product-grid-title.js";import{DEFAULT_COVER_INDEX as o}from"../../../../wheels/cover-rendering.js";import{DEFAULT_CARD_OUTLINE as e,DEFAULT_CARD_INDEX_FORMAT as r}from"efficient-web-builder/format/lib/sections/product-card-style";const i={products:{type:"slot"}},
|
|
1
|
+
import{DEFAULT_TITLE_SIZE as t}from"../../../../sections/product-grid-title.js";import{DEFAULT_COVER_INDEX as o}from"../../../../wheels/cover-rendering.js";import{DEFAULT_CARD_OUTLINE as e,DEFAULT_CARD_INDEX_FORMAT as r}from"efficient-web-builder/format/lib/sections/product-card-style";const i={products:{type:"slot"}},n={label:"Product Grid",fields:i,defaultProps:{dynamic:!1,num:"",title:"",titleSize:t,padTop:120,description:"",linkText:"",linkHref:"",columns:4,limit:8,showAll:!1,coverIndex:String(o),outline:e,indexBadge:r,showBadge:!0,source:null}};export{n as ProductGridMeta,i as ProductGridSlots};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as m}from"react/jsx-runtime";import{phoneKey as
|
|
1
|
+
import{jsx as m}from"react/jsx-runtime";import{phoneKey as w}from"efficient-easel/draw";import f from"../../../../../components/pdp-dynamic/DynamicRelatedProducts.js";import{DEFAULT_RELATIONSHIP as C}from"../../../../catalog/relationships.js";import{resolveWidth as s}from"efficient-web-builder/format/lib/content/section-width";import P from"../../../../../components/ProductGridSection.js";import{resolveBoundCardImageBackground as B}from"efficient-web-builder/format/lib/content/card-image-background";import{hidableText as x}from"efficient-easel/screen/lib/document/hidable";import{parseCoverIndex as k}from"../../../../wheels/cover-rendering.js";import{cardHoverOf as c}from"efficient-web-builder/format/lib/animation/hover";import{parseSectionHeadPlacement as I}from"efficient-web-builder/format/lib/sections/section-head-placement";import{parseCardOutline as u,parseCardIndexFormat as g}from"efficient-web-builder/format/lib/sections/product-card-style";import{PH as t}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{phHide as i}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{PRODUCTGRID_PH as a}from"../placeholders.js";import{ProductGridMeta as y}from"./meta.js";const K={...y,render:e=>{if(e.dynamic)return m(f,{num:i(e.num,a.num,e.editor),title:i(e.title,t.sectionHeading,e.editor),description:i(e.description,t.body,e.editor),columns:typeof e.columns=="number"?e.columns:3,relationship:C,cardImage:e.cardImage,outline:u(e.outline),indexBadge:g(e.indexBadge),showBadge:e.showBadge??!0,hover:c(e,"ProductGrid"),imageBackground:B(e.imageBackground),showCardPrice:e.showCardPrice,showCardFinishes:e.showCardFinishes,showCardSizes:e.showCardSizes,showCardBuy:e.showCardBuy,showCardPage:e.showCardPage,editing:e.editor?.isEditing});const n=i(e.linkText,a.link,e.editor),o=e.source,h=s(e,"full"),r=I(e.headPlacement)==="own-box",d=l=>r?void 0:l;return m(P,{gap:e.gap,gapPhone:e[w("gap")],contentCapped:h.mode==="page",num:d(i(e.num,a.num,e.editor)),title:d(i(e.title,t.sectionHeading,e.editor)),titleSize:e.titleSize,padTop:r?0:e.padTop,description:d(i(e.description,t.body,e.editor)),link:d(n?{text:n,href:x(e.linkHref)||"#"}:void 0),products:e.products,wheels:e.wheels,source:o?.slug?o:void 0,catalog:e.catalog,kinds:e.kinds,fieldUsage:e.fieldUsage,columns:e.columns,limit:e.showAll?void 0:e.limit,editing:e.editor?.isEditing,imageBackground:e.imageBackground,cardImage:e.cardImage,hover:c(e,"ProductGrid"),coverIndex:k(e.coverIndex),outline:u(e.outline),indexBadge:g(e.indexBadge),showBadge:e.showBadge??!0,showCardPrice:e.showCardPrice,showCardFinishes:e.showCardFinishes,showCardSizes:e.showCardSizes,showCardBuy:e.showCardBuy,showCardPage:e.showCardPage})}};export{K as ProductGridRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{SITE_WIDTH_CAP as
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{SITE_WIDTH_CAP as h}from"efficient-web-builder/format/lib/content/page-width";import{resolveWidth as P}from"efficient-web-builder/format/lib/content/section-width";import H from"../../../../../components/LinkedProductHero.js";import m from"../../../../../components/pdp-dynamic/DynamicProductHero.js";import L from"../../../../../components/SectionNotice.js";import{trustBulletsRow as g,trustBulletsSlot as A}from"../../../../../components/product-hero/trust-bullets.js";import{TRUST_BULLETS_SLOT as R}from"../../../../sections/hero-trust-bullets.js";import{useCurrentProduct as y}from"../../../current-product.js";import{isEditorOnDynamicPage as F}from"efficient-web-builder/format/lib/document/editor-page-context";import{DEFAULT_HERO_PRICE_PLACEMENT as O,parseHeroPricePlacement as w}from"../../../../sections/hero-price-placement.js";import{DEFAULT_HERO_LAYOUT as D,DEFAULT_HERO_RATIO as S,DEFAULT_HERO_TEXT_ALIGN as I,parseHeroLayout as U,parseHeroRatio as M,parseHeroTextAlign as x}from"../../../../sections/hero-arrangement.js";import{DEFAULT_HERO_GALLERY_MODE as B,DEFAULT_HERO_IMAGE_FIT as C,parseHeroGalleryMode as k,parseHeroImageFit as p}from"../../../../sections/hero-gallery.js";import{say as G}from"efficient-web-builder/format/lib/editor-words";import{readPartStyles as N}from"efficient-web-builder/render/lib/document/part-styles";import{ProductHeroMeta as V}from"./meta.js";function b({source:e,editing:t=!1,pricePlacement:o=O,showVehicleFitment:i=!0,heroLayout:l=D,imageRatio:a=S,textAlign:u=I,showSpecTable:c=!0,showPriceQuote:d=!0,galleryMode:f=B,imageFit:s=C,trustBullets:E,nodeId:T,partStyles:_}){const n={heroLayout:l,imageRatio:a,textAlign:u,showSpecTable:c,showPriceQuote:d,galleryMode:f,imageFit:s,trustBullets:g(E,t),nodeId:T,partStyles:_};return y()||t&&F()?r(m,{editing:t,pricePlacement:o,showVehicleFitment:i,...n}):e?.slug?r(H,{slug:e.slug,kind:e.kind??"wheel",editing:t,pricePlacement:o,showVehicleFitment:i,...n}):t?r(L,{size:"tall",children:G("Pick a product in the panel to fill this hero.")}):r(m,{pricePlacement:o,showVehicleFitment:i,...n})}function j(e,t){return P(e,"full").mode!=="page"?t:r("div",{style:{"--sf-content-cap":h},children:t})}const me={...V,render:e=>j(e,r(b,{source:e.source,editing:e.editor?.isEditing,pricePlacement:w(e.pricePlacement),showVehicleFitment:e.showVehicleFitment??!0,heroLayout:U(e.heroLayout),imageRatio:M(e.imageRatio),textAlign:x(e.textAlign),showSpecTable:e.showSpecTable??!0,showPriceQuote:e.showPriceQuote??!0,galleryMode:k(e.galleryMode),imageFit:p(e.imageFit),trustBullets:A(e[R]),nodeId:typeof e.id=="string"?e.id:void 0,partStyles:N(e)}))};export{me as ProductHeroRender};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as a}from"react/jsx-runtime";import m from"../../../../../components/pdp-dynamic/DynamicRelatedProducts.js";import{relatedCardCount as f}from"../../../../catalog/related-cards.js";import{DEFAULT_RELATIONSHIP as c}from"../../../../catalog/relationships.js";import{hidableText as u}from"efficient-easel/screen/lib/document/hidable";import{parseCoverIndex as l}from"../../../../wheels/cover-rendering.js";import{
|
|
1
|
+
import{jsx as a}from"react/jsx-runtime";import m from"../../../../../components/pdp-dynamic/DynamicRelatedProducts.js";import{relatedCardCount as f}from"../../../../catalog/related-cards.js";import{DEFAULT_RELATIONSHIP as c}from"../../../../catalog/relationships.js";import{hidableText as u}from"efficient-easel/screen/lib/document/hidable";import{parseCoverIndex as l}from"../../../../wheels/cover-rendering.js";import{cardHoverOf as x}from"efficient-web-builder/format/lib/animation/hover";import{parseSectionHeadPlacement as g}from"efficient-web-builder/format/lib/sections/section-head-placement";import{parseCardOutline as P,parseCardIndexFormat as H}from"efficient-web-builder/format/lib/sections/product-card-style";import{PH as i}from"efficient-web-builder/format/lib/document/blocks/placeholders";import{phHide as t}from"efficient-web-builder/render/lib/document/blocks/scaffold";import{PRODUCTGRID_PH as h}from"../placeholders.js";import{RelatedProductsMeta as R,RELATEDPRODUCTS_PH as d}from"./meta.js";const _={...R,render:e=>{const n=g(e.headPlacement)==="own-box",o=r=>n?void 0:r;return a(m,{num:o(t(e.num,h.num,e.editor)),title:o(t(e.title,i.sectionHeading,e.editor)),description:o(t(e.description,i.body,e.editor)),omitHead:n,columns:typeof e.columns=="number"?e.columns:3,cardCount:f(e.cardCount),relationship:typeof e.relationship=="string"?e.relationship:c,footnote:t(e.footnote,d.footnote,e.editor),footnoteLinkText:t(e.footnoteLinkText,d.footnoteLinkText,e.editor),footnoteLinkHref:u(e.footnoteLinkHref),cardImage:e.cardImage,coverIndex:l(e.coverIndex),imageBackground:e.imageBackground,hover:x(e,"RelatedProducts"),outline:P(e.outline),indexBadge:H(e.indexBadge),showBadge:e.showBadge,editing:e.editor?.isEditing})}};export{_ as RelatedProductsRender};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const CATALOG_TEXT_SIZE: {
|
|
2
|
+
readonly body: "text-[length:var(--size-body,14px)]";
|
|
3
|
+
readonly labelXs: "text-[length:var(--size-label,10px)]";
|
|
4
|
+
readonly labelSmall: "text-[length:var(--size-label,12px)]";
|
|
5
|
+
readonly labelLarge: "text-[length:var(--size-label,13px)]";
|
|
6
|
+
readonly labelXl: "text-[length:var(--size-label,14px)]";
|
|
7
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={body:"text-[length:var(--size-body,14px)]",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)]"};export{e as CATALOG_TEXT_SIZE};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
import{breakpointOf as d}from"efficient-web-builder/format/lib/content/view-lines";function x(n){const o=/(?:^|\s)grid-cols-(\d+)(?=\s|$)/.exec(n);if(!o)throw new Error(`gridColumnsOf: no base grid-cols-N in "${n}"`);const e=[...n.matchAll(/(?:^|\s)(max-[\w[\]-]+):grid-cols-(\d+)(?=\s|$)/g)].flatMap(t=>{const i=d(t[1]);return i?.max?[{below:i.px,columns:Number(t[2])}]:[]}).sort((t,i)=>i.below-t.below);return{base:Number(o[1]),steps:e}}function c(n,o){return Math.max(1,Math.min(n,Math.floor(o)))}function b(n,o){return{base:c(n.base,o),steps:n.steps.map(e=>({below:e.below,columns:c(e.columns,o)}))}}const p=n=>`grid-template-columns:repeat(${n},minmax(0,1fr))`;function g(n,o,{limit:e,cards:t}={}){const i=x(o),m=typeof e=="number"&&e>0?e:void 0,a=Math.max(i.base,...i.steps.map(r=>r.columns));if(t!==void 0&&Math.min(t,m??1/0)>=a)return"";const l=[];for(const r of w(i)){const s=m===void 0?r.columns:c(r.columns,m),f=[];s<r.columns&&f.push(`.${n}.${n}{${p(s)}}`);for(let u=s-1;u>=1;u--)f.push(`.${n}:not(:has(> :nth-child(${u+1}))){${p(u)}}`);l.push(h(r,f))}return l.join("")}function w({base:n,steps:o}){return[{min:o[0]?.below,max:void 0,columns:n},...o.map((e,t)=>({min:o[t+1]?.below,max:e.below,columns:e.columns}))]}function h(n,o){if(o.length===0)return"";const e=n.min!==void 0&&n.max!==void 0?`(${n.min}px <= width < ${n.max}px)`:n.max!==void 0?`(width < ${n.max}px)`:n.min!==void 0?`(width >= ${n.min}px)`:void 0;return e?`@media ${e}{${o.join("")}}`:o.join("")}export{b as fillRow,c as fillRowColumns,g as fillRowCss,w as gridBands,x as gridColumnsOf,p as gridTracks,h as inBand};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type GridBand } from "./fill-row.js";
|
|
2
|
-
export declare const SET_CARD_SINGLE_BELOW
|
|
2
|
+
export declare const SET_CARD_SINGLE_BELOW: 800 | 720;
|
|
3
3
|
export declare function packsFull(spans: readonly number[], columns: number): boolean;
|
|
4
4
|
export declare function cardsWithoutHole(spans: readonly number[], columns: number, limit: number | undefined, topUp?: boolean): number;
|
|
5
5
|
export interface NoHoleBand {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{gridBands as l,gridColumnsOf as h,gridTracks as d,inBand as
|
|
1
|
+
import{gridBands as l,gridColumnsOf as h,gridTracks as d,inBand as m}from"./fill-row.js";import{VIEW_LINE_PX as x}from"efficient-web-builder/format/lib/content/view-lines";const w=x["view-wide"];function p(t,r){const n=[],f=(o,e,c)=>{for(let i=e;i<e+c;i++)if(n[o][i])return!1;return!0};for(const o of t){const e=Math.max(1,Math.min(r,o));for(let c=0;;c++){n[c]??=Array(r).fill(!1);let i=0;for(;i+e<=r&&!f(c,i,e);)i++;if(!(i+e>r)){for(let s=i;s<i+e;s++)n[c][s]=!0;break}}}return n.every(o=>o.every(Boolean))}const a=(t,r)=>t.reduce((n,f)=>n+Math.max(1,Math.min(r,f)),0),u=(t,r)=>p(t,Math.min(r,Math.max(1,a(t,r))));function M(t,r,n,f=!0){const o=Math.min(t.length,n&&n>0?n:t.length);if(o===0||u(t.slice(0,o),r))return o;if(f){for(let e=o+1;e<=t.length;e++)if(u(t.slice(0,e),r))return e}for(let e=o-1;e>=1;e--)if(u(t.slice(0,e),r))return e;return o}const g=(t,r)=>r.max!==void 0&&r.max<=w?t.map(()=>1):t;function B(t,r,n,f=!0){return l(h(t)).map(o=>{const e=g(r,o),c=M(e,o.columns,n,f),i=a(e.slice(0,c),o.columns);return{band:o,cards:c,tracks:Math.min(o.columns,Math.max(1,i))}})}function E(t,r){return t.slice(0,r&&r>0?r:t.length).some(n=>n>1)}function I(t,r,n){const f=[`.${t}{grid-auto-flow:row dense}`];for(const{band:o,cards:e,tracks:c}of r){const i=[];e<n&&i.push(`.${t} > *:nth-child(n+${e+1}){display:none}`),c<o.columns&&i.push(`.${t}.${t}{${d(c)}}`),f.push(m(o,i))}return f.join("")}export{w as SET_CARD_SINGLE_BELOW,M as cardsWithoutHole,B as noHoleBands,I as noHoleCss,p as packsFull,E as showsASetCard};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e={price:{label:"Price",follows:"Heading 2",builtIn:"36px",writable:!0,sized:!0}};export{e as PRODUCT_HERO_TEXT_REGIONS};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const i="mx-auto max-w-[var(--sf-site-width,1600px)]",e=[/^border(-[tblrxy])?$/,/^border-line$/,/^bg-/,/^mx-auto$/,/^max-w-\[var\(--sf-site-width/,/--sf-site-gutter/,/^p[xytblr]?-(\d+(\.\d+)?|px|\[\d+(\.\d+)?px\])$/];function x(t){const s=t.lastIndexOf(":");return s<0?t:t.slice(s+1)}function a(t){return t.split(/\s+/).filter(s=>s&&!e.some(r=>r.test(x(s)))).join(" ")}export{i as BAND_CAP,a as bandClassesInBox};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{slugify as
|
|
1
|
+
import{slugify as p}from"efficient-shell/format";import{filterBarCategoryOf as u}from"./grid-source.js";import{itemCollections as f}from"../catalog/plp-item.js";import{BUILT_IN_LISTING_PATH as a,withListingFilter as m}from"../links/link-rules.js";import{PLP_PARAM as d}from"./plp-filters.js";import{FOOTER_TYPE as s,HEADER_TYPE as g}from"efficient-easel/screen/lib/document/content-tree";import{CARD_IMAGE_BG_OFF as E}from"efficient-web-builder/format/lib/content/card-image-background";import{DEFAULT_TITLE_SIZE as _}from"../sections/product-grid-title.js";const h="wheels",O={content:[],root:{},zones:{}};function C(){return{type:"CatalogFilterBar",props:{id:"CatalogFilterBar-wheels-seed",showProcess:!0,showLugs:!0,showPrice:!0,showCount:!0,showSort:!0}}}function P(o,t){const r=p(o);return{type:"ProductGrid",props:{id:`ProductGrid-wheels-${r}`,dynamic:!1,num:t,title:o,titleSize:_,padTop:100,description:"",linkText:"Explore the collection",linkHref:m(a,{param:d.collections,value:o}),columns:4,showAll:!0,limit:8,imageBackground:E,source:{slug:r,name:o},products:[]}}}function T(o){const t=new Set;for(const r of o)for(const n of f(r))t.add(n);return[...t]}function w(o=[]){return[C(),...T(o).map((t,r)=>P(t,String(r+1).padStart(2,"0")))]}function A(o){return o.every(t=>t?.type===g||t?.type===s)}function D(o,t,r){if(o!==h)return t;const n=t?.content??[];if(!A(n))return t;const e=w(r),i=n.findIndex(l=>l?.type===s),c=i===-1?[...n,...e]:[...n.slice(0,i),...e,...n.slice(i)];return{...t,content:c}}function H(o){const t=o?.content??[],r=[...new Set(t.filter(e=>e?.type==="ProductGrid").map(e=>u(e.props.source)).filter(e=>e!==null))],n=t.map(e=>e?.type==="CatalogFilterBar"?{...e,props:{...e.props,processOptions:r}}:e);return{...o,content:n}}export{O as EMPTY_CATALOG_DATA,h as WHEELS_PAGE_SLUG,w as buildCatalogSections,D as ensureWheelsCatalogSections,H as scopeCatalogSections};
|
|
@@ -5,6 +5,7 @@ interface HasLugs {
|
|
|
5
5
|
}
|
|
6
6
|
export declare function lugDigits(lugs: number | null | undefined): string;
|
|
7
7
|
export declare function lugLabel(lugs: number | null | undefined): string;
|
|
8
|
+
export declare function lugFilterLabel(n: number): string;
|
|
8
9
|
export declare function itemLugs(item: HasLugs): number | null;
|
|
9
10
|
export declare function lugCountsOf(items: readonly HasLugs[]): number[];
|
|
10
11
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function o(t){return typeof t=="number"?String(t):""}function i(t){const n=o(t);return n&&`${n} LUG`}function s(t){return`${t}-Lug`}function r(t){const n=t.spec?.lugs;return typeof n=="number"?n:null}function l(t){const n=new Set;for(const e of t){const u=r(e);u!==null&&n.add(u)}return[...n].sort((e,u)=>e-u)}export{r as itemLugs,l as lugCountsOf,o as lugDigits,s as lugFilterLabel,i as lugLabel};
|
package/dist/words.d.ts
CHANGED
|
@@ -141,6 +141,7 @@ export type WebBuilderPhrase =
|
|
|
141
141
|
| "An editorial text panel with a stat strip and founders' note."
|
|
142
142
|
| "An empty section. Add whatever you want inside."
|
|
143
143
|
| "Anchor"
|
|
144
|
+
| "Angle"
|
|
144
145
|
| "Animation"
|
|
145
146
|
| "Another group already uses this heading — pick a different one."
|
|
146
147
|
| "Answer"
|
|
@@ -269,6 +270,8 @@ export type WebBuilderPhrase =
|
|
|
269
270
|
| "Card title two"
|
|
270
271
|
| "Card type"
|
|
271
272
|
| "Cards"
|
|
273
|
+
| "Cards 1, 3, 5 draw the other way round"
|
|
274
|
+
| "Cards 2, 4, 6 draw the other way round"
|
|
272
275
|
| "Cards from"
|
|
273
276
|
| "Cart"
|
|
274
277
|
| "Cash"
|
|
@@ -420,6 +423,7 @@ export type WebBuilderPhrase =
|
|
|
420
423
|
| "Dynamic Pages"
|
|
421
424
|
| "EU Tyre Label"
|
|
422
425
|
| "Each block"
|
|
426
|
+
| "Each row"
|
|
423
427
|
| "Each side"
|
|
424
428
|
| "Each website created from this template sets its own appearance afterwards."
|
|
425
429
|
| "Each website created from this template sets its own header afterwards."
|
|
@@ -449,6 +453,7 @@ export type WebBuilderPhrase =
|
|
|
449
453
|
| "Equal"
|
|
450
454
|
| "Essay"
|
|
451
455
|
| "Even"
|
|
456
|
+
| "Even cards"
|
|
452
457
|
| "Every Publish keeps a copy of the whole website: pages, menus and site styles."
|
|
453
458
|
| "Every text on the site that follows {style} changes to look like this one. This text’s own changes are cleared, and it keeps following {style}."
|
|
454
459
|
| "Every {part} in this section follows it. The face and the size change; the letter case is the section’s own and stays as it is."
|
|
@@ -736,6 +741,7 @@ export type WebBuilderPhrase =
|
|
|
736
741
|
| "Milestone Timeline"
|
|
737
742
|
| "Milestone title."
|
|
738
743
|
| "Milestones"
|
|
744
|
+
| "Mirror cards"
|
|
739
745
|
| "Mixed"
|
|
740
746
|
| "Mockup Card"
|
|
741
747
|
| "Mockup card"
|
|
@@ -786,6 +792,7 @@ export type WebBuilderPhrase =
|
|
|
786
792
|
| "Number style"
|
|
787
793
|
| "Numbers"
|
|
788
794
|
| "N°01, N°02"
|
|
795
|
+
| "Odd cards"
|
|
789
796
|
| "Off"
|
|
790
797
|
| "Office"
|
|
791
798
|
| "Offices"
|
|
@@ -933,9 +940,10 @@ export type WebBuilderPhrase =
|
|
|
933
940
|
| "Role"
|
|
934
941
|
| "Role · Location"
|
|
935
942
|
| "Role · location"
|
|
936
|
-
| "Rotate
|
|
943
|
+
| "Rotate"
|
|
937
944
|
| "Rounds the picture. Left alone it stays square."
|
|
938
945
|
| "Rounds the picture. The card's own corner is in Styles."
|
|
946
|
+
| "Row columns"
|
|
939
947
|
| "Sans"
|
|
940
948
|
| "Save"
|
|
941
949
|
| "Save as Template"
|
|
@@ -987,6 +995,7 @@ export type WebBuilderPhrase =
|
|
|
987
995
|
| "Shape"
|
|
988
996
|
| "Share button"
|
|
989
997
|
| "Shared"
|
|
998
|
+
| "Shared, scroll"
|
|
990
999
|
| "Shop & galleries"
|
|
991
1000
|
| "Short description of this figure."
|
|
992
1001
|
| "Short detail line"
|
|
@@ -995,6 +1004,7 @@ export type WebBuilderPhrase =
|
|
|
995
1004
|
| "Show arrows"
|
|
996
1005
|
| "Show cover image"
|
|
997
1006
|
| "Show hints"
|
|
1007
|
+
| "Show next image"
|
|
998
1008
|
| "Show on a card"
|
|
999
1009
|
| "Show on phones"
|
|
1000
1010
|
| "Show slide picker"
|
|
@@ -1249,6 +1259,7 @@ export type WebBuilderPhrase =
|
|
|
1249
1259
|
| "Ways to pay"
|
|
1250
1260
|
| "We accept"
|
|
1251
1261
|
| "WeChat"
|
|
1262
|
+
| "What each card does when a shopper points at it, or taps it on a phone. Rotate turns the wheel picture."
|
|
1252
1263
|
| "What people *say.*"
|
|
1253
1264
|
| "What this does when a shopper points at it, or taps it on a phone."
|
|
1254
1265
|
| "WhatsApp"
|
|
@@ -1288,6 +1299,7 @@ export type WebBuilderPhrase =
|
|
|
1288
1299
|
| "Your third question goes here?"
|
|
1289
1300
|
| "Your unpublished changes are kept"
|
|
1290
1301
|
| "Zigzag"
|
|
1302
|
+
| "Zoom"
|
|
1291
1303
|
| "accent"
|
|
1292
1304
|
| "all theme colors"
|
|
1293
1305
|
| "body text"
|