efficient-storefront-blocks 0.90.0 → 0.92.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 +36 -0
- package/dist/chunks/{EditorPreviewCheckout-M4LID5YF.js → EditorPreviewCheckout-VHPWPS3N.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-2JWQZN2Q.js → SiteEditorProvider-C4HT4BT4.js} +1 -1
- package/dist/chunks/chunk-7L5DVQZ4.js +1 -0
- package/dist/chunks/chunk-PW7BA4ZJ.js +1 -0
- package/dist/chunks/{chunk-3XIZADE6.js → chunk-RAOSZKA3.js} +1 -1
- package/dist/chunks/chunk-S2WLJ6H2.js +388 -0
- package/dist/chunks/{fitment-data-3VLLTJW6.js → fitment-data-URJZ24LU.js} +1 -1
- package/dist/contract.js +11 -19
- package/dist/editor/components/GalleryShowcaseSource.js +1 -1
- package/dist/editor/lib/document/block-align-row.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/AlloyWheelsListing/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryItem/fields.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/index.d.ts +1 -1
- package/dist/editor/lib/document/blocks/service/AppointmentBooking/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/index.d.ts +1 -1
- package/dist/editor/lib/document/config.d.ts +2 -0
- package/dist/editor/lib/document/config.js +1 -1
- package/dist/editor/lib/efficient-block-sources.js +1 -1
- package/dist/editor/lib/storefront-editor-words-kept.js +1 -1
- package/dist/editor/lib/storefront-editor-words.d.ts +8 -7
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/editor.css +1 -1
- package/dist/index.js +53 -39
- package/dist/links.js +1 -1
- package/dist/render/app/globals.css +10 -1
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/AppointmentBooking.d.ts +2 -1
- package/dist/render/components/AppointmentBooking.js +1 -1
- package/dist/render/components/ContactRouting.d.ts +2 -1
- package/dist/render/components/ContactRouting.js +1 -1
- package/dist/render/components/Events.d.ts +3 -1
- package/dist/render/components/Events.js +1 -1
- package/dist/render/components/FooterMenu.d.ts +3 -1
- package/dist/render/components/FooterMenu.js +1 -1
- package/dist/render/components/FooterPayment.js +1 -1
- package/dist/render/components/FooterSocial.js +1 -1
- package/dist/render/components/GridCardTemplate.d.ts +30 -1
- package/dist/render/components/GridCardTemplate.js +1 -1
- package/dist/render/components/ProductGridSection.d.ts +2 -1
- package/dist/render/components/ProductGridSection.js +1 -1
- package/dist/render/components/PublishedFooter.js +1 -1
- package/dist/render/components/PublishedHeader.js +1 -1
- package/dist/render/components/RatingBlockView.d.ts +5 -0
- package/dist/render/components/RatingBlockView.js +1 -0
- package/dist/render/components/ReviewForm.js +1 -1
- package/dist/render/components/TyrePlpCard.d.ts +2 -1
- package/dist/render/components/TyrePlpCard.js +1 -1
- package/dist/render/components/TyreSummaryCard.d.ts +2 -1
- package/dist/render/components/TyreSummaryCard.js +1 -1
- package/dist/render/components/WheelCardFrame.d.ts +1 -2
- package/dist/render/components/WheelCardFrame.js +1 -1
- package/dist/render/components/card-pieces/CardPicture.d.ts +1 -1
- package/dist/render/components/card-pieces/CardProductPicture.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -1
- package/dist/render/components/pdp-dynamic/RecordPhotoGallery.d.ts +2 -1
- package/dist/render/components/pdp-dynamic/RecordPhotoGallery.js +1 -1
- package/dist/render/components/wheels-plp/AlloyWheelsListing.d.ts +5 -14
- package/dist/render/components/wheels-plp/AlloyWheelsListing.js +1 -1
- package/dist/render/lib/api/index.d.ts +3 -1
- package/dist/render/lib/api/index.js +1 -1
- package/dist/render/lib/chrome-cache.d.ts +1 -0
- package/dist/render/lib/chrome-cache.js +1 -1
- package/dist/render/lib/content/events-featured-look.d.ts +3 -0
- package/dist/render/lib/content/events-featured-look.js +1 -0
- package/dist/render/lib/content/menu-card-seed.d.ts +4 -0
- package/dist/render/lib/content/menu-card-seed.js +1 -1
- package/dist/render/lib/content/menu-entry-type.d.ts +2 -0
- package/dist/render/lib/content/menu-entry-type.js +1 -0
- package/dist/render/lib/content/product-card-seed.d.ts +7 -0
- package/dist/render/lib/content/product-card-seed.js +1 -1
- package/dist/render/lib/content/rating.d.ts +1 -0
- package/dist/render/lib/content/rating.js +1 -0
- package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/meta.d.ts +6 -0
- package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/meta.js +1 -1
- package/dist/render/lib/document/blocks/commerce/AlloyWheelsListing/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductColour/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductEyebrow/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductGrid/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductPrice/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductSpecs/render.js +1 -1
- package/dist/render/lib/document/blocks/service/AppointmentBooking/render.js +1 -1
- package/dist/render/lib/document/blocks/service/ContactRouting/render.js +1 -1
- package/dist/render/lib/document/blocks/service/Events/meta.d.ts +6 -0
- package/dist/render/lib/document/blocks/service/Events/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/Events/render.js +1 -1
- package/dist/render/lib/document/blocks/service/RatingBlock/meta.d.ts +2 -1
- package/dist/render/lib/document/blocks/service/RatingBlock/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/RatingBlock/render.js +1 -1
- package/dist/render/lib/document/card-templates.d.ts +3 -1
- 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/published-chrome-data.d.ts +2 -0
- package/dist/render/lib/document/published-chrome-data.js +1 -0
- package/dist/render/lib/document/render-config.d.ts +2 -0
- package/dist/render/lib/document/render-config.js +1 -1
- package/dist/render/lib/document/section-to-box-rows-detail.js +1 -1
- package/dist/render/lib/document/section-to-box-rows-events.d.ts +1 -0
- package/dist/render/lib/document/section-to-box-rows-events.js +1 -0
- package/dist/render/lib/document/section-to-box-rows-reviews.d.ts +2 -1
- package/dist/render/lib/document/section-to-box-rows-reviews.js +1 -1
- package/dist/render/lib/document/section-to-box-rows-service.d.ts +1 -0
- package/dist/render/lib/document/section-to-box-rows-service.js +1 -0
- package/dist/render/lib/document/section-to-box-rows-spec.js +1 -1
- package/dist/render/lib/sections/grid-no-hole.d.ts +1 -1
- package/dist/render/lib/sections/product-pictures.d.ts +2 -1
- package/dist/render/lib/sections/product-pictures.js +1 -1
- package/dist/render/lib/wheels/plp-hydrate.d.ts +3 -0
- package/dist/render/lib/wheels/plp-hydrate.js +1 -1
- package/dist/words.d.ts +19 -7
- package/dist/words.js +5 -5
- package/package.json +4 -2
- package/dist/chunks/chunk-6TDIG6W3.js +0 -395
- package/dist/chunks/chunk-JMUP4FBL.js +0 -1
- package/dist/chunks/chunk-U6UPMVSX.js +0 -1
- package/dist/render/components/wheels-plp/PlpCard.d.ts +0 -29
- package/dist/render/components/wheels-plp/PlpCard.js +0 -1
- package/dist/render/lib/content/legacy-block-align.d.ts +0 -2
- package/dist/render/lib/content/legacy-block-align.js +0 -1
- /package/dist/chunks/{chunk-N445XY3W.js → chunk-JB6ISWYA.js} +0 -0
- /package/dist/chunks/{chunk-6TDIG6W3.js.LEGAL.txt → chunk-S2WLJ6H2.js.LEGAL.txt} +0 -0
package/dist/links.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var h={bold:{open:"**",close:"**",placeholder:"bold text"},italic:{open:"_",close:"_",placeholder:"italic text"},strike:{open:"~~",close:"~~",placeholder:"struck out"},code:{open:"`",close:"`",placeholder:"code"},highlight:{open:"==",close:"==",placeholder:"highlighted text"},quiet:{open:"^^",close:"^^",placeholder:"quiet text"},underline:{open:"[",close:"]{underline}",placeholder:"underlined text"},sup:{open:"[",close:"]{sup}",placeholder:"superscript"},sub:{open:"[",close:"]{sub}",placeholder:"subscript"}};var ue=["main","text","background","muted"],et=[...ue,"surface"];var tt={bold:h.bold.placeholder,italic:h.italic.placeholder,strike:h.strike.placeholder,code:h.code.placeholder,highlight:h.highlight.placeholder,quiet:h.quiet.placeholder,link:"link text",underline:h.underline.placeholder,sup:h.sup.placeholder,sub:h.sub.placeholder,color:"colored text",style:"styled text"};var ce=[{style:"bold",label:"B",name:"Strong",title:"Strong \xB7 **words** \xB7 \u2318B",shortcut:"b"},{style:"italic",label:"I",name:"Italic",title:"Italic \xB7 _words_ \xB7 \u2318I",shortcut:"i"},{style:"strike",label:"S",name:"Strikethrough",title:"Strikethrough \xB7 ~~words~~"},{style:"highlight",label:"\u25C6",name:"Emphasis",title:"Emphasis \xB7 ==words=="},{style:"quiet",label:"a",name:"Quiet",title:"Quiet \xB7 ^^words^^"},{style:"code",label:"\u2039\u203A",name:"Code",title:"Code"},{style:"link",label:"\u{1F517}",name:"Link",title:"Link \xB7 [words](https://\u2026) \xB7 \u2318K",shortcut:"k"},{style:"bullet",label:"\u2022",name:"Bulleted list",title:"Bulleted list"},{style:"number",label:"1.",name:"Numbered list",title:"Numbered list"},{style:"quote",label:"\u275D",name:"Quote",title:"Quote"},{style:"clear",label:"T\xD7",name:"Clear marks",title:"Clear marks \xB7 \u2318\u21E7X",shortcut:"shift+x"}];var F=[{open:"**",close:"**",kind:"bold"},{open:"==",close:"==",kind:"highlight"},{open:"~~",close:"~~",kind:"strike"},{open:"_",close:"_",kind:"italic",wordBoundary:!0},{open:"^^",close:"^^",kind:"quiet"},{open:"@@",close:"@@",kind:"highlight"},{open:"++",close:"++",kind:"bold",wordStart:!0}],pe=["highlight","quiet"],nt=ce.map(e=>e.style).filter(e=>F.some(t=>t.kind===e)).filter(e=>!pe.includes(e)),rt=[...F,{open:"*",close:"*",kind:"accent"}],ot=[...F,{open:"*",close:"*",kind:"accent"},{open:"#",close:"#",kind:"bold",notBefore:"0123456789"},{open:"[",close:"]",kind:"italic",notBefore:"(",notBeforeBlock:!0}];var it=["http","https","mailto","tel"];function $(e){if(e===""||/[\s\u0000-\u001f\u007f]/.test(e))return!1;let t=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(e);return!t||it.includes(t[1].toLowerCase())}var de=["width","profile","rim"];var st=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,lt={width:[100,500],profile:[20,100],rim:[10,30]};function B(e){let t=st.exec(e??"");if(!t)return null;let n={width:Number(t[1]),profile:Number(t[2]),rim:Number(t[3])};return de.every(o=>{let[i,a]=lt[o];return n[o]>=i&&n[o]<=a})?n:null}function _(e){if(e.width==null)return"";if(e.profile==null)return String(e.width);let t=`${e.width}/${e.profile}`;return e.rim==null?t:`${t} R${e.rim}`}function fe(e){return[_({width:e.width}),_({width:e.width,profile:e.profile}),_(e)]}var k=["alloy-wheel","tyre"],me=["alloy-wheel"],R={"alloy-wheel":"Alloy wheels",tyre:"Tyres"};var hn=k.map(e=>({value:e,label:R[e]}));function O(e){return e==null?[...me]:Array.isArray(e)?k.filter(t=>e.includes(t)):[...me]}var m=e=>e;function d(e){return m(e).kind==="tyre"?"tyre":"alloy-wheel"}function W(e){return m(e).brand??""}function ge(e){return m(e).prices??void 0}function he(e){return m(e).inStock!==!1}function ye(e){let t=m(e),n=d(e)==="tyre"?t.rimDiameters:t.sizes;return Array.isArray(n)?n.filter(r=>typeof r=="number"&&Number.isFinite(r)):[]}function G(e){return d(e)==="tyre"?[]:(m(e).finishes??[]).filter(t=>typeof t?.family=="string").map(t=>({family:t.family,color:t.color??null}))}function Pe(e){return G(e).map(t=>t.family)}function H(e){if(d(e)==="tyre")return[];let t=m(e);return Array.isArray(t.categories)?t.categories:t.process?[t.process]:[]}function Se(e){return d(e)==="tyre"?[]:m(e).spec?.pcds??[]}function be(e){return d(e)!=="tyre"?[]:m(e).tyreTypes??[]}function ke(e){return d(e)!=="tyre"?[]:m(e).speedRatings??[]}function xe(e){if(d(e)!=="tyre")return[];let t=m(e).sizes;return Array.isArray(t)?t.map(n=>B(typeof n=="string"?n:null)).filter(n=>n!==null):[]}var Y=e=>typeof e=="string"&&e?e:void 0;var we=null;function Le(e,t){return t?e.replace(/\{([A-Za-z][A-Za-z0-9_]*)\}/g,(n,r)=>Object.prototype.hasOwnProperty.call(t,r)?String(t[r]):n):e}function y(e,t){let n=we?we[e]:void 0;if(typeof n=="function"){try{let r=Y(n(t??{}));if(r)return r}catch{}return Le(e,t)}return Le(Y(n)??e,t)}function q(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}var E=(e,t,n,r)=>({default:e,min:t,max:n,step:r}),xn=E(30,0,100,10),wn=E(0,0,100,5),Ln=E(100,0,100,5),Tn=E(2,0,4,.5);function Te(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}var Fe="homepage";var A=[{value:"page",label:"Page"},{value:"anchor",label:"Anchor"},{value:"blog",label:"Blog post",needs:"service"},{value:"product",label:"Product",needs:"commerce"},{value:"popup",label:"Popup"},{value:"custom",label:"Custom URL"}];function I(e){return e.offersCommerce&&e.offersService?A:A.filter(t=>!t.needs||(t.needs==="commerce"?e.offersCommerce:e.offersService))}var j="#popup:";function _e(e){return`${j}${e}`}function Re(e){return e.startsWith(j)&&e.slice(j.length).trim()||null}function P(e){return e===Fe?"/":`/${e}`}function N(e){return`/journal/${e}`}function C(e){return`/wheels/${e}`}function K(e,t){return`${P(e)}#${t}`}function v(...e){let t=new Set,n=[];for(let r of e)for(let o of r?.content??[]){let i=Te(o?.props?.anchor);if(!i)continue;let a=q(i);!a||t.has(a)||(t.add(a),n.push({slug:a,name:i}))}return n}function Oe(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}var at=()=>({choosePage:y("Choose a page"),chooseSection:y("Choose a section"),noSections:y("No section anchors yet"),sectionHint:y("Jumps to a section on that page."),choosePost:y("Choose a post"),chooseProduct:y("Choose a product"),choosePopup:y("Choose a popup")});function D(e,t,n){if(!e)return"page";if(Re(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(Oe(e))return"product";if(e.includes("#")){let r=e.slice(0,e.indexOf("#"));if(r===""||r==="/"||t.includes(r))return"anchor"}return e==="/"||t.includes(e)||n&&n.listingPaths.includes(n.targetOf(e))?"page":"custom"}function Ee(e,t){let n=at(),r=e.pages.map(s=>({value:P(s.slug),label:s.title})),o=t?.pageOptions?t.pageOptions(r):r,i=o.map(s=>s.value),a=e.pages.map(s=>({label:s.title,options:v(...s.docs).map(u=>({value:K(s.slug,u.slug),label:u.name}))})).filter(s=>s.options.length>0),p=s=>{switch(s){case"page":return{type:"select",options:o,placeholder:n.choosePage};case"anchor":return{type:"groups",groups:a,placeholder:a.length?n.chooseSection:n.noSections};case"blog":return{type:"select",options:e.posts.map(u=>({value:N(u.slug),label:u.title||u.slug})),placeholder:n.choosePost};case"product":return{type:"select",options:e.products.map(u=>({value:u.href,label:u.name||u.href})),placeholder:n.chooseProduct};case"popup":return{type:"select",options:(e.popups??[]).map(u=>({value:_e(u.slug),label:u.title||u.slug})),placeholder:n.choosePopup};case"custom":return{type:"text"}}},l=I(e.offers).map(s=>({value:s.value,label:y(s.label),target:p(s.value),...s.value==="anchor"?{hint:n.sectionHint}:{},...s.value==="blog"||s.value==="product"||s.value==="popup"?{hideWhenEmpty:!0}:{}}));if(!t)return{kinds:l,rules:{kindOf:s=>D(s,i),targetOf:s=>s,readFilter:()=>null,withFilter:s=>s}};let c=s=>{let u=t.withFilter(s,null);return t.listingPaths.includes(u)?u:s};return{kinds:l,rules:{kindOf:s=>D(s,i,{listingPaths:t.listingPaths,targetOf:c}),targetOf:c,readFilter:t.readFilter,withFilter:t.withFilter},filtersFor:s=>t.listingPaths.includes(s)?t.filtersFor(s):null}}var Ae=Object.freeze([]);function V(e,t){return e.length===0?e:e.filter(n=>n.kind===void 0||n.kind===t)}function Ie(e,t){let n=t==="filter"?"filterOrder":"cardOrder",r=new Map;for(let o of e){let i=o[n];if(typeof i!="number"||!Number.isFinite(i))continue;let a=r.get(o.fieldKey);(a===void 0||i<a)&&r.set(o.fieldKey,i)}return o=>o?r.get(o):void 0}function Ne(e,t,n,r){let o=new Map;for(let l of n){let c=l[r];typeof c=="number"&&o.set(l.fieldKey,c)}if(o.size===0)return e;let i=[],a=[];e.forEach((l,c)=>{let s=t(l);s&&(i.push(c),a.push({item:l,index:c,order:o.get(s)}))}),a.sort((l,c)=>l.order!==void 0&&c.order!==void 0?l.order-c.order||l.index-c.index:l.order!==void 0?-1:c.order!==void 0?1:l.index-c.index);let p=[...e];return i.forEach((l,c)=>{p[l]=a[c].item}),p.every((l,c)=>l===e[c])?e:p}function Ce(e){return ct(e,"filter")}var ut="collection";function Z(e,t){return{tyreSizes:{},brands:{"alloy-wheel":"brand",tyre:"brand"},finishes:{"alloy-wheel":"wheel_finish_ref"},diameters:{"alloy-wheel":"diameter",tyre:"rim_diameter"},collections:{"alloy-wheel":ut},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[t]}function ct(e,t){let n=new Set(e.filter(r=>r[t]===!1).map(r=>r.fieldKey));return r=>!r||!n.has(r)}var Q={inStock:"In stock",outOfStock:"Out of stock",notInStockHere:"Not in stock here"};function pt(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Ke(e,t){let n=e?.[t];return pt(n)?n:null}function ve(e,t,n,r){if(n==null&&r==null)return!0;let o=Ke(e,t);return!(o===null||n!=null&&o<n||r!=null&&o>r)}function De(e){let t=e.spec?.lugs;return typeof t=="number"?t:null}var dt={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},ur=Object.keys(dt);var X=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],J={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},ft={diameters:"tyreSizes"};function mt(e){if(e.length===0)return[];let t=X.filter(n=>e.every(r=>J[n].includes(r)));return t.filter(n=>{let r=ft[n];return!r||!t.includes(r)})}function gt(e){let t=new Set;for(let n of e)t.add(d(n));return[...t]}var ee={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function Me(e,t,n,r=null,o="fail"){let i=d(e),a=p=>o==="fail"||(p==="lugs"?i==="alloy-wheel":J[p].includes(i));if(r!=="kind"&&t.kind&&i!==t.kind)return!1;for(let p of X){if(r===p)continue;let l=t[p];if(l.length===0||!a(p))continue;let c=l.map(String);if(!Ue(e,p).some(s=>c.includes(s)))return!1}if(r!=="lugs"&&t.lugs&&t.lugs.length>0&&a("lugs")){let p=De(e);if(p===null||!t.lugs.includes(p))return!1}return!(r!=="price"&&!ve(ge(e),n,t.priceMin??null,t.priceMax)||r!=="inStock"&&t.inStockOnly&&!he(e))}var ht={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function Ue(e,t){switch(t){case"tyreSizes":return[...new Set(xe(e).flatMap(fe))];case"brands":return W(e)?[W(e)]:[];case"finishes":return Pe(e);case"diameters":return ye(e).map(String);case"collections":return H(e);case"pcds":return Se(e);case"tyreTypes":return be(e);case"speedRatings":return ke(e)}}function yt(e){let t=new Map;for(let n of e)for(let r of G(n))r.color&&!t.has(r.family)&&t.set(r.family,r.color);return t}function ze(e,t,n,r=gt(e),o=Ae,i="fail"){let a=u=>St(u,r,o),p=yt(e),c=(i==="pass"?X.filter(u=>r.some(b=>J[u].includes(b))):mt(r)).filter(u=>u!=="tyreSizes").filter(a).map(u=>{let b=t[u].map(String),ae=new Set,z=new Map,T=new Map;for(let f of e){let S=Ue(f,u);for(let g of S)ae.add(g);for(let g of new Set(S))T.set(g,(T.get(g)??0)+1);if(Me(f,t,n,u,i))for(let g of new Set(S))z.set(g,(z.get(g)??0)+1)}let Je=[...ae].map(f=>({value:f,label:u==="diameters"?`${f}\u2033`:f,count:z.get(f)??0,checked:b.includes(f),swatch:u==="finishes"?p.get(f)??null:null})).sort((f,S)=>{if(u==="diameters")return Number(f.value)-Number(S.value);let g=(T.get(S.value)??0)-(T.get(f.value)??0);return g!==0?g:f.value.localeCompare(S.value)});return{key:u,label:ht[u],options:Je}}).filter(u=>u.options.length>Pt),s=[];for(let u of c){let b=bt(u.key,r,o);b!==void 0&&s.push({fieldKey:u.key,filterOrder:b})}return[...Ne(c,u=>u.key,s,"filterOrder")]}var Pt=1;function $e(e){return e.showCollection===!1?["collections"]:[]}function St(e,t,n){return t.length===0||n.length===0?!0:t.some(r=>Ce(V(n,r))(Z(e,r)))}function bt(e,t,n){if(n.length===0)return;let r;for(let o of t){let i=Ie(V(n,o),"filter")(Z(e,o));i!==void 0&&(r===void 0||i<r)&&(r=i)}return r}var te={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},ne="type";var x="FilterBlock";function Be(e){let t=e;return!!t&&typeof t=="object"&&typeof t.type=="string"&&!!t.props&&typeof t.props=="object"}function kt(e){return Object.entries(e.props??{}).filter(t=>Array.isArray(t[1])&&t[1].length>0&&t[1].every(Be))}function xt(e){let t=e??{},n=[];Array.isArray(t.content)&&n.push(t.content);for(let r of Object.values(t.zones??{}))Array.isArray(r)&&n.push(r);return n}function We(e){let t=[],n=(r,o)=>{let i=[r,...o];for(let a of r)if(Be(a)){t.push({node:a,order:t.length,lists:i});for(let[,p]of kt(a))n(p,i)}};for(let r of xt(e))n(r,[]);return t}function w(e){return We(e).map(t=>t.node)}var re={vehicle:"My Car",process:"Process",size:"Size",lugs:"Lugs",finish:"Finish",price:"Price"};var br=[{value:"inStock",label:Q.inStock},{value:"category",label:"Category"},{value:"lugs",label:re.lugs},{value:"price",label:re.price}];var He="AlloyWheelsListing";function Ye(e){return $(e.trim())}var L="/wheels",M="Products";function qe(e,t){return t>1?`${M} \xB7 ${e}`:M}function oe(...e){for(let t of[He,x])for(let n of e){let r=w({content:n?.content}).find(o=>o.type===t);if(r)return r.props??{}}return null}function U(...e){return oe(...e)!==null}function je(e,t){let n=e.filter(r=>U(...r.docs)).map(r=>P(r.slug));return t.fallback&&!n.includes(L)?[...n,L]:n}var ie=[ne,...Object.entries(te).filter(([e])=>e!=="tyreSizes").map(([,e])=>e)];function Ve(e){let t=e.indexOf("#"),n=t===-1?"":e.slice(t),r=t===-1?e:e.slice(0,t),o=r.indexOf("?");return{path:o===-1?r:r.slice(0,o),query:o===-1?"":r.slice(o+1),hash:n}}function Tt(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function Ze(e){let t=new URLSearchParams(Ve(e).query);for(let n of ie){let r=t.get(n);if(r)return{param:n,value:r}}return null}function se(e,t){let{path:n,query:r,hash:o}=Ve(e),i=r.split("&").filter(a=>a&&!ie.includes(Tt(a.split("=")[0])));return t?.value&&i.push(`${encodeURIComponent(t.param)}=${encodeURIComponent(t.value)}`),`${n}${i.length?`?${i.join("&")}`:""}${o}`}function Qe(e,t){let n=se(e,null);return t.includes(n)?n:e}function Ft(e,t,n=[]){return D(e,t,{listingPaths:n,targetOf:r=>Qe(r,n)})}function _t(e){return Array.isArray(e)?e.filter(t=>typeof t?.kind=="string"&&typeof t.field_key=="string").map(t=>({kind:t.kind,fieldKey:t.field_key,...typeof t.filter=="boolean"?{filter:t.filter}:{},filterOrder:t.filter_order??null})):[]}var Xe="Product type",Rt="AUD";function le(e,t){let n=t.listing??{},r=O(n.kinds),o=e.filter(l=>r.includes(d(l))),i=$e(n),a=ze(o,ee,Rt,r,t.fieldUsage).filter(l=>!i.includes(l.key)).map(l=>({param:te[l.key],label:l.label,values:l.options.filter(c=>!c.value.includes(",")).map(c=>({value:c.value,label:c.label}))})).filter(l=>l.values.length>0),p=k.filter(l=>r.includes(l)&&o.some(c=>d(c)===l));return p.length>1&&a.unshift({param:ne,label:Xe,values:p.map(l=>({value:l,label:R[l]}))}),a}function Ot(e){return t=>{let n=je(t,{fallback:e.offersCommerce}),r=t.filter(o=>U(...o.docs)).length;return{listingPaths:n,pageOptions:o=>{let i=o.map(a=>{let p=t.find(l=>P(l.slug)===a.value);return p&&U(...p.docs)?{...a,label:qe(p.title,r)}:a});return r===0&&e.offersCommerce&&!i.some(a=>a.value===L)&&i.push({value:L,label:M}),i},filtersFor:o=>{if(!n.includes(o))return null;let i=t.find(a=>P(a.slug)===o);return le(e.catalogue,{listing:i?oe(...i.docs):null,fieldUsage:e.fieldUsage})},readFilter:Ze,withFilter:se}}}function Et(e){let t=Ot({catalogue:e.catalogue,fieldUsage:e.fieldUsage,offersCommerce:e.offers.offersCommerce})(e.pages),n=Ee({pages:e.pages,posts:e.posts,products:e.products.map(r=>({href:C(r.slug),name:r.name||r.slug})),offers:e.offers},t);return{...n,rules:{...n.rules,isSafe:Ye},filtersFor:n.filtersFor??(()=>null)}}function co(e,t){return le(e,t)}export{L as BUILT_IN_LISTING_PATH,A as LINK_KINDS,ie as LISTING_FILTER_PARAMS,M as LISTING_PAGE_LABEL,Xe as PRODUCT_TYPE_FILTER_LABEL,K as anchorPath,_t as fieldUsageFromAdminRows,Ft as inferLinkKind,U as isProductListingPage,Ye as isSafeLink,I as linkKindsFor,Et as linkPickerSetup,co as listingFilterFields,oe as listingNode,qe as listingPageLabel,Qe as listingTarget,v as pageAnchors,P as pagePath,N as postPath,je as productListingPaths,Ze as readListingFilter,C as wheelPath,se as withListingFilter};
|
|
1
|
+
var h={bold:{open:"**",close:"**",placeholder:"bold text"},italic:{open:"_",close:"_",placeholder:"italic text"},strike:{open:"~~",close:"~~",placeholder:"struck out"},code:{open:"`",close:"`",placeholder:"code"},highlight:{open:"==",close:"==",placeholder:"highlighted text"},quiet:{open:"^^",close:"^^",placeholder:"quiet text"},underline:{open:"[",close:"]{underline}",placeholder:"underlined text"},sup:{open:"[",close:"]{sup}",placeholder:"superscript"},sub:{open:"[",close:"]{sub}",placeholder:"subscript"}};var ue=["main","text","background","muted"],en=[...ue,"surface"];var nn={bold:h.bold.placeholder,italic:h.italic.placeholder,strike:h.strike.placeholder,code:h.code.placeholder,highlight:h.highlight.placeholder,quiet:h.quiet.placeholder,link:"link text",underline:h.underline.placeholder,sup:h.sup.placeholder,sub:h.sub.placeholder,color:"colored text",style:"styled text"};var ce=[{style:"bold",label:"B",name:"Strong",title:"Strong \xB7 **words** \xB7 \u2318B",shortcut:"b"},{style:"italic",label:"I",name:"Italic",title:"Italic \xB7 _words_ \xB7 \u2318I",shortcut:"i"},{style:"strike",label:"S",name:"Strikethrough",title:"Strikethrough \xB7 ~~words~~"},{style:"highlight",label:"\u25C6",name:"Emphasis",title:"Emphasis \xB7 ==words=="},{style:"quiet",label:"a",name:"Quiet",title:"Quiet \xB7 ^^words^^"},{style:"code",label:"\u2039\u203A",name:"Code",title:"Code"},{style:"link",label:"\u{1F517}",name:"Link",title:"Link \xB7 [words](https://\u2026) \xB7 \u2318K",shortcut:"k"},{style:"bullet",label:"\u2022",name:"Bulleted list",title:"Bulleted list"},{style:"number",label:"1.",name:"Numbered list",title:"Numbered list"},{style:"quote",label:"\u275D",name:"Quote",title:"Quote"},{style:"clear",label:"T\xD7",name:"Clear marks",title:"Clear marks \xB7 \u2318\u21E7X",shortcut:"shift+x"}];var F=[{open:"**",close:"**",kind:"bold"},{open:"==",close:"==",kind:"highlight"},{open:"~~",close:"~~",kind:"strike"},{open:"_",close:"_",kind:"italic",wordBoundary:!0},{open:"^^",close:"^^",kind:"quiet"},{open:"@@",close:"@@",kind:"highlight"},{open:"++",close:"++",kind:"bold",wordStart:!0}],pe=["highlight","quiet"],tn=ce.map(e=>e.style).filter(e=>F.some(n=>n.kind===e)).filter(e=>!pe.includes(e)),rn=[...F,{open:"*",close:"*",kind:"accent"}],on=[...F,{open:"*",close:"*",kind:"accent"},{open:"#",close:"#",kind:"bold",notBefore:"0123456789"},{open:"[",close:"]",kind:"italic",notBefore:"(",notBeforeBlock:!0}];var sn=["http","https","mailto","tel"];function $(e){if(e===""||/[\s\u0000-\u001f\u007f]/.test(e))return!1;let n=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(e);return!n||sn.includes(n[1].toLowerCase())}var de=["width","profile","rim"];var ln=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,an={width:[100,500],profile:[20,100],rim:[10,30]};function B(e){let n=ln.exec(e??"");if(!n)return null;let t={width:Number(n[1]),profile:Number(n[2]),rim:Number(n[3])};return de.every(o=>{let[i,a]=an[o];return t[o]>=i&&t[o]<=a})?t:null}function _(e){if(e.width==null)return"";if(e.profile==null)return String(e.width);let n=`${e.width}/${e.profile}`;return e.rim==null?n:`${n} R${e.rim}`}function fe(e){return[_({width:e.width}),_({width:e.width,profile:e.profile}),_(e)]}var k=["alloy-wheel","tyre"],me=["alloy-wheel"],R={"alloy-wheel":"Alloy wheels",tyre:"Tyres"};var yt=k.map(e=>({value:e,label:R[e]}));function O(e){return e==null?[...me]:Array.isArray(e)?k.filter(n=>e.includes(n)):[...me]}var m=e=>e;function d(e){return m(e).kind==="tyre"?"tyre":"alloy-wheel"}function W(e){return m(e).brand??""}function ge(e){return m(e).prices??void 0}function he(e){return m(e).inStock!==!1}function ye(e){let n=m(e),t=d(e)==="tyre"?n.rimDiameters:n.sizes;return Array.isArray(t)?t.filter(r=>typeof r=="number"&&Number.isFinite(r)):[]}function G(e){return d(e)==="tyre"?[]:(m(e).finishes??[]).filter(n=>typeof n?.family=="string").map(n=>({family:n.family,color:n.color??null}))}function Pe(e){return G(e).map(n=>n.family)}function H(e){if(d(e)==="tyre")return[];let n=m(e);return Array.isArray(n.categories)?n.categories:n.process?[n.process]:[]}function Se(e){return d(e)==="tyre"?[]:m(e).spec?.pcds??[]}function be(e){return d(e)!=="tyre"?[]:m(e).tyreTypes??[]}function ke(e){return d(e)!=="tyre"?[]:m(e).speedRatings??[]}function xe(e){if(d(e)!=="tyre")return[];let n=m(e).sizes;return Array.isArray(n)?n.map(t=>B(typeof t=="string"?t:null)).filter(t=>t!==null):[]}var Y=e=>typeof e=="string"&&e?e:void 0;var we=null;function Le(e,n){return n?e.replace(/\{([A-Za-z][A-Za-z0-9_]*)\}/g,(t,r)=>Object.prototype.hasOwnProperty.call(n,r)?String(n[r]):t):e}function y(e,n){let t=we?we[e]:void 0;if(typeof t=="function"){try{let r=Y(t(n??{}));if(r)return r}catch{}return Le(e,n)}return Le(Y(t)??e,n)}function q(e){return(e??"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}var A=(e,n,t,r)=>({default:e,min:n,max:t,step:r}),wt=A(30,0,100,10),Lt=A(0,0,100,5),Tt=A(100,0,100,5),Ft=A(2,0,4,.5);function Te(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}var Fe="homepage";var E=[{value:"page",label:"Page"},{value:"anchor",label:"Anchor"},{value:"blog",label:"Blog post",needs:"service"},{value:"product",label:"Product",needs:"commerce"},{value:"popup",label:"Popup"},{value:"custom",label:"Custom URL"}];function I(e){return e.offersCommerce&&e.offersService?E:E.filter(n=>!n.needs||(n.needs==="commerce"?e.offersCommerce:e.offersService))}var j="#popup:";function _e(e){return`${j}${e}`}function Re(e){return e.startsWith(j)&&e.slice(j.length).trim()||null}function P(e){return e===Fe?"/":`/${e}`}function N(e){return`/journal/${e}`}function C(e){return`/wheels/${e}`}function K(e,n){return`${P(e)}#${n}`}function D(...e){let n=new Set,t=[];for(let r of e)for(let o of r?.content??[]){let i=Te(o?.props?.anchor);if(!i)continue;let a=q(i);!a||n.has(a)||(n.add(a),t.push({slug:a,name:i}))}return t}function Oe(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}var un=()=>({choosePage:y("Choose a page"),chooseSection:y("Choose a section"),noSections:y("No section anchors yet"),sectionHint:y("Jumps to a section on that page."),choosePost:y("Choose a post"),chooseProduct:y("Choose a product"),choosePopup:y("Choose a popup")});function v(e,n,t){if(!e)return"page";if(Re(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(Oe(e))return"product";if(e.includes("#")){let r=e.slice(0,e.indexOf("#"));if(r===""||r==="/"||n.includes(r))return"anchor"}return e==="/"||n.includes(e)||t&&t.listingPaths.includes(t.targetOf(e))?"page":"custom"}function Ae(e,n){let t=un(),r=e.pages.map(s=>({value:P(s.slug),label:s.title})),o=n?.pageOptions?n.pageOptions(r):r,i=o.map(s=>s.value),a=e.pages.map(s=>({label:s.title,options:D(...s.docs).map(u=>({value:K(s.slug,u.slug),label:u.name}))})).filter(s=>s.options.length>0),p=s=>{switch(s){case"page":return{type:"select",options:o,placeholder:t.choosePage};case"anchor":return{type:"groups",groups:a,placeholder:a.length?t.chooseSection:t.noSections};case"blog":return{type:"select",options:e.posts.map(u=>({value:N(u.slug),label:u.title||u.slug})),placeholder:t.choosePost};case"product":return{type:"select",options:e.products.map(u=>({value:u.href,label:u.name||u.href})),placeholder:t.chooseProduct};case"popup":return{type:"select",options:(e.popups??[]).map(u=>({value:_e(u.slug),label:u.title||u.slug})),placeholder:t.choosePopup};case"custom":return{type:"text"}}},l=I(e.offers).map(s=>({value:s.value,label:y(s.label),target:p(s.value),...s.value==="anchor"?{hint:t.sectionHint}:{},...s.value==="blog"||s.value==="product"||s.value==="popup"?{hideWhenEmpty:!0}:{}}));if(!n)return{kinds:l,rules:{kindOf:s=>v(s,i),targetOf:s=>s,readFilter:()=>null,withFilter:s=>s}};let c=s=>{let u=n.withFilter(s,null);return n.listingPaths.includes(u)?u:s};return{kinds:l,rules:{kindOf:s=>v(s,i,{listingPaths:n.listingPaths,targetOf:c}),targetOf:c,readFilter:n.readFilter,withFilter:n.withFilter},filtersFor:s=>n.listingPaths.includes(s)?n.filtersFor(s):null}}var Ee=Object.freeze([]);function V(e,n){return e.length===0?e:e.filter(t=>t.kind===void 0||t.kind===n)}function Ie(e,n){let t=n==="filter"?"filterOrder":"cardOrder",r=new Map;for(let o of e){let i=o[t];if(typeof i!="number"||!Number.isFinite(i))continue;let a=r.get(o.fieldKey);(a===void 0||i<a)&&r.set(o.fieldKey,i)}return o=>o?r.get(o):void 0}function Ne(e,n,t,r){let o=new Map;for(let l of t){let c=l[r];typeof c=="number"&&o.set(l.fieldKey,c)}if(o.size===0)return e;let i=[],a=[];e.forEach((l,c)=>{let s=n(l);s&&(i.push(c),a.push({item:l,index:c,order:o.get(s)}))}),a.sort((l,c)=>l.order!==void 0&&c.order!==void 0?l.order-c.order||l.index-c.index:l.order!==void 0?-1:c.order!==void 0?1:l.index-c.index);let p=[...e];return i.forEach((l,c)=>{p[l]=a[c].item}),p.every((l,c)=>l===e[c])?e:p}function Ce(e){return pn(e,"filter")}var cn="collection";function Z(e,n){return{tyreSizes:{},brands:{"alloy-wheel":"brand",tyre:"brand"},finishes:{"alloy-wheel":"wheel_finish_ref"},diameters:{"alloy-wheel":"diameter",tyre:"rim_diameter"},collections:{"alloy-wheel":cn},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[n]}function pn(e,n){let t=new Set(e.filter(r=>r[n]===!1).map(r=>r.fieldKey));return r=>!r||!t.has(r)}var Q={inStock:"In stock",outOfStock:"Out of stock",notInStockHere:"Not in stock here"};function dn(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Ke(e,n){let t=e?.[n];return dn(t)?t:null}function De(e,n,t,r){if(t==null&&r==null)return!0;let o=Ke(e,n);return!(o===null||t!=null&&o<t||r!=null&&o>r)}function ve(e){let n=e.spec?.lugs;return typeof n=="number"?n:null}var fn={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},cr=Object.keys(fn);var X=["tyreSizes","brands","finishes","diameters","collections","pcds","tyreTypes","speedRatings"],J={tyreSizes:["tyre"],brands:["alloy-wheel","tyre"],finishes:["alloy-wheel"],diameters:["alloy-wheel","tyre"],collections:["alloy-wheel"],pcds:["alloy-wheel"],tyreTypes:["tyre"],speedRatings:["tyre"]},mn={diameters:"tyreSizes"};function gn(e){if(e.length===0)return[];let n=X.filter(t=>e.every(r=>J[t].includes(r)));return n.filter(t=>{let r=mn[t];return!r||!n.includes(r)})}function hn(e){let n=new Set;for(let t of e)n.add(d(t));return[...n]}var ee={tyreSizes:[],brands:[],finishes:[],diameters:[],collections:[],pcds:[],tyreTypes:[],speedRatings:[],priceMax:null,inStockOnly:!1,kind:null,sort:"recommended",page:1};function Me(e,n,t,r=null,o="fail"){let i=d(e),a=p=>o==="fail"||(p==="lugs"?i==="alloy-wheel":J[p].includes(i));if(r!=="kind"&&n.kind&&i!==n.kind)return!1;for(let p of X){if(r===p)continue;let l=n[p];if(l.length===0||!a(p))continue;let c=l.map(String);if(!Ue(e,p).some(s=>c.includes(s)))return!1}if(r!=="lugs"&&n.lugs&&n.lugs.length>0&&a("lugs")){let p=ve(e);if(p===null||!n.lugs.includes(p))return!1}return!(r!=="price"&&!De(ge(e),t,n.priceMin??null,n.priceMax)||r!=="inStock"&&n.inStockOnly&&!he(e))}var yn={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function Ue(e,n){switch(n){case"tyreSizes":return[...new Set(xe(e).flatMap(fe))];case"brands":return W(e)?[W(e)]:[];case"finishes":return Pe(e);case"diameters":return ye(e).map(String);case"collections":return H(e);case"pcds":return Se(e);case"tyreTypes":return be(e);case"speedRatings":return ke(e)}}function Pn(e){let n=new Map;for(let t of e)for(let r of G(t))r.color&&!n.has(r.family)&&n.set(r.family,r.color);return n}function ze(e,n,t,r=hn(e),o=Ee,i="fail"){let a=u=>bn(u,r,o),p=Pn(e),c=(i==="pass"?X.filter(u=>r.some(b=>J[u].includes(b))):gn(r)).filter(u=>u!=="tyreSizes").filter(a).map(u=>{let b=n[u].map(String),ae=new Set,z=new Map,T=new Map;for(let f of e){let S=Ue(f,u);for(let g of S)ae.add(g);for(let g of new Set(S))T.set(g,(T.get(g)??0)+1);if(Me(f,n,t,u,i))for(let g of new Set(S))z.set(g,(z.get(g)??0)+1)}let Je=[...ae].map(f=>({value:f,label:u==="diameters"?`${f}\u2033`:f,count:z.get(f)??0,checked:b.includes(f),swatch:u==="finishes"?p.get(f)??null:null})).sort((f,S)=>{if(u==="diameters")return Number(f.value)-Number(S.value);let g=(T.get(S.value)??0)-(T.get(f.value)??0);return g!==0?g:f.value.localeCompare(S.value)});return{key:u,label:yn[u],options:Je}}).filter(u=>u.options.length>Sn),s=[];for(let u of c){let b=kn(u.key,r,o);b!==void 0&&s.push({fieldKey:u.key,filterOrder:b})}return[...Ne(c,u=>u.key,s,"filterOrder")]}var Sn=1;function $e(e){return e.showCollection===!1?["collections"]:[]}function bn(e,n,t){return n.length===0||t.length===0?!0:n.some(r=>Ce(V(t,r))(Z(e,r)))}function kn(e,n,t){if(t.length===0)return;let r;for(let o of n){let i=Ie(V(t,o),"filter")(Z(e,o));i!==void 0&&(r===void 0||i<r)&&(r=i)}return r}var ne={tyreSizes:"tyreSize",brands:"brand",finishes:"colour",diameters:"size",collections:"collection",pcds:"pcd",tyreTypes:"tyreType",speedRatings:"speed"},te="type";var x="FilterBlock";function Be(e){let n=e;return!!n&&typeof n=="object"&&typeof n.type=="string"&&!!n.props&&typeof n.props=="object"}function xn(e){return Object.entries(e.props??{}).filter(n=>Array.isArray(n[1])&&n[1].length>0&&n[1].every(Be))}function wn(e){let n=e??{},t=[];Array.isArray(n.content)&&t.push(n.content);for(let r of Object.values(n.zones??{}))Array.isArray(r)&&t.push(r);return t}function We(e){let n=[],t=(r,o)=>{let i=[r,...o];for(let a of r)if(Be(a)){n.push({node:a,order:n.length,lists:i});for(let[,p]of xn(a))t(p,i)}};for(let r of wn(e))t(r,[]);return n}function w(e){return We(e).map(n=>n.node)}var re={vehicle:"My Car",process:"Process",size:"Size",lugs:"Lugs",finish:"Finish",price:"Price"};var kr=[{value:"inStock",label:Q.inStock},{value:"category",label:"Category"},{value:"lugs",label:re.lugs},{value:"price",label:re.price}];var He="AlloyWheelsListing";function Ye(e){return $(e.trim())}var L="/wheels",M="Products";function qe(e,n){return n>1?`${M} \xB7 ${e}`:M}function oe(...e){for(let n of[He,x])for(let t of e){let r=w({content:t?.content}).find(o=>o.type===n);if(r)return r.props??{}}return null}function U(...e){return oe(...e)!==null}function je(e,n){let t=e.filter(r=>U(...r.docs)).map(r=>P(r.slug));return n.fallback&&!t.includes(L)?[...t,L]:t}var ie=[te,...Object.entries(ne).filter(([e])=>e!=="tyreSizes").map(([,e])=>e)];function Ve(e){let n=e.indexOf("#"),t=n===-1?"":e.slice(n),r=n===-1?e:e.slice(0,n),o=r.indexOf("?");return{path:o===-1?r:r.slice(0,o),query:o===-1?"":r.slice(o+1),hash:t}}function _n(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function Ze(e){let n=new URLSearchParams(Ve(e).query);for(let t of ie){let r=n.get(t);if(r)return{param:t,value:r}}return null}function se(e,n){let{path:t,query:r,hash:o}=Ve(e),i=r.split("&").filter(a=>a&&!ie.includes(_n(a.split("=")[0])));return n?.value&&i.push(`${encodeURIComponent(n.param)}=${encodeURIComponent(n.value)}`),`${t}${i.length?`?${i.join("&")}`:""}${o}`}function Qe(e,n){let t=se(e,null);return n.includes(t)?t:e}function Rn(e,n,t=[]){return v(e,n,{listingPaths:t,targetOf:r=>Qe(r,t)})}function On(e){return Array.isArray(e)?e.filter(n=>typeof n?.kind=="string"&&typeof n.field_key=="string").map(n=>({kind:n.kind,fieldKey:n.field_key,...typeof n.filter=="boolean"?{filter:n.filter}:{},filterOrder:n.filter_order??null})):[]}var Xe="Product type",An="AUD";function le(e,n){let t=n.listing??{},r=O(t.kinds),o=e.filter(l=>r.includes(d(l))),i=$e(t),a=ze(o,ee,An,r,n.fieldUsage).filter(l=>!i.includes(l.key)).map(l=>({param:ne[l.key],label:l.label,values:l.options.filter(c=>!c.value.includes(",")).map(c=>({value:c.value,label:c.label}))})).filter(l=>l.values.length>0),p=k.filter(l=>r.includes(l)&&o.some(c=>d(c)===l));return p.length>1&&a.unshift({param:te,label:Xe,values:p.map(l=>({value:l,label:R[l]}))}),a}function En(e){return n=>{let t=je(n,{fallback:e.offersCommerce}),r=n.filter(o=>U(...o.docs)).length;return{listingPaths:t,pageOptions:o=>{let i=o.map(a=>{let p=n.find(l=>P(l.slug)===a.value);return p&&U(...p.docs)?{...a,label:qe(p.title,r)}:a});return r===0&&e.offersCommerce&&!i.some(a=>a.value===L)&&i.push({value:L,label:M}),i},filtersFor:o=>{if(!t.includes(o))return null;let i=n.find(a=>P(a.slug)===o);return le(e.catalogue,{listing:i?oe(...i.docs):null,fieldUsage:e.fieldUsage})},readFilter:Ze,withFilter:se}}}function In(e){let n=En({catalogue:e.catalogue,fieldUsage:e.fieldUsage,offersCommerce:e.offers.offersCommerce})(e.pages),t=Ae({pages:e.pages,posts:e.posts,products:e.products.map(r=>({href:C(r.slug),name:r.name||r.slug})),offers:e.offers},n);return{...t,rules:{...t.rules,isSafe:Ye},filtersFor:t.filtersFor??(()=>null)}}function fo(e,n){return le(e,n)}export{L as BUILT_IN_LISTING_PATH,E as LINK_KINDS,ie as LISTING_FILTER_PARAMS,M as LISTING_PAGE_LABEL,Xe as PRODUCT_TYPE_FILTER_LABEL,K as anchorPath,On as fieldUsageFromAdminRows,Rn as inferLinkKind,U as isProductListingPage,Ye as isSafeLink,I as linkKindsFor,In as linkPickerSetup,fo as listingFilterFields,oe as listingNode,qe as listingPageLabel,Qe as listingTarget,D as pageAnchors,P as pagePath,N as postPath,je as productListingPaths,Ze as readListingFilter,C as wheelPath,se as withListingFilter};
|
|
@@ -3004,7 +3004,16 @@ em.text-accent {
|
|
|
3004
3004
|
wide.
|
|
3005
3005
|
|
|
3006
3006
|
The card's own ratio is overridden by specificity, not by `!important` —
|
|
3007
|
-
`.sf-gallery-zone .sf-card` is two classes against Tailwind's one.
|
|
3007
|
+
`.sf-gallery-zone .sf-card` is two classes against Tailwind's one.
|
|
3008
|
+
|
|
3009
|
+
⚠️ A LAYOUT WITH A RATIO HAS NO FIXED ROW. The builder's layout table may
|
|
3010
|
+
give a layout its tile ratio (`galleryLayoutRatio`; "Two, then threes ·
|
|
3011
|
+
photo" is 4:3). Its emitted rules then make the rows `auto` and give each
|
|
3012
|
+
CELL that ratio, with the class written twice so they outrank the fixed row
|
|
3013
|
+
and the cell's 100% below in any order. The rules here stay as they are:
|
|
3014
|
+
the tile and its card fill the cell, so they draw at the layout's ratio.
|
|
3015
|
+
No ratio is written here; it is the builder's.
|
|
3016
|
+
scripts/browser-gallery-layout-ratio.tsx measures it in Chromium. */
|
|
3008
3017
|
.sf-gallery-zone {
|
|
3009
3018
|
display: grid;
|
|
3010
3019
|
grid-auto-flow: row dense;
|
|
@@ -9,6 +9,7 @@ export interface AppointmentBookingProps {
|
|
|
9
9
|
boxes?: SlotComponent;
|
|
10
10
|
inBoxes?: boolean;
|
|
11
11
|
nodeId?: string;
|
|
12
|
+
omitHead?: boolean;
|
|
12
13
|
}
|
|
13
14
|
export default function AppointmentBooking(props?: AppointmentBookingProps): import("react").JSX.Element;
|
|
14
|
-
export declare function AppointmentBookingBody({ eyebrow, heading, intro, buttonLabel, successMessage, boxes: Boxes, inBoxes, }: AppointmentBookingProps): import("react").JSX.Element;
|
|
15
|
+
export declare function AppointmentBookingBody({ eyebrow, heading, intro, buttonLabel, successMessage, boxes: Boxes, inBoxes, omitHead, }: AppointmentBookingProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as i}from"react/jsx-runtime";import{BookingFormProvider as
|
|
1
|
+
"use client";import{jsx as e,jsxs as i}from"react/jsx-runtime";import{BookingFormProvider as N,useBookingForm as B}from"./booking/BookingFormState.js";import{useBookingPreview as w}from"efficient-web-builder/render/lib/document/booking-preview";import{say as o}from"efficient-web-builder/format/lib/editor-words";import{BookingChoose as y,BookingConfirmed as A,BookingDetails as C,BookingHead as _}from"./booking/BookingRegions.js";import{HideTaker as u}from"efficient-web-builder/render/components/ViewHideRoot";import D from"./SectionBand.js";function I(t={}){const n=w();return e(N,{editing:t.editing,previewConfirmation:!!t.nodeId&&n===t.nodeId,children:e(L,{...t})})}const m="mx-auto max-w-[var(--sf-site-width,1600px)] px-[min(24px,var(--sf-site-gutter,40px))] py-16 view-wide:px-[var(--sf-site-gutter,40px)] view-wide:py-[88px]",c="grid gap-8 min-[960px]:grid-cols-[minmax(0,1fr)_minmax(360px,0.8fr)] min-[960px]:gap-12";function L({eyebrow:t,heading:n,intro:x,buttonLabel:v,successMessage:b,boxes:r,inBoxes:h=!1,omitHead:l=!1}){const{fieldPrefix:P,editing:S,services:d,currency:j,serviceId:z,setServiceId:T,requiresPayment:E,date:F,earliestDate:M,setDate:R,setDateTouched:$,availability:q,loadingSlots:G,noSlotsMessage:H,selectedStart:O,setSelectedStart:J,customerTimezone:K,name:Q,setName:U,email:V,setEmail:W,phone:X,setPhone:Y,notes:Z,setNotes:ee,confirmation:p,submitting:te,error:ie,canSubmit:oe,handleSubmit:f,sample:k}=B(),a=k?e("p",{className:"mb-6 font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:o("Example form — add an active service in {place}.",{place:o("Storefront → Booking Services")})}):null,s=d===void 0?e("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Loading appointments…"}):d?.length===0?e("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:S?o("Add an active service in {place}.",{place:o("Storefront → Booking Services")}):"Appointments are not available right now."}):null;if(h&&r&&!l)return e(u,{as:"section",className:"relative z-[2] border-t border-line bg-surface",children:i("div",{className:m,children:[a,p?e(r,{className:`${c} items-start`}):i("form",{onSubmit:f,children:[e(r,{className:`${c} items-start`}),s]})]})});const g=p?e(A,{successMessage:b}):s||i("form",{onSubmit:f,className:c,children:[e(y,{}),e(C,{buttonLabel:v})]});return l?i(D,{className:"relative z-[2] border-t border-line bg-surface",column:m,children:[a,g]}):e(u,{as:"section",className:"relative z-[2] border-t border-line bg-surface",children:i("div",{className:m,children:[a,e(_,{eyebrow:t,heading:n,intro:x}),g]})})}export{L as AppointmentBookingBody,I as default};
|
|
@@ -37,7 +37,8 @@ export interface ContactRoutingProps {
|
|
|
37
37
|
initialActiveId?: string;
|
|
38
38
|
onActiveChange?: (id: string) => void;
|
|
39
39
|
reasonExtras?: (activeId: string) => ReactNode;
|
|
40
|
+
omitHead?: boolean;
|
|
40
41
|
}
|
|
41
42
|
export declare const fieldClass: string;
|
|
42
|
-
export default function ContactRouting({ routingNumber, routingTagline, groups, formNumber, formHeading, metaLines, showOther, otherLabel, otherNoteTitle, otherNoteBody, buttonText, consent, channels, formSlug, form: injectedForm, editing, initialActiveId, onActiveChange, reasonExtras, }: ContactRoutingProps): import("react").JSX.Element;
|
|
43
|
+
export default function ContactRouting({ routingNumber, routingTagline, groups, formNumber, formHeading, metaLines, showOther, otherLabel, otherNoteTitle, otherNoteBody, buttonText, consent, channels, formSlug, form: injectedForm, editing, initialActiveId, onActiveChange, reasonExtras, omitHead, }: ContactRoutingProps): import("react").JSX.Element;
|
|
43
44
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as n,jsxs as i,Fragment as ne}from"react/jsx-runtime";import te from"./SectionBand.js";import{usePeekViewHide as ae,useTakeViewHide as re,withViewHide as le}from"efficient-web-builder/render/components/ViewHideRoot";import{useEffect as H,useState as q}from"react";import{useRootIsDark as oe}from"efficient-shell/theme";import{OTHER_REASON_ID as h}from"efficient-web-builder/format/lib/content/contact";import{FormFieldInput as ie,FormHoneypot as se,successMessageFor as ce,useBoundForm as de,useFormSubmission as me}from"./formSubmission.js";import pe from"efficient-web-builder/render/components/SectionEyebrow";import fe,{FieldCaption as ue}from"./WebFormField.js";import{scrollBehavior as be}from"efficient-web-builder/render/components/useReducedMotion";import{renderChrome as X,renderGold as $,renderHeadline as xe,splitParagraphs as ge}from"efficient-web-builder/render/components/goldPhrases";import{say as j}from"efficient-web-builder/format/lib/editor-words";import{phoneHref as he}from"efficient-web-builder/format/lib/links/phone-href";import{PART_ROW_ATTR as ve,encodePartRow as ye}from"efficient-web-builder/render/lib/document/text-parts";const t={bodySmall:"text-[length:var(--size-body,14px)]",body:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,18px)]",headingSmall1:"text-[length:var(--size-headingSmall,24px)]",headingSmall2:"text-[length:var(--size-headingSmall,26px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]",labelXl:"text-[length:var(--size-label,14px)]"},_={label:"Label",value:"Value",sub:"Sub line"};function ke(s,r){return s.map((l,a)=>r?{...l,at:a,label:l.label||j(_.label),value:l.value||j(_.value),sub:l.sub||j(_.sub)}:{...l,at:a}).filter(l=>!l.hidden)}function A(s,r){return r?{[ve]:ye("channels",s.at)}:{}}function B(s){if(s.href)return s.href;const r=(s.value??"").trim();if(r.includes("@"))return`mailto:${r}`;if(/^\+?[\d\s().-]{6,}$/.test(r))return he(r)}function we(s){const r=[],l=new Map;for(const a of s){if(!a.groupId){r.push(a);continue}const p=a.value.trim().toLowerCase(),b=l.get(p);if(b)b.label=`${b.label} · ${a.label}`;else{const x={...a};l.set(p,x),r.push(x)}}return r}function Ne(s,r,l){const a=p=>String(p??"").trim().toLowerCase();for(const p of s?.fields??[]){if(p.type!=="select"||!Array.isArray(p.options))continue;const b=p.options.map(String);if(!r.some(c=>b.some(f=>a(f)===a(c.title))))continue;const x=c=>a(c===h?l:r.find(f=>f.id===c)?.title);return{key:p.key,optionFor:c=>b.find(f=>a(f)===x(c)&&x(c)!==""),idFor:c=>{const f=r.find(S=>a(S.title)===a(c));return f?f.id:l&&a(c)===a(l)?h:void 0}}}return null}const D=`border-b border-line bg-transparent py-4 font-display ${t.bodyLarge} tracking-[0.01em] text-fg outline-none transition-colors focus:border-accent`;function Se({routingNumber:s,routingTagline:r,groups:l,formNumber:a,formHeading:p,metaLines:b,showOther:x=!0,otherLabel:c="Other",otherNoteTitle:f,otherNoteBody:S,buttonText:E,consent:M,channels:W,formSlug:O,form:G,editing:v,initialActiveId:y,onActiveChange:P,reasonExtras:U}){const w=[...l.map(e=>e.id),...x?[h]:[]],Z=y&&w.includes(y)?y:w[0]??h,[g,C]=q(Z);H(()=>{w.includes(g)||C(w[0]??h)},[w.join("|")]),H(()=>{y&&w.includes(y)&&C(y)},[y]);const k=de(O,G),d=me({form:k,formSlug:O,editing:v}),u=Ne(k,l,x?c:void 0),R=e=>{C(e),z(null);const o=u?.optionFor(e);u&&o!==void 0&&d.set(u.key,o),P?.(e)};H(()=>{if(!u||d.valueOf(u.key))return;const e=u.optionFor(g);e!==void 0&&d.set(u.key,e)},[u?.key]);const[V,z]=q(null),N=ke(W??[],!!v),J=e=>V!==null?!e.groupId&&e.value===V:e.groupId===g,K=k===void 0,I=!!k||!!v,Q=!oe({whenUnset:!0}),L=l.length>0||!!v,Y=ae(),T=re();return i(ne,{children:[L&&i(te,{className:"border-b border-line py-[60px]",style:Q?void 0:{background:"var(--section-bg)"},children:[(s||r)&&i("div",{className:"mb-6 flex items-center gap-6 border-b border-line pb-6",children:[s&&n(pe,{text:s}),r&&n("span",{className:`font-display ${t.bodySmall} uppercase tracking-[0.04em] text-fg-dim`,children:$(r)})]}),n("div",{className:"sf-card grid grid-cols-4 gap-[2px] border border-line bg-line max-view-desktop:grid-cols-2 max-[700px]:grid-cols-1",children:l.map(e=>{const o=g===e.id;return i("button",{type:"button",onClick:()=>{R(e.id),typeof window<"u"&&window.matchMedia("(max-width: 1100px)").matches&&document.getElementById("contact-form")?.scrollIntoView({behavior:be(),block:"start"})},className:["flex min-h-[240px] cursor-pointer flex-col gap-4 px-8 py-10 text-left transition-colors",o?"bg-surface outline outline-2 -outline-offset-2 outline-accent":"bg-bg hover:bg-surface"].join(" "),children:[e.eyebrow&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:e.eyebrow}),n("h3",{className:`whitespace-pre-line font-heading3 ${t.headingSmall2} font-medium uppercase leading-[1.05] tracking-[-0.02em]`,children:e.title}),e.copy&&n("p",{className:`mt-auto font-display ${t.bodySmall} leading-[1.5] text-fg-dim`,children:e.copy}),e.response&&i("div",{className:`mt-2 flex justify-between border-t border-line pt-4 font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:[n("span",{children:"Response"}),n("strong",{className:"font-normal text-fg",children:e.response})]})]},e.id)})})]}),(I||N.length>0)&&T.scope(n("section",{id:"contact-form",className:le("scroll-mt-[80px] border-b border-line py-20 max-view-desktop:py-[60px]",Y),...L?{}:T.attrs,children:i("div",{className:["mx-auto grid max-w-[var(--sf-site-width,1600px)] gap-20 px-[var(--sf-site-gutter,40px)] max-view-desktop:grid-cols-1 max-view-desktop:gap-[60px] max-view-desktop:px-[min(24px,var(--sf-site-gutter,40px))]",I&&N.length>0?"grid-cols-[1.3fr_1fr]":"grid-cols-1"].join(" "),children:[I&&i("div",{children:[i("div",{className:"mb-8 flex items-end justify-between gap-6 border-b border-line pb-6",children:[i("div",{children:[a&&n("div",{className:`pb-2 font-mono ${t.labelLarge} uppercase tracking-[0.3em] text-accent`,children:$(a)}),p&&n("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,4vw,56px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:xe(p,!0)})]}),!!(b&&b.length)&&n("div",{className:`text-right font-mono ${t.labelSmall} uppercase leading-[1.8] tracking-[0.22em] text-fg-dim max-[700px]:text-left`,children:b.map((e,o)=>n("div",{children:e},o))})]}),k?d.done?n("div",{className:`border border-accent bg-accent/[0.08] p-8 font-display ${t.body} leading-[1.6] text-fg-dim`,children:ce(k,"Thanks — we've received your message.")}):i("form",{className:"grid grid-cols-2 gap-5 max-[700px]:grid-cols-1",onSubmit:d.handleSubmit,children:[k.fields.map(e=>n(fe,{label:e.label,required:e.required,className:e.type==="textarea"||e.type==="checkbox"?"col-span-2 max-[700px]:col-span-1":void 0,children:n(ie,{field:e,value:d.valueOf(e.key),onChange:o=>{d.set(e.key,o);const m=u&&e.key===u.key?u.idFor(o):void 0;m!==void 0&&(C(m),z(null),P?.(m))},className:e.type==="textarea"?`${D} min-h-[140px] resize-y leading-[1.5]`:e.type==="checkbox"?"size-4 self-start accent-accent":D})},e.key)),i("div",{className:"col-span-2 flex flex-col gap-2 max-[700px]:col-span-1",children:[n(ue,{required:!0,children:"Reason"}),i("div",{className:"mt-1 flex flex-wrap gap-2",children:[l.map(e=>{const o=g===e.id;return n("button",{type:"button",onClick:()=>R(e.id),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,o?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:e.title},e.id)}),x&&n("button",{type:"button",onClick:()=>R(h),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,g===h?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:X(c)})]})]}),U?.(g),g===h&&(f||S)&&i("div",{className:"sf-card col-span-2 flex flex-col gap-2 border border-line bg-bg/40 p-5 max-[700px]:col-span-1",children:[f&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:$(f)}),S&&ge(S).map((e,o)=>n("p",{className:`font-display ${t.body} leading-[1.55] text-fg-dim`,children:$(e)},o))]}),n(se,{value:d.honeypot,onChange:d.setHoneypot}),d.error&&n("p",{role:"alert",className:`col-span-2 font-mono ${t.labelSmall} uppercase tracking-[0.18em] text-alert max-[700px]:col-span-1`,children:d.error}),i("div",{className:"col-span-2 mt-5 flex flex-wrap items-center justify-between gap-6 border-t border-line pt-6 max-[700px]:col-span-1 max-[700px]:flex-col max-[700px]:items-stretch",children:[M&&n("span",{className:`max-w-[380px] font-mono ${t.labelSmall} uppercase leading-[1.6] tracking-[0.18em] text-fg-dim`,children:$(M)}),n("button",{type:v?"button":"submit",disabled:d.submitting,className:`cursor-pointer bg-btn px-8 py-5 font-mono ${t.labelXl} uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg disabled:cursor-wait disabled:opacity-60 max-[700px]:w-full`,children:d.submitting?"Sending…":E?X(E):"Send Message →"})]})]}):n("p",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:K?j("Loading form…"):j("Choose a form in the inspector, under Message form — until then this column is hidden on the live page and no message can be sent.")})]}),N.length>0&&n("aside",{className:"flex flex-col gap-0 max-view-desktop:hidden",children:N.map((e,o)=>{const m=J(e),F=!!!e.groupId;return i("div",{...A(e,v),onClick:F?()=>z(e.value):void 0,className:["relative flex flex-col gap-3 border-b border-line border-l-2 px-5 py-8 transition-all",F?"cursor-pointer border-t-2 border-t-accent":"",m?"border-l-accent pl-6":F?"border-l-transparent hover:bg-accent/[0.04]":"border-l-transparent"].join(" "),style:m?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em] transition-colors`,m?"text-fg":"text-accent"].join(" "),children:e.label}),F?n("a",{href:e.href,onClick:ee=>ee.stopPropagation(),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] transition-colors hover:text-accent`,m?"text-accent":"text-fg"].join(" "),children:e.value}):n("a",{href:B(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em]`,m?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${o}`)})}),N.length>0&&n("div",{"data-contact-phone-list":!0,className:"hidden flex-col gap-0 max-view-desktop:flex",children:we(N).map((e,o)=>{const m=!!e.groupId;return i("div",{...A(e,v),className:["flex flex-col gap-3 border-b border-line px-5 py-5",m?"":"border-t-2 border-t-accent"].join(" "),children:[n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em]`,m?"text-fg":"text-accent"].join(" "),children:e.label}),n("a",{href:B(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] [overflow-wrap:anywhere]`,m?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${o}`)})})]})}))]})}export{_ as CHANNEL_HINTS,B as channelHref,Se as default,ke as drawnChannels,D as fieldClass,we as mergeChannelsForPhone,Ne as topicFieldOf};
|
|
1
|
+
"use client";import{jsx as n,jsxs as s,Fragment as le}from"react/jsx-runtime";import se from"./SectionBand.js";import{HideTaker as ie,usePeekViewHide as ce,useTakeViewHide as de,withViewHide as pe}from"efficient-web-builder/render/components/ViewHideRoot";import{useEffect as H,useState as W}from"react";import{useRootIsDark as me}from"efficient-shell/theme";import{OTHER_REASON_ID as h}from"efficient-web-builder/format/lib/content/contact";import{FormFieldInput as fe,FormHoneypot as ue,successMessageFor as be,useBoundForm as xe,useFormSubmission as ge}from"./formSubmission.js";import he from"efficient-web-builder/render/components/SectionEyebrow";import{useSectionEdge as ve}from"efficient-web-builder/render/components/SiteGutterFrame";import{sectionEdgeBandAttrs as ye}from"efficient-web-builder/render/lib/content/section-edge";import ke,{FieldCaption as we}from"./WebFormField.js";import{scrollBehavior as Ne}from"efficient-web-builder/render/components/useReducedMotion";import{renderChrome as G,renderGold as $,renderHeadline as Se,splitParagraphs as $e}from"efficient-web-builder/render/components/goldPhrases";import{say as C}from"efficient-web-builder/format/lib/editor-words";import{phoneHref as Ce}from"efficient-web-builder/format/lib/links/phone-href";import{PART_ROW_ATTR as je,encodePartRow as Fe}from"efficient-web-builder/render/lib/document/text-parts";const t={bodySmall:"text-[length:var(--size-body,14px)]",body:"text-[length:var(--size-body,15px)]",bodyLarge:"text-[length:var(--size-body,18px)]",headingSmall1:"text-[length:var(--size-headingSmall,24px)]",headingSmall2:"text-[length:var(--size-headingSmall,26px)]",labelSmall:"text-[length:var(--size-label,12px)]",labelLarge:"text-[length:var(--size-label,13px)]",labelXl:"text-[length:var(--size-label,14px)]"},M={label:"Label",value:"Value",sub:"Sub line"};function Re(i,r){return i.map((o,a)=>r?{...o,at:a,label:o.label||C(M.label),value:o.value||C(M.value),sub:o.sub||C(M.sub)}:{...o,at:a}).filter(o=>!o.hidden)}function U(i,r){return r?{[je]:Fe("channels",i.at)}:{}}function Z(i){if(i.href)return i.href;const r=(i.value??"").trim();if(r.includes("@"))return`mailto:${r}`;if(/^\+?[\d\s().-]{6,}$/.test(r))return Ce(r)}function ze(i){const r=[],o=new Map;for(const a of i){if(!a.groupId){r.push(a);continue}const m=a.value.trim().toLowerCase(),b=o.get(m);if(b)b.label=`${b.label} · ${a.label}`;else{const x={...a};o.set(m,x),r.push(x)}}return r}function Ee(i,r,o){const a=m=>String(m??"").trim().toLowerCase();for(const m of i?.fields??[]){if(m.type!=="select"||!Array.isArray(m.options))continue;const b=m.options.map(String);if(!r.some(c=>b.some(f=>a(f)===a(c.title))))continue;const x=c=>a(c===h?o:r.find(f=>f.id===c)?.title);return{key:m.key,optionFor:c=>b.find(f=>a(f)===x(c)&&x(c)!==""),idFor:c=>{const f=r.find(S=>a(S.title)===a(c));return f?f.id:o&&a(c)===a(o)?h:void 0}}}return null}const J=`border-b border-line bg-transparent py-4 font-display ${t.bodyLarge} tracking-[0.01em] text-fg outline-none transition-colors focus:border-accent`;function Ie({routingNumber:i,routingTagline:r,groups:o,formNumber:a,formHeading:m,metaLines:b,showOther:x=!0,otherLabel:c="Other",otherNoteTitle:f,otherNoteBody:S,buttonText:O,consent:P,channels:K,formSlug:V,form:Q,editing:v,initialActiveId:y,onActiveChange:L,reasonExtras:Y,omitHead:j=!1}){const w=[...o.map(e=>e.id),...x?[h]:[]],ee=y&&w.includes(y)?y:w[0]??h,[g,F]=W(ee);H(()=>{w.includes(g)||F(w[0]??h)},[w.join("|")]),H(()=>{y&&w.includes(y)&&F(y)},[y]);const k=xe(V,Q),d=ge({form:k,formSlug:V,editing:v}),u=Ee(k,o,x?c:void 0),E=e=>{F(e),I(null);const l=u?.optionFor(e);u&&l!==void 0&&d.set(u.key,l),L?.(e)};H(()=>{if(!u||d.valueOf(u.key))return;const e=u.optionFor(g);e!==void 0&&d.set(u.key,e)},[u?.key]);const[T,I]=W(null),N=Re(K??[],!!v),ne=e=>T!==null?!e.groupId&&e.value===T:e.groupId===g,te=k===void 0,_=!!k||!!v,ae=!me({whenUnset:!0}),q=ve(),R=j&&q?ye(q):null,A=R?`${R.className} `:"",B=o.length>0||!!v,X=n("div",{className:"sf-card grid grid-cols-4 gap-[2px] border border-line bg-line max-view-desktop:grid-cols-2 max-[700px]:grid-cols-1",children:o.map(e=>{const l=g===e.id;return s("button",{type:"button",onClick:()=>{E(e.id),typeof window<"u"&&window.matchMedia("(max-width: 1100px)").matches&&document.getElementById("contact-form")?.scrollIntoView({behavior:Ne(),block:"start"})},className:["flex min-h-[240px] cursor-pointer flex-col gap-4 px-8 py-10 text-left transition-colors",l?"bg-surface outline outline-2 -outline-offset-2 outline-accent":"bg-bg hover:bg-surface"].join(" "),children:[e.eyebrow&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:e.eyebrow}),n("h3",{className:`whitespace-pre-line font-heading3 ${t.headingSmall2} font-medium uppercase leading-[1.05] tracking-[-0.02em]`,children:e.title}),e.copy&&n("p",{className:`mt-auto font-display ${t.bodySmall} leading-[1.5] text-fg-dim`,children:e.copy}),e.response&&s("div",{className:`mt-2 flex justify-between border-t border-line pt-4 font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:[n("span",{children:"Response"}),n("strong",{className:"font-normal text-fg",children:e.response})]})]},e.id)})}),re=ce(),D=de();return s(le,{children:[B&&(j?n(ie,{as:"section",className:`${A}border-b border-line bg-surface pt-6 pb-[60px]`,style:R?.style,children:X}):s(se,{className:"border-b border-line py-[60px]",style:ae?void 0:{background:"var(--section-bg)"},children:[(i||r)&&s("div",{className:"mb-6 flex items-center gap-6 border-b border-line pb-6",children:[i&&n(he,{text:i}),r&&n("span",{className:`font-display ${t.bodySmall} uppercase tracking-[0.04em] text-fg-dim`,children:$(r)})]}),X]})),(_||N.length>0)&&D.scope(n("section",{id:"contact-form",className:pe(`${A}${j?"bg-bg ":""}scroll-mt-[80px] border-b border-line py-20 max-view-desktop:py-[60px]`,re),style:R?.style,...B?{}:D.attrs,children:s("div",{className:[j?"grid gap-20 max-view-desktop:grid-cols-1 max-view-desktop:gap-[60px]":"mx-auto grid max-w-[var(--sf-site-width,1600px)] gap-20 px-[var(--sf-site-gutter,40px)] max-view-desktop:grid-cols-1 max-view-desktop:gap-[60px] max-view-desktop:px-[min(24px,var(--sf-site-gutter,40px))]",_&&N.length>0?"grid-cols-[1.3fr_1fr]":"grid-cols-1"].join(" "),children:[_&&s("div",{children:[s("div",{className:"mb-8 flex items-end justify-between gap-6 border-b border-line pb-6",children:[s("div",{children:[a&&n("div",{className:`pb-2 font-mono ${t.labelLarge} uppercase tracking-[0.3em] text-accent`,children:$(a)}),m&&n("h2",{className:"font-heading2 text-[length:min(var(--size-headingMedium,clamp(36px,4vw,56px)),var(--sf-heading-max,9999px))] font-medium uppercase leading-none tracking-[-0.03em]",children:Se(m,!0)})]}),!!(b&&b.length)&&n("div",{className:`text-right font-mono ${t.labelSmall} uppercase leading-[1.8] tracking-[0.22em] text-fg-dim max-[700px]:text-left`,children:b.map((e,l)=>n("div",{children:e},l))})]}),k?d.done?n("div",{className:`border border-accent bg-accent/[0.08] p-8 font-display ${t.body} leading-[1.6] text-fg-dim`,children:be(k,"Thanks — we've received your message.")}):s("form",{className:"grid grid-cols-2 gap-5 max-[700px]:grid-cols-1",onSubmit:d.handleSubmit,children:[k.fields.map(e=>n(ke,{label:e.label,required:e.required,className:e.type==="textarea"||e.type==="checkbox"?"col-span-2 max-[700px]:col-span-1":void 0,children:n(fe,{field:e,value:d.valueOf(e.key),onChange:l=>{d.set(e.key,l);const p=u&&e.key===u.key?u.idFor(l):void 0;p!==void 0&&(F(p),I(null),L?.(p))},className:e.type==="textarea"?`${J} min-h-[140px] resize-y leading-[1.5]`:e.type==="checkbox"?"size-4 self-start accent-accent":J})},e.key)),s("div",{className:"col-span-2 flex flex-col gap-2 max-[700px]:col-span-1",children:[n(we,{required:!0,children:"Reason"}),s("div",{className:"mt-1 flex flex-wrap gap-2",children:[o.map(e=>{const l=g===e.id;return n("button",{type:"button",onClick:()=>E(e.id),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,l?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:e.title},e.id)}),x&&n("button",{type:"button",onClick:()=>E(h),className:[`cursor-pointer border px-4 py-3 font-mono ${t.labelSmall} uppercase tracking-[0.2em] transition-colors`,g===h?"border-accent bg-accent text-bg":"border-line text-fg-dim hover:text-fg"].join(" "),children:G(c)})]})]}),Y?.(g),g===h&&(f||S)&&s("div",{className:"sf-card col-span-2 flex flex-col gap-2 border border-line bg-bg/40 p-5 max-[700px]:col-span-1",children:[f&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:$(f)}),S&&$e(S).map((e,l)=>n("p",{className:`font-display ${t.body} leading-[1.55] text-fg-dim`,children:$(e)},l))]}),n(ue,{value:d.honeypot,onChange:d.setHoneypot}),d.error&&n("p",{role:"alert",className:`col-span-2 font-mono ${t.labelSmall} uppercase tracking-[0.18em] text-alert max-[700px]:col-span-1`,children:d.error}),s("div",{className:"col-span-2 mt-5 flex flex-wrap items-center justify-between gap-6 border-t border-line pt-6 max-[700px]:col-span-1 max-[700px]:flex-col max-[700px]:items-stretch",children:[P&&n("span",{className:`max-w-[380px] font-mono ${t.labelSmall} uppercase leading-[1.6] tracking-[0.18em] text-fg-dim`,children:$(P)}),n("button",{type:v?"button":"submit",disabled:d.submitting,className:`cursor-pointer bg-btn px-8 py-5 font-mono ${t.labelXl} uppercase tracking-[0.32em] text-btn-ink transition-colors hover:bg-fg disabled:cursor-wait disabled:opacity-60 max-[700px]:w-full`,children:d.submitting?"Sending…":O?G(O):"Send Message →"})]})]}):n("p",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:te?C("Loading form…"):C("Choose a form in the inspector, under Message form — until then this column is hidden on the live page and no message can be sent.")})]}),N.length>0&&n("aside",{className:"flex flex-col gap-0 max-view-desktop:hidden",children:N.map((e,l)=>{const p=ne(e),z=!!!e.groupId;return s("div",{...U(e,v),onClick:z?()=>I(e.value):void 0,className:["relative flex flex-col gap-3 border-b border-line border-l-2 px-5 py-8 transition-all",z?"cursor-pointer border-t-2 border-t-accent":"",p?"border-l-accent pl-6":z?"border-l-transparent hover:bg-accent/[0.04]":"border-l-transparent"].join(" "),style:p?{background:"color-mix(in oklab, var(--accent) 8%, transparent)"}:void 0,children:[n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em] transition-colors`,p?"text-fg":"text-accent"].join(" "),children:e.label}),z?n("a",{href:e.href,onClick:oe=>oe.stopPropagation(),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] transition-colors hover:text-accent`,p?"text-accent":"text-fg"].join(" "),children:e.value}):n("a",{href:Z(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em]`,p?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${l}`)})}),N.length>0&&n("div",{"data-contact-phone-list":!0,className:"hidden flex-col gap-0 max-view-desktop:flex",children:ze(N).map((e,l)=>{const p=!!e.groupId;return s("div",{...U(e,v),className:["flex flex-col gap-3 border-b border-line px-5 py-5",p?"":"border-t-2 border-t-accent"].join(" "),children:[n("span",{className:[`font-mono ${t.labelSmall} uppercase tracking-[0.3em]`,p?"text-fg":"text-accent"].join(" "),children:e.label}),n("a",{href:Z(e),className:[`font-heading3 ${t.headingSmall1} font-medium leading-[1.2] tracking-[-0.02em] [overflow-wrap:anywhere]`,p?"text-accent":"text-fg"].join(" "),children:e.value}),e.sub&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.2em] text-fg-dim`,children:e.sub})]},`${e.value}-${l}`)})})]})}))]})}export{M as CHANNEL_HINTS,Z as channelHref,Ie as default,Re as drawnChannels,J as fieldClass,ze as mergeChannelsForPhone,Ee as topicFieldOf};
|
|
@@ -71,6 +71,8 @@ export interface EventsProps {
|
|
|
71
71
|
nameFilter?: boolean;
|
|
72
72
|
padTop?: number;
|
|
73
73
|
padBottom?: number;
|
|
74
|
+
template?: unknown;
|
|
75
|
+
ownerId?: string;
|
|
74
76
|
}
|
|
75
77
|
export declare function matchesName(title: string, typed: string): boolean;
|
|
76
|
-
export default function Events({ num, title, link, posts, columns, limit, showAll, editing, cardImage, gap: gapProp, gapPhone, layout, featuredWidth, listCover, featuredDarken, omitHead, sample, nameFilter, padTop, padBottom, }: EventsProps): import("react").JSX.Element | null;
|
|
78
|
+
export default function Events({ num, title, link, posts, columns, limit, showAll, editing, cardImage, gap: gapProp, gapPhone, layout, featuredWidth, listCover, featuredDarken, omitHead, sample, nameFilter, padTop, padBottom, template, ownerId, }: EventsProps): import("react").JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as n,jsxs as l}from"react/jsx-runtime";import{useState as H}from"react";import{servedWords as be}from"../lib/content/served-lists.js";import{TAB_PILLS as k}from"../lib/content/tab-strip.js";import{useScopeClass as ve}from"../lib/use-scope-class.js";import{containerGapProps as Ne}from"efficient-web-builder/format/lib/content/container-gap";import Ee from"efficient-web-builder/render/components/SectionHeader";import v from"efficient-web-builder/render/components/PostCard";import ye from"efficient-web-builder/render/components/Placeholder";import{SiteLink as z}from"efficient-web-builder/render/lib/site-runtime";import{renderGold as g,renderHeadline as N}from"efficient-web-builder/render/components/goldPhrases";import{say as E}from"efficient-web-builder/format/lib/editor-words";import{cardImageShapeTokens as Te}from"efficient-web-builder/format/lib/content/card-image-shape";import{SITE_COLUMN as K}from"efficient-web-builder/format/lib/content/page-width";import{fillRowCss as we}from"../lib/sections/fill-row.js";import{headIsEmpty as _e,ownPadding as Ae}from"../lib/sections/own-padding.js";import{HideTaker as W}from"efficient-web-builder/render/components/ViewHideRoot";const Le=4;function ft(e){return be(e,Le)}function pt(e){if(!e||typeof e!="object"||Array.isArray(e))return;const a={};for(const[t,s]of Object.entries(e))if(t.trim()){if(typeof s=="string")s.trim()&&(a[t]=s.trim());else if(Array.isArray(s)){const o=s.filter(c=>typeof c=="string"&&!!c.trim()).map(c=>c.trim());o.length&&(a[t]=o)}}return Object.keys(a).length?a:void 0}function X(e,a){const t=e.facets?.[a];return t===void 0?[]:typeof t=="string"?[t]:t}const Ce=new Intl.Collator("en",{numeric:!0,sensitivity:"base"});function Se(e){const a=[],t=new Map;for(const s of e)for(const o of Object.keys(s.facets??{})){t.has(o)||(a.push(o),t.set(o,new Set));for(const c of X(s,o))t.get(o).add(c)}return a.map(s=>({label:s,values:[...t.get(s)].sort(Ce.compare)}))}function Oe(e,a){return Object.entries(a).every(([t,s])=>s===""||X(e,t).includes(s))}const J=3,q="featured",Q="tabs",Z="portrait",x="spread",ee="count",mt=[{label:"Even grid",value:"even"},{label:"Featured first",value:q},{label:"Tabs",value:Q},{label:"Photo cards",value:Z},{label:"Staggered spread",value:x},{label:"Count",value:ee}],$e=[Z,x],gt="even",R={min:2,max:11,step:1,fallback:7,unit:"of 12"},Fe="bottom-left",ke=55,ze="bottom";function Re(e){const a=typeof e=="number"?e:Number.parseFloat(String(e??"")),t=Number.isFinite(a)?Math.min(R.max,Math.max(R.min,Math.round(a))):R.fallback;return`${t}fr ${12-t}fr`}const te={1:"grid-cols-1",2:"grid-cols-2 max-view-wide:grid-cols-1",3:"grid-cols-3 max-view-wide:grid-cols-1",4:"grid-cols-4 max-view-desktop:grid-cols-2 max-view-wide:grid-cols-1"},ne={2:"grid-cols-2",3:"grid-cols-3 max-view-wide:grid-cols-2",4:"grid-cols-4 max-view-desktop:grid-cols-3 max-view-wide:grid-cols-2"},Ie="Find by name",Me="Nobody by that name.",Ue="Nobody matches.",De="Any";function Pe(e,a){const t=o=>o.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase().trim(),s=t(a);return s===""||t(e).includes(s)}function ae({typed:e,onType:a,wide:t=!1}){return l("label",{className:`flex max-w-[360px] flex-col gap-1.5${t?" w-full":""}`,children:[n("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:Ie}),n("input",{type:"search",value:e,onChange:s=>a(s.target.value),autoComplete:"off",className:"rounded-[var(--sf-button-radius,6px)] border border-line bg-bg px-4 py-2.5 text-[length:var(--size-body,15px)] text-fg outline-none focus:border-accent"})]})}function se({tags:e}){return n("ul",{"aria-label":"Details",className:"flex gap-1.5 overflow-hidden",children:e.map((a,t)=>n("li",{className:"shrink-0 rounded-[var(--sf-button-radius,4px)] border border-line px-2 py-0.5 text-[length:var(--size-label,12px)] text-fg-dim",children:a},`${a}-${t}`))})}function je({card:e,scaffold:a,lower:t=!1}){return l(z,{href:e.href||"#",className:`sf-card group relative isolate flex aspect-[3/4] overflow-hidden bg-surface${t?" min-[801px]:mt-16":""}`,"aria-disabled":a||void 0,tabIndex:a?-1:void 0,children:[n("div",{className:"absolute inset-0 transition-transform duration-700 group-hover:scale-[1.03] motion-reduce:transition-none motion-reduce:group-hover:scale-100",children:n(ye,{label:`card-${e.slug}`,src:e.cover||void 0,sizes:"(max-width: 800px) 50vw, 25vw"})}),n("div",{"aria-hidden":!0,className:"absolute inset-0 z-0",style:{background:"linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--bg) 88%, transparent) 100%)"}}),e.meta&&n("span",{className:"absolute left-3 top-3 z-[1] rounded-[var(--sf-button-radius,999px)] bg-bg/85 px-2.5 py-1 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.16em] text-accent",children:g(e.meta)}),l("div",{className:"relative z-[1] mt-auto flex w-full flex-col gap-1 p-4 max-view-wide:p-3",children:[n("h3",{className:"font-heading3 text-[length:var(--size-headingSmall,24px)] leading-[1.1] tracking-[-0.01em] text-fg",children:N(e.title,!1)}),e.dateLabel&&n("p",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.16em] text-accent",children:g(e.dateLabel)}),e.tags&&e.tags.length>0&&n(se,{tags:e.tags}),e.excerpt&&n("p",{className:"line-clamp-2 text-[length:var(--size-body,14px)] leading-[1.45] text-fg-dim",children:g(e.excerpt)})]})]})}function Ve({cards:e,scaffold:a}){return n("nav",{"aria-label":"Days",className:k.nav,children:n("ul",{className:k.list,children:e.map((t,s)=>{const o=!!t.meta;return n("li",{children:l(z,{href:t.href||"#","aria-current":o?"page":void 0,"aria-disabled":a||void 0,tabIndex:a?-1:void 0,className:k.tab(o),children:[n("span",{className:"font-heading3 text-[length:var(--size-body,15px)] leading-[1.2]",children:N(t.title,!1)}),t.excerpt&&n("span",{className:`font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] ${o?"opacity-80":"text-fg-dim"}`,children:g(t.excerpt)})]})},`${t.slug}-${s}`)})})})}function Ye({count:e,words:a,href:t}){const s=l("span",{className:"inline-flex items-baseline gap-3",children:[n("span",{className:"font-heading text-[length:var(--size-headingLarge,64px)] leading-none text-accent",children:e}),a!==void 0&&n("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg",children:a})]});return t?n(z,{href:t,className:"inline-flex hover:opacity-85",children:s}):s}const Be="relative z-[2] bg-bg py-[120px] max-view-wide:py-[70px]",Ge="relative z-[2] bg-bg pt-0 pb-[120px] max-view-wide:pt-0 max-view-wide:pb-[70px]",He="relative z-[2] bg-bg py-[32px] max-view-wide:py-[24px]";function Ke({num:e,title:a,link:t,posts:s,columns:o,limit:c,showAll:y=!1,editing:T=!1,cardImage:re,gap:oe,gapPhone:le,layout:p,featuredWidth:ie,listCover:ce=!0,featuredDarken:de,omitHead:h=!1,sample:w,nameFilter:fe=!1,padTop:pe,padBottom:me}){const[_,I]=H(""),[M,ge]=H({}),A=ve("ev"),U=s??[],D=y?U.length:typeof c=="number"&&c>0?c:J,L=U.slice(0,D),m=T&&L.length===0;if(L.length===0&&!T)return null;const P=y?J:D,d=m?w?.length?w.slice(0,y?w.length:P):Array.from({length:P},(r,i)=>({slug:`placeholder-${i}`,title:E("Blog post title"),excerpt:E("A short summary of the post appears here."),cover:"",meta:E("Journal"),dateLabel:E("Date")})):L,f=Ne("Events",oe,"both",le),C=p===q&&d.length>1,ue=Re(ie),S=p===Q,j=p===ee,V=$e.includes(p??""),O=fe&&!S&&!j&&!C,$=O?Se(d):[],b=O?d.filter(r=>Pe(r.title,_)&&Oe(r,M)):d,F=Ae(pe,me),xe=!T&&_e(e,a,t?.text),Y=p===x?"grid-cols-3 max-view-wide:grid-cols-2":ne[Math.min(4,Math.max(2,o??3))]??ne[3],B=te[Math.min(4,Math.max(1,o??3))]??te[3],G=S||C||p===x?"":we(A,V?Y:B,{cards:b.length});return j?n(W,{as:"section",className:He,style:Object.keys(F).length?F:void 0,children:n("div",{className:K,children:n(Ye,{count:d.length,words:h||a===void 0?void 0:N(a,!1),href:h?void 0:t?.href})})}):n(W,{as:"section",className:h?Ge:Be,style:{...Te(re),...F},children:l("div",{className:K,children:[h||xe?null:n(Ee,{num:e!==void 0?g(e):void 0,title:a!==void 0?N(a,!1):void 0,link:t?{text:g(t.text),href:t.href}:void 0}),O&&l("div",{className:"mb-6 flex flex-col gap-2",children:[$.length===0?n(ae,{typed:_,onType:I}):l("div",{className:"flex flex-wrap items-end gap-3",children:[n(ae,{typed:_,onType:I,wide:!0}),$.map(({label:r,values:i})=>l("label",{className:"flex min-w-[140px] flex-col gap-1.5 max-view-wide:flex-1",children:[n("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:r}),l("select",{value:M[r]??"",onChange:u=>ge(he=>({...he,[r]:u.target.value})),className:"rounded-[var(--sf-button-radius,6px)] border border-line bg-bg px-4 py-2.5 text-[length:var(--size-body,15px)] text-fg outline-none focus:border-accent",children:[n("option",{value:"",children:De}),i.map(u=>n("option",{value:u,children:u},u))]})]},r))]}),b.length===0&&n("p",{role:"status",className:"text-[length:var(--size-body,14px)] text-fg-dim",children:$.length===0?Me:Ue})]}),G&&n("style",{children:G}),S?n(Ve,{cards:d,scaffold:m}):V?n("div",{className:`${A} sf-card-grid grid${f.className} ${Y}`,style:f.style,children:b.map((r,i)=>n(je,{card:r,scaffold:m,lower:p===x&&i%3===1},`${r.slug}-${i}`))}):C?l("div",{className:`sf-card-grid grid grid-cols-[var(--sf-events-split)] max-view-wide:grid-cols-1${f.className}`,style:{...f.style,"--sf-events-split":ue},children:[n(v,{post:d[0],href:d[0].href,scaffold:m,layout:"cover",darken:de??ke,darkenStyle:ze,placement:Fe},`${d[0].slug}-0`),n("div",{className:`grid auto-rows-min${f.className}`,style:f.style,children:d.slice(1).map((r,i)=>n(v,{post:r,href:r.href,scaffold:m,showCover:ce},`${r.slug}-${i+1}`))})]}):n("div",{className:`${A} sf-card-grid grid${f.className} ${B}`,style:f.style,children:b.map((r,i)=>r.tags&&r.tags.length>0?l("div",{className:"flex flex-col gap-2",children:[n(v,{post:r,href:r.href,scaffold:m}),n(se,{tags:r.tags})]},`${r.slug}-${i}`):n(v,{post:r,href:r.href,scaffold:m},`${r.slug}-${i}`))})]})})}export{R as EVENTS_FEATURED_WIDTH,mt as EVENTS_LAYOUTS,ee as EVENTS_LAYOUT_COUNT,gt as EVENTS_LAYOUT_FALLBACK,q as EVENTS_LAYOUT_FEATURED,Z as EVENTS_LAYOUT_PORTRAIT,x as EVENTS_LAYOUT_SPREAD,Q as EVENTS_LAYOUT_TABS,$e as EVENTS_PHOTO_LAYOUTS,Le as MAX_CARD_TAGS,Ke as default,Se as facetChoices,Oe as matchesFacets,Pe as matchesName,pt as readFacets,ft as readTags};
|
|
1
|
+
import{jsx as s,jsxs as c}from"react/jsx-runtime";import{Children as _e,useState as Z}from"react";import{servedWords as Ae}from"../lib/content/served-lists.js";import{TAB_PILLS as P}from"../lib/content/tab-strip.js";import{useScopeClass as Ce}from"../lib/use-scope-class.js";import{containerGapProps as Le}from"efficient-web-builder/format/lib/content/container-gap";import Se from"efficient-web-builder/render/components/SectionHeader";import w from"efficient-web-builder/render/components/PostCard";import $e from"efficient-web-builder/render/components/Placeholder";import{SiteLink as U}from"efficient-web-builder/render/lib/site-runtime";import{renderGold as x,renderHeadline as _}from"efficient-web-builder/render/components/goldPhrases";import{say as A}from"efficient-web-builder/format/lib/editor-words";import{cardImageShapeTokens as Oe}from"efficient-web-builder/format/lib/content/card-image-shape";import{SITE_COLUMN as ee}from"efficient-web-builder/format/lib/content/page-width";import{fillRowCss as ke}from"../lib/sections/fill-row.js";import{headIsEmpty as Ie,ownPadding as Re}from"../lib/sections/own-padding.js";import{HideTaker as te}from"efficient-web-builder/render/components/ViewHideRoot";import{CardTemplateRows as Fe,useCardRow as De}from"efficient-web-builder/render/components/CardRowContext";import{SECTION_FILL_CLASS as ze}from"efficient-web-builder/format/lib/content/section-min-height";import{postPath as Me}from"efficient-web-builder/format/lib/links/page-link-rules";import{EVENTS_FEATURED_DARKEN as Pe,EVENTS_FEATURED_DARKEN_STYLE as Ue,EVENTS_FEATURED_PLACEMENT as Ve}from"../lib/content/events-featured-look.js";const Ye=4;function Mt(e){return Ae(e,Ye)}function Pt(e){if(!e||typeof e!="object"||Array.isArray(e))return;const a={};for(const[t,r]of Object.entries(e))if(t.trim()){if(typeof r=="string")r.trim()&&(a[t]=r.trim());else if(Array.isArray(r)){const l=r.filter(d=>typeof d=="string"&&!!d.trim()).map(d=>d.trim());l.length&&(a[t]=l)}}return Object.keys(a).length?a:void 0}function se(e,a){const t=e.facets?.[a];return t===void 0?[]:typeof t=="string"?[t]:t}const je=new Intl.Collator("en",{numeric:!0,sensitivity:"base"});function Be(e){const a=[],t=new Map;for(const r of e)for(const l of Object.keys(r.facets??{})){t.has(l)||(a.push(l),t.set(l,new Set));for(const d of se(r,l))t.get(l).add(d)}return a.map(r=>({label:r,values:[...t.get(r)].sort(je.compare)}))}function Ke(e,a){return Object.entries(a).every(([t,r])=>r===""||se(e,t).includes(r))}const ae=3,ne="featured",re="tabs",le="portrait",v="spread",oe="count",Ut=[{label:"Even grid",value:"even"},{label:"Featured first",value:ne},{label:"Tabs",value:re},{label:"Photo cards",value:le},{label:"Staggered spread",value:v},{label:"Count",value:oe}],We=[le,v],Vt="even",V={min:2,max:11,step:1,fallback:7,unit:"of 12"},He=Ve,Ge=Pe,Xe=Ue;function Je(e){const a=typeof e=="number"?e:Number.parseFloat(String(e??"")),t=Number.isFinite(a)?Math.min(V.max,Math.max(V.min,Math.round(a))):V.fallback;return`${t}fr ${12-t}fr`}const ie={1:"grid-cols-1",2:"grid-cols-2 max-view-wide:grid-cols-1",3:"grid-cols-3 max-view-wide:grid-cols-1",4:"grid-cols-4 max-view-desktop:grid-cols-2 max-view-wide:grid-cols-1"},qe={2:"grid-cols-2",3:"grid-cols-3 max-view-wide:grid-cols-2",4:"grid-cols-4 max-view-desktop:grid-cols-3 max-view-wide:grid-cols-2"},Qe={2:"grid-cols-2 max-view-wide:grid-cols-1",3:"grid-cols-3 max-view-wide:grid-cols-1",4:"grid-cols-4 max-view-desktop:grid-cols-3 max-view-wide:grid-cols-1"};function ce(e,a){return{key:e.slug,title:e.title??"",excerpt:e.excerpt??"",cover:e.cover??"",meta:e.meta??"",dateLabel:e.dateLabel??"",href:e.href||(a?"#":Me(e.slug))}}function Ze(e,a){return{...ce(e,a),tags:(e.tags??[]).map(t=>({label:t}))}}const de=new WeakMap,et={className:"hidden"},tt={className:ze};function fe(e,a){const t=e.blockIds[0],r=e;function l(d){const b=De(),N=a&&b?.index===0;return s(r,{...d,cell:C=>C===t===N?tt:et})}return Object.assign(l,{blockCount:1,blockIds:e.blockIds})}function st(e,a){const t=e;if(typeof t!="function"||(t.blockCount??0)<2||!Array.isArray(t.blockIds))return e;let r=de.get(t);return r||(r={lead:fe(t,!0),rest:fe(t,!1)},de.set(t,r)),a?r.lead:r.rest}const at="Find by name",nt="Nobody by that name.",rt="Nobody matches.",lt="Any";function ot(e,a){const t=l=>l.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase().trim(),r=t(a);return r===""||t(e).includes(r)}function pe({typed:e,onType:a,wide:t=!1}){return c("label",{className:`flex max-w-[360px] flex-col gap-1.5${t?" w-full":""}`,children:[s("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:at}),s("input",{type:"search",value:e,onChange:r=>a(r.target.value),autoComplete:"off",className:"rounded-[var(--sf-button-radius,6px)] border border-line bg-bg px-4 py-2.5 text-[length:var(--size-body,15px)] text-fg outline-none focus:border-accent"})]})}function me({tags:e}){return s("ul",{"aria-label":"Details",className:"flex gap-1.5 overflow-hidden",children:e.map((a,t)=>s("li",{className:"shrink-0 rounded-[var(--sf-button-radius,4px)] border border-line px-2 py-0.5 text-[length:var(--size-label,12px)] text-fg-dim",children:a},`${a}-${t}`))})}function it({card:e,scaffold:a,lower:t=!1}){return c(U,{href:e.href||"#",className:`sf-card group relative isolate flex aspect-[3/4] overflow-hidden bg-surface${t?" min-[801px]:mt-16":""}`,"aria-disabled":a||void 0,tabIndex:a?-1:void 0,children:[s("div",{className:"absolute inset-0 transition-transform duration-700 group-hover:scale-[1.03] motion-reduce:transition-none motion-reduce:group-hover:scale-100",children:s($e,{label:`card-${e.slug}`,src:e.cover||void 0,sizes:"(max-width: 800px) 50vw, 25vw"})}),s("div",{"aria-hidden":!0,className:"absolute inset-0 z-0",style:{background:"linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--bg) 88%, transparent) 100%)"}}),e.meta&&s("span",{className:"absolute left-3 top-3 z-[1] rounded-[var(--sf-button-radius,999px)] bg-bg/85 px-2.5 py-1 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.16em] text-accent",children:x(e.meta)}),c("div",{className:"relative z-[1] mt-auto flex w-full flex-col gap-1 p-4 max-view-wide:p-3",children:[s("h3",{className:"font-heading3 text-[length:var(--size-headingSmall,24px)] leading-[1.1] tracking-[-0.01em] text-fg",children:_(e.title,!1)}),e.dateLabel&&s("p",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.16em] text-accent",children:x(e.dateLabel)}),e.tags&&e.tags.length>0&&s(me,{tags:e.tags}),e.excerpt&&s("p",{className:"line-clamp-2 text-[length:var(--size-body,14px)] leading-[1.45] text-fg-dim",children:x(e.excerpt)})]})]})}function ct({cards:e,scaffold:a}){return s("nav",{"aria-label":"Days",className:P.nav,children:s("ul",{className:P.list,children:e.map((t,r)=>{const l=!!t.meta;return s("li",{children:c(U,{href:t.href||"#","aria-current":l?"page":void 0,"aria-disabled":a||void 0,tabIndex:a?-1:void 0,className:P.tab(l),children:[s("span",{className:"font-heading3 text-[length:var(--size-body,15px)] leading-[1.2]",children:_(t.title,!1)}),t.excerpt&&s("span",{className:`font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] ${l?"opacity-80":"text-fg-dim"}`,children:x(t.excerpt)})]})},`${t.slug}-${r}`)})})})}function dt({count:e,words:a,href:t}){const r=c("span",{className:"inline-flex items-baseline gap-3",children:[s("span",{className:"font-heading text-[length:var(--size-headingLarge,64px)] leading-none text-accent",children:e}),a!==void 0&&s("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg",children:a})]});return t?s(U,{href:t,className:"inline-flex hover:opacity-85",children:r}):r}const Y="[&>[data-sf-repeat]>*]:h-full [&>[data-sf-repeat]>*>*]:h-full",ft="[&>[data-sf-repeat]]:h-full [&>[data-sf-repeat]>*]:h-full [&>[data-sf-repeat]>*>*]:h-full",pt="relative z-[2] bg-bg py-[120px] max-view-wide:py-[70px]",mt="relative z-[2] bg-bg pt-0 pb-[120px] max-view-wide:pt-0 max-view-wide:pb-[70px]",gt="relative z-[2] bg-bg py-[32px] max-view-wide:py-[24px]";function ut({num:e,title:a,link:t,posts:r,columns:l,limit:d,showAll:b=!1,editing:N=!1,cardImage:C,gap:ge,gapPhone:ue,layout:g,featuredWidth:he,listCover:xe=!0,featuredDarken:ve,omitHead:T=!1,sample:L,nameFilter:be=!1,padTop:Ne,padBottom:Ee,template:j,ownerId:Te=""}){const[S,B]=Z(""),[K,ye]=Z({}),E=Ce("ev"),W=r??[],H=b?W.length:typeof d=="number"&&d>0?d:ae,$=W.slice(0,H),m=N&&$.length===0;if($.length===0&&!N)return null;const G=b?ae:H,f=m?L?.length?L.slice(0,b?L.length:G):Array.from({length:G},(n,i)=>({slug:`placeholder-${i}`,title:A("Blog post title"),excerpt:A("A short summary of the post appears here."),cover:"",meta:A("Journal"),dateLabel:A("Date")})):$,o=Le("Events",ge,"both",ue),y=g===ne&&f.length>1,X=Je(he),O=g===re,J=g===oe,q=We.includes(g??""),k=be&&!O&&!J&&!y,I=k?Be(f):[],h=k?f.filter(n=>ot(n.title,S)&&Ke(n,K)):f,R=Re(Ne,Ee),we=!N&&Ie(e,a,t?.text),F=(j?.blockCount??0)>0?Qe:qe,D=g===v?F[3]:F[Math.min(4,Math.max(2,l??3))]??F[3],z=ie[Math.min(4,Math.max(1,l??3))]??ie[3],Q=O||y||g===v?"":ke(E,q?D:z,{cards:h.length}),M=(n,i,p)=>s(Fe,{ownerId:Te,ownerType:"Events",Template:st(j,y),rows:n.map(u=>ce(u,m)),items:n.map(u=>Ze(u,m)),fallback:i,children:u=>p(_e.toArray(u))});return J?s(te,{as:"section",className:gt,style:Object.keys(R).length?R:void 0,children:s("div",{className:ee,children:s(dt,{count:f.length,words:T||a===void 0?void 0:_(a,!1),href:T?void 0:t?.href})})}):s(te,{as:"section",className:T?mt:pt,style:{...Oe(C),...R},children:c("div",{className:ee,children:[T||we?null:s(Se,{num:e!==void 0?x(e):void 0,title:a!==void 0?_(a,!1):void 0,link:t?{text:x(t.text),href:t.href}:void 0}),k&&c("div",{className:"mb-6 flex flex-col gap-2",children:[I.length===0?s(pe,{typed:S,onType:B}):c("div",{className:"flex flex-wrap items-end gap-3",children:[s(pe,{typed:S,onType:B,wide:!0}),I.map(({label:n,values:i})=>c("label",{className:"flex min-w-[140px] flex-col gap-1.5 max-view-wide:flex-1",children:[s("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:n}),c("select",{value:K[n]??"",onChange:p=>ye(u=>({...u,[n]:p.target.value})),className:"rounded-[var(--sf-button-radius,6px)] border border-line bg-bg px-4 py-2.5 text-[length:var(--size-body,15px)] text-fg outline-none focus:border-accent",children:[s("option",{value:"",children:lt}),i.map(p=>s("option",{value:p,children:p},p))]})]},n))]}),h.length===0&&s("p",{role:"status",className:"text-[length:var(--size-body,14px)] text-fg-dim",children:I.length===0?nt:rt})]}),Q&&s("style",{children:Q}),O?s(ct,{cards:f,scaffold:m}):q?M(h,s("div",{className:`${E} sf-card-grid grid${o.className} ${D}`,style:o.style,children:h.map((n,i)=>s(it,{card:n,scaffold:m,lower:g===v&&i%3===1},`${n.slug}-${i}`))}),n=>s("div",{className:`${E} sf-card-grid grid${o.className} ${D} ${Y}`,style:o.style,children:g===v?n.map((i,p)=>s("div",{className:`${ft}${p%3===1?" view-wide:mt-16":""}`,children:i},p)):n})):y?M(f,c("div",{className:`sf-card-grid grid grid-cols-[var(--sf-events-split)] max-view-wide:grid-cols-1${o.className}`,style:{...o.style,"--sf-events-split":X},children:[s(w,{post:f[0],href:f[0].href,scaffold:m,layout:"cover",darken:ve??Ge,darkenStyle:Xe,placement:He},`${f[0].slug}-0`),s("div",{className:`grid auto-rows-min${o.className}`,style:o.style,children:f.slice(1).map((n,i)=>s(w,{post:n,href:n.href,scaffold:m,showCover:xe},`${n.slug}-${i+1}`))})]}),n=>c("div",{className:`sf-card-grid grid grid-cols-[var(--sf-events-split)] max-view-wide:grid-cols-1${o.className} ${Y}`,style:{...o.style,"--sf-events-split":X},children:[n[0],s("div",{className:`grid auto-rows-min${o.className}`,style:o.style,children:n.slice(1)})]})):M(h,s("div",{className:`${E} sf-card-grid grid${o.className} ${z}`,style:o.style,children:h.map((n,i)=>n.tags&&n.tags.length>0?c("div",{className:"flex flex-col gap-2",children:[s(w,{post:n,href:n.href,scaffold:m}),s(me,{tags:n.tags})]},`${n.slug}-${i}`):s(w,{post:n,href:n.href,scaffold:m},`${n.slug}-${i}`))}),n=>s("div",{className:`${E} sf-card-grid grid${o.className} ${z} ${Y}`,style:o.style,children:n}))]})})}export{V as EVENTS_FEATURED_WIDTH,Ut as EVENTS_LAYOUTS,oe as EVENTS_LAYOUT_COUNT,Vt as EVENTS_LAYOUT_FALLBACK,ne as EVENTS_LAYOUT_FEATURED,le as EVENTS_LAYOUT_PORTRAIT,v as EVENTS_LAYOUT_SPREAD,re as EVENTS_LAYOUT_TABS,We as EVENTS_PHOTO_LAYOUTS,Ye as MAX_CARD_TAGS,ut as default,Be as facetChoices,Ke as matchesFacets,ot as matchesName,Pt as readFacets,Mt as readTags};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SlotComponent } from "efficient-easel/blocks";
|
|
2
2
|
import type { FooterMenuItem } from "../lib/menu-link.js";
|
|
3
|
+
import type { SourceRow } from "efficient-web-builder/format/lib/content/block-sources";
|
|
3
4
|
export interface FooterMenuValue {
|
|
4
5
|
id?: string;
|
|
5
6
|
handle?: string;
|
|
@@ -14,6 +15,7 @@ export interface MenuOwner {
|
|
|
14
15
|
export interface FooterMenuProps {
|
|
15
16
|
owner: MenuOwner;
|
|
16
17
|
menu?: FooterMenuValue | null;
|
|
18
|
+
served?: readonly SourceRow[] | null;
|
|
17
19
|
heading?: string;
|
|
18
20
|
accordionMobile?: boolean;
|
|
19
21
|
showDividers?: boolean;
|
|
@@ -26,4 +28,4 @@ export interface FooterMenuProps {
|
|
|
26
28
|
}
|
|
27
29
|
export declare const MENU_STYLE_PLAIN = "plain";
|
|
28
30
|
export declare const MENU_STYLE_TABS = "tabs";
|
|
29
|
-
export default function FooterMenu({ owner, menu, heading, accordionMobile, showDividers, editing, layout, linkAlign, linkRange, menuStyle, currentPage, }: FooterMenuProps): import("react").JSX.Element;
|
|
31
|
+
export default function FooterMenu({ owner, menu, served, heading, accordionMobile, showDividers, editing, layout, linkAlign, linkRange, menuStyle, currentPage, }: FooterMenuProps): import("react").JSX.Element | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,Fragment as F,jsxs as
|
|
1
|
+
"use client";import{jsx as e,Fragment as F,jsxs as s}from"react/jsx-runtime";import{useCallback as j,useEffect as B,useRef as Y,useState as O}from"react";import W from"next/link";import{REPEAT_ATTRIBUTE as G,REPEAT_INDEX_ATTRIBUTE as z}from"efficient-easel/draw";import q from"./CountrySelect.js";import{MenuPlaceContext as V}from"./MenuLinkBlock.js";import X from"./ThemeToggle.js";import{CardRowContext as Z,CardTemplateRows as J}from"efficient-web-builder/render/components/CardRowContext";import{renderChrome as v}from"efficient-web-builder/render/components/goldPhrases";import{UTIL_WORDS as K}from"./HeaderTools.js";import{usePhoneMenuTools as Q}from"efficient-web-builder/render/components/PhoneMenuTools";import{useSearch as ee}from"./SearchContext.js";import{useModalDismiss as ne}from"./useModalDismiss.js";import le from"efficient-easel/screen/components/UiIcon";import{usePreviewMenus as re}from"./PreviewMenusContext.js";import{FOOTER_MENU_PLACEHOLDER_COUNT as te,FOOTER_MENU_PLACEHOLDER_HEADING as ae,FOOTER_MENU_PLACEHOLDER_HINT as oe}from"../lib/content/menu-placeholder.js";import{say as T}from"efficient-web-builder/format/lib/editor-words";import{UNDER_HEADER_SHEET_CLASS as se}from"../lib/content/header-bar.js";import{isMenuOrphaned as ie}from"../lib/menu-source.js";import{legacyBlockAlignOf as ce}from"efficient-web-builder/format/lib/content/block-align";import{menuLinkInRange as me,resolveMenuLinkRange as ue}from"../lib/content/menu-row.js";import{MENU_ENTRY_SIZE_CLASS as P}from"../lib/content/menu-entry-type.js";import{TAB_CELLS as H,currentLinkIndex as de}from"../lib/content/tab-strip.js";import{useCurrentPagePath as pe}from"efficient-web-builder/render/lib/site-runtime";import{HideTaker as E}from"efficient-web-builder/render/components/ViewHideRoot";const qe="plain",he="tabs",fe=`flex list-none flex-col gap-3 ${P}`,y="mb-4 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",L="text-[12px] italic text-fg-dim/70",U=(n,l)=>n&&l>0?"border-t border-line pt-3":"",xe=n=>({label:n.label??"",url:n.href??"",served:n}),D=n=>n.served?{...n.served,label:n.label??"",href:n.url??""}:{label:n.label??"",href:n.url??""},be=Array.from({length:te},()=>({label:"",href:""}));function M({owner:n,items:l,place:a,wrap:i,markCurrent:h=!1}){const x=l?l.map(D):be,c=pe(),m=l&&h?de(l.map(g=>g.url??""),c):-1,u=m<0?null:{index:m,href:l[m].url??""};return e(V.Provider,{value:l?u?{...a,current:u}:a:{...a,placeholder:!0},children:e(J,{ownerId:n.id,ownerType:n.type,Template:n.template,rows:x,items:l??void 0,fallback:null,wrapCopy:i,children:g=>g})})}const R=n=>(n.template?.blockCount??0)>0,Ne="Nothing to show yet: this menu's entries come from its Menu content.",$="This menu draws no links: its card template is empty. Undo the delete, or delete this Menu and add it again.";function Ee({owner:n,items:l,label:a,editing:i,linkAlign:h,linkRange:x,markCurrent:c}){const m=ce(h),u=ue(x),g=!!u&&l!==null&&u.to!==void 0&&u.to<l.length,[w,C]=O(!1),_=Y(null),b=Q(),{open:S}=ee(),N=a||"Menu",o=j(()=>C(!1),[]);ne({active:w,onDismiss:o,scopeRef:_});const f=e(M,{owner:n,items:l,place:{place:"row"},markCurrent:c,wrap:(r,t)=>{const p=l!==null&&u&&!me(u,t.index+1)?{"data-menu-out":""}:null;return e("li",{className:"",...p,children:r})}}),k=(r,t,p)=>i?{[G]:`${r}:${p<0?"panel":"dropdown"}`,[z]:`${p+1}.${t.index}`}:null,A=e(M,{owner:n,items:l,place:{place:"panel",onNavigate:o},markCurrent:c,wrap:(r,t)=>s(F,{children:[e("li",{className:"flex min-h-14 items-center border-b border-line",...k(n.id,t,-1),children:r}),l===null?null:(t.item?.dropdown_items??[]).map((p,I)=>e(Z.Provider,{value:{...t,row:D(p),item:p},children:e("li",{className:"flex min-h-12 items-center border-b border-line pl-5 text-[14px]",...k(n.id,t,I),children:r})},I))]})}),d=b&&(b.search||b.region||b.account||b.theme)?b:null;return!i&&l!==null&&!R(n)&&!d?null:s(E,{as:"nav",ref:_,"aria-label":N,"data-menu-row":"",...m?{"data-menu-align":m}:null,...g?{"data-menu-part":"lead"}:null,className:"min-w-0",children:[e("ul",{className:`m-0 hidden list-none flex-wrap items-center gap-x-8 gap-y-2 p-0 font-mono ${P} uppercase tracking-[0.18em] view-tablet:flex`,children:f}),e("button",{type:"button",className:"flex h-11 w-11 items-center justify-center view-tablet:hidden","aria-expanded":w,"aria-label":w?"Close the menu":"Open the menu",onClick:()=>C(r=>!r),children:e("svg",{width:"22",height:"22",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round","aria-hidden":"true",children:w?e("path",{d:"M6 6l12 12M18 6L6 18"}):e("path",{d:"M4 7h16M4 12h16M4 17h16"})})}),w?s("div",{role:"dialog","aria-label":N,className:`${se} z-[60] flex flex-col overflow-y-auto bg-bg text-fg view-tablet:hidden`,children:[e("ul",{className:"m-0 flex list-none flex-col px-5 py-3 font-mono text-[16px] uppercase tracking-[0.18em]",children:A}),d?s("div",{className:"mt-auto flex flex-col gap-4 border-t border-line bg-surface p-5",children:[d.search?s("button",{type:"button",className:"flex h-12 items-center gap-3 border border-line bg-bg px-4 text-left text-[15px]",onClick:i?void 0:()=>{o(),S()},children:[e(le,{name:"search",size:18,strokeWidth:1.6,rounded:!0}),K.search]}):null,d.account?s("div",{className:"flex items-center justify-between",children:[e("span",{className:"mono-eyebrow text-fg-dim",children:"Account"}),e(W,{href:"/account",onClick:o,className:"mono-eyebrow underline",children:"Your account"})]}):null,d.region?s("div",{className:"flex items-center justify-between",children:[e("span",{className:"mono-eyebrow text-fg-dim",children:"Region"}),e(q,{})]}):null,d.theme?s("div",{className:"flex items-center justify-between",children:[e("span",{className:"mono-eyebrow text-fg-dim",children:"Theme"}),e(X,{})]}):null]}):null]}):null]})}function ge({owner:n,items:l,label:a,editing:i,markCurrent:h}){return!i&&(l===null||l.length===0||!R(n))?null:e(E,{as:"nav","aria-label":a||"Menu","data-menu-tabs":"",className:"min-w-0",children:e("ul",{className:H.list,children:e(M,{owner:n,items:l,place:{place:"tab"},markCurrent:h,wrap:x=>e("li",{className:H.item,children:x})})})})}function we({owner:n,menu:l,served:a,heading:i,accordionMobile:h=!1,showDividers:x=!1,editing:c=!1,layout:m="column",linkAlign:u,linkRange:g,menuStyle:w,currentPage:C}){const _=m==="row"&&C===!0,{live:b,ready:S}=re(),N=!a&&ie({id:l?.id,handle:l?.handle,editing:c,ready:S,live:b}),o=a?a.map(xe):N?[]:l?.items??[],f=i||(a?"":l?.name)||"",[k,A]=O(!1);if(B(()=>{if(!h)return;const r=window.matchMedia("(max-width: 800px)"),t=()=>A(r.matches);return t(),r.addEventListener("change",t),()=>r.removeEventListener("change",t)},[h]),a&&o.length===0)return c?e(E,{as:"p",className:L,children:T(Ne)}):null;if(m==="row"&&c&&!N&&o.length>0&&!R(n))return e(E,{as:"p",className:L,children:T($)});if(m==="row"&&w===he)return e(ge,{owner:n,items:N?null:o,label:f,editing:c,markCurrent:_});if(m==="row")return e(Ee,{owner:n,items:N?null:o,label:f,editing:c,linkAlign:u,linkRange:g,markCurrent:_});const d=r=>e("ul",{className:fe,children:e(M,{owner:n,items:r,place:{place:"column"},wrap:(t,p)=>e("li",{className:r?U(x,p.index):`text-fg ${U(x,p.index)}`,children:t})})});return N?s(E,{as:"div",className:"min-w-0",children:[e("h4",{className:y,children:i?v(i):T(ae)}),d(null),e("p",{className:`mt-3 ${L}`,children:T(oe)})]}):o.length===0||!R(n)?s(E,{as:"div",className:"min-w-0",children:[f?e("h4",{className:y,children:v(f)}):null,c?e("p",{className:L,children:o.length===0?T("This menu has no links yet — add them in {place}.",{place:T("Storefront → Menus")}):T($)}):null]}):h&&k?s(E,{as:"details",className:"min-w-0 border-b border-line",children:[s("summary",{className:"flex cursor-pointer list-none items-center justify-between py-3 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",children:[v(f),e("span",{"aria-hidden":!0,children:"+"})]}),e("div",{className:"pb-3",children:d(o)})]}):s(E,{as:"div",className:"min-w-0",children:[f?e("h4",{className:y,children:v(f)}):null,d(o)]})}export{qe as MENU_STYLE_PLAIN,he as MENU_STYLE_TABS,we as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as c}from"react/jsx-runtime";import{PaymentMark as y,paymentMarks as g}from"efficient-shell/icons/payment";import{say as r}from"efficient-web-builder/format/lib/editor-words";import{BLOCK_ALIGN_JUSTIFY as h}from"efficient-web-builder/format/lib/content/block-align";import{
|
|
1
|
+
import{jsx as e,jsxs as c}from"react/jsx-runtime";import{PaymentMark as y,paymentMarks as g}from"efficient-shell/icons/payment";import{say as r}from"efficient-web-builder/format/lib/editor-words";import{BLOCK_ALIGN_JUSTIFY as h,legacyBlockAlignOf as u}from"efficient-web-builder/format/lib/content/block-align";import{HideTaker as s}from"efficient-web-builder/render/components/ViewHideRoot";const m={sm:{mark:16,text:"text-[12px]"},md:{mark:20,text:"text-[13px]"}};function k({lead:t,methods:i,size:n="sm",align:l,editing:o=!1}){const a=g(i);if(!a.length)return o?e(s,{as:"div","data-payment-placeholder":"",className:"rounded border border-dashed border-line px-3 py-2 text-[13px] text-fg-dim",children:r("Add the ways you take payment")}):null;const{mark:p,text:d}=m[n]??m.sm;return c(s,{as:"div","data-footer-payment":"",className:`flex flex-wrap items-center gap-x-3 gap-y-1.5 leading-[1.5] text-fg-dim ${d} ${h[u(l)??"left"]}`,children:[t&&e("span",{"aria-hidden":!0,children:t}),e("ul",{"aria-label":t||r("Ways to pay"),className:"flex list-none flex-wrap items-center gap-x-3 gap-y-1.5 p-0 text-fg",children:a.map((x,f)=>e("li",{className:"flex",children:e(y,{item:x,size:p})},f))})]})}export{k as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e}from"react/jsx-runtime";import{useSiteSocialLinks as x}from"./SiteRecordContext.js";import{SOCIAL_GAP_DEFAULT as _,SOCIAL_GAP_MAX as A,SOCIAL_GAP_MIN as S}from"../lib/sections/footer-social-gap.js";import{DEFAULT_SOCIAL_ICON_STYLE as b,SocialMark as h}from"efficient-web-builder/render/components/socialIcons";import{normalizeSocialLinks as k,socialLinksToDraw as L}from"efficient-web-builder/format/lib/content/social-links";import{say as v}from"efficient-web-builder/format/lib/editor-words";import{BLOCK_ALIGN_JUSTIFY as w}from"efficient-web-builder/format/lib/content/block-align";import{
|
|
1
|
+
"use client";import{jsx as e}from"react/jsx-runtime";import{useSiteSocialLinks as x}from"./SiteRecordContext.js";import{SOCIAL_GAP_DEFAULT as _,SOCIAL_GAP_MAX as A,SOCIAL_GAP_MIN as S}from"../lib/sections/footer-social-gap.js";import{DEFAULT_SOCIAL_ICON_STYLE as b,SocialMark as h}from"efficient-web-builder/render/components/socialIcons";import{normalizeSocialLinks as k,socialLinksToDraw as L}from"efficient-web-builder/format/lib/content/social-links";import{say as v}from"efficient-web-builder/format/lib/editor-words";import{BLOCK_ALIGN_JUSTIFY as w,legacyBlockAlignOf as g}from"efficient-web-builder/format/lib/content/block-align";import{HideTaker as l}from"efficient-web-builder/render/components/ViewHideRoot";const t={small:16,medium:20,large:24};function I({iconStyle:s=b,iconSize:n="medium",align:c,gap:i=_,editing:m=!1}){const d=x(),a=L(k(d));if(a.length===0)return m?e(l,{as:"div","data-social-placeholder":"",className:"rounded border border-dashed border-line px-3 py-2 text-[13px] text-fg-dim",children:v("Add your social links")}):null;const o=t[n]??t.medium,f={gap:Math.min(A,Math.max(S,Number.isFinite(i)?i:0)),"--social-mark":`${o}px`};return e(l,{as:"ul","data-social-block":"","aria-label":"Social media",className:`flex list-none flex-wrap p-0 [margin:calc((44px-var(--social-mark))/-2)] max-view-wide:[margin:calc((40px-var(--social-mark))/-2)] ${w[g(c)??"left"]}`,style:f,children:a.map(({platform:r,href:p,label:u})=>e("li",{children:e("a",{href:p,target:"_blank",rel:"noopener noreferrer","aria-label":`${u} (opens in a new tab)`,className:"grid h-11 w-11 place-items-center rounded text-fg transition-colors hover:text-accent focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-[-4px] focus-visible:outline-current motion-reduce:transition-none max-view-wide:h-10 max-view-wide:w-10",children:e(h,{platform:r,iconStyle:s,size:o})})},r))})}export{t as SOCIAL_ICON_PX,I as default};
|
|
@@ -3,6 +3,7 @@ import type { SlotComponent } from "efficient-easel/blocks";
|
|
|
3
3
|
import { type CardHoverDrawn } from "efficient-web-builder/format/lib/animation/hover";
|
|
4
4
|
import type { SourceRow } from "efficient-web-builder/format/lib/content/block-sources";
|
|
5
5
|
import type { Bundle, WheelSummary } from "../lib/api/index.js";
|
|
6
|
+
import type { VehicleFitment } from "../lib/wheels/plp-fitment-match.js";
|
|
6
7
|
import { type FieldUsageAnswer } from "../lib/content/field-usage.js";
|
|
7
8
|
export declare function gridIndexCss(cls: string): string;
|
|
8
9
|
export declare function cardRowsGrid(gapZone: {
|
|
@@ -12,16 +13,39 @@ export declare function cardRowsGrid(gapZone: {
|
|
|
12
13
|
className: string;
|
|
13
14
|
style: CSSProperties;
|
|
14
15
|
};
|
|
16
|
+
export interface GridCardRules {
|
|
17
|
+
sale: boolean;
|
|
18
|
+
axleSets: boolean;
|
|
19
|
+
setTotal: boolean;
|
|
20
|
+
wasFollowsSize: boolean;
|
|
21
|
+
quoteSets: boolean;
|
|
22
|
+
showSingle: boolean;
|
|
23
|
+
armOnContact: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare const GRID_CARD_RULES: GridCardRules;
|
|
26
|
+
export declare const LISTING_CARD_RULES: GridCardRules;
|
|
27
|
+
export interface GridCardEyebrow {
|
|
28
|
+
kindLabel: string | null;
|
|
29
|
+
brand: boolean;
|
|
30
|
+
process: boolean;
|
|
31
|
+
}
|
|
15
32
|
export interface GridCardValues {
|
|
16
33
|
ownerId: string;
|
|
34
|
+
ownerType?: string;
|
|
17
35
|
Template: SlotComponent | undefined;
|
|
18
36
|
hover: CardHoverDrawn;
|
|
19
37
|
imageSizes: string;
|
|
20
38
|
fieldUsage: readonly FieldUsageAnswer[];
|
|
21
39
|
reserveEyebrow: boolean;
|
|
22
40
|
editing: boolean;
|
|
41
|
+
eyebrow?: GridCardEyebrow;
|
|
42
|
+
fit?: VehicleFitment | null;
|
|
43
|
+
colours?: readonly string[];
|
|
44
|
+
setGridGap?: string;
|
|
45
|
+
rules?: GridCardRules;
|
|
23
46
|
}
|
|
24
|
-
export
|
|
47
|
+
export type GridCardRead = Required<Omit<GridCardValues, "setGridGap">> & Pick<GridCardValues, "setGridGap">;
|
|
48
|
+
export declare function useGridCard(): GridCardRead;
|
|
25
49
|
export declare function GridCardProvider({ value, children }: {
|
|
26
50
|
value: GridCardValues;
|
|
27
51
|
children: ReactNode;
|
|
@@ -34,6 +58,11 @@ export declare function GridCards({ wheels, finishes, children, }: {
|
|
|
34
58
|
finishes?: readonly (string | undefined)[];
|
|
35
59
|
children: (copies: ReactNode) => ReactNode;
|
|
36
60
|
}): import("react").JSX.Element;
|
|
61
|
+
export declare function GridMixedCards<T>({ items, isWheel, other, }: {
|
|
62
|
+
items: readonly T[];
|
|
63
|
+
isWheel: (item: T) => boolean;
|
|
64
|
+
other: (item: T, at: number) => ReactNode;
|
|
65
|
+
}): import("react").JSX.Element;
|
|
37
66
|
export declare function GridBundleCards({ bundles, children }: {
|
|
38
67
|
bundles: readonly Bundle[];
|
|
39
68
|
children: (copies: ReactNode) => ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as o,jsxs as f,Fragment as p}from"react/jsx-runtime";import _ from"next/link";import{createContext as v,useContext as y,useMemo as R}from"react";import{CardTemplateRows as m}from"efficient-web-builder/render/components/CardRowContext";import{InsideSiteColumn as I}from"efficient-web-builder/render/components/SiteGutterFrame";import{HideTaker as T}from"efficient-web-builder/render/components/ViewHideRoot";import{cardHoverOf as E}from"efficient-web-builder/format/lib/animation/hover";import{NO_FIELD_ANSWERS as O}from"../lib/content/field-usage.js";import{CARD_IMAGE_SIZES as G}from"../lib/sections/card-image-sizes.js";import{CardLookContext as x}from"./card-pieces/card-row.js";import{CardBuyDialog as A}from"./card-pieces/CardBuyButton.js";import{BundleCardStateProvider as N,useWheelCardState as P,WheelCardStateProvider as D}from"./card-pieces/ProductCardState.js";import{say as L}from"efficient-web-builder/format/lib/editor-words";import{CARD_INDEX_OPTIONS as F,cardIndexCss as k}from"efficient-web-builder/format/lib/sections/product-card-style";import{SHARED_ROWS_LIST_CLASS as $}from"efficient-web-builder/render/lib/content/box-shared-columns";import{GAP_ZONE_CLASS as j}from"efficient-web-builder/format/lib/content/container-gap";import{CARD_ROWS_GRID_CLASS as U,cardRowsGap as z,cardRowsGridStyle as W}from"./WheelCardFrame.js";function he(e){return F.map(({value:r})=>r==="off"?"":k(e,r).replace(".sf-card-index::before",`.sf-card-index[data-format="${r}"]::before`)).join("")}function ge(e){return e.className.includes(j)?{className:`${e.className} ${U} ${$}`,style:{...e.style,...W(z(e))}}:e}const B={sale:!1,axleSets:!0,setTotal:!1,wasFollowsSize:!1,quoteSets:!0,showSingle:!1,armOnContact:!1},_e={sale:!0,axleSets:!1,setTotal:!0,wasFollowsSize:!0,quoteSets:!1,showSingle:!0,armOnContact:!0},H={kindLabel:null,brand:!1,process:!0},M=[],C={ownerId:"",ownerType:"ProductGrid",Template:void 0,hover:E({},"ProductGrid"),imageSizes:G,fieldUsage:O,reserveEyebrow:!1,editing:!1,eyebrow:H,fit:null,colours:M,rules:B},w=v(C);function u(){return y(w)}function ve({value:e,children:r}){const t=R(()=>({...C,...Y(e)}),[e]);return o(w.Provider,{value:t,children:r})}const Y=e=>Object.fromEntries(Object.entries(e).filter(([,r])=>r!==void 0));function q(e){return{name:e.name??"",eyebrow:e.process??"",note:"",href:e.slug?`/wheels/${e.slug}`:""}}const S=e=>`/bundles/${e.slug}`;function K(e){return{name:e.name,eyebrow:"",note:e.subtitle??"",href:S(e)}}const V="sf-card sf-card-fill group relative flex flex-col bg-[var(--card-bg)] transition-colors duration-200 hover:bg-[var(--card-bg-hover)] [.sf-card-rows>&]:mb-[var(--sf-card-row-gap)]",X="sf-card group relative flex flex-col border border-line bg-bg transition-colors hover:border-accent",J="col-span-2 max-view-wide:col-span-1 @max-[720px]:col-span-1 [&:has([data-set-picture=one])]:col-span-1",Q="relative z-[2] flex flex-1 flex-col pointer-events-none [&_a]:pointer-events-auto [&_button]:pointer-events-auto [&_input]:pointer-events-auto [&_select]:pointer-events-auto [&_label]:pointer-events-auto",Z="relative flex flex-1 flex-col";function b({copy:e,href:r,label:t,wide:a=!1,kit:s=!1,probes:i,arm:n}){const{editing:l}=u(),c=s?X:V,d=n?{onPointerEnter:n,onTouchStart:n,onFocusCapture:n}:{};return f(T,{as:"article",className:a?`${c} ${J}`:c,...d,children:[i,!l&&r?o(_,{href:r,"aria-label":t,className:"absolute inset-0 z-[1]"}):null,o("div",{className:l?Z:Q,children:o(I,{children:e})})]})}function ee({copy:e}){const{wheel:r,sel:t,isSet:a}=P(),{rules:s}=u();return f(p,{children:[o(b,{copy:e,href:r.slug?`/wheels/${r.slug}`:"",label:r.name,wide:a,probes:t.probes,arm:s.armOnContact?t.arm:void 0}),o(A,{})]})}function re(e,r,t,a){const s=r.item;return o(D,{wheel:s,colours:t.colours,defaultFinish:a?.[r.index],editing:t.editing,children:o(x.Provider,{value:"catalog",children:o(ee,{copy:e})})})}function h({wheels:e,finishes:r,children:t}){const a=u(),{ownerId:s,ownerType:i,Template:n,editing:l}=a;return o(m,{ownerId:s,ownerType:i,Template:n,rows:e.map(q),items:e,fallback:l?o(g,{}):null,wrapCopy:(c,d)=>re(c,d,a,r),children:t})}function ye({items:e,isWheel:r,other:t}){const{Template:a}=u(),s=e.filter(r),i=n=>{let l=0;return e.map((c,d)=>r(c)?n[l++]??null:t(c,d))};return!a||(a.blockCount??0)<=0?f(p,{children:[e.map((n,l)=>r(n)?null:t(n,l)),s.length>0&&o(h,{wheels:s,children:n=>n})]}):o(h,{wheels:s,children:n=>i(n)})}function te(e,r){const t=r.item;return o(N,{bundle:t,children:o(x.Provider,{value:"catalog",children:o(b,{copy:e,href:S(t),label:t.name,kit:!0})})})}function Re({bundles:e,children:r}){const{ownerId:t,ownerType:a,Template:s,editing:i}=u();return o(m,{ownerId:t,ownerType:a,Template:s,rows:e.map(K),items:e,fallback:i?o(g,{}):null,wrapCopy:te,children:r})}function g(){return o("div",{"data-grid-card-empty":"",className:"p-4 text-center font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-fg-dim",children:L("The card is empty. Add parts to its card template in Layers.")})}export{B as GRID_CARD_RULES,Re as GridBundleCards,ve as GridCardProvider,h as GridCards,ye as GridMixedCards,_e as LISTING_CARD_RULES,K as bundleCardRow,S as bundlePagePath,ge as cardRowsGrid,he as gridIndexCss,q as productCardRow,u as useGridCard};
|
|
@@ -42,6 +42,7 @@ interface Props {
|
|
|
42
42
|
wheels?: WheelSummary[];
|
|
43
43
|
source?: CategorySourceValue;
|
|
44
44
|
catalog?: ProductSummary[];
|
|
45
|
+
catalogTotal?: number;
|
|
45
46
|
firstCountInChips?: boolean;
|
|
46
47
|
kinds?: string[];
|
|
47
48
|
columns?: number;
|
|
@@ -57,5 +58,5 @@ interface Props {
|
|
|
57
58
|
ownerId?: string;
|
|
58
59
|
template?: SlotComponent;
|
|
59
60
|
}
|
|
60
|
-
export default function ProductGridSection({ num, catalog, firstCountInChips, kinds, title, titleSize, padTop, description, link, products: Products, wheels, source, columns, columnsPhone, columnsTablet, limit: limitProp, moreProducts, perPage, editing, contentCapped, hover, fieldUsage, ownerId, template, gap: gapProp, gapPhone, }: Props): import("react").JSX.Element | null;
|
|
61
|
+
export default function ProductGridSection({ num, catalog, catalogTotal, firstCountInChips, kinds, title, titleSize, padTop, description, link, products: Products, wheels, source, columns, columnsPhone, columnsTablet, limit: limitProp, moreProducts, perPage, editing, contentCapped, hover, fieldUsage, ownerId, template, gap: gapProp, gapPhone, }: Props): import("react").JSX.Element | null;
|
|
61
62
|
export {};
|