@shopify/hydrogen 2023.7.3 → 2023.7.4

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.
@@ -5,9 +5,14 @@ var serverRuntime = require('@remix-run/server-runtime');
5
5
  var react = require('react');
6
6
  var react$1 = require('@remix-run/react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
+ var Tr = require('content-security-policy-builder');
8
9
 
9
- var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{for(var r in t)ze(e,r,{get:t[r],enumerable:!0});};var Ne={};Xe(Ne,{default:()=>Le,logSeoTags:()=>ve});function Le({headTags:e}){return ve(e),null}function ve(e){console.log(" "),console.log("%cSEO Meta Tags",`${xt}`),console.log(" "),e.forEach(t=>{if(t.tag==="script"){if(console.log("%c\u2022 JSON LD ",Z),t.children)try{console.table(JSON.parse(t.children),["name","content"]);}catch{console.log(t.children);}}else {if(console.log(`%c\u2022 ${t.tag} `,Z),t.children)if(typeof t.children=="string")console.log(`\u21B3 ${t.children}`);else try{Object.entries(JSON.parse(t.children)).map(([r,a])=>console.log(`\u21B3 ${a}`));}catch{console.log(t.children);}if(t.props.property==="og:image:url"){let r=t.props.content;At(r).then(a=>{let n=`font-size: 400px; padding: 10px; background: white url(${a}) no-repeat center; background-size: contain;`;console.log("%c\u2022 Share image preview",Z),console.log("%c ",n),console.log(`\u21B3 ${r}`);}).catch(a=>{console.error(a);});}Object.entries(t.props).map(([r,a])=>{console.log(`\u21B3 ${r} \u2192 ${a}`);});}console.log(" ");});}async function At(e){let a=await(await(await fetch(e)).blob()).arrayBuffer();return `data:image/png;base64,${Ot(a)}`}function Ot(e){let t="",r=new Uint8Array(e),a=r.byteLength;for(let n=0;n<a;n++)t+=String.fromCharCode(r[n]);return btoa(t)}var Z,xt,Fe=Ye(()=>{Z="text-transform: uppercase;",xt="text-transform: uppercase; font-weight: bold; text-transform: uppercase;font-weight: bold";});function me(e){let t=Array.isArray(e)?e:[e],r="";for(let a of t)a!=null&&(typeof a=="object"?a.body&&typeof a.body=="string"?r+=a.body:r+=JSON.stringify(a):r+=a);return encodeURIComponent(r)}var k="public",Ze="private",_="no-store",Ce={maxAge:"max-age",staleWhileRevalidate:"stale-while-revalidate",sMaxAge:"s-maxage",staleIfError:"stale-if-error"};function P(e){let t=[];return Object.keys(e).forEach(r=>{r==="mode"?t.push(e[r]):Ce[r]&&t.push(`${Ce[r]}=${e[r]}`);}),t.join(", ")}function Q(){return {mode:_}}function he(e){if(e?.mode&&e?.mode!==k&&e?.mode!==Ze)throw Error("'mode' must be either 'public' or 'private'")}function I(e){return he(e),{mode:k,maxAge:1,staleWhileRevalidate:9,...e}}function H(e){return he(e),{mode:k,maxAge:3600,staleWhileRevalidate:82800,...e}}function G(e){return e}function M(e){return String(e).includes("__proto__")?JSON.parse(e,et):JSON.parse(e)}function et(e,t){if(e!=="__proto__")return t}function U(e,t){return e&&t?{...e,...t}:e||I()}function V(e){return P(U(e))}async function tt(e,t){if(!e)return;let r=await e.match(t);if(!r){return}return r}async function rt(e,t,r,a){if(!e)return;let n=U(a),o=V(U(n,{maxAge:(n.maxAge||0)+(n.staleWhileRevalidate||0)})),i=V(U(n));r.headers.set("cache-control",o),r.headers.set("real-cache-control",i),r.headers.set("cache-put-date",new Date().toUTCString()),await e.put(t,r);}async function at(e,t){e&&await e.delete(t);}function nt(e,t){let r=e.headers.get("real-cache-control"),a=0;if(r){let o=r.match(/max-age=(\d*)/);o&&o.length>1&&(a=parseFloat(o[1]));}return [(new Date().valueOf()-new Date(t).valueOf())/1e3,a]}function ot(e,t){let r=t.headers.get("cache-put-date");if(!r)return !1;let[a,n]=nt(t,r),o=a>n;return o}var E={get:tt,set:rt,delete:at,generateDefaultCacheControlHeader:V,isStale:ot};function B(e){return `https://shopify.dev/?${e}`}function it(e){return e||I()}async function Se(e,t){if(!e)return;let r=B(t),a=new Request(r),n=await E.get(e,a);if(!n)return;let o=await n.text();try{return [M(o),n]}catch{return [o,n]}}async function j(e,t,r,a){if(!e)return;let n=B(t),o=new Request(n),i=new Response(JSON.stringify(r));await E.set(e,o,i,it(a));}function Ie(e,t){return E.isStale(new Request(B(e)),t)}function st(e,t){return [e,{status:t.status,statusText:t.statusText,headers:Array.from(t.headers.entries())}]}function Re([e,t]){return [e,new Response(e,t)]}var Te=e=>!e?.errors,W=new Set;async function J(e,t,{strategy:r=I(),cacheInstance:a,shouldCacheResult:n=()=>!0,waitUntil:o}){if(!a||!r||r.mode===_)return t();let i=me([...typeof e=="string"?[e]:e]),s=await Se(a,i);if(s){let[c,p]=s;if(!W.has(i)&&Ie(i,p)){W.add(i);let d=Promise.resolve().then(async()=>{try{let l=await t();n(l)&&await j(a,i,l,r);}catch(l){l.message&&(l.message="SWR in sub-request failed: "+l.message),console.error(l);}finally{W.delete(i);}});o?.(d);}return c}let u=await t();if(n(u)){let c=j(a,i,u,r);o?.(c);}return u}async function xe(e,t,{cacheInstance:r,cache:a,cacheKey:n=[e,t],shouldCacheResponse:o=()=>!0,waitUntil:i,returnType:s="json"}={}){return !a&&(!t.method||t.method==="GET")&&(a=I()),J(n,async()=>{let u=await fetch(e,t),c;try{c=await u[s]();}catch{try{c=await u.text();}catch{throw new Error(`Storefront API response code: ${u.status} (Request Id: ${u.headers.get("x-request-id")})`)}}return st(c,u)},{cacheInstance:r,waitUntil:i,strategy:a??null,shouldCacheResult:u=>o(...Re(u))}).then(Re)}var Ae="Custom-Storefront-Request-Group-ID";function Oe(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`weak-${Math.random().toString(16).substring(2)}`}var K="2023.7.3";var Me=class extends Error{},yt=e=>e instanceof Me,ft=/(^|}\s)query[\s({]/im,gt=/(^|}\s)mutation[\s({]/im;function De(e){return e.replace(/\s*#.*$/gm,"").replace(/\s+/gm," ").trim()}var mt={language:"EN",country:"US"};function qr(e){let {storefrontHeaders:t,cache:r,waitUntil:a,buyerIp:n,i18n:o,requestGroupId:i,storefrontId:s,...u}=e,{getPublicTokenHeaders:p,getPrivateTokenHeaders:d,getStorefrontApiUrl:l,getShopifyDomain:h}=hydrogenReact.createStorefrontClient(u),m=(u.privateStorefrontToken?d:p)({contentType:"json",buyerIp:t?.buyerIp||n});if(m[Ae]=t?.requestGroupId||i||Oe(),s&&(m[hydrogenReact.SHOPIFY_STOREFRONT_ID_HEADER]=s),(m["user-agent"]=`Hydrogen ${K}`),t&&t.cookie){let y=hydrogenReact.getShopifyCookies(t.cookie??"");y[hydrogenReact.SHOPIFY_Y]&&(m[hydrogenReact.SHOPIFY_STOREFRONT_Y_HEADER]=y[hydrogenReact.SHOPIFY_Y]),y[hydrogenReact.SHOPIFY_S]&&(m[hydrogenReact.SHOPIFY_STOREFRONT_S_HEADER]=y[hydrogenReact.SHOPIFY_S]);}async function O({query:y,mutation:S,variables:A,cache:Ve,headers:b=[],storefrontApiVersion:Be}){let je=b instanceof Headers?Object.fromEntries(b.entries()):Array.isArray(b)?Object.fromEntries(b):b;y=y??S;let w={...A};o&&(!A?.country&&/\$country/.test(y)&&(w.country=o.country),!A?.language&&/\$language/.test(y)&&(w.language=o.language));let We=l({storefrontApiVersion:Be}),Je={method:"POST",headers:{...m,...je},body:JSON.stringify({query:y,variables:w})},[$,ye]=await xe(We,Je,{cacheInstance:S?void 0:r,cache:Ve||I(),shouldCacheResponse:Te,waitUntil:a}),fe={response:ye,type:S?"mutation":"query",query:y,queryVariables:w,errors:void 0};if(!ye.ok){let q;try{q=M($);}catch{q=[{message:$}];}we({...fe,errors:q});}let{data:Ke,errors:ge}=$;return ge?.length&&we({...fe,errors:ge,ErrorConstructor:Me}),Ke}return {storefront:{query:(y,S)=>{if(y=De(y),gt.test(y))throw new Error("[h2:error:storefront.query] Cannot execute mutations");return O({...S,query:y})},mutate:(y,S)=>{if(y=De(y),ft.test(y))throw new Error("[h2:error:storefront.mutate] Cannot execute queries");return O({...S,mutation:y})},cache:r,CacheNone:Q,CacheLong:H,CacheShort:I,CacheCustom:G,generateCacheControlHeader:P,getPublicTokenHeaders:p,getPrivateTokenHeaders:d,getShopifyDomain:h,getApiUrl:l,isApiError:yt,i18n:o??mt}}}function we({response:e,errors:t,type:r,query:a,queryVariables:n,ErrorConstructor:o=Error}){let i=e.headers.get("x-request-id"),s=(typeof t=="string"?t:t?.map?.(u=>u.message).join(`
10
- `))||`API response error: ${e.status}`;throw new o(`[h2:error:storefront.${r}] `+s+(i?` - Request ID: ${i}`:""),{cause:{errors:t,requestId:i}})}function Hr(e){let{cache:t,waitUntil:r}=e;return function(n,o,i){return J(n,i,{strategy:o,cacheInstance:t,waitUntil:r})}}var z=class{#e;constructor(){this.#e=new Map;}add(t){throw new Error("Method not implemented. Use `put` instead.")}addAll(t){throw new Error("Method not implemented. Use `put` instead.")}matchAll(t,r){throw new Error("Method not implemented. Use `match` instead.")}async put(t,r){if(t.method!=="GET")throw new TypeError("Cannot cache response to non-GET request.");if(r.status===206)throw new TypeError("Cannot cache response to a range request (206 Partial Content).");if(r.headers.get("vary")?.includes("*"))throw new TypeError("Cannot cache response with 'Vary: *' header.");this.#e.set(t.url,{body:new Uint8Array(await r.arrayBuffer()),status:r.status,headers:[...r.headers],timestamp:Date.now()});}async match(t){if(t.method!=="GET")return;let r=this.#e.get(t.url);if(!r)return;let{body:a,timestamp:n,...o}=r,i=new Headers(o.headers),s=i.get("cache-control")||i.get("real-cache-control")||"",u=parseInt(s.match(/max-age=(\d+)/)?.[1]||"0",10),c=parseInt(s.match(/stale-while-revalidate=(\d+)/)?.[1]||"0",10),p=(Date.now()-n)/1e3;if(p>u+c){this.#e.delete(t.url);return}let l=p>u;return i.set("cache",l?"STALE":"HIT"),i.set("date",new Date(n).toUTCString()),new Response(a,{status:o.status??200,headers:i})}async delete(t){return this.#e.has(t.url)?(this.#e.delete(t.url),!0):!1}keys(t){let r=[];for(let a of this.#e.keys())(!t||t.url===a)&&r.push(new Request(a));return Promise.resolve(r)}};async function Ct(e){let{storefront:t,request:r,noAdminRedirect:a,response:n=new Response("Not Found",{status:404})}=e,{pathname:o,search:i}=new URL(r.url),s=o+i;if(o==="/admin"&&!a)return serverRuntime.redirect(`${t.getShopifyDomain()}/admin`);try{let{urlRedirects:u}=await t.query(St,{variables:{query:"path:"+s}}),c=u?.edges?.[0]?.node?.target;if(c)return new Response(null,{status:301,headers:{location:c}});let p=new URLSearchParams(i),d=p.get("return_to")||p.get("redirect");if(d){if(ht(d))return serverRuntime.redirect(d);console.warn(`Cross-domain redirects are not supported. Tried to redirect from ${s} to ${d}`);}}catch(u){console.error(`Failed to fetch redirects from Storefront API for route ${s}`,u);}return n}function ht(e){try{new URL(e);}catch{return !0}return !1}var St=`#graphql
10
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ var Tr__default = /*#__PURE__*/_interopDefault(Tr);
13
+
14
+ var et=Object.defineProperty;var tt=(e,t)=>()=>(e&&(t=e(e=0)),t);var rt=(e,t)=>{for(var r in t)et(e,r,{get:t[r],enumerable:!0});};var $e={};rt($e,{default:()=>Ne,logSeoTags:()=>Fe});function Ne({headTags:e}){return Fe(e),null}function Fe(e){console.log(" "),console.log("%cSEO Meta Tags",`${Pt}`),console.log(" "),e.forEach(t=>{if(t.tag==="script"){if(console.log("%c\u2022 JSON LD ",ee),t.children)try{console.table(JSON.parse(t.children),["name","content"]);}catch{console.log(t.children);}}else {if(console.log(`%c\u2022 ${t.tag} `,ee),t.children)if(typeof t.children=="string")console.log(`\u21B3 ${t.children}`);else try{Object.entries(JSON.parse(t.children)).map(([r,a])=>console.log(`\u21B3 ${a}`));}catch{console.log(t.children);}if(t.props.property==="og:image:url"){let r=t.props.content;Dt(r).then(a=>{let n=`font-size: 400px; padding: 10px; background: white url(${a}) no-repeat center; background-size: contain;`;console.log("%c\u2022 Share image preview",ee),console.log("%c ",n),console.log(`\u21B3 ${r}`);}).catch(a=>{console.error(a);});}Object.entries(t.props).map(([r,a])=>{console.log(`\u21B3 ${r} \u2192 ${a}`);});}console.log(" ");});}async function Dt(e){let a=await(await(await fetch(e)).blob()).arrayBuffer();return `data:image/png;base64,${wt(a)}`}function wt(e){let t="",r=new Uint8Array(e),a=r.byteLength;for(let n=0;n<a;n++)t+=String.fromCharCode(r[n]);return btoa(t)}var ee,Pt,qe=tt(()=>{ee="text-transform: uppercase;",Pt="text-transform: uppercase; font-weight: bold; text-transform: uppercase;font-weight: bold";});function he(e){let t=Array.isArray(e)?e:[e],r="";for(let a of t)a!=null&&(typeof a=="object"?a.body&&typeof a.body=="string"?r+=a.body:r+=JSON.stringify(a):r+=a);return encodeURIComponent(r)}var _="public",at="private",Q="no-store",Se={maxAge:"max-age",staleWhileRevalidate:"stale-while-revalidate",sMaxAge:"s-maxage",staleIfError:"stale-if-error"};function b(e){let t=[];return Object.keys(e).forEach(r=>{r==="mode"?t.push(e[r]):Se[r]&&t.push(`${Se[r]}=${e[r]}`);}),t.join(", ")}function H(){return {mode:Q}}function Ie(e){if(e?.mode&&e?.mode!==_&&e?.mode!==at)throw Error("'mode' must be either 'public' or 'private'")}function I(e){return Ie(e),{mode:_,maxAge:1,staleWhileRevalidate:9,...e}}function G(e){return Ie(e),{mode:_,maxAge:3600,staleWhileRevalidate:82800,...e}}function V(e){return e}function U(e){return String(e).includes("__proto__")?JSON.parse(e,nt):JSON.parse(e)}function nt(e,t){if(e!=="__proto__")return t}function E(e,t){return e&&t?{...e,...t}:e||I()}function B(e){return b(E(e))}async function ot(e,t){if(!e)return;let r=await e.match(t);if(!r){return}return r}async function it(e,t,r,a){if(!e)return;let n=E(a),i=B(E(n,{maxAge:(n.maxAge||0)+(n.staleWhileRevalidate||0)})),o=B(E(n));r.headers.set("cache-control",i),r.headers.set("real-cache-control",o),r.headers.set("cache-put-date",new Date().toUTCString()),await e.put(t,r);}async function st(e,t){e&&await e.delete(t);}function ct(e,t){let r=e.headers.get("real-cache-control"),a=0;if(r){let i=r.match(/max-age=(\d*)/);i&&i.length>1&&(a=parseFloat(i[1]));}return [(new Date().valueOf()-new Date(t).valueOf())/1e3,a]}function pt(e,t){let r=t.headers.get("cache-put-date");if(!r)return !1;let[a,n]=ct(t,r),i=a>n;return i}var v={get:ot,set:it,delete:st,generateDefaultCacheControlHeader:B,isStale:pt};function j(e){return `https://shopify.dev/?${e}`}function ut(e){return e||I()}async function Re(e,t){if(!e)return;let r=j(t),a=new Request(r),n=await v.get(e,a);if(!n)return;let i=await n.text();try{return [U(i),n]}catch{return [i,n]}}async function W(e,t,r,a){if(!e)return;let n=j(t),i=new Request(n),o=new Response(JSON.stringify(r));await v.set(e,i,o,ut(a));}function Te(e,t){return v.isStale(new Request(j(e)),t)}function dt(e,t){return [e,{status:t.status,statusText:t.statusText,headers:Array.from(t.headers.entries())}]}function xe([e,t]){return [e,new Response(e,t)]}var Ae=e=>!e?.errors,J=new Set;async function K(e,t,{strategy:r=I(),cacheInstance:a,shouldCacheResult:n=()=>!0,waitUntil:i}){if(!a||!r||r.mode===Q)return t();let o=he([...typeof e=="string"?[e]:e]),s=await Re(a,o);if(s){let[d,u]=s;if(!J.has(o)&&Te(o,u)){J.add(o);let p=Promise.resolve().then(async()=>{try{let l=await t();n(l)&&await W(a,o,l,r);}catch(l){l.message&&(l.message="SWR in sub-request failed: "+l.message),console.error(l);}finally{J.delete(o);}});i?.(p);}return d}let c=await t();if(n(c)){let d=W(a,o,c,r);i?.(d);}return c}async function Oe(e,t,{cacheInstance:r,cache:a,cacheKey:n=[e,t],shouldCacheResponse:i=()=>!0,waitUntil:o,returnType:s="json"}={}){return !a&&(!t.method||t.method==="GET")&&(a=I()),K(n,async()=>{let c=await fetch(e,t),d;try{d=await c[s]();}catch{try{d=await c.text();}catch{throw new Error(`Storefront API response code: ${c.status} (Request Id: ${c.headers.get("x-request-id")})`)}}return dt(d,c)},{cacheInstance:r,waitUntil:o,strategy:a??null,shouldCacheResult:c=>i(...xe(c))}).then(xe)}var be="Custom-Storefront-Request-Group-ID";function Pe(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():`weak-${Math.random().toString(16).substring(2)}`}var z="2023.7.4";var Ee=class extends Error{},Ct=e=>e instanceof Ee,ht=/(^|}\s)query[\s({]/im,St=/(^|}\s)mutation[\s({]/im;function Me(e){return e.replace(/\s*#.*$/gm,"").replace(/\s+/gm," ").trim()}var It={language:"EN",country:"US"};function ta(e){let {storefrontHeaders:t,cache:r,waitUntil:a,buyerIp:n,i18n:i,requestGroupId:o,storefrontId:s,...c}=e,{getPublicTokenHeaders:u,getPrivateTokenHeaders:p,getStorefrontApiUrl:l,getShopifyDomain:h}=hydrogenReact.createStorefrontClient(c),y=(c.privateStorefrontToken?p:u)({contentType:"json",buyerIp:t?.buyerIp||n});if(y[be]=t?.requestGroupId||o||Pe(),s&&(y[hydrogenReact.SHOPIFY_STOREFRONT_ID_HEADER]=s),(y["user-agent"]=`Hydrogen ${z}`),t&&t.cookie){let f=hydrogenReact.getShopifyCookies(t.cookie??"");f[hydrogenReact.SHOPIFY_Y]&&(y[hydrogenReact.SHOPIFY_STOREFRONT_Y_HEADER]=f[hydrogenReact.SHOPIFY_Y]),f[hydrogenReact.SHOPIFY_S]&&(y[hydrogenReact.SHOPIFY_STOREFRONT_S_HEADER]=f[hydrogenReact.SHOPIFY_S]);}async function A({query:f,mutation:R,variables:T,cache:w,headers:O=[],storefrontApiVersion:Ke}){let ze=O instanceof Headers?Object.fromEntries(O.entries()):Array.isArray(O)?Object.fromEntries(O):O;f=f??R;let M={...T};i&&(!T?.country&&/\$country/.test(f)&&(M.country=i.country),!T?.language&&/\$language/.test(f)&&(M.language=i.language));let Ye=l({storefrontApiVersion:Ke}),Xe={method:"POST",headers:{...y,...ze},body:JSON.stringify({query:f,variables:M})},[q,ge]=await Oe(Ye,Xe,{cacheInstance:R?void 0:r,cache:w||I(),shouldCacheResponse:Ae,waitUntil:a}),me={response:ge,type:R?"mutation":"query",query:f,queryVariables:M,errors:void 0};if(!ge.ok){let k;try{k=U(q);}catch{k=[{message:q}];}Ue({...me,errors:k});}let{data:Ze,errors:Ce}=q;return Ce?.length&&Ue({...me,errors:Ce,ErrorConstructor:Ee}),Ze}return {storefront:{query:(f,R)=>{if(f=Me(f),St.test(f))throw new Error("[h2:error:storefront.query] Cannot execute mutations");return A({...R,query:f})},mutate:(f,R)=>{if(f=Me(f),ht.test(f))throw new Error("[h2:error:storefront.mutate] Cannot execute queries");return A({...R,mutation:f})},cache:r,CacheNone:H,CacheLong:G,CacheShort:I,CacheCustom:V,generateCacheControlHeader:b,getPublicTokenHeaders:u,getPrivateTokenHeaders:p,getShopifyDomain:h,getApiUrl:l,isApiError:Ct,i18n:i??It}}}function Ue({response:e,errors:t,type:r,query:a,queryVariables:n,ErrorConstructor:i=Error}){let o=e.headers.get("x-request-id"),s=(typeof t=="string"?t:t?.map?.(c=>c.message).join(`
15
+ `))||`API response error: ${e.status}`;throw new i(`[h2:error:storefront.${r}] `+s+(o?` - Request ID: ${o}`:""),{cause:{errors:t,requestId:o}})}function oa(e){let{cache:t,waitUntil:r}=e;return function(n,i,o){return K(n,o,{strategy:i,cacheInstance:t,waitUntil:r})}}var Y=class{#e;constructor(){this.#e=new Map;}add(t){throw new Error("Method not implemented. Use `put` instead.")}addAll(t){throw new Error("Method not implemented. Use `put` instead.")}matchAll(t,r){throw new Error("Method not implemented. Use `match` instead.")}async put(t,r){if(t.method!=="GET")throw new TypeError("Cannot cache response to non-GET request.");if(r.status===206)throw new TypeError("Cannot cache response to a range request (206 Partial Content).");if(r.headers.get("vary")?.includes("*"))throw new TypeError("Cannot cache response with 'Vary: *' header.");this.#e.set(t.url,{body:new Uint8Array(await r.arrayBuffer()),status:r.status,headers:[...r.headers],timestamp:Date.now()});}async match(t){if(t.method!=="GET")return;let r=this.#e.get(t.url);if(!r)return;let{body:a,timestamp:n,...i}=r,o=new Headers(i.headers),s=o.get("cache-control")||o.get("real-cache-control")||"",c=parseInt(s.match(/max-age=(\d+)/)?.[1]||"0",10),d=parseInt(s.match(/stale-while-revalidate=(\d+)/)?.[1]||"0",10),u=(Date.now()-n)/1e3;if(u>c+d){this.#e.delete(t.url);return}let l=u>c;return o.set("cache",l?"STALE":"HIT"),o.set("date",new Date(n).toUTCString()),new Response(a,{status:i.status??200,headers:o})}async delete(t){return this.#e.has(t.url)?(this.#e.delete(t.url),!0):!1}keys(t){let r=[];for(let a of this.#e.keys())(!t||t.url===a)&&r.push(new Request(a));return Promise.resolve(r)}};async function Rt(e){let{storefront:t,request:r,noAdminRedirect:a,response:n=new Response("Not Found",{status:404})}=e,{pathname:i,search:o}=new URL(r.url),s=i+o;if(i==="/admin"&&!a)return serverRuntime.redirect(`${t.getShopifyDomain()}/admin`);try{let{urlRedirects:c}=await t.query(xt,{variables:{query:"path:"+s}}),d=c?.edges?.[0]?.node?.target;if(d)return new Response(null,{status:301,headers:{location:d}});let u=new URLSearchParams(o),p=u.get("return_to")||u.get("redirect");if(p){if(Tt(p))return serverRuntime.redirect(p);console.warn(`Cross-domain redirects are not supported. Tried to redirect from ${s} to ${p}`);}}catch(c){console.error(`Failed to fetch redirects from Storefront API for route ${s}`,c);}return n}function Tt(e){try{new URL(e);}catch{return !0}return !1}var xt=`#graphql
11
16
  query redirects($query: String) {
12
17
  urlRedirects(first: 1, query: $query) {
13
18
  edges {
@@ -17,12 +22,12 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
17
22
  }
18
23
  }
19
24
  }
20
- `;var It=async function({context:t}){let r=t?.storefront;if(!r)throw new Error("GraphiQL: Hydrogen's storefront client must be injected in the loader context.");let a=r.getApiUrl(),n=r.getPublicTokenHeaders()["X-Shopify-Storefront-Access-Token"],o="https://avatars.githubusercontent.com/u/12972006?s=48&v=4";return new Response(`
25
+ `;var At=async function({context:t}){let r=t?.storefront;if(!r)throw new Error("GraphiQL: Hydrogen's storefront client must be injected in the loader context.");let a=r.getApiUrl(),n=r.getPublicTokenHeaders()["X-Shopify-Storefront-Access-Token"],i="https://avatars.githubusercontent.com/u/12972006?s=48&v=4";return new Response(`
21
26
  <!DOCTYPE html>
22
27
  <html lang="en">
23
28
  <head>
24
29
  <title>GraphiQL</title>
25
- <link rel="icon" type="image/x-icon" href="${o}">
30
+ <link rel="icon" type="image/x-icon" href="${i}">
26
31
  <style>
27
32
  body {
28
33
  height: 100%;
@@ -85,18 +90,18 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
85
90
  </script>
86
91
  </body>
87
92
  </html>
88
- `,{status:200,headers:{"content-type":"text/html"}})};var T="Error in SEO input: ",L={title:{validate:e=>{if(typeof e!="string")throw new Error(T.concat("`title` should be a string"));if(typeof e=="string"&&e.length>120)throw new Error(T.concat("`title` should not be longer than 120 characters"));return e}},description:{validate:e=>{if(typeof e!="string")throw new Error(T.concat("`description` should be a string"));if(typeof e=="string"&&e.length>155)throw new Error(T.concat("`description` should not be longer than 155 characters"));return e}},url:{validate:e=>{if(typeof e!="string")throw new Error(T.concat("`url` should be a string"));if(typeof e=="string"&&!e.startsWith("http"))throw new Error(T.concat("`url` should be a valid URL"));return e}},handle:{validate:e=>{if(typeof e!="string")throw new Error(T.concat("`handle` should be a string"));if(typeof e=="string"&&!e.startsWith("@"))throw new Error(T.concat("`handle` should start with `@`"));return e}}};function Ee(e){let t=[];for(let r of Object.keys(e))switch(r){case"title":{let a=v(L.title,e.title),n=Rt(e?.titleTemplate,a);if(!n)break;t.push(C("title",{title:n}),C("meta",{property:"og:title",content:n}),C("meta",{name:"twitter:title",content:n}));break}case"description":{let a=v(L.description,e.description);if(!a)break;t.push(C("meta",{name:"description",content:a}),C("meta",{property:"og:description",content:a}),C("meta",{name:"twitter:description",content:a}));break}case"url":{let a=v(L.url,e.url);if(!a)break;t.push(C("link",{rel:"canonical",href:a}),C("meta",{property:"og:url",content:a}));break}case"handle":{let a=v(L.handle,e.handle);if(!a)break;t.push(C("meta",{name:"twitter:site",content:a}),C("meta",{name:"twitter:creator",content:a}));break}case"media":{let a,n=X(e.media);for(let o of n)if(typeof o=="string"&&t.push(C("meta",{name:"og:image",content:o})),o&&typeof o=="object"){let i=o.type||"image",s=o?{url:o?.url,secure_url:o?.url,type:Tt(o.url),width:o?.width,height:o?.height,alt:o?.altText}:{};for(let u of Object.keys(s))s[u]&&(a=s[u],t.push(C("meta",{property:`og:${i}:${u}`,content:a},s.url)));}break}case"jsonLd":{let a=X(e.jsonLd),n=0;for(let o of a){if(typeof o!="object")continue;let i=C("script",{type:"application/ld+json",children:JSON.stringify(o)},`json-ld-${o?.["@type"]||o?.name||n++}`);t.push(i);}break}case"alternates":{let a=X(e.alternates);for(let n of a){if(!n)continue;let{language:o,url:i,default:s}=n,u=o?`${o}${s?"-default":""}`:void 0;t.push(C("link",{rel:"alternate",hrefLang:u,href:i}));}break}case"robots":{if(!e.robots)break;let{maxImagePreview:a,maxSnippet:n,maxVideoPreview:o,noArchive:i,noFollow:s,noImageIndex:u,noIndex:c,noSnippet:p,noTranslate:d,unavailableAfter:l}=e.robots,h=[i&&"noarchive",u&&"noimageindex",p&&"nosnippet",d&&"notranslate",a&&`max-image-preview:${a}`,n&&`max-snippet:${n}`,o&&`max-video-preview:${o}`,l&&`unavailable_after:${l}`],R=(c?"noindex":"index")+","+(s?"nofollow":"follow");for(let m of h)m&&(R+=`,${m}`);t.push(C("meta",{name:"robots",content:R}));break}}return t.flat().sort((r,a)=>r.key.localeCompare(a.key))}function C(e,t,r){let a={tag:e,props:{},key:""};return e==="title"?(a.children=t.title,a.key=Y(a),a):e==="script"?(a.children=typeof t.children=="string"?t.children:"",a.key=Y(a,r),delete t.children,a.props=t,a):(a.props=t,Object.keys(a.props).forEach(n=>!a.props[n]&&delete a.props[n]),a.key=Y(a,r),a)}function Y(e,t){let{tag:r,props:a}=e;if(r==="title")return "0-title";if(r==="meta"){let n=a.content===t&&typeof a.property=="string"&&!a.property.endsWith("secure_url")&&"0";return [r,...[t,n],a.property||a.name].filter(i=>i).join("-")}return r==="link"?[r,a.rel,a.hrefLang||a.media].filter(o=>o).join("-").replace(/\s+/g,"-"):r==="script"?`${r}-${t}`:`${r}-${a.type}`}function Rt(e,t){if(t)return e?typeof e=="function"?e(t):e.replace("%s",t??""):t}function Tt(e){switch(e&&e.split(".").pop()){case"svg":return "image/svg+xml";case"png":return "image/png";case"gif":return "image/gif";case"swf":return "application/x-shockwave-flash";case"mp3":return "audio/mpeg";case"jpg":case"jpeg":default:return "image/jpeg"}}function X(e){return Array.isArray(e)?e:[e]}function v(e,t){try{return e.validate(t)}catch(r){return console.warn(r.message),t}}var Ut=react.lazy(()=>Promise.resolve().then(()=>(Fe(),Ne)));function Et({debug:e}){let t=react$1.useMatches(),r=react$1.useLocation(),a=react.useMemo(()=>t.flatMap(i=>{let{handle:s,...u}=i,c={...u,...r},p=s?.seo,d=u?.data?.seo;return !p&&!d?[]:p?N(s.seo,c):[d]}).reduce((i,s)=>{Object.keys(s).forEach(c=>!s[c]&&delete s[c]);let{jsonLd:u}=s;return u?i?.jsonLd?Array.isArray(u)?{...i,...s,jsonLd:[...i.jsonLd,...u]}:{...i,...s,jsonLd:[...i.jsonLd,u]}:{...i,...s,jsonLd:[u]}:{...i,...s}},{}),[t,r]),{html:n,loggerMarkup:o}=react.useMemo(()=>{let i=Ee(a),s=i.map(c=>c.tag==="script"?react.createElement(c.tag,{...c.props,key:c.key,dangerouslySetInnerHTML:{__html:c.children}}):react.createElement(c.tag,{...c.props,key:c.key},c.children)),u=react.createElement(react.Suspense,{fallback:null},react.createElement(Ut,{headTags:i}));return {html:s,loggerMarkup:u}},[a]);return react.createElement(react.Fragment,null,n,e&&o)}function N(e,...t){if(e instanceof Function)return N(e(...t),...t);let r={};return Array.isArray(e)?(r=e.reduce((a,n)=>[...a,N(n)],[]),r):e instanceof Object?(Object.entries(e).forEach(([n,o])=>{r[n]=N(o,...t);}),r):e}function Nt({connection:e,children:t=()=>(console.warn("<Pagination> requires children to work properly"),null)}){let a=react$1.useNavigation().state==="loading",{endCursor:n,hasNextPage:o,hasPreviousPage:i,nextPageUrl:s,nodes:u,previousPageUrl:c,startCursor:p}=Ft(e),d=react.useMemo(()=>({pageInfo:{endCursor:n,hasPreviousPage:i,startCursor:p},nodes:u}),[n,i,p,u]),l=react.useMemo(()=>function(m){return o?react.createElement(react$1.Link,{preventScrollReset:!0,...m,to:s,state:d,replace:!0}):null},[o,s]),h=react.useMemo(()=>function(m){return i?react.createElement(react$1.Link,{preventScrollReset:!0,...m,to:c,state:d,replace:!0}):null},[i,c]);return t({state:d,hasNextPage:o,hasPreviousPage:i,isLoading:a,nextPageUrl:s,nodes:u,previousPageUrl:c,NextLink:l,PreviousLink:h})}function Ft(e){let{state:t,search:r}=react$1.useLocation(),o=new URLSearchParams(r).get("direction")==="previous",i=react.useMemo(()=>!t||!t?.nodes?hydrogenReact.flattenConnection(e):o?[...hydrogenReact.flattenConnection(e),...t.nodes]:[...t.nodes,...hydrogenReact.flattenConnection(e)],[t,e]),s=react.useMemo(()=>{let p=t?.pageInfo?.startCursor===void 0?e.pageInfo.startCursor:t.pageInfo.startCursor,d=t?.pageInfo?.endCursor===void 0?e.pageInfo.endCursor:t.pageInfo.endCursor;t?.nodes&&(o?p=e.pageInfo.startCursor:d=e.pageInfo.endCursor);let l=t?.pageInfo?.hasPreviousPage===void 0?e.pageInfo.hasPreviousPage:t.pageInfo.hasPreviousPage,h=t?.pageInfo?.hasNextPage===void 0?e.pageInfo.hasNextPage:t.pageInfo.hasNextPage;return {startCursor:p,endCursor:d,hasPreviousPage:l,hasNextPage:h}},[o,t,e.pageInfo.hasNextPage,e.pageInfo.hasPreviousPage,e.pageInfo.startCursor,e.pageInfo.endCursor]),u=react.useMemo(()=>{let p=new URLSearchParams(r);return p.set("direction","previous"),s.startCursor&&p.set("cursor",s.startCursor),`?${p.toString()}`},[r,s.startCursor]),c=react.useMemo(()=>{let p=new URLSearchParams(r);return p.set("direction","next"),s.endCursor&&p.set("cursor",s.endCursor),`?${p.toString()}`},[r,s.endCursor]);return {...s,previousPageUrl:u,nextPageUrl:c,nodes:i}}function $t(e,t={pageBy:20}){if(!(e instanceof Request))throw new Error("getPaginationVariables must be called with the Request object passed to your loader function");let{pageBy:r}=t,a=new URLSearchParams(new URL(e.url).search),n=a.get("cursor")??void 0;return (a.get("direction")==="previous"?"previous":"next")==="previous"?{last:r,startCursor:n??null}:{first:r,endCursor:n??null}}var _e="cartFormInput";function F({children:e,action:t,inputs:r,route:a}){let n=react$1.useFetcher();return jsxRuntime.jsxs(n.Form,{action:a||"",method:"post",children:[(t||r)&&jsxRuntime.jsx("input",{type:"hidden",name:_e,value:JSON.stringify({action:t,inputs:r})}),typeof e=="function"?e(n):e]})}F.INPUT_NAME=_e;F.ACTIONS={AttributesUpdateInput:"AttributesUpdateInput",BuyerIdentityUpdate:"BuyerIdentityUpdate",Create:"Create",DiscountCodesUpdate:"DiscountCodesUpdate",LinesAdd:"LinesAdd",LinesRemove:"LinesRemove",LinesUpdate:"LinesUpdate",NoteUpdate:"NoteUpdate",SelectedDeliveryOptionsUpdate:"SelectedDeliveryOptionsUpdate",MetafieldsSet:"MetafieldsSet",MetafieldDelete:"MetafieldDelete"};function kt(e){let t={};for(let i of e.entries()){let s=i[0],u=e.getAll(s);t[s]=u.length>1?u:i[1];}let{cartFormInput:r,...a}=t,{action:n,inputs:o}=r?JSON.parse(String(r)):{};return {action:n,inputs:{...o,...a}}}F.getFormInput=kt;var f=`#graphql
93
+ `,{status:200,headers:{"content-type":"text/html"}})};var x="Error in SEO input: ",L={title:{validate:e=>{if(typeof e!="string")throw new Error(x.concat("`title` should be a string"));if(typeof e=="string"&&e.length>120)throw new Error(x.concat("`title` should not be longer than 120 characters"));return e}},description:{validate:e=>{if(typeof e!="string")throw new Error(x.concat("`description` should be a string"));if(typeof e=="string"&&e.length>155)throw new Error(x.concat("`description` should not be longer than 155 characters"));return e}},url:{validate:e=>{if(typeof e!="string")throw new Error(x.concat("`url` should be a string"));if(typeof e=="string"&&!e.startsWith("http"))throw new Error(x.concat("`url` should be a valid URL"));return e}},handle:{validate:e=>{if(typeof e!="string")throw new Error(x.concat("`handle` should be a string"));if(typeof e=="string"&&!e.startsWith("@"))throw new Error(x.concat("`handle` should start with `@`"));return e}}};function Le(e){let t=[];for(let r of Object.keys(e))switch(r){case"title":{let a=N(L.title,e.title),n=Ot(e?.titleTemplate,a);if(!n)break;t.push(C("title",{title:n}),C("meta",{property:"og:title",content:n}),C("meta",{name:"twitter:title",content:n}));break}case"description":{let a=N(L.description,e.description);if(!a)break;t.push(C("meta",{name:"description",content:a}),C("meta",{property:"og:description",content:a}),C("meta",{name:"twitter:description",content:a}));break}case"url":{let a=N(L.url,e.url);if(!a)break;t.push(C("link",{rel:"canonical",href:a}),C("meta",{property:"og:url",content:a}));break}case"handle":{let a=N(L.handle,e.handle);if(!a)break;t.push(C("meta",{name:"twitter:site",content:a}),C("meta",{name:"twitter:creator",content:a}));break}case"media":{let a,n=Z(e.media);for(let i of n)if(typeof i=="string"&&t.push(C("meta",{name:"og:image",content:i})),i&&typeof i=="object"){let o=i.type||"image",s=i?{url:i?.url,secure_url:i?.url,type:bt(i.url),width:i?.width,height:i?.height,alt:i?.altText}:{};for(let c of Object.keys(s))s[c]&&(a=s[c],t.push(C("meta",{property:`og:${o}:${c}`,content:a},s.url)));}break}case"jsonLd":{let a=Z(e.jsonLd),n=0;for(let i of a){if(typeof i!="object")continue;let o=C("script",{type:"application/ld+json",children:JSON.stringify(i)},`json-ld-${i?.["@type"]||i?.name||n++}`);t.push(o);}break}case"alternates":{let a=Z(e.alternates);for(let n of a){if(!n)continue;let{language:i,url:o,default:s}=n,c=i?`${i}${s?"-default":""}`:void 0;t.push(C("link",{rel:"alternate",hrefLang:c,href:o}));}break}case"robots":{if(!e.robots)break;let{maxImagePreview:a,maxSnippet:n,maxVideoPreview:i,noArchive:o,noFollow:s,noImageIndex:c,noIndex:d,noSnippet:u,noTranslate:p,unavailableAfter:l}=e.robots,h=[o&&"noarchive",c&&"noimageindex",u&&"nosnippet",p&&"notranslate",a&&`max-image-preview:${a}`,n&&`max-snippet:${n}`,i&&`max-video-preview:${i}`,l&&`unavailable_after:${l}`],S=(d?"noindex":"index")+","+(s?"nofollow":"follow");for(let y of h)y&&(S+=`,${y}`);t.push(C("meta",{name:"robots",content:S}));break}}return t.flat().sort((r,a)=>r.key.localeCompare(a.key))}function C(e,t,r){let a={tag:e,props:{},key:""};return e==="title"?(a.children=t.title,a.key=X(a),a):e==="script"?(a.children=typeof t.children=="string"?t.children:"",a.key=X(a,r),delete t.children,a.props=t,a):(a.props=t,Object.keys(a.props).forEach(n=>!a.props[n]&&delete a.props[n]),a.key=X(a,r),a)}function X(e,t){let{tag:r,props:a}=e;if(r==="title")return "0-title";if(r==="meta"){let n=a.content===t&&typeof a.property=="string"&&!a.property.endsWith("secure_url")&&"0";return [r,...[t,n],a.property||a.name].filter(o=>o).join("-")}return r==="link"?[r,a.rel,a.hrefLang||a.media].filter(i=>i).join("-").replace(/\s+/g,"-"):r==="script"?`${r}-${t}`:`${r}-${a.type}`}function Ot(e,t){if(t)return e?typeof e=="function"?e(t):e.replace("%s",t??""):t}function bt(e){switch(e&&e.split(".").pop()){case"svg":return "image/svg+xml";case"png":return "image/png";case"gif":return "image/gif";case"swf":return "application/x-shockwave-flash";case"mp3":return "audio/mpeg";case"jpg":case"jpeg":default:return "image/jpeg"}}function Z(e){return Array.isArray(e)?e:[e]}function N(e,t){try{return e.validate(t)}catch(r){return console.warn(r.message),t}}var Nt=react.lazy(()=>Promise.resolve().then(()=>(qe(),$e)));function Ft({debug:e}){let t=react$1.useMatches(),r=react$1.useLocation(),a=react.useMemo(()=>t.flatMap(o=>{let{handle:s,...c}=o,d={...c,...r},u=s?.seo,p=c?.data?.seo;return !u&&!p?[]:u?F(s.seo,d):[p]}).reduce((o,s)=>{Object.keys(s).forEach(d=>!s[d]&&delete s[d]);let{jsonLd:c}=s;return c?o?.jsonLd?Array.isArray(c)?{...o,...s,jsonLd:[...o.jsonLd,...c]}:{...o,...s,jsonLd:[...o.jsonLd,c]}:{...o,...s,jsonLd:[c]}:{...o,...s}},{}),[t,r]),{html:n,loggerMarkup:i}=react.useMemo(()=>{let o=Le(a),s=o.map(d=>d.tag==="script"?react.createElement(d.tag,{...d.props,key:d.key,dangerouslySetInnerHTML:{__html:d.children}}):react.createElement(d.tag,{...d.props,key:d.key},d.children)),c=react.createElement(react.Suspense,{fallback:null},react.createElement(Nt,{headTags:o}));return {html:s,loggerMarkup:c}},[a]);return react.createElement(react.Fragment,null,n,e&&i)}function F(e,...t){if(e instanceof Function)return F(e(...t),...t);let r={};return Array.isArray(e)?(r=e.reduce((a,n)=>[...a,F(n)],[]),r):e instanceof Object?(Object.entries(e).forEach(([n,i])=>{r[n]=F(i,...t);}),r):e}function _t({connection:e,children:t=()=>(console.warn("<Pagination> requires children to work properly"),null)}){let a=react$1.useNavigation().state==="loading",{endCursor:n,hasNextPage:i,hasPreviousPage:o,nextPageUrl:s,nodes:c,previousPageUrl:d,startCursor:u}=Qt(e),p=react.useMemo(()=>({pageInfo:{endCursor:n,hasPreviousPage:o,startCursor:u},nodes:c}),[n,o,u,c]),l=react.useMemo(()=>function(y){return i?react.createElement(react$1.Link,{preventScrollReset:!0,...y,to:s,state:p,replace:!0}):null},[i,s,p]),h=react.useMemo(()=>function(y){return o?react.createElement(react$1.Link,{preventScrollReset:!0,...y,to:d,state:p,replace:!0}):null},[o,d,p]);return t({state:p,hasNextPage:i,hasPreviousPage:o,isLoading:a,nextPageUrl:s,nodes:c,previousPageUrl:d,NextLink:l,PreviousLink:h})}function Qt(e){let{state:t,search:r}=react$1.useLocation(),i=new URLSearchParams(r).get("direction")==="previous",[o,s]=react.useState(hydrogenReact.flattenConnection(e)),[c,d]=react.useState({startCursor:e.pageInfo.startCursor,endCursor:e.pageInfo.endCursor,hasPreviousPage:e.pageInfo.hasPreviousPage,hasNextPage:e.pageInfo.hasNextPage});react.useEffect(()=>{if(t?.nodes&&s(i?[...hydrogenReact.flattenConnection(e),...t.nodes]:[...t.nodes,...hydrogenReact.flattenConnection(e)]),t?.pageInfo){let l=t?.pageInfo?.startCursor===void 0?e.pageInfo.startCursor:t.pageInfo.startCursor,h=t?.pageInfo?.endCursor===void 0?e.pageInfo.endCursor:t.pageInfo.endCursor,S=t?.pageInfo?.hasPreviousPage===void 0?e.pageInfo.hasPreviousPage:t.pageInfo.hasPreviousPage,y=t?.pageInfo?.hasNextPage===void 0?e.pageInfo.hasNextPage:t.pageInfo.hasNextPage;t?.nodes&&(i?(l=e.pageInfo.startCursor,S=e.pageInfo.hasPreviousPage):(h=e.pageInfo.endCursor,y=e.pageInfo.hasNextPage)),d({startCursor:l,endCursor:h,hasPreviousPage:S,hasNextPage:y});}},[t,e]);let u=react.useMemo(()=>{let l=new URLSearchParams(r);return l.set("direction","previous"),c.startCursor&&l.set("cursor",c.startCursor),`?${l.toString()}`},[r,c.startCursor]),p=react.useMemo(()=>{let l=new URLSearchParams(r);return l.set("direction","next"),c.endCursor&&l.set("cursor",c.endCursor),`?${l.toString()}`},[r,c.endCursor]);return {...c,previousPageUrl:u,nextPageUrl:p,nodes:o}}function Ht(e,t={pageBy:20}){if(!(e instanceof Request))throw new Error("getPaginationVariables must be called with the Request object passed to your loader function");let{pageBy:r}=t,a=new URLSearchParams(new URL(e.url).search),n=a.get("cursor")??void 0;return (a.get("direction")==="previous"?"previous":"next")==="previous"?{last:r,startCursor:n??null}:{first:r,endCursor:n??null}}var Ge="cartFormInput";function $({children:e,action:t,inputs:r,route:a}){let n=react$1.useFetcher();return jsxRuntime.jsxs(n.Form,{action:a||"",method:"post",children:[(t||r)&&jsxRuntime.jsx("input",{type:"hidden",name:Ge,value:JSON.stringify({action:t,inputs:r})}),typeof e=="function"?e(n):e]})}$.INPUT_NAME=Ge;$.ACTIONS={AttributesUpdateInput:"AttributesUpdateInput",BuyerIdentityUpdate:"BuyerIdentityUpdate",Create:"Create",DiscountCodesUpdate:"DiscountCodesUpdate",LinesAdd:"LinesAdd",LinesRemove:"LinesRemove",LinesUpdate:"LinesUpdate",NoteUpdate:"NoteUpdate",SelectedDeliveryOptionsUpdate:"SelectedDeliveryOptionsUpdate",MetafieldsSet:"MetafieldsSet",MetafieldDelete:"MetafieldDelete"};function Vt(e){let t={};for(let o of e.entries()){let s=o[0],c=e.getAll(s);t[s]=c.length>1?c:o[1];}let{cartFormInput:r,...a}=t,{action:n,inputs:i}=r?JSON.parse(String(r)):{};return {action:n,inputs:{...i,...a}}}$.getFormInput=Vt;var g=`#graphql
89
94
  fragment CartApiError on CartUserError {
90
95
  message
91
96
  field
92
97
  code
93
98
  }
94
- `,g=`#graphql
99
+ `,m=`#graphql
95
100
  fragment CartApiMutation on Cart {
96
101
  id
97
102
  totalQuantity
98
103
  }
99
- `;function te(e){return async(t,r)=>{let{cartId:a,...n}=r||{},{cartCreate:o}=await e.storefront.mutate(Ht(e.cartFragment),{variables:{input:t,...n}});return o}}var Ht=(e=g)=>`#graphql
104
+ `;function re(e){return async(t,r)=>{let{cartId:a,...n}=r||{},{cartCreate:i}=await e.storefront.mutate(Wt(e.cartFragment),{variables:{input:t,...n}});return i}}var Wt=(e=m)=>`#graphql
100
105
  mutation cartCreate(
101
106
  $input: CartInput!
102
107
  $country: CountryCode = ZZ
@@ -113,8 +118,8 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
113
118
  }
114
119
  }
115
120
  ${e}
116
- ${f}
117
- `;function re(e){return async t=>{let r=e.getCartId();if(!r)return null;let{cart:a}=await e.storefront.query(Gt(e.cartFragment),{variables:{cartId:r,...t},cache:e.storefront.CacheNone()});return a}}var Gt=(e=Vt)=>`#graphql
121
+ ${g}
122
+ `;function ae(e){return async t=>{let r=e.getCartId();if(!r)return null;let{cart:a}=await e.storefront.query(Jt(e.cartFragment),{variables:{cartId:r,...t},cache:e.storefront.CacheNone()});return a}}var Jt=(e=Kt)=>`#graphql
118
123
  query CartQuery(
119
124
  $cartId: ID!
120
125
  $numCartLines: Int = 100
@@ -127,7 +132,7 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
127
132
  }
128
133
 
129
134
  ${e}
130
- `,Vt=`#graphql
135
+ `,Kt=`#graphql
131
136
  fragment CartApiQuery on Cart {
132
137
  id
133
138
  checkoutUrl
@@ -233,7 +238,7 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
233
238
  width
234
239
  height
235
240
  }
236
- `;function ae(e){return async(t,r)=>{let{cartLinesAdd:a}=await e.storefront.mutate(Bt(e.cartFragment),{variables:{cartId:e.getCartId(),lines:t,...r}});return a}}var Bt=(e=g)=>`#graphql
241
+ `;function ne(e){return async(t,r)=>{let{cartLinesAdd:a}=await e.storefront.mutate(zt(e.cartFragment),{variables:{cartId:e.getCartId(),lines:t,...r}});return a}}var zt=(e=m)=>`#graphql
237
242
  mutation cartLinesAdd(
238
243
  $cartId: ID!
239
244
  $lines: [CartLineInput!]!
@@ -251,8 +256,8 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
251
256
  }
252
257
 
253
258
  ${e}
254
- ${f}
255
- `;function ne(e){return async(t,r)=>{let{cartLinesUpdate:a}=await e.storefront.mutate(jt(e.cartFragment),{variables:{cartId:e.getCartId(),lines:t,...r}});return a}}var jt=(e=g)=>`#graphql
259
+ ${g}
260
+ `;function oe(e){return async(t,r)=>{let{cartLinesUpdate:a}=await e.storefront.mutate(Yt(e.cartFragment),{variables:{cartId:e.getCartId(),lines:t,...r}});return a}}var Yt=(e=m)=>`#graphql
256
261
  mutation cartLinesUpdate(
257
262
  $cartId: ID!
258
263
  $lines: [CartLineUpdateInput!]!
@@ -270,8 +275,8 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
270
275
  }
271
276
 
272
277
  ${e}
273
- ${f}
274
- `;function oe(e){return async(t,r)=>{let{cartLinesRemove:a}=await e.storefront.mutate(Wt(e.cartFragment),{variables:{cartId:e.getCartId(),lineIds:t,...r}});return a}}var Wt=(e=g)=>`#graphql
278
+ ${g}
279
+ `;function ie(e){return async(t,r)=>{let{cartLinesRemove:a}=await e.storefront.mutate(Xt(e.cartFragment),{variables:{cartId:e.getCartId(),lineIds:t,...r}});return a}}var Xt=(e=m)=>`#graphql
275
280
  mutation cartLinesRemove(
276
281
  $cartId: ID!
277
282
  $lineIds: [ID!]!
@@ -289,8 +294,8 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
289
294
  }
290
295
 
291
296
  ${e}
292
- ${f}
293
- `;function ie(e){return async(t,r)=>{let a=t.filter((o,i,s)=>s.indexOf(o)===i),{cartDiscountCodesUpdate:n}=await e.storefront.mutate(Jt(e.cartFragment),{variables:{cartId:e.getCartId(),discountCodes:a,...r}});return n}}var Jt=(e=g)=>`#graphql
297
+ ${g}
298
+ `;function se(e){return async(t,r)=>{let a=t.filter((i,o,s)=>s.indexOf(i)===o),{cartDiscountCodesUpdate:n}=await e.storefront.mutate(Zt(e.cartFragment),{variables:{cartId:e.getCartId(),discountCodes:a,...r}});return n}}var Zt=(e=m)=>`#graphql
294
299
  mutation cartDiscountCodesUpdate(
295
300
  $cartId: ID!
296
301
  $discountCodes: [String!]
@@ -307,8 +312,8 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
307
312
  }
308
313
  }
309
314
  ${e}
310
- ${f}
311
- `;function se(e){return async(t,r)=>{let{cartBuyerIdentityUpdate:a}=await e.storefront.mutate(Kt(e.cartFragment),{variables:{cartId:e.getCartId(),buyerIdentity:t,...r}});return a}}var Kt=(e=g)=>`#graphql
315
+ ${g}
316
+ `;function ce(e){return async(t,r)=>{let{cartBuyerIdentityUpdate:a}=await e.storefront.mutate(er(e.cartFragment),{variables:{cartId:e.getCartId(),buyerIdentity:t,...r}});return a}}var er=(e=m)=>`#graphql
312
317
  mutation cartBuyerIdentityUpdate(
313
318
  $cartId: ID!
314
319
  $buyerIdentity: CartBuyerIdentityInput!
@@ -325,8 +330,8 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
325
330
  }
326
331
  }
327
332
  ${e}
328
- ${f}
329
- `;function ue(e){return async(t,r)=>{let{cartNoteUpdate:a}=await e.storefront.mutate(zt(e.cartFragment),{variables:{cartId:e.getCartId(),note:t,...r}});return a}}var zt=(e=g)=>`#graphql
333
+ ${g}
334
+ `;function pe(e){return async(t,r)=>{let{cartNoteUpdate:a}=await e.storefront.mutate(tr(e.cartFragment),{variables:{cartId:e.getCartId(),note:t,...r}});return a}}var tr=(e=m)=>`#graphql
330
335
  mutation cartNoteUpdate(
331
336
  $cartId: ID!
332
337
  $note: String
@@ -343,8 +348,8 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
343
348
  }
344
349
  }
345
350
  ${e}
346
- ${f}
347
- `;function pe(e){return async(t,r)=>{let{cartSelectedDeliveryOptionsUpdate:a}=await e.storefront.mutate(Yt(e.cartFragment),{variables:{cartId:e.getCartId(),selectedDeliveryOptions:t,...r}});return a}}var Yt=(e=g)=>`#graphql
351
+ ${g}
352
+ `;function ue(e){return async(t,r)=>{let{cartSelectedDeliveryOptionsUpdate:a}=await e.storefront.mutate(rr(e.cartFragment),{variables:{cartId:e.getCartId(),selectedDeliveryOptions:t,...r}});return a}}var rr=(e=m)=>`#graphql
348
353
  mutation cartSelectedDeliveryOptionsUpdate(
349
354
  $cartId: ID!
350
355
  $selectedDeliveryOptions: [CartSelectedDeliveryOptionInput!]!
@@ -361,8 +366,8 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
361
366
  }
362
367
  }
363
368
  ${e}
364
- ${f}
365
- `;function ce(e){return async(t,r)=>{let{cartAttributesUpdate:a}=await e.storefront.mutate(Xt(e.cartFragment),{variables:{cartId:r?.cartId||e.getCartId(),attributes:t}});return a}}var Xt=(e=g)=>`#graphql
369
+ ${g}
370
+ `;function de(e){return async(t,r)=>{let{cartAttributesUpdate:a}=await e.storefront.mutate(ar(e.cartFragment),{variables:{cartId:r?.cartId||e.getCartId(),attributes:t}});return a}}var ar=(e=m)=>`#graphql
366
371
  mutation cartAttributesUpdate(
367
372
  $cartId: ID!
368
373
  $attributes: [AttributeInput!]!
@@ -377,8 +382,8 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
377
382
  }
378
383
  }
379
384
  ${e}
380
- ${f}
381
- `;function de(e){return async(t,r)=>{let a=r?.cartId||e.getCartId(),n=t.map(i=>({...i,ownerId:a})),{cartMetafieldsSet:o}=await e.storefront.mutate(Zt(),{variables:{metafields:n}});return {cart:{id:a},errors:o.errors}}}var Zt=()=>`#graphql
385
+ ${g}
386
+ `;function le(e){return async(t,r)=>{let a=r?.cartId||e.getCartId(),n=t.map(o=>({...o,ownerId:a})),{cartMetafieldsSet:i}=await e.storefront.mutate(nr(),{variables:{metafields:n}});return {cart:{id:a},errors:i.errors}}}var nr=()=>`#graphql
382
387
  mutation cartMetafieldsSet(
383
388
  $metafields: [CartMetafieldsSetInput!]!
384
389
  $language: LanguageCode
@@ -393,7 +398,7 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
393
398
  }
394
399
  }
395
400
  }
396
- `;function le(e){return async(t,r)=>{let a=r?.cartId||e.getCartId(),{cartMetafieldDelete:n}=await e.storefront.mutate(er(),{variables:{input:{ownerId:a,key:t}}});return {cart:{id:a},errors:n.errors}}}var er=()=>`#graphql
401
+ `;function fe(e){return async(t,r)=>{let a=r?.cartId||e.getCartId(),{cartMetafieldDelete:n}=await e.storefront.mutate(or(),{variables:{input:{ownerId:a,key:t}}});return {cart:{id:a},errors:n.errors}}}var or=()=>`#graphql
397
402
  mutation cartMetafieldDelete(
398
403
  $input: CartMetafieldDeleteInput!
399
404
  ) {
@@ -405,7 +410,7 @@ var ze=Object.defineProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xe=(e,t)=>{
405
410
  }
406
411
  }
407
412
  }
408
- `;var tr=new Set(["domain","path","max-age","expires","samesite","secure","httponly"]);function Qe(e){let t={},r,a,n=0,o=e.split(/;\s*/g),i,s;for(;n<o.length;n++)if(a=o[n],r=a.indexOf("="),~r){if(i=a.substring(0,r++).trim(),s=a.substring(r).trim(),s[0]==='"'&&(s=s.substring(1,s.length-1)),~s.indexOf("%"))try{s=decodeURIComponent(s);}catch{}tr.has(a=i.toLowerCase())?a==="expires"?t.expires=new Date(s):a==="max-age"?t.maxage=+s:t[a]=s:t[i]=s;}else (i=a.trim().toLowerCase())&&(i==="httponly"||i==="secure")&&(t[i]=!0);return t}function He(e,t,r={}){let a=e+"="+encodeURIComponent(t);return r.expires&&(a+="; Expires="+new Date(r.expires).toUTCString()),r.maxage!=null&&r.maxage>=0&&(a+="; Max-Age="+(r.maxage|0)),r.domain&&(a+="; Domain="+r.domain),r.path&&(a+="; Path="+r.path),r.samesite&&(a+="; SameSite="+r.samesite),(r.secure||r.samesite==="None")&&(a+="; Secure"),r.httponly&&(a+="; HttpOnly"),a}var rr=e=>{let t=Qe(e.get("Cookie")||"");return ()=>t.cart?`gid://shopify/Cart/${t.cart}`:void 0};var ar=e=>t=>{let r=new Headers;return r.append("Set-Cookie",He("cart",t.split("/").pop()||"",{path:"/",...e})),r};function nr(e){let{getCartId:t,setCartId:r,storefront:a,cartQueryFragment:n,cartMutateFragment:o}=e,i={storefront:a,getCartId:t,cartFragment:o},s=t(),u=te(i),c={get:re({storefront:a,getCartId:t,cartFragment:n}),getCartId:t,setCartId:r,create:u,addLines:async(p,d)=>s||d?.cartId?await ae(i)(p,d):await u({lines:p},d),updateLines:ne(i),removeLines:oe(i),updateDiscountCodes:async(p,d)=>s||d?.cartId?await ie(i)(p,d):await u({discountCodes:p},d),updateBuyerIdentity:async(p,d)=>s||d?.cartId?await se(i)(p,d):await u({buyerIdentity:p},d),updateNote:async(p,d)=>s||d?.cartId?await ue(i)(p,d):await u({note:p},d),updateSelectedDeliveryOption:pe(i),updateAttributes:async(p,d)=>s||d?.cartId?await ce(i)(p,d):await u({attributes:p},d),setMetafields:async(p,d)=>s||d?.cartId?await de(i)(p,d):await u({metafields:p},d),deleteMetafield:le(i)};return "customMethods__unstable"in e?{...c,...e.customMethods__unstable??{}}:c}function pr({handle:e,options:t=[],variants:r=[],children:a}){let n=r instanceof Array?r:hydrogenReact.flattenConnection(r),{searchParams:o,path:i,alreadyOnProductPage:s}=dr(e),u=t.filter(c=>c?.values?.length===1);return react.createElement(react.Fragment,null,...react.useMemo(()=>t.filter(c=>c?.values?.length>1).map(c=>{let p,d=[];for(let l of c.values){let h=new URLSearchParams(s?o:void 0);h.set(c.name,l),u.forEach(S=>{h.set(S.name,S.values[0]);});let R=n.find(S=>S?.selectedOptions?.every(A=>h.get(A?.name)===A?.value)),m=o.get(c.name),O=m?m===l:!1;O&&(p=l);let y="?"+h.toString();d.push({value:l,isAvailable:R?R.availableForSale:!0,to:i+y,search:y,isActive:O});}return a({option:{name:c.name,value:p,values:d}})}),[t,n,a]))}var cr=e=>{if(!(e instanceof Request))throw new TypeError(`Expected a Request instance, got ${typeof e}`);let t=new URL(e.url).searchParams,r=[];return t.forEach((a,n)=>{r.push({name:n,value:a});}),r};function dr(e){let{pathname:t,search:r}=react$1.useLocation();return react.useMemo(()=>{let a=/(\/[a-zA-Z]{2}-[a-zA-Z]{2}\/)/g.exec(t),o=a&&a.length>0?`${a[0]}products/${e}`:`/products/${e}`;return {searchParams:new URLSearchParams(r),alreadyOnProductPage:o===t,path:o}},[t,r,e])}//! @see: https://shopify.dev/docs/api/storefront/latest/mutations/cartCreate
413
+ `;var ir=new Set(["domain","path","max-age","expires","samesite","secure","httponly"]);function Ve(e){let t={},r,a,n=0,i=e.split(/;\s*/g),o,s;for(;n<i.length;n++)if(a=i[n],r=a.indexOf("="),~r){if(o=a.substring(0,r++).trim(),s=a.substring(r).trim(),s[0]==='"'&&(s=s.substring(1,s.length-1)),~s.indexOf("%"))try{s=decodeURIComponent(s);}catch{}ir.has(a=o.toLowerCase())?a==="expires"?t.expires=new Date(s):a==="max-age"?t.maxage=+s:t[a]=s:t[o]=s;}else (o=a.trim().toLowerCase())&&(o==="httponly"||o==="secure")&&(t[o]=!0);return t}function Be(e,t,r={}){let a=e+"="+encodeURIComponent(t);return r.expires&&(a+="; Expires="+new Date(r.expires).toUTCString()),r.maxage!=null&&r.maxage>=0&&(a+="; Max-Age="+(r.maxage|0)),r.domain&&(a+="; Domain="+r.domain),r.path&&(a+="; Path="+r.path),r.samesite&&(a+="; SameSite="+r.samesite),(r.secure||r.samesite==="None")&&(a+="; Secure"),r.httponly&&(a+="; HttpOnly"),a}var sr=e=>{let t=Ve(e.get("Cookie")||"");return ()=>t.cart?`gid://shopify/Cart/${t.cart}`:void 0};var cr=e=>t=>{let r=new Headers;return r.append("Set-Cookie",Be("cart",t.split("/").pop()||"",{path:"/",...e})),r};function pr(e){let{getCartId:t,setCartId:r,storefront:a,cartQueryFragment:n,cartMutateFragment:i}=e,o={storefront:a,getCartId:t,cartFragment:i},s=t(),c=re(o),d={get:ae({storefront:a,getCartId:t,cartFragment:n}),getCartId:t,setCartId:r,create:c,addLines:async(u,p)=>s||p?.cartId?await ne(o)(u,p):await c({lines:u},p),updateLines:oe(o),removeLines:ie(o),updateDiscountCodes:async(u,p)=>s||p?.cartId?await se(o)(u,p):await c({discountCodes:u},p),updateBuyerIdentity:async(u,p)=>s||p?.cartId?await ce(o)(u,p):await c({buyerIdentity:u},p),updateNote:async(u,p)=>s||p?.cartId?await pe(o)(u,p):await c({note:u},p),updateSelectedDeliveryOption:ue(o),updateAttributes:async(u,p)=>s||p?.cartId?await de(o)(u,p):await c({attributes:u},p),setMetafields:async(u,p)=>s||p?.cartId?await le(o)(u,p):await c({metafields:u},p),deleteMetafield:fe(o)};return "customMethods__unstable"in e?{...d,...e.customMethods__unstable??{}}:d}function yr({handle:e,options:t=[],variants:r=[],productPath:a="products",children:n}){let i=r instanceof Array?r:hydrogenReact.flattenConnection(r),{searchParams:o,path:s,alreadyOnProductPage:c}=mr(e,a),d=t.filter(u=>u?.values?.length===1);return react.createElement(react.Fragment,null,...react.useMemo(()=>t.filter(u=>u?.values?.length>1).map(u=>{let p,l=[];for(let h of u.values){let S=new URLSearchParams(c?o:void 0);S.set(u.name,h),d.forEach(T=>{S.set(T.name,T.values[0]);});let y=i.find(T=>T?.selectedOptions?.every(w=>S.get(w?.name)===w?.value)),A=o.get(u.name),f=A?A===h:!1;f&&(p=h);let R="?"+S.toString();l.push({value:h,isAvailable:y?y.availableForSale:!0,to:s+R,search:R,isActive:f});}return n({option:{name:u.name,value:p,values:l}})}),[t,i,n]))}var gr=e=>{if(!(e instanceof Request))throw new TypeError(`Expected a Request instance, got ${typeof e}`);let t=new URL(e.url).searchParams,r=[];return t.forEach((a,n)=>{r.push({name:n,value:a});}),r};function mr(e,t){let{pathname:r,search:a}=react$1.useLocation();return react.useMemo(()=>{let n=/(\/[a-zA-Z]{2}-[a-zA-Z]{2}\/)/g.exec(r),i=n&&n.length>0;t=t.startsWith("/")?t.substring(1):t;let o=i?`${n[0]}${t}/${e}`:`/${t}/${e}`;return {searchParams:new URLSearchParams(a),alreadyOnProductPage:o===r,path:o}},[r,a,e,t])}function We(){return hr(Cr())}function Cr(){try{return crypto.getRandomValues(new Uint8Array(16))}catch{return new Uint8Array(16).map(()=>Math.random()*255|0)}}function hr(e){return Array.from(e,function(t){return ("0"+(t&255).toString(16)).slice(-2)}).join("")}var Je=react.createContext(void 0),xr=Je.Provider,ye=()=>react.useContext(Je);function Ar(e={}){let t=We(),r=Or(t,e);return {nonce:t,header:r,NonceProvider:({children:n})=>react.createElement(xr,{value:t},n)}}function Or(e,t={}){let r=`'nonce-${e}'`,n=Object.assign({},{baseUri:["'self'"],defaultSrc:["'self'",r,"https://cdn.shopify.com","https://shopify.com"],frameAncestors:["none"],styleSrc:["'self'","'unsafe-inline'","https://cdn.shopify.com"],connectSrc:["'self'","https://monorail-edge.shopifysvc.com"]},t);return n.scriptSrc instanceof Array&&!n.scriptSrc.includes(r)?n.scriptSrc.push(r):n.defaultSrc instanceof Array&&!n.defaultSrc.includes(r)&&n.defaultSrc.push(r),Tr__default.default({directives:n})}var Pr=react.forwardRef((e,t)=>{let r=ye();return jsxRuntime.jsx("script",{...e,nonce:r,ref:t})});//! @see: https://shopify.dev/docs/api/storefront/latest/mutations/cartCreate
409
414
  //! @see https://shopify.dev/docs/api/storefront/latest/queries/cart
410
415
  //! @see: https://shopify.dev/docs/api/storefront/latest/mutations/cartLinesAdd
411
416
  //! @see: https://shopify.dev/docs/api/storefront/latest/mutations/cartLinesUpdate
@@ -501,37 +506,40 @@ Object.defineProperty(exports, 'useShopifyCookies', {
501
506
  enumerable: true,
502
507
  get: function () { return hydrogenReact.useShopifyCookies; }
503
508
  });
504
- exports.CacheCustom = G;
505
- exports.CacheLong = H;
506
- exports.CacheNone = Q;
509
+ exports.CacheCustom = V;
510
+ exports.CacheLong = G;
511
+ exports.CacheNone = H;
507
512
  exports.CacheShort = I;
508
- exports.CartForm = F;
509
- exports.InMemoryCache = z;
510
- exports.Pagination = Nt;
511
- exports.Seo = Et;
512
- exports.VariantSelector = pr;
513
- exports.cartAttributesUpdateDefault = ce;
514
- exports.cartBuyerIdentityUpdateDefault = se;
515
- exports.cartCreateDefault = te;
516
- exports.cartDiscountCodesUpdateDefault = ie;
517
- exports.cartGetDefault = re;
518
- exports.cartGetIdDefault = rr;
519
- exports.cartLinesAddDefault = ae;
520
- exports.cartLinesRemoveDefault = oe;
521
- exports.cartLinesUpdateDefault = ne;
522
- exports.cartMetafieldDeleteDefault = le;
523
- exports.cartMetafieldsSetDefault = de;
524
- exports.cartNoteUpdateDefault = ue;
525
- exports.cartSelectedDeliveryOptionsUpdateDefault = pe;
526
- exports.cartSetIdDefault = ar;
527
- exports.createCartHandler = nr;
528
- exports.createStorefrontClient = qr;
529
- exports.createWithCache = Hr;
530
- exports.generateCacheControlHeader = P;
531
- exports.getPaginationVariables = $t;
532
- exports.getSelectedProductOptions = cr;
533
- exports.graphiqlLoader = It;
534
- exports.isStorefrontApiError = yt;
535
- exports.storefrontRedirect = Ct;
513
+ exports.CartForm = $;
514
+ exports.InMemoryCache = Y;
515
+ exports.Pagination = _t;
516
+ exports.Script = Pr;
517
+ exports.Seo = Ft;
518
+ exports.VariantSelector = yr;
519
+ exports.cartAttributesUpdateDefault = de;
520
+ exports.cartBuyerIdentityUpdateDefault = ce;
521
+ exports.cartCreateDefault = re;
522
+ exports.cartDiscountCodesUpdateDefault = se;
523
+ exports.cartGetDefault = ae;
524
+ exports.cartGetIdDefault = sr;
525
+ exports.cartLinesAddDefault = ne;
526
+ exports.cartLinesRemoveDefault = ie;
527
+ exports.cartLinesUpdateDefault = oe;
528
+ exports.cartMetafieldDeleteDefault = fe;
529
+ exports.cartMetafieldsSetDefault = le;
530
+ exports.cartNoteUpdateDefault = pe;
531
+ exports.cartSelectedDeliveryOptionsUpdateDefault = ue;
532
+ exports.cartSetIdDefault = cr;
533
+ exports.createCartHandler = pr;
534
+ exports.createContentSecurityPolicy = Ar;
535
+ exports.createStorefrontClient = ta;
536
+ exports.createWithCache = oa;
537
+ exports.generateCacheControlHeader = b;
538
+ exports.getPaginationVariables = Ht;
539
+ exports.getSelectedProductOptions = gr;
540
+ exports.graphiqlLoader = At;
541
+ exports.isStorefrontApiError = Ct;
542
+ exports.storefrontRedirect = Rt;
543
+ exports.useNonce = ye;
536
544
  //# sourceMappingURL=out.js.map
537
545
  //# sourceMappingURL=index.cjs.map