@shopify/hydrogen-react 0.0.0-next-3b2dc76 → 0.0.0-next-81b4528
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/dev/MediaFile.js.map +1 -1
- package/dist/dev/MediaFile.mjs.map +1 -1
- package/dist/prod/MediaFile.js.map +1 -1
- package/dist/prod/MediaFile.mjs.map +1 -1
- package/dist/types/MediaFile.d.ts +4 -1
- package/dist/umd/hydrogen-react.dev.js +4 -4
- package/dist/umd/hydrogen-react.dev.js.map +1 -1
- package/dist/umd/hydrogen-react.prod.js +1 -1
- package/dist/umd/hydrogen-react.prod.js.map +1 -1
- package/package.json +1 -1
|
@@ -235,6 +235,6 @@ fragment ImageFragment on Image {
|
|
|
235
235
|
width
|
|
236
236
|
height
|
|
237
237
|
}
|
|
238
|
-
`;var nt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ExternalVideo.tsx";function He(e){var h,s;const{data:r,options:t,id:a=r.id,frameBorder:o="0",allow:i="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:u=!0,loading:n="lazy",...l}=e;if(!r.embedUrl)throw new Error("<ExternalVideo/> requires the 'embedUrl' property");let d=r.embedUrl;if(t){const m=new URL(r.embedUrl);for(const _ of Object.keys(t))m.searchParams.set(_,t[_]);d=m.toString()}return w.default.createElement("iframe",{...l,id:a!=null?a:r.embedUrl,title:(s=(h=r.alt)!=null?h:r.id)!=null?s:"external video",frameBorder:o,allow:i,allowFullScreen:u,src:d,loading:n,__self:this,__source:{fileName:nt,lineNumber:56,columnNumber:5}})}const at=["cdn.shopify.com","cdn.shopifycdn.net","shopify-assets.shopifycdn.com","shopify-assets.shopifycdn.net"],it=["spin.dev"],ot=[...at,...it],re=[352,832,1200,1920,2560];function Be({src:e,width:r,height:t,crop:a,scale:o}){const i=new URL(e),u=o!=null?o:1;if(r){let n;typeof r=="string"?n=(re[0]*u).toString():n=(Number(r)*u).toString(),i.searchParams.append("width",n)}return t&&typeof t=="number"&&i.searchParams.append("height",(t*u).toString()),a&&i.searchParams.append("crop",a),i.toString()}function We(e){const r=new URL(e.src);return!ot.some(a=>r.hostname.endsWith(a))||!e.width&&!e.height&&!e.crop&&!e.scale?e.src:Be(e)}function ut({data:e,loaderOptions:r,elementProps:t}){var o,i,u,n,l,d;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)),(r==null?void 0:r.width)||(r==null?void 0:r.height)?{width:(o=r==null?void 0:r.width)!=null?o:a&&typeof r.height=="number"?Math.round(a*r.height):null,height:(i=r==null?void 0:r.height)!=null?i:a&&typeof r.width=="number"?Math.round(a*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:a&&typeof t.height=="number"?Math.round(a*t.height):null,height:(n=t==null?void 0:t.height)!=null?n:a&&typeof t.width=="number"?Math.round(a*t.width):null}:(e==null?void 0:e.width)||(e==null?void 0:e.height)?{width:(l=e==null?void 0:e.width)!=null?l:null,height:(d=e==null?void 0:e.height)!=null?d:null}:{width:null,height:null}}var ct="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Image.tsx";function ie({data:e,width:r,height:t,loading:a,loader:o=We,loaderOptions:i,widths:u,decoding:n="async",...l}){var p,A,f,S,v,b;if(!e.url){const c=`<Image/>: the 'data' prop requires the 'url' property. Image: ${(p=e.id)!=null?p:"no ID provided"}`;return console.error(c),null}const{width:d,height:h}=ut({data:e,loaderOptions:i,elementProps:{width:r,height:t}});let s=e.url;if(o&&(s=o({...i,src:e.url,width:d,height:h}),typeof s!="string"||!s))throw new Error(`<Image/>: 'loader' did not return a valid string. Image: ${(A=e.id)!=null?A:e.url}`);const m=r&&d&&r<d?r:d,_=(f=l.srcSet)!=null?f:st({...i,widths:u,src:e.url,width:m,height:h,loader:o});return ve.createElement("img",{id:(S=e.id)!=null?S:"",alt:(b=(v=e.altText)!=null?v:l.alt)!=null?b:"",loading:a!=null?a:"lazy",...l,src:s,width:d!=null?d:void 0,height:h!=null?h:void 0,srcSet:_,decoding:n,__self:this,__source:{fileName:ct,lineNumber:150,columnNumber:5}})}function st({src:e,width:r,crop:t,scale:a,widths:o,loader:i,height:u}){const n=o&&Array.isArray(o);if(n&&o.some(s=>isNaN(s)))throw new Error(`<Image/>: the 'widths' must be an array of numbers. Image: ${e}`);let l=1;r&&u&&(l=Number(u)/Number(r));let d=n?o:re;!n&&r&&r<re[re.length-1]&&(d=re.filter(s=>s<=r));const h=i||Be;return d.map(s=>`${h({src:e,width:s,height:t?Number(s)*l:void 0,crop:t,scale:a})} ${s}w`).join(", ")}var Ye="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Video.tsx";function Ee(e){var d,h;const{data:r,previewImageOptions:t,id:a=r.id,playsInline:o=!0,controls:i=!0,sourceProps:u={},...n}=e,l=We({src:(h=(d=r.previewImage)==null?void 0:d.url)!=null?h:"",...t});if(!r.sources)throw new Error("<Video/> requires a 'data.sources' array");return w.default.createElement("video",{...n,id:a,playsInline:o,controls:i,poster:l,__self:this,__source:{fileName:Ye,lineNumber:42,columnNumber:5}},r.sources.map(s=>{if(!((s==null?void 0:s.url)&&(s==null?void 0:s.mimeType)))throw new Error("<Video/> needs 'source.url' and 'source.mimeType'");return w.default.createElement("source",{...u,key:s.url,src:s.url,type:s.mimeType,__self:this,__source:{fileName:Ye,lineNumber:54,columnNumber:11}})}))}const Ge={};function lt(e,r){const t=Ge[e];if(t)return t;const a=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 Ge[e]=a,a}function Ze(e,r){const[t,a]=g.useState("loading"),o=JSON.stringify(r);return g.useEffect(()=>{async function i(){try{a("loading"),await lt(e,r),a("done")}catch{a("error")}}i()},[e,o,r]),t}var dt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ModelViewer.tsx";function Ke(e){var d,h,s,m,_,p,A,f,S,v,b;const[r,t]=g.useState(void 0),a=g.useCallback(c=>{t(c)},[]),{data:o,children:i,className:u,...n}=e,l=Ze("https://unpkg.com/@google/model-viewer@v1.12.1/dist/model-viewer.min.js",{module:!0});return g.useEffect(()=>{if(!!r)return n.onError&&r.addEventListener("error",n.onError),n.onLoad&&r.addEventListener("load",n.onLoad),n.onPreload&&r.addEventListener("preload",n.onPreload),n.onModelVisibility&&r.addEventListener("model-visibility",n.onModelVisibility),n.onProgress&&r.addEventListener("progress",n.onProgress),n.onArStatus&&r.addEventListener("ar-status",n.onArStatus),n.onArTracking&&r.addEventListener("ar-tracking",n.onArTracking),n.onQuickLookButtonTapped&&r.addEventListener("quick-look-button-tapped",n.onQuickLookButtonTapped),n.onCameraChange&&r.addEventListener("camera-change",n.onCameraChange),n.onEnvironmentChange&&r.addEventListener("environment-change",n.onEnvironmentChange),n.onPlay&&r.addEventListener("play",n.onPlay),n.onPause&&r.addEventListener("ar-status",n.onPause),n.onSceneGraphReady&&r.addEventListener("scene-graph-ready",n.onSceneGraphReady),()=>{r!=null&&(n.onError&&r.removeEventListener("error",n.onError),n.onLoad&&r.removeEventListener("load",n.onLoad),n.onPreload&&r.removeEventListener("preload",n.onPreload),n.onModelVisibility&&r.removeEventListener("model-visibility",n.onModelVisibility),n.onProgress&&r.removeEventListener("progress",n.onProgress),n.onArStatus&&r.removeEventListener("ar-status",n.onArStatus),n.onArTracking&&r.removeEventListener("ar-tracking",n.onArTracking),n.onQuickLookButtonTapped&&r.removeEventListener("quick-look-button-tapped",n.onQuickLookButtonTapped),n.onCameraChange&&r.removeEventListener("camera-change",n.onCameraChange),n.onEnvironmentChange&&r.removeEventListener("environment-change",n.onEnvironmentChange),n.onPlay&&r.removeEventListener("play",n.onPlay),n.onPause&&r.removeEventListener("ar-status",n.onPause),n.onSceneGraphReady&&r.removeEventListener("scene-graph-ready",n.onSceneGraphReady))}},[r,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]),l!=="done"?null:(h=(d=o.sources)==null?void 0:d[0])!=null&&h.url?w.default.createElement("model-viewer",{ref:a,...n,className:u,id:(s=n.id)!=null?s:o.id,src:o.sources[0].url,alt:(m=o.alt)!=null?m:null,"camera-controls":(_=n.cameraControls)!=null?_:!0,poster:(A=n.poster||((p=o.previewImage)==null?void 0:p.url))!=null?A:null,autoplay:(f=n.autoplay)!=null?f:!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":(S=n.interpolationDecay)!=null?S:100,"skybox-image":n.skyboxImage,"environment-image":n.environmentImage,exposure:n.exposure,"shadow-intensity":(v=n.shadowIntensity)!=null?v:0,"shadow-softness":(b=n.shadowSoftness)!=null?b:0,"animation-name":n.animationName,"animation-crossfade-duration":n.animationCrossfadeDuration,"variant-name":n.variantName,orientation:n.orientation,scale:n.scale,__self:this,__source:{fileName:dt,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 oe="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/MediaFile.tsx";function ft({data:e,mediaOptions:r,...t}){switch(e.__typename){case"MediaImage":return e.image?w.default.createElement(ie,{...t,...r==null?void 0:r.image,data:e.image,__self:this,__source:{fileName:oe,lineNumber:50,columnNumber:9}}):(console.warn("<MediaFile/>: 'data.image' does not exist for __typename of 'MediaImage'; rendering 'null' by default."),null);case"Video":return w.default.createElement(Ee,{...t,...r==null?void 0:r.video,data:e,__self:this,__source:{fileName:oe,lineNumber:59,columnNumber:9}});case"ExternalVideo":return w.default.createElement(He,{...t,...r==null?void 0:r.externalVideo,data:e,__self:this,__source:{fileName:oe,lineNumber:64,columnNumber:9}});case"Model3d":return w.default.createElement(Ke,{...t,...r==null?void 0:r.modelViewer,data:e,__self:this,__source:{fileName:oe,lineNumber:73,columnNumber:9}});default:return console.error("<MediaFile /> requires the '__typename' property to exist on the 'data' prop in order to correctly render the correct component for this media. Rendering 'null' by default"),null}}var V="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Metafield.tsx";function yt(e){var n,l,d,h,s,m,_,p,A;const{data:r,as:t,...a}=e,{locale:o}=J(),i=g.useMemo(()=>ze(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 ${(n=i.id)!=null?n:i.key}. Rendering 'null'`;return console.warn(f),null}switch(i.type){case"date":{const f=t!=null?t:"time";return w.default.createElement(f,{...a,__self:this,__source:{fileName:V,lineNumber:68,columnNumber:9}},i.value.toLocaleDateString(o))}case"date_time":{const f=t!=null?t:"time";return w.default.createElement(f,{...a,__self:this,__source:{fileName:V,lineNumber:76,columnNumber:9}},i.value.toLocaleString(o))}case"weight":case"dimension":case"volume":{const f=t!=null?t:"span";return w.default.createElement(f,{...a,__self:this,__source:{fileName:V,lineNumber:86,columnNumber:9}},_t(i.value,o))}case"rating":{const f=t!=null?t:"span";return w.default.createElement(f,{...a,__self:this,__source:{fileName:V,lineNumber:94,columnNumber:9}},i.value.value)}case"single_line_text_field":{const f=t!=null?t:"span";return w.default.createElement(f,{...a,dangerouslySetInnerHTML:{__html:i.value},__self:this,__source:{fileName:V,lineNumber:102,columnNumber:9}})}case"multi_line_text_field":{const f=t!=null?t:"div";return w.default.createElement(f,{...a,dangerouslySetInnerHTML:{__html:i.value.split(`
|
|
238
|
+
`;var nt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ExternalVideo.tsx";function He(e){var h,s;const{data:r,options:t,id:a=r.id,frameBorder:o="0",allow:i="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:u=!0,loading:n="lazy",...l}=e;if(!r.embedUrl)throw new Error("<ExternalVideo/> requires the 'embedUrl' property");let d=r.embedUrl;if(t){const m=new URL(r.embedUrl);for(const _ of Object.keys(t))m.searchParams.set(_,t[_]);d=m.toString()}return w.default.createElement("iframe",{...l,id:a!=null?a:r.embedUrl,title:(s=(h=r.alt)!=null?h:r.id)!=null?s:"external video",frameBorder:o,allow:i,allowFullScreen:u,src:d,loading:n,__self:this,__source:{fileName:nt,lineNumber:56,columnNumber:5}})}const at=["cdn.shopify.com","cdn.shopifycdn.net","shopify-assets.shopifycdn.com","shopify-assets.shopifycdn.net"],it=["spin.dev"],ot=[...at,...it],re=[352,832,1200,1920,2560];function Be({src:e,width:r,height:t,crop:a,scale:o}){const i=new URL(e),u=o!=null?o:1;if(r){let n;typeof r=="string"?n=(re[0]*u).toString():n=(Number(r)*u).toString(),i.searchParams.append("width",n)}return t&&typeof t=="number"&&i.searchParams.append("height",(t*u).toString()),a&&i.searchParams.append("crop",a),i.toString()}function We(e){const r=new URL(e.src);return!ot.some(a=>r.hostname.endsWith(a))||!e.width&&!e.height&&!e.crop&&!e.scale?e.src:Be(e)}function ut({data:e,loaderOptions:r,elementProps:t}){var o,i,u,n,l,d;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)),(r==null?void 0:r.width)||(r==null?void 0:r.height)?{width:(o=r==null?void 0:r.width)!=null?o:a&&typeof r.height=="number"?Math.round(a*r.height):null,height:(i=r==null?void 0:r.height)!=null?i:a&&typeof r.width=="number"?Math.round(a*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:a&&typeof t.height=="number"?Math.round(a*t.height):null,height:(n=t==null?void 0:t.height)!=null?n:a&&typeof t.width=="number"?Math.round(a*t.width):null}:(e==null?void 0:e.width)||(e==null?void 0:e.height)?{width:(l=e==null?void 0:e.width)!=null?l:null,height:(d=e==null?void 0:e.height)!=null?d:null}:{width:null,height:null}}var ct="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Image.tsx";function ie({data:e,width:r,height:t,loading:a,loader:o=We,loaderOptions:i,widths:u,decoding:n="async",...l}){var p,A,f,S,v,b;if(!e.url){const c=`<Image/>: the 'data' prop requires the 'url' property. Image: ${(p=e.id)!=null?p:"no ID provided"}`;return console.error(c),null}const{width:d,height:h}=ut({data:e,loaderOptions:i,elementProps:{width:r,height:t}});let s=e.url;if(o&&(s=o({...i,src:e.url,width:d,height:h}),typeof s!="string"||!s))throw new Error(`<Image/>: 'loader' did not return a valid string. Image: ${(A=e.id)!=null?A:e.url}`);const m=r&&d&&r<d?r:d,_=(f=l.srcSet)!=null?f:st({...i,widths:u,src:e.url,width:m,height:h,loader:o});return ve.createElement("img",{id:(S=e.id)!=null?S:"",alt:(b=(v=e.altText)!=null?v:l.alt)!=null?b:"",loading:a!=null?a:"lazy",...l,src:s,width:d!=null?d:void 0,height:h!=null?h:void 0,srcSet:_,decoding:n,__self:this,__source:{fileName:ct,lineNumber:150,columnNumber:5}})}function st({src:e,width:r,crop:t,scale:a,widths:o,loader:i,height:u}){const n=o&&Array.isArray(o);if(n&&o.some(s=>isNaN(s)))throw new Error(`<Image/>: the 'widths' must be an array of numbers. Image: ${e}`);let l=1;r&&u&&(l=Number(u)/Number(r));let d=n?o:re;!n&&r&&r<re[re.length-1]&&(d=re.filter(s=>s<=r));const h=i||Be;return d.map(s=>`${h({src:e,width:s,height:t?Number(s)*l:void 0,crop:t,scale:a})} ${s}w`).join(", ")}var Ye="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Video.tsx";function Ee(e){var d,h;const{data:r,previewImageOptions:t,id:a=r.id,playsInline:o=!0,controls:i=!0,sourceProps:u={},...n}=e,l=We({src:(h=(d=r.previewImage)==null?void 0:d.url)!=null?h:"",...t});if(!r.sources)throw new Error("<Video/> requires a 'data.sources' array");return w.default.createElement("video",{...n,id:a,playsInline:o,controls:i,poster:l,__self:this,__source:{fileName:Ye,lineNumber:42,columnNumber:5}},r.sources.map(s=>{if(!((s==null?void 0:s.url)&&(s==null?void 0:s.mimeType)))throw new Error("<Video/> needs 'source.url' and 'source.mimeType'");return w.default.createElement("source",{...u,key:s.url,src:s.url,type:s.mimeType,__self:this,__source:{fileName:Ye,lineNumber:54,columnNumber:11}})}))}const Ge={};function lt(e,r){const t=Ge[e];if(t)return t;const a=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 Ge[e]=a,a}function Ze(e,r){const[t,a]=g.useState("loading"),o=JSON.stringify(r);return g.useEffect(()=>{async function i(){try{a("loading"),await lt(e,r),a("done")}catch{a("error")}}i()},[e,o,r]),t}var dt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ModelViewer.tsx";function Ke(e){var d,h,s,m,_,p,A,f,S,v,b;const[r,t]=g.useState(void 0),a=g.useCallback(c=>{t(c)},[]),{data:o,children:i,className:u,...n}=e,l=Ze("https://unpkg.com/@google/model-viewer@v1.12.1/dist/model-viewer.min.js",{module:!0});return g.useEffect(()=>{if(!!r)return n.onError&&r.addEventListener("error",n.onError),n.onLoad&&r.addEventListener("load",n.onLoad),n.onPreload&&r.addEventListener("preload",n.onPreload),n.onModelVisibility&&r.addEventListener("model-visibility",n.onModelVisibility),n.onProgress&&r.addEventListener("progress",n.onProgress),n.onArStatus&&r.addEventListener("ar-status",n.onArStatus),n.onArTracking&&r.addEventListener("ar-tracking",n.onArTracking),n.onQuickLookButtonTapped&&r.addEventListener("quick-look-button-tapped",n.onQuickLookButtonTapped),n.onCameraChange&&r.addEventListener("camera-change",n.onCameraChange),n.onEnvironmentChange&&r.addEventListener("environment-change",n.onEnvironmentChange),n.onPlay&&r.addEventListener("play",n.onPlay),n.onPause&&r.addEventListener("ar-status",n.onPause),n.onSceneGraphReady&&r.addEventListener("scene-graph-ready",n.onSceneGraphReady),()=>{r!=null&&(n.onError&&r.removeEventListener("error",n.onError),n.onLoad&&r.removeEventListener("load",n.onLoad),n.onPreload&&r.removeEventListener("preload",n.onPreload),n.onModelVisibility&&r.removeEventListener("model-visibility",n.onModelVisibility),n.onProgress&&r.removeEventListener("progress",n.onProgress),n.onArStatus&&r.removeEventListener("ar-status",n.onArStatus),n.onArTracking&&r.removeEventListener("ar-tracking",n.onArTracking),n.onQuickLookButtonTapped&&r.removeEventListener("quick-look-button-tapped",n.onQuickLookButtonTapped),n.onCameraChange&&r.removeEventListener("camera-change",n.onCameraChange),n.onEnvironmentChange&&r.removeEventListener("environment-change",n.onEnvironmentChange),n.onPlay&&r.removeEventListener("play",n.onPlay),n.onPause&&r.removeEventListener("ar-status",n.onPause),n.onSceneGraphReady&&r.removeEventListener("scene-graph-ready",n.onSceneGraphReady))}},[r,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]),l!=="done"?null:(h=(d=o.sources)==null?void 0:d[0])!=null&&h.url?w.default.createElement("model-viewer",{ref:a,...n,className:u,id:(s=n.id)!=null?s:o.id,src:o.sources[0].url,alt:(m=o.alt)!=null?m:null,"camera-controls":(_=n.cameraControls)!=null?_:!0,poster:(A=n.poster||((p=o.previewImage)==null?void 0:p.url))!=null?A:null,autoplay:(f=n.autoplay)!=null?f:!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":(S=n.interpolationDecay)!=null?S:100,"skybox-image":n.skyboxImage,"environment-image":n.environmentImage,exposure:n.exposure,"shadow-intensity":(v=n.shadowIntensity)!=null?v:0,"shadow-softness":(b=n.shadowSoftness)!=null?b:0,"animation-name":n.animationName,"animation-crossfade-duration":n.animationCrossfadeDuration,"variant-name":n.variantName,orientation:n.orientation,scale:n.scale,__self:this,__source:{fileName:dt,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 oe="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/MediaFile.tsx";function ft({data:e,mediaOptions:r,...t}){switch(e.__typename){case"MediaImage":return e.image?w.default.createElement(ie,{...t,...r==null?void 0:r.image,data:e.image,__self:this,__source:{fileName:oe,lineNumber:54,columnNumber:9}}):(console.warn("<MediaFile/>: 'data.image' does not exist for __typename of 'MediaImage'; rendering 'null' by default."),null);case"Video":return w.default.createElement(Ee,{...t,...r==null?void 0:r.video,data:e,__self:this,__source:{fileName:oe,lineNumber:63,columnNumber:9}});case"ExternalVideo":return w.default.createElement(He,{...t,...r==null?void 0:r.externalVideo,data:e,__self:this,__source:{fileName:oe,lineNumber:68,columnNumber:9}});case"Model3d":return w.default.createElement(Ke,{...t,...r==null?void 0:r.modelViewer,data:e,__self:this,__source:{fileName:oe,lineNumber:78,columnNumber:9}});default:return console.error("<MediaFile /> requires the '__typename' property to exist on the 'data' prop in order to correctly render the correct component for this media. Rendering 'null' by default"),null}}var V="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Metafield.tsx";function yt(e){var n,l,d,h,s,m,_,p,A;const{data:r,as:t,...a}=e,{locale:o}=J(),i=g.useMemo(()=>ze(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 ${(n=i.id)!=null?n:i.key}. Rendering 'null'`;return console.warn(f),null}switch(i.type){case"date":{const f=t!=null?t:"time";return w.default.createElement(f,{...a,__self:this,__source:{fileName:V,lineNumber:68,columnNumber:9}},i.value.toLocaleDateString(o))}case"date_time":{const f=t!=null?t:"time";return w.default.createElement(f,{...a,__self:this,__source:{fileName:V,lineNumber:76,columnNumber:9}},i.value.toLocaleString(o))}case"weight":case"dimension":case"volume":{const f=t!=null?t:"span";return w.default.createElement(f,{...a,__self:this,__source:{fileName:V,lineNumber:86,columnNumber:9}},_t(i.value,o))}case"rating":{const f=t!=null?t:"span";return w.default.createElement(f,{...a,__self:this,__source:{fileName:V,lineNumber:94,columnNumber:9}},i.value.value)}case"single_line_text_field":{const f=t!=null?t:"span";return w.default.createElement(f,{...a,dangerouslySetInnerHTML:{__html:i.value},__self:this,__source:{fileName:V,lineNumber:102,columnNumber:9}})}case"multi_line_text_field":{const f=t!=null?t:"div";return w.default.createElement(f,{...a,dangerouslySetInnerHTML:{__html:i.value.split(`
|
|
239
239
|
`).join("<br/>")},__self:this,__source:{fileName:V,lineNumber:111,columnNumber:9}})}case"url":{const f=new URL(i.value);return w.default.createElement("a",{href:f.href.replace(f.protocol,""),...a,__self:this,__source:{fileName:V,lineNumber:122,columnNumber:9}},i.value)}case"json":{const f=t!=null?t:"span";return w.default.createElement(f,{...a,__self:this,__source:{fileName:V,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 w.default.createElement(f,{...a,__self:this,__source:{fileName:V,lineNumber:144,columnNumber:9}},(d=(l=S==null?void 0:S.title)!=null?l:S==null?void 0:S.id)!=null?d:"")}case"list.single_line_text_field":{const f=t!=null?t:"ul",S=i.references?x(i.references):[];return w.default.createElement(f,{...a,__self:this,__source:{fileName:V,lineNumber:154,columnNumber:9}},S.map((v,b)=>w.default.createElement("li",{key:`${v!=null?v:""}-${b}`,__self:this,__source:{fileName:V,lineNumber:158,columnNumber:13}},v)))}case"file_reference":if(((h=i.reference)==null?void 0:h.__typename)==="MediaImage"){const f=i.reference;return f.image?w.default.createElement(ie,{data:f.image,...a,__self:this,__source:{fileName:V,lineNumber:167,columnNumber:11}}):null}else if(((s=i.reference)==null?void 0:s.__typename)==="GenericFile"){const f=i.reference;return f.previewImage?w.default.createElement("a",{href:(_=(m=i.reference)==null?void 0:m.url)!=null?_:"",...a,__self:this,__source:{fileName:V,lineNumber:172,columnNumber:11}},w.default.createElement(ie,{data:f.previewImage,__self:this,__source:{fileName:V,lineNumber:173,columnNumber:13}})):null}else if(((p=i.reference)==null?void 0:p.__typename)==="Video"){const f=i.reference;return w.default.createElement(Ee,{...a,data:f,__self:this,__source:{fileName:V,lineNumber:178,columnNumber:16}})}}const u=t!=null?t:"span";return w.default.createElement(u,{...a,__self:this,__source:{fileName:V,lineNumber:185,columnNumber:5}},(A=i.value)==null?void 0:A.toString())}function ze(e){return e?{...e,value:Qe(e)}:null}function Qe(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 pe(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 pe(e){return String(e).includes("__proto__")?JSON.parse(e,(r,t)=>{if(r!=="__proto__")return t}):JSON.parse(e)}const mt={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 _t(e,r="en-us",t={}){let a={value:e.value,unit:mt[e.unit]};return a.unit==null&&(a=ht(e.value,e.unit)),new Intl.NumberFormat(r,{...t,unit:a.unit,style:"unit"}).format(a.value)}function ht(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 gt(e){var r,t,a,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=pe((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=pe((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: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 Xe(e){const{locale:r}=J();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),a=g.useMemo(()=>({style:"currency",currency:e.currencyCode}),[e.currencyCode]),o=Z(r,a),i=Z(r,{...a,currencyDisplay:"name"}),u=Z(r,{...a,currencyDisplay:"narrowSymbol"}),n=Z(r,{...a,minimumFractionDigits:0,maximumFractionDigits:0}),l=Z(r),d=Z(r,{minimumFractionDigits:0,maximumFractionDigits:0}),h=m=>m.type==="currency",s=g.useMemo(()=>({original:()=>e,currencyCode:()=>e.currencyCode,localizedString:()=>o().format(t),parts:()=>o().formatToParts(t),withoutTrailingZeros:()=>t%1===0?n().format(t):o().format(t),withoutTrailingZerosAndCurrency:()=>t%1===0?d().format(t):l().format(t),currencyName:()=>{var m,_;return(_=(m=i().formatToParts(t).find(h))==null?void 0:m.value)!=null?_:e.currencyCode},currencySymbol:()=>{var m,_;return(_=(m=o().formatToParts(t).find(h))==null?void 0:m.value)!=null?_:e.currencyCode},currencyNarrowSymbol:()=>{var m,_;return(_=(m=u().formatToParts(t).find(h))==null?void 0:m.value)!=null?_:""},amount:()=>o().formatToParts(t).filter(m=>["decimal","fraction","group","integer","literal"].includes(m.type)).map(m=>m.value).join("")}),[e,t,i,o,u,l,n,d]);return g.useMemo(()=>new Proxy(s,{get:(m,_)=>{var p;return(p=Reflect.get(m,_))==null?void 0:p.call(null)}}),[s])}function Z(e,r){return g.useMemo(()=>{let t;return()=>t!=null?t:t=new Intl.NumberFormat(e,r)},[e,r])}var Et="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/Money.tsx";function Se({data:e,as:r,withoutCurrency:t,withoutTrailingZeros:a,measurement:o,measurementSeparator:i="/",...u}){if(!pt(e))throw new Error("<Money/> needs a valid 'data' prop that has 'amount' and 'currencyCode'");const n=Xe(e),l=r!=null?r:"div";let d=n.localizedString;return(t||a)&&(t&&!a?d=n.amount:!t&&a?d=n.withoutTrailingZeros:d=n.withoutTrailingZerosAndCurrency),w.default.createElement(l,{...u,__self:this,__source:{fileName:Et,lineNumber:65,columnNumber:5}},d,o&&o.referenceUnit&&w.default.createElement(w.default.Fragment,null,i,o.referenceUnit))}function pt(e){return typeof e.amount=="string"&&!!e.amount&&typeof e.currencyCode=="string"&&!!e.currencyCode}var Je="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductPrice.tsx";function St(e){var d,h,s,m,_,p,A,f;const{priceType:r="regular",variantId:t,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 l=t&&(h=x((d=o==null?void 0:o.variants)!=null?d:{}).find(S=>(S==null?void 0:S.id)===t))!=null?h:null;if(r==="compareAt")if(t&&l){if(((s=l.compareAtPriceV2)==null?void 0:s.amount)===((m=l.priceV2)==null?void 0:m.amount))return null;u=l.compareAtPriceV2}else a==="max"?u=(_=o==null?void 0:o.compareAtPriceRange)==null?void 0:_.maxVariantPrice:u=(p=o==null?void 0:o.compareAtPriceRange)==null?void 0:p.minVariantPrice;else t&&l?(u=l.priceV2,a==="unit"&&(u=l.unitPrice,n=l.unitPriceMeasurement)):a==="max"?u=(A=o.priceRange)==null?void 0:A.maxVariantPrice:u=(f=o.priceRange)==null?void 0:f.minVariantPrice;return u?n?w.default.createElement(Se,{...i,data:u,measurement:n,__self:this,__source:{fileName:Je,lineNumber:81,columnNumber:7}}):w.default.createElement(Se,{...i,data:u,__self:this,__source:{fileName:Je,lineNumber:85,columnNumber:10}}):null}var vt="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ProductProvider.tsx";const er=g.createContext(null);function bt({children:e,data:r,initialVariantId:t}){const a=g.useMemo(()=>{var f;return x((f=r.variants)!=null?f:{})},[r.variants]);if(!At(a))throw new Error("<ProductProvider/> requires 'product.variants.nodes' or 'product.variants.edges'");const o=g.useMemo(()=>Ct(a),[a]),[i,u]=g.useState(()=>tr(t,a)),[n,l]=g.useState(()=>nr(i));g.useEffect(()=>{const f=tr(t,a);u(f),l(nr(f))},[t,a]);const d=g.useCallback((f,S)=>{l(v=>{const b={...v,[f]:S};return u(rr(a,b)),b})},[l,a]),h=g.useCallback((f,S)=>{var b;const v=rr(a,{...n,[f]:S});return(b=v==null?void 0:v.availableForSale)!=null?b:!0},[n,a]),s=g.useMemo(()=>{var f;return x((f=r.sellingPlanGroups)!=null?f:{}).map(S=>{var v;return{...S,sellingPlans:x((v=S==null?void 0:S.sellingPlans)!=null?v:{})}})},[r.sellingPlanGroups]),[m,_]=g.useState(void 0),p=g.useMemo(()=>{var f,S;if(!(!i||!m)){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(v=>{var b;return((b=v==null?void 0:v.sellingPlan)==null?void 0:b.id)===m.id})}},[i,m]),A=g.useMemo(()=>({variants:a,variantsConnection:r.variants,options:o,selectedVariant:i,setSelectedVariant:u,selectedOptions:n,setSelectedOption:d,setSelectedOptions:l,isOptionInStock:h,selectedSellingPlan:m,setSelectedSellingPlan:_,selectedSellingPlanAllocation:p,sellingPlanGroups:s,sellingPlanGroupsConnection:r.sellingPlanGroups}),[h,o,r.sellingPlanGroups,r.variants,n,m,p,i,s,d,a]);return w.default.createElement(er.Provider,{value:A,__self:this,__source:{fileName:vt,lineNumber:201,columnNumber:5}},e)}function Tt(){const e=g.useContext(er);if(!e)throw new Error("'useProduct' must be a child of <ProductProvider />");return e}function rr(e,r){var t,a;if(!(!e.length||((a=(t=e==null?void 0:e[0])==null?void 0:t.selectedOptions)==null?void 0:a.length)!==Object.keys(r).length))return e==null?void 0:e.find(o=>Object.entries(r).every(([i,u])=>{var n;return(n=o==null?void 0:o.selectedOptions)==null?void 0:n.some(l=>(l==null?void 0:l.name)===i&&(l==null?void 0:l.value)===u)}))}function Ct(e){const r=e.reduce((t,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,l,d;t[(u=i==null?void 0:i.name)!=null?u:""]=t[(n=i==null?void 0:i.name)!=null?n:""]||new Set,t[(l=i==null?void 0:i.name)!=null?l:""].add((d=i==null?void 0:i.value)!=null?d:"")}),t},{});return Object.keys(r).map(t=>({name:t,values:Array.from(r[t])}))}function tr(e,r){if(e){const t=r.find(a=>(a==null?void 0:a.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 nr(e){return e!=null&&e.selectedOptions?e.selectedOptions.reduce((r,t)=>{var a,o;return r[(a=t==null?void 0:t.name)!=null?a:""]=(o=t==null?void 0:t.value)!=null?o:"",r},{}):{}}function At(e){return!(!e||!Array.isArray(e))}var ar="/home/runner/work/hydrogen-ui/hydrogen-ui/packages/react/src/ShopPayButton.tsx";const Nt="https://cdn.shopify.com/shopifycloud/shop-js/v1.0/client.js";function wt({variantIds:e,className:r,variantIdsAndQuantities:t,width:a}){const{storeDomain:o}=J(),i=Ze(Nt);let u;if(e&&t)throw new Error(Ot);if(e)u=e.reduce((l,d)=>{const h=ir(d);return h&&l.push(h),l},[]);else if(t)u=t.reduce((l,d)=>{var s;const h=ir(d==null?void 0:d.id);return h&&l.push(`${h}:${(s=d==null?void 0:d.quantity)!=null?s:1}`),l},[]);else throw new Error(It);const n=a?{"--shop-pay-button-width":a}:void 0;return w.default.createElement("div",{className:r,style:n,__self:this,__source:{fileName:ar,lineNumber:90,columnNumber:5}},i==="done"&&w.default.createElement("shop-pay-button",{"store-url":`https://${o}`,variants:u.join(","),__self:this,__source:{fileName:ar,lineNumber:92,columnNumber:9}}))}function ir(e){if(!!e)return e.split("/").pop()}const It='You must pass in either "variantIds" or "variantIdsAndQuantities" to ShopPayButton',Ot="You must provide either a variantIds or variantIdsAndQuantities prop, but not both in the ShopPayButton component";function Dt({storeDomain:e,privateStorefrontToken:r,publicStorefrontToken:t,storefrontApiVersion:a,contentType:o}){return a!==X&&console.warn(`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 "${X}"`),{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,l,d;if(!r&&!(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":(d=(l=i==null?void 0:i.privateStorefrontToken)!=null?l:r)!=null?d:"",...i!=null&&i.buyerIp?{"Shopify-Storefront-Buyer-IP":i.buyerIp}:{}}},getPublicTokenHeaders(i){var n,l,d;if(!t&&!(i!=null&&i.publicStorefrontToken))throw new Error("StorefrontClient: You did not pass in a 'publicStorefrontToken' while using 'getPublicTokenHeaders()'");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,"X-Shopify-Storefront-Access-Token":(d=(l=i==null?void 0:i.publicStorefrontToken)!=null?l:t)!=null?d:""}}}}L.CartProvider=Xr,L.ExternalVideo=He,L.Image=ie,L.MediaFile=ft,L.Metafield=yt,L.ModelViewer=Ke,L.Money=Se,L.ProductPrice=St,L.ProductProvider=bt,L.ShopPayButton=wt,L.ShopifyProvider=$r,L.Video=Ee,L.createStorefrontClient=Dt,L.flattenConnection=x,L.metafieldParser=gt,L.parseMetafield=ze,L.parseMetafieldValue=Qe,L.useCart=Qr,L.useMoney=Xe,L.useProduct=Tt,L.useShop=J,Object.defineProperties(L,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
240
240
|
//# sourceMappingURL=hydrogen-react.prod.js.map
|