@shopify/hydrogen 2023.1.2 → 2023.1.3

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.
@@ -4,8 +4,8 @@ var hydrogenReact = require('@shopify/hydrogen-react');
4
4
  var serverRuntime = require('@remix-run/server-runtime');
5
5
  var react = require('@remix-run/react');
6
6
 
7
- var Qe=Object.create;var F=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var Ke=Object.getOwnPropertyNames;var ze=Object.getPrototypeOf,Je=Object.prototype.hasOwnProperty;var Xe=(e,t)=>()=>(e&&(t=e(e=0)),t);var ae=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ye=(e,t)=>{for(var r in t)F(e,r,{get:t[r],enumerable:!0});},Ze=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ke(t))!Je.call(e,o)&&o!==r&&F(e,o,{get:()=>t[o],enumerable:!(n=Ge(t,o))||n.enumerable});return e};var et=(e,t,r)=>(r=e!=null?Qe(ze(e)):{},Ze(t||!e||!e.__esModule?F(r,"default",{value:e,enumerable:!0}):r,e));var Le=ae(p=>{var E=Symbol.for("react.element"),Ct=Symbol.for("react.portal"),Tt=Symbol.for("react.fragment"),Rt=Symbol.for("react.strict_mode"),wt=Symbol.for("react.profiler"),bt=Symbol.for("react.provider"),xt=Symbol.for("react.context"),Et=Symbol.for("react.forward_ref"),kt=Symbol.for("react.suspense"),Ot=Symbol.for("react.memo"),At=Symbol.for("react.lazy"),Ee=Symbol.iterator;function Pt(e){return e===null||typeof e!="object"?null:(e=Ee&&e[Ee]||e["@@iterator"],typeof e=="function"?e:null)}var Ae={isMounted:function(){return !1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Pe=Object.assign,Ie={};function b(e,t,r){this.props=e,this.context=t,this.refs=Ie,this.updater=r||Ae;}b.prototype.isReactComponent={};b.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState");};b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate");};function _e(){}_e.prototype=b.prototype;function Z(e,t,r){this.props=e,this.context=t,this.refs=Ie,this.updater=r||Ae;}var ee=Z.prototype=new _e;ee.constructor=Z;Pe(ee,b.prototype);ee.isPureReactComponent=!0;var ke=Array.isArray,ve=Object.prototype.hasOwnProperty,te={current:null},Me={key:!0,ref:!0,__self:!0,__source:!0};function je(e,t,r){var n,o={},a=null,s=null;if(t!=null)for(n in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(a=""+t.key),t)ve.call(t,n)&&!Me.hasOwnProperty(n)&&(o[n]=t[n]);var i=arguments.length-2;if(i===1)o.children=r;else if(1<i){for(var c=Array(i),u=0;u<i;u++)c[u]=arguments[u+2];o.children=c;}if(e&&e.defaultProps)for(n in i=e.defaultProps,i)o[n]===void 0&&(o[n]=i[n]);return {$$typeof:E,type:e,key:a,ref:s,props:o,_owner:te.current}}function It(e,t){return {$$typeof:E,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function re(e){return typeof e=="object"&&e!==null&&e.$$typeof===E}function _t(e){var t={"=":"=0",":":"=2"};return "$"+e.replace(/[=:]/g,function(r){return t[r]})}var Oe=/\/+/g;function Y(e,t){return typeof e=="object"&&e!==null&&e.key!=null?_t(""+e.key):t.toString(36)}function I(e,t,r,n,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(a){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case E:case Ct:s=!0;}}if(s)return s=e,o=o(s),e=n===""?"."+Y(s,0):n,ke(o)?(r="",e!=null&&(r=e.replace(Oe,"$&/")+"/"),I(o,t,r,"",function(u){return u})):o!=null&&(re(o)&&(o=It(o,r+(!o.key||s&&s.key===o.key?"":(""+o.key).replace(Oe,"$&/")+"/")+e)),t.push(o)),1;if(s=0,n=n===""?".":n+":",ke(e))for(var i=0;i<e.length;i++){a=e[i];var c=n+Y(a,i);s+=I(a,t,r,c,o);}else if(c=Pt(e),typeof c=="function")for(e=c.call(e),i=0;!(a=e.next()).done;)a=a.value,c=n+Y(a,i++),s+=I(a,t,r,c,o);else if(a==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return s}function P(e,t,r){if(e==null)return e;var n=[],o=0;return I(e,n,"","",function(a){return t.call(r,a,o++)}),n}function vt(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(r){(e._status===0||e._status===-1)&&(e._status=1,e._result=r);},function(r){(e._status===0||e._status===-1)&&(e._status=2,e._result=r);}),e._status===-1&&(e._status=0,e._result=t);}if(e._status===1)return e._result.default;throw e._result}var m={current:null},_={transition:null},Mt={ReactCurrentDispatcher:m,ReactCurrentBatchConfig:_,ReactCurrentOwner:te};p.Children={map:P,forEach:function(e,t,r){P(e,function(){t.apply(this,arguments);},r);},count:function(e){var t=0;return P(e,function(){t++;}),t},toArray:function(e){return P(e,function(t){return t})||[]},only:function(e){if(!re(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};p.Component=b;p.Fragment=Tt;p.Profiler=wt;p.PureComponent=Z;p.StrictMode=Rt;p.Suspense=kt;p.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Mt;p.cloneElement=function(e,t,r){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var n=Pe({},e.props),o=e.key,a=e.ref,s=e._owner;if(t!=null){if(t.ref!==void 0&&(a=t.ref,s=te.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var i=e.type.defaultProps;for(c in t)ve.call(t,c)&&!Me.hasOwnProperty(c)&&(n[c]=t[c]===void 0&&i!==void 0?i[c]:t[c]);}var c=arguments.length-2;if(c===1)n.children=r;else if(1<c){i=Array(c);for(var u=0;u<c;u++)i[u]=arguments[u+2];n.children=i;}return {$$typeof:E,type:e.type,key:o,ref:a,props:n,_owner:s}};p.createContext=function(e){return e={$$typeof:xt,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:bt,_context:e},e.Consumer=e};p.createElement=je;p.createFactory=function(e){var t=je.bind(null,e);return t.type=e,t};p.createRef=function(){return {current:null}};p.forwardRef=function(e){return {$$typeof:Et,render:e}};p.isValidElement=re;p.lazy=function(e){return {$$typeof:At,_payload:{_status:-1,_result:e},_init:vt}};p.memo=function(e,t){return {$$typeof:Ot,type:e,compare:t===void 0?null:t}};p.startTransition=function(e){var t=_.transition;_.transition={};try{e();}finally{_.transition=t;}};p.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")};p.useCallback=function(e,t){return m.current.useCallback(e,t)};p.useContext=function(e){return m.current.useContext(e)};p.useDebugValue=function(){};p.useDeferredValue=function(e){return m.current.useDeferredValue(e)};p.useEffect=function(e,t){return m.current.useEffect(e,t)};p.useId=function(){return m.current.useId()};p.useImperativeHandle=function(e,t,r){return m.current.useImperativeHandle(e,t,r)};p.useInsertionEffect=function(e,t){return m.current.useInsertionEffect(e,t)};p.useLayoutEffect=function(e,t){return m.current.useLayoutEffect(e,t)};p.useMemo=function(e,t){return m.current.useMemo(e,t)};p.useReducer=function(e,t,r){return m.current.useReducer(e,t,r)};p.useRef=function(e){return m.current.useRef(e)};p.useState=function(e){return m.current.useState(e)};p.useSyncExternalStore=function(e,t,r){return m.current.useSyncExternalStore(e,t,r)};p.useTransition=function(){return m.current.useTransition()};p.version="18.2.0";});var He=ae((Tr,qe)=>{qe.exports=Le();});var Ne={};Ye(Ne,{default:()=>De,logSeoTags:()=>L});function De({headTags:e}){return L(e),null}function L(e){let t="text-transform: uppercase;",r="text-transform: uppercase; font-weight: bold; text-transform: uppercase;font-weight: bold";console.log(" "),console.log("%cSEO Meta Tags",`${r}`),console.log(" "),e.forEach(n=>{if(n.tag==="script"){if(console.log("%c\u2022 JSON LD ",t),n.children)try{console.table(JSON.parse(n.children),["name","content"]);}catch{console.log(n.children);}}else {if(console.log(`%c\u2022 ${n.tag} `,t),n.children)if(typeof n.children=="string")console.log(`\u21B3 ${n.children}`);else try{Object.entries(JSON.parse(n.children)).map(([o,a])=>console.log(`\u21B3 ${a}`));}catch{console.log(n.children);}Object.entries(n.props).map(([o,a])=>console.log(`\u21B3 ${o} \u2192 ${a}`));}console.log(" ");});}var oe=Xe(()=>{});function ie(e){let t=Array.isArray(e)?e:[e],r="";for(let n of t)n!=null&&(typeof n=="object"?!!n.body&&typeof n.body=="string"?r+=n.body:r+=JSON.stringify(n):r+=n);return r}var W="public",tt="private",rt="no-store",ce={maxAge:"max-age",staleWhileRevalidate:"stale-while-revalidate",sMaxAge:"s-maxage",staleIfError:"stale-if-error"};function x(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 B(){return {mode:rt}}function ue(e){if(e?.mode&&e?.mode!==W&&e?.mode!==tt)throw Error("'mode' must be either 'public' or 'private'")}function T(e){return ue(e),{mode:W,maxAge:1,staleWhileRevalidate:9,...e}}function V(e){return ue(e),{mode:W,maxAge:3600,staleWhileRevalidate:82800,...e}}function Q(e){return e}function O(e,t){return e&&t?{...e,...t}:e||T()}function G(e){return x(O(e))}async function nt(e,t){if(!e)return;let r=await e.match(t);if(!r){t.url;return}return t.url,r}async function ot(e,t,r,n){if(!e)return;let o=O(n);t.headers.set("cache-control",G(O(o,{maxAge:(o.maxAge||0)+(o.staleWhileRevalidate||0)})));let a=G(O(o));r.headers.set("cache-control",a),r.headers.set("real-cache-control",a),r.headers.set("cache-put-date",new Date().toUTCString()),t.url,await e.put(t,r);}async function st(e,t){!e||(t.url,await e.delete(t));}function at(e,t){let r=t.headers.get("cache-put-date"),n=t.headers.get("real-cache-control"),o=0;if(n){let c=n.match(/max-age=(\d*)/);c&&c.length>1&&(o=parseFloat(c[1]));}if(!r)return !1;let i=(new Date().valueOf()-new Date(r).valueOf())/1e3>o;return i&&(e.url,void 0),i}var A={get:nt,set:ot,delete:st,generateDefaultCacheControlHeader:G,isStale:at};function K(e){return `https://shopify.dev/?${e}`}function it(e){return e||T()}async function pe(e,t){if(!e)return;let r=K(t),n=new Request(r),o=await A.get(e,n);if(!!o)return [await o.json(),o]}async function z(e,t,r,n){if(!e)return;let o=K(t),a=new Request(o),s=new Response(JSON.stringify(r));await A.set(e,a,s,it(n));}function le(e,t){return A.isStale(new Request(K(e)),t)}function fe(e,t){return [e,{status:t.status,statusText:t.statusText,headers:Array.from(t.headers.entries())}]}var he=e=>!e?.errors,J=new Set;async function ge(e,t,{cacheInstance:r,cache:n,cacheKey:o=[e,t],shouldCacheResponse:a=()=>!0,waitUntil:s,returnType:i="json"}={}){!n&&(!t.method||t.method==="GET")&&(n=T());let c=async()=>{let d=await fetch(e,t),l;try{l=await d[i]();}catch{l=await d.text();}return [l,d]};if(!r||!o||!n)return c();let u=ie([...typeof o=="string"?[o]:o]),h=await pe(r,u);if(h){let[d,l]=h;if(!J.has(u)&&le(u,l)){J.add(u);let H=Promise.resolve().then(async()=>{try{let[C,k]=await c();a(C,k)&&await z(r,u,fe(C,k),n);}catch(C){C.message&&(C.message="SWR in sub-request failed: "+C.message),console.error(C);}finally{J.delete(u);}});s?.(H);}let[y,w]=d;return [y,new Response(y,w)]}let[S,f]=await c();if(a(S,f)){let d=z(r,u,fe(S,f),n);s?.(d);}return [S,f]}var de="Custom-Storefront-Request-Group-ID",ye="Shopify-Storefront-Buyer-IP",me="Shopify-Storefront-Id";function Se(){return typeof crypto<"u"&&!!crypto.randomUUID?crypto.randomUUID():`weak-${Math.random().toString(16).substring(2)}`}function Ce(e){return String(e).includes("__proto__")?JSON.parse(e,ct):JSON.parse(e)}function ct(e,t){if(e!=="__proto__")return t}var Te=new Set,Re=e=>{Te.has(e)||(console.warn(e),Te.add(e));};var xe=class extends Error{},pt=e=>e instanceof xe,lt=/(^|}\s)query[\s({]/im,ft=/(^|}\s)mutation[\s({]/im;function we(e){return e.replace(/\s*#.*$/gm,"").replace(/\s+/gm," ").trim()}var ht={language:"EN",country:"US"};function fr({cache:e,waitUntil:t,buyerIp:r,i18n:n,requestGroupId:o,storefrontId:a,...s}){e||Re("Storefront API client created without a cache instance. This may slow down your sub-requests.");let{getPublicTokenHeaders:i,getPrivateTokenHeaders:c,getStorefrontApiUrl:u,getShopifyDomain:h}=hydrogenReact.createStorefrontClient(s),f=(s.privateStorefrontToken?c:i)({contentType:"json"});f[de]=o||Se(),r&&(f[ye]=r),a&&(f[me]=a);async function d({query:l,mutation:y,variables:w,cache:H,headers:C=[],storefrontApiVersion:k}){let Fe=C instanceof Headers?Object.fromEntries(C.entries()):Array.isArray(C)?Object.fromEntries(C):C;l=l??y;let U={...w};n&&(!w?.country&&/\$country/.test(l)&&(U.country=n.country),!w?.language&&/\$language/.test(l)&&(U.language=n.language));let We=u({storefrontApiVersion:k}),Be={method:"POST",headers:{...f,...Fe},body:JSON.stringify({query:l,variables:U})},[$,D]=await ge(We,Be,{cacheInstance:y?void 0:e,cache:H||T(),shouldCacheResponse:he,waitUntil:t});if(!D.ok){let N;try{N=Ce($);}catch{N=[{message:$}];}be(D,N);}let{data:Ve,errors:se}=$;return se?.length&&be(D,se,xe),Ve}return {storefront:{query:(l,y)=>{if(l=we(l),ft.test(l))throw new Error("storefront.query cannot execute mutations");return d({...y,query:l})},mutate:(l,y)=>{if(l=we(l),lt.test(l))throw new Error("storefront.mutate cannot execute queries");return d({...y,mutation:l})},cache:e,CacheNone:B,CacheLong:V,CacheShort:T,CacheCustom:Q,generateCacheControlHeader:x,getPublicTokenHeaders:i,getPrivateTokenHeaders:c,getShopifyDomain:h,getApiUrl:u,isApiError:pt,i18n:n??ht}}}function be(e,t,r=Error){let n=e.headers.get("x-request-id"),o=n?` - Request ID: ${n}`:"";if(t){let a=typeof t=="string"?t:t.map(s=>s.message).join(`
8
- `);throw new r(a+o)}throw new r(`API response error: ${e.status}`+o)}var X=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:n,timestamp:o,...a}=r,s=new Headers(a.headers),i=s.get("cache-control")||s.get("real-cache-control")||"",c=parseInt(i.match(/max-age=(\d+)/)?.[1]||"0",10),u=parseInt(i.match(/stale-while-revalidate=(\d+)/)?.[1]||"0",10),h=(Date.now()-o)/1e3;if(h>c+u){this.#e.delete(t.url);return}let f=h>c;return s.set("cache",f?"STALE":"HIT"),s.set("date",new Date(o).toUTCString()),new Response(n,{status:a.status??200,headers:s})}async delete(t){return this.#e.has(t.url)?(this.#e.delete(t.url),!0):!1}keys(t){let r=[];for(let n of this.#e.keys())(!t||t.url===n)&&r.push(new Request(n));return Promise.resolve(r)}};async function dt({storefront:e,request:t,response:r=new Response("Not Found",{status:404})}){let{pathname:n,search:o}=new URL(t.url),a=n+o;try{let{urlRedirects:s}=await e.query(mt,{variables:{query:"path:"+a},storefrontApiVersion:"2023-01"}),i=s?.edges?.[0]?.node?.target;if(i)return new Response(null,{status:302,headers:{location:i}});let c=new URLSearchParams(o),u=c.get("return_to")||c.get("redirect");if(u){if(yt(u))return serverRuntime.redirect(u);console.warn(`Cross-domain redirects are not supported. Tried to redirect from ${a} to ${u}`);}}catch(s){console.error(`Failed to fetch redirects from Storefront API for route ${a}`,s);}return r}function yt(e){try{new URL(e);}catch{return !0}return !1}var mt=`#graphql
7
+ var Ge=Object.create;var F=Object.defineProperty;var Ke=Object.getOwnPropertyDescriptor;var ze=Object.getOwnPropertyNames;var Je=Object.getPrototypeOf,Xe=Object.prototype.hasOwnProperty;var Ye=(e,t)=>()=>(e&&(t=e(e=0)),t);var ie=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ze=(e,t)=>{for(var r in t)F(e,r,{get:t[r],enumerable:!0});},et=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ze(t))!Xe.call(e,o)&&o!==r&&F(e,o,{get:()=>t[o],enumerable:!(n=Ke(t,o))||n.enumerable});return e};var tt=(e,t,r)=>(r=e!=null?Ge(Je(e)):{},et(t||!e||!e.__esModule?F(r,"default",{value:e,enumerable:!0}):r,e));var qe=ie(p=>{var E=Symbol.for("react.element"),Tt=Symbol.for("react.portal"),Rt=Symbol.for("react.fragment"),wt=Symbol.for("react.strict_mode"),bt=Symbol.for("react.profiler"),xt=Symbol.for("react.provider"),Et=Symbol.for("react.context"),kt=Symbol.for("react.forward_ref"),Ot=Symbol.for("react.suspense"),At=Symbol.for("react.memo"),Pt=Symbol.for("react.lazy"),ke=Symbol.iterator;function It(e){return e===null||typeof e!="object"?null:(e=ke&&e[ke]||e["@@iterator"],typeof e=="function"?e:null)}var Pe={isMounted:function(){return !1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ie=Object.assign,_e={};function b(e,t,r){this.props=e,this.context=t,this.refs=_e,this.updater=r||Pe;}b.prototype.isReactComponent={};b.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState");};b.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate");};function ve(){}ve.prototype=b.prototype;function ee(e,t,r){this.props=e,this.context=t,this.refs=_e,this.updater=r||Pe;}var te=ee.prototype=new ve;te.constructor=ee;Ie(te,b.prototype);te.isPureReactComponent=!0;var Oe=Array.isArray,Me=Object.prototype.hasOwnProperty,re={current:null},je={key:!0,ref:!0,__self:!0,__source:!0};function Le(e,t,r){var n,o={},a=null,s=null;if(t!=null)for(n in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(a=""+t.key),t)Me.call(t,n)&&!je.hasOwnProperty(n)&&(o[n]=t[n]);var i=arguments.length-2;if(i===1)o.children=r;else if(1<i){for(var c=Array(i),u=0;u<i;u++)c[u]=arguments[u+2];o.children=c;}if(e&&e.defaultProps)for(n in i=e.defaultProps,i)o[n]===void 0&&(o[n]=i[n]);return {$$typeof:E,type:e,key:a,ref:s,props:o,_owner:re.current}}function _t(e,t){return {$$typeof:E,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function ne(e){return typeof e=="object"&&e!==null&&e.$$typeof===E}function vt(e){var t={"=":"=0",":":"=2"};return "$"+e.replace(/[=:]/g,function(r){return t[r]})}var Ae=/\/+/g;function Z(e,t){return typeof e=="object"&&e!==null&&e.key!=null?vt(""+e.key):t.toString(36)}function I(e,t,r,n,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var s=!1;if(e===null)s=!0;else switch(a){case"string":case"number":s=!0;break;case"object":switch(e.$$typeof){case E:case Tt:s=!0;}}if(s)return s=e,o=o(s),e=n===""?"."+Z(s,0):n,Oe(o)?(r="",e!=null&&(r=e.replace(Ae,"$&/")+"/"),I(o,t,r,"",function(u){return u})):o!=null&&(ne(o)&&(o=_t(o,r+(!o.key||s&&s.key===o.key?"":(""+o.key).replace(Ae,"$&/")+"/")+e)),t.push(o)),1;if(s=0,n=n===""?".":n+":",Oe(e))for(var i=0;i<e.length;i++){a=e[i];var c=n+Z(a,i);s+=I(a,t,r,c,o);}else if(c=It(e),typeof c=="function")for(e=c.call(e),i=0;!(a=e.next()).done;)a=a.value,c=n+Z(a,i++),s+=I(a,t,r,c,o);else if(a==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return s}function P(e,t,r){if(e==null)return e;var n=[],o=0;return I(e,n,"","",function(a){return t.call(r,a,o++)}),n}function Mt(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(r){(e._status===0||e._status===-1)&&(e._status=1,e._result=r);},function(r){(e._status===0||e._status===-1)&&(e._status=2,e._result=r);}),e._status===-1&&(e._status=0,e._result=t);}if(e._status===1)return e._result.default;throw e._result}var m={current:null},_={transition:null},jt={ReactCurrentDispatcher:m,ReactCurrentBatchConfig:_,ReactCurrentOwner:re};p.Children={map:P,forEach:function(e,t,r){P(e,function(){t.apply(this,arguments);},r);},count:function(e){var t=0;return P(e,function(){t++;}),t},toArray:function(e){return P(e,function(t){return t})||[]},only:function(e){if(!ne(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};p.Component=b;p.Fragment=Rt;p.Profiler=bt;p.PureComponent=ee;p.StrictMode=wt;p.Suspense=Ot;p.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=jt;p.cloneElement=function(e,t,r){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var n=Ie({},e.props),o=e.key,a=e.ref,s=e._owner;if(t!=null){if(t.ref!==void 0&&(a=t.ref,s=re.current),t.key!==void 0&&(o=""+t.key),e.type&&e.type.defaultProps)var i=e.type.defaultProps;for(c in t)Me.call(t,c)&&!je.hasOwnProperty(c)&&(n[c]=t[c]===void 0&&i!==void 0?i[c]:t[c]);}var c=arguments.length-2;if(c===1)n.children=r;else if(1<c){i=Array(c);for(var u=0;u<c;u++)i[u]=arguments[u+2];n.children=i;}return {$$typeof:E,type:e.type,key:o,ref:a,props:n,_owner:s}};p.createContext=function(e){return e={$$typeof:Et,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:xt,_context:e},e.Consumer=e};p.createElement=Le;p.createFactory=function(e){var t=Le.bind(null,e);return t.type=e,t};p.createRef=function(){return {current:null}};p.forwardRef=function(e){return {$$typeof:kt,render:e}};p.isValidElement=ne;p.lazy=function(e){return {$$typeof:Pt,_payload:{_status:-1,_result:e},_init:Mt}};p.memo=function(e,t){return {$$typeof:At,type:e,compare:t===void 0?null:t}};p.startTransition=function(e){var t=_.transition;_.transition={};try{e();}finally{_.transition=t;}};p.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")};p.useCallback=function(e,t){return m.current.useCallback(e,t)};p.useContext=function(e){return m.current.useContext(e)};p.useDebugValue=function(){};p.useDeferredValue=function(e){return m.current.useDeferredValue(e)};p.useEffect=function(e,t){return m.current.useEffect(e,t)};p.useId=function(){return m.current.useId()};p.useImperativeHandle=function(e,t,r){return m.current.useImperativeHandle(e,t,r)};p.useInsertionEffect=function(e,t){return m.current.useInsertionEffect(e,t)};p.useLayoutEffect=function(e,t){return m.current.useLayoutEffect(e,t)};p.useMemo=function(e,t){return m.current.useMemo(e,t)};p.useReducer=function(e,t,r){return m.current.useReducer(e,t,r)};p.useRef=function(e){return m.current.useRef(e)};p.useState=function(e){return m.current.useState(e)};p.useSyncExternalStore=function(e,t,r){return m.current.useSyncExternalStore(e,t,r)};p.useTransition=function(){return m.current.useTransition()};p.version="18.2.0";});var Ue=ie((br,He)=>{He.exports=qe();});var Fe={};Ze(Fe,{default:()=>Ne,logSeoTags:()=>L});function Ne({headTags:e}){return L(e),null}function L(e){let t="text-transform: uppercase;",r="text-transform: uppercase; font-weight: bold; text-transform: uppercase;font-weight: bold";console.log(" "),console.log("%cSEO Meta Tags",`${r}`),console.log(" "),e.forEach(n=>{if(n.tag==="script"){if(console.log("%c\u2022 JSON LD ",t),n.children)try{console.table(JSON.parse(n.children),["name","content"]);}catch{console.log(n.children);}}else {if(console.log(`%c\u2022 ${n.tag} `,t),n.children)if(typeof n.children=="string")console.log(`\u21B3 ${n.children}`);else try{Object.entries(JSON.parse(n.children)).map(([o,a])=>console.log(`\u21B3 ${a}`));}catch{console.log(n.children);}Object.entries(n.props).map(([o,a])=>console.log(`\u21B3 ${o} \u2192 ${a}`));}console.log(" ");});}var se=Ye(()=>{});function ce(e){let t=Array.isArray(e)?e:[e],r="";for(let n of t)n!=null&&(typeof n=="object"?!!n.body&&typeof n.body=="string"?r+=n.body:r+=JSON.stringify(n):r+=n);return r}var W="public",rt="private",nt="no-store",ue={maxAge:"max-age",staleWhileRevalidate:"stale-while-revalidate",sMaxAge:"s-maxage",staleIfError:"stale-if-error"};function x(e){let t=[];return Object.keys(e).forEach(r=>{r==="mode"?t.push(e[r]):ue[r]&&t.push(`${ue[r]}=${e[r]}`);}),t.join(", ")}function B(){return {mode:nt}}function pe(e){if(e?.mode&&e?.mode!==W&&e?.mode!==rt)throw Error("'mode' must be either 'public' or 'private'")}function T(e){return pe(e),{mode:W,maxAge:1,staleWhileRevalidate:9,...e}}function V(e){return pe(e),{mode:W,maxAge:3600,staleWhileRevalidate:82800,...e}}function Q(e){return e}function O(e,t){return e&&t?{...e,...t}:e||T()}function G(e){return x(O(e))}async function ot(e,t){if(!e)return;let r=await e.match(t);if(!r){t.url;return}return t.url,r}async function st(e,t,r,n){if(!e)return;let o=O(n);t.headers.set("cache-control",G(O(o,{maxAge:(o.maxAge||0)+(o.staleWhileRevalidate||0)})));let a=G(O(o));r.headers.set("cache-control",a),r.headers.set("real-cache-control",a),r.headers.set("cache-put-date",new Date().toUTCString()),t.url,await e.put(t,r);}async function at(e,t){!e||(t.url,await e.delete(t));}function it(e,t){let r=t.headers.get("cache-put-date"),n=t.headers.get("real-cache-control"),o=0;if(n){let c=n.match(/max-age=(\d*)/);c&&c.length>1&&(o=parseFloat(c[1]));}if(!r)return !1;let i=(new Date().valueOf()-new Date(r).valueOf())/1e3>o;return i&&(e.url,void 0),i}var A={get:ot,set:st,delete:at,generateDefaultCacheControlHeader:G,isStale:it};function K(e){return `https://shopify.dev/?${e}`}function ct(e){return e||T()}async function le(e,t){if(!e)return;let r=K(t),n=new Request(r),o=await A.get(e,n);if(!!o)return [await o.json(),o]}async function z(e,t,r,n){if(!e)return;let o=K(t),a=new Request(o),s=new Response(JSON.stringify(r));await A.set(e,a,s,ct(n));}function fe(e,t){return A.isStale(new Request(K(e)),t)}function ge(e,t){return [e,{status:t.status,statusText:t.statusText,headers:Array.from(t.headers.entries())}]}var he=e=>!e?.errors,J=new Set;async function de(e,t,{cacheInstance:r,cache:n,cacheKey:o=[e,t],shouldCacheResponse:a=()=>!0,waitUntil:s,returnType:i="json"}={}){!n&&(!t.method||t.method==="GET")&&(n=T());let c=async()=>{let d=await fetch(e,t),f;try{f=await d[i]();}catch{f=await d.text();}return [f,d]};if(!r||!o||!n)return c();let u=ce([...typeof o=="string"?[o]:o]),g=await le(r,u);if(g){let[d,f]=g;if(!J.has(u)&&fe(u,f)){J.add(u);let H=Promise.resolve().then(async()=>{try{let[C,k]=await c();a(C,k)&&await z(r,u,ge(C,k),n);}catch(C){C.message&&(C.message="SWR in sub-request failed: "+C.message),console.error(C);}finally{J.delete(u);}});s?.(H);}let[y,w]=d;return [y,new Response(y,w)]}let[S,l]=await c();if(a(S,l)){let d=z(r,u,ge(S,l),n);s?.(d);}return [S,l]}var ye="Custom-Storefront-Request-Group-ID",me="Shopify-Storefront-Buyer-IP",Se="Shopify-Storefront-Id";function Ce(){return typeof crypto<"u"&&!!crypto.randomUUID?crypto.randomUUID():`weak-${Math.random().toString(16).substring(2)}`}function Te(e){return String(e).includes("__proto__")?JSON.parse(e,ut):JSON.parse(e)}function ut(e,t){if(e!=="__proto__")return t}var Re=new Set,we=e=>{Re.has(e)||(console.warn(e),Re.add(e));};var X="2023.1.3";var Ee=class extends Error{},lt=e=>e instanceof Ee,ft=/(^|}\s)query[\s({]/im,gt=/(^|}\s)mutation[\s({]/im;function be(e){return e.replace(/\s*#.*$/gm,"").replace(/\s+/gm," ").trim()}var ht={language:"EN",country:"US"};function dr({cache:e,waitUntil:t,buyerIp:r,i18n:n,requestGroupId:o,storefrontId:a,...s}){e||we("Storefront API client created without a cache instance. This may slow down your sub-requests.");let{getPublicTokenHeaders:i,getPrivateTokenHeaders:c,getStorefrontApiUrl:u,getShopifyDomain:g}=hydrogenReact.createStorefrontClient(s),l=(s.privateStorefrontToken?c:i)({contentType:"json"});l[ye]=o||Ce(),r&&(l[me]=r),a&&(l[Se]=a),(l["user-agent"]=`Hydrogen ${X}`);async function d({query:f,mutation:y,variables:w,cache:H,headers:C=[],storefrontApiVersion:k}){let We=C instanceof Headers?Object.fromEntries(C.entries()):Array.isArray(C)?Object.fromEntries(C):C;f=f??y;let U={...w};n&&(!w?.country&&/\$country/.test(f)&&(U.country=n.country),!w?.language&&/\$language/.test(f)&&(U.language=n.language));let Be=u({storefrontApiVersion:k}),Ve={method:"POST",headers:{...l,...We},body:JSON.stringify({query:f,variables:U})},[$,D]=await de(Be,Ve,{cacheInstance:y?void 0:e,cache:H||T(),shouldCacheResponse:he,waitUntil:t});if(!D.ok){let N;try{N=Te($);}catch{N=[{message:$}];}xe(D,N);}let{data:Qe,errors:ae}=$;return ae?.length&&xe(D,ae,Ee),Qe}return {storefront:{query:(f,y)=>{if(f=be(f),gt.test(f))throw new Error("storefront.query cannot execute mutations");return d({...y,query:f})},mutate:(f,y)=>{if(f=be(f),ft.test(f))throw new Error("storefront.mutate cannot execute queries");return d({...y,mutation:f})},cache:e,CacheNone:B,CacheLong:V,CacheShort:T,CacheCustom:Q,generateCacheControlHeader:x,getPublicTokenHeaders:i,getPrivateTokenHeaders:c,getShopifyDomain:g,getApiUrl:u,isApiError:lt,i18n:n??ht}}}function xe(e,t,r=Error){let n=e.headers.get("x-request-id"),o=n?` - Request ID: ${n}`:"";if(t){let a=typeof t=="string"?t:t.map(s=>s.message).join(`
8
+ `);throw new r(a+o)}throw new r(`API response error: ${e.status}`+o)}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:n,timestamp:o,...a}=r,s=new Headers(a.headers),i=s.get("cache-control")||s.get("real-cache-control")||"",c=parseInt(i.match(/max-age=(\d+)/)?.[1]||"0",10),u=parseInt(i.match(/stale-while-revalidate=(\d+)/)?.[1]||"0",10),g=(Date.now()-o)/1e3;if(g>c+u){this.#e.delete(t.url);return}let l=g>c;return s.set("cache",l?"STALE":"HIT"),s.set("date",new Date(o).toUTCString()),new Response(n,{status:a.status??200,headers:s})}async delete(t){return this.#e.has(t.url)?(this.#e.delete(t.url),!0):!1}keys(t){let r=[];for(let n of this.#e.keys())(!t||t.url===n)&&r.push(new Request(n));return Promise.resolve(r)}};async function yt({storefront:e,request:t,response:r=new Response("Not Found",{status:404})}){let{pathname:n,search:o}=new URL(t.url),a=n+o;try{let{urlRedirects:s}=await e.query(St,{variables:{query:"path:"+a},storefrontApiVersion:"2023-01"}),i=s?.edges?.[0]?.node?.target;if(i)return new Response(null,{status:302,headers:{location:i}});let c=new URLSearchParams(o),u=c.get("return_to")||c.get("redirect");if(u){if(mt(u))return serverRuntime.redirect(u);console.warn(`Cross-domain redirects are not supported. Tried to redirect from ${a} to ${u}`);}}catch(s){console.error(`Failed to fetch redirects from Storefront API for route ${a}`,s);}return r}function mt(e){try{new URL(e);}catch{return !0}return !1}var St=`#graphql
9
9
  query redirects($query: String) {
10
10
  urlRedirects(first: 1, query: $query) {
11
11
  edges {
@@ -15,7 +15,7 @@ var Qe=Object.create;var F=Object.defineProperty;var Ge=Object.getOwnPropertyDes
15
15
  }
16
16
  }
17
17
  }
18
- `;function St({context:e}={}){if(!e?.storefront)throw new Error("GraphiQL: Hydrogen's storefront client must be injected in the loader context.");let t=e.storefront.getApiUrl(),r=e.storefront.getPublicTokenHeaders()["X-Shopify-Storefront-Access-Token"];return new Response(`
18
+ `;function Ct({context:e}={}){if(!e?.storefront)throw new Error("GraphiQL: Hydrogen's storefront client must be injected in the loader context.");let t=e.storefront.getApiUrl(),r=e.storefront.getPublicTokenHeaders()["X-Shopify-Storefront-Access-Token"];return new Response(`
19
19
  <!DOCTYPE html>
20
20
  <html lang="en">
21
21
  <head>
@@ -69,7 +69,7 @@ var Qe=Object.create;var F=Object.defineProperty;var Ge=Object.getOwnPropertyDes
69
69
  <\/script>
70
70
  </body>
71
71
  </html>
72
- `,{status:200,headers:{"content-type":"text/html"}})}var R=et(He(),1);var v="Error in SEO input: ",M={title:{validate:e=>{if(typeof e=="string"&&e.length>120)throw new Error(v.concat("`title` should not be longer than 120 characters"));return e}},description:{validate:e=>{if(typeof e=="string"&&e.length>155)throw new Error(v.concat("`description` should not be longer than 155 characters"));return e}},url:{validate:e=>{if(typeof e=="string"&&!e.startsWith("http"))throw new Error(v.concat("`url` should be a valid URL"));return e}},handle:{validate:e=>{if(typeof e=="string"&&!e.startsWith("@"))throw new Error(v.concat("`handle` should start with `@`"));return e}}};function $e(e){let t=[],r={"@context":"https://schema.org","@type":"Thing"};for(let o of Object.keys(e)){let a=ne(e[o]),s;if(!a)return [];let c=a.map(u=>{let h=[];if(!u)return h;switch(o){case"title":{s=j(M.title,u);let S=jt(e?.titleTemplate,s);h.push(g("title",{title:S}),g("meta",{property:"og:title",content:S}),g("meta",{name:"twitter:title",content:S})),r.name=s;break}case"description":s=j(M.description,u),h.push(g("meta",{name:"description",content:s}),g("meta",{property:"og:description",content:s}),g("meta",{name:"twitter:description",content:s})),r.description=s;break;case"url":s=j(M.url,u),h.push(g("meta",{property:"og:url",content:s}),g("link",{rel:"canonical",href:s})),r.url=s,r["@type"]=qt(s);break;case"handle":s=j(M.handle,u),h.push(g("meta",{name:"twitter:site",content:s}),g("meta",{name:"twitter:creator",content:s}));break;case"jsonLd":r={...r,...u};break;case"media":{let S=ne(u);for(let f of S)if(typeof f=="string"&&(h.push(g("meta",{name:"og:image",content:f})),r.image=f),f&&typeof f=="object"){let d=f.type||"image",l=f?{url:f?.url,secure_url:f?.url,type:Lt(f.url),width:f?.width,height:f?.height,alt:f?.altText}:{};for(let y of Object.keys(l))l[y]&&(s=l[y],h.push(g("meta",{property:`og:${d}:${y}`,content:s},l.url)));}break}case"alternates":{let S=ne(u);for(let f of S){if(!f)continue;let{language:d,url:l,default:y}=f,w=d?`${d}${y?"-default":""}`:void 0;h.push(g("link",{rel:"alternate",hrefLang:w,href:l}));}break}}return h}).flat();t.push(c.filter(u=>!!u));}let n=[g("meta",{property:"og:type",content:"website"}),g("meta",{name:"twitter:card",content:"summary_large_image"})];return [...t,...n].flat().sort((o,a)=>o.key.localeCompare(a.key)).concat(g("script",{type:"application/ld+json",children:r})).flat()}function g(e,t,r){let n={tag:e,props:{},key:""};return e==="title"?(n.children=t.title,n.key=Ue(n),n):(e==="script"&&(n.children=JSON.stringify(t.children),delete t.children),n.props=t,Object.keys(n.props).forEach(o=>!n.props[o]&&delete n.props[o]),n.key=Ue(n,r),n)}function Ue(e,t){let{tag:r,props:n}=e;if(r==="title")return "0-title";if(r==="meta"){let o=n.content===t&&typeof n.property=="string"&&!n.property.endsWith("secure_url")&&"0";return [r,...[t,o],n.property||n.name].filter(s=>s).join("-")}return r==="link"?[r,n.rel,n.hrefLang||n.media].filter(a=>a).join("-").replace(/\s+/g,"-"):`${r}-${n.type}`}function jt(e,t){return e?typeof e=="function"?e(t):e.replace("%s",t??""):t}function Lt(e){let t=e&&e.split(".").pop();return t==="svg"?"image/svg+xml":t==="png"?"image/png":t==="jpg"||t==="jpeg"?"image/jpeg":t==="gif"?"image/gif":t==="swf"?"application/x-shockwave-flash":t==="mp3"?"audio/mpeg":"image/jpeg"}function qt(e){let t="Thing";if(!e)return t;let n=[{type:"WebSite",pattern:"^/$"},{type:"Product",pattern:"/products/.*"},{type:"ItemList",pattern:/\/collections$/},{type:"ItemList",pattern:/\/collections\/([^/]+)/},{type:"WebPage",pattern:/\/pages\/([^/]+)/},{type:"WebSite",pattern:/\/blogs\/([^/]+)/},{type:"BlogPosting",pattern:/\/blogs\/([^/]+)\/([^/]+)/},{type:"Organization",pattern:"/policies"},{type:"Organization",pattern:/\/policies\/([^/]+)/}].filter(o=>{let{pattern:a}=o;return new RegExp(a).test(e)});return n.length>0?n[n.length-1].type:t}function ne(e){return Array.isArray(e)?e:[e]}function j(e,t){try{return e.validate(t)}catch(r){let n=r.message;return console.warn(n),t}}oe();var $t=R.default.lazy(()=>Promise.resolve().then(()=>(oe(),Ne)));function Dt({debug:e}){let t=react.useMatches(),r=react.useLocation(),n=t.flatMap(i=>{let{handle:c,...u}=i,h={...u,...r};return c===void 0||c.seo===void 0?[]:q(c.seo,h)}).reduce((i,c)=>(Object.keys(c).forEach(u=>!c[u]&&delete c[u]),{...i,...c}),{}),o=$e(n);e&&L(o);let a=o.map(i=>i.tag==="script"?R.default.createElement(i.tag,{...i.props,key:i.key,dangerouslySetInnerHTML:{__html:i.children}}):R.default.createElement(i.tag,{...i.props,key:i.key},i.children)),s=R.default.createElement(R.default.Suspense,{fallback:null},R.default.createElement($t,{headTags:o}));return R.default.createElement(R.default.Fragment,null,a,e&&s)}function q(e,...t){if(e instanceof Function)return q(e(...t),...t);let r={};return Array.isArray(e)?(r=e.reduce((n,o)=>[...n,q(o)],[]),r):e instanceof Object?(Object.entries(e).forEach(([o,a])=>{r[o]=q(a,...t);}),r):e}/**
72
+ `,{status:200,headers:{"content-type":"text/html"}})}var R=tt(Ue(),1);var v="Error in SEO input: ",M={title:{validate:e=>{if(typeof e=="string"&&e.length>120)throw new Error(v.concat("`title` should not be longer than 120 characters"));return e}},description:{validate:e=>{if(typeof e=="string"&&e.length>155)throw new Error(v.concat("`description` should not be longer than 155 characters"));return e}},url:{validate:e=>{if(typeof e=="string"&&!e.startsWith("http"))throw new Error(v.concat("`url` should be a valid URL"));return e}},handle:{validate:e=>{if(typeof e=="string"&&!e.startsWith("@"))throw new Error(v.concat("`handle` should start with `@`"));return e}}};function De(e){let t=[],r={"@context":"https://schema.org","@type":"Thing"};for(let o of Object.keys(e)){let a=oe(e[o]),s;if(!a)return [];let c=a.map(u=>{let g=[];if(!u)return g;switch(o){case"title":{s=j(M.title,u);let S=Lt(e?.titleTemplate,s);g.push(h("title",{title:S}),h("meta",{property:"og:title",content:S}),h("meta",{name:"twitter:title",content:S})),r.name=s;break}case"description":s=j(M.description,u),g.push(h("meta",{name:"description",content:s}),h("meta",{property:"og:description",content:s}),h("meta",{name:"twitter:description",content:s})),r.description=s;break;case"url":s=j(M.url,u),g.push(h("meta",{property:"og:url",content:s}),h("link",{rel:"canonical",href:s})),r.url=s,r["@type"]=Ht(s);break;case"handle":s=j(M.handle,u),g.push(h("meta",{name:"twitter:site",content:s}),h("meta",{name:"twitter:creator",content:s}));break;case"jsonLd":r={...r,...u};break;case"media":{let S=oe(u);for(let l of S)if(typeof l=="string"&&(g.push(h("meta",{name:"og:image",content:l})),r.image=l),l&&typeof l=="object"){let d=l.type||"image",f=l?{url:l?.url,secure_url:l?.url,type:qt(l.url),width:l?.width,height:l?.height,alt:l?.altText}:{};for(let y of Object.keys(f))f[y]&&(s=f[y],g.push(h("meta",{property:`og:${d}:${y}`,content:s},f.url)));}break}case"alternates":{let S=oe(u);for(let l of S){if(!l)continue;let{language:d,url:f,default:y}=l,w=d?`${d}${y?"-default":""}`:void 0;g.push(h("link",{rel:"alternate",hrefLang:w,href:f}));}break}}return g}).flat();t.push(c.filter(u=>!!u));}let n=[h("meta",{property:"og:type",content:"website"}),h("meta",{name:"twitter:card",content:"summary_large_image"})];return [...t,...n].flat().sort((o,a)=>o.key.localeCompare(a.key)).concat(h("script",{type:"application/ld+json",children:r})).flat()}function h(e,t,r){let n={tag:e,props:{},key:""};return e==="title"?(n.children=t.title,n.key=$e(n),n):(e==="script"&&(n.children=JSON.stringify(t.children),delete t.children),n.props=t,Object.keys(n.props).forEach(o=>!n.props[o]&&delete n.props[o]),n.key=$e(n,r),n)}function $e(e,t){let{tag:r,props:n}=e;if(r==="title")return "0-title";if(r==="meta"){let o=n.content===t&&typeof n.property=="string"&&!n.property.endsWith("secure_url")&&"0";return [r,...[t,o],n.property||n.name].filter(s=>s).join("-")}return r==="link"?[r,n.rel,n.hrefLang||n.media].filter(a=>a).join("-").replace(/\s+/g,"-"):`${r}-${n.type}`}function Lt(e,t){return e?typeof e=="function"?e(t):e.replace("%s",t??""):t}function qt(e){let t=e&&e.split(".").pop();return t==="svg"?"image/svg+xml":t==="png"?"image/png":t==="jpg"||t==="jpeg"?"image/jpeg":t==="gif"?"image/gif":t==="swf"?"application/x-shockwave-flash":t==="mp3"?"audio/mpeg":"image/jpeg"}function Ht(e){let t="Thing";if(!e)return t;let n=[{type:"WebSite",pattern:"^/$"},{type:"Product",pattern:"/products/.*"},{type:"ItemList",pattern:/\/collections$/},{type:"ItemList",pattern:/\/collections\/([^/]+)/},{type:"WebPage",pattern:/\/pages\/([^/]+)/},{type:"WebSite",pattern:/\/blogs\/([^/]+)/},{type:"BlogPosting",pattern:/\/blogs\/([^/]+)\/([^/]+)/},{type:"Organization",pattern:"/policies"},{type:"Organization",pattern:/\/policies\/([^/]+)/}].filter(o=>{let{pattern:a}=o;return new RegExp(a).test(e)});return n.length>0?n[n.length-1].type:t}function oe(e){return Array.isArray(e)?e:[e]}function j(e,t){try{return e.validate(t)}catch(r){let n=r.message;return console.warn(n),t}}se();var Dt=R.default.lazy(()=>Promise.resolve().then(()=>(se(),Fe)));function Nt({debug:e}){let t=react.useMatches(),r=react.useLocation(),n=t.flatMap(i=>{let{handle:c,...u}=i,g={...u,...r};return c===void 0||c.seo===void 0?[]:q(c.seo,g)}).reduce((i,c)=>(Object.keys(c).forEach(u=>!c[u]&&delete c[u]),{...i,...c}),{}),o=De(n);e&&L(o);let a=o.map(i=>i.tag==="script"?R.default.createElement(i.tag,{...i.props,key:i.key,dangerouslySetInnerHTML:{__html:i.children}}):R.default.createElement(i.tag,{...i.props,key:i.key},i.children)),s=R.default.createElement(R.default.Suspense,{fallback:null},R.default.createElement(Dt,{headTags:o}));return R.default.createElement(R.default.Fragment,null,a,e&&s)}function q(e,...t){if(e instanceof Function)return q(e(...t),...t);let r={};return Array.isArray(e)?(r=e.reduce((n,o)=>[...n,q(o)],[]),r):e instanceof Object?(Object.entries(e).forEach(([o,a])=>{r[o]=q(a,...t);}),r):e}/**
73
73
  * @license React
74
74
  * react.production.min.js
75
75
  *
@@ -155,12 +155,12 @@ exports.CacheCustom = Q;
155
155
  exports.CacheLong = V;
156
156
  exports.CacheNone = B;
157
157
  exports.CacheShort = T;
158
- exports.InMemoryCache = X;
159
- exports.Seo = Dt;
160
- exports.createStorefrontClient = fr;
158
+ exports.InMemoryCache = Y;
159
+ exports.Seo = Nt;
160
+ exports.createStorefrontClient = dr;
161
161
  exports.generateCacheControlHeader = x;
162
- exports.graphiqlLoader = St;
163
- exports.isStorefrontApiError = pt;
164
- exports.storefrontRedirect = dt;
162
+ exports.graphiqlLoader = Ct;
163
+ exports.isStorefrontApiError = lt;
164
+ exports.storefrontRedirect = yt;
165
165
  //# sourceMappingURL=out.js.map
166
166
  //# sourceMappingURL=index.cjs.map