efficient-storefront-blocks 0.25.0 → 0.26.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.
Files changed (31) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/README.md +53 -5
  3. package/dist/chunks/{EditorPreviewCheckout-URFSPLP6.js → EditorPreviewCheckout-74ZL6KSE.js} +1 -1
  4. package/dist/chunks/PreviewFooter-IE25M3OO.js +1 -0
  5. package/dist/chunks/SiteEditorProvider-A24N444B.js +1 -0
  6. package/dist/chunks/chunk-4CEJDQT6.js +154 -0
  7. package/dist/chunks/{chunk-5FWFXNTA.js → chunk-AT54VAHN.js} +1 -1
  8. package/dist/chunks/chunk-JMPXWSWW.js +16 -0
  9. package/dist/chunks/chunk-TPQS7R54.js +1 -0
  10. package/dist/chunks/chunk-TZQUVG3U.js +230 -0
  11. package/dist/chunks/{fitment-data-QCRJYMQI.js → fitment-data-D2XKX2FH.js} +1 -1
  12. package/dist/chunks/{render-client-GS5UA2Q7.js → render-client-7TWSIUW2.js} +1 -1
  13. package/dist/editor.css +1 -1
  14. package/dist/index.d.ts +27 -0
  15. package/dist/index.js +124 -314
  16. package/dist/links.d.ts +5 -3
  17. package/dist/links.js +1 -1
  18. package/dist/words.d.ts +1911 -0
  19. package/dist/words.js +11 -0
  20. package/package.json +10 -3
  21. package/dist/chunks/PreviewFooter-SMYEU6AT.js +0 -1
  22. package/dist/chunks/SiteEditorProvider-ZSJ42NW3.js +0 -1
  23. package/dist/chunks/chunk-D42IBF3T.js +0 -230
  24. package/dist/chunks/chunk-E27PWVTV.js +0 -16
  25. package/dist/chunks/chunk-RVAMC6AG.js +0 -1
  26. package/dist/chunks/chunk-V5ANFR4Q.js +0 -154
  27. /package/dist/chunks/{SectionEditorShell-KPJJGNME.js → SectionEditorShell-B33EV72Q.js} +0 -0
  28. /package/dist/chunks/{chunk-V5ANFR4Q.js.LEGAL.txt → chunk-4CEJDQT6.js.LEGAL.txt} +0 -0
  29. /package/dist/chunks/{chunk-XMRDC5JK.js → chunk-5ARJ7ZNM.js} +0 -0
  30. /package/dist/chunks/{chunk-E27PWVTV.js.LEGAL.txt → chunk-JMPXWSWW.js.LEGAL.txt} +0 -0
  31. /package/dist/chunks/{chunk-BXKNNBHR.js → chunk-PT6SNSRB.js} +0 -0
