@shopify/hydrogen-react 0.0.0-next-9bff83c → 0.0.0-next-cfd8626
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser-dev/index.mjs +1 -5
- package/dist/browser-dev/index.mjs.map +1 -1
- package/dist/browser-dev/{metafield-parser.mjs → parse-metafield.mjs} +16 -7
- package/dist/browser-dev/parse-metafield.mjs.map +1 -0
- package/dist/browser-prod/index.mjs +1 -5
- package/dist/browser-prod/index.mjs.map +1 -1
- package/dist/browser-prod/{metafield-parser.mjs → parse-metafield.mjs} +16 -7
- package/dist/browser-prod/parse-metafield.mjs.map +1 -0
- package/dist/node-dev/index.js +2 -6
- package/dist/node-dev/index.js.map +1 -1
- package/dist/node-dev/index.mjs +1 -5
- package/dist/node-dev/index.mjs.map +1 -1
- package/dist/node-dev/{metafield-parser.js → parse-metafield.js} +18 -9
- package/dist/node-dev/parse-metafield.js.map +1 -0
- package/dist/node-dev/{metafield-parser.mjs → parse-metafield.mjs} +16 -7
- package/dist/node-dev/parse-metafield.mjs.map +1 -0
- package/dist/node-prod/index.js +2 -6
- package/dist/node-prod/index.js.map +1 -1
- package/dist/node-prod/index.mjs +1 -5
- package/dist/node-prod/index.mjs.map +1 -1
- package/dist/node-prod/{metafield-parser.js → parse-metafield.js} +18 -9
- package/dist/node-prod/parse-metafield.js.map +1 -0
- package/dist/node-prod/{metafield-parser.mjs → parse-metafield.mjs} +16 -7
- package/dist/node-prod/parse-metafield.mjs.map +1 -0
- package/dist/types/index.d.cts +1 -2
- package/dist/types/index.d.ts +1 -2
- package/dist/types/{metafield-parser.d.ts → parse-metafield.d.ts} +9 -5
- package/dist/umd/hydrogen-react.dev.js +41 -409
- package/dist/umd/hydrogen-react.dev.js.map +1 -1
- package/dist/umd/hydrogen-react.prod.js +16 -17
- package/dist/umd/hydrogen-react.prod.js.map +1 -1
- package/package.json +1 -1
- package/dist/browser-dev/Metafield.mjs +0 -301
- package/dist/browser-dev/Metafield.mjs.map +0 -1
- package/dist/browser-dev/metafield-parser.mjs.map +0 -1
- package/dist/browser-prod/Metafield.mjs +0 -288
- package/dist/browser-prod/Metafield.mjs.map +0 -1
- package/dist/browser-prod/metafield-parser.mjs.map +0 -1
- package/dist/node-dev/Metafield.js +0 -301
- package/dist/node-dev/Metafield.js.map +0 -1
- package/dist/node-dev/Metafield.mjs +0 -301
- package/dist/node-dev/Metafield.mjs.map +0 -1
- package/dist/node-dev/metafield-parser.js.map +0 -1
- package/dist/node-dev/metafield-parser.mjs.map +0 -1
- package/dist/node-prod/Metafield.js +0 -288
- package/dist/node-prod/Metafield.js.map +0 -1
- package/dist/node-prod/Metafield.mjs +0 -288
- package/dist/node-prod/Metafield.mjs.map +0 -1
- package/dist/node-prod/metafield-parser.js.map +0 -1
- package/dist/node-prod/metafield-parser.mjs.map +0 -1
- package/dist/types/Metafield.d.ts +0 -61
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(L,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],h):(L=typeof globalThis<"u"?globalThis:L||self,h(L.hydrogenreact={},L.React))})(this,function(L,h){"use strict";const _t=e=>e&&typeof e=="object"&&"default"in e?e:{default:e};function gt(e){if(e&&e.__esModule)return e;const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const D=_t(h),Se=gt(h);/*! *****************************************************************************
|
|
2
2
|
Copyright (c) Microsoft Corporation.
|
|
3
3
|
|
|
4
4
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
12
12
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
13
13
|
PERFORMANCE OF THIS SOFTWARE.
|
|
14
|
-
***************************************************************************** */function
|
|
14
|
+
***************************************************************************** */function pe(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var a,o,i=r.call(e),u=[];try{for(;(t===void 0||t-- >0)&&!(a=i.next()).done;)u.push(a.value)}catch(n){o={error:n}}finally{try{a&&!a.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return u}var Y;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Y||(Y={}));var Ce={type:"xstate.init"};function se(e){return e===void 0?[]:[].concat(e)}function Z(e){return{type:"xstate.assign",assignment:e}}function be(e,t){return typeof(e=typeof e=="string"&&t&&t[e]?t[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function re(e){return function(t){return e===t}}function ve(e){return typeof e=="string"?{type:e}:e}function Te(e,t){return{value:e,context:t,actions:[],changed:!1,matches:re(e)}}function Ae(e,t,r){var a=t,o=!1;return[e.filter(function(i){if(i.type==="xstate.assign"){o=!0;var u=Object.assign({},a);return typeof i.assignment=="function"?u=i.assignment(a,r):Object.keys(i.assignment).forEach(function(n){u[n]=typeof i.assignment[n]=="function"?i.assignment[n](a,r):i.assignment[n]}),a=u,!1}return!0}),a,o]}function we(e,t){t===void 0&&(t={});var r=pe(Ae(se(e.states[e.initial].entry).map(function(u){return be(u,t.actions)}),e.context,Ce),2),a=r[0],o=r[1],i={config:e,_options:t,initialState:{value:e.initial,actions:a,context:o,matches:re(e.initial)},transition:function(u,n){var d,c,f=typeof u=="string"?{value:u,context:e.context}:u,l=f.value,_=f.context,m=ve(n),E=e.states[l];if(E.on){var T=se(E.on[m.type]);try{for(var S=function(O){var G=typeof Symbol=="function"&&Symbol.iterator,k=G&&O[G],oe=0;if(k)return k.call(O);if(O&&typeof O.length=="number")return{next:function(){return O&&oe>=O.length&&(O=void 0),{value:O&&O[oe++],done:!O}}};throw new TypeError(G?"Object is not iterable.":"Symbol.iterator is not defined.")}(T),b=S.next();!b.done;b=S.next()){var C=b.value;if(C===void 0)return Te(l,_);var p=typeof C=="string"?{target:C}:C,s=p.target,y=p.actions,g=y===void 0?[]:y,w=p.cond,N=w===void 0?function(){return!0}:w,v=s===void 0,I=s!=null?s:l,R=e.states[I];if(N(_,m)){var V=pe(Ae((v?se(g):[].concat(E.exit,g,R.entry).filter(function(O){return O})).map(function(O){return be(O,i._options.actions)}),_,m),3),P=V[0],H=V[1],K=V[2],B=s!=null?s:l;return{value:B,context:H,actions:P,changed:s!==l||P.length>0||K,matches:re(B)}}}}catch(O){d={error:O}}finally{try{b&&!b.done&&(c=S.return)&&c.call(S)}finally{if(d)throw d.error}}}return Te(l,_)}};return i}var Ne=function(e,t){return e.actions.forEach(function(r){var a=r.exec;return a&&a(e.context,t)})};function Et(e){var t=e.initialState,r=Y.NotStarted,a=new Set,o={_machine:e,send:function(i){r===Y.Running&&(t=e.transition(t,i),Ne(t,ve(i)),a.forEach(function(u){return u(t)}))},subscribe:function(i){return a.add(i),i(t),{unsubscribe:function(){return a.delete(i)}}},start:function(i){if(i){var u=typeof i=="object"?i:{context:e.config.context,value:i};t={value:u.value,actions:[],context:u.context,matches:re(u.value)}}else t=e.initialState;return r=Y.Running,Ne(t,Ce),o},stop:function(){return r=Y.Stopped,a.clear(),o},get state(){return t},get status(){return r}};return o}var St=h.useLayoutEffect,Ie={exports:{}},ce={},le={exports:{}},de={};/**
|
|
15
15
|
* @license React
|
|
16
16
|
* use-sync-external-store-shim.production.min.js
|
|
17
17
|
*
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
*
|
|
20
20
|
* This source code is licensed under the MIT license found in the
|
|
21
21
|
* LICENSE file in the root directory of this source tree.
|
|
22
|
-
*/var
|
|
22
|
+
*/var Oe;function pt(){if(Oe)return de;Oe=1;var e=D.default;function t(l,_){return l===_&&(l!==0||1/l===1/_)||l!==l&&_!==_}var r=typeof Object.is=="function"?Object.is:t,a=e.useState,o=e.useEffect,i=e.useLayoutEffect,u=e.useDebugValue;function n(l,_){var m=_(),E=a({inst:{value:m,getSnapshot:_}}),T=E[0].inst,S=E[1];return i(function(){T.value=m,T.getSnapshot=_,d(T)&&S({inst:T})},[l,m,_]),o(function(){return d(T)&&S({inst:T}),l(function(){d(T)&&S({inst:T})})},[l]),u(m),m}function d(l){var _=l.getSnapshot;l=l.value;try{var m=_();return!r(l,m)}catch{return!0}}function c(l,_){return _()}var f=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?c:n;return de.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:f,de}var fe={};/**
|
|
23
23
|
* @license React
|
|
24
24
|
* use-sync-external-store-shim.development.js
|
|
25
25
|
*
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
*
|
|
28
28
|
* This source code is licensed under the MIT license found in the
|
|
29
29
|
* LICENSE file in the root directory of this source tree.
|
|
30
|
-
*/var
|
|
30
|
+
*/var De;function Ct(){return De||(De=1,process.env.NODE_ENV!=="production"&&function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=D.default,t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function r(p){{for(var s=arguments.length,y=new Array(s>1?s-1:0),g=1;g<s;g++)y[g-1]=arguments[g];a("error",p,y)}}function a(p,s,y){{var g=t.ReactDebugCurrentFrame,w=g.getStackAddendum();w!==""&&(s+="%s",y=y.concat([w]));var N=y.map(function(v){return String(v)});N.unshift("Warning: "+s),Function.prototype.apply.call(console[p],console,N)}}function o(p,s){return p===s&&(p!==0||1/p===1/s)||p!==p&&s!==s}var i=typeof Object.is=="function"?Object.is:o,u=e.useState,n=e.useEffect,d=e.useLayoutEffect,c=e.useDebugValue,f=!1,l=!1;function _(p,s,y){f||e.startTransition!==void 0&&(f=!0,r("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var g=s();if(!l){var w=s();i(g,w)||(r("The result of getSnapshot should be cached to avoid an infinite loop"),l=!0)}var N=u({inst:{value:g,getSnapshot:s}}),v=N[0].inst,I=N[1];return d(function(){v.value=g,v.getSnapshot=s,m(v)&&I({inst:v})},[p,g,s]),n(function(){m(v)&&I({inst:v});var R=function(){m(v)&&I({inst:v})};return p(R)},[p]),c(g),g}function m(p){var s=p.getSnapshot,y=p.value;try{var g=s();return!i(y,g)}catch{return!0}}function E(p,s,y){return s()}var T=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",S=!T,b=S?E:_,C=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:b;fe.useSyncExternalStore=C,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),fe}var Le;function Ue(){return Le||(Le=1,function(e){process.env.NODE_ENV==="production"?e.exports=pt():e.exports=Ct()}(le)),le.exports}/**
|
|
31
31
|
* @license React
|
|
32
32
|
* use-sync-external-store-shim/with-selector.production.min.js
|
|
33
33
|
*
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
*
|
|
36
36
|
* This source code is licensed under the MIT license found in the
|
|
37
37
|
* LICENSE file in the root directory of this source tree.
|
|
38
|
-
*/var
|
|
38
|
+
*/var ke;function bt(){if(ke)return ce;ke=1;var e=D.default,t=Ue();function r(c,f){return c===f&&(c!==0||1/c===1/f)||c!==c&&f!==f}var a=typeof Object.is=="function"?Object.is:r,o=t.useSyncExternalStore,i=e.useRef,u=e.useEffect,n=e.useMemo,d=e.useDebugValue;return ce.useSyncExternalStoreWithSelector=function(c,f,l,_,m){var E=i(null);if(E.current===null){var T={hasValue:!1,value:null};E.current=T}else T=E.current;E=n(function(){function b(g){if(!C){if(C=!0,p=g,g=_(g),m!==void 0&&T.hasValue){var w=T.value;if(m(w,g))return s=w}return s=g}if(w=s,a(p,g))return w;var N=_(g);return m!==void 0&&m(w,N)?w:(p=g,s=N)}var C=!1,p,s,y=l===void 0?null:l;return[function(){return b(f())},y===null?void 0:function(){return b(y())}]},[f,l,_,m]);var S=o(c,E[0],E[1]);return u(function(){T.hasValue=!0,T.value=S},[S]),d(S),S},ce}var ye={};/**
|
|
39
39
|
* @license React
|
|
40
40
|
* use-sync-external-store-shim/with-selector.development.js
|
|
41
41
|
*
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
*
|
|
44
44
|
* This source code is licensed under the MIT license found in the
|
|
45
45
|
* LICENSE file in the root directory of this source tree.
|
|
46
|
-
*/var
|
|
46
|
+
*/var Re;function vt(){return Re||(Re=1,process.env.NODE_ENV!=="production"&&function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=D.default,t=Ue();function r(f,l){return f===l&&(f!==0||1/f===1/l)||f!==f&&l!==l}var a=typeof Object.is=="function"?Object.is:r,o=t.useSyncExternalStore,i=e.useRef,u=e.useEffect,n=e.useMemo,d=e.useDebugValue;function c(f,l,_,m,E){var T=i(null),S;T.current===null?(S={hasValue:!1,value:null},T.current=S):S=T.current;var b=n(function(){var y=!1,g,w,N=function(V){if(!y){y=!0,g=V;var P=m(V);if(E!==void 0&&S.hasValue){var H=S.value;if(E(H,P))return w=H,H}return w=P,P}var K=g,B=w;if(a(K,V))return B;var O=m(V);return E!==void 0&&E(B,O)?B:(g=V,w=O,O)},v=_===void 0?null:_,I=function(){return N(l())},R=v===null?void 0:function(){return N(v())};return[I,R]},[l,_,m,E]),C=b[0],p=b[1],s=o(f,C,p);return u(function(){S.hasValue=!0,S.value=s},[s]),d(s),s}ye.useSyncExternalStoreWithSelector=c,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),ye}(function(e){process.env.NODE_ENV==="production"?e.exports=bt():e.exports=vt()})(Ie);function Tt(e){var t=Se.useRef();return t.current||(t.current={v:e()}),t.current.v}var $e=globalThis&&globalThis.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var a=r.call(e),o,i=[],u;try{for(;(t===void 0||t-- >0)&&!(o=a.next()).done;)i.push(o.value)}catch(n){u={error:n}}finally{try{o&&!o.done&&(r=a.return)&&r.call(a)}finally{if(u)throw u.error}}return i};function At(e){return e}var wt=function(e){var t;return e.subscribe(function(r){t=r}).unsubscribe(),t};function Nt(e,t){var r=h.useRef();if(process.env.NODE_ENV!=="production"){var a=$e(h.useState(e),1),o=a[0];e!==o&&console.warn("Machine given to `useMachine` has changed between renders. This is not supported and might lead to unexpected results.\nPlease make sure that you pass the same Machine as argument each time.")}var i=$e(Tt(function(){var c=[],f=Et(we(e.config,t||e._options)),l=f.send;return f.send=function(_){if(f.status===Y.NotStarted){c.push(_);return}l(_),r.current=f.state},[f,c]}),2),u=i[0],n=i[1];St(function(){t&&(u._machine._options=t)});var d=Ot(u);return h.useEffect(function(){return u.start(r.current),n.forEach(u.send),r.current=u.state,function(){u.stop()}},[]),d}var It=function(e,t){return t.changed===!1};function Ot(e){var t=h.useCallback(function(){return wt(e)},[e]),r=h.useCallback(function(o){var i=e.subscribe(o).unsubscribe;return i},[e]),a=Ie.exports.useSyncExternalStoreWithSelector(r,t,t,At,It);return[a,e.send,e]}function q(e){if(!e){const t=`flattenConnection(): needs a 'connection' to flatten, but received '${e}' instead`;return console.error(t),[]}return e.nodes?e.nodes:e.edges?e.edges.map(t=>{if(!(t!=null&&t.node))throw new Error("Connection edges must contain nodes");return t.node}):[]}const Dt=e=>`
|
|
47
47
|
mutation CartLineAdd(
|
|
48
48
|
$cartId: ID!
|
|
49
49
|
$lines: [CartLineInput!]!
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
${e}
|
|
61
|
-
`,
|
|
61
|
+
`,Lt=e=>`
|
|
62
62
|
mutation CartCreate(
|
|
63
63
|
$input: CartInput!
|
|
64
64
|
$numCartLines: Int = 250
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
${e}
|
|
75
|
-
`,
|
|
75
|
+
`,Ut=e=>`
|
|
76
76
|
mutation CartLineRemove(
|
|
77
77
|
$cartId: ID!
|
|
78
78
|
$lines: [ID!]!
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
${e}
|
|
90
|
-
`,
|
|
90
|
+
`,kt=e=>`
|
|
91
91
|
mutation CartLineUpdate(
|
|
92
92
|
$cartId: ID!
|
|
93
93
|
$lines: [CartLineUpdateInput!]!
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
${e}
|
|
105
|
-
|
|
105
|
+
`,Rt=e=>`
|
|
106
106
|
mutation CartNoteUpdate(
|
|
107
107
|
$cartId: ID!
|
|
108
108
|
$note: String
|
|
@@ -117,7 +117,7 @@
|
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
${e}
|
|
120
|
-
|
|
120
|
+
`,$t=e=>`
|
|
121
121
|
mutation CartBuyerIdentityUpdate(
|
|
122
122
|
$cartId: ID!
|
|
123
123
|
$buyerIdentity: CartBuyerIdentityInput!
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
${e}
|
|
135
|
-
`,
|
|
135
|
+
`,Vt=e=>`
|
|
136
136
|
mutation CartAttributesUpdate(
|
|
137
137
|
$attributes: [AttributeInput!]!
|
|
138
138
|
$cartId: ID!
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
${e}
|
|
150
|
-
`,
|
|
150
|
+
`,Mt=e=>`
|
|
151
151
|
mutation CartDiscountCodesUpdate(
|
|
152
152
|
$cartId: ID!
|
|
153
153
|
$discountCodes: [String!]
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
${e}
|
|
165
|
-
`,
|
|
165
|
+
`,Pt=e=>`
|
|
166
166
|
query CartQuery(
|
|
167
167
|
$id: ID!
|
|
168
168
|
$numCartLines: Int = 250
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
${e}
|
|
177
|
-
`,
|
|
177
|
+
`,Ft=`
|
|
178
178
|
fragment CartFragment on Cart {
|
|
179
179
|
id
|
|
180
180
|
checkoutUrl
|
|
@@ -274,6 +274,5 @@
|
|
|
274
274
|
width
|
|
275
275
|
height
|
|
276
276
|
}
|
|
277
|
-
`,J="2023-01",xe=new Set,qr=e=>{xe.has(e)||(console.warn(e),xe.add(e))};function Hr({storeDomain:e,privateStorefrontToken:r,publicStorefrontToken:t,storefrontApiVersion:n,contentType:o}){return n!==J&&qr(`StorefrontClient: The Storefront API version that you're using is different than the version this build of Hydrogen-UI is targeting. You may run into unexpected errors if these versions don't match. Received verion: "${n}"; expected version "${J}"`),{getShopifyDomain(i){var u;return`https://${(u=i==null?void 0:i.storeDomain)!=null?u:e}.myshopify.com`},getStorefrontApiUrl(i){var u,a;return`https://${(u=i==null?void 0:i.storeDomain)!=null?u:e}.myshopify.com/api/${(a=i==null?void 0:i.storefrontApiVersion)!=null?a:n}/graphql.json`},getPrivateTokenHeaders(i){var a,d,s;if(!r&&!(i!=null&&i.privateStorefrontToken))throw new Error("StorefrontClient: You did not pass in a 'privateStorefrontToken' while using 'getPrivateTokenHeaders()'");return{"content-type":((a=i==null?void 0:i.contentType)!=null?a:o)==="graphql"?"application/graphql":"application/json","X-SDK-Variant":"hydrogen-ui","X-SDK-Variant-Source":"react","X-SDK-Version":n,"Shopify-Storefront-Private-Token":(s=(d=i==null?void 0:i.privateStorefrontToken)!=null?d:r)!=null?s:"",...i!=null&&i.buyerIp?{"Shopify-Storefront-Buyer-IP":i.buyerIp}:{}}},getPublicTokenHeaders(i){var a,d,s,m;if(!t&&!(i!=null&&i.publicStorefrontToken))throw new Error("StorefrontClient: You did not pass in a 'publicStorefrontToken' while using 'getPublicTokenHeaders()'");const u=(d=(a=i==null?void 0:i.contentType)!=null?a:o)!=null?d:"json";return je(u,n,(m=(s=i==null?void 0:i.publicStorefrontToken)!=null?s:t)!=null?m:"")}}}function je(e,r,t){return{"content-type":e==="graphql"?"application/graphql":"application/json","X-SDK-Variant":"hydrogen-ui","X-SDK-Variant-Source":"react","X-SDK-Version":r,"X-Shopify-Storefront-Access-Token":t}}var Wr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopifyProvider.tsx";const Be=g.createContext({storeDomain:"test",storefrontToken:"abc123",storefrontApiVersion:J,country:{isoCode:"US"},language:{isoCode:"EN"},locale:"EN-US",getStorefrontApiUrl(){return""},getPublicTokenHeaders(){return{}},getShopifyDomain(){return""}});function Yr({children:e,shopifyConfig:r}){if(!r)throw new Error("The 'shopifyConfig' prop must be passed to '<ShopifyProvider/>'");r.storefrontApiVersion!==J&&console.warn(`<ShopifyProvider/>: This version of Hydrogen-UI is built for Shopify's Storefront API version ${J}, but it looks like you're using version ${r.storefrontApiVersion}. There may be issues or bugs if you use a mismatched version of Hydrogen-UI and the Storefront API.`);const t=g.useMemo(()=>{function n(o){var i;return(i=o==null?void 0:o.storeDomain)!=null?i:r.storeDomain}return{...r,getPublicTokenHeaders(o){var i;return je(o.contentType,r.storefrontApiVersion,(i=o.storefrontToken)!=null?i:r.storefrontToken)},getShopifyDomain:n,getStorefrontApiUrl(o){var i,u,a;return(i=o==null?void 0:o.storeDomain)!=null&&i.includes(".myshopify.com"),`${n({storeDomain:(u=o==null?void 0:o.storeDomain)!=null?u:r.storeDomain})}/api/${(a=o==null?void 0:o.storefrontApiVersion)!=null?a:r.storefrontApiVersion}/graphql.json`}}},[r]);return C.default.createElement(Be.Provider,{value:t,__self:this,__source:{fileName:Wr,lineNumber:84,columnNumber:5}},e)}function X(){const e=g.useContext(Be);if(!e)throw new Error("'useShop()' must be a descendent of <ShopifyProvider/>");return e}const _e="shopifyCartId",Gr="Shopify-Storefront-Id",Zr="Shopify-Storefront-Y",zr="Shopify-Storefront-S",qe="_shopify_y",He="_shopify_s";var Kr=new Set(["domain","path","max-age","expires","samesite","secure","httponly"]);function Qr(e){let r={},t,n,o=0,i=e.split(/;\s*/g),u,a;for(;o<i.length;o++)if(n=i[o],t=n.indexOf("="),~t){if(u=n.substring(0,t++).trim(),a=n.substring(t).trim(),a[0]==='"'&&(a=a.substring(1,a.length-1)),~a.indexOf("%"))try{a=decodeURIComponent(a)}catch{}Kr.has(n=u.toLowerCase())?n==="expires"?r.expires=new Date(a):n==="max-age"?r.maxage=+a:r[n]=a:r[u]=a}else(u=n.trim().toLowerCase())&&(u==="httponly"||u==="secure")&&(r[u]=!0);return r}function Jr(){const{storefrontId:e,getPublicTokenHeaders:r,getStorefrontApiUrl:t}=X();return g.useCallback(({query:n,variables:o})=>{const i=r({contentType:"json"});e&&(i[Gr]=e);const u=Qr(document.cookie);return u[qe]&&u[He]&&(i[Zr]=u[qe],i[zr]=u[He]),fetch(t(),{method:"POST",headers:i,body:JSON.stringify({query:n.toString(),variables:o})}).then(a=>a.json()).catch(a=>({data:void 0,errors:a.toString()}))},[r,e,t])}function Xr({numCartLines:e,cartFragment:r,countryCode:t="US"}){const n=Jr(),o=g.useCallback(y=>n({query:jr(r),variables:{id:y,numCartLines:e,country:t}}),[n,r,e,t]),i=g.useCallback(y=>n({query:Rr(r),variables:{input:y,numCartLines:e,country:t}}),[r,t,n,e]),u=g.useCallback((y,p)=>n({query:kr(r),variables:{cartId:y,lines:p,numCartLines:e,country:t}}),[r,t,n,e]),a=g.useCallback((y,p)=>n({query:Pr(r),variables:{cartId:y,lines:p,numCartLines:e,country:t}}),[r,t,n,e]),d=g.useCallback((y,p)=>n({query:Mr(r),variables:{cartId:y,lines:p,numCartLines:e,country:t}}),[r,t,n,e]),s=g.useCallback((y,p)=>n({query:$r(r),variables:{cartId:y,note:p,numCartLines:e,country:t}}),[n,r,e,t]),m=g.useCallback((y,p)=>n({query:Vr(r),variables:{cartId:y,buyerIdentity:p,numCartLines:e,country:t}}),[r,t,n,e]),c=g.useCallback((y,p)=>n({query:Fr(r),variables:{cartId:y,attributes:p,numCartLines:e,country:t}}),[r,t,n,e]),_=g.useCallback((y,p)=>n({query:xr(r),variables:{cartId:y,discountCodes:p,numCartLines:e,country:t}}),[r,t,n,e]);return g.useMemo(()=>({cartFetch:o,cartCreate:i,cartLineAdd:u,cartLineUpdate:a,cartLineRemove:d,noteUpdate:s,buyerIdentityUpdate:m,cartAttributesUpdate:c,discountCodesUpdate:_,cartFragment:r}),[o,i,u,a,d,s,m,c,_,r])}function j(e,r){return{entry:[...(r==null?void 0:r.entryActions)||[],Z({lastValidCart:t=>t==null?void 0:t.cart}),"onCartActionEntry","onCartActionOptimisticUI",e],on:{RESOLVE:{target:(r==null?void 0:r.resolveTarget)||"idle",actions:[Z({prevCart:t=>t==null?void 0:t.lastValidCart,cart:(t,n)=>{var o;return(o=n==null?void 0:n.payload)==null?void 0:o.cart},rawCartResult:(t,n)=>{var o;return(o=n==null?void 0:n.payload)==null?void 0:o.rawCartResult},errors:t=>{}})]},ERROR:{target:(r==null?void 0:r.errorTarget)||"error",actions:[Z({prevCart:t=>t==null?void 0:t.lastValidCart,cart:t=>t==null?void 0:t.lastValidCart,errors:(t,n)=>{var o;return(o=n==null?void 0:n.payload)==null?void 0:o.errors}})]},CART_COMPLETED:{target:"cartCompleted",actions:Z({prevCart:t=>{},cart:t=>{},lastValidCart:t=>{},rawCartResult:t=>{},errors:t=>{}})}},exit:["onCartActionComplete",...(r==null?void 0:r.exitActions)||[]]}}const ee={CART_FETCH:{target:"cartFetching"},CART_CREATE:{target:"cartCreating"},CART_SET:{target:"idle",actions:[Z({rawCartResult:(e,r)=>r.payload.cart,cart:(e,r)=>ge(r.payload.cart)})]}},We={CARTLINE_ADD:{target:"cartLineAdding"},CARTLINE_UPDATE:{target:"cartLineUpdating"},CARTLINE_REMOVE:{target:"cartLineRemoving"},NOTE_UPDATE:{target:"noteUpdating"},BUYER_IDENTITY_UPDATE:{target:"buyerIdentityUpdating"},CART_ATTRIBUTES_UPDATE:{target:"cartAttributesUpdating"},DISCOUNT_CODES_UPDATE:{target:"discountCodesUpdating"}};function et(e){return De({id:"Cart",initial:e?"idle":"uninitialized",context:{cart:e&&ge(e)},states:{uninitialized:{on:ee},cartCompleted:{on:ee},initializationError:{on:ee},idle:{on:{...ee,...We}},error:{on:{...ee,...We}},cartFetching:j("cartFetchAction",{errorTarget:"initializationError"}),cartCreating:j("cartCreateAction",{errorTarget:"initializationError"}),cartLineRemoving:j("cartLineRemoveAction"),cartLineUpdating:j("cartLineUpdateAction"),cartLineAdding:j("cartLineAddAction"),noteUpdating:j("noteUpdateAction"),buyerIdentityUpdating:j("buyerIdentityUpdateAction"),cartAttributesUpdating:j("cartAttributesUpdateAction"),discountCodesUpdating:j("discountCodesUpdateAction")}})}function rt({numCartLines:e,onCartActionEntry:r,onCartActionOptimisticUI:t,onCartActionComplete:n,data:o,cartFragment:i,countryCode:u}){const{cartFetch:a,cartCreate:d,cartLineAdd:s,cartLineUpdate:m,cartLineRemove:c,noteUpdate:_,buyerIdentityUpdate:y,cartAttributesUpdate:p,discountCodesUpdate:T}=Xr({numCartLines:e,cartFragment:i,countryCode:u}),f=g.useMemo(()=>et(o),[o]),[S,b,v]=Dr(f,{actions:{cartFetchAction:async(l,h)=>{var N;if(h.type!=="CART_FETCH")return;const{data:E,errors:w}=await a((N=h==null?void 0:h.payload)==null?void 0:N.cartId),I=B(h,E==null?void 0:E.cart,w);b(I)},cartCreateAction:async(l,h)=>{var N;if(h.type!=="CART_CREATE")return;const{data:E,errors:w}=await d(h==null?void 0:h.payload),I=B(h,(N=E==null?void 0:E.cartCreate)==null?void 0:N.cart,w);b(I)},cartLineAddAction:async(l,h)=>{var N,O;if(h.type!=="CARTLINE_ADD"||!((N=l==null?void 0:l.cart)!=null&&N.id))return;const{data:E,errors:w}=await s(l.cart.id,h.payload.lines),I=B(h,(O=E==null?void 0:E.cartLinesAdd)==null?void 0:O.cart,w);b(I)},cartLineUpdateAction:async(l,h)=>{var N,O;if(h.type!=="CARTLINE_UPDATE"||!((N=l==null?void 0:l.cart)!=null&&N.id))return;const{data:E,errors:w}=await m(l.cart.id,h.payload.lines),I=B(h,(O=E==null?void 0:E.cartLinesUpdate)==null?void 0:O.cart,w);b(I)},cartLineRemoveAction:async(l,h)=>{var N,O;if(h.type!=="CARTLINE_REMOVE"||!((N=l==null?void 0:l.cart)!=null&&N.id))return;const{data:E,errors:w}=await c(l.cart.id,h.payload.lines),I=B(h,(O=E==null?void 0:E.cartLinesRemove)==null?void 0:O.cart,w);b(I)},noteUpdateAction:async(l,h)=>{var N,O;if(h.type!=="NOTE_UPDATE"||!((N=l==null?void 0:l.cart)!=null&&N.id))return;const{data:E,errors:w}=await _(l.cart.id,h.payload.note),I=B(h,(O=E==null?void 0:E.cartNoteUpdate)==null?void 0:O.cart,w);b(I)},buyerIdentityUpdateAction:async(l,h)=>{var N,O;if(h.type!=="BUYER_IDENTITY_UPDATE"||!((N=l==null?void 0:l.cart)!=null&&N.id))return;const{data:E,errors:w}=await y(l.cart.id,h.payload.buyerIdentity),I=B(h,(O=E==null?void 0:E.cartBuyerIdentityUpdate)==null?void 0:O.cart,w);b(I)},cartAttributesUpdateAction:async(l,h)=>{var N,O;if(h.type!=="CART_ATTRIBUTES_UPDATE"||!((N=l==null?void 0:l.cart)!=null&&N.id))return;const{data:E,errors:w}=await p(l.cart.id,h.payload.attributes),I=B(h,(O=E==null?void 0:E.cartAttributesUpdate)==null?void 0:O.cart,w);b(I)},discountCodesUpdateAction:async(l,h)=>{var N,O;if(h.type!=="DISCOUNT_CODES_UPDATE"||!((N=l==null?void 0:l.cart)!=null&&N.id))return;const{data:E,errors:w}=await T(l.cart.id,h.payload.discountCodes),I=B(h,(O=E==null?void 0:E.cartDiscountCodesUpdate)==null?void 0:O.cart,w);b(I)},...r&&{onCartActionEntry:(l,h)=>{tt(h)&&r(l,h)}},...t&&{onCartActionOptimisticUI:Z((l,h)=>t(l,h))},...n&&{onCartActionComplete:(l,h)=>{nt(h)&&n(l,h)}}}});return g.useMemo(()=>[S,b,v],[S,b,v])}function ge(e){var r;return{...e,lines:x(e==null?void 0:e.lines),note:(r=e.note)!=null?r:void 0}}function B(e,r,t){return t?{type:"ERROR",payload:{errors:t,cartActionEvent:e}}:r?{type:"RESOLVE",payload:{cart:ge(r),rawCartResult:r,cartActionEvent:e}}:{type:"CART_COMPLETED",payload:{cartActionEvent:e}}}function tt(e){return e.type==="CART_CREATE"||e.type==="CARTLINE_ADD"||e.type==="CARTLINE_UPDATE"||e.type==="CARTLINE_REMOVE"||e.type==="NOTE_UPDATE"||e.type==="BUYER_IDENTITY_UPDATE"||e.type==="CART_ATTRIBUTES_UPDATE"||e.type==="DISCOUNT_CODES_UPDATE"}function nt(e){return e.type==="RESOLVE"||e.type==="ERROR"||e.type==="CART_COMPLETED"}var at="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartProvider.tsx";const Ye=g.createContext(null);function ie(){const e=g.useContext(Ye);if(!e)throw new Error("Expected a Cart Context, but no Cart Context was found");return e}function it({children:e,numCartLines:r,onCreate:t,onLineAdd:n,onLineRemove:o,onLineUpdate:i,onNoteUpdate:u,onBuyerIdentityUpdate:a,onAttributesUpdate:d,onDiscountCodesUpdate:s,onCreateComplete:m,onLineAddComplete:c,onLineRemoveComplete:_,onLineUpdateComplete:y,onNoteUpdateComplete:p,onBuyerIdentityUpdateComplete:T,onAttributesUpdateComplete:f,onDiscountCodesUpdateComplete:S,data:b,cartFragment:v=Br,customerAccessToken:l,countryCode:h="US"}){var fr,mr,yr,hr,_r,gr,Er;h&&(h=h.toUpperCase());const[E,w]=g.useState(h),[I,N]=g.useState(l),O=g.useRef(!1);(E!==h||I!==l)&&(w(h),N(l),O.current=!1);const[R,$]=rt({numCartLines:r,data:b,cartFragment:v,countryCode:h,onCartActionEntry(A,M){try{switch(M.type){case"CART_CREATE":return t==null?void 0:t();case"CARTLINE_ADD":return n==null?void 0:n();case"CARTLINE_REMOVE":return o==null?void 0:o();case"CARTLINE_UPDATE":return i==null?void 0:i();case"NOTE_UPDATE":return u==null?void 0:u();case"BUYER_IDENTITY_UPDATE":return a==null?void 0:a();case"CART_ATTRIBUTES_UPDATE":return d==null?void 0:d();case"DISCOUNT_CODES_UPDATE":return s==null?void 0:s()}}catch(V){console.error("Cart entry action failed",V)}},onCartActionOptimisticUI(A,M){var V,H,te,ne;if(!A.cart)return{...A};switch(M.type){case"CARTLINE_REMOVE":return{...A,cart:{...A.cart,lines:(H=(V=A==null?void 0:A.cart)==null?void 0:V.lines)==null?void 0:H.filter(U=>(U==null?void 0:U.id)&&!M.payload.lines.includes(U==null?void 0:U.id))}};case"CARTLINE_UPDATE":return{...A,cart:{...A.cart,lines:(ne=(te=A==null?void 0:A.cart)==null?void 0:te.lines)==null?void 0:ne.map(U=>{const Q=M.payload.lines.find(({id:ce})=>ce===(U==null?void 0:U.id));return Q&&Q.quantity?{...U,quantity:Q.quantity}:U})}}}return{...A}},onCartActionComplete(A,M){const V=M.payload.cartActionEvent;try{switch(M.type){case"RESOLVE":switch(V.type){case"CART_CREATE":return m==null?void 0:m();case"CARTLINE_ADD":return c==null?void 0:c();case"CARTLINE_REMOVE":return _==null?void 0:_();case"CARTLINE_UPDATE":return y==null?void 0:y();case"NOTE_UPDATE":return p==null?void 0:p();case"BUYER_IDENTITY_UPDATE":return st(A,V)&&(O.current=!0),T==null?void 0:T();case"CART_ATTRIBUTES_UPDATE":return f==null?void 0:f();case"DISCOUNT_CODES_UPDATE":return S==null?void 0:S()}}}catch(H){console.error("onCartActionComplete failed",H)}}}),F=g.useRef(!1),W=R.matches("cartCompleted"),K=(R.value==="idle"||R.value==="error"||R.value==="cartCompleted")&&h!==((yr=(mr=(fr=R==null?void 0:R.context)==null?void 0:fr.cart)==null?void 0:mr.buyerIdentity)==null?void 0:yr.countryCode)&&!R.context.errors,q=g.useRef(!1);g.useEffect(()=>{if(!F.current&&!q.current){if(!b&&Ee("localStorage")){q.current=!0;try{const A=window.localStorage.getItem(_e);A&&$({type:"CART_FETCH",payload:{cartId:A}})}catch(A){console.warn("error fetching cartId"),console.warn(A)}}F.current=!0}},[b,F,$]),g.useEffect(()=>{!K||O.current||$({type:"BUYER_IDENTITY_UPDATE",payload:{buyerIdentity:{countryCode:h,customerAccessToken:l}}})},[h,l,K,O,$]);const L=g.useCallback(A=>{if(!F.current)return console.warn("Cart isn't ready yet");$(A)},[$]);g.useEffect(()=>{var A,M,V;if(((M=(A=R==null?void 0:R.context)==null?void 0:A.cart)==null?void 0:M.id)&&Ee("localStorage"))try{window.localStorage.setItem(_e,(V=R.context.cart)==null?void 0:V.id)}catch(H){console.warn("Failed to save cartId to localStorage",H)}},[(_r=(hr=R==null?void 0:R.context)==null?void 0:hr.cart)==null?void 0:_r.id]),g.useEffect(()=>{if(W&&Ee("localStorage"))try{window.localStorage.removeItem(_e)}catch(A){console.warn("Failed to delete cartId from localStorage",A)}},[W]);const G=g.useCallback(A=>{var M,V;h&&!((M=A.buyerIdentity)!=null&&M.countryCode)&&(A.buyerIdentity==null&&(A.buyerIdentity={}),A.buyerIdentity.countryCode=h),l&&!((V=A.buyerIdentity)!=null&&V.customerAccessToken)&&(A.buyerIdentity==null&&(A.buyerIdentity={}),A.buyerIdentity.customerAccessToken=l),L({type:"CART_CREATE",payload:A})},[h,l,L]),k=ut(R),se=g.useMemo(()=>{var A,M,V,H,te,ne;return{...(M=(A=k==null?void 0:k.context)==null?void 0:A.cart)!=null?M:{lines:[],attributes:[]},status:ot(k.value),error:(V=k==null?void 0:k.context)==null?void 0:V.errors,totalQuantity:(ne=(te=(H=k==null?void 0:k.context)==null?void 0:H.cart)==null?void 0:te.totalQuantity)!=null?ne:0,cartCreate:G,linesAdd(U){var Q,ce;(ce=(Q=k==null?void 0:k.context)==null?void 0:Q.cart)!=null&&ce.id?L({type:"CARTLINE_ADD",payload:{lines:U}}):G({lines:U})},linesRemove(U){L({type:"CARTLINE_REMOVE",payload:{lines:U}})},linesUpdate(U){L({type:"CARTLINE_UPDATE",payload:{lines:U}})},noteUpdate(U){L({type:"NOTE_UPDATE",payload:{note:U}})},buyerIdentityUpdate(U){L({type:"BUYER_IDENTITY_UPDATE",payload:{buyerIdentity:U}})},cartAttributesUpdate(U){L({type:"CART_ATTRIBUTES_UPDATE",payload:{attributes:U}})},discountCodesUpdate(U){L({type:"DISCOUNT_CODES_UPDATE",payload:{discountCodes:U}})},cartFragment:v}},[G,(gr=k==null?void 0:k.context)==null?void 0:gr.cart,(Er=k==null?void 0:k.context)==null?void 0:Er.errors,k.value,v,L]);return C.default.createElement(Ye.Provider,{value:se,__self:this,__source:{fileName:at,lineNumber:424,columnNumber:5}},e)}function ot(e){switch(e){case"uninitialized":case"initializationError":return"uninitialized";case"idle":case"cartCompleted":case"error":return"idle";case"cartFetching":return"fetching";case"cartCreating":return"creating";case"cartLineAdding":case"cartLineRemoving":case"cartLineUpdating":case"noteUpdating":case"buyerIdentityUpdating":case"cartAttributesUpdating":case"discountCodesUpdating":return"updating"}}function ut(e){const[r,t]=g.useTransition(),[n,o]=g.useState(e),i=g.useRef(!1);r&&(i.current=!0);const u=g.useRef(!1);return!r&&i.current&&(u.current=!0),g.useEffect(()=>{t(()=>{u.current||o(e)})},[e]),u.current?e:n}function Ee(e){let r;try{r=window[e];const t="__storage_test__";return r.setItem(t,t),r.removeItem(t),!0}catch(t){return t instanceof DOMException&&(t.code===22||t.code===1014||t.name==="QuotaExceededError"||t.name==="NS_ERROR_DOM_QUOTA_REACHED")&&r&&r.length!==0}}function st(e,r){var t,n;return r.payload.buyerIdentity.countryCode&&((n=(t=e.cart)==null?void 0:t.buyerIdentity)==null?void 0:n.countryCode)!==r.payload.buyerIdentity.countryCode}var ct="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductProvider.tsx";const Ge=g.createContext(null);function lt({children:e,data:r,initialVariantId:t}){const n=g.useMemo(()=>{var f;return x((f=r.variants)!=null?f:{})},[r.variants]);if(!ft(n))throw new Error("<ProductProvider/> requires 'product.variants.nodes' or 'product.variants.edges'");const o=g.useMemo(()=>dt(n),[n]),[i,u]=g.useState(()=>Ke(t,n)),[a,d]=g.useState(()=>Qe(i));g.useEffect(()=>{const f=Ke(t,n);u(f),d(Qe(f))},[t,n]);const s=g.useCallback((f,S)=>{d(b=>{const v={...b,[f]:S};return u(ze(n,v)),v})},[d,n]),m=g.useCallback((f,S)=>{var v;const b=ze(n,{...a,[f]:S});return(v=b==null?void 0:b.availableForSale)!=null?v:!0},[a,n]),c=g.useMemo(()=>{var f;return x((f=r.sellingPlanGroups)!=null?f:{}).map(S=>{var b;return{...S,sellingPlans:x((b=S==null?void 0:S.sellingPlans)!=null?b:{})}})},[r.sellingPlanGroups]),[_,y]=g.useState(void 0),p=g.useMemo(()=>{var f,S;if(!(!i||!_)){if(!((f=i.sellingPlanAllocations)!=null&&f.nodes)&&!((S=i.sellingPlanAllocations)!=null&&S.edges))throw new Error("<ProductProvider/>: You must include 'sellingPlanAllocations.nodes' or 'sellingPlanAllocations.edges' in your variants in order to calculate selectedSellingPlanAllocation");return x(i.sellingPlanAllocations).find(b=>{var v;return((v=b==null?void 0:b.sellingPlan)==null?void 0:v.id)===_.id})}},[i,_]),T=g.useMemo(()=>({variants:n,variantsConnection:r.variants,options:o,selectedVariant:i,setSelectedVariant:u,selectedOptions:a,setSelectedOption:s,setSelectedOptions:d,isOptionInStock:m,selectedSellingPlan:_,setSelectedSellingPlan:y,selectedSellingPlanAllocation:p,sellingPlanGroups:c,sellingPlanGroupsConnection:r.sellingPlanGroups}),[m,o,r.sellingPlanGroups,r.variants,a,_,p,i,c,s,n]);return C.default.createElement(Ge.Provider,{value:T,__self:this,__source:{fileName:ct,lineNumber:201,columnNumber:5}},e)}function Ze(){const e=g.useContext(Ge);if(!e)throw new Error("'useProduct' must be a child of <ProductProvider />");return e}function ze(e,r){var t,n;if(!(!e.length||((n=(t=e==null?void 0:e[0])==null?void 0:t.selectedOptions)==null?void 0:n.length)!==Object.keys(r).length))return e==null?void 0:e.find(o=>Object.entries(r).every(([i,u])=>{var a;return(a=o==null?void 0:o.selectedOptions)==null?void 0:a.some(d=>(d==null?void 0:d.name)===i&&(d==null?void 0:d.value)===u)}))}function dt(e){const r=e.reduce((t,n)=>{var o;if(!n.selectedOptions)throw new Error("'getOptions' requires 'variant.selectedOptions'");return(o=n==null?void 0:n.selectedOptions)==null||o.forEach(i=>{var u,a,d,s;t[(u=i==null?void 0:i.name)!=null?u:""]=t[(a=i==null?void 0:i.name)!=null?a:""]||new Set,t[(d=i==null?void 0:i.name)!=null?d:""].add((s=i==null?void 0:i.value)!=null?s:"")}),t},{});return Object.keys(r).map(t=>({name:t,values:Array.from(r[t])}))}function Ke(e,r){if(e){const t=r.find(n=>(n==null?void 0:n.id)===e);return t||console.warn("<ProductProvider/> received a 'initialVariantId' prop, but could not actually find a variant with that ID"),t}if(e===null)return null;if(e===void 0)return r.find(t=>t==null?void 0:t.availableForSale)||r[0]}function Qe(e){return e!=null&&e.selectedOptions?e.selectedOptions.reduce((r,t)=>{var n,o;return r[(n=t==null?void 0:t.name)!=null?n:""]=(o=t==null?void 0:t.value)!=null?o:"",r},{}):{}}function ft(e){return!(!e||!Array.isArray(e))}var mt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BaseButton.tsx";function pe(e){const{as:r,onClick:t,defaultOnClick:n,children:o,buttonRef:i,...u}=e,a=g.useCallback(s=>{if(t){const m=t(s);if(typeof m=="boolean"&&m===!1||(s==null?void 0:s.defaultPrevented))return}n==null||n(s)},[n,t]),d=r||"button";return C.default.createElement(d,{ref:i,onClick:a,...u,__self:this,__source:{fileName:mt,lineNumber:59,columnNumber:5}},o)}var Je="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/AddToCartButton.tsx";function yt(e){var S;const[r,t]=g.useState(!1),{variantId:n,quantity:o=1,attributes:i,sellingPlanId:u,onClick:a,children:d,accessibleAddingToCartLabel:s,...m}=e,{status:c,linesAdd:_}=ie(),{selectedVariant:y}=Ze(),p=(S=n!=null?n:y==null?void 0:y.id)!=null?S:"",T=n===null||p===""||y===null||r||m.disabled;g.useEffect(()=>{r&&c==="idle"&&t(!1)},[c,r]);const f=g.useCallback(()=>{t(!0),_([{quantity:o,merchandiseId:p||"",attributes:i,sellingPlanId:u}])},[_,o,p,i,u]);return C.default.createElement(C.default.Fragment,null,C.default.createElement(pe,{...m,disabled:T,onClick:a,defaultOnClick:f,__self:this,__source:{fileName:Je,lineNumber:71,columnNumber:7}},d),s?C.default.createElement("p",{style:{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},role:"alert","aria-live":"assertive",__self:this,__source:{fileName:Je,lineNumber:80,columnNumber:9}},r?s:null):null)}var ht="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BuyNowButton.tsx";function _t(e){const{cartCreate:r,checkoutUrl:t}=ie(),[n,o]=g.useState(!1),{quantity:i,variantId:u,onClick:a,attributes:d,children:s,...m}=e;g.useEffect(()=>{t&&(window.location.href=t)},[t]);const c=g.useCallback(()=>{o(!0),r({lines:[{quantity:i!=null?i:1,merchandiseId:u,attributes:d}]})},[r,i,u,d]);return C.default.createElement(pe,{disabled:n!=null?n:m.disabled,...m,onClick:a,defaultOnClick:c,__self:this,__source:{fileName:ht,lineNumber:53,columnNumber:5}},s)}var gt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartCheckoutButton.tsx";function Et(e){const[r,t]=g.useState(!1),{status:n,checkoutUrl:o}=ie(),{children:i,...u}=e;return g.useEffect(()=>{r&&o&&n==="idle"&&(window.location.href=o)},[r,n,o]),C.default.createElement(pe,{...u,disabled:r||u.disabled,onClick:()=>t(!0),__self:this,__source:{fileName:gt,lineNumber:28,columnNumber:5}},i)}const pt={DateTime:"string",Decimal:"string",HTML:"string",URL:"string",Color:"string",UnsignedInt64:"string"};var St="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ExternalVideo.tsx";function Xe(e){var m,c;const{data:r,options:t,id:n=r.id,frameBorder:o="0",allow:i="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:u=!0,loading:a="lazy",...d}=e;if(!r.embedUrl)throw new Error("<ExternalVideo/> requires the 'embedUrl' property");let s=r.embedUrl;if(t){const _=new URL(r.embedUrl);for(const y of Object.keys(t))_.searchParams.set(y,t[y]);s=_.toString()}return C.default.createElement("iframe",{...d,id:n!=null?n:r.embedUrl,title:(c=(m=r.alt)!=null?m:r.id)!=null?c:"external video",frameBorder:o,allow:i,allowFullScreen:u,src:s,loading:a,__self:this,__source:{fileName:St,lineNumber:56,columnNumber:5}})}const bt=["cdn.shopify.com","cdn.shopifycdn.net","shopify-assets.shopifycdn.com","shopify-assets.shopifycdn.net"],vt=["spin.dev"],Ct=[...bt,...vt],re=[352,832,1200,1920,2560];function er({src:e,width:r,height:t,crop:n,scale:o}){const i=new URL(e),u=o!=null?o:1;if(r){let a;typeof r=="string"?a=(re[0]*u).toString():a=(Number(r)*u).toString(),i.searchParams.append("width",a)}return t&&typeof t=="number"&&i.searchParams.append("height",(t*u).toString()),n&&i.searchParams.append("crop",n),i.toString()}function rr(e){const r=new URL(e.src);return!Ct.some(n=>r.hostname.endsWith(n))||!e.width&&!e.height&&!e.crop&&!e.scale?e.src:er(e)}function Tt({data:e,loaderOptions:r,elementProps:t}){var o,i,u,a,d,s;let n=null;return(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&(n=(e==null?void 0:e.width)/(e==null?void 0:e.height)),(r==null?void 0:r.width)||(r==null?void 0:r.height)?{width:(o=r==null?void 0:r.width)!=null?o:n&&typeof r.height=="number"?Math.round(n*r.height):null,height:(i=r==null?void 0:r.height)!=null?i:n&&typeof r.width=="number"?Math.round(n*r.width):null}:(t==null?void 0:t.width)||(t==null?void 0:t.height)?{width:(u=t==null?void 0:t.width)!=null?u:n&&typeof t.height=="number"?Math.round(n*t.height):null,height:(a=t==null?void 0:t.height)!=null?a:n&&typeof t.width=="number"?Math.round(n*t.width):null}:(e==null?void 0:e.width)||(e==null?void 0:e.height)?{width:(d=e==null?void 0:e.width)!=null?d:null,height:(s=e==null?void 0:e.height)!=null?s:null}:{width:null,height:null}}var Nt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Image.tsx";function oe({data:e,width:r,height:t,loading:n,loader:o=rr,loaderOptions:i,widths:u,decoding:a="async",...d}){var p,T,f,S,b,v;if(!e.url){const l=`<Image/>: the 'data' prop requires the 'url' property. Image: ${(p=e.id)!=null?p:"no ID provided"}`;return console.error(l),null}const{width:s,height:m}=Tt({data:e,loaderOptions:i,elementProps:{width:r,height:t}});let c=e.url;if(o&&(c=o({...i,src:e.url,width:s,height:m}),typeof c!="string"||!c))throw new Error(`<Image/>: 'loader' did not return a valid string. Image: ${(T=e.id)!=null?T:e.url}`);const _=r&&s&&r<s?r:s,y=(f=d.srcSet)!=null?f:At({...i,widths:u,src:e.url,width:_,height:m,loader:o});return Ce.createElement("img",{id:(S=e.id)!=null?S:"",alt:(v=(b=e.altText)!=null?b:d.alt)!=null?v:"",loading:n!=null?n:"lazy",...d,src:c,width:s!=null?s:void 0,height:m!=null?m:void 0,srcSet:y,decoding:a,__self:this,__source:{fileName:Nt,lineNumber:150,columnNumber:5}})}function At({src:e,width:r,crop:t,scale:n,widths:o,loader:i,height:u}){const a=o&&Array.isArray(o);if(a&&o.some(c=>isNaN(c)))throw new Error(`<Image/>: the 'widths' must be an array of numbers. Image: ${e}`);let d=1;r&&u&&(d=Number(u)/Number(r));let s=a?o:re;!a&&r&&r<re[re.length-1]&&(s=re.filter(c=>c<=r));const m=i||er;return s.map(c=>`${m({src:e,width:c,height:t?Number(c)*d:void 0,crop:t,scale:n})} ${c}w`).join(", ")}var tr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Video.tsx";function Se(e){var s,m;const{data:r,previewImageOptions:t,id:n=r.id,playsInline:o=!0,controls:i=!0,sourceProps:u={},...a}=e,d=rr({src:(m=(s=r.previewImage)==null?void 0:s.url)!=null?m:"",...t});if(!r.sources)throw new Error("<Video/> requires a 'data.sources' array");return C.default.createElement("video",{...a,id:n,playsInline:o,controls:i,poster:d,__self:this,__source:{fileName:tr,lineNumber:42,columnNumber:5}},r.sources.map(c=>{if(!((c==null?void 0:c.url)&&(c==null?void 0:c.mimeType)))throw new Error("<Video/> needs 'source.url' and 'source.mimeType'");return C.default.createElement("source",{...u,key:c.url,src:c.url,type:c.mimeType,__self:this,__source:{fileName:tr,lineNumber:54,columnNumber:11}})}))}const nr={};function wt(e,r){const t=nr[e];if(t)return t;const n=new Promise((o,i)=>{const u=document.createElement("script");r!=null&&r.module?u.type="module":u.type="text/javascript",u.src=e,u.onload=()=>{o(!0)},u.onerror=()=>{i(!1)},(r==null?void 0:r.in)==="head"?document.head.appendChild(u):document.body.appendChild(u)});return nr[e]=n,n}function ar(e,r){const[t,n]=g.useState("loading"),o=JSON.stringify(r);return g.useEffect(()=>{async function i(){try{n("loading"),await wt(e,r),n("done")}catch{n("error")}}i()},[e,o,r]),t}var It="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ModelViewer.tsx";function ir(e){var s,m,c,_,y,p,T,f,S,b,v;const[r,t]=g.useState(void 0),n=g.useCallback(l=>{t(l)},[]),{data:o,children:i,className:u,...a}=e,d=ar("https://unpkg.com/@google/model-viewer@v1.12.1/dist/model-viewer.min.js",{module:!0});return g.useEffect(()=>{if(!!r)return a.onError&&r.addEventListener("error",a.onError),a.onLoad&&r.addEventListener("load",a.onLoad),a.onPreload&&r.addEventListener("preload",a.onPreload),a.onModelVisibility&&r.addEventListener("model-visibility",a.onModelVisibility),a.onProgress&&r.addEventListener("progress",a.onProgress),a.onArStatus&&r.addEventListener("ar-status",a.onArStatus),a.onArTracking&&r.addEventListener("ar-tracking",a.onArTracking),a.onQuickLookButtonTapped&&r.addEventListener("quick-look-button-tapped",a.onQuickLookButtonTapped),a.onCameraChange&&r.addEventListener("camera-change",a.onCameraChange),a.onEnvironmentChange&&r.addEventListener("environment-change",a.onEnvironmentChange),a.onPlay&&r.addEventListener("play",a.onPlay),a.onPause&&r.addEventListener("ar-status",a.onPause),a.onSceneGraphReady&&r.addEventListener("scene-graph-ready",a.onSceneGraphReady),()=>{r!=null&&(a.onError&&r.removeEventListener("error",a.onError),a.onLoad&&r.removeEventListener("load",a.onLoad),a.onPreload&&r.removeEventListener("preload",a.onPreload),a.onModelVisibility&&r.removeEventListener("model-visibility",a.onModelVisibility),a.onProgress&&r.removeEventListener("progress",a.onProgress),a.onArStatus&&r.removeEventListener("ar-status",a.onArStatus),a.onArTracking&&r.removeEventListener("ar-tracking",a.onArTracking),a.onQuickLookButtonTapped&&r.removeEventListener("quick-look-button-tapped",a.onQuickLookButtonTapped),a.onCameraChange&&r.removeEventListener("camera-change",a.onCameraChange),a.onEnvironmentChange&&r.removeEventListener("environment-change",a.onEnvironmentChange),a.onPlay&&r.removeEventListener("play",a.onPlay),a.onPause&&r.removeEventListener("ar-status",a.onPause),a.onSceneGraphReady&&r.removeEventListener("scene-graph-ready",a.onSceneGraphReady))}},[r,a.onArStatus,a.onArTracking,a.onCameraChange,a.onEnvironmentChange,a.onError,a.onLoad,a.onModelVisibility,a.onPause,a.onPlay,a.onPreload,a.onProgress,a.onQuickLookButtonTapped,a.onSceneGraphReady]),d!=="done"?null:(m=(s=o.sources)==null?void 0:s[0])!=null&&m.url?C.default.createElement("model-viewer",{ref:n,...a,className:u,id:(c=a.id)!=null?c:o.id,src:o.sources[0].url,alt:(_=o.alt)!=null?_:null,"camera-controls":(y=a.cameraControls)!=null?y:!0,poster:(T=a.poster||((p=o.previewImage)==null?void 0:p.url))!=null?T:null,autoplay:(f=a.autoplay)!=null?f:!0,loading:a.loading,reveal:a.reveal,ar:a.ar,"ar-modes":a.arModes,"ar-scale":a.arScale,"ar-placement":a.arPlacement,"ios-src":a.iosSrc,"touch-action":a.touchAction,"disable-zoom":a.disableZoom,"orbit-sensitivity":a.orbitSensitivity,"auto-rotate":a.autoRotate,"auto-rotate-delay":a.autoRotateDelay,"rotation-per-second":a.rotationPerSecond,"interaction-policy":a.interactionPolicy,"interaction-prompt":a.interactionPrompt,"interaction-prompt-style":a.interactionPromptStyle,"interaction-prompt-threshold":a.interactionPromptThreshold,"camera-orbit":a.cameraOrbit,"camera-target":a.cameraTarget,"field-of-view":a.fieldOfView,"max-camera-orbit":a.maxCameraOrbit,"min-camera-orbit":a.minCameraOrbit,"max-field-of-view":a.maxFieldOfView,"min-field-of-view":a.minFieldOfView,bounds:a.bounds,"interpolation-decay":(S=a.interpolationDecay)!=null?S:100,"skybox-image":a.skyboxImage,"environment-image":a.environmentImage,exposure:a.exposure,"shadow-intensity":(b=a.shadowIntensity)!=null?b:0,"shadow-softness":(v=a.shadowSoftness)!=null?v:0,"animation-name":a.animationName,"animation-crossfade-duration":a.animationCrossfadeDuration,"variant-name":a.variantName,orientation:a.orientation,scale:a.scale,__self:this,__source:{fileName:It,lineNumber:222,columnNumber:5}},i):(console.error("<ModelViewer/> requires 'data.sources' prop to be an array, with an object that has a property 'url' on it. Rendering 'null'"),null)}var ue="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/MediaFile.tsx";function Ot({data:e,mediaOptions:r,...t}){switch(e.__typename){case"MediaImage":return e.image?C.default.createElement(oe,{...t,...r==null?void 0:r.image,data:e.image,__self:this,__source:{fileName:ue,lineNumber:54,columnNumber:9}}):(console.warn("<MediaFile/>: 'data.image' does not exist for __typename of 'MediaImage'; rendering 'null' by default."),null);case"Video":return C.default.createElement(Se,{...t,...r==null?void 0:r.video,data:e,__self:this,__source:{fileName:ue,lineNumber:63,columnNumber:9}});case"ExternalVideo":return C.default.createElement(Xe,{...t,...r==null?void 0:r.externalVideo,data:e,__self:this,__source:{fileName:ue,lineNumber:68,columnNumber:9}});case"Model3d":return C.default.createElement(ir,{...t,...r==null?void 0:r.modelViewer,data:e,__self:this,__source:{fileName:ue,lineNumber:78,columnNumber:9}});default:return console.error("<MediaFile /> requires the '__typename' property to exist on the 'data' prop in order to render the matching sub-component for this type of media. Rendering 'null' by default"),null}}var P="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Metafield.tsx";function Dt(e){var a,d,s,m,c,_,y,p,T;const{data:r,as:t,...n}=e,{locale:o}=X(),i=g.useMemo(()=>or(r),[r]);if(!i)return console.warn("<Metafield/>: nothing was passed to the data prop 'data'. Rendering 'null'"),null;if(i.value===null||i.value===void 0){const f=`<Metafield/>: No metafield value for metafield ${(a=i.id)!=null?a:i.key}. Rendering 'null'`;return console.warn(f),null}switch(i.type){case"date":{const f=t!=null?t:"time";return C.default.createElement(f,{...n,__self:this,__source:{fileName:P,lineNumber:68,columnNumber:9}},i.value.toLocaleDateString(o))}case"date_time":{const f=t!=null?t:"time";return C.default.createElement(f,{...n,__self:this,__source:{fileName:P,lineNumber:76,columnNumber:9}},i.value.toLocaleString(o))}case"weight":case"dimension":case"volume":{const f=t!=null?t:"span";return C.default.createElement(f,{...n,__self:this,__source:{fileName:P,lineNumber:86,columnNumber:9}},Ut(i.value,o))}case"rating":{const f=t!=null?t:"span";return C.default.createElement(f,{...n,__self:this,__source:{fileName:P,lineNumber:94,columnNumber:9}},i.value.value)}case"single_line_text_field":{const f=t!=null?t:"span";return C.default.createElement(f,{...n,dangerouslySetInnerHTML:{__html:i.value},__self:this,__source:{fileName:P,lineNumber:102,columnNumber:9}})}case"multi_line_text_field":{const f=t!=null?t:"div";return C.default.createElement(f,{...n,dangerouslySetInnerHTML:{__html:i.value.split(`
|
|
278
|
-
`).join("<br/>")},__self:this,__source:{fileName:P,lineNumber:111,columnNumber:9}})}case"url":{const f=new URL(i.value);return C.default.createElement("a",{href:f.href.replace(f.protocol,""),...n,__self:this,__source:{fileName:P,lineNumber:122,columnNumber:9}},i.value)}case"json":{const f=t!=null?t:"span";return C.default.createElement(f,{...n,__self:this,__source:{fileName:P,lineNumber:133,columnNumber:9}},JSON.stringify(i.value))}case"product_reference":case"variant_reference":case"page_reference":{const f=t!=null?t:"span",S=i.reference;return C.default.createElement(f,{...n,__self:this,__source:{fileName:P,lineNumber:144,columnNumber:9}},(s=(d=S==null?void 0:S.title)!=null?d:S==null?void 0:S.id)!=null?s:"")}case"list.single_line_text_field":{const f=t!=null?t:"ul",S=i.references?x(i.references):[];return C.default.createElement(f,{...n,__self:this,__source:{fileName:P,lineNumber:154,columnNumber:9}},S.map((b,v)=>C.default.createElement("li",{key:`${b!=null?b:""}-${v}`,__self:this,__source:{fileName:P,lineNumber:158,columnNumber:13}},b)))}case"file_reference":if(((m=i.reference)==null?void 0:m.__typename)==="MediaImage"){const f=i.reference;return f.image?C.default.createElement(oe,{data:f.image,...n,__self:this,__source:{fileName:P,lineNumber:167,columnNumber:11}}):null}else if(((c=i.reference)==null?void 0:c.__typename)==="GenericFile"){const f=i.reference;return f.previewImage?C.default.createElement("a",{href:(y=(_=i.reference)==null?void 0:_.url)!=null?y:"",...n,__self:this,__source:{fileName:P,lineNumber:172,columnNumber:11}},C.default.createElement(oe,{data:f.previewImage,__self:this,__source:{fileName:P,lineNumber:173,columnNumber:13}})):null}else if(((p=i.reference)==null?void 0:p.__typename)==="Video"){const f=i.reference;return C.default.createElement(Se,{...n,data:f,__self:this,__source:{fileName:P,lineNumber:178,columnNumber:16}})}}const u=t!=null?t:"span";return C.default.createElement(u,{...n,__self:this,__source:{fileName:P,lineNumber:185,columnNumber:5}},(T=i.value)==null?void 0:T.toString())}function or(e){return e?{...e,value:ur(e)}:null}function ur(e){if(!e)return null;if(e.value===null||e.value===void 0)return e.value;switch(e.type){case"boolean":return e.value==="true";case"number_integer":return parseInt(e.value);case"number_decimal":return parseFloat(e.value);case"date":case"date_time":return new Date(e.value);case"json":case"weight":case"dimension":case"volume":case"rating":return be(e.value);case"color":case"single_line_text_field":case"multi_line_text_field":case"product_reference":case"page_reference":case"variant_reference":case"file_reference":case"url":default:return e.value}}function be(e){return String(e).includes("__proto__")?JSON.parse(e,(r,t)=>{if(r!=="__proto__")return t}):JSON.parse(e)}const Lt={mm:"millimeter",cm:"centimeter",m:"meter",in:"inch",ft:"foot",yd:"yard",ml:"milliliter",l:"liter",us_fl_oz:"fluid-ounce",us_gal:"gallon",kg:"kilogram",g:"gram",lb:"pound",oz:"ounce"};function Ut(e,r="en-us",t={}){let n={value:e.value,unit:Lt[e.unit]};return n.unit==null&&(n=kt(e.value,e.unit)),new Intl.NumberFormat(r,{...t,unit:n.unit,style:"unit"}).format(n.value)}function kt(e,r){switch(r){case"cl":return{value:e/1e3,unit:"liter"};case"m3":return{value:e*1e3,unit:"liter"};case"us_pt":return{value:e*.125,unit:"gallon"};case"us_qt":return{value:e*.5,unit:"gallon"};case"us_oz":return{value:e/128,unit:"gallon"};case"imp_pt":return{value:e/6.661,unit:"gallon"};case"imp_qt":return{value:e/3.331,unit:"gallon"};case"imp_gal":return{value:e/1.201,unit:"gallon"};case"imp_fl_oz":return{value:e*.96076,unit:"fluid-ounce"};default:throw new Error(`Unit not supported: ${r}`)}}function Rt(e){var r,t,n,o;if(!e.type)return console.error("metafieldParser(): The 'type' field is required in order to parse the Metafield. Returning 'parsedValue' of 'null'"),{...e,parsedValue:null};switch(e.type){case"boolean":return{...e,parsedValue:e.value==="true"};case"collection_reference":case"file_reference":case"page_reference":case"product_reference":case"variant_reference":return{...e,parsedValue:e.reference};case"color":case"multi_line_text_field":case"single_line_text_field":case"url":return{...e,parsedValue:e.value};case"dimension":case"money":case"json":case"rating":case"volume":case"weight":case"list.color":case"list.dimension":case"list.number_integer":case"list.number_decimal":case"list.rating":case"list.single_line_text_field":case"list.url":case"list.volume":case"list.weight":{let i=null;try{i=be((r=e.value)!=null?r:"")}catch{console.error("metafieldParser(): attempted to JSON.parse the 'metafield.value' property, but failed. Returning 'null' for 'parsedValue'"),i=null}return{...e,parsedValue:i}}case"date":case"date_time":return{...e,parsedValue:new Date((t=e.value)!=null?t:"")};case"list.date":case"list.date_time":{const i=be((n=e==null?void 0:e.value)!=null?n:"");return{...e,parsedValue:i.map(u=>new Date(u))}}case"number_decimal":case"number_integer":return{...e,parsedValue:Number(e.value)};case"list.collection_reference":case"list.file_reference":case"list.page_reference":case"list.product_reference":case"list.variant_reference":return{...e,parsedValue:x((o=e.references)!=null?o:void 0)};default:{const i=`metafieldParser(): the 'metafield.type' you passed in is not supported. Your type: "${e.type}". If you believe this is an error, please open an issue on GitHub.`;return console.error(`${i} Returning 'parsedValue' of 'null'`),{...e,parsedValue:null}}}}function sr(e){const{locale:r}=X();if(!r)throw new Error("useMoney(): Unable to get 'locale' from 'useShop()', which means that 'locale' was not passed to '<ShopifyProvider/>'. 'locale' is required for 'useMoney()' to work");const t=parseFloat(e.amount),n=g.useMemo(()=>({style:"currency",currency:e.currencyCode}),[e.currencyCode]),o=z(r,n),i=z(r,{...n,currencyDisplay:"name"}),u=z(r,{...n,currencyDisplay:"narrowSymbol"}),a=z(r,{...n,minimumFractionDigits:0,maximumFractionDigits:0}),d=z(r),s=z(r,{minimumFractionDigits:0,maximumFractionDigits:0}),m=_=>_.type==="currency",c=g.useMemo(()=>({original:()=>e,currencyCode:()=>e.currencyCode,localizedString:()=>o().format(t),parts:()=>o().formatToParts(t),withoutTrailingZeros:()=>t%1===0?a().format(t):o().format(t),withoutTrailingZerosAndCurrency:()=>t%1===0?s().format(t):d().format(t),currencyName:()=>{var _,y;return(y=(_=i().formatToParts(t).find(m))==null?void 0:_.value)!=null?y:e.currencyCode},currencySymbol:()=>{var _,y;return(y=(_=o().formatToParts(t).find(m))==null?void 0:_.value)!=null?y:e.currencyCode},currencyNarrowSymbol:()=>{var _,y;return(y=(_=u().formatToParts(t).find(m))==null?void 0:_.value)!=null?y:""},amount:()=>o().formatToParts(t).filter(_=>["decimal","fraction","group","integer","literal"].includes(_.type)).map(_=>_.value).join("")}),[e,t,i,o,u,d,a,s]);return g.useMemo(()=>new Proxy(c,{get:(_,y)=>{var p;return(p=Reflect.get(_,y))==null?void 0:p.call(null)}}),[c])}function z(e,r){return g.useMemo(()=>{let t;return()=>t!=null?t:t=new Intl.NumberFormat(e,r)},[e,r])}var Mt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Money.tsx";function ve({data:e,as:r,withoutCurrency:t,withoutTrailingZeros:n,measurement:o,measurementSeparator:i="/",...u}){if(!Pt(e))throw new Error("<Money/> needs a valid 'data' prop that has 'amount' and 'currencyCode'");const a=sr(e),d=r!=null?r:"div";let s=a.localizedString;return(t||n)&&(t&&!n?s=a.amount:!t&&n?s=a.withoutTrailingZeros:s=a.withoutTrailingZerosAndCurrency),C.default.createElement(d,{...u,__self:this,__source:{fileName:Mt,lineNumber:65,columnNumber:5}},s,o&&o.referenceUnit&&C.default.createElement(C.default.Fragment,null,i,o.referenceUnit))}function Pt(e){return typeof e.amount=="string"&&!!e.amount&&typeof e.currencyCode=="string"&&!!e.currencyCode}var cr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductPrice.tsx";function $t(e){var s,m,c,_,y,p,T,f;const{priceType:r="regular",variantId:t,valueType:n="min",data:o,...i}=e;if(o==null)throw new Error("<ProductPrice/> requires a product as the 'data' prop");let u,a;const d=t&&(m=x((s=o==null?void 0:o.variants)!=null?s:{}).find(S=>(S==null?void 0:S.id)===t))!=null?m:null;if(r==="compareAt")if(t&&d){if(((c=d.compareAtPriceV2)==null?void 0:c.amount)===((_=d.priceV2)==null?void 0:_.amount))return null;u=d.compareAtPriceV2}else n==="max"?u=(y=o==null?void 0:o.compareAtPriceRange)==null?void 0:y.maxVariantPrice:u=(p=o==null?void 0:o.compareAtPriceRange)==null?void 0:p.minVariantPrice;else t&&d?(u=d.priceV2,n==="unit"&&(u=d.unitPrice,a=d.unitPriceMeasurement)):n==="max"?u=(T=o.priceRange)==null?void 0:T.maxVariantPrice:u=(f=o.priceRange)==null?void 0:f.minVariantPrice;return u?a?C.default.createElement(ve,{...i,data:u,measurement:a,__self:this,__source:{fileName:cr,lineNumber:81,columnNumber:7}}):C.default.createElement(ve,{...i,data:u,__self:this,__source:{fileName:cr,lineNumber:85,columnNumber:10}}):null}var lr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopPayButton.tsx";const Vt="https://cdn.shopify.com/shopifycloud/shop-js/v1.0/client.js";function Ft({variantIds:e,className:r,variantIdsAndQuantities:t,width:n}){const{storeDomain:o}=X(),i=ar(Vt);let u;if(e&&t)throw new Error(jt);if(e)u=e.reduce((d,s)=>{const m=dr(s);return m&&d.push(m),d},[]);else if(t)u=t.reduce((d,s)=>{var c;const m=dr(s==null?void 0:s.id);return m&&d.push(`${m}:${(c=s==null?void 0:s.quantity)!=null?c:1}`),d},[]);else throw new Error(xt);const a=n?{"--shop-pay-button-width":n}:void 0;return C.default.createElement("div",{className:r,style:a,__self:this,__source:{fileName:lr,lineNumber:90,columnNumber:5}},i==="done"&&C.default.createElement("shop-pay-button",{"store-url":o,variants:u.join(","),__self:this,__source:{fileName:lr,lineNumber:92,columnNumber:9}}))}function dr(e){if(!!e)return e.split("/").pop()}const xt='You must pass in either "variantIds" or "variantIdsAndQuantities" to ShopPayButton',jt="You must provide either a variantIds or variantIdsAndQuantities prop, but not both in the ShopPayButton component";D.AddToCartButton=yt,D.BuyNowButton=_t,D.CartCheckoutButton=Et,D.CartProvider=it,D.ExternalVideo=Xe,D.Image=oe,D.MediaFile=Ot,D.Metafield=Dt,D.ModelViewer=ir,D.Money=ve,D.ProductPrice=$t,D.ProductProvider=lt,D.ShopPayButton=Ft,D.ShopifyProvider=Yr,D.Video=Se,D.createStorefrontClient=Hr,D.flattenConnection=x,D.metafieldParser=Rt,D.parseMetafield=or,D.parseMetafieldValue=ur,D.storefrontApiCustomScalars=pt,D.useCart=ie,D.useMoney=sr,D.useProduct=Ze,D.useShop=X,Object.defineProperties(D,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
277
|
+
`,Q="2023-01",Ve=new Set,xt=e=>{Ve.has(e)||(console.warn(e),Ve.add(e))};function Bt({storeDomain:e,privateStorefrontToken:t,publicStorefrontToken:r,storefrontApiVersion:a,contentType:o}){return a!==Q&&xt(`StorefrontClient: The Storefront API version that you're using is different than the version this build of Hydrogen-UI is targeting. You may run into unexpected errors if these versions don't match. Received verion: "${a}"; expected version "${Q}"`),{getShopifyDomain(i){var u;return`https://${(u=i==null?void 0:i.storeDomain)!=null?u:e}.myshopify.com`},getStorefrontApiUrl(i){var u,n;return`https://${(u=i==null?void 0:i.storeDomain)!=null?u:e}.myshopify.com/api/${(n=i==null?void 0:i.storefrontApiVersion)!=null?n:a}/graphql.json`},getPrivateTokenHeaders(i){var n,d,c;if(!t&&!(i!=null&&i.privateStorefrontToken))throw new Error("StorefrontClient: You did not pass in a 'privateStorefrontToken' while using 'getPrivateTokenHeaders()'");return{"content-type":((n=i==null?void 0:i.contentType)!=null?n:o)==="graphql"?"application/graphql":"application/json","X-SDK-Variant":"hydrogen-ui","X-SDK-Variant-Source":"react","X-SDK-Version":a,"Shopify-Storefront-Private-Token":(c=(d=i==null?void 0:i.privateStorefrontToken)!=null?d:t)!=null?c:"",...i!=null&&i.buyerIp?{"Shopify-Storefront-Buyer-IP":i.buyerIp}:{}}},getPublicTokenHeaders(i){var n,d,c,f;if(!r&&!(i!=null&&i.publicStorefrontToken))throw new Error("StorefrontClient: You did not pass in a 'publicStorefrontToken' while using 'getPublicTokenHeaders()'");const u=(d=(n=i==null?void 0:i.contentType)!=null?n:o)!=null?d:"json";return Me(u,a,(f=(c=i==null?void 0:i.publicStorefrontToken)!=null?c:r)!=null?f:"")}}}function Me(e,t,r){return{"content-type":e==="graphql"?"application/graphql":"application/json","X-SDK-Variant":"hydrogen-ui","X-SDK-Variant-Source":"react","X-SDK-Version":t,"X-Shopify-Storefront-Access-Token":r}}var jt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopifyProvider.tsx";const Pe=h.createContext({storeDomain:"test",storefrontToken:"abc123",storefrontApiVersion:Q,country:{isoCode:"US"},language:{isoCode:"EN"},locale:"EN-US",getStorefrontApiUrl(){return""},getPublicTokenHeaders(){return{}},getShopifyDomain(){return""}});function qt({children:e,shopifyConfig:t}){if(!t)throw new Error("The 'shopifyConfig' prop must be passed to '<ShopifyProvider/>'");t.storefrontApiVersion!==Q&&console.warn(`<ShopifyProvider/>: This version of Hydrogen-UI is built for Shopify's Storefront API version ${Q}, but it looks like you're using version ${t.storefrontApiVersion}. There may be issues or bugs if you use a mismatched version of Hydrogen-UI and the Storefront API.`);const r=h.useMemo(()=>{function a(o){var i;return(i=o==null?void 0:o.storeDomain)!=null?i:t.storeDomain}return{...t,getPublicTokenHeaders(o){var i;return Me(o.contentType,t.storefrontApiVersion,(i=o.storefrontToken)!=null?i:t.storefrontToken)},getShopifyDomain:a,getStorefrontApiUrl(o){var i,u,n;return(i=o==null?void 0:o.storeDomain)!=null&&i.includes(".myshopify.com"),`${a({storeDomain:(u=o==null?void 0:o.storeDomain)!=null?u:t.storeDomain})}/api/${(n=o==null?void 0:o.storefrontApiVersion)!=null?n:t.storefrontApiVersion}/graphql.json`}}},[t]);return D.default.createElement(Pe.Provider,{value:r,__self:this,__source:{fileName:jt,lineNumber:84,columnNumber:5}},e)}function ne(){const e=h.useContext(Pe);if(!e)throw new Error("'useShop()' must be a descendent of <ShopifyProvider/>");return e}const he="shopifyCartId",Ht="Shopify-Storefront-Id",Yt="Shopify-Storefront-Y",Gt="Shopify-Storefront-S",Fe="_shopify_y",xe="_shopify_s";var Zt=new Set(["domain","path","max-age","expires","samesite","secure","httponly"]);function Wt(e){let t={},r,a,o=0,i=e.split(/;\s*/g),u,n;for(;o<i.length;o++)if(a=i[o],r=a.indexOf("="),~r){if(u=a.substring(0,r++).trim(),n=a.substring(r).trim(),n[0]==='"'&&(n=n.substring(1,n.length-1)),~n.indexOf("%"))try{n=decodeURIComponent(n)}catch{}Zt.has(a=u.toLowerCase())?a==="expires"?t.expires=new Date(n):a==="max-age"?t.maxage=+n:t[a]=n:t[u]=n}else(u=a.trim().toLowerCase())&&(u==="httponly"||u==="secure")&&(t[u]=!0);return t}function Kt(){const{storefrontId:e,getPublicTokenHeaders:t,getStorefrontApiUrl:r}=ne();return h.useCallback(({query:a,variables:o})=>{const i=t({contentType:"json"});e&&(i[Ht]=e);const u=Wt(document.cookie);return u[Fe]&&u[xe]&&(i[Yt]=u[Fe],i[Gt]=u[xe]),fetch(r(),{method:"POST",headers:i,body:JSON.stringify({query:a.toString(),variables:o})}).then(n=>n.json()).catch(n=>({data:void 0,errors:n.toString()}))},[t,e,r])}function zt({numCartLines:e,cartFragment:t,countryCode:r="US"}){const a=Kt(),o=h.useCallback(m=>a({query:Pt(t),variables:{id:m,numCartLines:e,country:r}}),[a,t,e,r]),i=h.useCallback(m=>a({query:Lt(t),variables:{input:m,numCartLines:e,country:r}}),[t,r,a,e]),u=h.useCallback((m,E)=>a({query:Dt(t),variables:{cartId:m,lines:E,numCartLines:e,country:r}}),[t,r,a,e]),n=h.useCallback((m,E)=>a({query:kt(t),variables:{cartId:m,lines:E,numCartLines:e,country:r}}),[t,r,a,e]),d=h.useCallback((m,E)=>a({query:Ut(t),variables:{cartId:m,lines:E,numCartLines:e,country:r}}),[t,r,a,e]),c=h.useCallback((m,E)=>a({query:Rt(t),variables:{cartId:m,note:E,numCartLines:e,country:r}}),[a,t,e,r]),f=h.useCallback((m,E)=>a({query:$t(t),variables:{cartId:m,buyerIdentity:E,numCartLines:e,country:r}}),[t,r,a,e]),l=h.useCallback((m,E)=>a({query:Vt(t),variables:{cartId:m,attributes:E,numCartLines:e,country:r}}),[t,r,a,e]),_=h.useCallback((m,E)=>a({query:Mt(t),variables:{cartId:m,discountCodes:E,numCartLines:e,country:r}}),[t,r,a,e]);return h.useMemo(()=>({cartFetch:o,cartCreate:i,cartLineAdd:u,cartLineUpdate:n,cartLineRemove:d,noteUpdate:c,buyerIdentityUpdate:f,cartAttributesUpdate:l,discountCodesUpdate:_,cartFragment:t}),[o,i,u,n,d,c,f,l,_,t])}function F(e,t){return{entry:[...(t==null?void 0:t.entryActions)||[],Z({lastValidCart:r=>r==null?void 0:r.cart}),"onCartActionEntry","onCartActionOptimisticUI",e],on:{RESOLVE:{target:(t==null?void 0:t.resolveTarget)||"idle",actions:[Z({prevCart:r=>r==null?void 0:r.lastValidCart,cart:(r,a)=>{var o;return(o=a==null?void 0:a.payload)==null?void 0:o.cart},rawCartResult:(r,a)=>{var o;return(o=a==null?void 0:a.payload)==null?void 0:o.rawCartResult},errors:r=>{}})]},ERROR:{target:(t==null?void 0:t.errorTarget)||"error",actions:[Z({prevCart:r=>r==null?void 0:r.lastValidCart,cart:r=>r==null?void 0:r.lastValidCart,errors:(r,a)=>{var o;return(o=a==null?void 0:a.payload)==null?void 0:o.errors}})]},CART_COMPLETED:{target:"cartCompleted",actions:Z({prevCart:r=>{},cart:r=>{},lastValidCart:r=>{},rawCartResult:r=>{},errors:r=>{}})}},exit:["onCartActionComplete",...(t==null?void 0:t.exitActions)||[]]}}const J={CART_FETCH:{target:"cartFetching"},CART_CREATE:{target:"cartCreating"},CART_SET:{target:"idle",actions:[Z({rawCartResult:(e,t)=>t.payload.cart,cart:(e,t)=>me(t.payload.cart)})]}},Be={CARTLINE_ADD:{target:"cartLineAdding"},CARTLINE_UPDATE:{target:"cartLineUpdating"},CARTLINE_REMOVE:{target:"cartLineRemoving"},NOTE_UPDATE:{target:"noteUpdating"},BUYER_IDENTITY_UPDATE:{target:"buyerIdentityUpdating"},CART_ATTRIBUTES_UPDATE:{target:"cartAttributesUpdating"},DISCOUNT_CODES_UPDATE:{target:"discountCodesUpdating"}};function Qt(e){return we({id:"Cart",initial:e?"idle":"uninitialized",context:{cart:e&&me(e)},states:{uninitialized:{on:J},cartCompleted:{on:J},initializationError:{on:J},idle:{on:{...J,...Be}},error:{on:{...J,...Be}},cartFetching:F("cartFetchAction",{errorTarget:"initializationError"}),cartCreating:F("cartCreateAction",{errorTarget:"initializationError"}),cartLineRemoving:F("cartLineRemoveAction"),cartLineUpdating:F("cartLineUpdateAction"),cartLineAdding:F("cartLineAddAction"),noteUpdating:F("noteUpdateAction"),buyerIdentityUpdating:F("buyerIdentityUpdateAction"),cartAttributesUpdating:F("cartAttributesUpdateAction"),discountCodesUpdating:F("discountCodesUpdateAction")}})}function Jt({numCartLines:e,onCartActionEntry:t,onCartActionOptimisticUI:r,onCartActionComplete:a,data:o,cartFragment:i,countryCode:u}){const{cartFetch:n,cartCreate:d,cartLineAdd:c,cartLineUpdate:f,cartLineRemove:l,noteUpdate:_,buyerIdentityUpdate:m,cartAttributesUpdate:E,discountCodesUpdate:T}=zt({numCartLines:e,cartFragment:i,countryCode:u}),S=h.useMemo(()=>Qt(o),[o]),[b,C,p]=Nt(S,{actions:{cartFetchAction:async(s,y)=>{var v;if(y.type!=="CART_FETCH")return;const{data:g,errors:w}=await n((v=y==null?void 0:y.payload)==null?void 0:v.cartId),N=x(y,g==null?void 0:g.cart,w);C(N)},cartCreateAction:async(s,y)=>{var v;if(y.type!=="CART_CREATE")return;const{data:g,errors:w}=await d(y==null?void 0:y.payload),N=x(y,(v=g==null?void 0:g.cartCreate)==null?void 0:v.cart,w);C(N)},cartLineAddAction:async(s,y)=>{var v,I;if(y.type!=="CARTLINE_ADD"||!((v=s==null?void 0:s.cart)!=null&&v.id))return;const{data:g,errors:w}=await c(s.cart.id,y.payload.lines),N=x(y,(I=g==null?void 0:g.cartLinesAdd)==null?void 0:I.cart,w);C(N)},cartLineUpdateAction:async(s,y)=>{var v,I;if(y.type!=="CARTLINE_UPDATE"||!((v=s==null?void 0:s.cart)!=null&&v.id))return;const{data:g,errors:w}=await f(s.cart.id,y.payload.lines),N=x(y,(I=g==null?void 0:g.cartLinesUpdate)==null?void 0:I.cart,w);C(N)},cartLineRemoveAction:async(s,y)=>{var v,I;if(y.type!=="CARTLINE_REMOVE"||!((v=s==null?void 0:s.cart)!=null&&v.id))return;const{data:g,errors:w}=await l(s.cart.id,y.payload.lines),N=x(y,(I=g==null?void 0:g.cartLinesRemove)==null?void 0:I.cart,w);C(N)},noteUpdateAction:async(s,y)=>{var v,I;if(y.type!=="NOTE_UPDATE"||!((v=s==null?void 0:s.cart)!=null&&v.id))return;const{data:g,errors:w}=await _(s.cart.id,y.payload.note),N=x(y,(I=g==null?void 0:g.cartNoteUpdate)==null?void 0:I.cart,w);C(N)},buyerIdentityUpdateAction:async(s,y)=>{var v,I;if(y.type!=="BUYER_IDENTITY_UPDATE"||!((v=s==null?void 0:s.cart)!=null&&v.id))return;const{data:g,errors:w}=await m(s.cart.id,y.payload.buyerIdentity),N=x(y,(I=g==null?void 0:g.cartBuyerIdentityUpdate)==null?void 0:I.cart,w);C(N)},cartAttributesUpdateAction:async(s,y)=>{var v,I;if(y.type!=="CART_ATTRIBUTES_UPDATE"||!((v=s==null?void 0:s.cart)!=null&&v.id))return;const{data:g,errors:w}=await E(s.cart.id,y.payload.attributes),N=x(y,(I=g==null?void 0:g.cartAttributesUpdate)==null?void 0:I.cart,w);C(N)},discountCodesUpdateAction:async(s,y)=>{var v,I;if(y.type!=="DISCOUNT_CODES_UPDATE"||!((v=s==null?void 0:s.cart)!=null&&v.id))return;const{data:g,errors:w}=await T(s.cart.id,y.payload.discountCodes),N=x(y,(I=g==null?void 0:g.cartDiscountCodesUpdate)==null?void 0:I.cart,w);C(N)},...t&&{onCartActionEntry:(s,y)=>{Xt(y)&&t(s,y)}},...r&&{onCartActionOptimisticUI:Z((s,y)=>r(s,y))},...a&&{onCartActionComplete:(s,y)=>{er(y)&&a(s,y)}}}});return h.useMemo(()=>[b,C,p],[b,C,p])}function me(e){var t;return{...e,lines:q(e==null?void 0:e.lines),note:(t=e.note)!=null?t:void 0}}function x(e,t,r){return r?{type:"ERROR",payload:{errors:r,cartActionEvent:e}}:t?{type:"RESOLVE",payload:{cart:me(t),rawCartResult:t,cartActionEvent:e}}:{type:"CART_COMPLETED",payload:{cartActionEvent:e}}}function Xt(e){return e.type==="CART_CREATE"||e.type==="CARTLINE_ADD"||e.type==="CARTLINE_UPDATE"||e.type==="CARTLINE_REMOVE"||e.type==="NOTE_UPDATE"||e.type==="BUYER_IDENTITY_UPDATE"||e.type==="CART_ATTRIBUTES_UPDATE"||e.type==="DISCOUNT_CODES_UPDATE"}function er(e){return e.type==="RESOLVE"||e.type==="ERROR"||e.type==="CART_COMPLETED"}var tr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartProvider.tsx";const je=h.createContext(null);function ae(){const e=h.useContext(je);if(!e)throw new Error("Expected a Cart Context, but no Cart Context was found");return e}function rr({children:e,numCartLines:t,onCreate:r,onLineAdd:a,onLineRemove:o,onLineUpdate:i,onNoteUpdate:u,onBuyerIdentityUpdate:n,onAttributesUpdate:d,onDiscountCodesUpdate:c,onCreateComplete:f,onLineAddComplete:l,onLineRemoveComplete:_,onLineUpdateComplete:m,onNoteUpdateComplete:E,onBuyerIdentityUpdateComplete:T,onAttributesUpdateComplete:S,onDiscountCodesUpdateComplete:b,data:C,cartFragment:p=Ft,customerAccessToken:s,countryCode:y="US"}){var ct,lt,dt,ft,yt,ht,mt;y&&(y=y.toUpperCase());const[g,w]=h.useState(y),[N,v]=h.useState(s),I=h.useRef(!1);(g!==y||N!==s)&&(w(y),v(s),I.current=!1);const[R,V]=Jt({numCartLines:t,data:C,cartFragment:p,countryCode:y,onCartActionEntry(A,$){try{switch($.type){case"CART_CREATE":return r==null?void 0:r();case"CARTLINE_ADD":return a==null?void 0:a();case"CARTLINE_REMOVE":return o==null?void 0:o();case"CARTLINE_UPDATE":return i==null?void 0:i();case"NOTE_UPDATE":return u==null?void 0:u();case"BUYER_IDENTITY_UPDATE":return n==null?void 0:n();case"CART_ATTRIBUTES_UPDATE":return d==null?void 0:d();case"DISCOUNT_CODES_UPDATE":return c==null?void 0:c()}}catch(M){console.error("Cart entry action failed",M)}},onCartActionOptimisticUI(A,$){var M,j,ee,te;if(!A.cart)return{...A};switch($.type){case"CARTLINE_REMOVE":return{...A,cart:{...A.cart,lines:(j=(M=A==null?void 0:A.cart)==null?void 0:M.lines)==null?void 0:j.filter(U=>(U==null?void 0:U.id)&&!$.payload.lines.includes(U==null?void 0:U.id))}};case"CARTLINE_UPDATE":return{...A,cart:{...A.cart,lines:(te=(ee=A==null?void 0:A.cart)==null?void 0:ee.lines)==null?void 0:te.map(U=>{const z=$.payload.lines.find(({id:ue})=>ue===(U==null?void 0:U.id));return z&&z.quantity?{...U,quantity:z.quantity}:U})}}}return{...A}},onCartActionComplete(A,$){const M=$.payload.cartActionEvent;try{switch($.type){case"RESOLVE":switch(M.type){case"CART_CREATE":return f==null?void 0:f();case"CARTLINE_ADD":return l==null?void 0:l();case"CARTLINE_REMOVE":return _==null?void 0:_();case"CARTLINE_UPDATE":return m==null?void 0:m();case"NOTE_UPDATE":return E==null?void 0:E();case"BUYER_IDENTITY_UPDATE":return ir(A,M)&&(I.current=!0),T==null?void 0:T();case"CART_ATTRIBUTES_UPDATE":return S==null?void 0:S();case"DISCOUNT_CODES_UPDATE":return b==null?void 0:b()}}}catch(j){console.error("onCartActionComplete failed",j)}}}),P=h.useRef(!1),H=R.matches("cartCompleted"),K=(R.value==="idle"||R.value==="error"||R.value==="cartCompleted")&&y!==((dt=(lt=(ct=R==null?void 0:R.context)==null?void 0:ct.cart)==null?void 0:lt.buyerIdentity)==null?void 0:dt.countryCode)&&!R.context.errors,B=h.useRef(!1);h.useEffect(()=>{if(!P.current&&!B.current){if(!C&&_e("localStorage")){B.current=!0;try{const A=window.localStorage.getItem(he);A&&V({type:"CART_FETCH",payload:{cartId:A}})}catch(A){console.warn("error fetching cartId"),console.warn(A)}}P.current=!0}},[C,P,V]),h.useEffect(()=>{!K||I.current||V({type:"BUYER_IDENTITY_UPDATE",payload:{buyerIdentity:{countryCode:y,customerAccessToken:s}}})},[y,s,K,I,V]);const O=h.useCallback(A=>{if(!P.current)return console.warn("Cart isn't ready yet");V(A)},[V]);h.useEffect(()=>{var A,$,M;if((($=(A=R==null?void 0:R.context)==null?void 0:A.cart)==null?void 0:$.id)&&_e("localStorage"))try{window.localStorage.setItem(he,(M=R.context.cart)==null?void 0:M.id)}catch(j){console.warn("Failed to save cartId to localStorage",j)}},[(yt=(ft=R==null?void 0:R.context)==null?void 0:ft.cart)==null?void 0:yt.id]),h.useEffect(()=>{if(H&&_e("localStorage"))try{window.localStorage.removeItem(he)}catch(A){console.warn("Failed to delete cartId from localStorage",A)}},[H]);const G=h.useCallback(A=>{var $,M;y&&!(($=A.buyerIdentity)!=null&&$.countryCode)&&(A.buyerIdentity==null&&(A.buyerIdentity={}),A.buyerIdentity.countryCode=y),s&&!((M=A.buyerIdentity)!=null&&M.customerAccessToken)&&(A.buyerIdentity==null&&(A.buyerIdentity={}),A.buyerIdentity.customerAccessToken=s),O({type:"CART_CREATE",payload:A})},[y,s,O]),k=ar(R),oe=h.useMemo(()=>{var A,$,M,j,ee,te;return{...($=(A=k==null?void 0:k.context)==null?void 0:A.cart)!=null?$:{lines:[],attributes:[]},status:nr(k.value),error:(M=k==null?void 0:k.context)==null?void 0:M.errors,totalQuantity:(te=(ee=(j=k==null?void 0:k.context)==null?void 0:j.cart)==null?void 0:ee.totalQuantity)!=null?te:0,cartCreate:G,linesAdd(U){var z,ue;(ue=(z=k==null?void 0:k.context)==null?void 0:z.cart)!=null&&ue.id?O({type:"CARTLINE_ADD",payload:{lines:U}}):G({lines:U})},linesRemove(U){O({type:"CARTLINE_REMOVE",payload:{lines:U}})},linesUpdate(U){O({type:"CARTLINE_UPDATE",payload:{lines:U}})},noteUpdate(U){O({type:"NOTE_UPDATE",payload:{note:U}})},buyerIdentityUpdate(U){O({type:"BUYER_IDENTITY_UPDATE",payload:{buyerIdentity:U}})},cartAttributesUpdate(U){O({type:"CART_ATTRIBUTES_UPDATE",payload:{attributes:U}})},discountCodesUpdate(U){O({type:"DISCOUNT_CODES_UPDATE",payload:{discountCodes:U}})},cartFragment:p}},[G,(ht=k==null?void 0:k.context)==null?void 0:ht.cart,(mt=k==null?void 0:k.context)==null?void 0:mt.errors,k.value,p,O]);return D.default.createElement(je.Provider,{value:oe,__self:this,__source:{fileName:tr,lineNumber:424,columnNumber:5}},e)}function nr(e){switch(e){case"uninitialized":case"initializationError":return"uninitialized";case"idle":case"cartCompleted":case"error":return"idle";case"cartFetching":return"fetching";case"cartCreating":return"creating";case"cartLineAdding":case"cartLineRemoving":case"cartLineUpdating":case"noteUpdating":case"buyerIdentityUpdating":case"cartAttributesUpdating":case"discountCodesUpdating":return"updating"}}function ar(e){const[t,r]=h.useTransition(),[a,o]=h.useState(e),i=h.useRef(!1);t&&(i.current=!0);const u=h.useRef(!1);return!t&&i.current&&(u.current=!0),h.useEffect(()=>{r(()=>{u.current||o(e)})},[e]),u.current?e:a}function _e(e){let t;try{t=window[e];const r="__storage_test__";return t.setItem(r,r),t.removeItem(r),!0}catch(r){return r instanceof DOMException&&(r.code===22||r.code===1014||r.name==="QuotaExceededError"||r.name==="NS_ERROR_DOM_QUOTA_REACHED")&&t&&t.length!==0}}function ir(e,t){var r,a;return t.payload.buyerIdentity.countryCode&&((a=(r=e.cart)==null?void 0:r.buyerIdentity)==null?void 0:a.countryCode)!==t.payload.buyerIdentity.countryCode}var or="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductProvider.tsx";const qe=h.createContext(null);function ur({children:e,data:t,initialVariantId:r}){const a=h.useMemo(()=>{var S;return q((S=t.variants)!=null?S:{})},[t.variants]);if(!cr(a))throw new Error("<ProductProvider/> requires 'product.variants.nodes' or 'product.variants.edges'");const o=h.useMemo(()=>sr(a),[a]),[i,u]=h.useState(()=>Ge(r,a)),[n,d]=h.useState(()=>Ze(i));h.useEffect(()=>{const S=Ge(r,a);u(S),d(Ze(S))},[r,a]);const c=h.useCallback((S,b)=>{d(C=>{const p={...C,[S]:b};return u(Ye(a,p)),p})},[d,a]),f=h.useCallback((S,b)=>{var p;const C=Ye(a,{...n,[S]:b});return(p=C==null?void 0:C.availableForSale)!=null?p:!0},[n,a]),l=h.useMemo(()=>{var S;return q((S=t.sellingPlanGroups)!=null?S:{}).map(b=>{var C;return{...b,sellingPlans:q((C=b==null?void 0:b.sellingPlans)!=null?C:{})}})},[t.sellingPlanGroups]),[_,m]=h.useState(void 0),E=h.useMemo(()=>{var S,b;if(!(!i||!_)){if(!((S=i.sellingPlanAllocations)!=null&&S.nodes)&&!((b=i.sellingPlanAllocations)!=null&&b.edges))throw new Error("<ProductProvider/>: You must include 'sellingPlanAllocations.nodes' or 'sellingPlanAllocations.edges' in your variants in order to calculate selectedSellingPlanAllocation");return q(i.sellingPlanAllocations).find(C=>{var p;return((p=C==null?void 0:C.sellingPlan)==null?void 0:p.id)===_.id})}},[i,_]),T=h.useMemo(()=>({variants:a,variantsConnection:t.variants,options:o,selectedVariant:i,setSelectedVariant:u,selectedOptions:n,setSelectedOption:c,setSelectedOptions:d,isOptionInStock:f,selectedSellingPlan:_,setSelectedSellingPlan:m,selectedSellingPlanAllocation:E,sellingPlanGroups:l,sellingPlanGroupsConnection:t.sellingPlanGroups}),[f,o,t.sellingPlanGroups,t.variants,n,_,E,i,l,c,a]);return D.default.createElement(qe.Provider,{value:T,__self:this,__source:{fileName:or,lineNumber:201,columnNumber:5}},e)}function He(){const e=h.useContext(qe);if(!e)throw new Error("'useProduct' must be a child of <ProductProvider />");return e}function Ye(e,t){var r,a;if(!(!e.length||((a=(r=e==null?void 0:e[0])==null?void 0:r.selectedOptions)==null?void 0:a.length)!==Object.keys(t).length))return e==null?void 0:e.find(o=>Object.entries(t).every(([i,u])=>{var n;return(n=o==null?void 0:o.selectedOptions)==null?void 0:n.some(d=>(d==null?void 0:d.name)===i&&(d==null?void 0:d.value)===u)}))}function sr(e){const t=e.reduce((r,a)=>{var o;if(!a.selectedOptions)throw new Error("'getOptions' requires 'variant.selectedOptions'");return(o=a==null?void 0:a.selectedOptions)==null||o.forEach(i=>{var u,n,d,c;r[(u=i==null?void 0:i.name)!=null?u:""]=r[(n=i==null?void 0:i.name)!=null?n:""]||new Set,r[(d=i==null?void 0:i.name)!=null?d:""].add((c=i==null?void 0:i.value)!=null?c:"")}),r},{});return Object.keys(t).map(r=>({name:r,values:Array.from(t[r])}))}function Ge(e,t){if(e){const r=t.find(a=>(a==null?void 0:a.id)===e);return r||console.warn("<ProductProvider/> received a 'initialVariantId' prop, but could not actually find a variant with that ID"),r}if(e===null)return null;if(e===void 0)return t.find(r=>r==null?void 0:r.availableForSale)||t[0]}function Ze(e){return e!=null&&e.selectedOptions?e.selectedOptions.reduce((t,r)=>{var a,o;return t[(a=r==null?void 0:r.name)!=null?a:""]=(o=r==null?void 0:r.value)!=null?o:"",t},{}):{}}function cr(e){return!(!e||!Array.isArray(e))}var lr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BaseButton.tsx";function ge(e){const{as:t,onClick:r,defaultOnClick:a,children:o,buttonRef:i,...u}=e,n=h.useCallback(c=>{if(r){const f=r(c);if(typeof f=="boolean"&&f===!1||(c==null?void 0:c.defaultPrevented))return}a==null||a(c)},[a,r]),d=t||"button";return D.default.createElement(d,{ref:i,onClick:n,...u,__self:this,__source:{fileName:lr,lineNumber:59,columnNumber:5}},o)}var We="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/AddToCartButton.tsx";function dr(e){var b;const[t,r]=h.useState(!1),{variantId:a,quantity:o=1,attributes:i,sellingPlanId:u,onClick:n,children:d,accessibleAddingToCartLabel:c,...f}=e,{status:l,linesAdd:_}=ae(),{selectedVariant:m}=He(),E=(b=a!=null?a:m==null?void 0:m.id)!=null?b:"",T=a===null||E===""||m===null||t||f.disabled;h.useEffect(()=>{t&&l==="idle"&&r(!1)},[l,t]);const S=h.useCallback(()=>{r(!0),_([{quantity:o,merchandiseId:E||"",attributes:i,sellingPlanId:u}])},[_,o,E,i,u]);return D.default.createElement(D.default.Fragment,null,D.default.createElement(ge,{...f,disabled:T,onClick:n,defaultOnClick:S,__self:this,__source:{fileName:We,lineNumber:71,columnNumber:7}},d),c?D.default.createElement("p",{style:{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},role:"alert","aria-live":"assertive",__self:this,__source:{fileName:We,lineNumber:80,columnNumber:9}},t?c:null):null)}var fr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/BuyNowButton.tsx";function yr(e){const{cartCreate:t,checkoutUrl:r}=ae(),[a,o]=h.useState(!1),{quantity:i,variantId:u,onClick:n,attributes:d,children:c,...f}=e;h.useEffect(()=>{r&&(window.location.href=r)},[r]);const l=h.useCallback(()=>{o(!0),t({lines:[{quantity:i!=null?i:1,merchandiseId:u,attributes:d}]})},[t,i,u,d]);return D.default.createElement(ge,{disabled:a!=null?a:f.disabled,...f,onClick:n,defaultOnClick:l,__self:this,__source:{fileName:fr,lineNumber:53,columnNumber:5}},c)}var hr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/CartCheckoutButton.tsx";function mr(e){const[t,r]=h.useState(!1),{status:a,checkoutUrl:o}=ae(),{children:i,...u}=e;return h.useEffect(()=>{t&&o&&a==="idle"&&(window.location.href=o)},[t,a,o]),D.default.createElement(ge,{...u,disabled:t||u.disabled,onClick:()=>r(!0),__self:this,__source:{fileName:hr,lineNumber:28,columnNumber:5}},i)}const _r={DateTime:"string",Decimal:"string",HTML:"string",URL:"string",Color:"string",UnsignedInt64:"string"};var gr="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ExternalVideo.tsx";function Ke(e){var f,l;const{data:t,options:r,id:a=t.id,frameBorder:o="0",allow:i="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:u=!0,loading:n="lazy",...d}=e;if(!t.embedUrl)throw new Error("<ExternalVideo/> requires the 'embedUrl' property");let c=t.embedUrl;if(r){const _=new URL(t.embedUrl);for(const m of Object.keys(r))_.searchParams.set(m,r[m]);c=_.toString()}return D.default.createElement("iframe",{...d,id:a!=null?a:t.embedUrl,title:(l=(f=t.alt)!=null?f:t.id)!=null?l:"external video",frameBorder:o,allow:i,allowFullScreen:u,src:c,loading:n,__self:this,__source:{fileName:gr,lineNumber:56,columnNumber:5}})}const Er=["cdn.shopify.com","cdn.shopifycdn.net","shopify-assets.shopifycdn.com","shopify-assets.shopifycdn.net"],Sr=["spin.dev"],pr=[...Er,...Sr],X=[352,832,1200,1920,2560];function ze({src:e,width:t,height:r,crop:a,scale:o}){const i=new URL(e),u=o!=null?o:1;if(t){let n;typeof t=="string"?n=(X[0]*u).toString():n=(Number(t)*u).toString(),i.searchParams.append("width",n)}return r&&typeof r=="number"&&i.searchParams.append("height",(r*u).toString()),a&&i.searchParams.append("crop",a),i.toString()}function Qe(e){const t=new URL(e.src);return!pr.some(a=>t.hostname.endsWith(a))||!e.width&&!e.height&&!e.crop&&!e.scale?e.src:ze(e)}function Cr({data:e,loaderOptions:t,elementProps:r}){var o,i,u,n,d,c;let a=null;return(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&(a=(e==null?void 0:e.width)/(e==null?void 0:e.height)),(t==null?void 0:t.width)||(t==null?void 0:t.height)?{width:(o=t==null?void 0:t.width)!=null?o:a&&typeof t.height=="number"?Math.round(a*t.height):null,height:(i=t==null?void 0:t.height)!=null?i:a&&typeof t.width=="number"?Math.round(a*t.width):null}:(r==null?void 0:r.width)||(r==null?void 0:r.height)?{width:(u=r==null?void 0:r.width)!=null?u:a&&typeof r.height=="number"?Math.round(a*r.height):null,height:(n=r==null?void 0:r.height)!=null?n:a&&typeof r.width=="number"?Math.round(a*r.width):null}:(e==null?void 0:e.width)||(e==null?void 0:e.height)?{width:(d=e==null?void 0:e.width)!=null?d:null,height:(c=e==null?void 0:e.height)!=null?c:null}:{width:null,height:null}}var br="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Image.tsx";function Je({data:e,width:t,height:r,loading:a,loader:o=Qe,loaderOptions:i,widths:u,decoding:n="async",...d}){var E,T,S,b,C,p;if(!e.url){const s=`<Image/>: the 'data' prop requires the 'url' property. Image: ${(E=e.id)!=null?E:"no ID provided"}`;return console.error(s),null}const{width:c,height:f}=Cr({data:e,loaderOptions:i,elementProps:{width:t,height:r}});let l=e.url;if(o&&(l=o({...i,src:e.url,width:c,height:f}),typeof l!="string"||!l))throw new Error(`<Image/>: 'loader' did not return a valid string. Image: ${(T=e.id)!=null?T:e.url}`);const _=t&&c&&t<c?t:c,m=(S=d.srcSet)!=null?S:vr({...i,widths:u,src:e.url,width:_,height:f,loader:o});return Se.createElement("img",{id:(b=e.id)!=null?b:"",alt:(p=(C=e.altText)!=null?C:d.alt)!=null?p:"",loading:a!=null?a:"lazy",...d,src:l,width:c!=null?c:void 0,height:f!=null?f:void 0,srcSet:m,decoding:n,__self:this,__source:{fileName:br,lineNumber:150,columnNumber:5}})}function vr({src:e,width:t,crop:r,scale:a,widths:o,loader:i,height:u}){const n=o&&Array.isArray(o);if(n&&o.some(l=>isNaN(l)))throw new Error(`<Image/>: the 'widths' must be an array of numbers. Image: ${e}`);let d=1;t&&u&&(d=Number(u)/Number(t));let c=n?o:X;!n&&t&&t<X[X.length-1]&&(c=X.filter(l=>l<=t));const f=i||ze;return c.map(l=>`${f({src:e,width:l,height:r?Number(l)*d:void 0,crop:r,scale:a})} ${l}w`).join(", ")}var Xe="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Video.tsx";function et(e){var c,f;const{data:t,previewImageOptions:r,id:a=t.id,playsInline:o=!0,controls:i=!0,sourceProps:u={},...n}=e,d=Qe({src:(f=(c=t.previewImage)==null?void 0:c.url)!=null?f:"",...r});if(!t.sources)throw new Error("<Video/> requires a 'data.sources' array");return D.default.createElement("video",{...n,id:a,playsInline:o,controls:i,poster:d,__self:this,__source:{fileName:Xe,lineNumber:42,columnNumber:5}},t.sources.map(l=>{if(!((l==null?void 0:l.url)&&(l==null?void 0:l.mimeType)))throw new Error("<Video/> needs 'source.url' and 'source.mimeType'");return D.default.createElement("source",{...u,key:l.url,src:l.url,type:l.mimeType,__self:this,__source:{fileName:Xe,lineNumber:54,columnNumber:11}})}))}const tt={};function Tr(e,t){const r=tt[e];if(r)return r;const a=new Promise((o,i)=>{const u=document.createElement("script");t!=null&&t.module?u.type="module":u.type="text/javascript",u.src=e,u.onload=()=>{o(!0)},u.onerror=()=>{i(!1)},(t==null?void 0:t.in)==="head"?document.head.appendChild(u):document.body.appendChild(u)});return tt[e]=a,a}function rt(e,t){const[r,a]=h.useState("loading"),o=JSON.stringify(t);return h.useEffect(()=>{async function i(){try{a("loading"),await Tr(e,t),a("done")}catch{a("error")}}i()},[e,o,t]),r}var Ar="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ModelViewer.tsx";function nt(e){var c,f,l,_,m,E,T,S,b,C,p;const[t,r]=h.useState(void 0),a=h.useCallback(s=>{r(s)},[]),{data:o,children:i,className:u,...n}=e,d=rt("https://unpkg.com/@google/model-viewer@v1.12.1/dist/model-viewer.min.js",{module:!0});return h.useEffect(()=>{if(!!t)return n.onError&&t.addEventListener("error",n.onError),n.onLoad&&t.addEventListener("load",n.onLoad),n.onPreload&&t.addEventListener("preload",n.onPreload),n.onModelVisibility&&t.addEventListener("model-visibility",n.onModelVisibility),n.onProgress&&t.addEventListener("progress",n.onProgress),n.onArStatus&&t.addEventListener("ar-status",n.onArStatus),n.onArTracking&&t.addEventListener("ar-tracking",n.onArTracking),n.onQuickLookButtonTapped&&t.addEventListener("quick-look-button-tapped",n.onQuickLookButtonTapped),n.onCameraChange&&t.addEventListener("camera-change",n.onCameraChange),n.onEnvironmentChange&&t.addEventListener("environment-change",n.onEnvironmentChange),n.onPlay&&t.addEventListener("play",n.onPlay),n.onPause&&t.addEventListener("ar-status",n.onPause),n.onSceneGraphReady&&t.addEventListener("scene-graph-ready",n.onSceneGraphReady),()=>{t!=null&&(n.onError&&t.removeEventListener("error",n.onError),n.onLoad&&t.removeEventListener("load",n.onLoad),n.onPreload&&t.removeEventListener("preload",n.onPreload),n.onModelVisibility&&t.removeEventListener("model-visibility",n.onModelVisibility),n.onProgress&&t.removeEventListener("progress",n.onProgress),n.onArStatus&&t.removeEventListener("ar-status",n.onArStatus),n.onArTracking&&t.removeEventListener("ar-tracking",n.onArTracking),n.onQuickLookButtonTapped&&t.removeEventListener("quick-look-button-tapped",n.onQuickLookButtonTapped),n.onCameraChange&&t.removeEventListener("camera-change",n.onCameraChange),n.onEnvironmentChange&&t.removeEventListener("environment-change",n.onEnvironmentChange),n.onPlay&&t.removeEventListener("play",n.onPlay),n.onPause&&t.removeEventListener("ar-status",n.onPause),n.onSceneGraphReady&&t.removeEventListener("scene-graph-ready",n.onSceneGraphReady))}},[t,n.onArStatus,n.onArTracking,n.onCameraChange,n.onEnvironmentChange,n.onError,n.onLoad,n.onModelVisibility,n.onPause,n.onPlay,n.onPreload,n.onProgress,n.onQuickLookButtonTapped,n.onSceneGraphReady]),d!=="done"?null:(f=(c=o.sources)==null?void 0:c[0])!=null&&f.url?D.default.createElement("model-viewer",{ref:a,...n,className:u,id:(l=n.id)!=null?l:o.id,src:o.sources[0].url,alt:(_=o.alt)!=null?_:null,"camera-controls":(m=n.cameraControls)!=null?m:!0,poster:(T=n.poster||((E=o.previewImage)==null?void 0:E.url))!=null?T:null,autoplay:(S=n.autoplay)!=null?S:!0,loading:n.loading,reveal:n.reveal,ar:n.ar,"ar-modes":n.arModes,"ar-scale":n.arScale,"ar-placement":n.arPlacement,"ios-src":n.iosSrc,"touch-action":n.touchAction,"disable-zoom":n.disableZoom,"orbit-sensitivity":n.orbitSensitivity,"auto-rotate":n.autoRotate,"auto-rotate-delay":n.autoRotateDelay,"rotation-per-second":n.rotationPerSecond,"interaction-policy":n.interactionPolicy,"interaction-prompt":n.interactionPrompt,"interaction-prompt-style":n.interactionPromptStyle,"interaction-prompt-threshold":n.interactionPromptThreshold,"camera-orbit":n.cameraOrbit,"camera-target":n.cameraTarget,"field-of-view":n.fieldOfView,"max-camera-orbit":n.maxCameraOrbit,"min-camera-orbit":n.minCameraOrbit,"max-field-of-view":n.maxFieldOfView,"min-field-of-view":n.minFieldOfView,bounds:n.bounds,"interpolation-decay":(b=n.interpolationDecay)!=null?b:100,"skybox-image":n.skyboxImage,"environment-image":n.environmentImage,exposure:n.exposure,"shadow-intensity":(C=n.shadowIntensity)!=null?C:0,"shadow-softness":(p=n.shadowSoftness)!=null?p:0,"animation-name":n.animationName,"animation-crossfade-duration":n.animationCrossfadeDuration,"variant-name":n.variantName,orientation:n.orientation,scale:n.scale,__self:this,__source:{fileName:Ar,lineNumber:222,columnNumber:5}},i):(console.error("<ModelViewer/> requires 'data.sources' prop to be an array, with an object that has a property 'url' on it. Rendering 'null'"),null)}var ie="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/MediaFile.tsx";function wr({data:e,mediaOptions:t,...r}){switch(e.__typename){case"MediaImage":return e.image?D.default.createElement(Je,{...r,...t==null?void 0:t.image,data:e.image,__self:this,__source:{fileName:ie,lineNumber:54,columnNumber:9}}):(console.warn("<MediaFile/>: 'data.image' does not exist for __typename of 'MediaImage'; rendering 'null' by default."),null);case"Video":return D.default.createElement(et,{...r,...t==null?void 0:t.video,data:e,__self:this,__source:{fileName:ie,lineNumber:63,columnNumber:9}});case"ExternalVideo":return D.default.createElement(Ke,{...r,...t==null?void 0:t.externalVideo,data:e,__self:this,__source:{fileName:ie,lineNumber:68,columnNumber:9}});case"Model3d":return D.default.createElement(nt,{...r,...t==null?void 0:t.modelViewer,data:e,__self:this,__source:{fileName:ie,lineNumber:78,columnNumber:9}});default:return console.error("<MediaFile /> requires the '__typename' property to exist on the 'data' prop in order to render the matching sub-component for this type of media. Rendering 'null' by default"),null}}function Nr(e){var t,r,a,o;if(!e.type)return console.error("parseMetafield(): The 'type' field is required in order to parse the Metafield. Returning 'parsedValue' of 'null'"),{...e,parsedValue:null};switch(e.type){case"boolean":return{...e,parsedValue:e.value==="true"};case"collection_reference":case"file_reference":case"page_reference":case"product_reference":case"variant_reference":return{...e,parsedValue:e.reference};case"color":case"multi_line_text_field":case"single_line_text_field":case"url":return{...e,parsedValue:e.value};case"dimension":case"money":case"json":case"rating":case"volume":case"weight":case"list.color":case"list.dimension":case"list.number_integer":case"list.number_decimal":case"list.rating":case"list.single_line_text_field":case"list.url":case"list.volume":case"list.weight":{let i=null;try{i=at((t=e.value)!=null?t:"")}catch{console.error("parseMetafield(): attempted to JSON.parse the 'metafield.value' property, but failed. Returning 'null' for 'parsedValue'"),i=null}return{...e,parsedValue:i}}case"date":case"date_time":return{...e,parsedValue:new Date((r=e.value)!=null?r:"")};case"list.date":case"list.date_time":{const i=at((a=e==null?void 0:e.value)!=null?a:"");return{...e,parsedValue:i.map(u=>new Date(u))}}case"number_decimal":case"number_integer":return{...e,parsedValue:Number(e.value)};case"list.collection_reference":case"list.file_reference":case"list.page_reference":case"list.product_reference":case"list.variant_reference":return{...e,parsedValue:q((o=e.references)!=null?o:void 0)};default:{const i=`parseMetafield(): the 'metafield.type' you passed in is not supported. Your type: "${e.type}". If you believe this is an error, please open an issue on GitHub.`;return console.error(`${i} Returning 'parsedValue' of 'null'`),{...e,parsedValue:null}}}}function at(e){return String(e).includes("__proto__")?JSON.parse(e,(t,r)=>{if(t!=="__proto__")return r}):JSON.parse(e)}function it(e){const{locale:t}=ne();if(!t)throw new Error("useMoney(): Unable to get 'locale' from 'useShop()', which means that 'locale' was not passed to '<ShopifyProvider/>'. 'locale' is required for 'useMoney()' to work");const r=parseFloat(e.amount),a=h.useMemo(()=>({style:"currency",currency:e.currencyCode}),[e.currencyCode]),o=W(t,a),i=W(t,{...a,currencyDisplay:"name"}),u=W(t,{...a,currencyDisplay:"narrowSymbol"}),n=W(t,{...a,minimumFractionDigits:0,maximumFractionDigits:0}),d=W(t),c=W(t,{minimumFractionDigits:0,maximumFractionDigits:0}),f=_=>_.type==="currency",l=h.useMemo(()=>({original:()=>e,currencyCode:()=>e.currencyCode,localizedString:()=>o().format(r),parts:()=>o().formatToParts(r),withoutTrailingZeros:()=>r%1===0?n().format(r):o().format(r),withoutTrailingZerosAndCurrency:()=>r%1===0?c().format(r):d().format(r),currencyName:()=>{var _,m;return(m=(_=i().formatToParts(r).find(f))==null?void 0:_.value)!=null?m:e.currencyCode},currencySymbol:()=>{var _,m;return(m=(_=o().formatToParts(r).find(f))==null?void 0:_.value)!=null?m:e.currencyCode},currencyNarrowSymbol:()=>{var _,m;return(m=(_=u().formatToParts(r).find(f))==null?void 0:_.value)!=null?m:""},amount:()=>o().formatToParts(r).filter(_=>["decimal","fraction","group","integer","literal"].includes(_.type)).map(_=>_.value).join("")}),[e,r,i,o,u,d,n,c]);return h.useMemo(()=>new Proxy(l,{get:(_,m)=>{var E;return(E=Reflect.get(_,m))==null?void 0:E.call(null)}}),[l])}function W(e,t){return h.useMemo(()=>{let r;return()=>r!=null?r:r=new Intl.NumberFormat(e,t)},[e,t])}var Ir="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Money.tsx";function Ee({data:e,as:t,withoutCurrency:r,withoutTrailingZeros:a,measurement:o,measurementSeparator:i="/",...u}){if(!Or(e))throw new Error("<Money/> needs a valid 'data' prop that has 'amount' and 'currencyCode'");const n=it(e),d=t!=null?t:"div";let c=n.localizedString;return(r||a)&&(r&&!a?c=n.amount:!r&&a?c=n.withoutTrailingZeros:c=n.withoutTrailingZerosAndCurrency),D.default.createElement(d,{...u,__self:this,__source:{fileName:Ir,lineNumber:65,columnNumber:5}},c,o&&o.referenceUnit&&D.default.createElement(D.default.Fragment,null,i,o.referenceUnit))}function Or(e){return typeof e.amount=="string"&&!!e.amount&&typeof e.currencyCode=="string"&&!!e.currencyCode}var ot="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductPrice.tsx";function Dr(e){var c,f,l,_,m,E,T,S;const{priceType:t="regular",variantId:r,valueType:a="min",data:o,...i}=e;if(o==null)throw new Error("<ProductPrice/> requires a product as the 'data' prop");let u,n;const d=r&&(f=q((c=o==null?void 0:o.variants)!=null?c:{}).find(b=>(b==null?void 0:b.id)===r))!=null?f:null;if(t==="compareAt")if(r&&d){if(((l=d.compareAtPriceV2)==null?void 0:l.amount)===((_=d.priceV2)==null?void 0:_.amount))return null;u=d.compareAtPriceV2}else a==="max"?u=(m=o==null?void 0:o.compareAtPriceRange)==null?void 0:m.maxVariantPrice:u=(E=o==null?void 0:o.compareAtPriceRange)==null?void 0:E.minVariantPrice;else r&&d?(u=d.priceV2,a==="unit"&&(u=d.unitPrice,n=d.unitPriceMeasurement)):a==="max"?u=(T=o.priceRange)==null?void 0:T.maxVariantPrice:u=(S=o.priceRange)==null?void 0:S.minVariantPrice;return u?n?D.default.createElement(Ee,{...i,data:u,measurement:n,__self:this,__source:{fileName:ot,lineNumber:81,columnNumber:7}}):D.default.createElement(Ee,{...i,data:u,__self:this,__source:{fileName:ot,lineNumber:85,columnNumber:10}}):null}var ut="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopPayButton.tsx";const Lr="https://cdn.shopify.com/shopifycloud/shop-js/v1.0/client.js";function Ur({variantIds:e,className:t,variantIdsAndQuantities:r,width:a}){const{storeDomain:o}=ne(),i=rt(Lr);let u;if(e&&r)throw new Error(Rr);if(e)u=e.reduce((d,c)=>{const f=st(c);return f&&d.push(f),d},[]);else if(r)u=r.reduce((d,c)=>{var l;const f=st(c==null?void 0:c.id);return f&&d.push(`${f}:${(l=c==null?void 0:c.quantity)!=null?l:1}`),d},[]);else throw new Error(kr);const n=a?{"--shop-pay-button-width":a}:void 0;return D.default.createElement("div",{className:t,style:n,__self:this,__source:{fileName:ut,lineNumber:90,columnNumber:5}},i==="done"&&D.default.createElement("shop-pay-button",{"store-url":o,variants:u.join(","),__self:this,__source:{fileName:ut,lineNumber:92,columnNumber:9}}))}function st(e){if(!!e)return e.split("/").pop()}const kr='You must pass in either "variantIds" or "variantIdsAndQuantities" to ShopPayButton',Rr="You must provide either a variantIds or variantIdsAndQuantities prop, but not both in the ShopPayButton component";L.AddToCartButton=dr,L.BuyNowButton=yr,L.CartCheckoutButton=mr,L.CartProvider=rr,L.ExternalVideo=Ke,L.Image=Je,L.MediaFile=wr,L.ModelViewer=nt,L.Money=Ee,L.ProductPrice=Dr,L.ProductProvider=ur,L.ShopPayButton=Ur,L.ShopifyProvider=qt,L.Video=et,L.createStorefrontClient=Bt,L.flattenConnection=q,L.parseMetafield=Nr,L.storefrontApiCustomScalars=_r,L.useCart=ae,L.useMoney=it,L.useProduct=He,L.useShop=ne,Object.defineProperties(L,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
279
278
|
//# sourceMappingURL=hydrogen-react.prod.js.map
|