efficient-storefront-blocks 0.89.0 → 0.90.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 +16 -0
- package/dist/chunks/{EditorPreviewCheckout-R7XG75DW.js → EditorPreviewCheckout-M4LID5YF.js} +1 -1
- package/dist/chunks/{SiteEditorProvider-YNUCDQ2D.js → SiteEditorProvider-2JWQZN2Q.js} +1 -1
- package/dist/chunks/chunk-3XIZADE6.js +1 -0
- package/dist/chunks/chunk-6TDIG6W3.js +395 -0
- package/dist/chunks/chunk-JMUP4FBL.js +1 -0
- package/dist/chunks/{chunk-E54FFOUS.js → chunk-U6UPMVSX.js} +1 -1
- package/dist/chunks/{fitment-data-URBK335I.js → fitment-data-3VLLTJW6.js} +1 -1
- package/dist/contract.js +2 -2
- package/dist/editor/components/GalleryPicturesSource.d.ts +33 -0
- package/dist/editor/components/GalleryPicturesSource.js +1 -0
- package/dist/editor/components/ProductSourceRows.d.ts +35 -0
- package/dist/editor/components/ProductSourceRows.js +1 -0
- package/dist/editor/components/ReviewsProductSource.js +1 -1
- package/dist/editor/lib/document/blocks/commerce/GalleryB/fields.js +1 -1
- package/dist/editor/lib/document/blocks/service/FooterDivider/fields.js +1 -1
- package/dist/editor/lib/document/config.d.ts +1 -0
- package/dist/editor/lib/document/config.js +1 -1
- package/dist/editor/lib/storefront-editor-words.d.ts +1 -0
- package/dist/editor/lib/storefront-editor-words.js +1 -1
- package/dist/editor.css +1 -1
- package/dist/index.js +62 -43
- package/dist/links.js +1 -1
- package/dist/render/built-with.json +1 -1
- package/dist/render/components/AppointmentBooking.js +1 -1
- package/dist/render/components/ArticleBody.js +1 -1
- package/dist/render/components/BoxHeaderBar.js +1 -1
- package/dist/render/components/CollectionCard.d.ts +1 -1
- package/dist/render/components/CollectionCard.js +1 -1
- package/dist/render/components/ContactRouting.js +1 -1
- package/dist/render/components/EuTyreLabels.d.ts +2 -1
- package/dist/render/components/EuTyreLabels.js +1 -1
- package/dist/render/components/Events.js +1 -1
- package/dist/render/components/FooterDivider.d.ts +1 -2
- package/dist/render/components/FooterDivider.js +1 -1
- package/dist/render/components/FooterEmailSignup.js +1 -1
- package/dist/render/components/FooterGroup.js +1 -1
- package/dist/render/components/FooterLogo.js +1 -1
- package/dist/render/components/FooterMenu.js +1 -1
- package/dist/render/components/FooterMessaging.js +1 -1
- package/dist/render/components/FooterPayment.js +1 -1
- package/dist/render/components/FooterSection.js +1 -1
- package/dist/render/components/FooterSocial.js +1 -1
- package/dist/render/components/FooterText.js +1 -1
- package/dist/render/components/GalleryCard.js +1 -1
- package/dist/render/components/GalleryGrid.d.ts +3 -1
- package/dist/render/components/GalleryGrid.js +3 -1
- package/dist/render/components/GalleryItem.d.ts +1 -0
- package/dist/render/components/GalleryItem.js +1 -1
- package/dist/render/components/GalleryShowcase.js +1 -1
- package/dist/render/components/GridCardTemplate.js +1 -1
- package/dist/render/components/HeaderNavItem.d.ts +1 -1
- package/dist/render/components/HeaderNavItem.js +1 -1
- package/dist/render/components/HeaderToolBlocks.js +1 -1
- package/dist/render/components/HeaderTools.d.ts +5 -3
- package/dist/render/components/HeaderTools.js +1 -1
- package/dist/render/components/LegalLine.js +1 -1
- package/dist/render/components/MenuLinkBlock.js +1 -1
- package/dist/render/components/MenuPlaceholderLabel.js +1 -1
- package/dist/render/components/ProductGallery.d.ts +2 -1
- package/dist/render/components/ProductGallery.js +1 -1
- package/dist/render/components/ProductRef.js +1 -1
- package/dist/render/components/QuoteLink.d.ts +2 -1
- package/dist/render/components/QuoteLink.js +1 -1
- package/dist/render/components/RatingStars.js +1 -1
- package/dist/render/components/ReviewForm.js +1 -1
- package/dist/render/components/SectionBand.js +1 -1
- package/dist/render/components/SectionFootnote.d.ts +2 -1
- package/dist/render/components/SectionFootnote.js +1 -1
- package/dist/render/components/SectionGroupBody.js +1 -1
- package/dist/render/components/SectionNotice.js +1 -1
- package/dist/render/components/TyreFitVerdicts.js +1 -1
- package/dist/render/components/booking/BookingBox.js +1 -1
- package/dist/render/components/booking/BookingRegions.js +1 -1
- package/dist/render/components/card-pieces/CardBuyButton.d.ts +3 -1
- package/dist/render/components/card-pieces/CardBuyButton.js +1 -1
- package/dist/render/components/card-pieces/CardEyebrow.js +1 -1
- package/dist/render/components/card-pieces/CardName.js +1 -1
- package/dist/render/components/card-pieces/CardPrice.js +1 -1
- package/dist/render/components/card-pieces/CardProductPicture.js +1 -1
- package/dist/render/components/card-pieces/CardSpecs.js +1 -1
- package/dist/render/components/card-pieces/HostPart.js +1 -1
- package/dist/render/components/card-pieces/card-row.js +1 -1
- package/dist/render/components/catalog/ShopperChips.js +1 -1
- package/dist/render/components/catalog/ShopperFilters.js +1 -1
- package/dist/render/components/fitment/FitmentPickerGrid.js +1 -1
- package/dist/render/components/fitment/StockFitmentCard.js +1 -1
- package/dist/render/components/fitment/StockFitmentPart.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.d.ts +4 -0
- package/dist/render/components/pdp-dynamic/DynamicEuTyreLabel.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicGalleryGrid.js +1 -1
- package/dist/render/components/pdp-dynamic/DynamicProductGallery.js +1 -1
- package/dist/render/components/submit/SubmitBox.js +1 -1
- package/dist/render/lib/content/served-lists.d.ts +8 -0
- package/dist/render/lib/content/served-lists.js +1 -0
- package/dist/render/lib/document/blocks/commerce/GalleryB/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductHero/render.js +1 -1
- package/dist/render/lib/document/blocks/commerce/ProductPrice/render.js +1 -1
- package/dist/render/lib/document/blocks/service/Events/render.js +1 -1
- package/dist/render/lib/document/blocks/service/FooterDivider/meta.js +1 -1
- package/dist/render/lib/document/blocks/service/FooterDivider/render.js +1 -1
- package/dist/render/lib/document/blocks/service/RatingBlock/render.js +1 -1
- package/dist/render/lib/document/card-templates.d.ts +2 -0
- package/dist/render/lib/document/card-templates.js +1 -1
- package/dist/render/lib/document/lazy-draws.js +1 -1
- package/dist/render/lib/document/render-config.d.ts +1 -0
- package/dist/render/lib/document/render-config.js +1 -1
- package/dist/render/lib/document/section-to-box-rows-productgrid.d.ts +1 -0
- package/dist/render/lib/document/section-to-box-rows-productgrid.js +1 -0
- package/dist/render/lib/sections/product-pictures.d.ts +25 -0
- package/dist/render/lib/sections/product-pictures.js +1 -0
- package/dist/render/lib/sections/product-source.d.ts +8 -0
- package/dist/render/lib/sections/product-source.js +1 -0
- package/dist/render/lib/sections/reviews.js +1 -1
- package/dist/words.d.ts +11 -0
- package/dist/words.js +5 -5
- package/package.json +4 -3
- package/dist/chunks/chunk-BYBBZS7L.js +0 -1
- package/dist/chunks/chunk-G4Y7XXRV.js +0 -1
- package/dist/chunks/chunk-WRDUOJZO.js +0 -382
- /package/dist/chunks/{chunk-WRDUOJZO.js.LEGAL.txt → chunk-6TDIG6W3.js.LEGAL.txt} +0 -0
- /package/dist/chunks/{chunk-ZA3ULZOA.js → chunk-N445XY3W.js} +0 -0
- /package/dist/editor/lib/{editor-words-kept.d.ts → storefront-editor-words-kept.d.ts} +0 -0
- /package/dist/editor/lib/{editor-words-kept.js → storefront-editor-words-kept.js} +0 -0
package/dist/links.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var h={bold:{open:"**",close:"**",placeholder:"bold text"},italic:{open:"_",close:"_",placeholder:"italic text"},strike:{open:"~~",close:"~~",placeholder:"struck out"},code:{open:"`",close:"`",placeholder:"code"},highlight:{open:"==",close:"==",placeholder:"highlighted text"},quiet:{open:"^^",close:"^^",placeholder:"quiet text"},underline:{open:"[",close:"]{underline}",placeholder:"underlined text"},sup:{open:"[",close:"]{sup}",placeholder:"superscript"},sub:{open:"[",close:"]{sub}",placeholder:"subscript"}};var Je={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 ue=[{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}],ce=["highlight","quiet"],et=ue.map(e=>e.style).filter(e=>F.some(t=>t.kind===e)).filter(e=>!ce.includes(e)),tt=[...F,{open:"*",close:"*",kind:"accent"}],nt=[...F,{open:"*",close:"*",kind:"accent"},{open:"#",close:"#",kind:"bold",notBefore:"0123456789"},{open:"[",close:"]",kind:"italic",notBefore:"(",notBeforeBlock:!0}];var rt=["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||rt.includes(t[1].toLowerCase())}var pe=["width","profile","rim"];var ot=/^\s*(\d{2,3})\s*\/\s*(\d{2,3})\s*[A-Za-z]*\s*(\d{2}(?:\.\d+)?)\s*$/,it={width:[100,500],profile:[20,100],rim:[10,30]};function B(e){let t=ot.exec(e??"");if(!t)return null;let n={width:Number(t[1]),profile:Number(t[2]),rim:Number(t[3])};return pe.every(o=>{let[i,a]=it[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 de(e){return[_({width:e.width}),_({width:e.width,profile:e.profile}),_(e)]}var k=["alloy-wheel","tyre"],fe=["alloy-wheel"],R={"alloy-wheel":"Alloy wheels",tyre:"Tyres"};var mn=k.map(e=>({value:e,label:R[e]}));function O(e){return e==null?[...fe]:Array.isArray(e)?k.filter(t=>e.includes(t)):[...fe]}var m=e=>e;function d(e){return m(e).kind==="tyre"?"tyre":"alloy-wheel"}function W(e){return m(e).brand??""}function me(e){return m(e).prices??void 0}function ge(e){return m(e).inStock!==!1}function he(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 ye(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 Pe(e){return d(e)==="tyre"?[]:m(e).spec?.pcds??[]}function Se(e){return d(e)!=="tyre"?[]:m(e).tyreTypes??[]}function be(e){return d(e)!=="tyre"?[]:m(e).speedRatings??[]}function ke(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 xe=null;function we(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=xe?xe[e]:void 0;if(typeof n=="function"){try{let r=Y(n(t??{}));if(r)return r}catch{}return we(e,t)}return we(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}),bn=E(30,0,100,10),kn=E(0,0,100,5),xn=E(100,0,100,5),wn=E(2,0,4,.5);function Le(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.text=="string"?e.text.trim():""}var Te="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 Fe(e){return`${j}${e}`}function _e(e){return e.startsWith(j)&&e.slice(j.length).trim()||null}function P(e){return e===Te?"/":`/${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=Le(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 Re(e){return/^\/wheels\/[^/?#]+(?:[?#].*)?$/.test(e)}var st=()=>({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(_e(e))return"popup";if(e.startsWith("/journal/"))return"blog";if(Re(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 Oe(e,t){let n=st(),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:Fe(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 Ee=Object.freeze([]);function V(e,t){return e.length===0?e:e.filter(n=>n.kind===void 0||n.kind===t)}function Ae(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 Ie(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 Ne(e){return at(e,"filter")}var lt="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":lt},pcds:{"alloy-wheel":"pcd"},tyreTypes:{tyre:"tire_type"},speedRatings:{tyre:"speed_rating"}}[e]?.[t]}function at(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 ut(e){return typeof e=="number"&&Number.isFinite(e)&&e>0}function Ce(e,t){let n=e?.[t];return ut(n)?n:null}function Ke(e,t,n,r){if(n==null&&r==null)return!0;let o=Ce(e,t);return!(o===null||n!=null&&o<n||r!=null&&o>r)}function ve(e){let t=e.spec?.lugs;return typeof t=="number"?t:null}var ct={recommended:"Recommended","price-asc":"Price \xB7 low to high","price-desc":"Price \xB7 high to low",new:"Newest",name:"Name A\u2013Z"},lr=Object.keys(ct);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"]},pt={diameters:"tyreSizes"};function dt(e){if(e.length===0)return[];let t=X.filter(n=>e.every(r=>J[n].includes(r)));return t.filter(n=>{let r=pt[n];return!r||!t.includes(r)})}function ft(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 De(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(!Me(e,p).some(s=>c.includes(s)))return!1}if(r!=="lugs"&&t.lugs&&t.lugs.length>0&&a("lugs")){let p=ve(e);if(p===null||!t.lugs.includes(p))return!1}return!(r!=="price"&&!Ke(me(e),n,t.priceMin??null,t.priceMax)||r!=="inStock"&&t.inStockOnly&&!ge(e))}var mt={tyreSizes:"Size",brands:"Brand",finishes:"Colour",diameters:"Size \xB7 diameter",collections:"Collection",pcds:"PCD \xB7 fitment",tyreTypes:"Tyre type",speedRatings:"Speed rating"};function Me(e,t){switch(t){case"tyreSizes":return[...new Set(ke(e).flatMap(de))];case"brands":return W(e)?[W(e)]:[];case"finishes":return ye(e);case"diameters":return he(e).map(String);case"collections":return H(e);case"pcds":return Pe(e);case"tyreTypes":return Se(e);case"speedRatings":return be(e)}}function gt(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 Ue(e,t,n,r=ft(e),o=Ee,i="fail"){let a=u=>yt(u,r,o),p=gt(e),c=(i==="pass"?X.filter(u=>r.some(b=>J[u].includes(b))):dt(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=Me(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(De(f,t,n,u,i))for(let g of new Set(S))z.set(g,(z.get(g)??0)+1)}let Xe=[...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:mt[u],options:Xe}}).filter(u=>u.options.length>ht),s=[];for(let u of c){let b=Pt(u.key,r,o);b!==void 0&&s.push({fieldKey:u.key,filterOrder:b})}return[...Ie(c,u=>u.key,s,"filterOrder")]}var ht=1;function ze(e){return e.showCollection===!1?["collections"]:[]}function yt(e,t,n){return t.length===0||n.length===0?!0:t.some(r=>Ne(V(n,r))(Z(e,r)))}function Pt(e,t,n){if(n.length===0)return;let r;for(let o of t){let i=Ae(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 $e(e){let t=e;return!!t&&typeof t=="object"&&typeof t.type=="string"&&!!t.props&&typeof t.props=="object"}function St(e){return Object.entries(e.props??{}).filter(t=>Array.isArray(t[1])&&t[1].length>0&&t[1].every($e))}function bt(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 Be(e){let t=[],n=(r,o)=>{let i=[r,...o];for(let a of r)if($e(a)){t.push({node:a,order:t.length,lists:i});for(let[,p]of St(a))n(p,i)}};for(let r of bt(e))n(r,[]);return t}function w(e){return Be(e).map(t=>t.node)}var re={vehicle:"My Car",process:"Process",size:"Size",lugs:"Lugs",finish:"Finish",price:"Price"};var Pr=[{value:"inStock",label:Q.inStock},{value:"category",label:"Category"},{value:"lugs",label:re.lugs},{value:"price",label:re.price}];var Ge="AlloyWheelsListing";function He(e){return $(e.trim())}var L="/wheels",M="Products";function Ye(e,t){return t>1?`${M} \xB7 ${e}`:M}function oe(...e){for(let t of[Ge,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 qe(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 je(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 wt(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch{return e}}function Ve(e){let t=new URLSearchParams(je(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}=je(e),i=r.split("&").filter(a=>a&&!ie.includes(wt(a.split("=")[0])));return t?.value&&i.push(`${encodeURIComponent(t.param)}=${encodeURIComponent(t.value)}`),`${n}${i.length?`?${i.join("&")}`:""}${o}`}function Ze(e,t){let n=se(e,null);return t.includes(n)?n:e}function Lt(e,t,n=[]){return D(e,t,{listingPaths:n,targetOf:r=>Ze(r,n)})}function Tt(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 Qe="Product type",Ft="AUD";function le(e,t){let n=t.listing??{},r=O(n.kinds),o=e.filter(l=>r.includes(d(l))),i=ze(n),a=Ue(o,ee,Ft,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:Qe,values:p.map(l=>({value:l,label:R[l]}))}),a}function _t(e){return t=>{let n=qe(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:Ye(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:Ve,withFilter:se}}}function Rt(e){let t=_t({catalogue:e.catalogue,fieldUsage:e.fieldUsage,offersCommerce:e.offers.offersCommerce})(e.pages),n=Oe({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:He},filtersFor:n.filtersFor??(()=>null)}}function ao(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,Qe as PRODUCT_TYPE_FILTER_LABEL,K as anchorPath,Tt as fieldUsageFromAdminRows,Lt as inferLinkKind,U as isProductListingPage,He as isSafeLink,I as linkKindsFor,Rt as linkPickerSetup,ao as listingFilterFields,oe as listingNode,Ye as listingPageLabel,Ze as listingTarget,v as pageAnchors,P as pagePath,N as postPath,qe as productListingPaths,Ve 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"],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 +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 b,useBookingForm as k}from"./booking/BookingFormState.js";import{useBookingPreview as N}from"efficient-web-builder/render/lib/document/booking-preview";import{say as o}from"efficient-web-builder/format/lib/editor-words";import{BookingChoose as w,BookingConfirmed as B,BookingDetails as y,BookingHead as A}from"./booking/BookingRegions.js";import{HideTaker as p}from"efficient-web-builder/render/components/ViewHideRoot";function C(t={}){const n=N();return e(b,{editing:t.editing,previewConfirmation:!!t.nodeId&&n===t.nodeId,children:e(_,{...t})})}const g="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]",s="grid gap-8 min-[960px]:grid-cols-[minmax(0,1fr)_minmax(360px,0.8fr)] min-[960px]:gap-12";function _({eyebrow:t,heading:n,intro:f,buttonLabel:u,successMessage:x,boxes:r,inBoxes:v=!1}){const{fieldPrefix:D,editing:h,services:m,currency:I,serviceId:L,setServiceId:P,requiresPayment:j,date:T,earliestDate:z,setDate:E,setDateTouched:F,availability:M,loadingSlots:H,noSlotsMessage:R,selectedStart:$,setSelectedStart:q,customerTimezone:G,name:O,setName:J,email:K,setEmail:Q,phone:U,setPhone:V,notes:W,setNotes:X,confirmation:c,submitting:Y,error:Z,canSubmit:ee,handleSubmit:l,sample:S}=k(),d=S?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,a=m===void 0?e("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",children:"Loading appointments…"}):m?.length===0?e("p",{className:"font-mono text-[12px] uppercase tracking-[0.2em] text-fg-dim",role:"status",children:h?o("Add an active service in {place}.",{place:o("Storefront → Booking Services")}):"Appointments are not available right now."}):null;return v&&r?e(p,{as:"section",className:"relative z-[2] border-t border-line bg-surface",children:i("div",{className:g,children:[d,c?e(r,{className:`${s} items-start`}):i("form",{onSubmit:l,children:[e(r,{className:`${s} items-start`}),a]})]})}):e(p,{as:"section",className:"relative z-[2] border-t border-line bg-surface",children:i("div",{className:g,children:[d,e(A,{eyebrow:t,heading:n,intro:f}),c?e(B,{successMessage:x}):a||i("form",{onSubmit:l,className:s,children:[e(w,{}),e(y,{buttonLabel:u})]})]})})}export{_ as AppointmentBookingBody,C as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as o}from"react/jsx-runtime";import{CardTemplateRows as
|
|
1
|
+
"use client";import{jsx as o}from"react/jsx-runtime";import{CardTemplateRows as c}from"efficient-web-builder/render/components/CardRowContext";import{useCurrentRecordOf as n}from"../lib/document/current-record.js";import{ARTICLE_BODY_FIELD as m,BLOG_POST_RECORD_TYPE as a,articleRows as f,sampleArticleRows as d}from"../lib/content/article-body.js";import{HideTaker as p}from"efficient-web-builder/render/components/ViewHideRoot";function u({id:l,template:t,editing:i}){const r=n(a),e=r?f(r.fields[m]):i?d():[];return e.length?o(c,{ownerId:l,ownerType:"ArticleBody",Template:t,rows:e,fallback:null,children:s=>o(p,{as:"div",className:"flex flex-col",children:s})}):null}export{u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as k}from"react/jsx-runtime";import{useEffect as _,useState as E}from"react";import{useRootIsDark as v}from"efficient-shell/theme";import{usePathname as y}from"next/navigation";import{useHeaderBar as T}from"./useHeaderBar.js";import{headerSolidBackground as D,isProductPage as I,resolveHeaderHeightPx as R}from"../lib/content/header-bar.js";import{headerThemeWrap as P}from"../lib/content/header-theme.js";import{HEADER_SET_HEIGHT_VAR as S}from"efficient-web-builder/render/lib/document/header-clearance";import{HEADER_INK_OVERRIDE_ATTR as A,resolveHeaderInkMode as B}from"efficient-web-builder/render/lib/document/header-ink";import{centredCap as j,SITE_WIDTH_CAP as w}from"efficient-web-builder/format/lib/content/page-width";import{HideTaker as M}from"efficient-web-builder/render/components/ViewHideRoot";const C=["none","always","on_scroll_up"],N=e=>C.includes(e)?e:"always";function O({sticky:e,topTextColor:c,heightPx:u,theme:f,bandCapped:m=!1,children:h}){const t=N(e),a=R(u),{headerRef:o,scrolled:n,navHidden:p}=T({stickyMode:t,heightPx:a}),s=B(c),g=s==="auto"?null:{[A]:s},r=P(f),d=I(y()),[b,x]=E(null);_(()=>x(o.current?.ownerDocument??null),[o]);const H=!v({doc:b,whenUnset:!0}),l=n||d,i=D(H,d);return k(M,{as:"header",ref:o,"data-scrolled":n||void 0,"data-box-header":"",...g,className:["sf-site-header",...r?[r.className]:[],"flex flex-col justify-center",t==="none"?"absolute":"fixed","inset-x-0 top-0 z-50",l?"border-b border-line backdrop-blur-md":"border-b border-transparent","transition-[background,border-color,transform] duration-300 ease-out"].join(" "),style:{...r?r.style:null,minHeight:`var(${S}, ${a}px)`,...m?j(w):null,...p?{transform:"translateY(-100%)"}:null,...l?{background:i,color:"var(--fg)","--sf-header-ground":i}:{color:"var(--sf-header-overlay-fg)","--sf-header-ground":"var(--sf-header-overlay-ground)"}},children:h})}export{O as default,N as resolveStickyMode};
|
|
@@ -24,4 +24,4 @@ export interface CollectionCardProps {
|
|
|
24
24
|
imageLabel?: string;
|
|
25
25
|
price?: string;
|
|
26
26
|
}
|
|
27
|
-
export default function CollectionCard({ tag, name, desc, href, imageSrc, imageLabel, price, }: CollectionCardProps): import("react").
|
|
27
|
+
export default function CollectionCard({ tag, name, desc, href, imageSrc, imageLabel, price, }: CollectionCardProps): import("react").ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as
|
|
1
|
+
"use client";import{jsx as e,jsxs as l}from"react/jsx-runtime";import{createContext as C,useContext as _}from"react";import N from"next/link";import E from"efficient-web-builder/render/components/Placeholder";import{SIZE_STEP_OF_ROLE as k}from"efficient-web-builder/format/lib/fonts";import{COLLECTION_CARD_REGIONS as T,COLLECTION_CARD_TEXT_SIZE as r}from"efficient-web-builder/format/lib/sections/collection-card-text-regions";import{TEXT_REGION_ATTR as O,regionStyle as S,textRegionPartKey as I}from"efficient-web-builder/format/lib/sections/text-regions";import{renderGold as c,renderHeadline as L,splitParagraphs as R}from"efficient-web-builder/render/components/goldPhrases";import{absolutizeApiUrl as $}from"efficient-web-builder/render/lib/media";import{useTakeViewHide as P,withViewHide as j}from"efficient-web-builder/render/components/ViewHideRoot";function z(i){return $(i)??void 0}const A=C({}),J=3;function D({tag:i,name:n,desc:m,href:f,imageSrc:g,imageLabel:x,price:d}){const{showPrice:u,cardStyle:p,partStyles:h,editing:w}=_(A),b=p==="bordered"?" border border-line":p==="shadow"?" shadow-[0_8px_30px_rgba(0,0,0,0.12)]":"",v=z(g),s=P(),o=t=>w?{[O]:t}:{},a=t=>S(h?.[I(t)]?.role,T[t],k);return s.scope(l(N,{href:f||"#",className:j(`sf-card group relative block w-full min-w-0 overflow-hidden bg-surface-2${b}`,s.className),...s.attrs,children:[e("div",{className:"relative z-0 aspect-[4/5] transition-transform duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)] group-hover:scale-[1.04]",children:e(E,{label:x||"collection.jpg",src:v})}),e("div",{className:"pointer-events-none absolute inset-0 z-[1] [background:rgba(0,0,0,0.4)] group-hover:[background:rgba(0,0,0,0.3)] max-view-wide:hidden",style:{transition:"none"}}),l("div",{className:"absolute inset-x-8 bottom-8 z-[2] flex flex-col gap-3 text-overlay-fg max-view-wide:relative max-view-wide:inset-auto max-view-wide:p-6 max-view-wide:gap-3 max-view-wide:text-fg",children:[i&&e("span",{...o("tag"),style:a("tag"),className:`font-mono ${r.tag} uppercase tracking-[0.25em] opacity-70`,children:c(i)}),n&&e("h3",{...o("name"),style:a("name"),className:`font-heading2 ${r.name} font-medium leading-none tracking-[-0.03em] ${r.namePhone}`,children:typeof n=="string"?L(n,!1):n}),m&&R(m).map((t,y)=>e("p",{...o("body"),style:a("body"),className:`max-w-[420px] ${r.body} leading-[1.5] opacity-80`,children:c(t)},y)),u&&d&&e("span",{...o("price"),style:a("price"),className:`font-mono ${r.price} tracking-[0.05em] text-accent`,children:c(d)}),l("span",{...o("link"),style:a("link"),className:`mt-2 inline-flex items-center gap-3 font-mono ${r.link} uppercase tracking-[0.2em]`,children:["Explore",e("span",{className:"transition-transform group-hover:translate-x-[3px]","aria-hidden":!0,children:"→"})]})]})]}))}export{J as COLLECTION_CARD_SEED_COUNT,A as CollectionCardStyleContext,D as default,z as resolveCategoryImage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as n,jsxs as i,Fragment as Y}from"react/jsx-runtime";import ee from"./SectionBand.js";import{useEffect as _,useState as q}from"react";import{useRootIsDark as ne}from"efficient-shell/theme";import{OTHER_REASON_ID as h}from"efficient-web-builder/format/lib/content/contact";import{FormFieldInput as te,FormHoneypot as ae,successMessageFor as re,useBoundForm as le,useFormSubmission as oe}from"./formSubmission.js";import ie from"efficient-web-builder/render/components/SectionEyebrow";import se,{FieldCaption as ce}from"./WebFormField.js";import{scrollBehavior as de}from"efficient-web-builder/render/components/useReducedMotion";import{renderChrome as T,renderGold as $,renderHeadline as me,splitParagraphs as pe}from"efficient-web-builder/render/components/goldPhrases";import{say as j}from"efficient-web-builder/format/lib/editor-words";import{phoneHref as fe}from"efficient-web-builder/format/lib/links/phone-href";import{PART_ROW_ATTR as ue,encodePartRow as be}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)]"},E={label:"Label",value:"Value",sub:"Sub line"};function xe(s,r){return s.map((l,a)=>r?{...l,at:a,label:l.label||j(E.label),value:l.value||j(E.value),sub:l.sub||j(E.sub)}:{...l,at:a}).filter(l=>!l.hidden)}function V(s,r){return r?{[ue]:be("channels",s.at)}:{}}function X(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 fe(r)}function ge(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 he(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 A=`border-b border-line bg-transparent py-4 font-display ${t.bodyLarge} tracking-[0.01em] text-fg outline-none transition-colors focus:border-accent`;function ve({routingNumber:s,routingTagline:r,groups:l,formNumber:a,formHeading:p,metaLines:b,showOther:x=!0,otherLabel:c="Other",otherNoteTitle:f,otherNoteBody:S,buttonText:H,consent:M,channels:B,formSlug:O,form:D,editing:v,initialActiveId:y,onActiveChange:L,reasonExtras:W}){const w=[...l.map(e=>e.id),...x?[h]:[]],G=y&&w.includes(y)?y:w[0]??h,[g,C]=q(G);_(()=>{w.includes(g)||C(w[0]??h)},[w.join("|")]),_(()=>{y&&w.includes(y)&&C(y)},[y]);const k=le(O,D),d=oe({form:k,formSlug:O,editing:v}),u=he(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),L?.(e)};_(()=>{if(!u||d.valueOf(u.key))return;const e=u.optionFor(g);e!==void 0&&d.set(u.key,e)},[u?.key]);const[P,z]=q(null),N=xe(B??[],!!v),U=e=>P!==null?!e.groupId&&e.value===P:e.groupId===g,Z=k===void 0,I=!!k||!!v,J=!ne({whenUnset:!0}),K=l.length>0||!!v;return i(Y,{children:[K&&i(ee,{className:"border-b border-line py-[60px]",style:J?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(ie,{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:de(),block:"start"})},className:["flex min-h-[240px] cursor-pointer flex-col gap-4 px-8 py-10 text-left transition-colors",o?"bg-surface outline outline-2 -outline-offset-2 outline-accent":"bg-bg hover:bg-surface"].join(" "),children:[e.eyebrow&&n("span",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.24em] text-accent`,children:e.eyebrow}),n("h3",{className:`whitespace-pre-line font-heading3 ${t.headingSmall2} font-medium uppercase leading-[1.05] tracking-[-0.02em]`,children:e.title}),e.copy&&n("p",{className:`mt-auto font-display ${t.bodySmall} leading-[1.5] text-fg-dim`,children:e.copy}),e.response&&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)&&n("section",{id:"contact-form",className:"scroll-mt-[80px] border-b border-line py-20 max-view-desktop:py-[60px]",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:me(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:re(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(se,{label:e.label,required:e.required,className:e.type==="textarea"||e.type==="checkbox"?"col-span-2 max-[700px]:col-span-1":void 0,children:n(te,{field:e,value: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),L?.(m))},className:e.type==="textarea"?`${A} min-h-[140px] resize-y leading-[1.5]`:e.type==="checkbox"?"size-4 self-start accent-accent":A})},e.key)),i("div",{className:"col-span-2 flex flex-col gap-2 max-[700px]:col-span-1",children:[n(ce,{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:T(c)})]})]}),W?.(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&&pe(S).map((e,o)=>n("p",{className:`font-display ${t.body} leading-[1.55] text-fg-dim`,children:$(e)},o))]}),n(ae,{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…":H?T(H):"Send Message →"})]})]}):n("p",{className:`font-mono ${t.labelSmall} uppercase tracking-[0.22em] text-fg-dim`,children:Z?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=U(e),F=!!!e.groupId;return i("div",{...V(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:Q=>Q.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:X(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:ge(N).map((e,o)=>{const m=!!e.groupId;return i("div",{...V(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:X(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{E as CHANNEL_HINTS,X as channelHref,ve as default,xe as drawnChannels,A as fieldClass,ge as mergeChannelsForPhone,he as topicFieldOf};
|
|
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};
|
|
@@ -5,6 +5,7 @@ export default function EuTyreLabels({ labels, num, capped, }: {
|
|
|
5
5
|
num: string;
|
|
6
6
|
capped?: boolean;
|
|
7
7
|
}): import("react").JSX.Element | null;
|
|
8
|
-
export declare function EuTyreLabelGrades({ labels }: {
|
|
8
|
+
export declare function EuTyreLabelGrades({ labels, viewHide }: {
|
|
9
9
|
labels: EuTyreLabel[];
|
|
10
|
+
viewHide?: string;
|
|
10
11
|
}): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as
|
|
1
|
+
import{jsx as e,jsxs as i,Fragment as a}from"react/jsx-runtime";import s from"./EuTyreLabelCard.js";import n from"./SectionBand.js";import d from"efficient-web-builder/render/components/SectionHeader";import l from"./SectionFootnote.js";import{HideTaker as m}from"efficient-web-builder/render/components/ViewHideRoot";const c="border-b border-line py-[120px] max-view-desktop:py-20";function p({labels:r,num:o,capped:t=!0}){return r.length===0?null:i(n,{className:c,capped:t,children:[e(d,{num:o,title:"EU tyre *label.*",description:"The registered grades for this tyre, read live from the EU product registry.",accent:!0}),e(u,{labels:r})]})}function u({labels:r,viewHide:o=""}){return i(a,{children:[e(m,{className:"grid grid-cols-3 gap-2 max-view-desktop:grid-cols-2 max-view-tablet:grid-cols-1",children:r.map(t=>e(s,{label:t},t.registrationNumber))}),e(l,{text:"Source: *EPREL*, the European Product Registry for Energy Labelling. Grades are shown as registered; the registry is the authority.",viewHide:o})]})}export{c as EU_LABEL_BAND,u as EuTyreLabelGrades,p as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as n,jsxs as o}from"react/jsx-runtime";import{useState as K}from"react";import{TAB_PILLS as z}from"../lib/content/tab-strip.js";import{useScopeClass as xe}from"../lib/use-scope-class.js";import{containerGapProps as be}from"efficient-web-builder/format/lib/content/container-gap";import ve from"efficient-web-builder/render/components/SectionHeader";import v from"efficient-web-builder/render/components/PostCard";import Ne from"efficient-web-builder/render/components/Placeholder";import{SiteLink as k}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 y}from"efficient-web-builder/format/lib/editor-words";import{cardImageShapeTokens as ye}from"efficient-web-builder/format/lib/content/card-image-shape";import{SITE_COLUMN as H}from"efficient-web-builder/format/lib/content/page-width";import{fillRowCss as Ee}from"../lib/sections/fill-row.js";import{headIsEmpty as Te,ownPadding as we}from"../lib/sections/own-padding.js";const Ae=4;function ot(t){if(!Array.isArray(t))return;const a=t.filter(e=>typeof e=="string"&&!!e.trim()).map(e=>e.trim()).slice(0,Ae);return a.length?a:void 0}function it(t){if(!t||typeof t!="object"||Array.isArray(t))return;const a={};for(const[e,s]of Object.entries(t))if(e.trim()){if(typeof s=="string")s.trim()&&(a[e]=s.trim());else if(Array.isArray(s)){const l=s.filter(c=>typeof c=="string"&&!!c.trim()).map(c=>c.trim());l.length&&(a[e]=l)}}return Object.keys(a).length?a:void 0}function W(t,a){const e=t.facets?.[a];return e===void 0?[]:typeof e=="string"?[e]:e}const _e=new Intl.Collator("en",{numeric:!0,sensitivity:"base"});function Le(t){const a=[],e=new Map;for(const s of t)for(const l of Object.keys(s.facets??{})){e.has(l)||(a.push(l),e.set(l,new Set));for(const c of W(s,l))e.get(l).add(c)}return a.map(s=>({label:s,values:[...e.get(s)].sort(_e.compare)}))}function Ce(t,a){return Object.entries(a).every(([e,s])=>s===""||W(t,e).includes(s))}const X=3,J="featured",q="tabs",Q="portrait",h="spread",Z="count",ct=[{label:"Even grid",value:"even"},{label:"Featured first",value:J},{label:"Tabs",value:q},{label:"Photo cards",value:Q},{label:"Staggered spread",value:h},{label:"Count",value:Z}],Se=[Q,h],dt="even",R={min:2,max:11,step:1,fallback:7,unit:"of 12"},Oe="bottom-left",$e=55,Fe="bottom";function ze(t){const a=typeof t=="number"?t:Number.parseFloat(String(t??"")),e=Number.isFinite(a)?Math.min(R.max,Math.max(R.min,Math.round(a))):R.fallback;return`${e}fr ${12-e}fr`}const ee={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"},te={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"},ke="Find by name",Re="Nobody by that name.",Ie="Nobody matches.",Me="Any";function Ue(t,a){const e=l=>l.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLocaleLowerCase().trim(),s=e(a);return s===""||e(t).includes(s)}function ne({typed:t,onType:a,wide:e=!1}){return o("label",{className:`flex max-w-[360px] flex-col gap-1.5${e?" w-full":""}`,children:[n("span",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.18em] text-fg-dim",children:ke}),n("input",{type:"search",value:t,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 ae({tags:t}){return n("ul",{"aria-label":"Details",className:"flex gap-1.5 overflow-hidden",children:t.map((a,e)=>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}-${e}`))})}function De({card:t,scaffold:a,lower:e=!1}){return o(k,{href:t.href||"#",className:`sf-card group relative isolate flex aspect-[3/4] overflow-hidden bg-surface${e?" 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(Ne,{label:`card-${t.slug}`,src:t.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%)"}}),t.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(t.meta)}),o("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(t.title,!1)}),t.dateLabel&&n("p",{className:"font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.16em] text-accent",children:g(t.dateLabel)}),t.tags&&t.tags.length>0&&n(ae,{tags:t.tags}),t.excerpt&&n("p",{className:"line-clamp-2 text-[length:var(--size-body,14px)] leading-[1.45] text-fg-dim",children:g(t.excerpt)})]})]})}function Pe({cards:t,scaffold:a}){return n("nav",{"aria-label":"Days",className:z.nav,children:n("ul",{className:z.list,children:t.map((e,s)=>{const l=!!e.meta;return n("li",{children:o(k,{href:e.href||"#","aria-current":l?"page":void 0,"aria-disabled":a||void 0,tabIndex:a?-1:void 0,className:z.tab(l),children:[n("span",{className:"font-heading3 text-[length:var(--size-body,15px)] leading-[1.2]",children:N(e.title,!1)}),e.excerpt&&n("span",{className:`font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] ${l?"opacity-80":"text-fg-dim"}`,children:g(e.excerpt)})]})},`${e.slug}-${s}`)})})})}function je({count:t,words:a,href:e}){const s=o("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:t}),a!==void 0&&n("span",{className:"font-mono text-[length:var(--size-label,13px)] uppercase tracking-[0.2em] text-fg",children:a})]});return e?n(k,{href:e,className:"inline-flex hover:opacity-85",children:s}):s}const Be="relative z-[2] bg-bg py-[120px] max-view-wide:py-[70px]",Ve="relative z-[2] bg-bg pt-0 pb-[120px] max-view-wide:pt-0 max-view-wide:pb-[70px]",Ye="relative z-[2] bg-bg py-[32px] max-view-wide:py-[24px]";function Ge({num:t,title:a,link:e,posts:s,columns:l,limit:c,showAll:E=!1,editing:T=!1,cardImage:se,gap:re,gapPhone:le,layout:p,featuredWidth:oe,listCover:ie=!0,featuredDarken:ce,omitHead:x=!1,sample:w,nameFilter:de=!1,padTop:fe,padBottom:pe}){const[A,I]=K(""),[M,me]=K({}),_=xe("ev"),U=s??[],D=E?U.length:typeof c=="number"&&c>0?c:X,L=U.slice(0,D),m=T&&L.length===0;if(L.length===0&&!T)return null;const P=E?X:D,d=m?w?.length?w.slice(0,E?w.length:P):Array.from({length:P},(r,i)=>({slug:`placeholder-${i}`,title:y("Blog post title"),excerpt:y("A short summary of the post appears here."),cover:"",meta:y("Journal"),dateLabel:y("Date")})):L,f=be("Events",re,"both",le),C=p===J&&d.length>1,ge=ze(oe),S=p===q,j=p===Z,B=Se.includes(p??""),O=de&&!S&&!j&&!C,$=O?Le(d):[],b=O?d.filter(r=>Ue(r.title,A)&&Ce(r,M)):d,F=we(fe,pe),ue=!T&&Te(t,a,e?.text),V=p===h?"grid-cols-3 max-view-wide:grid-cols-2":te[Math.min(4,Math.max(2,l??3))]??te[3],Y=ee[Math.min(4,Math.max(1,l??3))]??ee[3],G=S||C||p===h?"":Ee(_,B?V:Y,{cards:b.length});return j?n("section",{className:Ye,style:Object.keys(F).length?F:void 0,children:n("div",{className:H,children:n(je,{count:d.length,words:x||a===void 0?void 0:N(a,!1),href:x?void 0:e?.href})})}):n("section",{className:x?Ve:Be,style:{...ye(se),...F},children:o("div",{className:H,children:[x||ue?null:n(ve,{num:t!==void 0?g(t):void 0,title:a!==void 0?N(a,!1):void 0,link:e?{text:g(e.text),href:e.href}:void 0}),O&&o("div",{className:"mb-6 flex flex-col gap-2",children:[$.length===0?n(ne,{typed:A,onType:I}):o("div",{className:"flex flex-wrap items-end gap-3",children:[n(ne,{typed:A,onType:I,wide:!0}),$.map(({label:r,values:i})=>o("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}),o("select",{value:M[r]??"",onChange:u=>me(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:Me}),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?Re:Ie})]}),G&&n("style",{children:G}),S?n(Pe,{cards:d,scaffold:m}):B?n("div",{className:`${_} sf-card-grid grid${f.className} ${V}`,style:f.style,children:b.map((r,i)=>n(De,{card:r,scaffold:m,lower:p===h&&i%3===1},`${r.slug}-${i}`))}):C?o("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":ge},children:[n(v,{post:d[0],href:d[0].href,scaffold:m,layout:"cover",darken:ce??$e,darkenStyle:Fe,placement:Oe},`${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:ie},`${r.slug}-${i+1}`))})]}):n("div",{className:`${_} sf-card-grid grid${f.className} ${Y}`,style:f.style,children:b.map((r,i)=>r.tags&&r.tags.length>0?o("div",{className:"flex flex-col gap-2",children:[n(v,{post:r,href:r.href,scaffold:m}),n(ae,{tags:r.tags})]},`${r.slug}-${i}`):n(v,{post:r,href:r.href,scaffold:m},`${r.slug}-${i}`))})]})})}export{R as EVENTS_FEATURED_WIDTH,ct as EVENTS_LAYOUTS,Z as EVENTS_LAYOUT_COUNT,dt as EVENTS_LAYOUT_FALLBACK,J as EVENTS_LAYOUT_FEATURED,Q as EVENTS_LAYOUT_PORTRAIT,h as EVENTS_LAYOUT_SPREAD,q as EVENTS_LAYOUT_TABS,Se as EVENTS_PHOTO_LAYOUTS,Ae as MAX_CARD_TAGS,Ge as default,Le as facetChoices,Ce as matchesFacets,Ue as matchesName,it as readFacets,ot as readTags};
|
|
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,6 +1,5 @@
|
|
|
1
1
|
export interface FooterDividerProps {
|
|
2
2
|
thickness?: number;
|
|
3
3
|
lengthPct?: number;
|
|
4
|
-
hideOnMobile?: boolean;
|
|
5
4
|
}
|
|
6
|
-
export default function FooterDivider({ thickness, lengthPct,
|
|
5
|
+
export default function FooterDivider({ thickness, lengthPct, }: FooterDividerProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";function
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{HideTaker as r}from"efficient-web-builder/render/components/ViewHideRoot";function a({thickness:i=1,lengthPct:l=100}){return e(r,{as:"div",className:"col-span-full w-full basis-full","aria-hidden":"true",children:e("div",{className:"bg-line",style:{height:`${i}px`,width:`${l}%`}})})}export{a as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as t,jsxs as a}from"react/jsx-runtime";import{useState as l}from"react";import{stripMarkup as p}from"efficient-web-builder/format/lib/markup";import{NEWSLETTER_SOURCE as c}from"../lib/newsletter-signup.js";import{useSubscribePopup as u}from"./SubscribePopupContext.js";import{renderChrome as f,renderHeadline as d}from"efficient-web-builder/render/components/goldPhrases";import{HideTaker as x}from"efficient-web-builder/render/components/ViewHideRoot";function b({heading:e,placeholder:i="Email address",buttonLabel:m="Subscribe"}){const{open:s}=u(),[o,n]=l("");return a(x,{as:"div",className:"w-full min-w-0",children:[e?t("h4",{className:"mb-3 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",children:d(e,!1)}):null,a("form",{className:"flex max-w-[320px] flex-wrap items-stretch gap-2",onSubmit:r=>{r.preventDefault(),s({email:o.trim(),source:c.footerSignup})},children:[t("input",{type:"email",placeholder:i,value:o,onChange:r=>n(r.target.value),className:"w-0 min-w-[7rem] flex-1 border border-line bg-transparent px-3 py-2 text-[13px] text-fg placeholder:text-fg-dim/70 focus:border-accent focus:outline-none","aria-label":p(e??"")||"Email address"}),t("button",{type:"submit",className:"shrink-0 border border-btn bg-btn px-4 py-2 text-[13px] font-medium text-btn-ink transition-opacity hover:opacity-90",children:f(m)})]})]})}export{b as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{containerGapProps as
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{containerGapProps as i}from"efficient-web-builder/format/lib/content/container-gap";import{HideTaker as l}from"efficient-web-builder/render/components/ViewHideRoot";const m={start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch"};function c({direction:t="vertical",gap:o,gapPhone:s,align:a="start",content:n}){const e=i("FooterGroup",o,t==="horizontal"?"inline":"block",s);return r(l,{as:"div",className:"min-w-0",children:r(n,{className:`flex ${t==="horizontal"?"flex-row flex-wrap":"flex-col"} ${m[a]}${e.className}`,style:e.style,minEmptyHeight:80})})}export{c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as k}from"react/jsx-runtime";import w from"next/link";import L,{FOOTER_LOGO_PX as N,WORDMARK_FIT_FLOOR_PX as O}from"efficient-web-builder/render/components/Logo";import{useSiteLogo as _}from"efficient-web-builder/render/components/SiteLogoContext";import{renderGold as v}from"efficient-web-builder/render/components/goldPhrases";import{say as F}from"efficient-web-builder/format/lib/editor-words";const
|
|
1
|
+
"use client";import{jsx as e,jsxs as k}from"react/jsx-runtime";import w from"next/link";import L,{FOOTER_LOGO_PX as N,WORDMARK_FIT_FLOOR_PX as O}from"efficient-web-builder/render/components/Logo";import{useSiteLogo as _}from"efficient-web-builder/render/components/SiteLogoContext";import{renderGold as v}from"efficient-web-builder/render/components/goldPhrases";import{say as F}from"efficient-web-builder/format/lib/editor-words";import{HideTaker as P}from"efficient-web-builder/render/components/ViewHideRoot";const j={left:"items-start text-left",center:"items-center text-center",right:"items-end text-right"};function y({tagline:t,widthPct:n=100,align:l="left",reverse:m=!0,color:d=null,padTop:i=0,padRight:o=0,padBottom:s=0,padLeft:a=0,editing:c=!1}){const{src:x,reversedSrc:f,inkIsDark:p,wordmark:g,siteName:r}=_(),u=Math.round(N*(n/100)),h={...i?{paddingTop:i}:{},...o?{paddingRight:o}:{},...s?{paddingBottom:s}:{},...a?{paddingLeft:a}:{}};return k(P,{as:"div",className:`flex min-w-0 flex-col ${j[l]} [container-type:inline-size]`,style:h,children:[e(w,{href:"/","aria-label":r?`${r} home`:"Home",className:"inline-flex max-w-full overflow-x-clip",children:e(L,{variant:"footer",sizePx:u,src:x,reverse:m,color:d,reversedSrc:f,inkIsDark:p,wordmark:g,siteName:r,fitWordmarkToContainer:!0,fitFloorPx:O})}),t?e("p",{className:"mt-4 max-w-[280px] text-[13px] leading-[1.5] text-fg-dim",children:v(t)}):c?e("p",{className:"mt-4 max-w-[280px] text-[13px] italic leading-[1.5] text-fg-dim/60",children:F("Add a short brand tagline →")}):null]})}export{y as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e,Fragment as
|
|
1
|
+
"use client";import{jsx as e,Fragment as F,jsxs as a}from"react/jsx-runtime";import{useCallback as j,useEffect as B,useRef as $,useState as P}from"react";import W from"next/link";import{REPEAT_ATTRIBUTE as Y,REPEAT_INDEX_ATTRIBUTE as z}from"efficient-easel/draw";import G from"./CountrySelect.js";import{MenuPlaceContext as q}from"./MenuLinkBlock.js";import X from"./ThemeToggle.js";import{CardRowContext as J,CardTemplateRows as K}from"efficient-web-builder/render/components/CardRowContext";import{renderChrome as L}from"efficient-web-builder/render/components/goldPhrases";import{UTIL_WORDS as Q}from"./HeaderTools.js";import{usePhoneMenuTools as V}from"efficient-web-builder/render/components/PhoneMenuTools";import{useSearch as Z}from"./SearchContext.js";import{useModalDismiss as ee}from"./useModalDismiss.js";import ne 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 le,FOOTER_MENU_PLACEHOLDER_HINT as ae}from"../lib/content/menu-placeholder.js";import{say as T}from"efficient-web-builder/format/lib/editor-words";import{UNDER_HEADER_SHEET_CLASS as oe}from"../lib/content/header-bar.js";import{isMenuOrphaned as se}from"../lib/menu-source.js";import{legacyBlockAlignOf as ie}from"../lib/content/legacy-block-align.js";import{menuLinkInRange as ce,resolveMenuLinkRange as me}from"../lib/content/menu-row.js";import{TAB_CELLS as I,currentLinkIndex as de}from"../lib/content/tab-strip.js";import{useCurrentPagePath as ue}from"efficient-web-builder/render/lib/site-runtime";import{HideTaker as E}from"efficient-web-builder/render/components/ViewHideRoot";const We="plain",pe="tabs",fe="flex list-none flex-col gap-3 text-[13px]",y="mb-4 font-mono text-[13px] uppercase tracking-[0.2em] text-fg-dim",S="text-[12px] italic text-fg-dim/70",H=(r,n)=>r&&n>0?"border-t border-line pt-3":"",U=r=>({label:r.label??"",href:r.url??""}),he=Array.from({length:te},()=>({label:"",href:""}));function M({owner:r,items:n,place:s,wrap:i,markCurrent:f=!1}){const c=n?n.map(U):he,p=ue(),h=n&&f?de(n.map(b=>b.url??""),p):-1,d=h<0?null:{index:h,href:n[h].url??""};return e(q.Provider,{value:n?d?{...s,current:d}:s:{...s,placeholder:!0},children:e(K,{ownerId:r.id,ownerType:r.type,Template:r.template,rows:c,items:n??void 0,fallback:null,wrapCopy:i,children:b=>b})})}const R=r=>(r.template?.blockCount??0)>0,D="This menu draws no links: its card template is empty. Undo the delete, or delete this Menu and add it again.";function xe({owner:r,items:n,label:s,editing:i,linkAlign:f,linkRange:c,markCurrent:p}){const h=ie(f),d=me(c),b=!!d&&n!==null&&d.to!==void 0&&d.to<n.length,[N,C]=P(!1),k=$(null),x=V(),{open:g}=Z(),u=s||"Menu",o=j(()=>C(!1),[]);ee({active:N,onDismiss:o,scopeRef:k});const A=e(M,{owner:r,items:n,place:{place:"row"},markCurrent:p,wrap:(t,m)=>{const w=n!==null&&d&&!ce(d,m.index+1)?{"data-menu-out":""}:null;return e("li",{className:"",...w,children:t})}}),v=(t,m,w)=>i?{[Y]:`${t}:${w<0?"panel":"dropdown"}`,[z]:`${w+1}.${m.index}`}:null,_=e(M,{owner:r,items:n,place:{place:"panel",onNavigate:o},markCurrent:p,wrap:(t,m)=>a(F,{children:[e("li",{className:"flex min-h-14 items-center border-b border-line",...v(r.id,m,-1),children:t}),n===null?null:(m.item?.dropdown_items??[]).map((w,O)=>e(J.Provider,{value:{...m,row:U(w),item:w},children:e("li",{className:"flex min-h-12 items-center border-b border-line pl-5 text-[14px]",...v(r.id,m,O),children:t})},O))]})}),l=x&&(x.search||x.region||x.account||x.theme)?x:null;return!i&&n!==null&&!R(r)&&!l?null:a(E,{as:"nav",ref:k,"aria-label":u,"data-menu-row":"",...h?{"data-menu-align":h}:null,...b?{"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 text-[13px] uppercase tracking-[0.18em] view-tablet:flex",children:A}),e("button",{type:"button",className:"flex h-11 w-11 items-center justify-center view-tablet:hidden","aria-expanded":N,"aria-label":N?"Close the menu":"Open the menu",onClick:()=>C(t=>!t),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:N?e("path",{d:"M6 6l12 12M18 6L6 18"}):e("path",{d:"M4 7h16M4 12h16M4 17h16"})})}),N?a("div",{role:"dialog","aria-label":u,className:`${oe} 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:_}),l?a("div",{className:"mt-auto flex flex-col gap-4 border-t border-line bg-surface p-5",children:[l.search?a("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(),g()},children:[e(ne,{name:"search",size:18,strokeWidth:1.6,rounded:!0}),Q.search]}):null,l.account?a("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,l.region?a("div",{className:"flex items-center justify-between",children:[e("span",{className:"mono-eyebrow text-fg-dim",children:"Region"}),e(G,{})]}):null,l.theme?a("div",{className:"flex items-center justify-between",children:[e("span",{className:"mono-eyebrow text-fg-dim",children:"Theme"}),e(X,{})]}):null]}):null]}):null]})}function be({owner:r,items:n,label:s,editing:i,markCurrent:f}){return!i&&(n===null||n.length===0||!R(r))?null:e(E,{as:"nav","aria-label":s||"Menu","data-menu-tabs":"",className:"min-w-0",children:e("ul",{className:I.list,children:e(M,{owner:r,items:n,place:{place:"tab"},markCurrent:f,wrap:c=>e("li",{className:I.item,children:c})})})})}function Ne({owner:r,menu:n,heading:s,accordionMobile:i=!1,showDividers:f=!1,editing:c=!1,layout:p="column",linkAlign:h,linkRange:d,menuStyle:b,currentPage:N}){const C=p==="row"&&N===!0,{live:k,ready:x}=re(),g=se({id:n?.id,handle:n?.handle,editing:c,ready:x,live:k}),u=g?[]:n?.items??[],o=s||n?.name||"",[A,v]=P(!1);if(B(()=>{if(!i)return;const l=window.matchMedia("(max-width: 800px)"),t=()=>v(l.matches);return t(),l.addEventListener("change",t),()=>l.removeEventListener("change",t)},[i]),p==="row"&&c&&!g&&u.length>0&&!R(r))return e(E,{as:"p",className:S,children:T(D)});if(p==="row"&&b===pe)return e(be,{owner:r,items:g?null:u,label:o,editing:c,markCurrent:C});if(p==="row")return e(xe,{owner:r,items:g?null:u,label:o,editing:c,linkAlign:h,linkRange:d,markCurrent:C});const _=l=>e("ul",{className:fe,children:e(M,{owner:r,items:l,place:{place:"column"},wrap:(t,m)=>e("li",{className:l?H(f,m.index):`text-fg ${H(f,m.index)}`,children:t})})});return g?a(E,{as:"div",className:"min-w-0",children:[e("h4",{className:y,children:s?L(s):T(le)}),_(null),e("p",{className:`mt-3 ${S}`,children:T(ae)})]}):u.length===0||!R(r)?a(E,{as:"div",className:"min-w-0",children:[o?e("h4",{className:y,children:L(o)}):null,c?e("p",{className:S,children:u.length===0?T("This menu has no links yet — add them in {place}.",{place:T("Storefront → Menus")}):T(D)}):null]}):i&&A?a(E,{as:"details",className:"min-w-0 border-b border-line",children:[a("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:[L(o),e("span",{"aria-hidden":!0,children:"+"})]}),e("div",{className:"pb-3",children:_(u)})]}):a(E,{as:"div",className:"min-w-0",children:[o?e("h4",{className:y,children:L(o)}):null,_(u)]})}export{We as MENU_STYLE_PLAIN,pe as MENU_STYLE_TABS,Ne as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as r,jsxs as a}from"react/jsx-runtime";import m from"./QrCode.js";import{MESSAGING_WORDS as o}from"../lib/sections/messaging.js";function d({heading:l,channels:t}){const s=t.filter(e=>e.qr),p=t.filter(e=>!e.qr&&e.handle);return!s.length&&!p.length?null:a("div",
|
|
1
|
+
import{jsx as r,jsxs as a}from"react/jsx-runtime";import m from"./QrCode.js";import{MESSAGING_WORDS as o}from"../lib/sections/messaging.js";import{HideTaker as i}from"efficient-web-builder/render/components/ViewHideRoot";function d({heading:l,channels:t}){const s=t.filter(e=>e.qr),p=t.filter(e=>!e.qr&&e.handle);return!s.length&&!p.length?null:a(i,{as:"div",className:"flex flex-col gap-2.5 text-[13px]","data-footer-messaging":"",children:[l&&r("p",{children:l}),s.length>0&&r("ul",{className:"flex flex-wrap gap-x-4 gap-y-3","aria-label":l||void 0,children:s.map(e=>a("li",{className:"flex w-[72px] flex-col items-center gap-1.5 md:w-[88px]",children:[r(m,{text:e.qr,label:o.qrLabel(e.name,e.handle),className:"aspect-square w-full rounded-sm"}),e.href?a("a",{href:e.href,target:"_blank",rel:"noopener noreferrer",className:"text-[12px] underline underline-offset-4",children:[e.name,a("span",{className:"sr-only",children:[" ",o.opensApp]})]}):r("span",{className:"text-[12px]",children:e.name})]},e.app))}),p.map(e=>a("p",{children:[e.name," ID ",r("span",{className:"break-all",children:e.handle})]},e.app))]})}export{d as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as
|
|
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{legacyBlockAlignOf as u}from"../lib/content/legacy-block-align.js";import{HideTaker as m}from"efficient-web-builder/render/components/ViewHideRoot";const s={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(m,{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}=s[n]??s.sm;return c(m,{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 a,jsxs as P}from"react/jsx-runtime";import{useContext as G,useEffect as
|
|
1
|
+
"use client";import{jsx as a,jsxs as P}from"react/jsx-runtime";import{useContext as G,useEffect as H,useRef as I,useState as C}from"react";import{PublishedFooterContext as N}from"efficient-web-builder/render/components/PublishedFooterContext";import{usePreviewDevice as U}from"efficient-easel/screen/components/PreviewDeviceContext";import q from"./LegalLine.js";import{LOGO_FILL_DEFAULT as K,LOGO_ROW_FILL_DEFAULT as J,normalizeFooterColumns as Q}from"efficient-web-builder/format/lib/content/footer";import{viewTierForWidth as V}from"efficient-easel/screen/lib/content/view-tiers";import{chromeWidthStyle as X,resolveChromeWidth as Y}from"efficient-web-builder/format/lib/content/page-width";import{HideTaker as Z}from"efficient-web-builder/render/components/ViewHideRoot";const F={1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-4",5:"grid-cols-5",6:"grid-cols-6"},ee={1:"view-tablet:grid-cols-1",2:"view-tablet:grid-cols-2",3:"view-tablet:grid-cols-3",4:"view-tablet:grid-cols-4",5:"view-tablet:grid-cols-5",6:"view-tablet:grid-cols-6"},oe={1:"view-desktop:grid-cols-1",2:"view-desktop:grid-cols-2",3:"view-desktop:grid-cols-3",4:"view-desktop:grid-cols-4",5:"view-desktop:grid-cols-5",6:"view-desktop:grid-cols-6"};function te({blocks:O,editing:e=!1,width:S,columns:_,logoFill:E,logoRowFill:R}){const l=G(N),{desktop:i,tablet:c,mobile:n}=Q(_),{desktop:m,tablet:p,mobile:u}={...K,...E},{desktop:f,tablet:b,mobile:g}={...J,...R},t=U(),D=e?F[t==="desktop"?i:t==="tablet"?c:n]:`${F[n]} ${ee[c]} ${oe[i]}`,w=I(null),[y,M]=C(1),[W,$]=C(!1);if(H(()=>{if(!e&&!l)return;const s=w.current;if(!s)return;const v=()=>{const o=s.querySelector(".footer-block-grid");if(!o)return;const r=e?t:V(window.innerWidth),L=r==="desktop"?f:r==="tablet"?b:g;$(L);const z=r==="desktop"?m:r==="tablet"?p:u,T=getComputedStyle(o).gridTemplateColumns.split(" ").filter(Boolean).length-1,B=Math.max(o.childElementCount-1,0);M(!L&&z&&T>=1?Math.max(Math.ceil(B/T),1):1)};let d;const h=()=>{clearTimeout(d),d=setTimeout(v,0)},A=[0,80,250,600].map(o=>setTimeout(v,o)),k=new MutationObserver(h);k.observe(s,{childList:!0,subtree:!0});const x=new ResizeObserver(h);return x.observe(s),()=>{clearTimeout(d),A.forEach(clearTimeout),k.disconnect(),x.disconnect()}},[i,c,n,e,l,t,m,p,u,f,b,g]),!e&&!l)return null;const j=X(Y(S))??void 0;return a(Z,{as:"footer",ref:w,className:`${e?"sf-theme-surfaces text-fg ":""}border-t border-line bg-bg px-[var(--sf-site-gutter,40px)] pb-10 pt-20 max-view-wide:px-[min(20px,var(--sf-site-gutter,40px))] max-view-wide:pt-14`,style:{"--footer-logo-rows":y,"--footer-logo-col":W?"1 / -1":"1"},children:P("div",{style:j,children:[a(O,{className:`footer-block-grid mb-[60px] grid items-start gap-x-10 gap-y-12 ${D}`,minEmptyHeight:160}),a(q,{})]})})}export{te as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as e}from"react/jsx-runtime";import{useSiteSocialLinks as
|
|
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{legacyBlockAlignOf as g}from"../lib/content/legacy-block-align.js";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(),o=L(k(d));if(o.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 a=t[n]??t.medium,f={gap:Math.min(A,Math.max(S,Number.isFinite(i)?i:0)),"--social-mark":`${a}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:o.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:a})})},r))})}export{t as SOCIAL_ICON_PX,I as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as
|
|
1
|
+
import{jsx as e,jsxs as i}from"react/jsx-runtime";import{Fragment as p}from"react";import{renderGold as m}from"efficient-web-builder/render/components/goldPhrases";import{say as c}from"efficient-web-builder/format/lib/editor-words";import{HideTaker as s}from"efficient-web-builder/render/components/ViewHideRoot";const u={sm:"text-[12px]",md:"text-[13px]",lg:"text-[15px]"};function g({text:l,size:n="md",tone:f="default",editing:d=!1,lines:t}){const r=`${u[n]} leading-[1.5] ${f==="dim"?"text-fg-dim":"text-fg"}`;if(t)return t.length?e(s,{as:"p",className:r,children:t.map((x,a)=>i(p,{children:[a>0&&e("br",{}),m(x)]},a))}):null;const o=l||(d?c("Add a line of footer text."):"");return o?e(s,{as:"p",className:r,children:m(o)}):null}export{g as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useState as k}from"react";import j from"next/image";import
|
|
1
|
+
"use client";import{jsx as t,jsxs as n}from"react/jsx-runtime";import{useState as k}from"react";import j from"next/image";import $ from"efficient-web-builder/render/components/Placeholder";import{withRMark as g}from"efficient-web-builder/render/components/RMark";import{galleryCaptionIsBelow as S,galleryCardRatioClass as T}from"efficient-web-builder/format/lib/content/gallery-card-layout";import{partDisplayClass as _}from"efficient-web-builder/format/lib/content/part-display";import{PART_STYLE_KIND_ATTR as R,PART_STYLE_OWNER_ATTR as A}from"efficient-web-builder/render/lib/document/text-parts";import C from"efficient-web-builder/render/components/PartStyledKind";function E({build:e,hiddenMobile:d,alwaysShowOverlay:s,forceHover:l,index:c,total:m,ratio:v,captionPlace:u,display:w,displayPhone:y,styleOwner:p,editing:h=!1}){const a=o=>_(w,y,o),i=o=>h&&p?{[A]:p,[R]:`@${o}`}:{},r=(o,x)=>!h&&p?t(C,{kind:`@${o}`,shared:!0,children:x}):x,[b,N]=k(!1),z=S(u),f=n("div",{className:["sf-card group relative overflow-hidden bg-surface-2",T(v),d?"max-view-wide:hidden":""].join(" "),children:[n("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",l?"scale-[1.06] opacity-0 [filter:brightness(0.5)]":"group-hover:scale-[1.06] group-hover:opacity-0 group-hover:[filter:brightness(0.5)]"].join(" "),children:[t($,{label:e.imageLabel,src:e.imageSrc}),!s&&t("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.35)"}})]}),t("div",{className:["absolute inset-0 z-[1] flex items-center justify-center transition-[transform,filter,opacity] duration-700 [transition-timing-function:cubic-bezier(.2,.6,.2,1)]",l?"opacity-100 scale-[1.06] [filter:brightness(0.5)]":"opacity-0 group-hover:scale-[1.06] group-hover:opacity-100 group-hover:[filter:brightness(0.5)]"].join(" "),style:{background:"var(--site-surface)"},children:e.detailSrc&&t(j,{src:e.detailSrc,alt:"",fill:!0,sizes:"(max-width: 800px) 100vw, (max-width: 1500px) 33vw, 25vw",loading:"lazy",className:"absolute inset-0 z-[3] object-cover",style:{display:b?"none":"block"},onError:()=>N(!0)})}),(e.process||c!=null&&m!=null)&&n("div",{className:"pointer-events-none absolute top-3 left-3 right-3 z-[3] flex items-baseline gap-2 max-view-wide:top-2.5 max-view-wide:left-2.5 max-view-wide:right-2.5",children:[e.process&&t("span",{...i("tag"),className:["min-w-0 truncate font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] text-accent",a("tag"),"transition-opacity duration-300 ease-out",s||l?"opacity-100":"opacity-0 group-hover:opacity-100 max-view-wide:opacity-100"].join(" "),children:r("tag",g(e.process))}),c!=null&&m!=null&&t("span",{...i("number"),className:`ml-auto shrink-0 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.24em] ${a("number")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:r("number",`${String(c).padStart(2,"0")} / ${String(m).padStart(2,"0")}`)})]}),t("div",{className:["absolute inset-0 z-[2]","transition-[opacity,transform] duration-300 ease-out",s||l?"opacity-100 translate-y-0":"opacity-0 translate-y-2 group-hover:opacity-100 group-hover:translate-y-0 max-view-wide:opacity-100 max-view-wide:translate-y-0"].join(" "),style:{color:"var(--overlay-fg)",background:s?"linear-gradient(180deg, rgba(10,10,10,.55) 0%, transparent 35%, transparent 55%, rgba(10,10,10,.92) 100%)":"linear-gradient(180deg, transparent 40%, rgba(10,10,10,.85) 100%)"},children:n("div",{className:"absolute inset-x-0 bottom-0 top-9 flex flex-col justify-end gap-1 overflow-hidden p-6 max-view-wide:top-8 max-view-wide:p-3.5",children:[e.car&&t("div",{...i("eyebrow"),className:`truncate font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.2em] text-accent max-view-wide:text-[length:var(--size-label,11px)] max-view-wide:tracking-[0.15em] ${a("eyebrow")}`.trim(),children:r("eyebrow",e.car)}),e.wheel&&t("div",{...i("title"),className:`font-heading3 text-[length:var(--size-headingSmall,22px)] font-medium leading-[1.05] tracking-[-0.02em] max-view-wide:text-[length:var(--size-body,16px)] ${s?"uppercase ":""}${a("title")}`.trim(),children:r("title",e.wheel)}),e.finish&&t("div",{...i("meta"),className:`mt-1.5 flex gap-3.5 font-mono text-[length:var(--size-label,12px)] uppercase tracking-[0.12em] ${a("meta")}`.trim(),style:{color:"rgba(245,241,232,0.7)"},children:t("span",{children:r("meta",g(e.finish))})})]})})]});return z?n("div",{className:d?"max-view-wide:hidden":"",children:[f,n("div",{className:"bg-surface px-3.5 pt-3 pb-3.5",children:[e.wheel&&t("div",{...i("title"),className:`font-display text-[length:var(--size-body,15px)] font-medium leading-[1.25] tracking-[-0.01em] text-fg ${a("title")}`.trim(),children:r("title",e.wheel)}),(e.finish||e.car)&&t("div",{...i(e.finish?"meta":"eyebrow"),className:`mt-0.5 font-mono text-[length:var(--size-label,11px)] uppercase tracking-[0.14em] text-fg-dim ${a(e.finish?"meta":"eyebrow")}`.trim(),children:r(e.finish?"meta":"eyebrow",g(e.finish||e.car))})]})]}):f}export{E as default};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { SlotComponent } from "efficient-easel/blocks";
|
|
2
|
+
import type { ProductPictureTile } from "../lib/sections/product-pictures.js";
|
|
2
3
|
export interface GalleryGridProps {
|
|
3
4
|
omitHead?: boolean;
|
|
4
5
|
padTop?: number;
|
|
5
6
|
padBottom?: number;
|
|
6
7
|
editing?: boolean;
|
|
7
8
|
items?: SlotComponent;
|
|
9
|
+
sourced?: readonly ProductPictureTile[];
|
|
8
10
|
num?: string;
|
|
9
11
|
title?: string;
|
|
10
12
|
linkText?: string;
|
|
@@ -21,4 +23,4 @@ export interface GalleryGridProps {
|
|
|
21
23
|
gap?: number | string;
|
|
22
24
|
gapPhone?: unknown;
|
|
23
25
|
}
|
|
24
|
-
export default function GalleryGrid({ items: Items, num, title, linkText, linkHref, galleryHref, submitHref, previewHover, display, displayPhone, styleOwner, layout, columns, columnsMobile, gap: gapProp, gapPhone, omitHead, padTop, padBottom, editing, }: GalleryGridProps): import("react").JSX.Element;
|
|
26
|
+
export default function GalleryGrid({ items: Items, sourced, num, title, linkText, linkHref, galleryHref, submitHref, previewHover, display, displayPhone, styleOwner, layout, columns, columnsMobile, gap: gapProp, gapPhone, omitHead, padTop, padBottom, editing, }: GalleryGridProps): import("react").JSX.Element;
|