@@ -1 +0,0 @@
1
- import{c as J,e as G,i as V,k as x,p as E,q as K,s as k}from"./chunk-BXKNNBHR.js";var I="x-forwarded-for";function j(e){let t=(e??"").split(",").map(r=>r.trim()).filter(Boolean);return t.length>0?t[t.length-1]:null}var Ie="x-forwarded-host";function z(e,t,r){let n={};return e&&(n[Ie]=e),t&&r==="uncached"&&(n[I]=t),n}function Z(e){if(e?.cache==="no-store"||e?.cache==="no-cache")return"uncached";if(e?.cache==="force-cache")return"data-cached";let t=e?.next?.revalidate;return typeof t=="number"&&t>0?"data-cached":"uncached"}var Q="x-storefront-site",X="x-storefront-host",Y="x-storefront-preview";var ee={contentHash:"db2b679aad5380c6",schema:1,mediaFields:{ImageBlock:["src"],LogoBlock:["src"],Flex:["bgImage"],FeaturedCover:["image"],LongRead:["image"],Banner:["imageSrc"],Timeline:["imageSrc"],Logos:["items[].src"],ContactLocations:["locations[].photo"],HeroSingle:["imageFocal","mediaImage","mediaVideo","poster"],HeroSlide:["mediaImage","mediaVideo","poster"],PostCard:["image"],Gallery:["othersCards[].image","othersCards[].photos[].src","vehicleCards[].image","vehicleCards[].photos[].src","wheelCards[].image","wheelCards[].photos[].src"],GalleryItem:["image","photos[].src"],Manifesto:["imageSrc"],SectionHeader:["logoSrc"],IntroBleed:["imageSrc","imageSrcMobile"],Split:["imageSrc","textBgSrc"],ProcessSteps:["steps[].image"],DetailRows:["rows[].image"],PaymentBadges:["badges[].src"]},mediaKeyNames:["bgImage","image","imageFocal","imageSrc","imageSrcMobile","logoSrc","mediaImage","mediaVideo","photo","poster","src","textBgSrc"],snapshotObjects:{ProductGrid:{source:{keep:["slug"]}},GalleryItem:{product:{keep:["code","finish"]}},FeaturedCover:{source:{keep:["slug"]}},LongRead:{source:{keep:["slug"]}}},hydratedLists:{Events:["posts"],SubscribeBlogs:["posts"]},technicalStateKeys:["imageFocal"]};var $e="shop_access_token",te="shop_refresh_token",q=null;function $(){k.removeItem($e),k.removeItem(te)}var P={getAccess(){return q},takeLegacyRefresh(){let e=k.getItem(te);return $(),e},setTokens(e){q=e,$()},clear(){q=null,$()}};function Be(e){return!!e.src}function b(e){let t=e.finishes.filter(Be);if(t.length===e.finishes.length)return e;let r=e.defaultFinish&&t.some(n=>n.name===e.defaultFinish)?e.defaultFinish:null;return{...e,finishes:t,defaultFinish:r}}function Ue(e){return e.listable!==!1}function B(e){return e.map(b).filter(Ue)}var oe=["fill","stroke","stop-color","color","flood-color","lighting-color","solid-color"],ie=new Set(["none","transparent","currentcolor","inherit","initial","unset","context-fill","context-stroke"]),T={black:[0,0,0],white:[255,255,255],gray:[128,128,128],grey:[128,128,128],darkgray:[169,169,169],darkgrey:[169,169,169],dimgray:[105,105,105],dimgrey:[105,105,105],lightgray:[211,211,211],lightgrey:[211,211,211],gainsboro:[220,220,220],silver:[192,192,192],whitesmoke:[245,245,245]},ae=12,ce=/\burl\(/i,le=new RegExp(`(?<![-\\w])(${oe.join("|")})(\\s*=\\s*)(["'])([^"']*)\\3`,"gi"),ue=new RegExp(`((?:^|[;{\\s"'])(?:${oe.join("|")})\\s*:\\s*)([^;}"'<>]+)`,"gi"),Ne=/<svg\b([^>]*)>/i,Le=/\bfill\s*[=:]/i;function Me(e){let t=e.replace(le,(r,n,s,o,l)=>{let u=re(l);return u===null?r:`${n}${s}${o}${u}${o}`}).replace(ue,(r,n,s)=>{let o=re(s);return o===null?r:`${n}${o}`});return t=t.replace(Ne,(r,n)=>Le.test(n)?r:`<svg fill="#ffffff"${n}>`),t}function re(e){let t=/!important/i.test(e),r=e.replace(/!important/gi,"").trim().toLowerCase();if(!r||ce.test(r)||ie.has(r))return null;let n=r in T?[...T[r],1]:me(r);if(!n)return null;let[s,o,l,u]=n;if(Math.max(s,o,l)-Math.min(s,o,l)>ae)return null;let m=He(255-s,255-o,255-l,u);return t?`${m} !important`:m}function He(e,t,r,n){if(n<1)return`rgba(${e}, ${t}, ${r}, ${n})`;let s=o=>o.toString(16).padStart(2,"0");return`#${s(e)}${s(t)}${s(r)}`}function me(e){return e.startsWith("#")?De(e):e.startsWith("rgb")?We(e):e.startsWith("hsl")?Ge(e):null}function De(e){let t=e.slice(1),r=1;if(t.length===3||t.length===4)t.length===4&&(r=parseInt(t[3]+t[3],16)/255),t=t.slice(0,3).split("").map(n=>n+n).join("");else if(t.length===6||t.length===8)t.length===8&&(r=parseInt(t.slice(6,8),16)/255),t=t.slice(0,6);else return null;return/^[0-9a-f]{6}$/.test(t)?[parseInt(t.slice(0,2),16),parseInt(t.slice(2,4),16),parseInt(t.slice(4,6),16),r]:null}function We(e){let t=e.slice(e.indexOf("(")+1,e.lastIndexOf(")")),[r,n]=t.split("/"),s=r.split(/[\s,]+/).filter(Boolean).slice(0,3);if(s.length<3)return null;let o=s.map(u=>u.endsWith("%")?Math.round(parseFloat(u)/100*255):Math.round(parseFloat(u)));if(o.some(u=>Number.isNaN(u)))return null;let l=n?O(n):Je(r);return[o[0],o[1],o[2],l]}function Je(e){let t=e.split(/[\s,]+/).filter(Boolean);return t.length>=4?O(t[3]):1}function O(e){let t=e.trim().endsWith("%")?parseFloat(e)/100:parseFloat(e);return Number.isNaN(t)?1:t}function Ge(e){let t=e.slice(e.indexOf("(")+1,e.lastIndexOf(")")),[r,n]=t.split("/"),s=r.split(/[\s,]+/).filter(Boolean);if(s.length<3)return null;let o=parseFloat(s[0]),l=parseFloat(s[1])/100,u=parseFloat(s[2])/100;if([o,l,u].some(Ee=>Number.isNaN(Ee)))return null;let m=n?O(n):s.length>=4?O(s[3]):1,[y,f,S]=Ve(o,l,u);return[y,f,S,m]}function Ve(e,t,r){let n=(1-Math.abs(2*r-1))*t,s=(e%360+360)%360/60,o=n*(1-Math.abs(s%2-1)),l=0,u=0,m=0;s<1?[l,u,m]=[n,o,0]:s<2?[l,u,m]=[o,n,0]:s<3?[l,u,m]=[0,n,o]:s<4?[l,u,m]=[0,o,n]:s<5?[l,u,m]=[o,0,n]:[l,u,m]=[n,0,o];let y=r-n/2;return[Math.round((l+y)*255),Math.round((u+y)*255),Math.round((m+y)*255)]}var ne=512*1024;function U(e){return/\.svg(\?|$)/i.test(e)}function Ke(e){return`data:image/svg+xml,${encodeURIComponent(Me(e))}`}function je(e){let t=e.replace(/!important/gi,"").trim().toLowerCase();if(!t||ce.test(t)||ie.has(t))return null;let r=t in T?[...T[t],1]:me(t);if(!r)return null;let[n,s,o]=r;return Math.max(n,s,o)-Math.min(n,s,o)>ae?null:(.2126*n+.7152*s+.0722*o)/255}function ze(e){let t=[],r=n=>{let s=je(n);s!==null&&t.push(s)};for(let n of e.matchAll(le))r(n[4]);for(let n of e.matchAll(ue))r(n[2]);return t.length?t.reduce((n,s)=>n+s,0)/t.length<.5:null}var se=/^(?:\uFEFF|\s+|<\?xml[^>]*\?>|<!--[\s\S]*?-->|<!DOCTYPE\s+svg[^>[]*>)/i;function Ze(e){let t=e;for(let r=se.exec(t);r&&r[0].length>0;r=se.exec(t))t=t.slice(r[0].length);return/^<svg[\s>/]/i.test(t)}async function Qe(e,t){if(!U(e))return null;try{let r=await fetch(e,{signal:t,redirect:"manual"});if(!r.ok)return null;let n=Number(r.headers.get("content-length"));if(Number.isFinite(n)&&n>ne)return null;let s=await r.text();return s.length>ne?null:Ze(s)?s:null}catch{return null}}async function pe(e,t){let r=await Qe(e,t);return r===null?null:{reversed:Ke(r),inkIsDark:ze(r)}}function de(){return J().siteId()}var Xe="",h=class extends Error{constructor(t,r,n){super(r),this.status=t,this.data=n}},M="Unable to reach the server. This could be a problem with your internet connection, or the server may be undergoing maintenance or an upgrade. Please try again shortly.",Ye=new Set([502,503,504]),N=0,et="This editor runs on its host's own backend, which does not serve this request.",tt=5e3,rt=15e3,nt=()=>typeof window>"u"?tt:rt;function Re(e){let t=(e.method??"GET").toUpperCase();if(!(e.body!=null||t!=="GET"&&t!=="HEAD")&&!(e.audience!=null&&e.audience!=="shop")&&typeof AbortSignal?.timeout=="function")return AbortSignal.timeout(nt())}var ge=e=>e instanceof Error&&e.name==="TimeoutError",he=(e,t)=>Ye.has(e)?M:t,st=["admin","venue"],_e="admin";function Zt(e){_e=st.includes(e)?e:"admin"}function ot(){return _e}function it(e){if(typeof window>"u"||!e.startsWith("/api/v1/"))return e;let t=E();return!t||/[?&]site=/.test(e)?e:F(e,`site=${encodeURIComponent(t)}`)}async function i(e,t={}){let{token:r,baseUrl:n,headers:s,audience:o,...l}=t;if(typeof window<"u"&&!G())throw new h(N,et,null);if(typeof window>"u"&&n===void 0)throw new Error(`apiFetch(${JSON.stringify(e)}) ran on the server without an explicit baseUrl. The API_URL default it would inherit is browser-only (the prod image bakes NEXT_PUBLIC_API_URL="" for same-origin use, which a Node fetch cannot resolve). Pass a base explicitly: \`await backendOpts()\` (or baseUrl: PRODUCT_FETCH_BASE) for product reads, or the server-only PRODUCT_BACKEND_URL env for other backend surfaces.`);let u=typeof FormData<"u"&&l.body instanceof FormData,m;try{m=await fetch(`${n??Xe}${it(e)}`,{...l,headers:{...u?{}:{"Content-Type":"application/json"},...r?{Authorization:`Bearer ${r}`}:{},...o===null?{}:{"X-Portal-Audience":o??"shop"},...s},signal:l.signal??Re({...l,audience:o})})}catch(S){throw S instanceof TypeError||ge(S)?new h(N,M,null):S}let y;try{y=await m.text()}catch(S){throw ge(S)?new h(N,M,null):S}let f=null;if(y)try{f=JSON.parse(y)}catch{throw new h(m.status,m.ok?"Expected JSON but received a non-JSON response":he(m.status,m.statusText),y)}if(!m.ok){let S=(f&&typeof f=="object"&&"detail"in f&&typeof f.detail=="string"?f.detail:null)??he(m.status,m.statusText);throw new h(m.status,S,f)}return f}var A=null;async function Ce(){return A||(A=at().finally(()=>{A=null}),A)}async function at(){let e=P.takeLegacyRefresh(),t=await ct.refresh(e??void 0);return P.setTokens(t.access),t.access}async function xe(){return P.getAccess()??Ce()}async function p(e,t={}){let r;try{r=await xe()}catch{throw P.clear(),new h(401,"Not signed in",null)}try{return await i(e,{...t,token:r})}catch(n){if(!(n instanceof h)||n.status!==401)throw n;try{let s=await Ce();return await i(e,{...t,token:s})}catch{throw P.clear(),n}}}async function ye(e,t={}){if(P.getAccess())try{return{data:await p(e,t),asShopper:!0}}catch(r){if(!(r instanceof h)||r.status!==401)throw r}return{data:await i(e,t),asShopper:!1}}async function fe(){let e=await p("/api/auth/me/");if(e.portal!=="shop")throw P.clear(),new h(403,"This session is not valid for this shop.",null);return e}var ct={login:(e,t)=>i("/api/auth/login/",{method:"POST",body:JSON.stringify({email:e,password:t,portal:"shop"}),credentials:"include"}),refresh:e=>i("/api/auth/refresh/",{method:"POST",body:JSON.stringify(e?{refresh:e,portal:"shop"}:{portal:"shop"}),credentials:"include"}),logout:async()=>{P.clear();try{await i("/api/auth/logout/",{method:"POST",body:JSON.stringify({portal:"shop"}),credentials:"include"})}catch{}},restoreSession:async()=>{let e=await xe();return await fe(),e},me:fe,updateMe:e=>p("/api/auth/me/",{method:"PATCH",body:JSON.stringify(e)}),changePassword:(e,t)=>p("/api/auth/me/",{method:"PATCH",body:JSON.stringify({password:t,old_password:e})}),changeEmail:(e,t)=>p("/api/shop-portal/change-email/",{method:"POST",body:JSON.stringify({new_email:e,current_password:t})}),myProfile:()=>p("/api/shop-portal/profile/"),updateMyProfile:e=>p("/api/shop-portal/profile/",{method:"PATCH",body:JSON.stringify(e)}),myAddresses:()=>p("/api/shop-portal/delivery-locations/"),createAddress:e=>p("/api/shop-portal/delivery-locations/",{method:"POST",body:JSON.stringify(e)}),updateAddress:(e,t)=>p(`/api/shop-portal/delivery-locations/${e}/`,{method:"PATCH",body:JSON.stringify(t)}),deleteAddress:e=>p(`/api/shop-portal/delivery-locations/${e}/`,{method:"DELETE"}),passwordResetRequest:e=>i("/api/auth/password-reset/",{method:"POST",body:JSON.stringify({email:e})}),passwordResetConfirm:(e,t,r)=>i("/api/auth/password-reset/confirm/",{method:"POST",body:JSON.stringify({uid:e,token:t,new_password:r})}),brands:()=>p("/api/products/brands/"),myOrders:()=>p("/api/shop-portal/orders/").then(e=>e.results),myOrder:e=>p(`/api/shop-portal/orders/${e}/`),cancelOrder:e=>p(`/api/shop-portal/orders/${e}/cancel/`,{method:"POST"}),myReturns:e=>p(`/api/shop-portal/returns/${e?`?order=${encodeURIComponent(e)}`:""}`).then(t=>t.results),createReturn:e=>p("/api/shop-portal/returns/",{method:"POST",body:JSON.stringify(e)}),withdrawReturn:e=>p(`/api/shop-portal/returns/${e}/cancel/`,{method:"POST"}),uploadReturnPhoto:(e,t)=>{let r=new FormData;return r.append("claim_item",e),r.append("file",t),r.append("media_type",t.type.startsWith("video/")?"video":"image"),p("/api/shop-portal/return-media/",{method:"POST",body:r})}};function g(e){if(typeof e=="string")return e.startsWith("/media/")?V(e):e;if(Array.isArray(e))return e.map(g);if(e&&typeof e=="object"){let t={};for(let[r,n]of Object.entries(e))t[r]=r==="captions"&&n&&typeof n=="object"&&!Array.isArray(n)?Object.fromEntries(Object.entries(n).map(([s,o])=>[g(s),o])):g(n);return t}return e}var lt="",ke="".replace(/\/+$/,""),Te=typeof window>"u"&&ke!=="",ut=Te?ke:lt,mt=K,w=()=>({baseUrl:mt(),audience:null});function a(e,t){let r=t?`?process=${encodeURIComponent(t)}`:"";return`/api/v1${e}${r}`}var pt=100,Se=50;function Oe(e,t,r){let n=new URLSearchParams;for(let[s,o]of Object.entries(t))o!=null&&o!==""&&n.set(s,String(o));return n.set("pageSize",String(pt)),r&&n.set("cursor",r),`/api/v1${e}?${n.toString()}`}function dt(e,t){return Oe("/wheels",{process:e},t)}function gt(e,t,r){return Oe("/products",{kind:e.join(","),make:t?.make,model:t?.model,year:t?.year,modification:t?.modification},r)}function ht(e){if(!e)return null;try{return new URL(e,"http://cursor.invalid").searchParams.get("cursor")}catch{return null}}async function Pe(e,t,r=()=>!1){let n=[],s=null;try{for(let o=0;o<Se;o++){let l=await i(await t(s),await c());if(n.push(...l.results),s=ht(l.next),!s)break}s&&console.warn(`[${e}] stopped at ${Se} pages (${n.length} rows); catalog may be truncated`)}catch(o){if(r(o))throw o;console.warn(`[${e}] product API unavailable, returning []`,o)}return n}var yt=e=>e instanceof h&&e.status===400;function ft(e){return e.flatMap(t=>t.kind==="alloy-wheel"?B([t]):[t])}async function ve(){return(await St()).host}async function St(){try{let{headers:e}=await import("./headers-UYHEZDAT.js"),t=await e(),r=o=>o?.split(",")[0]?.split(":")[0]?.trim().toLowerCase()||null,n=r(t.get(X)??t.get("x-forwarded-host")??t.get("host")),s=r(t.get("host"));return{host:n,matchesRequestHost:n!==null&&n===s}}catch{return{host:null,matchesRequestHost:!1}}}async function Pt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return j((await e()).get(I))}catch{return null}}async function wt(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get(Q)||null}catch{return null}}async function bt(){let e=await wt();if(e)return`site=${encodeURIComponent(e)}`;let t=await ve();return t?`host=${encodeURIComponent(t)}`:""}async function d(e){if(typeof window<"u"){let t=E();return t?F(e,`site=${encodeURIComponent(t)}`):e}return F(e,await bt())}function F(e,t){return t?`${e}${e.includes("?")?"&":"?"}${t}`:e}var At="preview";async function Rt(){if(typeof window<"u")return null;try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get(Y)}catch{return null}}async function _t(){try{let{headers:e}=await import("./headers-UYHEZDAT.js");return(await e()).get("user-agent")}catch{return null}}async function L(e,t){let r=await Rt();if(r===null)return[await d(e),await c(t)];let n=F(await d(e),`${At}=${encodeURIComponent(r)}`),{next:s,cache:o,...l}=t??{},u=await c({...l,cache:"no-store"}),m=await _t();return m&&(u.headers={...u.headers,"user-agent":m}),[n,u]}async function Ct(e){if(!Te)return;let[t,r]=await Promise.all([ve(),Pt()]),n=z(t,r,e);return Object.keys(n).length>0?n:void 0}async function c(e){let t=await Ct(Z(e)),r={baseUrl:ut,...e};return t&&(r.headers={...t,...e?.headers}),r}var R=typeof window>"u";function _(e,t){let r=new URLSearchParams;for(let[s,o]of Object.entries(t))o!==void 0&&o!==""&&r.set(s,String(o));let n=r.toString();return`/api/v1/fitment${e}${n?`?${n}`:""}`}var tr={listMakes:async e=>{if(R){let{fitmentData:r}=await import("./fitment-data-QCRJYMQI.js");return r.makes(e)}return(await i(_("/makes",{region:e}),w())).results},listModels:async(e,t)=>{if(R){let{fitmentData:n}=await import("./fitment-data-QCRJYMQI.js");return n.models(e,t)}return(await i(_("/models",{make:e,region:t}),w())).results},listYears:async(e,t,r)=>{if(R){let{fitmentData:s}=await import("./fitment-data-QCRJYMQI.js");return s.years(e,t,r)}return(await i(_("/years",{make:e,model:t,region:r}),w())).results},listModifications:async(e,t,r,n)=>{if(R){let{fitmentData:o}=await import("./fitment-data-QCRJYMQI.js");return o.modifications(e,t,r,n)}return(await i(_("/modifications",{make:e,model:t,year:r,region:n}),w())).results},getStockFitment:async(e,t,r,n,s)=>{if(R){let{fitmentData:o}=await import("./fitment-data-QCRJYMQI.js");return o.stockFitment(e,t,r,n,s)}return i(_("/stock-fitment",{make:e,model:t,year:r,modification:n,region:s}),w())}},rr={listWheels:async e=>{let t=await Pe("products.listWheels",async r=>await d(dt(e,r)));return B(g(t))},listCatalog:async(e,t)=>{if(e.length===0)throw new Error("products.listCatalog() needs at least one kind. An empty list would omit `kind`, which the contract reads as `alloy-wheel` \u2014 so the call would silently return the wheel catalog instead of nothing.");let r=await Pe("products.listCatalog",async n=>await d(gt(e,t,n)),yt);return ft(g(r))},getWheel:async e=>b(g(await i(await d(a(`/wheels/${e}`)),await c()))),getTyre:async e=>g(await i(await d(a(`/tyres/${e}`)),await c())),listBundles:async()=>{try{return await i(await d(a("/bundles")),await c())}catch{return[]}},getBundle:async e=>i(await d(a(`/bundles/${e}`)),await c()),listGalleryBuilds:async(e={})=>{let{process:t=null,wheelSlug:r=null}=e;if(typeof window>"u"){let{listGalleryBuilds:n}=await import("./gallery-builds-data-VVHHVNYW.js");return g(n(t,r))}try{let n=new URLSearchParams;t&&n.set("process",t),r&&n.set("wheelSlug",r);let s=n.toString(),o=await i(`/api/v1/gallery-builds${s?`?${s}`:""}`,w());return g(o.results)}catch(n){return console.warn("[products.listGalleryBuilds] product API unavailable, returning []",n),[]}},getSite:async()=>i(await d(a("/site")),await c()),getSiteBySlug:async e=>i(`${a("/site")}?${new URLSearchParams({site:e})}`,typeof window>"u"?await c():void 0),listBrands:async()=>{try{return(await i(await d(a("/brands")),await c())).results??[]}catch(e){return console.warn("[products.listBrands] product API unavailable, returning []",e),[]}},listBrandsForSite:async e=>(await i(`${a("/brands")}?${new URLSearchParams({site:e})}`,typeof window>"u"?await c():void 0)).results??[],listPages:async()=>g(await i(await d(a("/pages")),await c())),listProductTemplates:async()=>{try{return await i(await d(a("/product-templates")),await c())}catch(e){return console.warn("[products.listProductTemplates] unavailable, returning []",e),[]}},listDynamicPages:async e=>{let t=e?`?recordType=${encodeURIComponent(e)}`:"";try{return await i(await d(`${a("/dynamic-pages")}${t}`),await c())}catch(r){if(r instanceof h&&r.status===404)return[];throw r}},getRecord:async(e,t)=>{try{return await i(await d(a(`/records/${encodeURIComponent(e)}/${encodeURIComponent(t)}`)),await c())}catch(r){if(r instanceof h&&r.status===404)return null;throw r}},listProductTypeChoices:async()=>{try{return await i(await d(a("/product-type-choices")),await c())}catch(e){return console.warn("[products.listProductTypeChoices] unavailable, returning []",e),[]}},listFieldUsage:async()=>{try{return await i(await d(a("/field-usage")),await c())}catch(e){return console.warn("[products.listFieldUsage] unavailable, returning []",e),[]}},getPage:async(e,t={})=>{let r=t.record?`?record=${encodeURIComponent(t.record)}`:"",[n,s]=await L(a(`/pages/${e}`)+r,t.revalidate!==void 0?{next:{revalidate:t.revalidate}}:void 0);return g(await i(n,s))},listBlogPosts:async()=>{try{return(await i(a("/blog-posts"),await c())).map(t=>({...t,coverImage:x(t.coverImage)??""}))}catch(e){return console.warn("[products.listBlogPosts] blog API unavailable, returning []",e),[]}},getBlogPost:async e=>{let t=await i(a(`/blog-posts/${e}`),await c());return{...t,coverImage:x(t.coverImage)??""}},createOrder:async e=>i(a("/orders"),await c({method:"POST",body:JSON.stringify(e)})),createOrderAuthed:async e=>p(a("/orders"),await c({method:"POST",body:JSON.stringify(e)})),lookupOrder:async e=>i(a("/orders/lookup"),await c({method:"POST",body:JSON.stringify(e)})),createPaymentIntent:async e=>i(a("/payments/intent"),await c({method:"POST",body:JSON.stringify(e)})),createPaypalOrder:async e=>i(a("/payments/paypal/order"),await c({method:"POST",body:JSON.stringify(e)})),capturePaypalOrder:async e=>i(a("/payments/paypal/capture"),await c({method:"POST",body:JSON.stringify(e)})),createAfterpayCheckout:async e=>i(a("/payments/afterpay/checkout"),await c({method:"POST",body:JSON.stringify(e)})),captureAfterpayPayment:async e=>i(a("/payments/afterpay/capture"),await c({method:"POST",body:JSON.stringify(e)})),chargeSquare:async e=>i(a("/payments/square/charge"),await c({method:"POST",body:JSON.stringify(e)})),createGocardlessBillingRequest:async e=>i(a("/payments/gocardless/billing-request"),await c({method:"POST",body:JSON.stringify(e)})),completeGocardlessPayment:async e=>i(a("/payments/gocardless/complete"),await c({method:"POST",body:JSON.stringify(e)})),createZipCheckout:async e=>i(a("/payments/zip/checkout"),await c({method:"POST",body:JSON.stringify(e)})),captureZipPayment:async e=>i(a("/payments/zip/capture"),await c({method:"POST",body:JSON.stringify(e)})),createKlarnaCheckout:async e=>i(a("/payments/klarna/checkout"),await c({method:"POST",body:JSON.stringify(e)})),captureKlarnaPayment:async e=>i(a("/payments/klarna/capture"),await c({method:"POST",body:JSON.stringify(e)})),createStockAlert:async e=>i(a("/stock-alerts"),await c({method:"POST",body:JSON.stringify(e)})),createPreOrderIntent:async e=>i(a("/pre-order-intents"),await c({method:"POST",body:JSON.stringify(e)})),createNewsletterSubscription:async e=>i(a("/newsletter-subscriptions"),await c({method:"POST",body:JSON.stringify(e)})),unsubscribeNewsletter:async e=>i(a("/newsletter-unsubscribe"),await c({method:"POST",body:JSON.stringify(e)})),captureCart:async e=>i(a("/carts"),await c({method:"POST",body:JSON.stringify(e)})),restoreCart:async e=>i(a("/carts/restore"),await c({method:"POST",body:JSON.stringify(e)})),unsubscribeCartReminders:async e=>i(a("/carts/unsubscribe"),await c({method:"POST",body:JSON.stringify(e)})),listReviews:async(e={})=>{let t=new URLSearchParams;e.limit&&t.set("limit",String(e.limit)),e.designCode&&t.set("designCode",e.designCode);let r=a("/reviews"),n=t.toString();try{return await i(await d(n?`${r}?${n}`:r),await c())}catch(s){return console.warn("[products.listReviews] product API unavailable, returning []",s),[]}},submitReview:async e=>i(a("/reviews"),await c({method:"POST",body:JSON.stringify(e)})),getForm:async e=>i(a(`/forms/${encodeURIComponent(e)}`),await c()),submitForm:async(e,t)=>i(a(`/forms/${encodeURIComponent(e)}/submissions`),await c({method:"POST",body:JSON.stringify(t)})),listShippingMethods:async()=>{try{return await i(a("/shipping-methods"),await c())}catch(e){return console.warn("[products.listShippingMethods] product API unavailable, returning []",e),[]}},listCountrySubdivisions:async e=>{try{return await i(a(`/countries/${encodeURIComponent(e)}/subdivisions`),await c())}catch(t){return console.warn("[products.listCountrySubdivisions] unavailable, returning []",t),[]}},quoteCart:async e=>{let t=a("/cart/quote"),r=await c({method:"POST",body:JSON.stringify(e)});return e.couponCode?(await ye(t,r)).data:i(t,r)},validateCoupon:async e=>{let{data:t,asShopper:r}=await ye(a("/coupons/validate"),await c({method:"POST",body:JSON.stringify(e)}));return{...t,askedAsShopper:r}},getHeaderSettings:async()=>{let e=Re({method:"GET"}),t=await i(...await L(a("/header-settings"),{signal:e})),r=x(t.logoUrl),n=null,s=null;if(r&&U(r)){let o=await pe(r,e);o&&(n=o.reversed,s=o.inkIsDark)}return{...t,logoUrl:r,logoReversed:n,logoInkIsDark:s}},getThemeSettings:async()=>i(...await L(a("/theme-settings"))),getChatSettings:async()=>i(await d(a("/chat-settings")),await c())},nr={listServices:async()=>{try{return await i(a("/bookings/services"),await c())}catch(e){return console.warn("[bookings.listServices] API unavailable, returning []",e),{results:[],currency:"USD"}}},getAvailability:async(e,t)=>i(a(`/bookings/availability?service=${encodeURIComponent(e)}&date=${t}`),await c()),create:async e=>i(a("/bookings"),await c({method:"POST",body:JSON.stringify(e)})),get:async e=>i(a(`/bookings/manage/${encodeURIComponent(e)}`),await c()),cancel:async e=>i(a(`/bookings/manage/${encodeURIComponent(e)}/cancel`),await c({method:"POST"})),createPaymentIntent:async e=>i(a("/bookings/payments/intent"),await c({method:"POST",body:JSON.stringify({manageToken:e})}))},H=class extends Error{constructor(r,n){super(`Slug "${r}" exists on ${n} websites; a site is required to pick one.`);this.slug=r;this.count=n;this.name="AmbiguousPageSlugError"}},C=e=>e?`/api/storefront/header-settings/?${new URLSearchParams({site:e})}`:"/api/storefront/header-settings/",we=e=>e?`/api/storefront/theme-settings/?${new URLSearchParams({site:e})}`:"/api/storefront/theme-settings/",be=e=>e?`/api/storefront/chat-settings/?${new URLSearchParams({site:e})}`:"/api/storefront/chat-settings/",Ae=e=>`/api/storefront/social-settings/?${new URLSearchParams({site:e})}`,D=e=>`/api/storefront/sites/${encodeURIComponent(e)}/`,xt=e=>`${D(e)}currencies/`,kt="/api/storefront/media/ingest/",W=class extends Error{constructor(){super("This editor is not connected to a website, so an upload has nowhere to go. Open the page from the website the file should belong to, then try again."),this.name="MediaUploadDestinationError"}};function Tt(){let e=de();if(!e)throw new W;return`${kt}?${new URLSearchParams({site:e})}`}var v={"X-Puck-Media-Manifest":ee.contentHash},sr=Fe({});function Fe(e){return(t,r={})=>i(t,{...r,...e.baseUrl!==void 0?{baseUrl:e.baseUrl}:{},...e.headers?{headers:{...e.headers,...r.headers}}:{},audience:e.audience??ot()})}function Ot(e={}){let t=Fe(e);return{findPageBySlug:async(r,n,s)=>{let o=new URLSearchParams({slug:r});s&&o.set("site",s);let l=await t(`/api/storefront/pages/?${o.toString()}`,{token:n}),u=Array.isArray(l)?l:l.results??[];if(!s&&u.length>1)throw new H(r,u.length);return u[0]??null},getPageById:(r,n)=>t(`/api/storefront/pages/${r}/`,{token:n}),saveLayout:(r,n,s,o,l)=>t(`/api/storefront/pages/${r}/`,{method:"PATCH",body:JSON.stringify({layout:n,expected_updated_at:o,...l?{client_id:l}:{}}),token:s}),publishPage:(r,n,s)=>t(`/api/storefront/pages/${r}/publish/`,{method:"POST",body:s?JSON.stringify({expected_updated_at:s}):void 0,token:n}),claimPageEditLock:(r,n,s,o=!1)=>t(`/api/storefront/pages/${r}/edit-lock/`,{method:"POST",body:JSON.stringify({client_id:s,takeover:o}),token:n}),releasePageEditLock:(r,n)=>t(`/api/storefront/pages/${r}/edit-lock/`,{method:"DELETE",token:n}),createTemplate:(r,n,s)=>t("/api/storefront/page-templates/",{method:"POST",body:JSON.stringify({name:r,layout:n}),headers:v,token:s}),getTemplate:(r,n)=>t(`/api/storefront/page-templates/${r}/`,{token:n}),saveTemplateLayout:(r,n,s)=>t(`/api/storefront/page-templates/${r}/`,{method:"PATCH",body:JSON.stringify({layout:n}),headers:v,token:s}),listTemplatePages:async(r,n)=>{let s=await t(`/api/storefront/template-pages/?template=${encodeURIComponent(r)}`,{token:n});return Array.isArray(s)?s:s.results??[]},findTemplatePageBySlug:async(r,n,s)=>{let o=await t(`/api/storefront/template-pages/?template=${encodeURIComponent(r)}&slug=${encodeURIComponent(n)}`,{token:s});return(Array.isArray(o)?o:o.results??[])[0]??null},createTemplatePage:(r,n,s)=>t("/api/storefront/template-pages/",{method:"POST",body:JSON.stringify({template:r,...n}),headers:v,token:s}),saveTemplatePageLayout:(r,n,s)=>t(`/api/storefront/template-pages/${r}/`,{method:"PATCH",body:JSON.stringify({layout:n}),headers:v,token:s}),deleteTemplatePage:(r,n)=>t(`/api/storefront/template-pages/${r}/`,{method:"DELETE",token:n}),listPages:async(r,n)=>{let s=new URLSearchParams({no_page:"true"});n&&s.set("site",n);let o=await t(`/api/storefront/pages/?${s.toString()}`,{token:r});return Array.isArray(o)?o:o.results??[]},createPage:(r,n,s,o)=>t("/api/storefront/pages/",{method:"POST",body:JSON.stringify({title:r,slug:n,layout:s}),token:o}),deletePage:(r,n)=>t(`/api/storefront/pages/${r}/`,{method:"DELETE",token:n}),getHeaderSettings:(r,n)=>t(C(n),{token:r}),listMenus:async(r,n)=>{let s=new URLSearchParams({no_page:"true"});n&&s.set("site",n);let o=await t(`/api/storefront/menus/?${s}`,{token:r});return Array.isArray(o)?o:o.results??[]},listBlogPosts:async(r,n={})=>{let s=new URLSearchParams({no_page:"true"});n.visibleOnly&&s.set("is_visible","true"),n.siteId&&s.set("site",n.siteId);let o=await t(`/api/storefront/blog-posts/?${s.toString()}`,{token:r});return Array.isArray(o)?o:o.results??[]},listFieldUsage:async(r,n)=>{let s=await t(`/api/storefront/field-usage/?site=${encodeURIComponent(n)}`,{token:r});return Array.isArray(s?.entries)?s.entries:[]},listCategories:async(r,n={})=>{let s=new URLSearchParams({no_page:"true"});n.visibleOnly&&s.set("is_visible","true"),n.siteId&&s.set("site",n.siteId);let o=await t(`/api/storefront/categories/?${s.toString()}`,{token:r});return[...Array.isArray(o)?o:o.results??[]].sort((u,m)=>u.sort_order-m.sort_order||u.name.localeCompare(m.name))},listForms:async(r,n={})=>{let s=new URLSearchParams({no_page:"true"});n.siteId&&s.set("site",n.siteId);let o=await t(`/api/storefront/forms/?${s.toString()}`,{token:r});return[...Array.isArray(o)?o:o.results??[]].sort((u,m)=>u.title.localeCompare(m.title))},listWheelSummaries:async(r,n={})=>{let s=new URLSearchParams;n.siteId&&s.set("site",n.siteId);let o=s.toString(),l=await t(`/api/storefront/wheel-curations/summaries/${o?`?${o}`:""}`,{token:r});return g(l)},listProducts:async(r,n={})=>{let s=new URLSearchParams;n.kinds?.length&&s.set("kind",n.kinds.join(",")),n.siteId&&s.set("site",n.siteId);let o=s.toString(),l=await t(`/api/storefront/products/${o?`?${o}`:""}`,{token:r});return g(l)},getWheelDetail:async(r,n,s={})=>{let o=new URLSearchParams({slug:n});return s.siteId&&o.set("site",s.siteId),b(g(await t(`/api/storefront/wheel-curations/detail/?${o.toString()}`,{token:r})))},updateHeaderSettings:(r,n,s)=>t(C(s),{method:"PATCH",body:JSON.stringify(r),token:n}),getSite:(r,n)=>t(D(r),{token:n}),listSites:async r=>{let n=await t("/api/storefront/sites/?no_page=true",{token:r});return Array.isArray(n)?n:n.results??[]},listSiteCurrencies:async(r,n)=>{let s=await t(xt(r),{token:n});return Array.isArray(s)?s:[]},updateSite:(r,n,s)=>t(D(r),{method:"PATCH",body:JSON.stringify(n),token:s}),getThemeSettings:(r,n)=>t(we(n),{token:r}),updateThemeSettings:(r,n,s)=>t(we(s),{method:"PATCH",body:JSON.stringify(r),token:n}),getChatSettings:(r,n)=>t(be(n),{token:r}),updateChatSettings:(r,n,s)=>t(be(s),{method:"PATCH",body:JSON.stringify(r),token:n}),getSocialSettings:(r,n)=>t(Ae(n),{token:r}),updateSocialSettings:(r,n,s)=>t(Ae(s),{method:"PATCH",body:JSON.stringify(r),token:n}),uploadHeaderLogo:(r,n,s)=>{let o=new FormData;return o.append("logo",r),t(C(s),{method:"PATCH",body:o,token:n})},clearHeaderLogo:(r,n)=>t(C(n),{method:"PATCH",body:JSON.stringify({logo:null}),token:r}),setHeaderLogoFromAsset:(r,n,s)=>t(C(s),{method:"PATCH",body:JSON.stringify({logo_asset_id:r}),token:n}),uploadMedia:async(r,n)=>{let s=new FormData;return s.append("file",r),t(Tt(),{method:"POST",body:s,token:n})},listMedia:async(r,n)=>{let s=new URLSearchParams({no_page:"true"});n&&s.set("kind",n);let o=await t(`/api/storefront/media-assets/?${s.toString()}`,{token:r});return Array.isArray(o)?o:o.results??[]}}}var or=Ot();export{ee as a,z as b,Z as c,P as d,Be as e,U as f,de as g,Xe as h,h as i,M as j,N as k,Zt as l,i as m,ct as n,lt as o,ve as p,St as q,Pt as r,wt as s,Rt as t,tr as u,rr as v,nr as w,H as x,sr as y,or as z};