efficient-storefront-blocks 0.86.0 → 0.87.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 +14 -0
- package/dist/chunks/{EditorPreviewCheckout-4LNXFNN7.js → EditorPreviewCheckout-GD4IJ4WK.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-A2HMVDKS.js → SiteEditorProvider-2UVCJZXS.js} +1 -1
- package/dist/chunks/{chunk-TGBNREUJ.js → chunk-H4IHUSCU.js} +1 -1
- package/dist/chunks/chunk-QLR6IVWJ.js +369 -0
- package/dist/chunks/chunk-SYK5QPNV.js +1 -0
- package/dist/chunks/{chunk-SLRULFYY.js → chunk-XZ46W3NV.js} +1 -1
- package/dist/chunks/{fitment-data-TSYW6AFA.js → fitment-data-5GBUMO2O.js} +1 -1
- package/dist/contract.js +20 -2
- package/dist/editor/lib/document/blocks/commerce/ProductBuy/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/ProductBuy/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/ProductEyebrow/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/ProductEyebrow/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/ProductGrid/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/ProductName/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/ProductName/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/ProductPicture/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/ProductPicture/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/ProductSpecs/fields.d.ts +2 -0
- package/dist/editor/lib/document/blocks/commerce/ProductSpecs/fields.js +1 -0
- package/dist/editor/lib/document/blocks/commerce/RelatedProducts/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/index.d.ts +1 -1
- package/dist/editor/lib/document/blocks/commerce/index.js +1 -1
- package/dist/editor/lib/document/config.js +1 -1
- package/dist/editor/lib/document/section-text-regions.js +1 -1
- package/dist/editor/lib/storefront-editor-words.d.ts +7 -8
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/fitment.js +1 -1
- package/dist/index.js +35 -35
- package/dist/links.js +1 -1
- package/dist/render/app/fonts/fallbacks.css +8 -0
- package/dist/render/app/fonts/jost/OFL.txt +93 -0
- package/dist/render/app/fonts/jost/cyrillic-italic.woff2 +0 -0
- package/dist/render/app/fonts/jost/cyrillic.woff2 +0 -0
- package/dist/render/app/fonts/jost/latin-ext-italic.woff2 +0 -0
- package/dist/render/app/fonts/jost/latin-ext.woff2 +0 -0
- package/dist/render/app/fonts/jost/latin-italic.woff2 +0 -0
- package/dist/render/app/fonts/jost/latin.woff2 +0 -0
- package/dist/render/app/globals.css +11 -11
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/Events.js +1 -1
- package/dist/render/components/FitmentTable.d.ts +1 -1
- package/dist/render/components/FitmentTable.js +1 -1
- package/dist/render/components/FooterMenu.d.ts +5 -1
- package/dist/render/components/FooterMenu.js +1 -1
- package/dist/render/components/GridCardTemplate.d.ts +34 -0
- package/dist/render/components/GridCardTemplate.js +1 -0
- package/dist/render/components/MenuLinkBlock.d.ts +5 -1
- package/dist/render/components/MenuLinkBlock.js +1 -1
- package/dist/render/components/ProductCardChrome.d.ts +1 -1
- package/dist/render/components/ProductCardChrome.js +1 -1
- package/dist/render/components/ProductGridSection.d.ts +5 -15
- package/dist/render/components/ProductGridSection.js +1 -1
- package/dist/render/components/ProductRef.js +1 -1
- package/dist/render/components/StorefrontProviders.d.ts +1 -1
- package/dist/render/components/StorefrontProviders.js +1 -1
- package/dist/render/components/TyreCard.js +1 -1
- package/dist/render/components/TyreFitVerdicts.d.ts +2 -1
- package/dist/render/components/TyreFitVerdicts.js +1 -1
- package/dist/render/components/TyrePlpCard.js +1 -1
- package/dist/render/components/card-pieces/CardEyebrow.d.ts +3 -1
- package/dist/render/components/card-pieces/CardEyebrow.js +1 -1
- package/dist/render/components/card-pieces/CardName.d.ts +3 -1
- package/dist/render/components/card-pieces/CardName.js +1 -1
- package/dist/render/components/card-pieces/CardPrice.d.ts +2 -6
- package/dist/render/components/card-pieces/CardPrice.js +1 -1
- package/dist/render/components/card-pieces/CardProductPicture.d.ts +8 -0
- package/dist/render/components/card-pieces/CardProductPicture.js +1 -0
- package/dist/render/components/card-pieces/card-text-region.d.ts +18 -0
- package/dist/render/components/card-pieces/card-text-region.js +1 -0
- package/dist/render/components/fitment/StockFitmentPart.d.ts +8 -1
- package/dist/render/components/fitment/StockFitmentPart.js +1 -1
- package/dist/render/components/fitment/fitment-answer-source.d.ts +12 -0
- package/dist/render/components/fitment/fitment-answer-source.js +1 -0
- package/dist/render/components/pdp-dynamic/DynamicFitmentTable.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicRelatedProducts.d.ts +10 -12
- 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/DynamicTyreSizes.js +1 -1
- package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -1
- package/dist/render/components/wheels-plp/PlpCard.d.ts +1 -1
- package/dist/render/components/wheels-plp/PlpCard.js +1 -1
- package/dist/render/lib/content/field-usage.d.ts +1 -0
- package/dist/render/lib/content/field-usage.js +1 -1
- package/dist/render/lib/content/product-card-seed.d.ts +29 -0
- package/dist/render/lib/content/product-card-seed.js +1 -0
- package/dist/render/lib/content/tab-strip.d.ts +17 -0
- package/dist/render/lib/content/tab-strip.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductBuy/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductBuy/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductBuy/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductBuy/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductEyebrow/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductEyebrow/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductEyebrow/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductEyebrow/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductGrid/meta.d.ts +4 -0
- 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/ProductName/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductName/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductName/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductName/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductPicture/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductPicture/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductPicture/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductPicture/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductPrice/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductSpecs/meta.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductSpecs/meta.js +1 -0
- package/dist/render/lib/document/blocks/commerce/ProductSpecs/render.d.ts +2 -0
- package/dist/render/lib/document/blocks/commerce/ProductSpecs/render.js +1 -0
- package/dist/render/lib/document/blocks/commerce/RelatedProducts/meta.d.ts +0 -4
- package/dist/render/lib/document/blocks/commerce/RelatedProducts/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/RelatedProducts/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/StockFitment/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/metas.d.ts +5 -0
- package/dist/render/lib/document/blocks/commerce/metas.js +1 -1
- package/dist/render/lib/document/blocks/commerce/renders.d.ts +5 -0
- package/dist/render/lib/document/blocks/commerce/renders.js +1 -1
- package/dist/render/lib/document/blocks/text-part-shapes.json +0 -16
- package/dist/render/lib/document/card-templates.js +1 -1
- package/dist/render/lib/document/footer-page-blocks.js +1 -1
- package/dist/render/lib/document/lazy-draws.js +1 -1
- package/dist/render/lib/font-table.json +209 -1
- package/dist/render/lib/menu-link.d.ts +2 -0
- package/dist/render/lib/menu-link.js +1 -1
- package/dist/render/lib/next-fonts.js +1 -1
- package/dist/render/lib/sections/grid-no-hole.d.ts +1 -0
- package/dist/render/lib/sections/grid-no-hole.js +1 -1
- package/dist/render/lib/sections/product-card-text-regions.d.ts +3 -0
- package/dist/render/lib/sections/product-card-text-regions.js +1 -0
- package/dist/render/lib/sections/product-grid-columns.d.ts +13 -1
- package/dist/render/lib/sections/product-grid-columns.js +1 -1
- package/dist/render/lib/sections/related-to-grid.d.ts +8 -0
- package/dist/render/lib/sections/related-to-grid.js +1 -0
- package/dist/render/lib/storefront-page-groups.d.ts +0 -4
- package/dist/render/lib/storefront-page-groups.js +1 -1
- package/dist/render/lib/tyres/tyre-vehicle-fitment.d.ts +1 -0
- package/dist/render/lib/tyres/tyre-vehicle-fitment.js +1 -1
- package/dist/render/lib/wheels/plp-filters.js +1 -1
- package/dist/words.d.ts +46 -9
- package/dist/words.js +6 -6
- package/package.json +2 -2
- package/dist/chunks/chunk-EUKK2IN6.js +0 -1
- package/dist/chunks/chunk-FJRKNPNN.js +0 -340
- /package/dist/chunks/{chunk-ALMIS7CK.js → chunk-DLWIDJS5.js} +0 -0
- /package/dist/chunks/{chunk-FJRKNPNN.js.LEGAL.txt → chunk-QLR6IVWJ.js.LEGAL.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ApiError as y,PRODUCT_API_BASE as m,apiFetch as l}from"../api/index.js";import{parseTyreSize as u,tyreSizeLabel as c}from"./tyre-size.js";function z(t){if(!t||t.year===null)return null;const{make:n,model:e,year:r,modification:o}=t;return!n||!e||!o?null:{make:n,model:e,year:r,modification:o}}function p(t,n){const e=new URLSearchParams({make:n.make,model:n.model,year:String(n.year),modification:n.modification});return`/api/v1/tyres/${encodeURIComponent(t)}/fitment?${e.toString()}`}function s(t,n=""){return{vehicle:{...t,region:n},status:"unknown",oemSizes:[],variants:[]}}function d(t,n){if(typeof n!="object"||n===null)return s(t);const e=n,r=typeof e.vehicle=="object"&&e.vehicle!==null?e.vehicle:{},o=typeof r.region=="string"?r.region:"",a=e.status;if(a!=="fits"&&a!=="doesNotFit")return s(t,o);const f=Array.isArray(e.variants)?e.variants.filter(i=>typeof i=="object"&&i!==null&&typeof i.sku=="string"&&typeof i.fits=="boolean"):[];return f.length===0?s(t,o):{vehicle:{make:typeof r.make=="string"?r.make:t.make,model:typeof r.model=="string"?r.model:t.model,year:typeof r.year=="number"?r.year:t.year,modification:typeof r.modification=="string"?r.modification:t.modification,region:o},status:a,oemSizes:Array.isArray(e.oemSizes)?e.oemSizes.filter(i=>typeof i=="string"):[],variants:f.map(i=>({sku:i.sku,size:typeof i.size=="string"?i.size:"",fits:i.fits}))}}async function S(t,n){try{const e=await l(p(t,n),{baseUrl:m});return d(n,e)}catch(e){return e instanceof y&&e.status>=400&&e.status<500?s(n):{...s(n),failed:!0}}}function b(t){if(!t)return[];const n=[];for(const e of[...t.frontTyres,...t.rearTyres]){const r=u(e);if(!r)continue;const o=c(r);n.includes(o)||n.push(o)}return n}function A(t,n){if(n.length===0)return null;for(const e of t){const r=u(e);if(!r)continue;const o=c(r);if(n.includes(o))return o}return null}function
|
|
1
|
+
import{ApiError as y,PRODUCT_API_BASE as m,apiFetch as l}from"../api/index.js";import{parseTyreSize as u,tyreSizeLabel as c}from"./tyre-size.js";function z(t){if(!t||t.year===null)return null;const{make:n,model:e,year:r,modification:o}=t;return!n||!e||!o?null:{make:n,model:e,year:r,modification:o}}function p(t,n){const e=new URLSearchParams({make:n.make,model:n.model,year:String(n.year),modification:n.modification});return`/api/v1/tyres/${encodeURIComponent(t)}/fitment?${e.toString()}`}function s(t,n=""){return{vehicle:{...t,region:n},status:"unknown",oemSizes:[],variants:[]}}function d(t,n){if(typeof n!="object"||n===null)return s(t);const e=n,r=typeof e.vehicle=="object"&&e.vehicle!==null?e.vehicle:{},o=typeof r.region=="string"?r.region:"",a=e.status;if(a!=="fits"&&a!=="doesNotFit")return s(t,o);const f=Array.isArray(e.variants)?e.variants.filter(i=>typeof i=="object"&&i!==null&&typeof i.sku=="string"&&typeof i.fits=="boolean"):[];return f.length===0?s(t,o):{vehicle:{make:typeof r.make=="string"?r.make:t.make,model:typeof r.model=="string"?r.model:t.model,year:typeof r.year=="number"?r.year:t.year,modification:typeof r.modification=="string"?r.modification:t.modification,region:o},status:a,oemSizes:Array.isArray(e.oemSizes)?e.oemSizes.filter(i=>typeof i=="string"):[],variants:f.map(i=>({sku:i.sku,size:typeof i.size=="string"?i.size:"",fits:i.fits}))}}async function S(t,n){try{const e=await l(p(t,n),{baseUrl:m});return d(n,e)}catch(e){return e instanceof y&&e.status>=400&&e.status<500?s(n):{...s(n),failed:!0}}}function b(t){if(!t)return[];const n=[];for(const e of[...t.frontTyres,...t.rearTyres]){const r=u(e);if(!r)continue;const o=c(r);n.includes(o)||n.push(o)}return n}function A(t,n){if(n.length===0)return null;for(const e of t){const r=u(e);if(!r)continue;const o=c(r);if(n.includes(o))return o}return null}function x(t,n){if(!t||t.status==="unknown")return"unknown";const e=t.variants.find(r=>r.sku===n);return e?e.fits?"fits":"doesNotFit":"unknown"}export{S as loadTyreVehicleFitment,A as oemBadgeSize,b as oemTyreSizes,d as toTyreFitAnswer,z as tyreFitQuery,p as tyreVehicleFitmentPath,s as unknownAnswer,x as variantFitStatus};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{answerOrder as q,answersForKind as
|
|
1
|
+
import{answerOrder as q,answersForKind as M,facetFieldKey as T,keepForFilter as U,NO_FIELD_ANSWERS as V,orderByAnswers as G}from"../content/field-usage.js";import{STOCK_WORDS as H}from"../content/stock-words.js";import{parseOption as X}from"efficient-web-builder/format/lib/parse-option";import{comparePrice as A,priceIn as J,withinPriceRange as Q}from"./price-display.js";import{trimDecimal as ee,wheelSizeLabel as te}from"./spec-format.js";import{itemBrand as z,itemCollections as ne,itemDiameters as re,itemFinishFamilies as oe,itemFinishes as ie,itemInStock as k,itemIsNew as L,itemKind as b,itemName as R,itemPcds as se,itemPrices as S,itemSpeedRatings as ce,itemTyreSizes as _,itemTyreTypes as le,PLP_ANY_TYPE_LABEL as ae,PLP_KIND_LABELS as E,PLP_KINDS as ue}from"../catalog/plp-item.js";import{parseTyreSize as pe,tyreSizeLabel as F,tyreSizeLabels as fe,TYRE_SIZE_PARTS as h,TYRE_SIZE_PART_LABELS as de}from"../tyres/tyre-size.js";const me={recommended:"Recommended","price-asc":"Price · low to high","price-desc":"Price · high to low",new:"Newest",name:"Name A–Z"},O=Object.keys(me);function N(e){return X(O,"recommended",e)}function he(e){return O.filter(t=>t!=="recommended"||e.length<=1)}function Oe(e,t){const r=N(e);return he(t).includes(r)?r:"name"}const y=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],Se={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},ye={diameters:"tyreSizes"};function I(e){if(e.length===0)return[];const t=y.filter(r=>e.every(n=>Se[r].includes(n)));return t.filter(r=>{const n=ye[r];return!n||!t.includes(n)})}function Ne(e,t){return t&&e.includes(t)?[t]:[...e]}function K(e){const t=new Set;for(const r of e)t.add(b(r));return[...t]}const Ie={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function Ke(e){return`${ge(e.width)}×${e.diameter}`}function ve(e){return[...new Set((e.sizePairs??[]).map(t=>te(t.diameter,t.width)))]}function ge(e){return ee(e)}function g(e,t,r,n=null){if(n!=="kind"&&t.kind&&b(e)!==t.kind)return!1;for(const i of y){if(n===i)continue;const o=t[i];if(o.length===0)continue;const s=o.map(String);if(!v(e,i).some(l=>s.includes(l)))return!1}return!(n!=="price"&&!Q(S(e),r,null,t.priceMax)||n!=="inStock"&&t.inStockOnly&&!k(e))}function Be(e,t,r){return e.filter(n=>k(n)&&g(n,t,r,"inStock")).length}function Pe(e,t,r){const n=[...e],i=(s,l)=>R(s).localeCompare(R(l)),o=K(e).length>1;switch(t){case"price-asc":return n.sort((s,l)=>A(S(s),S(l),r,"asc"));case"price-desc":return n.sort((s,l)=>A(S(s),S(l),r,"desc"));case"name":return n.sort(i);case"new":return n.sort((s,l)=>{const a=(L(l)?1:0)-(L(s)?1:0);return a!==0||!o?a:i(s,l)});default:return n}}function Ce(e,t,r){return Pe(e.filter(n=>g(n,t,r)),t.sort,r)}function De(e){return y.some(t=>e[t].length>0)||e.priceMax!=null||e.inStockOnly||e.kind!=null}const xe={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size · diameter",collections:"Collection",pcds:"PCD · fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function v(e,t){switch(t){case"tyreSizes":return[...new Set(_(e).flatMap(fe))];case"brands":return z(e)?[z(e)]:[];case"finishes":return oe(e);case"diameters":return re(e).map(String);case"collections":return ne(e);case"pcds":return se(e);case"tyreTypes":return le(e);case"speedRatings":return ce(e)}}function we(e){const t=new Map;for(const r of e)for(const n of ie(r))n.color&&!t.has(n.family)&&t.set(n.family,n.color);return t}function Ye(e,t,r,n=K(e),i=V){const o=c=>be(c,n,i),s=we(e),l=I(n).filter(c=>c!=="tyreSizes").filter(o).map(c=>{const u=t[c].map(String),P=new Set,w=new Map,x=new Map;for(const p of e){const m=v(p,c);for(const f of m)P.add(f);for(const f of new Set(m))x.set(f,(x.get(f)??0)+1);if(g(p,t,r,c))for(const f of new Set(m))w.set(f,(w.get(f)??0)+1)}const j=[...P].map(p=>({value:p,label:c==="diameters"?`${p}″`:p,count:w.get(p)??0,checked:u.includes(p),swatch:c==="finishes"?s.get(p)??null:null})).sort((p,m)=>{if(c==="diameters")return Number(p.value)-Number(m.value);const f=(x.get(m.value)??0)-(x.get(p.value)??0);return f!==0?f:p.value.localeCompare(m.value)});return{key:c,label:xe[c],options:j}}).filter(c=>c.options.length>B),a=[];for(const c of l){const u=_e(c.key,n,i);u!==void 0&&a.push({fieldKey:c.key,filterOrder:u})}return[...G(l,c=>c.key,a,"filterOrder")]}const B=1;function $e(e){return e.showCollection===!1?["collections"]:[]}function be(e,t,r){return t.length===0||r.length===0?!0:t.some(n=>U(M(r,n))(T(e,n)))}function _e(e,t,r){if(r.length===0)return;let n;for(const i of t){const o=q(M(r,i),"filter")(T(e,i));o!==void 0&&(n===void 0||o<n)&&(n=o)}return n}function Me(e){const t=new Set;for(const r of e)for(const n of _(r))t.add(F(n));return t.size}function We(e,t){return I(t).includes("tyreSizes")?Me(e)>B:!1}function C(e){const t=pe(e);if(t)return t;const[r,n]=e.split("/");return{width:r?Number(r):void 0,profile:n?Number(n):void 0}}function Te(e,t,r){return h.slice(0,h.indexOf(r)).every(n=>{const i=t[n];return i==null||e[n]===i})}function Ze(e,t,r){const n=C(t.tyreSizes[0]??""),i=new Set(e.filter(o=>g(o,t,r,"tyreSizes")));return h.map(o=>{const s=new Map;for(const a of e){const c=_(a).filter(u=>Te(u,n,o));for(const u of new Set(c.map(P=>P[o])))s.has(u)||s.set(u,0),i.has(a)&&s.set(u,(s.get(u)??0)+1)}const l=[...s.keys()].sort((a,c)=>a-c).map(a=>({value:a,label:o==="rim"?`R${a}`:String(a),count:s.get(a)??0}));return{part:o,label:de[o],value:n[o]??null,options:l}})}function je(e,t,r,n){const i={...C(t)},o=h.indexOf(r);i[r]=n??void 0;for(const s of h.slice(o+1))i[s]!=null&&e.some(c=>h.slice(0,h.indexOf(s)+1).every(u=>i[u]==null||c[u]===i[u]))||(i[s]=void 0);return F(i)}function qe(e,t,r,n){if(t.length<2)return[];const i=e.filter(o=>g(o,r,n,"kind"));return[{kind:null,label:ae,count:i.length,checked:r.kind===null},...t.map(o=>({kind:o,label:E[o],count:i.filter(s=>b(s)===o).length,checked:r.kind===o}))]}function Ue(e,t){if(e.length===0)return null;const r=e.map(o=>J(S(o),t)).filter(o=>o!==null);if(r.length===0)return null;const n=Math.floor(Math.min(...r)),i=Math.ceil(Math.max(...r));return i>n?{min:n,max:i}:null}function Ve(e,t,r){const n=[];e.kind&&n.push({key:"kind",value:e.kind,label:E[e.kind]}),e.inStockOnly&&n.push({key:"inStock",value:"",label:H.inStock});for(const i of y)for(const o of e[i]){const s=String(o);n.push({key:i,value:s,label:i==="diameters"?`${s}″`:i==="pcds"?`PCD ${s}`:s})}return e.priceMax!=null&&n.push({key:"price",value:"",label:`Up to ${r(e.priceMax,t)}`}),n}const d={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},D="type",Y="maxPrice",$="inStock",W="sort",Z="page";function Ge(e){const t=o=>e.getAll(o).flatMap(s=>s.split(",")).filter(Boolean),r=Number(e.get(Y)),n=Number(e.get(Z)),i=e.get(D);return{tyreSizes:t(d.tyreSizes),brands:t(d.brands),finishes:t(d.finishes),diameters:t(d.diameters).map(Number).filter(Number.isFinite),collections:t(d.collections),pcds:t(d.pcds),tyreTypes:t(d.tyreTypes),speedRatings:t(d.speedRatings),priceMax:Number.isFinite(r)&&r>0?r:null,inStockOnly:e.get($)==="1",kind:ue.find(o=>o===i)??null,sort:N(e.get(W)),page:Number.isFinite(n)&&n>=1?Math.floor(n):1}}function He(e){const t=new URLSearchParams;for(const r of y){const n=e[r];n.length>0&&t.set(d[r],n.join(","))}return e.priceMax!=null&&t.set(Y,String(e.priceMax)),e.inStockOnly&&t.set($,"1"),e.kind&&t.set(D,e.kind),e.sort!=="recommended"&&t.set(W,e.sort),e.page>1&&t.set(Z,String(e.page)),t}function Xe(e,t){if(e<=7)return Array.from({length:e},(o,s)=>s+1);const r=[1],n=Math.max(2,t-1),i=Math.min(e-1,t+1);n>2&&r.push(null);for(let o=n;o<=i;o++)r.push(o);return i<e-1&&r.push(null),r.push(e),r}function Je(e,t,r){const n=e.length,i=Math.max(1,Math.floor(r)),o=Math.max(1,Math.ceil(n/i)),s=Math.min(Math.max(1,Math.floor(t)),o),l=(s-1)*i;return{items:e.slice(l,l+i),page:s,pageCount:o,total:n,from:n===0?0:l+1,to:Math.min(l+i,n)}}export{Ie as EMPTY_PLP_FILTERS,y as PLP_FACET_KEYS,xe as PLP_FACET_LABELS,B as PLP_ONE_VALUE_MAX,d as PLP_PARAM,me as PLP_SORT_LABELS,D as PLP_TYPE_PARAM,Ce as applyPlpFilters,N as asPlpSortKey,Ye as buildPlpFacets,qe as buildPlpTypeOptions,Ze as buildTyreSizeBoxes,be as facetWantedByAnyKind,ge as formatWidth,De as hasActivePlpFilters,g as itemMatchesPlp,$e as listingHiddenFacets,Je as paginatePlp,je as pickTyreSize,Ve as plpActiveChips,I as plpFacetKeysFor,Ge as plpFiltersFromParams,He as plpFiltersToParams,Be as plpInStockCount,Oe as plpOpeningSort,Xe as plpPageSequence,Ue as plpPriceBounds,Ne as plpShownKinds,he as plpSortKeysFor,We as plpTyreSizeBoxesShown,Me as plpTyreSizeCount,Ke as sizePairLabel,Pe as sortPlpItems,ve as wheelSizeLabels};
|
package/dist/words.d.ts
CHANGED
|
@@ -45,11 +45,12 @@ export type WebBuilderPhrase =
|
|
|
45
45
|
| "A display order-summary panel — items, totals and a note."
|
|
46
46
|
| "A document header — headline, metadata and standfirst."
|
|
47
47
|
| "A featured article — big cover image beside a headline and dek."
|
|
48
|
+
| "A few numbers that matter to us."
|
|
48
49
|
| "A fitment table — per-size bolt patterns, offsets and load ratings, filterable by diameter."
|
|
49
50
|
| "A frequently-asked-questions accordion with a header."
|
|
50
51
|
| "A full product-listing page: filter rail, sortable card grid and pagination, from the live catalog. Choose which product types it shows."
|
|
51
52
|
| "A heading over a grid of free-text title-and-blurb cards."
|
|
52
|
-
| "A heading over columns of image, title, blurb and specs."
|
|
53
|
+
| "A heading over columns, or alternating rows, of image, title, blurb and specs."
|
|
53
54
|
| "A headline beside a stylized product-UI mockup card — spec sheet, fitment, portal, kanban and more."
|
|
54
55
|
| "A horizontal year track of milestones — company history or roadmap."
|
|
55
56
|
| "A journal issue header with a lead statement and contents."
|
|
@@ -61,6 +62,7 @@ export type WebBuilderPhrase =
|
|
|
61
62
|
| "A newsletter signup beside a list of recent issues."
|
|
62
63
|
| "A newsletter signup beside your latest blog posts, pulled live."
|
|
63
64
|
| "A numbered section title with optional link."
|
|
65
|
+
| "A page header: eyebrow, title, details and a deck."
|
|
64
66
|
| "A paragraph of body copy."
|
|
65
67
|
| "A payment-methods trust strip with reassurance lines."
|
|
66
68
|
| "A picture worth\n*a thousand rows.*"
|
|
@@ -153,6 +155,7 @@ export type WebBuilderPhrase =
|
|
|
153
155
|
| "Applied to {n} cards"
|
|
154
156
|
| "Apply to all cards"
|
|
155
157
|
| "Approved customer reviews in a star-rated card grid, pulled live."
|
|
158
|
+
| "Arrangement"
|
|
156
159
|
| "Arrows"
|
|
157
160
|
| "Arrows placement"
|
|
158
161
|
| "Arrows shape"
|
|
@@ -172,6 +175,7 @@ export type WebBuilderPhrase =
|
|
|
172
175
|
| "Auto-fills the cover image, headline, dek, date and link from this post each time you open the editor. Those fields are hidden while a post is linked; the remaining fields stay yours to set."
|
|
173
176
|
| "Auto-slide"
|
|
174
177
|
| "Avg rating"
|
|
178
|
+
| "Avg. weight saving"
|
|
175
179
|
| "Background"
|
|
176
180
|
| "Background color"
|
|
177
181
|
| "Background image"
|
|
@@ -256,6 +260,7 @@ export type WebBuilderPhrase =
|
|
|
256
260
|
| "Card image"
|
|
257
261
|
| "Card layout"
|
|
258
262
|
| "Card link"
|
|
263
|
+
| "Card list"
|
|
259
264
|
| "Card number"
|
|
260
265
|
| "Card outline"
|
|
261
266
|
| "Card shadow"
|
|
@@ -490,6 +495,7 @@ export type WebBuilderPhrase =
|
|
|
490
495
|
| "Field notes"
|
|
491
496
|
| "Fill"
|
|
492
497
|
| "Fill color"
|
|
498
|
+
| "Fill content"
|
|
493
499
|
| "Fill row"
|
|
494
500
|
| "Filled"
|
|
495
501
|
| "Filters the collection grids below it — a sticky row of Pills (the default), or Columns, one per filter you switch on."
|
|
@@ -497,6 +503,7 @@ export type WebBuilderPhrase =
|
|
|
497
503
|
| "Find from the address (OpenStreetMap)"
|
|
498
504
|
| "Finding…"
|
|
499
505
|
| "Fine print"
|
|
506
|
+
| "Finish steps"
|
|
500
507
|
| "Finish swatches"
|
|
501
508
|
| "Finish · Size · ×1"
|
|
502
509
|
| "First item"
|
|
@@ -559,6 +566,7 @@ export type WebBuilderPhrase =
|
|
|
559
566
|
| "HTML tag"
|
|
560
567
|
| "Hairline"
|
|
561
568
|
| "Hairline borders"
|
|
569
|
+
| "Half"
|
|
562
570
|
| "Hand-picked products in a tidy grid."
|
|
563
571
|
| "Hard to read"
|
|
564
572
|
| "Header"
|
|
@@ -617,7 +625,9 @@ export type WebBuilderPhrase =
|
|
|
617
625
|
| "Image right"
|
|
618
626
|
| "Image side"
|
|
619
627
|
| "Image stage"
|
|
628
|
+
| "Image tag"
|
|
620
629
|
| "Image tint"
|
|
630
|
+
| "Image width"
|
|
621
631
|
| "Image — set a path"
|
|
622
632
|
| "In its own box"
|
|
623
633
|
| "In progress (main)"
|
|
@@ -636,6 +646,7 @@ export type WebBuilderPhrase =
|
|
|
636
646
|
| "Issue lines"
|
|
637
647
|
| "Issue meta lines"
|
|
638
648
|
| "Item"
|
|
649
|
+
| "Item content"
|
|
639
650
|
| "Items"
|
|
640
651
|
| "Its own"
|
|
641
652
|
| "Its size follows Styles ▸ {follows} — {px}px right now."
|
|
@@ -650,6 +661,7 @@ export type WebBuilderPhrase =
|
|
|
650
661
|
| "Keep this section's own built-in size"
|
|
651
662
|
| "Key *features.*"
|
|
652
663
|
| "Key Features"
|
|
664
|
+
| "Kind"
|
|
653
665
|
| "LINE"
|
|
654
666
|
| "LIVE"
|
|
655
667
|
| "Label"
|
|
@@ -689,6 +701,7 @@ export type WebBuilderPhrase =
|
|
|
689
701
|
| "Line"
|
|
690
702
|
| "Line (trend)"
|
|
691
703
|
| "Link"
|
|
704
|
+
| "Link from"
|
|
692
705
|
| "Link to"
|
|
693
706
|
| "Linked to a blog post. This editor has no blog to pick another from; choose “None (manual)” to author the section yourself."
|
|
694
707
|
| "Linked to “{name}”"
|
|
@@ -699,6 +712,7 @@ export type WebBuilderPhrase =
|
|
|
699
712
|
| "Live"
|
|
700
713
|
| "Live chat"
|
|
701
714
|
| "Live chat settings belong to a website."
|
|
715
|
+
| "Live number"
|
|
702
716
|
| "Live numbers"
|
|
703
717
|
| "Loading versions"
|
|
704
718
|
| "Loading…"
|
|
@@ -709,6 +723,7 @@ export type WebBuilderPhrase =
|
|
|
709
723
|
| "Logo"
|
|
710
724
|
| "Logo alt text"
|
|
711
725
|
| "Logo color"
|
|
726
|
+
| "Logo content"
|
|
712
727
|
| "Logo description"
|
|
713
728
|
| "Logo five"
|
|
714
729
|
| "Logo four"
|
|
@@ -725,6 +740,7 @@ export type WebBuilderPhrase =
|
|
|
725
740
|
| "Look"
|
|
726
741
|
| "Lookup busy — try again in a moment."
|
|
727
742
|
| "Loop"
|
|
743
|
+
| "Los Angeles · Fort Lauderdale · Bewdley · Drachten · Mumbai · Selangor · Ho Chi Minh · Sydney. Three continents covered from one California design studio."
|
|
728
744
|
| "Main"
|
|
729
745
|
| "Main Pages"
|
|
730
746
|
| "Main color"
|
|
@@ -820,13 +836,16 @@ export type WebBuilderPhrase =
|
|
|
820
836
|
| "One line"
|
|
821
837
|
| "One row"
|
|
822
838
|
| "One then four"
|
|
839
|
+
| "One third"
|
|
823
840
|
| "Only the size follows a site style. This section sets its own font, weight and letter case."
|
|
824
841
|
| "Open"
|
|
825
842
|
| "Open first answer"
|
|
826
843
|
| "Open the {name} in a new tab"
|
|
827
844
|
| "Open your saved draft in a new tab. Visitors don't see it."
|
|
828
845
|
| "Opening hours"
|
|
846
|
+
| "Operating footprint"
|
|
829
847
|
| "Option"
|
|
848
|
+
| "Order"
|
|
830
849
|
| "Order Table"
|
|
831
850
|
| "Order content"
|
|
832
851
|
| "Order summary"
|
|
@@ -844,6 +863,7 @@ export type WebBuilderPhrase =
|
|
|
844
863
|
| "Padding right"
|
|
845
864
|
| "Padding top"
|
|
846
865
|
| "Page"
|
|
866
|
+
| "Page Header"
|
|
847
867
|
| "Page button"
|
|
848
868
|
| "Page name"
|
|
849
869
|
| "Page settings for “{name}”"
|
|
@@ -869,6 +889,7 @@ export type WebBuilderPhrase =
|
|
|
869
889
|
| "Pick a color to see how it reads."
|
|
870
890
|
| "Pick a post from {place} to auto-fill this section, or keep “None (manual)” to author it yourself below."
|
|
871
891
|
| "Pick who to reach, then a form that routes the message."
|
|
892
|
+
| "Picture first"
|
|
872
893
|
| "Pinterest"
|
|
873
894
|
| "Place"
|
|
874
895
|
| "Placement"
|
|
@@ -893,6 +914,7 @@ export type WebBuilderPhrase =
|
|
|
893
914
|
| "Preview your saved draft in a new tab"
|
|
894
915
|
| "Previous slide"
|
|
895
916
|
| "Price"
|
|
917
|
+
| "Privately held since day one. Same two founders."
|
|
896
918
|
| "Product"
|
|
897
919
|
| "Product Grid"
|
|
898
920
|
| "Product Hero"
|
|
@@ -960,7 +982,11 @@ export type WebBuilderPhrase =
|
|
|
960
982
|
| "Rotate"
|
|
961
983
|
| "Rounds the picture. Left alone it stays square."
|
|
962
984
|
| "Rounds the picture. The card's own corner is in Styles."
|
|
985
|
+
| "Row"
|
|
963
986
|
| "Row columns"
|
|
987
|
+
| "Rows"
|
|
988
|
+
| "Rows, first image on the left"
|
|
989
|
+
| "Rows, first image on the right"
|
|
964
990
|
| "Sans"
|
|
965
991
|
| "Save"
|
|
966
992
|
| "Save as Template"
|
|
@@ -1033,6 +1059,7 @@ export type WebBuilderPhrase =
|
|
|
1033
1059
|
| "Show ticker"
|
|
1034
1060
|
| "Show {label} on the slide"
|
|
1035
1061
|
| "Shown beside the heading"
|
|
1062
|
+
| "Shows"
|
|
1036
1063
|
| "Shows when a visitor points at the button"
|
|
1037
1064
|
| "Shrink to fit"
|
|
1038
1065
|
| "Side space"
|
|
@@ -1069,6 +1096,8 @@ export type WebBuilderPhrase =
|
|
|
1069
1096
|
| "Spec label"
|
|
1070
1097
|
| "Spec tiles"
|
|
1071
1098
|
| "Spec value"
|
|
1099
|
+
| "Specified in California to a 14-step protocol. No two sets are identical."
|
|
1100
|
+
| "Specs"
|
|
1072
1101
|
| "Spin"
|
|
1073
1102
|
| "Spine"
|
|
1074
1103
|
| "Spine (single rail)"
|
|
@@ -1131,6 +1160,7 @@ export type WebBuilderPhrase =
|
|
|
1131
1160
|
| "Tab name"
|
|
1132
1161
|
| "Tab shape"
|
|
1133
1162
|
| "Tabbed Gallery"
|
|
1163
|
+
| "Table"
|
|
1134
1164
|
| "Tabs"
|
|
1135
1165
|
| "Tall (3:4)"
|
|
1136
1166
|
| "Tall 3:4"
|
|
@@ -1249,6 +1279,7 @@ export type WebBuilderPhrase =
|
|
|
1249
1279
|
| "Two, then threes"
|
|
1250
1280
|
| "Type"
|
|
1251
1281
|
| "Type a postcode or address"
|
|
1282
|
+
| "Typed by hand"
|
|
1252
1283
|
| "Typed here"
|
|
1253
1284
|
| "Typed in"
|
|
1254
1285
|
| "Tyre Fitment Form"
|
|
@@ -1279,6 +1310,7 @@ export type WebBuilderPhrase =
|
|
|
1279
1310
|
| "Version {n}"
|
|
1280
1311
|
| "Version {n} is now your draft"
|
|
1281
1312
|
| "Versions"
|
|
1313
|
+
| "Versus OEM equivalents, across our forged catalog."
|
|
1282
1314
|
| "Vertical breathing room between sections."
|
|
1283
1315
|
| "Video"
|
|
1284
1316
|
| "Video 16:9"
|
|
@@ -1297,6 +1329,7 @@ export type WebBuilderPhrase =
|
|
|
1297
1329
|
| "What this does when a shopper points at it, or taps it on a phone."
|
|
1298
1330
|
| "What this picture does when a shopper points at it. Black and white shows it in grey until then. A phone shows its colour."
|
|
1299
1331
|
| "What this picture does when a shopper points at the card. Show next image fades to the card's next photo. Black and white shows it in grey until then. A phone shows the first photo in colour."
|
|
1332
|
+
| "What we count."
|
|
1300
1333
|
| "WhatsApp"
|
|
1301
1334
|
| "When a link lands on this Box's anchor, the Box gets a main color outline and its first block turns the main color."
|
|
1302
1335
|
| "When the text does not fit"
|
|
@@ -1310,6 +1343,7 @@ export type WebBuilderPhrase =
|
|
|
1310
1343
|
| "With us"
|
|
1311
1344
|
| "Wording"
|
|
1312
1345
|
| "Words"
|
|
1346
|
+
| "Words first"
|
|
1313
1347
|
| "Wrap"
|
|
1314
1348
|
| "Write the answer here."
|
|
1315
1349
|
| "Write the opening paragraph here.\n\n- Start a line with a dash for a bullet.\n- Add as many as you like."
|
|
@@ -1318,6 +1352,7 @@ export type WebBuilderPhrase =
|
|
|
1318
1352
|
| "Year"
|
|
1319
1353
|
| "Year →"
|
|
1320
1354
|
| "Years"
|
|
1355
|
+
| "Years in business"
|
|
1321
1356
|
| "YouTube"
|
|
1322
1357
|
| "YouTube link"
|
|
1323
1358
|
| "Your *first* section."
|
|
@@ -1338,9 +1373,12 @@ export type WebBuilderPhrase =
|
|
|
1338
1373
|
| "Zigzag"
|
|
1339
1374
|
| "Zoom"
|
|
1340
1375
|
| "all theme colors"
|
|
1376
|
+
| "arrangement"
|
|
1341
1377
|
| "body text"
|
|
1378
|
+
| "boxes"
|
|
1342
1379
|
| "button"
|
|
1343
1380
|
| "card"
|
|
1381
|
+
| "cities"
|
|
1344
1382
|
| "city"
|
|
1345
1383
|
| "direction"
|
|
1346
1384
|
| "draft"
|
|
@@ -1421,8 +1459,8 @@ export type StorefrontBlocksPhrase =
|
|
|
1421
1459
|
| "A detail of this record"
|
|
1422
1460
|
| "A few quick picks and we show the right option for you."
|
|
1423
1461
|
| "A line about it appears here."
|
|
1424
|
-
| "A note about how these are matched."
|
|
1425
1462
|
| "A number, @name or an ID"
|
|
1463
|
+
| "A sample. On the live page each size shows its own verdict for the shopper's car."
|
|
1426
1464
|
| "A short description of your newsletter or publication."
|
|
1427
1465
|
| "A short summary of the post appears here."
|
|
1428
1466
|
| "A subhead."
|
|
@@ -1463,7 +1501,6 @@ export type StorefrontBlocksPhrase =
|
|
|
1463
1501
|
| "Apps from"
|
|
1464
1502
|
| "Archive button"
|
|
1465
1503
|
| "Archive link"
|
|
1466
|
-
| "Arrangement"
|
|
1467
1504
|
| "Article Body"
|
|
1468
1505
|
| "Ask for the car first"
|
|
1469
1506
|
| "Authorization expired — try again in a moment."
|
|
@@ -1494,6 +1531,7 @@ export type StorefrontBlocksPhrase =
|
|
|
1494
1531
|
| "Build it out of Boxes and blocks: the logo, menu, search, region and cart become blocks you can move. Your current header is kept."
|
|
1495
1532
|
| "Bump Profile"
|
|
1496
1533
|
| "Bundles containing this product appear here on a product page."
|
|
1534
|
+
| "Buy"
|
|
1497
1535
|
| "CSV"
|
|
1498
1536
|
| "Call"
|
|
1499
1537
|
| "Call button"
|
|
@@ -1592,7 +1630,6 @@ export type StorefrontBlocksPhrase =
|
|
|
1592
1630
|
| "Empty basket"
|
|
1593
1631
|
| "Encrypted in transit"
|
|
1594
1632
|
| "End"
|
|
1595
|
-
| "Enquire"
|
|
1596
1633
|
| "Enquire about tyres"
|
|
1597
1634
|
| "Even columns"
|
|
1598
1635
|
| "Even grid"
|
|
@@ -1630,6 +1667,7 @@ export type StorefrontBlocksPhrase =
|
|
|
1630
1667
|
| "First room"
|
|
1631
1668
|
| "First-name label"
|
|
1632
1669
|
| "First-name placeholder"
|
|
1670
|
+
| "Fitment answer"
|
|
1633
1671
|
| "Fitment picker"
|
|
1634
1672
|
| "Fits"
|
|
1635
1673
|
| "Flag"
|
|
@@ -1684,7 +1722,6 @@ export type StorefrontBlocksPhrase =
|
|
|
1684
1722
|
| "Image gallery"
|
|
1685
1723
|
| "Image shape"
|
|
1686
1724
|
| "Image source"
|
|
1687
|
-
| "Image tag"
|
|
1688
1725
|
| "Images"
|
|
1689
1726
|
| "Images from"
|
|
1690
1727
|
| "Images to show"
|
|
@@ -1758,6 +1795,7 @@ export type StorefrontBlocksPhrase =
|
|
|
1758
1795
|
| "Menu Item"
|
|
1759
1796
|
| "Menu link"
|
|
1760
1797
|
| "Menu row"
|
|
1798
|
+
| "Menu style"
|
|
1761
1799
|
| "Message form"
|
|
1762
1800
|
| "Message us"
|
|
1763
1801
|
| "Messaging Strip"
|
|
@@ -1852,6 +1890,7 @@ export type StorefrontBlocksPhrase =
|
|
|
1852
1890
|
| "Pick a product…"
|
|
1853
1891
|
| "Pick the products yourself below, or choose “All products” or a category from {place}."
|
|
1854
1892
|
| "Pickup"
|
|
1893
|
+
| "Picture"
|
|
1855
1894
|
| "Pills"
|
|
1856
1895
|
| "Pinning one overrides the section’s Cover image."
|
|
1857
1896
|
| "Pools every product’s grouped media: each one’s Relative / lifestyle photos feed Gallery A, its Product photos Gallery B and its Others the Others gallery. Every media group becomes a card, attributed to its own product (title, link and tag). Narrow the set with the Category filter above. Headings, intro copy and stats stay yours."
|
|
@@ -1872,6 +1911,7 @@ export type StorefrontBlocksPhrase =
|
|
|
1872
1911
|
| "Product Gallery"
|
|
1873
1912
|
| "Product content"
|
|
1874
1913
|
| "Product link"
|
|
1914
|
+
| "Product page link"
|
|
1875
1915
|
| "Product photos"
|
|
1876
1916
|
| "Product story"
|
|
1877
1917
|
| "Product type"
|
|
@@ -1909,10 +1949,8 @@ export type StorefrontBlocksPhrase =
|
|
|
1909
1949
|
| "Rim"
|
|
1910
1950
|
| "Rim Profile"
|
|
1911
1951
|
| "Routing groups"
|
|
1912
|
-
| "Row"
|
|
1913
1952
|
| "Row shape"
|
|
1914
1953
|
| "Row {n}"
|
|
1915
|
-
| "Rows"
|
|
1916
1954
|
| "Rows from"
|
|
1917
1955
|
| "S"
|
|
1918
1956
|
| "STP · STEP · DXF · PDF"
|
|
@@ -1988,13 +2026,11 @@ export type StorefrontBlocksPhrase =
|
|
|
1988
2026
|
| "Space from the logo"
|
|
1989
2027
|
| "Spec table"
|
|
1990
2028
|
| "Specifications *table.*"
|
|
1991
|
-
| "Specs"
|
|
1992
2029
|
| "Speed rating"
|
|
1993
2030
|
| "Staggered spread"
|
|
1994
2031
|
| "Status rail"
|
|
1995
2032
|
| "Step"
|
|
1996
2033
|
| "Sticky header"
|
|
1997
|
-
| "Stock fitment"
|
|
1998
2034
|
| "Storefront › Settings › Regions & currencies"
|
|
1999
2035
|
| "Storefront → Booking Services"
|
|
2000
2036
|
| "Storefront → Catalog"
|
|
@@ -2031,6 +2067,7 @@ export type StorefrontBlocksPhrase =
|
|
|
2031
2067
|
| "That didn’t come back — pick the form from the list, or try again."
|
|
2032
2068
|
| "The EU label appears here for every size with an EPREL registration number. It is read live from the registry and never stored."
|
|
2033
2069
|
| "The banner's words follow each visitor's country. Turn consent on or off, and pick the privacy page, in Admin › Storefront › Marketing › Privacy."
|
|
2070
|
+
| "The card is empty. Add parts to its card template in Layers."
|
|
2034
2071
|
| "The color the bar paints once it is solid — after any scroll, and on every product page from the first paint. Follow the site theme keeps it on whatever palette the site is on."
|
|
2035
2072
|
| "The header settings could not be read. Try again."
|
|
2036
2073
|
| "The linked menu"
|