@crossmint/client-sdk-react-ui 1.3.12 → 1.3.13

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/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var zt=Object.create;var v=Object.defineProperty,Qt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptor,Zt=Object.getOwnPropertyDescriptors,te=Object.getOwnPropertyNames,R=Object.getOwnPropertySymbols,ee=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty,rt=Object.prototype.propertyIsEnumerable;var ot=(t,e,o)=>e in t?v(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,m=(t,e)=>{for(var o in e||(e={}))K.call(e,o)&&ot(t,o,e[o]);if(R)for(var o of R(e))rt.call(e,o)&&ot(t,o,e[o]);return t},F=(t,e)=>Qt(t,Zt(e));var y=(t,e)=>{var o={};for(var r in t)K.call(t,r)&&e.indexOf(r)<0&&(o[r]=t[r]);if(t!=null&&R)for(var r of R(t))e.indexOf(r)<0&&rt.call(t,r)&&(o[r]=t[r]);return o};var oe=(t,e)=>{for(var o in e)v(t,o,{get:e[o],enumerable:!0})},nt=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of te(e))!K.call(t,i)&&i!==o&&v(t,i,{get:()=>e[i],enumerable:!(r=Xt(e,i))||r.enumerable});return t};var O=(t,e,o)=>(o=t!=null?zt(ee(t)):{},nt(e||!t||!t.__esModule?v(o,"default",{value:t,enumerable:!0}):o,t)),re=t=>nt(v({},"__esModule",{value:!0}),t);var g=(t,e,o)=>new Promise((r,i)=>{var u=s=>{try{d(o.next(s))}catch(n){i(n)}},c=s=>{try{d(o.throw(s))}catch(n){i(n)}},d=s=>s.done?r(s.value):Promise.resolve(s.value).then(u,c);d((o=o.apply(t,e)).next())});var pe={};oe(pe,{Chain:()=>Rt.Chain,CrossmintAuthProvider:()=>Ce,CrossmintEvents:()=>U.CrossmintEvents,CrossmintNFTCollectionView:()=>ne,CrossmintNFTDetail:()=>se,CrossmintPayButton:()=>me,CrossmintPaymentElement:()=>ie,CrossmintProvider:()=>ce,CrossmintWalletProvider:()=>Q,WalletContext:()=>H,useAuth:()=>Wt.useAuth,useCrossmint:()=>x,useCrossmintEvents:()=>U.useCrossmintEvents,useWallet:()=>ue});module.exports=re(pe);var B=require("@crossmint/client-sdk-base");var w="1.3.12";var st=require("react/jsx-runtime");function ne(t){(0,B.assertValidNFTCollectionViewProps)(t);let e=(0,B.getNFTCollectionViewSrc)(t,w);return(0,st.jsx)("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}var A=require("@crossmint/client-sdk-base");var it=require("react/jsx-runtime");function se(t){(0,A.assertValidValidateNFTDetailProps)(t);let e=(0,A.getNFTDetailSrc)(t,w);return(0,it.jsx)("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}var _=require("@crossmint/client-sdk-base");var dt=require("@crossmint/client-sdk-base");var mt=O(require("bs58"),1),f=require("@crossmint/client-sdk-base");var at=O(require("lodash.isequal"),1),L=require("react");function k(t,e){let o=(0,L.useRef)(e);(0,L.useEffect)(()=>{if(e.some((i,u)=>!(0,at.default)(i,o.current[u])))return o.current=e,t()},[e])}var P=require("react"),V=require("@crossmint/client-sdk-base");var lt=require("react/jsx-runtime");function I(o){var r=o,{onInternalEvent:t}=r,e=y(r,["onInternalEvent"]);let{getUrl:i,listenToEvents:u,listenToInternalEvents:c}=(0,V.crossmintIFrameService)(e),[d,s]=(0,P.useState)(0),[n]=(0,P.useState)(i(e));return(0,P.useEffect)(()=>{let l=u(a=>{var C;return(C=e.onEvent)==null?void 0:C.call(e,a.data)});return()=>{l()}},[]),(0,P.useEffect)(()=>{let l=c(a=>{let{type:C,payload:S}=a.data;C===V.IncomingInternalEvents.UI_HEIGHT_CHANGED&&s(S.height),t==null||t(a.data)});return()=>{l()}},[]),(0,lt.jsx)("iframe",{src:n,id:"crossmint-embedded-checkout.iframe",role:"crossmint-embedded-checkout.iframe",allow:"payment *",style:{boxShadow:"none",border:"none",padding:"0px",width:"100%",minWidth:"100%",overflow:"hidden",display:"block",userSelect:"none",transform:"translate(0px)",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${d}px`}})}var ct=require("react/jsx-runtime");function $(t){let{emitInternalEvent:e}=(0,f.crossmintIFrameService)(t),{signer:o,paymentMethod:r}=t;function i(s){let{type:n,payload:l}=s;if(n===f.IncomingInternalEvents.CRYPTO_PAYMENT_INCOMING_TRANSACTION){let{serializedTransaction:a}=l;console.log("[Crossmint] Received incoming transaction",a),u(a)}if(n===f.IncomingInternalEvents.CRYPTO_CHAIN_SWITCH){let{chain:a}=l;console.log("[Crossmint] Received change of chain",a);let C=o.handleChainSwitch;if(C==null)throw new Error("switchNetwork function should have been defined");C(a)}}function u(s){return g(this,null,function*(){try{let n;switch(r){case"SOL":n=yield c(o,s);break;case"ETH":n=yield d(o,s);break;default:throw new Error(`Unsupported payment method ${r}`)}console.log("[Crossmint] Signed and sent transaction",n),e({type:f.OutgoingInternalEvents.CRYPTO_PAYMENT_USER_ACCEPTED,payload:{txId:n}})}catch(n){console.error("[Crossmint] Failed to sign and send transaction",n),e({type:f.OutgoingInternalEvents.CRYPTO_PAYMENT_USER_REJECTED,payload:{}})}})}function c(s,n){return g(this,null,function*(){let{Transaction:l}=yield import("@solana/web3.js"),a=l.from(mt.default.decode(n));return console.log("[Crossmint] Deserialized SOL transaction",a),yield s.signAndSendTransaction(a)})}function d(s,n){return g(this,null,function*(){let{parse:l}=yield import("@ethersproject/transactions"),a=l(n);return console.log("[Crossmint] Deserialized ETH transaction",a),yield s.signAndSendTransaction(a)})}return k(()=>{e({type:"params-update",payload:(0,f.embeddedCheckoutPropsToUpdatableParamsPayload)(t)})},[t.signer.address,t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs,..."chain"in t.signer?[t.signer.chain]:[]]),(0,ct.jsx)(I,m({onInternalEvent:i},t))}var Ct=require("react/jsx-runtime");function ut(t){if(!(0,dt.isCryptoEmbeddedCheckoutPropsWithSigner)(t))throw new Error("Invalid parameters: signer is required in versions < 2.0.0");return(0,Ct.jsx)($,m({},t))}var M=require("@crossmint/client-sdk-base");var pt=require("react/jsx-runtime");function j(t){let{emitInternalEvent:e}=(0,M.crossmintIFrameService)(t);return k(()=>{e({type:"params-update",payload:(0,M.embeddedCheckoutPropsToUpdatableParamsPayload)(t)})},[t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs]),(0,pt.jsx)(I,m({},t))}var gt=require("react/jsx-runtime");function ft(t){return(0,gt.jsx)(j,m({},t))}var q=require("react/jsx-runtime");function ie(t){if((0,_.isFiatEmbeddedCheckoutProps)(t))return(0,q.jsx)(ft,m({},t));if((0,_.isCryptoEmbeddedCheckoutProps)(t))return(0,q.jsx)(ut,m({},t));throw new Error("Unsupported: Fiat is the only supported payment method.")}var Pt=require("react"),bt=require("react"),b=require("@crossmint/client-sdk-base");var D=require("react");function z(){let[t,e]=(0,D.useState)(!0);return(0,D.useEffect)(()=>{e(!1)},[]),{isServerSideRendering:t}}var Et=require("react-jss"),ae="#1e1e1e",ht=t=>t==="light",yt=t=>({buttonBgColor:ht(t)?"white":ae,paragraphColor:ht(t)?"black":"white"}),le={"@global":{"@import":"url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap')"},crossmintButton:{display:"flex","flex-direction":"row","align-items":"center",padding:"0.875rem 0.875rem","font-weight":"900",transition:"opacity ease-in-out 0.25s","border-radius":"0.5rem","font-family":'"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif',outline:"none",border:"none","box-shadow":"0px 8px 15px rgba(0, 0, 0, 0.1)","justify-content":"center",background:({buttonBgColor:t})=>t,"&:hover:enabled":{opacity:"0.6",cursor:"pointer"}},crossmintImg:{width:"21px",height:"21px","margin-right":"0.875rem"},crossmintParagraph:{color:({paragraphColor:t})=>t,margin:"0"}},wt=(0,Et.createUseStyles)(le);var h=require("react/jsx-runtime");function me(t){let et=t,{className:e,disabled:o,onClick:r,style:i,tabIndex:u,theme:c="dark",mintTo:d,emailTo:s,listingId:n,auctionId:l,showOverlay:a=!0,mintConfig:C,whPassThroughArgs:S,environment:Ft,paymentMethod:W,preferredSigninMethod:Ot,dismissOverlayOnClick:Bt,prepay:At,locale:Z="en-US",currency:Lt="usd",successCallbackURL:Vt="",failureCallbackURL:Mt="",loginEmail:_t="",projectId:Dt,getButtonText:G,checkoutProps:tt={experimental:!1,display:"same-tab",paymentMethods:["fiat","ETH","SOL"]}}=et,Y=y(et,["className","disabled","onClick","style","tabIndex","theme","mintTo","emailTo","listingId","auctionId","showOverlay","mintConfig","whPassThroughArgs","environment","paymentMethod","preferredSigninMethod","dismissOverlayOnClick","prepay","locale","currency","successCallbackURL","failureCallbackURL","loginEmail","projectId","getButtonText","checkoutProps"]),Ht="clientId"in Y?Y.clientId:Y.collectionId,[N,Ut]=(0,bt.useState)(!1),{isServerSideRendering:Gt}=z(),{connect:Yt}=(0,b.crossmintModalService)({clientId:Ht,projectId:Dt,showOverlay:a,dismissOverlayOnClick:Bt,setConnecting:Ut,libVersion:w,environment:Ft,clientName:b.clientNames.reactUi,locale:Z,currency:Lt,successCallbackURL:Vt,failureCallbackURL:Mt,loginEmail:_t}),{getButtonText:Jt,handleClick:Kt}=(0,b.crossmintPayButtonService)({onClick:r,connecting:N,paymentMethod:W,locale:Z,checkoutProps:tt}),$t=qt=>Kt(qt,()=>{Yt(C,d,s,n,S,W,Ot,At,tt)}),J=wt(yt(c)),jt=(0,Pt.useMemo)(()=>(0,h.jsx)("span",{className:J.crossmintParagraph,role:"button-paragraph",children:G!=null?G(N,W||"fiat"):Jt(N)}),[N,G,W]);return(0,h.jsx)(h.Fragment,{children:!Gt&&(0,h.jsxs)("button",{className:`${J.crossmintButton} ${e||""}`,disabled:o,onClick:$t,style:m({},i),tabIndex:u,children:[(0,h.jsx)("img",{className:J.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),jt]})})}var p=require("react"),St=require("@crossmint/client-sdk-auth-core/client"),vt=require("@crossmint/common-sdk-base");var It=require("react/jsx-runtime"),kt=(0,p.createContext)(null);function ce(o){var r=o,{children:t}=r,e=y(r,["children"]);var n;let[i,u]=(0,p.useState)(0),c=(0,p.useRef)(new Proxy((0,vt.createCrossmint)(F(m({},e),{jwt:(n=e.jwt)!=null?n:(0,St.getCachedJwt)()})),{set(l,a,C){return a==="jwt"&&l.jwt!==C&&u(S=>S+1),Reflect.set(l,a,C)}})),d=(0,p.useCallback)(l=>{l!==c.current.jwt&&(c.current.jwt=l)},[]),s=(0,p.useMemo)(()=>({get crossmint(){return c.current},setJwt:d}),[d,i]);return(0,It.jsx)(kt.Provider,{value:s,children:t})}function x(t){let e=(0,p.useContext)(kt);if(e==null)throw new Error(t!=null?t:"useCrossmint must be used within a CrossmintProvider");return e}var E=require("react"),T=require("@crossmint/client-sdk-smart-wallet");var xt=require("react/jsx-runtime");function de(t){if(t instanceof T.SmartWalletError)return{status:"loading-error",error:t};let e=t instanceof Error?t.message:String(t),o=t instanceof Error?t.stack:void 0;return{status:"loading-error",error:new T.SmartWalletError(`Unknown Wallet Error: ${e}`,o)}}var H=(0,E.createContext)({status:"not-loaded",getOrCreateWallet:()=>g(void 0,null,function*(){})});function Q({children:t,config:e}){let{crossmint:o}=x("CrossmintWalletProvider must be used within CrossmintProvider"),[r,i]=(0,E.useState)({status:"not-loaded"}),u=(0,E.useMemo)(()=>T.SmartWalletSDK.init({clientApiKey:o.apiKey}),[o.apiKey]),c=s=>g(this,null,function*(){try{i({status:"in-progress"});let n=yield u.getOrCreateWallet({jwt:s},e.defaultChain);i({status:"loaded",wallet:n})}catch(n){console.error("There was an error creating a wallet ",n),i(de(n))}});(0,E.useEffect)(()=>{if(e.createOnLogin==="all-users"&&o.jwt!=null&&r.status==="not-loaded"){console.log("Getting or Creating wallet"),c(o.jwt);return}if(r.status==="loaded"&&o.jwt==null){console.log("Clearing wallet"),i({status:"not-loaded"});return}},[o.jwt,e.createOnLogin,r.status]);let d=()=>g(this,null,function*(){if(o.jwt==null){console.log("No authenticated user, not creating wallet.");return}if(r.status==="loaded"||r.status==="in-progress"){console.log("Wallet is already loaded, or is currently loading.");return}return c(o.jwt)});return(0,xt.jsx)(H.Provider,{value:F(m({},r),{getOrCreateWallet:d}),children:t})}var Tt=require("react");function ue(){let t=(0,Tt.useContext)(H);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}var Wt=require("@crossmint/client-sdk-auth-core/client");var Nt=require("@crossmint/client-sdk-auth-core/client");var X=require("react/jsx-runtime");function Ce({embeddedWallets:t,children:e}){let{crossmint:o,setJwt:r}=x("CrossmintAuthProvider must be used within CrossmintProvider");return(0,X.jsx)(Nt.AuthProvider,{setJwtToken:r,crossmint:o,children:(0,X.jsx)(Q,{config:t,children:e})})}var U=require("@crossmint/client-sdk-base"),Rt=require("@crossmint/client-sdk-smart-wallet");0&&(module.exports={Chain,CrossmintAuthProvider,CrossmintEvents,CrossmintNFTCollectionView,CrossmintNFTDetail,CrossmintPayButton,CrossmintPaymentElement,CrossmintProvider,CrossmintWalletProvider,WalletContext,useAuth,useCrossmint,useCrossmintEvents,useWallet});
1
+ "use strict";var zt=Object.create;var v=Object.defineProperty,Qt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptor,Zt=Object.getOwnPropertyDescriptors,te=Object.getOwnPropertyNames,R=Object.getOwnPropertySymbols,ee=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty,rt=Object.prototype.propertyIsEnumerable;var ot=(t,e,o)=>e in t?v(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,m=(t,e)=>{for(var o in e||(e={}))K.call(e,o)&&ot(t,o,e[o]);if(R)for(var o of R(e))rt.call(e,o)&&ot(t,o,e[o]);return t},F=(t,e)=>Qt(t,Zt(e));var y=(t,e)=>{var o={};for(var r in t)K.call(t,r)&&e.indexOf(r)<0&&(o[r]=t[r]);if(t!=null&&R)for(var r of R(t))e.indexOf(r)<0&&rt.call(t,r)&&(o[r]=t[r]);return o};var oe=(t,e)=>{for(var o in e)v(t,o,{get:e[o],enumerable:!0})},nt=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of te(e))!K.call(t,s)&&s!==o&&v(t,s,{get:()=>e[s],enumerable:!(r=Xt(e,s))||r.enumerable});return t};var O=(t,e,o)=>(o=t!=null?zt(ee(t)):{},nt(e||!t||!t.__esModule?v(o,"default",{value:t,enumerable:!0}):o,t)),re=t=>nt(v({},"__esModule",{value:!0}),t);var g=(t,e,o)=>new Promise((r,s)=>{var u=i=>{try{d(o.next(i))}catch(n){s(n)}},c=i=>{try{d(o.throw(i))}catch(n){s(n)}},d=i=>i.done?r(i.value):Promise.resolve(i.value).then(u,c);d((o=o.apply(t,e)).next())});var pe={};oe(pe,{Chain:()=>Rt.Chain,CrossmintAuthProvider:()=>Ce,CrossmintEvents:()=>H.CrossmintEvents,CrossmintNFTCollectionView:()=>ne,CrossmintNFTDetail:()=>se,CrossmintPayButton:()=>me,CrossmintPaymentElement:()=>ie,CrossmintProvider:()=>ce,CrossmintWalletProvider:()=>Q,WalletContext:()=>U,useAuth:()=>Wt.useAuth,useCrossmint:()=>x,useCrossmintEvents:()=>H.useCrossmintEvents,useWallet:()=>ue});module.exports=re(pe);var B=require("@crossmint/client-sdk-base");var P="1.3.13";var st=require("react/jsx-runtime");function ne(t){(0,B.assertValidNFTCollectionViewProps)(t);let e=(0,B.getNFTCollectionViewSrc)(t,P);return(0,st.jsx)("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}var A=require("@crossmint/client-sdk-base");var it=require("react/jsx-runtime");function se(t){(0,A.assertValidValidateNFTDetailProps)(t);let e=(0,A.getNFTDetailSrc)(t,P);return(0,it.jsx)("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}var _=require("@crossmint/client-sdk-base");var dt=require("@crossmint/client-sdk-base");var mt=O(require("bs58"),1),f=require("@crossmint/client-sdk-base");var at=O(require("lodash.isequal"),1),L=require("react");function I(t,e){let o=(0,L.useRef)(e);(0,L.useEffect)(()=>{if(e.some((s,u)=>!(0,at.default)(s,o.current[u])))return o.current=e,t()},[e])}var w=require("react"),V=require("@crossmint/client-sdk-base");var lt=require("react/jsx-runtime");function k(o){var r=o,{onInternalEvent:t}=r,e=y(r,["onInternalEvent"]);let{getUrl:s,listenToEvents:u,listenToInternalEvents:c}=(0,V.crossmintIFrameService)(e),[d,i]=(0,w.useState)(0),[n]=(0,w.useState)(s(e));return(0,w.useEffect)(()=>{let l=u(a=>{var C;return(C=e.onEvent)==null?void 0:C.call(e,a.data)});return()=>{l()}},[]),(0,w.useEffect)(()=>{let l=c(a=>{let{type:C,payload:S}=a.data;C===V.IncomingInternalEvents.UI_HEIGHT_CHANGED&&i(S.height),t==null||t(a.data)});return()=>{l()}},[]),(0,lt.jsx)("iframe",{src:n,id:"crossmint-embedded-checkout.iframe",role:"crossmint-embedded-checkout.iframe",allow:"payment *",style:{boxShadow:"none",border:"none",padding:"0px",width:"100%",minWidth:"100%",overflow:"hidden",display:"block",userSelect:"none",transform:"translate(0px)",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${d}px`}})}var ct=require("react/jsx-runtime");function $(t){let{emitInternalEvent:e}=(0,f.crossmintIFrameService)(t),{signer:o,paymentMethod:r}=t;function s(i){let{type:n,payload:l}=i;if(n===f.IncomingInternalEvents.CRYPTO_PAYMENT_INCOMING_TRANSACTION){let{serializedTransaction:a}=l;console.log("[Crossmint] Received incoming transaction",a),u(a)}if(n===f.IncomingInternalEvents.CRYPTO_CHAIN_SWITCH){let{chain:a}=l;console.log("[Crossmint] Received change of chain",a);let C=o.handleChainSwitch;if(C==null)throw new Error("switchNetwork function should have been defined");C(a)}}function u(i){return g(this,null,function*(){try{let n;switch(r){case"SOL":n=yield c(o,i);break;case"ETH":n=yield d(o,i);break;default:throw new Error(`Unsupported payment method ${r}`)}console.log("[Crossmint] Signed and sent transaction",n),e({type:f.OutgoingInternalEvents.CRYPTO_PAYMENT_USER_ACCEPTED,payload:{txId:n}})}catch(n){console.error("[Crossmint] Failed to sign and send transaction",n),e({type:f.OutgoingInternalEvents.CRYPTO_PAYMENT_USER_REJECTED,payload:{}})}})}function c(i,n){return g(this,null,function*(){let{Transaction:l}=yield import("@solana/web3.js"),a=l.from(mt.default.decode(n));return console.log("[Crossmint] Deserialized SOL transaction",a),yield i.signAndSendTransaction(a)})}function d(i,n){return g(this,null,function*(){let{parse:l}=yield import("@ethersproject/transactions"),a=l(n);return console.log("[Crossmint] Deserialized ETH transaction",a),yield i.signAndSendTransaction(a)})}return I(()=>{e({type:"params-update",payload:(0,f.embeddedCheckoutPropsToUpdatableParamsPayload)(t)})},[t.signer.address,t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs,..."chain"in t.signer?[t.signer.chain]:[]]),(0,ct.jsx)(k,m({onInternalEvent:s},t))}var Ct=require("react/jsx-runtime");function ut(t){if(!(0,dt.isCryptoEmbeddedCheckoutPropsWithSigner)(t))throw new Error("Invalid parameters: signer is required in versions < 2.0.0");return(0,Ct.jsx)($,m({},t))}var M=require("@crossmint/client-sdk-base");var pt=require("react/jsx-runtime");function j(t){let{emitInternalEvent:e}=(0,M.crossmintIFrameService)(t);return I(()=>{e({type:"params-update",payload:(0,M.embeddedCheckoutPropsToUpdatableParamsPayload)(t)})},[t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs]),(0,pt.jsx)(k,m({},t))}var gt=require("react/jsx-runtime");function ft(t){return(0,gt.jsx)(j,m({},t))}var q=require("react/jsx-runtime");function ie(t){if((0,_.isFiatEmbeddedCheckoutProps)(t))return(0,q.jsx)(ft,m({},t));if((0,_.isCryptoEmbeddedCheckoutProps)(t))return(0,q.jsx)(ut,m({},t));throw new Error("Unsupported: Fiat is the only supported payment method.")}var wt=require("react"),bt=require("react"),b=require("@crossmint/client-sdk-base");var D=require("react");function z(){let[t,e]=(0,D.useState)(!0);return(0,D.useEffect)(()=>{e(!1)},[]),{isServerSideRendering:t}}var Et=require("react-jss"),ae="#1e1e1e",ht=t=>t==="light",yt=t=>({buttonBgColor:ht(t)?"white":ae,paragraphColor:ht(t)?"black":"white"}),le={"@global":{"@import":"url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap')"},crossmintButton:{display:"flex","flex-direction":"row","align-items":"center",padding:"0.875rem 0.875rem","font-weight":"900",transition:"opacity ease-in-out 0.25s","border-radius":"0.5rem","font-family":'"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif',outline:"none",border:"none","box-shadow":"0px 8px 15px rgba(0, 0, 0, 0.1)","justify-content":"center",background:({buttonBgColor:t})=>t,"&:hover:enabled":{opacity:"0.6",cursor:"pointer"}},crossmintImg:{width:"21px",height:"21px","margin-right":"0.875rem"},crossmintParagraph:{color:({paragraphColor:t})=>t,margin:"0"}},Pt=(0,Et.createUseStyles)(le);var h=require("react/jsx-runtime");function me(t){let et=t,{className:e,disabled:o,onClick:r,style:s,tabIndex:u,theme:c="dark",mintTo:d,emailTo:i,listingId:n,auctionId:l,showOverlay:a=!0,mintConfig:C,whPassThroughArgs:S,environment:Ft,paymentMethod:W,preferredSigninMethod:Ot,dismissOverlayOnClick:Bt,prepay:At,locale:Z="en-US",currency:Lt="usd",successCallbackURL:Vt="",failureCallbackURL:Mt="",loginEmail:_t="",projectId:Dt,getButtonText:G,checkoutProps:tt={experimental:!1,display:"same-tab",paymentMethods:["fiat","ETH","SOL"]}}=et,Y=y(et,["className","disabled","onClick","style","tabIndex","theme","mintTo","emailTo","listingId","auctionId","showOverlay","mintConfig","whPassThroughArgs","environment","paymentMethod","preferredSigninMethod","dismissOverlayOnClick","prepay","locale","currency","successCallbackURL","failureCallbackURL","loginEmail","projectId","getButtonText","checkoutProps"]),Ut="clientId"in Y?Y.clientId:Y.collectionId,[N,Ht]=(0,bt.useState)(!1),{isServerSideRendering:Gt}=z(),{connect:Yt}=(0,b.crossmintModalService)({clientId:Ut,projectId:Dt,showOverlay:a,dismissOverlayOnClick:Bt,setConnecting:Ht,libVersion:P,environment:Ft,clientName:b.clientNames.reactUi,locale:Z,currency:Lt,successCallbackURL:Vt,failureCallbackURL:Mt,loginEmail:_t}),{getButtonText:Jt,handleClick:Kt}=(0,b.crossmintPayButtonService)({onClick:r,connecting:N,paymentMethod:W,locale:Z,checkoutProps:tt}),$t=qt=>Kt(qt,()=>{Yt(C,d,i,n,S,W,Ot,At,tt)}),J=Pt(yt(c)),jt=(0,wt.useMemo)(()=>(0,h.jsx)("span",{className:J.crossmintParagraph,role:"button-paragraph",children:G!=null?G(N,W||"fiat"):Jt(N)}),[N,G,W]);return(0,h.jsx)(h.Fragment,{children:!Gt&&(0,h.jsxs)("button",{className:`${J.crossmintButton} ${e||""}`,disabled:o,onClick:$t,style:m({},s),tabIndex:u,children:[(0,h.jsx)("img",{className:J.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),jt]})})}var p=require("react"),St=require("@crossmint/client-sdk-auth-core/client"),vt=require("@crossmint/common-sdk-base");var kt=require("react/jsx-runtime"),It=(0,p.createContext)(null);function ce(o){var r=o,{children:t}=r,e=y(r,["children"]);var n;let[s,u]=(0,p.useState)(0),c=(0,p.useRef)(new Proxy((0,vt.createCrossmint)(F(m({},e),{jwt:(n=e.jwt)!=null?n:(0,St.getCachedJwt)()})),{set(l,a,C){return a==="jwt"&&l.jwt!==C&&u(S=>S+1),Reflect.set(l,a,C)}})),d=(0,p.useCallback)(l=>{l!==c.current.jwt&&(c.current.jwt=l)},[]),i=(0,p.useMemo)(()=>({get crossmint(){return c.current},setJwt:d}),[d,s]);return(0,kt.jsx)(It.Provider,{value:i,children:t})}function x(t){let e=(0,p.useContext)(It);if(e==null)throw new Error(t!=null?t:"useCrossmint must be used within a CrossmintProvider");return e}var E=require("react"),T=require("@crossmint/client-sdk-smart-wallet");var xt=require("react/jsx-runtime");function de(t){if(t instanceof T.SmartWalletError)return{status:"loading-error",error:t};let e=t instanceof Error?t.message:String(t),o=t instanceof Error?t.stack:void 0;return{status:"loading-error",error:new T.SmartWalletError(`Unknown Wallet Error: ${e}`,o)}}var U=(0,E.createContext)({status:"not-loaded",getOrCreateWallet:()=>g(void 0,null,function*(){})});function Q({children:t,config:e}){let{crossmint:o}=x("CrossmintWalletProvider must be used within CrossmintProvider"),[r,s]=(0,E.useState)({status:"not-loaded"}),u=(0,E.useMemo)(()=>T.SmartWalletSDK.init({clientApiKey:o.apiKey}),[o.apiKey]),c=i=>g(this,null,function*(){try{s({status:"in-progress"});let n=yield u.getOrCreateWallet({jwt:i},e.defaultChain);s({status:"loaded",wallet:n})}catch(n){console.error("There was an error creating a wallet ",n),s(de(n))}});(0,E.useEffect)(()=>{if(e.createOnLogin==="all-users"&&o.jwt!=null&&r.status==="not-loaded"){console.log("Getting or Creating wallet"),c(o.jwt);return}if(r.status==="loaded"&&o.jwt==null){console.log("Clearing wallet"),s({status:"not-loaded"});return}},[o.jwt,e.createOnLogin,r.status]);let d=()=>g(this,null,function*(){if(o.jwt==null){console.log("No authenticated user, not creating wallet.");return}if(r.status==="loaded"||r.status==="in-progress"){console.log("Wallet is already loaded, or is currently loading.");return}return c(o.jwt)});return(0,xt.jsx)(U.Provider,{value:F(m({},r),{getOrCreateWallet:d}),children:t})}var Tt=require("react");function ue(){let t=(0,Tt.useContext)(U);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}var Wt=require("@crossmint/client-sdk-auth-core/client");var Nt=require("@crossmint/client-sdk-auth-core/client");var X=require("react/jsx-runtime");function Ce({embeddedWallets:t,children:e,appearance:o}){let{crossmint:r,setJwt:s}=x("CrossmintAuthProvider must be used within CrossmintProvider");return(0,X.jsx)(Nt.AuthProvider,{setJwtToken:s,crossmint:r,appearance:o,children:(0,X.jsx)(Q,{config:t,children:e})})}var H=require("@crossmint/client-sdk-base"),Rt=require("@crossmint/client-sdk-smart-wallet");0&&(module.exports={Chain,CrossmintAuthProvider,CrossmintEvents,CrossmintNFTCollectionView,CrossmintNFTDetail,CrossmintPayButton,CrossmintPaymentElement,CrossmintProvider,CrossmintWalletProvider,WalletContext,useAuth,useCrossmint,useCrossmintEvents,useWallet});
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/components/CrossmintNFTCollectionView.tsx","../src/consts/version.ts","../src/components/CrossmintNFTDetail.tsx","../src/components/embed/index.tsx","../src/components/embed/crypto/CryptoEmbeddedCheckout.tsx","../src/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.tsx","../src/hooks/useDeepEffect.ts","../src/components/embed/EmbeddedCheckoutIFrame.tsx","../src/components/embed/fiat/FiatEmbeddedCheckoutIFrame.tsx","../src/components/embed/fiat/FiatEmbeddedCheckout.tsx","../src/components/hosted/CrossmintPayButton.tsx","../src/hooks/useEnvironment.ts","../src/components/hosted/styles.ts","../src/hooks/useCrossmint.tsx","../src/providers/CrossmintWalletProvider.tsx","../src/hooks/useWallet.ts","../src/hooks/index.ts","../src/providers/CrossmintAuthProvider.tsx"],"sourcesContent":["export * from \"./components\";\nexport * from \"./hooks\";\nexport * from \"./providers\";\n\nexport { CrossmintEvents, useCrossmintEvents } from \"@crossmint/client-sdk-base\";\nexport { type EVMSmartWallet, Chain } from \"@crossmint/client-sdk-smart-wallet\";\nexport type { CrossmintEvent, CrossmintEventMap } from \"@crossmint/client-sdk-base\";\n","import { assertValidNFTCollectionViewProps, getNFTCollectionViewSrc } from \"@crossmint/client-sdk-base\";\nimport { NFTCollectionViewProps } from \"@crossmint/common-sdk-base\";\n\nimport { LIB_VERSION } from \"../consts/version\";\n\nexport function CrossmintNFTCollectionView(props: NFTCollectionViewProps) {\n assertValidNFTCollectionViewProps(props);\n\n const src = getNFTCollectionViewSrc(props, LIB_VERSION);\n\n return (\n <iframe\n src={src}\n width=\"100%\"\n height=\"100%\"\n style={{\n flexGrow: \"1\",\n border: \"none\",\n margin: \"0\",\n padding: \"0\",\n }}\n role=\"nft-collection-view\"\n />\n );\n}\n","export const LIB_VERSION = \"1.3.12\";\n","import { assertValidValidateNFTDetailProps, getNFTDetailSrc } from \"@crossmint/client-sdk-base\";\nimport { NFTDetailProps } from \"@crossmint/common-sdk-base\";\n\nimport { LIB_VERSION } from \"../consts/version\";\n\nexport function CrossmintNFTDetail(props: NFTDetailProps) {\n assertValidValidateNFTDetailProps(props);\n\n const src = getNFTDetailSrc(props, LIB_VERSION);\n\n return (\n <iframe\n src={src}\n width=\"100%\"\n height=\"100%\"\n style={{\n flexGrow: \"1\",\n border: \"none\",\n margin: \"0\",\n padding: \"0\",\n }}\n role=\"nft-details\"\n />\n );\n}\n","import {\n CrossmintEmbeddedCheckoutProps,\n isCryptoEmbeddedCheckoutProps,\n isFiatEmbeddedCheckoutProps,\n} from \"@crossmint/client-sdk-base\";\n\nimport { CrossmintCryptoEmbeddedCheckout } from \"./crypto/CryptoEmbeddedCheckout\";\nimport { CrossmintFiatEmbeddedCheckout } from \"./fiat/FiatEmbeddedCheckout\";\n\n// TODO: Rename to CrossmintEmbeddedCheckout on v2 major publish, prior announcement since its a breaking change\nexport function CrossmintPaymentElement(props: CrossmintEmbeddedCheckoutProps) {\n if (isFiatEmbeddedCheckoutProps(props)) {\n return <CrossmintFiatEmbeddedCheckout {...props} />;\n }\n if (isCryptoEmbeddedCheckoutProps(props)) {\n return <CrossmintCryptoEmbeddedCheckout {...props} />;\n }\n throw new Error(\"Unsupported: Fiat is the only supported payment method.\");\n}\n","import { CryptoEmbeddedCheckoutProps, isCryptoEmbeddedCheckoutPropsWithSigner } from \"@crossmint/client-sdk-base\";\n\nimport CryptoEmbeddedCheckoutIFrame from \"./CryptoEmbeddedCheckoutIFrame\";\n\nexport function CrossmintCryptoEmbeddedCheckout(props: CryptoEmbeddedCheckoutProps) {\n if (!isCryptoEmbeddedCheckoutPropsWithSigner(props)) {\n throw new Error(\"Invalid parameters: signer is required in versions < 2.0.0\");\n }\n\n return <CryptoEmbeddedCheckoutIFrame {...props} />;\n}\n","import bs58 from \"bs58\";\n\nimport {\n CryptoEmbeddedCheckoutPropsWithSigner,\n ETHEmbeddedCheckoutSigner,\n IncomingInternalEvent,\n IncomingInternalEvents,\n OutgoingInternalEvents,\n SOLEmbeddedCheckoutSigner,\n crossmintIFrameService,\n embeddedCheckoutPropsToUpdatableParamsPayload,\n} from \"@crossmint/client-sdk-base\";\nimport { EVMBlockchainIncludingTestnet } from \"@crossmint/common-sdk-base\";\n\nimport useDeepEffect from \"../../../hooks/useDeepEffect\";\nimport CrossmintEmbeddedCheckoutIFrame from \"../EmbeddedCheckoutIFrame\";\n\nexport default function CryptoEmbeddedCheckoutIFrame(props: CryptoEmbeddedCheckoutPropsWithSigner) {\n const { emitInternalEvent } = crossmintIFrameService(props);\n\n const { signer, paymentMethod } = props;\n\n function onInternalEvent(event: IncomingInternalEvent) {\n const { type, payload } = event;\n\n if (type === IncomingInternalEvents.CRYPTO_PAYMENT_INCOMING_TRANSACTION) {\n const { serializedTransaction } = payload;\n console.log(\"[Crossmint] Received incoming transaction\", serializedTransaction);\n handleIncomingTransaction(serializedTransaction);\n }\n\n if (type === IncomingInternalEvents.CRYPTO_CHAIN_SWITCH) {\n const { chain } = payload;\n console.log(\"[Crossmint] Received change of chain\", chain);\n\n const handleChainSwitch = (signer as ETHEmbeddedCheckoutSigner).handleChainSwitch;\n if (handleChainSwitch == null) {\n throw new Error(\"switchNetwork function should have been defined\");\n }\n handleChainSwitch(chain as EVMBlockchainIncludingTestnet);\n }\n }\n\n async function handleIncomingTransaction(serializedTransaction: string) {\n try {\n let txId: string;\n switch (paymentMethod) {\n case \"SOL\":\n txId = await handleSOLTransaction(signer, serializedTransaction);\n break;\n case \"ETH\":\n txId = await handleETHTransaction(signer, serializedTransaction);\n break;\n default:\n throw new Error(`Unsupported payment method ${paymentMethod}`);\n }\n\n console.log(\"[Crossmint] Signed and sent transaction\", txId);\n emitInternalEvent({\n type: OutgoingInternalEvents.CRYPTO_PAYMENT_USER_ACCEPTED,\n payload: {\n txId,\n },\n });\n } catch (e) {\n console.error(\"[Crossmint] Failed to sign and send transaction\", e);\n emitInternalEvent({\n type: OutgoingInternalEvents.CRYPTO_PAYMENT_USER_REJECTED,\n payload: {},\n });\n }\n }\n\n async function handleSOLTransaction(signer: SOLEmbeddedCheckoutSigner, serializedTransaction: string) {\n // @ts-ignore - Error becasue we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { Transaction } = await import(\"@solana/web3.js\");\n const transaction = Transaction.from(bs58.decode(serializedTransaction));\n console.log(\"[Crossmint] Deserialized SOL transaction\", transaction);\n\n return await signer.signAndSendTransaction(transaction);\n }\n\n async function handleETHTransaction(signer: ETHEmbeddedCheckoutSigner, serializedTransaction: string) {\n // @ts-ignore - Error becasue we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { parse: parseTransaction } = await import(\"@ethersproject/transactions\");\n const transaction = parseTransaction(serializedTransaction);\n console.log(\"[Crossmint] Deserialized ETH transaction\", transaction);\n\n return await signer.signAndSendTransaction(transaction);\n }\n\n useDeepEffect(() => {\n emitInternalEvent({\n type: \"params-update\",\n payload: embeddedCheckoutPropsToUpdatableParamsPayload(props),\n });\n }, [\n props.signer.address,\n props.recipient,\n props.mintConfig,\n props.locale,\n props.currency,\n props.whPassThroughArgs,\n ...(\"chain\" in props.signer ? [props.signer.chain] : []),\n ]);\n\n return <CrossmintEmbeddedCheckoutIFrame onInternalEvent={onInternalEvent} {...props} />;\n}\n","import isEqual from \"lodash.isequal\";\nimport { DependencyList, EffectCallback, useEffect, useRef } from \"react\";\n\nexport default function useDeepEffect(callback: EffectCallback, dependencies: DependencyList): void {\n const dependenciesRef = useRef(dependencies);\n\n useEffect(() => {\n const hasChanged = dependencies.some((dep, i) => !isEqual(dep, dependenciesRef.current[i]));\n\n if (hasChanged) {\n dependenciesRef.current = dependencies;\n return callback();\n }\n }, [dependencies]);\n}\n","import { useEffect, useState } from \"react\";\n\nimport {\n CrossmintEmbeddedCheckoutProps,\n IncomingInternalEvent,\n IncomingInternalEvents,\n crossmintIFrameService,\n} from \"@crossmint/client-sdk-base\";\n\ntype CrossmintEmbeddedCheckoutIFrameProps = CrossmintEmbeddedCheckoutProps & {\n onInternalEvent?: (event: IncomingInternalEvent) => void;\n};\n\nexport default function CrossmintEmbeddedCheckoutIFrame({\n onInternalEvent,\n ...props\n}: CrossmintEmbeddedCheckoutIFrameProps) {\n const { getUrl, listenToEvents, listenToInternalEvents } = crossmintIFrameService(props);\n\n const [height, setHeight] = useState(0);\n const [url] = useState(getUrl(props));\n\n // Public events\n useEffect(() => {\n const clearListener = listenToEvents((event) => props.onEvent?.(event.data));\n\n return () => {\n clearListener();\n };\n }, []);\n\n // Internal events\n useEffect(() => {\n const clearListener = listenToInternalEvents((event) => {\n const { type, payload } = event.data;\n\n if (type === IncomingInternalEvents.UI_HEIGHT_CHANGED) {\n setHeight(payload.height);\n }\n\n onInternalEvent?.(event.data);\n });\n\n return () => {\n clearListener();\n };\n }, []);\n\n return (\n <iframe\n src={url}\n id=\"crossmint-embedded-checkout.iframe\"\n role=\"crossmint-embedded-checkout.iframe\"\n allow=\"payment *\"\n style={{\n boxShadow: \"none\",\n border: \"none\",\n padding: \"0px\",\n width: \"100%\",\n minWidth: \"100%\",\n overflow: \"hidden\",\n display: \"block\",\n userSelect: \"none\",\n transform: \"translate(0px)\",\n opacity: \"1\",\n transition: \"ease 0s, opacity 0.4s ease 0.1s\",\n height: `${height}px`,\n }}\n />\n );\n}\n","import {\n FiatEmbeddedCheckoutProps,\n crossmintIFrameService,\n embeddedCheckoutPropsToUpdatableParamsPayload,\n} from \"@crossmint/client-sdk-base\";\n\nimport useDeepEffect from \"../../../hooks/useDeepEffect\";\nimport CrossmintEmbeddedCheckoutIFrame from \"../EmbeddedCheckoutIFrame\";\n\nexport default function FiatEmbeddedCheckoutIFrame(props: FiatEmbeddedCheckoutProps) {\n const { emitInternalEvent } = crossmintIFrameService(props);\n\n useDeepEffect(() => {\n emitInternalEvent({\n type: \"params-update\",\n payload: embeddedCheckoutPropsToUpdatableParamsPayload(props),\n });\n }, [props.recipient, props.mintConfig, props.locale, props.currency, props.whPassThroughArgs]);\n\n return <CrossmintEmbeddedCheckoutIFrame {...props} />;\n}\n","import { FiatEmbeddedCheckoutProps } from \"@crossmint/client-sdk-base\";\n\nimport FiatEmbeddedCheckoutIFrame from \"../../../components/embed/fiat/FiatEmbeddedCheckoutIFrame\";\n\nexport function CrossmintFiatEmbeddedCheckout(props: FiatEmbeddedCheckoutProps) {\n return <FiatEmbeddedCheckoutIFrame {...props} />;\n}\n","import { CSSProperties, MouseEvent, useMemo } from \"react\";\nimport { useState } from \"react\";\n\nimport {\n CheckoutProps,\n CrossmintPayButtonProps,\n clientNames,\n crossmintModalService,\n crossmintPayButtonService,\n} from \"@crossmint/client-sdk-base\";\n\nimport { LIB_VERSION } from \"../../consts/version\";\nimport useEnvironment from \"../../hooks/useEnvironment\";\nimport { formatProps, useStyles } from \"./styles\";\n\nexport type CrossmintPayButtonReactProps = CrossmintPayButtonProps & {\n onClick?: (e: MouseEvent<HTMLButtonElement>) => void;\n style?: CSSProperties;\n};\n\nexport function CrossmintPayButton(buttonProps: CrossmintPayButtonReactProps) {\n const {\n className,\n disabled,\n onClick,\n style,\n tabIndex,\n theme = \"dark\",\n mintTo,\n emailTo,\n listingId,\n auctionId,\n showOverlay = true,\n mintConfig,\n whPassThroughArgs,\n environment,\n paymentMethod,\n preferredSigninMethod,\n dismissOverlayOnClick,\n prepay,\n locale = \"en-US\",\n currency = \"usd\",\n successCallbackURL = \"\",\n failureCallbackURL = \"\",\n loginEmail = \"\",\n projectId,\n getButtonText,\n checkoutProps = {\n experimental: false,\n display: \"same-tab\",\n paymentMethods: [\"fiat\", \"ETH\", \"SOL\"],\n } as CheckoutProps,\n ...props\n } = buttonProps;\n\n const collectionId = \"clientId\" in props ? props.clientId : props.collectionId;\n\n const [connecting, setConnecting] = useState(false);\n const { isServerSideRendering } = useEnvironment();\n\n const { connect } = crossmintModalService({\n clientId: collectionId,\n projectId,\n showOverlay,\n dismissOverlayOnClick,\n setConnecting,\n libVersion: LIB_VERSION,\n environment,\n clientName: clientNames.reactUi,\n locale,\n currency,\n successCallbackURL,\n failureCallbackURL,\n loginEmail,\n });\n\n const { getButtonText: getButtonTextInternal, handleClick } = crossmintPayButtonService({\n onClick,\n connecting,\n paymentMethod,\n locale,\n checkoutProps,\n });\n\n const _handleClick = (event: MouseEvent<HTMLButtonElement>) =>\n handleClick(event, () => {\n connect(\n mintConfig,\n mintTo,\n emailTo,\n listingId,\n whPassThroughArgs,\n paymentMethod,\n preferredSigninMethod,\n prepay,\n checkoutProps\n );\n });\n\n const classes = useStyles(formatProps(theme));\n\n const content = useMemo(() => {\n return (\n <span className={classes.crossmintParagraph} role=\"button-paragraph\">\n {getButtonText != null\n ? getButtonText(connecting, paymentMethod || \"fiat\")\n : getButtonTextInternal(connecting)}\n </span>\n );\n }, [connecting, getButtonText, paymentMethod]);\n\n return (\n <>\n {!isServerSideRendering && (\n <button\n className={`${classes.crossmintButton} ${className || \"\"}`}\n disabled={disabled}\n onClick={_handleClick}\n style={{ ...style }}\n tabIndex={tabIndex}\n >\n <img\n className={classes.crossmintImg}\n src=\"https://www.crossmint.io/assets/crossmint/logo.svg\"\n alt=\"Crossmint logo\"\n />\n {content}\n </button>\n )}\n </>\n );\n}\n","import { useEffect, useState } from \"react\";\n\nexport default function useEnvironment() {\n const [isServerSideRendering, setIsServerSideRendering] = useState(true);\n useEffect(() => {\n setIsServerSideRendering(false);\n }, []);\n\n return { isServerSideRendering };\n}\n","import { Styles, createUseStyles } from \"react-jss\";\n\nconst DARK_BG = \"#1e1e1e\";\n\nconst themeIsLight = (theme: string) => theme === \"light\";\n\nexport const formatProps = (theme: string): CustomStylingProps => ({\n buttonBgColor: themeIsLight(theme) ? \"white\" : DARK_BG,\n paragraphColor: themeIsLight(theme) ? \"black\" : \"white\",\n});\n\nexport type Classes<Name extends string | number | symbol = string> = Record<Name, string>;\ninterface CustomStylingProps {\n buttonBgColor?: string;\n paragraphColor?: string;\n}\n\nconst styles: Styles<\"crossmintButton\" | \"crossmintImg\" | \"crossmintParagraph\" | \"@global\", CustomStylingProps> = {\n \"@global\": {\n \"@import\":\n \"url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap')\",\n },\n crossmintButton: {\n display: \"flex\",\n \"flex-direction\": \"row\",\n \"align-items\": \"center\",\n padding: \"0.875rem 0.875rem\",\n \"font-weight\": \"900\",\n transition: \"opacity ease-in-out 0.25s\",\n \"border-radius\": \"0.5rem\",\n \"font-family\": `\"Inter\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif`,\n outline: \"none\",\n border: \"none\",\n \"box-shadow\": \"0px 8px 15px rgba(0, 0, 0, 0.1)\",\n \"justify-content\": \"center\",\n background: ({ buttonBgColor }: CustomStylingProps) => buttonBgColor,\n\n \"&:hover:enabled\": {\n opacity: \"0.6\",\n cursor: \"pointer\",\n },\n },\n crossmintImg: {\n width: \"21px\",\n height: \"21px\",\n \"margin-right\": \"0.875rem\",\n },\n crossmintParagraph: {\n color: ({ paragraphColor }: CustomStylingProps) => paragraphColor,\n margin: \"0\",\n },\n};\n\nexport const useStyles: (\n data?:\n | CustomStylingProps & {\n theme?: any;\n }\n) => Classes<\"crossmintButton\" | \"crossmintImg\" | \"crossmintParagraph\" | \"@global\"> = createUseStyles(styles);\n","import { ReactNode, createContext, useCallback, useContext, useMemo, useRef, useState } from \"react\";\n\nimport { getCachedJwt } from \"@crossmint/client-sdk-auth-core/client\";\nimport { Crossmint, createCrossmint } from \"@crossmint/common-sdk-base\";\n\nexport interface CrossmintContext {\n crossmint: Crossmint;\n setJwt: (jwt: string | undefined) => void;\n}\n\nconst CrossmintContext = createContext<CrossmintContext | null>(null);\n\nexport function CrossmintProvider({\n children,\n ...createCrossmintParams\n}: { children: ReactNode } & Parameters<typeof createCrossmint>[0]) {\n const [version, setVersion] = useState(0);\n\n const crossmintRef = useRef<Crossmint>(\n new Proxy<Crossmint>(\n createCrossmint({ ...createCrossmintParams, jwt: createCrossmintParams.jwt ?? getCachedJwt() }),\n {\n set(target, prop, value) {\n if (prop === \"jwt\" && target.jwt !== value) {\n setVersion((v) => v + 1);\n }\n return Reflect.set(target, prop, value);\n },\n }\n )\n );\n\n const setJwt = useCallback((jwt: string | undefined) => {\n if (jwt !== crossmintRef.current.jwt) {\n crossmintRef.current.jwt = jwt;\n }\n }, []);\n\n const value = useMemo(\n () => ({\n get crossmint() {\n return crossmintRef.current;\n },\n setJwt,\n }),\n [setJwt, version]\n );\n\n return <CrossmintContext.Provider value={value}>{children}</CrossmintContext.Provider>;\n}\n\nexport function useCrossmint(missingContextMessage?: string) {\n const context = useContext(CrossmintContext);\n if (context == null) {\n throw new Error(missingContextMessage ?? \"useCrossmint must be used within a CrossmintProvider\");\n }\n return context;\n}\n","import { useCrossmint } from \"@/hooks\";\nimport { ReactNode, createContext, useEffect, useMemo, useState } from \"react\";\n\nimport { EVMSmartWallet, SmartWalletError, SmartWalletSDK } from \"@crossmint/client-sdk-smart-wallet\";\n\nexport type CrossmintWalletConfig = {\n type: \"evm-smart-wallet\";\n defaultChain: \"polygon-amoy\" | \"base-sepolia\" | \"optimism-sepolia\" | \"arbitrum-sepolia\";\n createOnLogin: \"all-users\" | \"off\";\n};\n\ntype WalletStatus = \"not-loaded\" | \"in-progress\" | \"loaded\" | \"loading-error\";\n\ntype ValidWalletState =\n | { status: \"not-loaded\" | \"in-progress\" }\n | { status: \"loaded\"; wallet: EVMSmartWallet }\n | { status: \"loading-error\"; error: SmartWalletError };\n\nfunction deriveErrorState(error: unknown): { status: \"loading-error\"; error: SmartWalletError } {\n if (error instanceof SmartWalletError) {\n return { status: \"loading-error\", error };\n }\n\n const message = error instanceof Error ? error.message : String(error);\n const stack = error instanceof Error ? error.stack : undefined;\n return { status: \"loading-error\", error: new SmartWalletError(`Unknown Wallet Error: ${message}`, stack) };\n}\n\ntype WalletContext = {\n status: WalletStatus;\n wallet?: EVMSmartWallet;\n error?: SmartWalletError;\n getOrCreateWallet: () => Promise<void>;\n};\n\nexport const WalletContext = createContext<WalletContext>({\n status: \"not-loaded\",\n getOrCreateWallet: async () => {},\n});\n\nexport function CrossmintWalletProvider({ children, config }: { config: CrossmintWalletConfig; children: ReactNode }) {\n const { crossmint } = useCrossmint(\"CrossmintWalletProvider must be used within CrossmintProvider\");\n const [state, setState] = useState<ValidWalletState>({ status: \"not-loaded\" });\n const smartWalletSDK = useMemo(() => SmartWalletSDK.init({ clientApiKey: crossmint.apiKey }), [crossmint.apiKey]);\n\n const getOrCreateWalletInternal = async (jwt: string) => {\n try {\n setState({ status: \"in-progress\" });\n const wallet = await smartWalletSDK.getOrCreateWallet({ jwt }, config.defaultChain);\n setState({ status: \"loaded\", wallet });\n } catch (error: unknown) {\n console.error(\"There was an error creating a wallet \", error);\n setState(deriveErrorState(error));\n }\n };\n\n useEffect(() => {\n if (config.createOnLogin === \"all-users\" && crossmint.jwt != null && state.status === \"not-loaded\") {\n console.log(\"Getting or Creating wallet\");\n getOrCreateWalletInternal(crossmint.jwt);\n return;\n }\n\n if (state.status === \"loaded\" && crossmint.jwt == null) {\n console.log(\"Clearing wallet\");\n setState({ status: \"not-loaded\" });\n return;\n }\n }, [crossmint.jwt, config.createOnLogin, state.status]);\n\n const getOrCreateWalletExternal = async () => {\n if (crossmint.jwt == null) {\n console.log(\"No authenticated user, not creating wallet.\");\n return;\n }\n\n if (state.status === \"loaded\" || state.status === \"in-progress\") {\n console.log(\"Wallet is already loaded, or is currently loading.\");\n return;\n }\n\n return getOrCreateWalletInternal(crossmint.jwt);\n };\n\n return (\n <WalletContext.Provider value={{ ...state, getOrCreateWallet: getOrCreateWalletExternal }}>\n {children}\n </WalletContext.Provider>\n );\n}\n","import { WalletContext } from \"@/providers/CrossmintWalletProvider\";\nimport { useContext } from \"react\";\n\nexport function useWallet() {\n const walletContext = useContext(WalletContext);\n\n if (!walletContext) {\n throw new Error(\"useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider\");\n }\n\n return walletContext;\n}\n","export * from \"./useCrossmint\";\nexport * from \"./useWallet\";\nexport { useAuth } from \"@crossmint/client-sdk-auth-core/client\";\n","import { useCrossmint } from \"@/hooks\";\nimport { ReactNode } from \"react\";\n\nimport { AuthProvider as AuthCoreProvider } from \"@crossmint/client-sdk-auth-core/client\";\n\nimport { CrossmintWalletConfig, CrossmintWalletProvider } from \"./CrossmintWalletProvider\";\n\nexport function CrossmintAuthProvider({\n embeddedWallets,\n children,\n}: {\n embeddedWallets: CrossmintWalletConfig;\n children: ReactNode;\n}) {\n const { crossmint, setJwt } = useCrossmint(\"CrossmintAuthProvider must be used within CrossmintProvider\");\n\n return (\n <AuthCoreProvider setJwtToken={setJwt} crossmint={crossmint}>\n <CrossmintWalletProvider config={embeddedWallets}>{children}</CrossmintWalletProvider>\n </AuthCoreProvider>\n );\n}\n"],"mappings":"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","names":["src_exports","__export","CrossmintAuthProvider","CrossmintNFTCollectionView","CrossmintNFTDetail","CrossmintPayButton","CrossmintPaymentElement","CrossmintProvider","CrossmintWalletProvider","WalletContext","useCrossmint","useWallet","__toCommonJS","import_client_sdk_base","LIB_VERSION","import_jsx_runtime","CrossmintNFTCollectionView","props","src","LIB_VERSION","import_client_sdk_base","import_jsx_runtime","CrossmintNFTDetail","props","src","LIB_VERSION","import_client_sdk_base","import_client_sdk_base","import_bs58","import_client_sdk_base","import_lodash","import_react","useDeepEffect","callback","dependencies","dependenciesRef","dep","i","isEqual","import_react","import_client_sdk_base","import_jsx_runtime","CrossmintEmbeddedCheckoutIFrame","_a","_b","onInternalEvent","props","__objRest","getUrl","listenToEvents","listenToInternalEvents","height","setHeight","url","clearListener","event","type","payload","import_jsx_runtime","CryptoEmbeddedCheckoutIFrame","props","emitInternalEvent","signer","paymentMethod","onInternalEvent","event","type","payload","serializedTransaction","handleIncomingTransaction","chain","handleChainSwitch","__async","txId","handleSOLTransaction","handleETHTransaction","e","Transaction","transaction","bs58","parseTransaction","useDeepEffect","CrossmintEmbeddedCheckoutIFrame","__spreadValues","import_jsx_runtime","CrossmintCryptoEmbeddedCheckout","props","CryptoEmbeddedCheckoutIFrame","__spreadValues","import_client_sdk_base","import_jsx_runtime","FiatEmbeddedCheckoutIFrame","props","emitInternalEvent","useDeepEffect","CrossmintEmbeddedCheckoutIFrame","__spreadValues","import_jsx_runtime","CrossmintFiatEmbeddedCheckout","props","FiatEmbeddedCheckoutIFrame","__spreadValues","import_jsx_runtime","CrossmintPaymentElement","props","CrossmintFiatEmbeddedCheckout","__spreadValues","CrossmintCryptoEmbeddedCheckout","import_react","import_client_sdk_base","import_react","useEnvironment","isServerSideRendering","setIsServerSideRendering","import_react_jss","DARK_BG","themeIsLight","theme","formatProps","styles","buttonBgColor","paragraphColor","useStyles","import_jsx_runtime","CrossmintPayButton","buttonProps","_a","className","disabled","onClick","style","tabIndex","theme","mintTo","emailTo","listingId","auctionId","showOverlay","mintConfig","whPassThroughArgs","environment","paymentMethod","preferredSigninMethod","dismissOverlayOnClick","prepay","locale","currency","successCallbackURL","failureCallbackURL","loginEmail","projectId","getButtonText","checkoutProps","props","__objRest","collectionId","connecting","setConnecting","isServerSideRendering","useEnvironment","connect","LIB_VERSION","getButtonTextInternal","handleClick","_handleClick","event","classes","useStyles","formatProps","content","__spreadValues","import_react","import_client","import_common_sdk_base","import_jsx_runtime","CrossmintContext","CrossmintProvider","_a","_b","children","createCrossmintParams","__objRest","version","setVersion","crossmintRef","__spreadProps","__spreadValues","target","prop","value","v","setJwt","jwt","useCrossmint","missingContextMessage","context","import_react","import_client_sdk_smart_wallet","import_jsx_runtime","deriveErrorState","error","message","stack","WalletContext","__async","CrossmintWalletProvider","children","config","crossmint","useCrossmint","state","setState","smartWalletSDK","getOrCreateWalletInternal","jwt","wallet","getOrCreateWalletExternal","__spreadProps","__spreadValues","import_react","useWallet","walletContext","WalletContext","import_client","import_client","import_jsx_runtime","CrossmintAuthProvider","embeddedWallets","children","crossmint","setJwt","useCrossmint","AuthCoreProvider","CrossmintWalletProvider","import_client_sdk_base","import_client_sdk_smart_wallet"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/components/CrossmintNFTCollectionView.tsx","../src/consts/version.ts","../src/components/CrossmintNFTDetail.tsx","../src/components/embed/index.tsx","../src/components/embed/crypto/CryptoEmbeddedCheckout.tsx","../src/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.tsx","../src/hooks/useDeepEffect.ts","../src/components/embed/EmbeddedCheckoutIFrame.tsx","../src/components/embed/fiat/FiatEmbeddedCheckoutIFrame.tsx","../src/components/embed/fiat/FiatEmbeddedCheckout.tsx","../src/components/hosted/CrossmintPayButton.tsx","../src/hooks/useEnvironment.ts","../src/components/hosted/styles.ts","../src/hooks/useCrossmint.tsx","../src/providers/CrossmintWalletProvider.tsx","../src/hooks/useWallet.ts","../src/hooks/index.ts","../src/providers/CrossmintAuthProvider.tsx"],"sourcesContent":["export * from \"./components\";\nexport * from \"./hooks\";\nexport * from \"./providers\";\n\nexport { CrossmintEvents, useCrossmintEvents } from \"@crossmint/client-sdk-base\";\nexport { type EVMSmartWallet, Chain } from \"@crossmint/client-sdk-smart-wallet\";\nexport type { CrossmintEvent, CrossmintEventMap } from \"@crossmint/client-sdk-base\";\n","import { assertValidNFTCollectionViewProps, getNFTCollectionViewSrc } from \"@crossmint/client-sdk-base\";\nimport { NFTCollectionViewProps } from \"@crossmint/common-sdk-base\";\n\nimport { LIB_VERSION } from \"../consts/version\";\n\nexport function CrossmintNFTCollectionView(props: NFTCollectionViewProps) {\n assertValidNFTCollectionViewProps(props);\n\n const src = getNFTCollectionViewSrc(props, LIB_VERSION);\n\n return (\n <iframe\n src={src}\n width=\"100%\"\n height=\"100%\"\n style={{\n flexGrow: \"1\",\n border: \"none\",\n margin: \"0\",\n padding: \"0\",\n }}\n role=\"nft-collection-view\"\n />\n );\n}\n","export const LIB_VERSION = \"1.3.13\";\n","import { assertValidValidateNFTDetailProps, getNFTDetailSrc } from \"@crossmint/client-sdk-base\";\nimport { NFTDetailProps } from \"@crossmint/common-sdk-base\";\n\nimport { LIB_VERSION } from \"../consts/version\";\n\nexport function CrossmintNFTDetail(props: NFTDetailProps) {\n assertValidValidateNFTDetailProps(props);\n\n const src = getNFTDetailSrc(props, LIB_VERSION);\n\n return (\n <iframe\n src={src}\n width=\"100%\"\n height=\"100%\"\n style={{\n flexGrow: \"1\",\n border: \"none\",\n margin: \"0\",\n padding: \"0\",\n }}\n role=\"nft-details\"\n />\n );\n}\n","import {\n CrossmintEmbeddedCheckoutProps,\n isCryptoEmbeddedCheckoutProps,\n isFiatEmbeddedCheckoutProps,\n} from \"@crossmint/client-sdk-base\";\n\nimport { CrossmintCryptoEmbeddedCheckout } from \"./crypto/CryptoEmbeddedCheckout\";\nimport { CrossmintFiatEmbeddedCheckout } from \"./fiat/FiatEmbeddedCheckout\";\n\n// TODO: Rename to CrossmintEmbeddedCheckout on v2 major publish, prior announcement since its a breaking change\nexport function CrossmintPaymentElement(props: CrossmintEmbeddedCheckoutProps) {\n if (isFiatEmbeddedCheckoutProps(props)) {\n return <CrossmintFiatEmbeddedCheckout {...props} />;\n }\n if (isCryptoEmbeddedCheckoutProps(props)) {\n return <CrossmintCryptoEmbeddedCheckout {...props} />;\n }\n throw new Error(\"Unsupported: Fiat is the only supported payment method.\");\n}\n","import { CryptoEmbeddedCheckoutProps, isCryptoEmbeddedCheckoutPropsWithSigner } from \"@crossmint/client-sdk-base\";\n\nimport CryptoEmbeddedCheckoutIFrame from \"./CryptoEmbeddedCheckoutIFrame\";\n\nexport function CrossmintCryptoEmbeddedCheckout(props: CryptoEmbeddedCheckoutProps) {\n if (!isCryptoEmbeddedCheckoutPropsWithSigner(props)) {\n throw new Error(\"Invalid parameters: signer is required in versions < 2.0.0\");\n }\n\n return <CryptoEmbeddedCheckoutIFrame {...props} />;\n}\n","import bs58 from \"bs58\";\n\nimport {\n CryptoEmbeddedCheckoutPropsWithSigner,\n ETHEmbeddedCheckoutSigner,\n IncomingInternalEvent,\n IncomingInternalEvents,\n OutgoingInternalEvents,\n SOLEmbeddedCheckoutSigner,\n crossmintIFrameService,\n embeddedCheckoutPropsToUpdatableParamsPayload,\n} from \"@crossmint/client-sdk-base\";\nimport { EVMBlockchainIncludingTestnet } from \"@crossmint/common-sdk-base\";\n\nimport useDeepEffect from \"../../../hooks/useDeepEffect\";\nimport CrossmintEmbeddedCheckoutIFrame from \"../EmbeddedCheckoutIFrame\";\n\nexport default function CryptoEmbeddedCheckoutIFrame(props: CryptoEmbeddedCheckoutPropsWithSigner) {\n const { emitInternalEvent } = crossmintIFrameService(props);\n\n const { signer, paymentMethod } = props;\n\n function onInternalEvent(event: IncomingInternalEvent) {\n const { type, payload } = event;\n\n if (type === IncomingInternalEvents.CRYPTO_PAYMENT_INCOMING_TRANSACTION) {\n const { serializedTransaction } = payload;\n console.log(\"[Crossmint] Received incoming transaction\", serializedTransaction);\n handleIncomingTransaction(serializedTransaction);\n }\n\n if (type === IncomingInternalEvents.CRYPTO_CHAIN_SWITCH) {\n const { chain } = payload;\n console.log(\"[Crossmint] Received change of chain\", chain);\n\n const handleChainSwitch = (signer as ETHEmbeddedCheckoutSigner).handleChainSwitch;\n if (handleChainSwitch == null) {\n throw new Error(\"switchNetwork function should have been defined\");\n }\n handleChainSwitch(chain as EVMBlockchainIncludingTestnet);\n }\n }\n\n async function handleIncomingTransaction(serializedTransaction: string) {\n try {\n let txId: string;\n switch (paymentMethod) {\n case \"SOL\":\n txId = await handleSOLTransaction(signer, serializedTransaction);\n break;\n case \"ETH\":\n txId = await handleETHTransaction(signer, serializedTransaction);\n break;\n default:\n throw new Error(`Unsupported payment method ${paymentMethod}`);\n }\n\n console.log(\"[Crossmint] Signed and sent transaction\", txId);\n emitInternalEvent({\n type: OutgoingInternalEvents.CRYPTO_PAYMENT_USER_ACCEPTED,\n payload: {\n txId,\n },\n });\n } catch (e) {\n console.error(\"[Crossmint] Failed to sign and send transaction\", e);\n emitInternalEvent({\n type: OutgoingInternalEvents.CRYPTO_PAYMENT_USER_REJECTED,\n payload: {},\n });\n }\n }\n\n async function handleSOLTransaction(signer: SOLEmbeddedCheckoutSigner, serializedTransaction: string) {\n // @ts-ignore - Error becasue we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { Transaction } = await import(\"@solana/web3.js\");\n const transaction = Transaction.from(bs58.decode(serializedTransaction));\n console.log(\"[Crossmint] Deserialized SOL transaction\", transaction);\n\n return await signer.signAndSendTransaction(transaction);\n }\n\n async function handleETHTransaction(signer: ETHEmbeddedCheckoutSigner, serializedTransaction: string) {\n // @ts-ignore - Error becasue we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { parse: parseTransaction } = await import(\"@ethersproject/transactions\");\n const transaction = parseTransaction(serializedTransaction);\n console.log(\"[Crossmint] Deserialized ETH transaction\", transaction);\n\n return await signer.signAndSendTransaction(transaction);\n }\n\n useDeepEffect(() => {\n emitInternalEvent({\n type: \"params-update\",\n payload: embeddedCheckoutPropsToUpdatableParamsPayload(props),\n });\n }, [\n props.signer.address,\n props.recipient,\n props.mintConfig,\n props.locale,\n props.currency,\n props.whPassThroughArgs,\n ...(\"chain\" in props.signer ? [props.signer.chain] : []),\n ]);\n\n return <CrossmintEmbeddedCheckoutIFrame onInternalEvent={onInternalEvent} {...props} />;\n}\n","import isEqual from \"lodash.isequal\";\nimport { DependencyList, EffectCallback, useEffect, useRef } from \"react\";\n\nexport default function useDeepEffect(callback: EffectCallback, dependencies: DependencyList): void {\n const dependenciesRef = useRef(dependencies);\n\n useEffect(() => {\n const hasChanged = dependencies.some((dep, i) => !isEqual(dep, dependenciesRef.current[i]));\n\n if (hasChanged) {\n dependenciesRef.current = dependencies;\n return callback();\n }\n }, [dependencies]);\n}\n","import { useEffect, useState } from \"react\";\n\nimport {\n CrossmintEmbeddedCheckoutProps,\n IncomingInternalEvent,\n IncomingInternalEvents,\n crossmintIFrameService,\n} from \"@crossmint/client-sdk-base\";\n\ntype CrossmintEmbeddedCheckoutIFrameProps = CrossmintEmbeddedCheckoutProps & {\n onInternalEvent?: (event: IncomingInternalEvent) => void;\n};\n\nexport default function CrossmintEmbeddedCheckoutIFrame({\n onInternalEvent,\n ...props\n}: CrossmintEmbeddedCheckoutIFrameProps) {\n const { getUrl, listenToEvents, listenToInternalEvents } = crossmintIFrameService(props);\n\n const [height, setHeight] = useState(0);\n const [url] = useState(getUrl(props));\n\n // Public events\n useEffect(() => {\n const clearListener = listenToEvents((event) => props.onEvent?.(event.data));\n\n return () => {\n clearListener();\n };\n }, []);\n\n // Internal events\n useEffect(() => {\n const clearListener = listenToInternalEvents((event) => {\n const { type, payload } = event.data;\n\n if (type === IncomingInternalEvents.UI_HEIGHT_CHANGED) {\n setHeight(payload.height);\n }\n\n onInternalEvent?.(event.data);\n });\n\n return () => {\n clearListener();\n };\n }, []);\n\n return (\n <iframe\n src={url}\n id=\"crossmint-embedded-checkout.iframe\"\n role=\"crossmint-embedded-checkout.iframe\"\n allow=\"payment *\"\n style={{\n boxShadow: \"none\",\n border: \"none\",\n padding: \"0px\",\n width: \"100%\",\n minWidth: \"100%\",\n overflow: \"hidden\",\n display: \"block\",\n userSelect: \"none\",\n transform: \"translate(0px)\",\n opacity: \"1\",\n transition: \"ease 0s, opacity 0.4s ease 0.1s\",\n height: `${height}px`,\n }}\n />\n );\n}\n","import {\n FiatEmbeddedCheckoutProps,\n crossmintIFrameService,\n embeddedCheckoutPropsToUpdatableParamsPayload,\n} from \"@crossmint/client-sdk-base\";\n\nimport useDeepEffect from \"../../../hooks/useDeepEffect\";\nimport CrossmintEmbeddedCheckoutIFrame from \"../EmbeddedCheckoutIFrame\";\n\nexport default function FiatEmbeddedCheckoutIFrame(props: FiatEmbeddedCheckoutProps) {\n const { emitInternalEvent } = crossmintIFrameService(props);\n\n useDeepEffect(() => {\n emitInternalEvent({\n type: \"params-update\",\n payload: embeddedCheckoutPropsToUpdatableParamsPayload(props),\n });\n }, [props.recipient, props.mintConfig, props.locale, props.currency, props.whPassThroughArgs]);\n\n return <CrossmintEmbeddedCheckoutIFrame {...props} />;\n}\n","import { FiatEmbeddedCheckoutProps } from \"@crossmint/client-sdk-base\";\n\nimport FiatEmbeddedCheckoutIFrame from \"../../../components/embed/fiat/FiatEmbeddedCheckoutIFrame\";\n\nexport function CrossmintFiatEmbeddedCheckout(props: FiatEmbeddedCheckoutProps) {\n return <FiatEmbeddedCheckoutIFrame {...props} />;\n}\n","import { CSSProperties, MouseEvent, useMemo } from \"react\";\nimport { useState } from \"react\";\n\nimport {\n CheckoutProps,\n CrossmintPayButtonProps,\n clientNames,\n crossmintModalService,\n crossmintPayButtonService,\n} from \"@crossmint/client-sdk-base\";\n\nimport { LIB_VERSION } from \"../../consts/version\";\nimport useEnvironment from \"../../hooks/useEnvironment\";\nimport { formatProps, useStyles } from \"./styles\";\n\nexport type CrossmintPayButtonReactProps = CrossmintPayButtonProps & {\n onClick?: (e: MouseEvent<HTMLButtonElement>) => void;\n style?: CSSProperties;\n};\n\nexport function CrossmintPayButton(buttonProps: CrossmintPayButtonReactProps) {\n const {\n className,\n disabled,\n onClick,\n style,\n tabIndex,\n theme = \"dark\",\n mintTo,\n emailTo,\n listingId,\n auctionId,\n showOverlay = true,\n mintConfig,\n whPassThroughArgs,\n environment,\n paymentMethod,\n preferredSigninMethod,\n dismissOverlayOnClick,\n prepay,\n locale = \"en-US\",\n currency = \"usd\",\n successCallbackURL = \"\",\n failureCallbackURL = \"\",\n loginEmail = \"\",\n projectId,\n getButtonText,\n checkoutProps = {\n experimental: false,\n display: \"same-tab\",\n paymentMethods: [\"fiat\", \"ETH\", \"SOL\"],\n } as CheckoutProps,\n ...props\n } = buttonProps;\n\n const collectionId = \"clientId\" in props ? props.clientId : props.collectionId;\n\n const [connecting, setConnecting] = useState(false);\n const { isServerSideRendering } = useEnvironment();\n\n const { connect } = crossmintModalService({\n clientId: collectionId,\n projectId,\n showOverlay,\n dismissOverlayOnClick,\n setConnecting,\n libVersion: LIB_VERSION,\n environment,\n clientName: clientNames.reactUi,\n locale,\n currency,\n successCallbackURL,\n failureCallbackURL,\n loginEmail,\n });\n\n const { getButtonText: getButtonTextInternal, handleClick } = crossmintPayButtonService({\n onClick,\n connecting,\n paymentMethod,\n locale,\n checkoutProps,\n });\n\n const _handleClick = (event: MouseEvent<HTMLButtonElement>) =>\n handleClick(event, () => {\n connect(\n mintConfig,\n mintTo,\n emailTo,\n listingId,\n whPassThroughArgs,\n paymentMethod,\n preferredSigninMethod,\n prepay,\n checkoutProps\n );\n });\n\n const classes = useStyles(formatProps(theme));\n\n const content = useMemo(() => {\n return (\n <span className={classes.crossmintParagraph} role=\"button-paragraph\">\n {getButtonText != null\n ? getButtonText(connecting, paymentMethod || \"fiat\")\n : getButtonTextInternal(connecting)}\n </span>\n );\n }, [connecting, getButtonText, paymentMethod]);\n\n return (\n <>\n {!isServerSideRendering && (\n <button\n className={`${classes.crossmintButton} ${className || \"\"}`}\n disabled={disabled}\n onClick={_handleClick}\n style={{ ...style }}\n tabIndex={tabIndex}\n >\n <img\n className={classes.crossmintImg}\n src=\"https://www.crossmint.io/assets/crossmint/logo.svg\"\n alt=\"Crossmint logo\"\n />\n {content}\n </button>\n )}\n </>\n );\n}\n","import { useEffect, useState } from \"react\";\n\nexport default function useEnvironment() {\n const [isServerSideRendering, setIsServerSideRendering] = useState(true);\n useEffect(() => {\n setIsServerSideRendering(false);\n }, []);\n\n return { isServerSideRendering };\n}\n","import { Styles, createUseStyles } from \"react-jss\";\n\nconst DARK_BG = \"#1e1e1e\";\n\nconst themeIsLight = (theme: string) => theme === \"light\";\n\nexport const formatProps = (theme: string): CustomStylingProps => ({\n buttonBgColor: themeIsLight(theme) ? \"white\" : DARK_BG,\n paragraphColor: themeIsLight(theme) ? \"black\" : \"white\",\n});\n\nexport type Classes<Name extends string | number | symbol = string> = Record<Name, string>;\ninterface CustomStylingProps {\n buttonBgColor?: string;\n paragraphColor?: string;\n}\n\nconst styles: Styles<\"crossmintButton\" | \"crossmintImg\" | \"crossmintParagraph\" | \"@global\", CustomStylingProps> = {\n \"@global\": {\n \"@import\":\n \"url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap')\",\n },\n crossmintButton: {\n display: \"flex\",\n \"flex-direction\": \"row\",\n \"align-items\": \"center\",\n padding: \"0.875rem 0.875rem\",\n \"font-weight\": \"900\",\n transition: \"opacity ease-in-out 0.25s\",\n \"border-radius\": \"0.5rem\",\n \"font-family\": `\"Inter\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif`,\n outline: \"none\",\n border: \"none\",\n \"box-shadow\": \"0px 8px 15px rgba(0, 0, 0, 0.1)\",\n \"justify-content\": \"center\",\n background: ({ buttonBgColor }: CustomStylingProps) => buttonBgColor,\n\n \"&:hover:enabled\": {\n opacity: \"0.6\",\n cursor: \"pointer\",\n },\n },\n crossmintImg: {\n width: \"21px\",\n height: \"21px\",\n \"margin-right\": \"0.875rem\",\n },\n crossmintParagraph: {\n color: ({ paragraphColor }: CustomStylingProps) => paragraphColor,\n margin: \"0\",\n },\n};\n\nexport const useStyles: (\n data?:\n | CustomStylingProps & {\n theme?: any;\n }\n) => Classes<\"crossmintButton\" | \"crossmintImg\" | \"crossmintParagraph\" | \"@global\"> = createUseStyles(styles);\n","import { ReactNode, createContext, useCallback, useContext, useMemo, useRef, useState } from \"react\";\n\nimport { getCachedJwt } from \"@crossmint/client-sdk-auth-core/client\";\nimport { Crossmint, createCrossmint } from \"@crossmint/common-sdk-base\";\n\nexport interface CrossmintContext {\n crossmint: Crossmint;\n setJwt: (jwt: string | undefined) => void;\n}\n\nconst CrossmintContext = createContext<CrossmintContext | null>(null);\n\nexport function CrossmintProvider({\n children,\n ...createCrossmintParams\n}: { children: ReactNode } & Parameters<typeof createCrossmint>[0]) {\n const [version, setVersion] = useState(0);\n\n const crossmintRef = useRef<Crossmint>(\n new Proxy<Crossmint>(\n createCrossmint({ ...createCrossmintParams, jwt: createCrossmintParams.jwt ?? getCachedJwt() }),\n {\n set(target, prop, value) {\n if (prop === \"jwt\" && target.jwt !== value) {\n setVersion((v) => v + 1);\n }\n return Reflect.set(target, prop, value);\n },\n }\n )\n );\n\n const setJwt = useCallback((jwt: string | undefined) => {\n if (jwt !== crossmintRef.current.jwt) {\n crossmintRef.current.jwt = jwt;\n }\n }, []);\n\n const value = useMemo(\n () => ({\n get crossmint() {\n return crossmintRef.current;\n },\n setJwt,\n }),\n [setJwt, version]\n );\n\n return <CrossmintContext.Provider value={value}>{children}</CrossmintContext.Provider>;\n}\n\nexport function useCrossmint(missingContextMessage?: string) {\n const context = useContext(CrossmintContext);\n if (context == null) {\n throw new Error(missingContextMessage ?? \"useCrossmint must be used within a CrossmintProvider\");\n }\n return context;\n}\n","import { useCrossmint } from \"@/hooks\";\nimport { ReactNode, createContext, useEffect, useMemo, useState } from \"react\";\n\nimport { EVMSmartWallet, SmartWalletError, SmartWalletSDK } from \"@crossmint/client-sdk-smart-wallet\";\n\nexport type CrossmintWalletConfig = {\n type: \"evm-smart-wallet\";\n defaultChain: \"polygon-amoy\" | \"base-sepolia\" | \"optimism-sepolia\" | \"arbitrum-sepolia\";\n createOnLogin: \"all-users\" | \"off\";\n};\n\ntype WalletStatus = \"not-loaded\" | \"in-progress\" | \"loaded\" | \"loading-error\";\n\ntype ValidWalletState =\n | { status: \"not-loaded\" | \"in-progress\" }\n | { status: \"loaded\"; wallet: EVMSmartWallet }\n | { status: \"loading-error\"; error: SmartWalletError };\n\nfunction deriveErrorState(error: unknown): { status: \"loading-error\"; error: SmartWalletError } {\n if (error instanceof SmartWalletError) {\n return { status: \"loading-error\", error };\n }\n\n const message = error instanceof Error ? error.message : String(error);\n const stack = error instanceof Error ? error.stack : undefined;\n return { status: \"loading-error\", error: new SmartWalletError(`Unknown Wallet Error: ${message}`, stack) };\n}\n\ntype WalletContext = {\n status: WalletStatus;\n wallet?: EVMSmartWallet;\n error?: SmartWalletError;\n getOrCreateWallet: () => Promise<void>;\n};\n\nexport const WalletContext = createContext<WalletContext>({\n status: \"not-loaded\",\n getOrCreateWallet: async () => {},\n});\n\nexport function CrossmintWalletProvider({ children, config }: { config: CrossmintWalletConfig; children: ReactNode }) {\n const { crossmint } = useCrossmint(\"CrossmintWalletProvider must be used within CrossmintProvider\");\n const [state, setState] = useState<ValidWalletState>({ status: \"not-loaded\" });\n const smartWalletSDK = useMemo(() => SmartWalletSDK.init({ clientApiKey: crossmint.apiKey }), [crossmint.apiKey]);\n\n const getOrCreateWalletInternal = async (jwt: string) => {\n try {\n setState({ status: \"in-progress\" });\n const wallet = await smartWalletSDK.getOrCreateWallet({ jwt }, config.defaultChain);\n setState({ status: \"loaded\", wallet });\n } catch (error: unknown) {\n console.error(\"There was an error creating a wallet \", error);\n setState(deriveErrorState(error));\n }\n };\n\n useEffect(() => {\n if (config.createOnLogin === \"all-users\" && crossmint.jwt != null && state.status === \"not-loaded\") {\n console.log(\"Getting or Creating wallet\");\n getOrCreateWalletInternal(crossmint.jwt);\n return;\n }\n\n if (state.status === \"loaded\" && crossmint.jwt == null) {\n console.log(\"Clearing wallet\");\n setState({ status: \"not-loaded\" });\n return;\n }\n }, [crossmint.jwt, config.createOnLogin, state.status]);\n\n const getOrCreateWalletExternal = async () => {\n if (crossmint.jwt == null) {\n console.log(\"No authenticated user, not creating wallet.\");\n return;\n }\n\n if (state.status === \"loaded\" || state.status === \"in-progress\") {\n console.log(\"Wallet is already loaded, or is currently loading.\");\n return;\n }\n\n return getOrCreateWalletInternal(crossmint.jwt);\n };\n\n return (\n <WalletContext.Provider value={{ ...state, getOrCreateWallet: getOrCreateWalletExternal }}>\n {children}\n </WalletContext.Provider>\n );\n}\n","import { WalletContext } from \"@/providers/CrossmintWalletProvider\";\nimport { useContext } from \"react\";\n\nexport function useWallet() {\n const walletContext = useContext(WalletContext);\n\n if (!walletContext) {\n throw new Error(\"useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider\");\n }\n\n return walletContext;\n}\n","export * from \"./useCrossmint\";\nexport * from \"./useWallet\";\nexport { useAuth } from \"@crossmint/client-sdk-auth-core/client\";\n","import { useCrossmint } from \"@/hooks\";\nimport { ReactNode } from \"react\";\n\nimport { AuthProvider as AuthCoreProvider } from \"@crossmint/client-sdk-auth-core/client\";\nimport { UIConfig } from \"@crossmint/common-sdk-base\";\n\nimport { CrossmintWalletConfig, CrossmintWalletProvider } from \"./CrossmintWalletProvider\";\n\ntype CrossmintAuthProviderProps = {\n embeddedWallets: CrossmintWalletConfig;\n children: ReactNode;\n appearance?: UIConfig;\n};\n\nexport function CrossmintAuthProvider({ embeddedWallets, children, appearance }: CrossmintAuthProviderProps) {\n const { crossmint, setJwt } = useCrossmint(\"CrossmintAuthProvider must be used within CrossmintProvider\");\n\n return (\n <AuthCoreProvider setJwtToken={setJwt} crossmint={crossmint} appearance={appearance}>\n <CrossmintWalletProvider config={embeddedWallets}>{children}</CrossmintWalletProvider>\n </AuthCoreProvider>\n );\n}\n"],"mappings":"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","names":["src_exports","__export","CrossmintAuthProvider","CrossmintNFTCollectionView","CrossmintNFTDetail","CrossmintPayButton","CrossmintPaymentElement","CrossmintProvider","CrossmintWalletProvider","WalletContext","useCrossmint","useWallet","__toCommonJS","import_client_sdk_base","LIB_VERSION","import_jsx_runtime","CrossmintNFTCollectionView","props","src","LIB_VERSION","import_client_sdk_base","import_jsx_runtime","CrossmintNFTDetail","props","src","LIB_VERSION","import_client_sdk_base","import_client_sdk_base","import_bs58","import_client_sdk_base","import_lodash","import_react","useDeepEffect","callback","dependencies","dependenciesRef","dep","i","isEqual","import_react","import_client_sdk_base","import_jsx_runtime","CrossmintEmbeddedCheckoutIFrame","_a","_b","onInternalEvent","props","__objRest","getUrl","listenToEvents","listenToInternalEvents","height","setHeight","url","clearListener","event","type","payload","import_jsx_runtime","CryptoEmbeddedCheckoutIFrame","props","emitInternalEvent","signer","paymentMethod","onInternalEvent","event","type","payload","serializedTransaction","handleIncomingTransaction","chain","handleChainSwitch","__async","txId","handleSOLTransaction","handleETHTransaction","e","Transaction","transaction","bs58","parseTransaction","useDeepEffect","CrossmintEmbeddedCheckoutIFrame","__spreadValues","import_jsx_runtime","CrossmintCryptoEmbeddedCheckout","props","CryptoEmbeddedCheckoutIFrame","__spreadValues","import_client_sdk_base","import_jsx_runtime","FiatEmbeddedCheckoutIFrame","props","emitInternalEvent","useDeepEffect","CrossmintEmbeddedCheckoutIFrame","__spreadValues","import_jsx_runtime","CrossmintFiatEmbeddedCheckout","props","FiatEmbeddedCheckoutIFrame","__spreadValues","import_jsx_runtime","CrossmintPaymentElement","props","CrossmintFiatEmbeddedCheckout","__spreadValues","CrossmintCryptoEmbeddedCheckout","import_react","import_client_sdk_base","import_react","useEnvironment","isServerSideRendering","setIsServerSideRendering","import_react_jss","DARK_BG","themeIsLight","theme","formatProps","styles","buttonBgColor","paragraphColor","useStyles","import_jsx_runtime","CrossmintPayButton","buttonProps","_a","className","disabled","onClick","style","tabIndex","theme","mintTo","emailTo","listingId","auctionId","showOverlay","mintConfig","whPassThroughArgs","environment","paymentMethod","preferredSigninMethod","dismissOverlayOnClick","prepay","locale","currency","successCallbackURL","failureCallbackURL","loginEmail","projectId","getButtonText","checkoutProps","props","__objRest","collectionId","connecting","setConnecting","isServerSideRendering","useEnvironment","connect","LIB_VERSION","getButtonTextInternal","handleClick","_handleClick","event","classes","useStyles","formatProps","content","__spreadValues","import_react","import_client","import_common_sdk_base","import_jsx_runtime","CrossmintContext","CrossmintProvider","_a","_b","children","createCrossmintParams","__objRest","version","setVersion","crossmintRef","__spreadProps","__spreadValues","target","prop","value","v","setJwt","jwt","useCrossmint","missingContextMessage","context","import_react","import_client_sdk_smart_wallet","import_jsx_runtime","deriveErrorState","error","message","stack","WalletContext","__async","CrossmintWalletProvider","children","config","crossmint","useCrossmint","state","setState","smartWalletSDK","getOrCreateWalletInternal","jwt","wallet","getOrCreateWalletExternal","__spreadProps","__spreadValues","import_react","useWallet","walletContext","WalletContext","import_client","import_client","import_jsx_runtime","CrossmintAuthProvider","embeddedWallets","children","appearance","crossmint","setJwt","useCrossmint","AuthCoreProvider","CrossmintWalletProvider","import_client_sdk_base","import_client_sdk_smart_wallet"]}
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { NFTCollectionViewProps, NFTDetailProps, Crossmint, createCrossmint } from '@crossmint/common-sdk-base';
2
+ import { NFTCollectionViewProps, NFTDetailProps, Crossmint, createCrossmint, UIConfig } from '@crossmint/common-sdk-base';
3
3
  import { CrossmintEmbeddedCheckoutProps, CrossmintPayButtonProps } from '@crossmint/client-sdk-base';
4
4
  export { CrossmintEvent, CrossmintEventMap, CrossmintEvents, useCrossmintEvents } from '@crossmint/client-sdk-base';
5
5
  import * as react from 'react';
@@ -55,9 +55,11 @@ declare function CrossmintWalletProvider({ children, config }: {
55
55
  children: ReactNode;
56
56
  }): react_jsx_runtime.JSX.Element;
57
57
 
58
- declare function CrossmintAuthProvider({ embeddedWallets, children, }: {
58
+ type CrossmintAuthProviderProps = {
59
59
  embeddedWallets: CrossmintWalletConfig;
60
60
  children: ReactNode;
61
- }): react_jsx_runtime.JSX.Element;
61
+ appearance?: UIConfig;
62
+ };
63
+ declare function CrossmintAuthProvider({ embeddedWallets, children, appearance }: CrossmintAuthProviderProps): react_jsx_runtime.JSX.Element;
62
64
 
63
65
  export { CrossmintAuthProvider, type CrossmintContext, CrossmintNFTCollectionView, CrossmintNFTDetail, CrossmintPayButton, type CrossmintPayButtonReactProps, CrossmintPaymentElement, CrossmintProvider, type CrossmintWalletConfig, CrossmintWalletProvider, WalletContext, useCrossmint, useWallet };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { NFTCollectionViewProps, NFTDetailProps, Crossmint, createCrossmint } from '@crossmint/common-sdk-base';
2
+ import { NFTCollectionViewProps, NFTDetailProps, Crossmint, createCrossmint, UIConfig } from '@crossmint/common-sdk-base';
3
3
  import { CrossmintEmbeddedCheckoutProps, CrossmintPayButtonProps } from '@crossmint/client-sdk-base';
4
4
  export { CrossmintEvent, CrossmintEventMap, CrossmintEvents, useCrossmintEvents } from '@crossmint/client-sdk-base';
5
5
  import * as react from 'react';
@@ -55,9 +55,11 @@ declare function CrossmintWalletProvider({ children, config }: {
55
55
  children: ReactNode;
56
56
  }): react_jsx_runtime.JSX.Element;
57
57
 
58
- declare function CrossmintAuthProvider({ embeddedWallets, children, }: {
58
+ type CrossmintAuthProviderProps = {
59
59
  embeddedWallets: CrossmintWalletConfig;
60
60
  children: ReactNode;
61
- }): react_jsx_runtime.JSX.Element;
61
+ appearance?: UIConfig;
62
+ };
63
+ declare function CrossmintAuthProvider({ embeddedWallets, children, appearance }: CrossmintAuthProviderProps): react_jsx_runtime.JSX.Element;
62
64
 
63
65
  export { CrossmintAuthProvider, type CrossmintContext, CrossmintNFTCollectionView, CrossmintNFTDetail, CrossmintPayButton, type CrossmintPayButtonReactProps, CrossmintPaymentElement, CrossmintProvider, type CrossmintWalletConfig, CrossmintWalletProvider, WalletContext, useCrossmint, useWallet };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var ht=Object.defineProperty,Et=Object.defineProperties;var yt=Object.getOwnPropertyDescriptors;var b=Object.getOwnPropertySymbols;var V=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable;var L=(t,e,o)=>e in t?ht(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,m=(t,e)=>{for(var o in e||(e={}))V.call(e,o)&&L(t,o,e[o]);if(b)for(var o of b(e))M.call(e,o)&&L(t,o,e[o]);return t},S=(t,e)=>Et(t,yt(e));var f=(t,e)=>{var o={};for(var r in t)V.call(t,r)&&e.indexOf(r)<0&&(o[r]=t[r]);if(t!=null&&b)for(var r of b(t))e.indexOf(r)<0&&M.call(t,r)&&(o[r]=t[r]);return o};var p=(t,e,o)=>new Promise((r,a)=>{var u=s=>{try{d(o.next(s))}catch(n){a(n)}},c=s=>{try{d(o.throw(s))}catch(n){a(n)}},d=s=>s.done?r(s.value):Promise.resolve(s.value).then(u,c);d((o=o.apply(t,e)).next())});import{assertValidNFTCollectionViewProps as wt,getNFTCollectionViewSrc as Pt}from"@crossmint/client-sdk-base";var g="1.3.12";import{jsx as bt}from"react/jsx-runtime";function ve(t){wt(t);let e=Pt(t,g);return bt("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}import{assertValidValidateNFTDetailProps as St,getNFTDetailSrc as vt}from"@crossmint/client-sdk-base";import{jsx as kt}from"react/jsx-runtime";function We(t){St(t);let e=vt(t,g);return kt("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}import{isCryptoEmbeddedCheckoutProps as Ut,isFiatEmbeddedCheckoutProps as Gt}from"@crossmint/client-sdk-base";import{isCryptoEmbeddedCheckoutPropsWithSigner as Lt}from"@crossmint/client-sdk-base";import Ft from"bs58";import{IncomingInternalEvents as H,OutgoingInternalEvents as U,crossmintIFrameService as Ot,embeddedCheckoutPropsToUpdatableParamsPayload as Bt}from"@crossmint/client-sdk-base";import It from"lodash.isequal";import{useEffect as xt,useRef as Tt}from"react";function E(t,e){let o=Tt(e);xt(()=>{if(e.some((a,u)=>!It(a,o.current[u])))return o.current=e,t()},[e])}import{useEffect as _,useState as D}from"react";import{IncomingInternalEvents as Wt,crossmintIFrameService as Nt}from"@crossmint/client-sdk-base";import{jsx as Rt}from"react/jsx-runtime";function y(o){var r=o,{onInternalEvent:t}=r,e=f(r,["onInternalEvent"]);let{getUrl:a,listenToEvents:u,listenToInternalEvents:c}=Nt(e),[d,s]=D(0),[n]=D(a(e));return _(()=>{let l=u(i=>{var C;return(C=e.onEvent)==null?void 0:C.call(e,i.data)});return()=>{l()}},[]),_(()=>{let l=c(i=>{let{type:C,payload:h}=i.data;C===Wt.UI_HEIGHT_CHANGED&&s(h.height),t==null||t(i.data)});return()=>{l()}},[]),Rt("iframe",{src:n,id:"crossmint-embedded-checkout.iframe",role:"crossmint-embedded-checkout.iframe",allow:"payment *",style:{boxShadow:"none",border:"none",padding:"0px",width:"100%",minWidth:"100%",overflow:"hidden",display:"block",userSelect:"none",transform:"translate(0px)",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${d}px`}})}import{jsx as At}from"react/jsx-runtime";function T(t){let{emitInternalEvent:e}=Ot(t),{signer:o,paymentMethod:r}=t;function a(s){let{type:n,payload:l}=s;if(n===H.CRYPTO_PAYMENT_INCOMING_TRANSACTION){let{serializedTransaction:i}=l;console.log("[Crossmint] Received incoming transaction",i),u(i)}if(n===H.CRYPTO_CHAIN_SWITCH){let{chain:i}=l;console.log("[Crossmint] Received change of chain",i);let C=o.handleChainSwitch;if(C==null)throw new Error("switchNetwork function should have been defined");C(i)}}function u(s){return p(this,null,function*(){try{let n;switch(r){case"SOL":n=yield c(o,s);break;case"ETH":n=yield d(o,s);break;default:throw new Error(`Unsupported payment method ${r}`)}console.log("[Crossmint] Signed and sent transaction",n),e({type:U.CRYPTO_PAYMENT_USER_ACCEPTED,payload:{txId:n}})}catch(n){console.error("[Crossmint] Failed to sign and send transaction",n),e({type:U.CRYPTO_PAYMENT_USER_REJECTED,payload:{}})}})}function c(s,n){return p(this,null,function*(){let{Transaction:l}=yield import("@solana/web3.js"),i=l.from(Ft.decode(n));return console.log("[Crossmint] Deserialized SOL transaction",i),yield s.signAndSendTransaction(i)})}function d(s,n){return p(this,null,function*(){let{parse:l}=yield import("@ethersproject/transactions"),i=l(n);return console.log("[Crossmint] Deserialized ETH transaction",i),yield s.signAndSendTransaction(i)})}return E(()=>{e({type:"params-update",payload:Bt(t)})},[t.signer.address,t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs,..."chain"in t.signer?[t.signer.chain]:[]]),At(y,m({onInternalEvent:a},t))}import{jsx as Vt}from"react/jsx-runtime";function G(t){if(!Lt(t))throw new Error("Invalid parameters: signer is required in versions < 2.0.0");return Vt(T,m({},t))}import{crossmintIFrameService as Mt,embeddedCheckoutPropsToUpdatableParamsPayload as _t}from"@crossmint/client-sdk-base";import{jsx as Dt}from"react/jsx-runtime";function W(t){let{emitInternalEvent:e}=Mt(t);return E(()=>{e({type:"params-update",payload:_t(t)})},[t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs]),Dt(y,m({},t))}import{jsx as Ht}from"react/jsx-runtime";function Y(t){return Ht(W,m({},t))}import{jsx as J}from"react/jsx-runtime";function So(t){if(Gt(t))return J(Y,m({},t));if(Ut(t))return J(G,m({},t));throw new Error("Unsupported: Fiat is the only supported payment method.")}import{useMemo as qt}from"react";import{useState as zt}from"react";import{clientNames as Qt,crossmintModalService as Xt,crossmintPayButtonService as Zt}from"@crossmint/client-sdk-base";import{useEffect as Yt,useState as Jt}from"react";function N(){let[t,e]=Jt(!0);return Yt(()=>{e(!1)},[]),{isServerSideRendering:t}}import{createUseStyles as Kt}from"react-jss";var $t="#1e1e1e",K=t=>t==="light",$=t=>({buttonBgColor:K(t)?"white":$t,paragraphColor:K(t)?"black":"white"}),jt={"@global":{"@import":"url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap')"},crossmintButton:{display:"flex","flex-direction":"row","align-items":"center",padding:"0.875rem 0.875rem","font-weight":"900",transition:"opacity ease-in-out 0.25s","border-radius":"0.5rem","font-family":'"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif',outline:"none",border:"none","box-shadow":"0px 8px 15px rgba(0, 0, 0, 0.1)","justify-content":"center",background:({buttonBgColor:t})=>t,"&:hover:enabled":{opacity:"0.6",cursor:"pointer"}},crossmintImg:{width:"21px",height:"21px","margin-right":"0.875rem"},crossmintParagraph:{color:({paragraphColor:t})=>t,margin:"0"}},j=Kt(jt);import{Fragment as ee,jsx as R,jsxs as te}from"react/jsx-runtime";function Uo(t){let A=t,{className:e,disabled:o,onClick:r,style:a,tabIndex:u,theme:c="dark",mintTo:d,emailTo:s,listingId:n,auctionId:l,showOverlay:i=!0,mintConfig:C,whPassThroughArgs:h,environment:Z,paymentMethod:w,preferredSigninMethod:tt,dismissOverlayOnClick:et,prepay:ot,locale:O="en-US",currency:rt="usd",successCallbackURL:nt="",failureCallbackURL:st="",loginEmail:it="",projectId:at,getButtonText:k,checkoutProps:B={experimental:!1,display:"same-tab",paymentMethods:["fiat","ETH","SOL"]}}=A,I=f(A,["className","disabled","onClick","style","tabIndex","theme","mintTo","emailTo","listingId","auctionId","showOverlay","mintConfig","whPassThroughArgs","environment","paymentMethod","preferredSigninMethod","dismissOverlayOnClick","prepay","locale","currency","successCallbackURL","failureCallbackURL","loginEmail","projectId","getButtonText","checkoutProps"]),lt="clientId"in I?I.clientId:I.collectionId,[P,mt]=zt(!1),{isServerSideRendering:ct}=N(),{connect:dt}=Xt({clientId:lt,projectId:at,showOverlay:i,dismissOverlayOnClick:et,setConnecting:mt,libVersion:g,environment:Z,clientName:Qt.reactUi,locale:O,currency:rt,successCallbackURL:nt,failureCallbackURL:st,loginEmail:it}),{getButtonText:ut,handleClick:Ct}=Zt({onClick:r,connecting:P,paymentMethod:w,locale:O,checkoutProps:B}),pt=gt=>Ct(gt,()=>{dt(C,d,s,n,h,w,tt,ot,B)}),x=j($(c)),ft=qt(()=>R("span",{className:x.crossmintParagraph,role:"button-paragraph",children:k!=null?k(P,w||"fiat"):ut(P)}),[P,k,w]);return R(ee,{children:!ct&&te("button",{className:`${x.crossmintButton} ${e||""}`,disabled:o,onClick:pt,style:m({},a),tabIndex:u,children:[R("img",{className:x.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),ft]})})}import{createContext as oe,useCallback as re,useContext as ne,useMemo as se,useRef as ie,useState as ae}from"react";import{getCachedJwt as le}from"@crossmint/client-sdk-auth-core/client";import{createCrossmint as me}from"@crossmint/common-sdk-base";import{jsx as ce}from"react/jsx-runtime";var q=oe(null);function Qo(o){var r=o,{children:t}=r,e=f(r,["children"]);var n;let[a,u]=ae(0),c=ie(new Proxy(me(S(m({},e),{jwt:(n=e.jwt)!=null?n:le()})),{set(l,i,C){return i==="jwt"&&l.jwt!==C&&u(h=>h+1),Reflect.set(l,i,C)}})),d=re(l=>{l!==c.current.jwt&&(c.current.jwt=l)},[]),s=se(()=>({get crossmint(){return c.current},setJwt:d}),[d,a]);return ce(q.Provider,{value:s,children:t})}function v(t){let e=ne(q);if(e==null)throw new Error(t!=null?t:"useCrossmint must be used within a CrossmintProvider");return e}import{createContext as de,useEffect as ue,useMemo as Ce,useState as pe}from"react";import{SmartWalletError as z,SmartWalletSDK as fe}from"@crossmint/client-sdk-smart-wallet";import{jsx as he}from"react/jsx-runtime";function ge(t){if(t instanceof z)return{status:"loading-error",error:t};let e=t instanceof Error?t.message:String(t),o=t instanceof Error?t.stack:void 0;return{status:"loading-error",error:new z(`Unknown Wallet Error: ${e}`,o)}}var F=de({status:"not-loaded",getOrCreateWallet:()=>p(void 0,null,function*(){})});function Q({children:t,config:e}){let{crossmint:o}=v("CrossmintWalletProvider must be used within CrossmintProvider"),[r,a]=pe({status:"not-loaded"}),u=Ce(()=>fe.init({clientApiKey:o.apiKey}),[o.apiKey]),c=s=>p(this,null,function*(){try{a({status:"in-progress"});let n=yield u.getOrCreateWallet({jwt:s},e.defaultChain);a({status:"loaded",wallet:n})}catch(n){console.error("There was an error creating a wallet ",n),a(ge(n))}});ue(()=>{if(e.createOnLogin==="all-users"&&o.jwt!=null&&r.status==="not-loaded"){console.log("Getting or Creating wallet"),c(o.jwt);return}if(r.status==="loaded"&&o.jwt==null){console.log("Clearing wallet"),a({status:"not-loaded"});return}},[o.jwt,e.createOnLogin,r.status]);let d=()=>p(this,null,function*(){if(o.jwt==null){console.log("No authenticated user, not creating wallet.");return}if(r.status==="loaded"||r.status==="in-progress"){console.log("Wallet is already loaded, or is currently loading.");return}return c(o.jwt)});return he(F.Provider,{value:S(m({},r),{getOrCreateWallet:d}),children:t})}import{useContext as Ee}from"react";function dr(){let t=Ee(F);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}import{useAuth as hr}from"@crossmint/client-sdk-auth-core/client";import{AuthProvider as ye}from"@crossmint/client-sdk-auth-core/client";import{jsx as X}from"react/jsx-runtime";function br({embeddedWallets:t,children:e}){let{crossmint:o,setJwt:r}=v("CrossmintAuthProvider must be used within CrossmintProvider");return X(ye,{setJwtToken:r,crossmint:o,children:X(Q,{config:t,children:e})})}import{CrossmintEvents as Nr,useCrossmintEvents as Rr}from"@crossmint/client-sdk-base";import{Chain as Or}from"@crossmint/client-sdk-smart-wallet";export{Or as Chain,br as CrossmintAuthProvider,Nr as CrossmintEvents,ve as CrossmintNFTCollectionView,We as CrossmintNFTDetail,Uo as CrossmintPayButton,So as CrossmintPaymentElement,Qo as CrossmintProvider,Q as CrossmintWalletProvider,F as WalletContext,hr as useAuth,v as useCrossmint,Rr as useCrossmintEvents,dr as useWallet};
1
+ var ht=Object.defineProperty,Et=Object.defineProperties;var yt=Object.getOwnPropertyDescriptors;var b=Object.getOwnPropertySymbols;var V=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable;var L=(t,e,o)=>e in t?ht(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,m=(t,e)=>{for(var o in e||(e={}))V.call(e,o)&&L(t,o,e[o]);if(b)for(var o of b(e))M.call(e,o)&&L(t,o,e[o]);return t},S=(t,e)=>Et(t,yt(e));var f=(t,e)=>{var o={};for(var r in t)V.call(t,r)&&e.indexOf(r)<0&&(o[r]=t[r]);if(t!=null&&b)for(var r of b(t))e.indexOf(r)<0&&M.call(t,r)&&(o[r]=t[r]);return o};var p=(t,e,o)=>new Promise((r,a)=>{var u=s=>{try{d(o.next(s))}catch(n){a(n)}},c=s=>{try{d(o.throw(s))}catch(n){a(n)}},d=s=>s.done?r(s.value):Promise.resolve(s.value).then(u,c);d((o=o.apply(t,e)).next())});import{assertValidNFTCollectionViewProps as Pt,getNFTCollectionViewSrc as wt}from"@crossmint/client-sdk-base";var g="1.3.13";import{jsx as bt}from"react/jsx-runtime";function ve(t){Pt(t);let e=wt(t,g);return bt("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}import{assertValidValidateNFTDetailProps as St,getNFTDetailSrc as vt}from"@crossmint/client-sdk-base";import{jsx as It}from"react/jsx-runtime";function We(t){St(t);let e=vt(t,g);return It("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}import{isCryptoEmbeddedCheckoutProps as Ht,isFiatEmbeddedCheckoutProps as Gt}from"@crossmint/client-sdk-base";import{isCryptoEmbeddedCheckoutPropsWithSigner as Lt}from"@crossmint/client-sdk-base";import Ft from"bs58";import{IncomingInternalEvents as U,OutgoingInternalEvents as H,crossmintIFrameService as Ot,embeddedCheckoutPropsToUpdatableParamsPayload as Bt}from"@crossmint/client-sdk-base";import kt from"lodash.isequal";import{useEffect as xt,useRef as Tt}from"react";function E(t,e){let o=Tt(e);xt(()=>{if(e.some((a,u)=>!kt(a,o.current[u])))return o.current=e,t()},[e])}import{useEffect as _,useState as D}from"react";import{IncomingInternalEvents as Wt,crossmintIFrameService as Nt}from"@crossmint/client-sdk-base";import{jsx as Rt}from"react/jsx-runtime";function y(o){var r=o,{onInternalEvent:t}=r,e=f(r,["onInternalEvent"]);let{getUrl:a,listenToEvents:u,listenToInternalEvents:c}=Nt(e),[d,s]=D(0),[n]=D(a(e));return _(()=>{let l=u(i=>{var C;return(C=e.onEvent)==null?void 0:C.call(e,i.data)});return()=>{l()}},[]),_(()=>{let l=c(i=>{let{type:C,payload:h}=i.data;C===Wt.UI_HEIGHT_CHANGED&&s(h.height),t==null||t(i.data)});return()=>{l()}},[]),Rt("iframe",{src:n,id:"crossmint-embedded-checkout.iframe",role:"crossmint-embedded-checkout.iframe",allow:"payment *",style:{boxShadow:"none",border:"none",padding:"0px",width:"100%",minWidth:"100%",overflow:"hidden",display:"block",userSelect:"none",transform:"translate(0px)",opacity:"1",transition:"ease 0s, opacity 0.4s ease 0.1s",height:`${d}px`}})}import{jsx as At}from"react/jsx-runtime";function T(t){let{emitInternalEvent:e}=Ot(t),{signer:o,paymentMethod:r}=t;function a(s){let{type:n,payload:l}=s;if(n===U.CRYPTO_PAYMENT_INCOMING_TRANSACTION){let{serializedTransaction:i}=l;console.log("[Crossmint] Received incoming transaction",i),u(i)}if(n===U.CRYPTO_CHAIN_SWITCH){let{chain:i}=l;console.log("[Crossmint] Received change of chain",i);let C=o.handleChainSwitch;if(C==null)throw new Error("switchNetwork function should have been defined");C(i)}}function u(s){return p(this,null,function*(){try{let n;switch(r){case"SOL":n=yield c(o,s);break;case"ETH":n=yield d(o,s);break;default:throw new Error(`Unsupported payment method ${r}`)}console.log("[Crossmint] Signed and sent transaction",n),e({type:H.CRYPTO_PAYMENT_USER_ACCEPTED,payload:{txId:n}})}catch(n){console.error("[Crossmint] Failed to sign and send transaction",n),e({type:H.CRYPTO_PAYMENT_USER_REJECTED,payload:{}})}})}function c(s,n){return p(this,null,function*(){let{Transaction:l}=yield import("@solana/web3.js"),i=l.from(Ft.decode(n));return console.log("[Crossmint] Deserialized SOL transaction",i),yield s.signAndSendTransaction(i)})}function d(s,n){return p(this,null,function*(){let{parse:l}=yield import("@ethersproject/transactions"),i=l(n);return console.log("[Crossmint] Deserialized ETH transaction",i),yield s.signAndSendTransaction(i)})}return E(()=>{e({type:"params-update",payload:Bt(t)})},[t.signer.address,t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs,..."chain"in t.signer?[t.signer.chain]:[]]),At(y,m({onInternalEvent:a},t))}import{jsx as Vt}from"react/jsx-runtime";function G(t){if(!Lt(t))throw new Error("Invalid parameters: signer is required in versions < 2.0.0");return Vt(T,m({},t))}import{crossmintIFrameService as Mt,embeddedCheckoutPropsToUpdatableParamsPayload as _t}from"@crossmint/client-sdk-base";import{jsx as Dt}from"react/jsx-runtime";function W(t){let{emitInternalEvent:e}=Mt(t);return E(()=>{e({type:"params-update",payload:_t(t)})},[t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs]),Dt(y,m({},t))}import{jsx as Ut}from"react/jsx-runtime";function Y(t){return Ut(W,m({},t))}import{jsx as J}from"react/jsx-runtime";function So(t){if(Gt(t))return J(Y,m({},t));if(Ht(t))return J(G,m({},t));throw new Error("Unsupported: Fiat is the only supported payment method.")}import{useMemo as qt}from"react";import{useState as zt}from"react";import{clientNames as Qt,crossmintModalService as Xt,crossmintPayButtonService as Zt}from"@crossmint/client-sdk-base";import{useEffect as Yt,useState as Jt}from"react";function N(){let[t,e]=Jt(!0);return Yt(()=>{e(!1)},[]),{isServerSideRendering:t}}import{createUseStyles as Kt}from"react-jss";var $t="#1e1e1e",K=t=>t==="light",$=t=>({buttonBgColor:K(t)?"white":$t,paragraphColor:K(t)?"black":"white"}),jt={"@global":{"@import":"url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap')"},crossmintButton:{display:"flex","flex-direction":"row","align-items":"center",padding:"0.875rem 0.875rem","font-weight":"900",transition:"opacity ease-in-out 0.25s","border-radius":"0.5rem","font-family":'"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif',outline:"none",border:"none","box-shadow":"0px 8px 15px rgba(0, 0, 0, 0.1)","justify-content":"center",background:({buttonBgColor:t})=>t,"&:hover:enabled":{opacity:"0.6",cursor:"pointer"}},crossmintImg:{width:"21px",height:"21px","margin-right":"0.875rem"},crossmintParagraph:{color:({paragraphColor:t})=>t,margin:"0"}},j=Kt(jt);import{Fragment as ee,jsx as R,jsxs as te}from"react/jsx-runtime";function Ho(t){let A=t,{className:e,disabled:o,onClick:r,style:a,tabIndex:u,theme:c="dark",mintTo:d,emailTo:s,listingId:n,auctionId:l,showOverlay:i=!0,mintConfig:C,whPassThroughArgs:h,environment:Z,paymentMethod:P,preferredSigninMethod:tt,dismissOverlayOnClick:et,prepay:ot,locale:O="en-US",currency:rt="usd",successCallbackURL:nt="",failureCallbackURL:st="",loginEmail:it="",projectId:at,getButtonText:I,checkoutProps:B={experimental:!1,display:"same-tab",paymentMethods:["fiat","ETH","SOL"]}}=A,k=f(A,["className","disabled","onClick","style","tabIndex","theme","mintTo","emailTo","listingId","auctionId","showOverlay","mintConfig","whPassThroughArgs","environment","paymentMethod","preferredSigninMethod","dismissOverlayOnClick","prepay","locale","currency","successCallbackURL","failureCallbackURL","loginEmail","projectId","getButtonText","checkoutProps"]),lt="clientId"in k?k.clientId:k.collectionId,[w,mt]=zt(!1),{isServerSideRendering:ct}=N(),{connect:dt}=Xt({clientId:lt,projectId:at,showOverlay:i,dismissOverlayOnClick:et,setConnecting:mt,libVersion:g,environment:Z,clientName:Qt.reactUi,locale:O,currency:rt,successCallbackURL:nt,failureCallbackURL:st,loginEmail:it}),{getButtonText:ut,handleClick:Ct}=Zt({onClick:r,connecting:w,paymentMethod:P,locale:O,checkoutProps:B}),pt=gt=>Ct(gt,()=>{dt(C,d,s,n,h,P,tt,ot,B)}),x=j($(c)),ft=qt(()=>R("span",{className:x.crossmintParagraph,role:"button-paragraph",children:I!=null?I(w,P||"fiat"):ut(w)}),[w,I,P]);return R(ee,{children:!ct&&te("button",{className:`${x.crossmintButton} ${e||""}`,disabled:o,onClick:pt,style:m({},a),tabIndex:u,children:[R("img",{className:x.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),ft]})})}import{createContext as oe,useCallback as re,useContext as ne,useMemo as se,useRef as ie,useState as ae}from"react";import{getCachedJwt as le}from"@crossmint/client-sdk-auth-core/client";import{createCrossmint as me}from"@crossmint/common-sdk-base";import{jsx as ce}from"react/jsx-runtime";var q=oe(null);function Qo(o){var r=o,{children:t}=r,e=f(r,["children"]);var n;let[a,u]=ae(0),c=ie(new Proxy(me(S(m({},e),{jwt:(n=e.jwt)!=null?n:le()})),{set(l,i,C){return i==="jwt"&&l.jwt!==C&&u(h=>h+1),Reflect.set(l,i,C)}})),d=re(l=>{l!==c.current.jwt&&(c.current.jwt=l)},[]),s=se(()=>({get crossmint(){return c.current},setJwt:d}),[d,a]);return ce(q.Provider,{value:s,children:t})}function v(t){let e=ne(q);if(e==null)throw new Error(t!=null?t:"useCrossmint must be used within a CrossmintProvider");return e}import{createContext as de,useEffect as ue,useMemo as Ce,useState as pe}from"react";import{SmartWalletError as z,SmartWalletSDK as fe}from"@crossmint/client-sdk-smart-wallet";import{jsx as he}from"react/jsx-runtime";function ge(t){if(t instanceof z)return{status:"loading-error",error:t};let e=t instanceof Error?t.message:String(t),o=t instanceof Error?t.stack:void 0;return{status:"loading-error",error:new z(`Unknown Wallet Error: ${e}`,o)}}var F=de({status:"not-loaded",getOrCreateWallet:()=>p(void 0,null,function*(){})});function Q({children:t,config:e}){let{crossmint:o}=v("CrossmintWalletProvider must be used within CrossmintProvider"),[r,a]=pe({status:"not-loaded"}),u=Ce(()=>fe.init({clientApiKey:o.apiKey}),[o.apiKey]),c=s=>p(this,null,function*(){try{a({status:"in-progress"});let n=yield u.getOrCreateWallet({jwt:s},e.defaultChain);a({status:"loaded",wallet:n})}catch(n){console.error("There was an error creating a wallet ",n),a(ge(n))}});ue(()=>{if(e.createOnLogin==="all-users"&&o.jwt!=null&&r.status==="not-loaded"){console.log("Getting or Creating wallet"),c(o.jwt);return}if(r.status==="loaded"&&o.jwt==null){console.log("Clearing wallet"),a({status:"not-loaded"});return}},[o.jwt,e.createOnLogin,r.status]);let d=()=>p(this,null,function*(){if(o.jwt==null){console.log("No authenticated user, not creating wallet.");return}if(r.status==="loaded"||r.status==="in-progress"){console.log("Wallet is already loaded, or is currently loading.");return}return c(o.jwt)});return he(F.Provider,{value:S(m({},r),{getOrCreateWallet:d}),children:t})}import{useContext as Ee}from"react";function dr(){let t=Ee(F);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}import{useAuth as hr}from"@crossmint/client-sdk-auth-core/client";import{AuthProvider as ye}from"@crossmint/client-sdk-auth-core/client";import{jsx as X}from"react/jsx-runtime";function br({embeddedWallets:t,children:e,appearance:o}){let{crossmint:r,setJwt:a}=v("CrossmintAuthProvider must be used within CrossmintProvider");return X(ye,{setJwtToken:a,crossmint:r,appearance:o,children:X(Q,{config:t,children:e})})}import{CrossmintEvents as Nr,useCrossmintEvents as Rr}from"@crossmint/client-sdk-base";import{Chain as Or}from"@crossmint/client-sdk-smart-wallet";export{Or as Chain,br as CrossmintAuthProvider,Nr as CrossmintEvents,ve as CrossmintNFTCollectionView,We as CrossmintNFTDetail,Ho as CrossmintPayButton,So as CrossmintPaymentElement,Qo as CrossmintProvider,Q as CrossmintWalletProvider,F as WalletContext,hr as useAuth,v as useCrossmint,Rr as useCrossmintEvents,dr as useWallet};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/CrossmintNFTCollectionView.tsx","../src/consts/version.ts","../src/components/CrossmintNFTDetail.tsx","../src/components/embed/index.tsx","../src/components/embed/crypto/CryptoEmbeddedCheckout.tsx","../src/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.tsx","../src/hooks/useDeepEffect.ts","../src/components/embed/EmbeddedCheckoutIFrame.tsx","../src/components/embed/fiat/FiatEmbeddedCheckoutIFrame.tsx","../src/components/embed/fiat/FiatEmbeddedCheckout.tsx","../src/components/hosted/CrossmintPayButton.tsx","../src/hooks/useEnvironment.ts","../src/components/hosted/styles.ts","../src/hooks/useCrossmint.tsx","../src/providers/CrossmintWalletProvider.tsx","../src/hooks/useWallet.ts","../src/hooks/index.ts","../src/providers/CrossmintAuthProvider.tsx","../src/index.ts"],"sourcesContent":["import { assertValidNFTCollectionViewProps, getNFTCollectionViewSrc } from \"@crossmint/client-sdk-base\";\nimport { NFTCollectionViewProps } from \"@crossmint/common-sdk-base\";\n\nimport { LIB_VERSION } from \"../consts/version\";\n\nexport function CrossmintNFTCollectionView(props: NFTCollectionViewProps) {\n assertValidNFTCollectionViewProps(props);\n\n const src = getNFTCollectionViewSrc(props, LIB_VERSION);\n\n return (\n <iframe\n src={src}\n width=\"100%\"\n height=\"100%\"\n style={{\n flexGrow: \"1\",\n border: \"none\",\n margin: \"0\",\n padding: \"0\",\n }}\n role=\"nft-collection-view\"\n />\n );\n}\n","export const LIB_VERSION = \"1.3.12\";\n","import { assertValidValidateNFTDetailProps, getNFTDetailSrc } from \"@crossmint/client-sdk-base\";\nimport { NFTDetailProps } from \"@crossmint/common-sdk-base\";\n\nimport { LIB_VERSION } from \"../consts/version\";\n\nexport function CrossmintNFTDetail(props: NFTDetailProps) {\n assertValidValidateNFTDetailProps(props);\n\n const src = getNFTDetailSrc(props, LIB_VERSION);\n\n return (\n <iframe\n src={src}\n width=\"100%\"\n height=\"100%\"\n style={{\n flexGrow: \"1\",\n border: \"none\",\n margin: \"0\",\n padding: \"0\",\n }}\n role=\"nft-details\"\n />\n );\n}\n","import {\n CrossmintEmbeddedCheckoutProps,\n isCryptoEmbeddedCheckoutProps,\n isFiatEmbeddedCheckoutProps,\n} from \"@crossmint/client-sdk-base\";\n\nimport { CrossmintCryptoEmbeddedCheckout } from \"./crypto/CryptoEmbeddedCheckout\";\nimport { CrossmintFiatEmbeddedCheckout } from \"./fiat/FiatEmbeddedCheckout\";\n\n// TODO: Rename to CrossmintEmbeddedCheckout on v2 major publish, prior announcement since its a breaking change\nexport function CrossmintPaymentElement(props: CrossmintEmbeddedCheckoutProps) {\n if (isFiatEmbeddedCheckoutProps(props)) {\n return <CrossmintFiatEmbeddedCheckout {...props} />;\n }\n if (isCryptoEmbeddedCheckoutProps(props)) {\n return <CrossmintCryptoEmbeddedCheckout {...props} />;\n }\n throw new Error(\"Unsupported: Fiat is the only supported payment method.\");\n}\n","import { CryptoEmbeddedCheckoutProps, isCryptoEmbeddedCheckoutPropsWithSigner } from \"@crossmint/client-sdk-base\";\n\nimport CryptoEmbeddedCheckoutIFrame from \"./CryptoEmbeddedCheckoutIFrame\";\n\nexport function CrossmintCryptoEmbeddedCheckout(props: CryptoEmbeddedCheckoutProps) {\n if (!isCryptoEmbeddedCheckoutPropsWithSigner(props)) {\n throw new Error(\"Invalid parameters: signer is required in versions < 2.0.0\");\n }\n\n return <CryptoEmbeddedCheckoutIFrame {...props} />;\n}\n","import bs58 from \"bs58\";\n\nimport {\n CryptoEmbeddedCheckoutPropsWithSigner,\n ETHEmbeddedCheckoutSigner,\n IncomingInternalEvent,\n IncomingInternalEvents,\n OutgoingInternalEvents,\n SOLEmbeddedCheckoutSigner,\n crossmintIFrameService,\n embeddedCheckoutPropsToUpdatableParamsPayload,\n} from \"@crossmint/client-sdk-base\";\nimport { EVMBlockchainIncludingTestnet } from \"@crossmint/common-sdk-base\";\n\nimport useDeepEffect from \"../../../hooks/useDeepEffect\";\nimport CrossmintEmbeddedCheckoutIFrame from \"../EmbeddedCheckoutIFrame\";\n\nexport default function CryptoEmbeddedCheckoutIFrame(props: CryptoEmbeddedCheckoutPropsWithSigner) {\n const { emitInternalEvent } = crossmintIFrameService(props);\n\n const { signer, paymentMethod } = props;\n\n function onInternalEvent(event: IncomingInternalEvent) {\n const { type, payload } = event;\n\n if (type === IncomingInternalEvents.CRYPTO_PAYMENT_INCOMING_TRANSACTION) {\n const { serializedTransaction } = payload;\n console.log(\"[Crossmint] Received incoming transaction\", serializedTransaction);\n handleIncomingTransaction(serializedTransaction);\n }\n\n if (type === IncomingInternalEvents.CRYPTO_CHAIN_SWITCH) {\n const { chain } = payload;\n console.log(\"[Crossmint] Received change of chain\", chain);\n\n const handleChainSwitch = (signer as ETHEmbeddedCheckoutSigner).handleChainSwitch;\n if (handleChainSwitch == null) {\n throw new Error(\"switchNetwork function should have been defined\");\n }\n handleChainSwitch(chain as EVMBlockchainIncludingTestnet);\n }\n }\n\n async function handleIncomingTransaction(serializedTransaction: string) {\n try {\n let txId: string;\n switch (paymentMethod) {\n case \"SOL\":\n txId = await handleSOLTransaction(signer, serializedTransaction);\n break;\n case \"ETH\":\n txId = await handleETHTransaction(signer, serializedTransaction);\n break;\n default:\n throw new Error(`Unsupported payment method ${paymentMethod}`);\n }\n\n console.log(\"[Crossmint] Signed and sent transaction\", txId);\n emitInternalEvent({\n type: OutgoingInternalEvents.CRYPTO_PAYMENT_USER_ACCEPTED,\n payload: {\n txId,\n },\n });\n } catch (e) {\n console.error(\"[Crossmint] Failed to sign and send transaction\", e);\n emitInternalEvent({\n type: OutgoingInternalEvents.CRYPTO_PAYMENT_USER_REJECTED,\n payload: {},\n });\n }\n }\n\n async function handleSOLTransaction(signer: SOLEmbeddedCheckoutSigner, serializedTransaction: string) {\n // @ts-ignore - Error becasue we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { Transaction } = await import(\"@solana/web3.js\");\n const transaction = Transaction.from(bs58.decode(serializedTransaction));\n console.log(\"[Crossmint] Deserialized SOL transaction\", transaction);\n\n return await signer.signAndSendTransaction(transaction);\n }\n\n async function handleETHTransaction(signer: ETHEmbeddedCheckoutSigner, serializedTransaction: string) {\n // @ts-ignore - Error becasue we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { parse: parseTransaction } = await import(\"@ethersproject/transactions\");\n const transaction = parseTransaction(serializedTransaction);\n console.log(\"[Crossmint] Deserialized ETH transaction\", transaction);\n\n return await signer.signAndSendTransaction(transaction);\n }\n\n useDeepEffect(() => {\n emitInternalEvent({\n type: \"params-update\",\n payload: embeddedCheckoutPropsToUpdatableParamsPayload(props),\n });\n }, [\n props.signer.address,\n props.recipient,\n props.mintConfig,\n props.locale,\n props.currency,\n props.whPassThroughArgs,\n ...(\"chain\" in props.signer ? [props.signer.chain] : []),\n ]);\n\n return <CrossmintEmbeddedCheckoutIFrame onInternalEvent={onInternalEvent} {...props} />;\n}\n","import isEqual from \"lodash.isequal\";\nimport { DependencyList, EffectCallback, useEffect, useRef } from \"react\";\n\nexport default function useDeepEffect(callback: EffectCallback, dependencies: DependencyList): void {\n const dependenciesRef = useRef(dependencies);\n\n useEffect(() => {\n const hasChanged = dependencies.some((dep, i) => !isEqual(dep, dependenciesRef.current[i]));\n\n if (hasChanged) {\n dependenciesRef.current = dependencies;\n return callback();\n }\n }, [dependencies]);\n}\n","import { useEffect, useState } from \"react\";\n\nimport {\n CrossmintEmbeddedCheckoutProps,\n IncomingInternalEvent,\n IncomingInternalEvents,\n crossmintIFrameService,\n} from \"@crossmint/client-sdk-base\";\n\ntype CrossmintEmbeddedCheckoutIFrameProps = CrossmintEmbeddedCheckoutProps & {\n onInternalEvent?: (event: IncomingInternalEvent) => void;\n};\n\nexport default function CrossmintEmbeddedCheckoutIFrame({\n onInternalEvent,\n ...props\n}: CrossmintEmbeddedCheckoutIFrameProps) {\n const { getUrl, listenToEvents, listenToInternalEvents } = crossmintIFrameService(props);\n\n const [height, setHeight] = useState(0);\n const [url] = useState(getUrl(props));\n\n // Public events\n useEffect(() => {\n const clearListener = listenToEvents((event) => props.onEvent?.(event.data));\n\n return () => {\n clearListener();\n };\n }, []);\n\n // Internal events\n useEffect(() => {\n const clearListener = listenToInternalEvents((event) => {\n const { type, payload } = event.data;\n\n if (type === IncomingInternalEvents.UI_HEIGHT_CHANGED) {\n setHeight(payload.height);\n }\n\n onInternalEvent?.(event.data);\n });\n\n return () => {\n clearListener();\n };\n }, []);\n\n return (\n <iframe\n src={url}\n id=\"crossmint-embedded-checkout.iframe\"\n role=\"crossmint-embedded-checkout.iframe\"\n allow=\"payment *\"\n style={{\n boxShadow: \"none\",\n border: \"none\",\n padding: \"0px\",\n width: \"100%\",\n minWidth: \"100%\",\n overflow: \"hidden\",\n display: \"block\",\n userSelect: \"none\",\n transform: \"translate(0px)\",\n opacity: \"1\",\n transition: \"ease 0s, opacity 0.4s ease 0.1s\",\n height: `${height}px`,\n }}\n />\n );\n}\n","import {\n FiatEmbeddedCheckoutProps,\n crossmintIFrameService,\n embeddedCheckoutPropsToUpdatableParamsPayload,\n} from \"@crossmint/client-sdk-base\";\n\nimport useDeepEffect from \"../../../hooks/useDeepEffect\";\nimport CrossmintEmbeddedCheckoutIFrame from \"../EmbeddedCheckoutIFrame\";\n\nexport default function FiatEmbeddedCheckoutIFrame(props: FiatEmbeddedCheckoutProps) {\n const { emitInternalEvent } = crossmintIFrameService(props);\n\n useDeepEffect(() => {\n emitInternalEvent({\n type: \"params-update\",\n payload: embeddedCheckoutPropsToUpdatableParamsPayload(props),\n });\n }, [props.recipient, props.mintConfig, props.locale, props.currency, props.whPassThroughArgs]);\n\n return <CrossmintEmbeddedCheckoutIFrame {...props} />;\n}\n","import { FiatEmbeddedCheckoutProps } from \"@crossmint/client-sdk-base\";\n\nimport FiatEmbeddedCheckoutIFrame from \"../../../components/embed/fiat/FiatEmbeddedCheckoutIFrame\";\n\nexport function CrossmintFiatEmbeddedCheckout(props: FiatEmbeddedCheckoutProps) {\n return <FiatEmbeddedCheckoutIFrame {...props} />;\n}\n","import { CSSProperties, MouseEvent, useMemo } from \"react\";\nimport { useState } from \"react\";\n\nimport {\n CheckoutProps,\n CrossmintPayButtonProps,\n clientNames,\n crossmintModalService,\n crossmintPayButtonService,\n} from \"@crossmint/client-sdk-base\";\n\nimport { LIB_VERSION } from \"../../consts/version\";\nimport useEnvironment from \"../../hooks/useEnvironment\";\nimport { formatProps, useStyles } from \"./styles\";\n\nexport type CrossmintPayButtonReactProps = CrossmintPayButtonProps & {\n onClick?: (e: MouseEvent<HTMLButtonElement>) => void;\n style?: CSSProperties;\n};\n\nexport function CrossmintPayButton(buttonProps: CrossmintPayButtonReactProps) {\n const {\n className,\n disabled,\n onClick,\n style,\n tabIndex,\n theme = \"dark\",\n mintTo,\n emailTo,\n listingId,\n auctionId,\n showOverlay = true,\n mintConfig,\n whPassThroughArgs,\n environment,\n paymentMethod,\n preferredSigninMethod,\n dismissOverlayOnClick,\n prepay,\n locale = \"en-US\",\n currency = \"usd\",\n successCallbackURL = \"\",\n failureCallbackURL = \"\",\n loginEmail = \"\",\n projectId,\n getButtonText,\n checkoutProps = {\n experimental: false,\n display: \"same-tab\",\n paymentMethods: [\"fiat\", \"ETH\", \"SOL\"],\n } as CheckoutProps,\n ...props\n } = buttonProps;\n\n const collectionId = \"clientId\" in props ? props.clientId : props.collectionId;\n\n const [connecting, setConnecting] = useState(false);\n const { isServerSideRendering } = useEnvironment();\n\n const { connect } = crossmintModalService({\n clientId: collectionId,\n projectId,\n showOverlay,\n dismissOverlayOnClick,\n setConnecting,\n libVersion: LIB_VERSION,\n environment,\n clientName: clientNames.reactUi,\n locale,\n currency,\n successCallbackURL,\n failureCallbackURL,\n loginEmail,\n });\n\n const { getButtonText: getButtonTextInternal, handleClick } = crossmintPayButtonService({\n onClick,\n connecting,\n paymentMethod,\n locale,\n checkoutProps,\n });\n\n const _handleClick = (event: MouseEvent<HTMLButtonElement>) =>\n handleClick(event, () => {\n connect(\n mintConfig,\n mintTo,\n emailTo,\n listingId,\n whPassThroughArgs,\n paymentMethod,\n preferredSigninMethod,\n prepay,\n checkoutProps\n );\n });\n\n const classes = useStyles(formatProps(theme));\n\n const content = useMemo(() => {\n return (\n <span className={classes.crossmintParagraph} role=\"button-paragraph\">\n {getButtonText != null\n ? getButtonText(connecting, paymentMethod || \"fiat\")\n : getButtonTextInternal(connecting)}\n </span>\n );\n }, [connecting, getButtonText, paymentMethod]);\n\n return (\n <>\n {!isServerSideRendering && (\n <button\n className={`${classes.crossmintButton} ${className || \"\"}`}\n disabled={disabled}\n onClick={_handleClick}\n style={{ ...style }}\n tabIndex={tabIndex}\n >\n <img\n className={classes.crossmintImg}\n src=\"https://www.crossmint.io/assets/crossmint/logo.svg\"\n alt=\"Crossmint logo\"\n />\n {content}\n </button>\n )}\n </>\n );\n}\n","import { useEffect, useState } from \"react\";\n\nexport default function useEnvironment() {\n const [isServerSideRendering, setIsServerSideRendering] = useState(true);\n useEffect(() => {\n setIsServerSideRendering(false);\n }, []);\n\n return { isServerSideRendering };\n}\n","import { Styles, createUseStyles } from \"react-jss\";\n\nconst DARK_BG = \"#1e1e1e\";\n\nconst themeIsLight = (theme: string) => theme === \"light\";\n\nexport const formatProps = (theme: string): CustomStylingProps => ({\n buttonBgColor: themeIsLight(theme) ? \"white\" : DARK_BG,\n paragraphColor: themeIsLight(theme) ? \"black\" : \"white\",\n});\n\nexport type Classes<Name extends string | number | symbol = string> = Record<Name, string>;\ninterface CustomStylingProps {\n buttonBgColor?: string;\n paragraphColor?: string;\n}\n\nconst styles: Styles<\"crossmintButton\" | \"crossmintImg\" | \"crossmintParagraph\" | \"@global\", CustomStylingProps> = {\n \"@global\": {\n \"@import\":\n \"url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap')\",\n },\n crossmintButton: {\n display: \"flex\",\n \"flex-direction\": \"row\",\n \"align-items\": \"center\",\n padding: \"0.875rem 0.875rem\",\n \"font-weight\": \"900\",\n transition: \"opacity ease-in-out 0.25s\",\n \"border-radius\": \"0.5rem\",\n \"font-family\": `\"Inter\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif`,\n outline: \"none\",\n border: \"none\",\n \"box-shadow\": \"0px 8px 15px rgba(0, 0, 0, 0.1)\",\n \"justify-content\": \"center\",\n background: ({ buttonBgColor }: CustomStylingProps) => buttonBgColor,\n\n \"&:hover:enabled\": {\n opacity: \"0.6\",\n cursor: \"pointer\",\n },\n },\n crossmintImg: {\n width: \"21px\",\n height: \"21px\",\n \"margin-right\": \"0.875rem\",\n },\n crossmintParagraph: {\n color: ({ paragraphColor }: CustomStylingProps) => paragraphColor,\n margin: \"0\",\n },\n};\n\nexport const useStyles: (\n data?:\n | CustomStylingProps & {\n theme?: any;\n }\n) => Classes<\"crossmintButton\" | \"crossmintImg\" | \"crossmintParagraph\" | \"@global\"> = createUseStyles(styles);\n","import { ReactNode, createContext, useCallback, useContext, useMemo, useRef, useState } from \"react\";\n\nimport { getCachedJwt } from \"@crossmint/client-sdk-auth-core/client\";\nimport { Crossmint, createCrossmint } from \"@crossmint/common-sdk-base\";\n\nexport interface CrossmintContext {\n crossmint: Crossmint;\n setJwt: (jwt: string | undefined) => void;\n}\n\nconst CrossmintContext = createContext<CrossmintContext | null>(null);\n\nexport function CrossmintProvider({\n children,\n ...createCrossmintParams\n}: { children: ReactNode } & Parameters<typeof createCrossmint>[0]) {\n const [version, setVersion] = useState(0);\n\n const crossmintRef = useRef<Crossmint>(\n new Proxy<Crossmint>(\n createCrossmint({ ...createCrossmintParams, jwt: createCrossmintParams.jwt ?? getCachedJwt() }),\n {\n set(target, prop, value) {\n if (prop === \"jwt\" && target.jwt !== value) {\n setVersion((v) => v + 1);\n }\n return Reflect.set(target, prop, value);\n },\n }\n )\n );\n\n const setJwt = useCallback((jwt: string | undefined) => {\n if (jwt !== crossmintRef.current.jwt) {\n crossmintRef.current.jwt = jwt;\n }\n }, []);\n\n const value = useMemo(\n () => ({\n get crossmint() {\n return crossmintRef.current;\n },\n setJwt,\n }),\n [setJwt, version]\n );\n\n return <CrossmintContext.Provider value={value}>{children}</CrossmintContext.Provider>;\n}\n\nexport function useCrossmint(missingContextMessage?: string) {\n const context = useContext(CrossmintContext);\n if (context == null) {\n throw new Error(missingContextMessage ?? \"useCrossmint must be used within a CrossmintProvider\");\n }\n return context;\n}\n","import { useCrossmint } from \"@/hooks\";\nimport { ReactNode, createContext, useEffect, useMemo, useState } from \"react\";\n\nimport { EVMSmartWallet, SmartWalletError, SmartWalletSDK } from \"@crossmint/client-sdk-smart-wallet\";\n\nexport type CrossmintWalletConfig = {\n type: \"evm-smart-wallet\";\n defaultChain: \"polygon-amoy\" | \"base-sepolia\" | \"optimism-sepolia\" | \"arbitrum-sepolia\";\n createOnLogin: \"all-users\" | \"off\";\n};\n\ntype WalletStatus = \"not-loaded\" | \"in-progress\" | \"loaded\" | \"loading-error\";\n\ntype ValidWalletState =\n | { status: \"not-loaded\" | \"in-progress\" }\n | { status: \"loaded\"; wallet: EVMSmartWallet }\n | { status: \"loading-error\"; error: SmartWalletError };\n\nfunction deriveErrorState(error: unknown): { status: \"loading-error\"; error: SmartWalletError } {\n if (error instanceof SmartWalletError) {\n return { status: \"loading-error\", error };\n }\n\n const message = error instanceof Error ? error.message : String(error);\n const stack = error instanceof Error ? error.stack : undefined;\n return { status: \"loading-error\", error: new SmartWalletError(`Unknown Wallet Error: ${message}`, stack) };\n}\n\ntype WalletContext = {\n status: WalletStatus;\n wallet?: EVMSmartWallet;\n error?: SmartWalletError;\n getOrCreateWallet: () => Promise<void>;\n};\n\nexport const WalletContext = createContext<WalletContext>({\n status: \"not-loaded\",\n getOrCreateWallet: async () => {},\n});\n\nexport function CrossmintWalletProvider({ children, config }: { config: CrossmintWalletConfig; children: ReactNode }) {\n const { crossmint } = useCrossmint(\"CrossmintWalletProvider must be used within CrossmintProvider\");\n const [state, setState] = useState<ValidWalletState>({ status: \"not-loaded\" });\n const smartWalletSDK = useMemo(() => SmartWalletSDK.init({ clientApiKey: crossmint.apiKey }), [crossmint.apiKey]);\n\n const getOrCreateWalletInternal = async (jwt: string) => {\n try {\n setState({ status: \"in-progress\" });\n const wallet = await smartWalletSDK.getOrCreateWallet({ jwt }, config.defaultChain);\n setState({ status: \"loaded\", wallet });\n } catch (error: unknown) {\n console.error(\"There was an error creating a wallet \", error);\n setState(deriveErrorState(error));\n }\n };\n\n useEffect(() => {\n if (config.createOnLogin === \"all-users\" && crossmint.jwt != null && state.status === \"not-loaded\") {\n console.log(\"Getting or Creating wallet\");\n getOrCreateWalletInternal(crossmint.jwt);\n return;\n }\n\n if (state.status === \"loaded\" && crossmint.jwt == null) {\n console.log(\"Clearing wallet\");\n setState({ status: \"not-loaded\" });\n return;\n }\n }, [crossmint.jwt, config.createOnLogin, state.status]);\n\n const getOrCreateWalletExternal = async () => {\n if (crossmint.jwt == null) {\n console.log(\"No authenticated user, not creating wallet.\");\n return;\n }\n\n if (state.status === \"loaded\" || state.status === \"in-progress\") {\n console.log(\"Wallet is already loaded, or is currently loading.\");\n return;\n }\n\n return getOrCreateWalletInternal(crossmint.jwt);\n };\n\n return (\n <WalletContext.Provider value={{ ...state, getOrCreateWallet: getOrCreateWalletExternal }}>\n {children}\n </WalletContext.Provider>\n );\n}\n","import { WalletContext } from \"@/providers/CrossmintWalletProvider\";\nimport { useContext } from \"react\";\n\nexport function useWallet() {\n const walletContext = useContext(WalletContext);\n\n if (!walletContext) {\n throw new Error(\"useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider\");\n }\n\n return walletContext;\n}\n","export * from \"./useCrossmint\";\nexport * from \"./useWallet\";\nexport { useAuth } from \"@crossmint/client-sdk-auth-core/client\";\n","import { useCrossmint } from \"@/hooks\";\nimport { ReactNode } from \"react\";\n\nimport { AuthProvider as AuthCoreProvider } from \"@crossmint/client-sdk-auth-core/client\";\n\nimport { CrossmintWalletConfig, CrossmintWalletProvider } from \"./CrossmintWalletProvider\";\n\nexport function CrossmintAuthProvider({\n embeddedWallets,\n children,\n}: {\n embeddedWallets: CrossmintWalletConfig;\n children: ReactNode;\n}) {\n const { crossmint, setJwt } = useCrossmint(\"CrossmintAuthProvider must be used within CrossmintProvider\");\n\n return (\n <AuthCoreProvider setJwtToken={setJwt} crossmint={crossmint}>\n <CrossmintWalletProvider config={embeddedWallets}>{children}</CrossmintWalletProvider>\n </AuthCoreProvider>\n );\n}\n","export * from \"./components\";\nexport * from \"./hooks\";\nexport * from \"./providers\";\n\nexport { CrossmintEvents, useCrossmintEvents } from \"@crossmint/client-sdk-base\";\nexport { type EVMSmartWallet, Chain } from \"@crossmint/client-sdk-smart-wallet\";\nexport type { CrossmintEvent, CrossmintEventMap } from \"@crossmint/client-sdk-base\";\n"],"mappings":"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","names":["assertValidNFTCollectionViewProps","getNFTCollectionViewSrc","LIB_VERSION","jsx","CrossmintNFTCollectionView","props","assertValidNFTCollectionViewProps","src","getNFTCollectionViewSrc","LIB_VERSION","assertValidValidateNFTDetailProps","getNFTDetailSrc","jsx","CrossmintNFTDetail","props","assertValidValidateNFTDetailProps","src","getNFTDetailSrc","LIB_VERSION","isCryptoEmbeddedCheckoutProps","isFiatEmbeddedCheckoutProps","isCryptoEmbeddedCheckoutPropsWithSigner","bs58","IncomingInternalEvents","OutgoingInternalEvents","crossmintIFrameService","embeddedCheckoutPropsToUpdatableParamsPayload","isEqual","useEffect","useRef","useDeepEffect","callback","dependencies","dependenciesRef","dep","i","useEffect","useState","IncomingInternalEvents","crossmintIFrameService","jsx","CrossmintEmbeddedCheckoutIFrame","_a","_b","onInternalEvent","props","__objRest","getUrl","listenToEvents","listenToInternalEvents","crossmintIFrameService","height","setHeight","useState","url","useEffect","clearListener","event","type","payload","IncomingInternalEvents","jsx","CryptoEmbeddedCheckoutIFrame","props","emitInternalEvent","crossmintIFrameService","signer","paymentMethod","onInternalEvent","event","type","payload","IncomingInternalEvents","serializedTransaction","handleIncomingTransaction","chain","handleChainSwitch","__async","txId","handleSOLTransaction","handleETHTransaction","OutgoingInternalEvents","e","Transaction","transaction","bs58","parseTransaction","useDeepEffect","embeddedCheckoutPropsToUpdatableParamsPayload","CrossmintEmbeddedCheckoutIFrame","__spreadValues","jsx","CrossmintCryptoEmbeddedCheckout","props","isCryptoEmbeddedCheckoutPropsWithSigner","CryptoEmbeddedCheckoutIFrame","__spreadValues","crossmintIFrameService","embeddedCheckoutPropsToUpdatableParamsPayload","jsx","FiatEmbeddedCheckoutIFrame","props","emitInternalEvent","crossmintIFrameService","useDeepEffect","embeddedCheckoutPropsToUpdatableParamsPayload","CrossmintEmbeddedCheckoutIFrame","__spreadValues","jsx","CrossmintFiatEmbeddedCheckout","props","FiatEmbeddedCheckoutIFrame","__spreadValues","jsx","CrossmintPaymentElement","props","isFiatEmbeddedCheckoutProps","CrossmintFiatEmbeddedCheckout","__spreadValues","isCryptoEmbeddedCheckoutProps","CrossmintCryptoEmbeddedCheckout","useMemo","useState","clientNames","crossmintModalService","crossmintPayButtonService","useEffect","useState","useEnvironment","isServerSideRendering","setIsServerSideRendering","createUseStyles","DARK_BG","themeIsLight","theme","formatProps","styles","buttonBgColor","paragraphColor","useStyles","Fragment","jsx","jsxs","CrossmintPayButton","buttonProps","_a","className","disabled","onClick","style","tabIndex","theme","mintTo","emailTo","listingId","auctionId","showOverlay","mintConfig","whPassThroughArgs","environment","paymentMethod","preferredSigninMethod","dismissOverlayOnClick","prepay","locale","currency","successCallbackURL","failureCallbackURL","loginEmail","projectId","getButtonText","checkoutProps","props","__objRest","collectionId","connecting","setConnecting","useState","isServerSideRendering","useEnvironment","connect","crossmintModalService","LIB_VERSION","clientNames","getButtonTextInternal","handleClick","crossmintPayButtonService","_handleClick","event","classes","useStyles","formatProps","content","useMemo","__spreadValues","createContext","useCallback","useContext","useMemo","useRef","useState","getCachedJwt","createCrossmint","jsx","CrossmintContext","createContext","CrossmintProvider","_a","_b","children","createCrossmintParams","__objRest","version","setVersion","useState","crossmintRef","useRef","createCrossmint","__spreadProps","__spreadValues","getCachedJwt","target","prop","value","v","setJwt","useCallback","jwt","useMemo","useCrossmint","missingContextMessage","context","useContext","createContext","useEffect","useMemo","useState","SmartWalletError","SmartWalletSDK","jsx","deriveErrorState","error","SmartWalletError","message","stack","WalletContext","createContext","__async","CrossmintWalletProvider","children","config","crossmint","useCrossmint","state","setState","useState","smartWalletSDK","useMemo","SmartWalletSDK","getOrCreateWalletInternal","jwt","wallet","useEffect","getOrCreateWalletExternal","__spreadProps","__spreadValues","useContext","useWallet","walletContext","WalletContext","useAuth","AuthCoreProvider","jsx","CrossmintAuthProvider","embeddedWallets","children","crossmint","setJwt","useCrossmint","AuthCoreProvider","CrossmintWalletProvider","CrossmintEvents","useCrossmintEvents","Chain"]}
1
+ {"version":3,"sources":["../src/components/CrossmintNFTCollectionView.tsx","../src/consts/version.ts","../src/components/CrossmintNFTDetail.tsx","../src/components/embed/index.tsx","../src/components/embed/crypto/CryptoEmbeddedCheckout.tsx","../src/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.tsx","../src/hooks/useDeepEffect.ts","../src/components/embed/EmbeddedCheckoutIFrame.tsx","../src/components/embed/fiat/FiatEmbeddedCheckoutIFrame.tsx","../src/components/embed/fiat/FiatEmbeddedCheckout.tsx","../src/components/hosted/CrossmintPayButton.tsx","../src/hooks/useEnvironment.ts","../src/components/hosted/styles.ts","../src/hooks/useCrossmint.tsx","../src/providers/CrossmintWalletProvider.tsx","../src/hooks/useWallet.ts","../src/hooks/index.ts","../src/providers/CrossmintAuthProvider.tsx","../src/index.ts"],"sourcesContent":["import { assertValidNFTCollectionViewProps, getNFTCollectionViewSrc } from \"@crossmint/client-sdk-base\";\nimport { NFTCollectionViewProps } from \"@crossmint/common-sdk-base\";\n\nimport { LIB_VERSION } from \"../consts/version\";\n\nexport function CrossmintNFTCollectionView(props: NFTCollectionViewProps) {\n assertValidNFTCollectionViewProps(props);\n\n const src = getNFTCollectionViewSrc(props, LIB_VERSION);\n\n return (\n <iframe\n src={src}\n width=\"100%\"\n height=\"100%\"\n style={{\n flexGrow: \"1\",\n border: \"none\",\n margin: \"0\",\n padding: \"0\",\n }}\n role=\"nft-collection-view\"\n />\n );\n}\n","export const LIB_VERSION = \"1.3.13\";\n","import { assertValidValidateNFTDetailProps, getNFTDetailSrc } from \"@crossmint/client-sdk-base\";\nimport { NFTDetailProps } from \"@crossmint/common-sdk-base\";\n\nimport { LIB_VERSION } from \"../consts/version\";\n\nexport function CrossmintNFTDetail(props: NFTDetailProps) {\n assertValidValidateNFTDetailProps(props);\n\n const src = getNFTDetailSrc(props, LIB_VERSION);\n\n return (\n <iframe\n src={src}\n width=\"100%\"\n height=\"100%\"\n style={{\n flexGrow: \"1\",\n border: \"none\",\n margin: \"0\",\n padding: \"0\",\n }}\n role=\"nft-details\"\n />\n );\n}\n","import {\n CrossmintEmbeddedCheckoutProps,\n isCryptoEmbeddedCheckoutProps,\n isFiatEmbeddedCheckoutProps,\n} from \"@crossmint/client-sdk-base\";\n\nimport { CrossmintCryptoEmbeddedCheckout } from \"./crypto/CryptoEmbeddedCheckout\";\nimport { CrossmintFiatEmbeddedCheckout } from \"./fiat/FiatEmbeddedCheckout\";\n\n// TODO: Rename to CrossmintEmbeddedCheckout on v2 major publish, prior announcement since its a breaking change\nexport function CrossmintPaymentElement(props: CrossmintEmbeddedCheckoutProps) {\n if (isFiatEmbeddedCheckoutProps(props)) {\n return <CrossmintFiatEmbeddedCheckout {...props} />;\n }\n if (isCryptoEmbeddedCheckoutProps(props)) {\n return <CrossmintCryptoEmbeddedCheckout {...props} />;\n }\n throw new Error(\"Unsupported: Fiat is the only supported payment method.\");\n}\n","import { CryptoEmbeddedCheckoutProps, isCryptoEmbeddedCheckoutPropsWithSigner } from \"@crossmint/client-sdk-base\";\n\nimport CryptoEmbeddedCheckoutIFrame from \"./CryptoEmbeddedCheckoutIFrame\";\n\nexport function CrossmintCryptoEmbeddedCheckout(props: CryptoEmbeddedCheckoutProps) {\n if (!isCryptoEmbeddedCheckoutPropsWithSigner(props)) {\n throw new Error(\"Invalid parameters: signer is required in versions < 2.0.0\");\n }\n\n return <CryptoEmbeddedCheckoutIFrame {...props} />;\n}\n","import bs58 from \"bs58\";\n\nimport {\n CryptoEmbeddedCheckoutPropsWithSigner,\n ETHEmbeddedCheckoutSigner,\n IncomingInternalEvent,\n IncomingInternalEvents,\n OutgoingInternalEvents,\n SOLEmbeddedCheckoutSigner,\n crossmintIFrameService,\n embeddedCheckoutPropsToUpdatableParamsPayload,\n} from \"@crossmint/client-sdk-base\";\nimport { EVMBlockchainIncludingTestnet } from \"@crossmint/common-sdk-base\";\n\nimport useDeepEffect from \"../../../hooks/useDeepEffect\";\nimport CrossmintEmbeddedCheckoutIFrame from \"../EmbeddedCheckoutIFrame\";\n\nexport default function CryptoEmbeddedCheckoutIFrame(props: CryptoEmbeddedCheckoutPropsWithSigner) {\n const { emitInternalEvent } = crossmintIFrameService(props);\n\n const { signer, paymentMethod } = props;\n\n function onInternalEvent(event: IncomingInternalEvent) {\n const { type, payload } = event;\n\n if (type === IncomingInternalEvents.CRYPTO_PAYMENT_INCOMING_TRANSACTION) {\n const { serializedTransaction } = payload;\n console.log(\"[Crossmint] Received incoming transaction\", serializedTransaction);\n handleIncomingTransaction(serializedTransaction);\n }\n\n if (type === IncomingInternalEvents.CRYPTO_CHAIN_SWITCH) {\n const { chain } = payload;\n console.log(\"[Crossmint] Received change of chain\", chain);\n\n const handleChainSwitch = (signer as ETHEmbeddedCheckoutSigner).handleChainSwitch;\n if (handleChainSwitch == null) {\n throw new Error(\"switchNetwork function should have been defined\");\n }\n handleChainSwitch(chain as EVMBlockchainIncludingTestnet);\n }\n }\n\n async function handleIncomingTransaction(serializedTransaction: string) {\n try {\n let txId: string;\n switch (paymentMethod) {\n case \"SOL\":\n txId = await handleSOLTransaction(signer, serializedTransaction);\n break;\n case \"ETH\":\n txId = await handleETHTransaction(signer, serializedTransaction);\n break;\n default:\n throw new Error(`Unsupported payment method ${paymentMethod}`);\n }\n\n console.log(\"[Crossmint] Signed and sent transaction\", txId);\n emitInternalEvent({\n type: OutgoingInternalEvents.CRYPTO_PAYMENT_USER_ACCEPTED,\n payload: {\n txId,\n },\n });\n } catch (e) {\n console.error(\"[Crossmint] Failed to sign and send transaction\", e);\n emitInternalEvent({\n type: OutgoingInternalEvents.CRYPTO_PAYMENT_USER_REJECTED,\n payload: {},\n });\n }\n }\n\n async function handleSOLTransaction(signer: SOLEmbeddedCheckoutSigner, serializedTransaction: string) {\n // @ts-ignore - Error becasue we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { Transaction } = await import(\"@solana/web3.js\");\n const transaction = Transaction.from(bs58.decode(serializedTransaction));\n console.log(\"[Crossmint] Deserialized SOL transaction\", transaction);\n\n return await signer.signAndSendTransaction(transaction);\n }\n\n async function handleETHTransaction(signer: ETHEmbeddedCheckoutSigner, serializedTransaction: string) {\n // @ts-ignore - Error becasue we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { parse: parseTransaction } = await import(\"@ethersproject/transactions\");\n const transaction = parseTransaction(serializedTransaction);\n console.log(\"[Crossmint] Deserialized ETH transaction\", transaction);\n\n return await signer.signAndSendTransaction(transaction);\n }\n\n useDeepEffect(() => {\n emitInternalEvent({\n type: \"params-update\",\n payload: embeddedCheckoutPropsToUpdatableParamsPayload(props),\n });\n }, [\n props.signer.address,\n props.recipient,\n props.mintConfig,\n props.locale,\n props.currency,\n props.whPassThroughArgs,\n ...(\"chain\" in props.signer ? [props.signer.chain] : []),\n ]);\n\n return <CrossmintEmbeddedCheckoutIFrame onInternalEvent={onInternalEvent} {...props} />;\n}\n","import isEqual from \"lodash.isequal\";\nimport { DependencyList, EffectCallback, useEffect, useRef } from \"react\";\n\nexport default function useDeepEffect(callback: EffectCallback, dependencies: DependencyList): void {\n const dependenciesRef = useRef(dependencies);\n\n useEffect(() => {\n const hasChanged = dependencies.some((dep, i) => !isEqual(dep, dependenciesRef.current[i]));\n\n if (hasChanged) {\n dependenciesRef.current = dependencies;\n return callback();\n }\n }, [dependencies]);\n}\n","import { useEffect, useState } from \"react\";\n\nimport {\n CrossmintEmbeddedCheckoutProps,\n IncomingInternalEvent,\n IncomingInternalEvents,\n crossmintIFrameService,\n} from \"@crossmint/client-sdk-base\";\n\ntype CrossmintEmbeddedCheckoutIFrameProps = CrossmintEmbeddedCheckoutProps & {\n onInternalEvent?: (event: IncomingInternalEvent) => void;\n};\n\nexport default function CrossmintEmbeddedCheckoutIFrame({\n onInternalEvent,\n ...props\n}: CrossmintEmbeddedCheckoutIFrameProps) {\n const { getUrl, listenToEvents, listenToInternalEvents } = crossmintIFrameService(props);\n\n const [height, setHeight] = useState(0);\n const [url] = useState(getUrl(props));\n\n // Public events\n useEffect(() => {\n const clearListener = listenToEvents((event) => props.onEvent?.(event.data));\n\n return () => {\n clearListener();\n };\n }, []);\n\n // Internal events\n useEffect(() => {\n const clearListener = listenToInternalEvents((event) => {\n const { type, payload } = event.data;\n\n if (type === IncomingInternalEvents.UI_HEIGHT_CHANGED) {\n setHeight(payload.height);\n }\n\n onInternalEvent?.(event.data);\n });\n\n return () => {\n clearListener();\n };\n }, []);\n\n return (\n <iframe\n src={url}\n id=\"crossmint-embedded-checkout.iframe\"\n role=\"crossmint-embedded-checkout.iframe\"\n allow=\"payment *\"\n style={{\n boxShadow: \"none\",\n border: \"none\",\n padding: \"0px\",\n width: \"100%\",\n minWidth: \"100%\",\n overflow: \"hidden\",\n display: \"block\",\n userSelect: \"none\",\n transform: \"translate(0px)\",\n opacity: \"1\",\n transition: \"ease 0s, opacity 0.4s ease 0.1s\",\n height: `${height}px`,\n }}\n />\n );\n}\n","import {\n FiatEmbeddedCheckoutProps,\n crossmintIFrameService,\n embeddedCheckoutPropsToUpdatableParamsPayload,\n} from \"@crossmint/client-sdk-base\";\n\nimport useDeepEffect from \"../../../hooks/useDeepEffect\";\nimport CrossmintEmbeddedCheckoutIFrame from \"../EmbeddedCheckoutIFrame\";\n\nexport default function FiatEmbeddedCheckoutIFrame(props: FiatEmbeddedCheckoutProps) {\n const { emitInternalEvent } = crossmintIFrameService(props);\n\n useDeepEffect(() => {\n emitInternalEvent({\n type: \"params-update\",\n payload: embeddedCheckoutPropsToUpdatableParamsPayload(props),\n });\n }, [props.recipient, props.mintConfig, props.locale, props.currency, props.whPassThroughArgs]);\n\n return <CrossmintEmbeddedCheckoutIFrame {...props} />;\n}\n","import { FiatEmbeddedCheckoutProps } from \"@crossmint/client-sdk-base\";\n\nimport FiatEmbeddedCheckoutIFrame from \"../../../components/embed/fiat/FiatEmbeddedCheckoutIFrame\";\n\nexport function CrossmintFiatEmbeddedCheckout(props: FiatEmbeddedCheckoutProps) {\n return <FiatEmbeddedCheckoutIFrame {...props} />;\n}\n","import { CSSProperties, MouseEvent, useMemo } from \"react\";\nimport { useState } from \"react\";\n\nimport {\n CheckoutProps,\n CrossmintPayButtonProps,\n clientNames,\n crossmintModalService,\n crossmintPayButtonService,\n} from \"@crossmint/client-sdk-base\";\n\nimport { LIB_VERSION } from \"../../consts/version\";\nimport useEnvironment from \"../../hooks/useEnvironment\";\nimport { formatProps, useStyles } from \"./styles\";\n\nexport type CrossmintPayButtonReactProps = CrossmintPayButtonProps & {\n onClick?: (e: MouseEvent<HTMLButtonElement>) => void;\n style?: CSSProperties;\n};\n\nexport function CrossmintPayButton(buttonProps: CrossmintPayButtonReactProps) {\n const {\n className,\n disabled,\n onClick,\n style,\n tabIndex,\n theme = \"dark\",\n mintTo,\n emailTo,\n listingId,\n auctionId,\n showOverlay = true,\n mintConfig,\n whPassThroughArgs,\n environment,\n paymentMethod,\n preferredSigninMethod,\n dismissOverlayOnClick,\n prepay,\n locale = \"en-US\",\n currency = \"usd\",\n successCallbackURL = \"\",\n failureCallbackURL = \"\",\n loginEmail = \"\",\n projectId,\n getButtonText,\n checkoutProps = {\n experimental: false,\n display: \"same-tab\",\n paymentMethods: [\"fiat\", \"ETH\", \"SOL\"],\n } as CheckoutProps,\n ...props\n } = buttonProps;\n\n const collectionId = \"clientId\" in props ? props.clientId : props.collectionId;\n\n const [connecting, setConnecting] = useState(false);\n const { isServerSideRendering } = useEnvironment();\n\n const { connect } = crossmintModalService({\n clientId: collectionId,\n projectId,\n showOverlay,\n dismissOverlayOnClick,\n setConnecting,\n libVersion: LIB_VERSION,\n environment,\n clientName: clientNames.reactUi,\n locale,\n currency,\n successCallbackURL,\n failureCallbackURL,\n loginEmail,\n });\n\n const { getButtonText: getButtonTextInternal, handleClick } = crossmintPayButtonService({\n onClick,\n connecting,\n paymentMethod,\n locale,\n checkoutProps,\n });\n\n const _handleClick = (event: MouseEvent<HTMLButtonElement>) =>\n handleClick(event, () => {\n connect(\n mintConfig,\n mintTo,\n emailTo,\n listingId,\n whPassThroughArgs,\n paymentMethod,\n preferredSigninMethod,\n prepay,\n checkoutProps\n );\n });\n\n const classes = useStyles(formatProps(theme));\n\n const content = useMemo(() => {\n return (\n <span className={classes.crossmintParagraph} role=\"button-paragraph\">\n {getButtonText != null\n ? getButtonText(connecting, paymentMethod || \"fiat\")\n : getButtonTextInternal(connecting)}\n </span>\n );\n }, [connecting, getButtonText, paymentMethod]);\n\n return (\n <>\n {!isServerSideRendering && (\n <button\n className={`${classes.crossmintButton} ${className || \"\"}`}\n disabled={disabled}\n onClick={_handleClick}\n style={{ ...style }}\n tabIndex={tabIndex}\n >\n <img\n className={classes.crossmintImg}\n src=\"https://www.crossmint.io/assets/crossmint/logo.svg\"\n alt=\"Crossmint logo\"\n />\n {content}\n </button>\n )}\n </>\n );\n}\n","import { useEffect, useState } from \"react\";\n\nexport default function useEnvironment() {\n const [isServerSideRendering, setIsServerSideRendering] = useState(true);\n useEffect(() => {\n setIsServerSideRendering(false);\n }, []);\n\n return { isServerSideRendering };\n}\n","import { Styles, createUseStyles } from \"react-jss\";\n\nconst DARK_BG = \"#1e1e1e\";\n\nconst themeIsLight = (theme: string) => theme === \"light\";\n\nexport const formatProps = (theme: string): CustomStylingProps => ({\n buttonBgColor: themeIsLight(theme) ? \"white\" : DARK_BG,\n paragraphColor: themeIsLight(theme) ? \"black\" : \"white\",\n});\n\nexport type Classes<Name extends string | number | symbol = string> = Record<Name, string>;\ninterface CustomStylingProps {\n buttonBgColor?: string;\n paragraphColor?: string;\n}\n\nconst styles: Styles<\"crossmintButton\" | \"crossmintImg\" | \"crossmintParagraph\" | \"@global\", CustomStylingProps> = {\n \"@global\": {\n \"@import\":\n \"url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap')\",\n },\n crossmintButton: {\n display: \"flex\",\n \"flex-direction\": \"row\",\n \"align-items\": \"center\",\n padding: \"0.875rem 0.875rem\",\n \"font-weight\": \"900\",\n transition: \"opacity ease-in-out 0.25s\",\n \"border-radius\": \"0.5rem\",\n \"font-family\": `\"Inter\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\", sans-serif`,\n outline: \"none\",\n border: \"none\",\n \"box-shadow\": \"0px 8px 15px rgba(0, 0, 0, 0.1)\",\n \"justify-content\": \"center\",\n background: ({ buttonBgColor }: CustomStylingProps) => buttonBgColor,\n\n \"&:hover:enabled\": {\n opacity: \"0.6\",\n cursor: \"pointer\",\n },\n },\n crossmintImg: {\n width: \"21px\",\n height: \"21px\",\n \"margin-right\": \"0.875rem\",\n },\n crossmintParagraph: {\n color: ({ paragraphColor }: CustomStylingProps) => paragraphColor,\n margin: \"0\",\n },\n};\n\nexport const useStyles: (\n data?:\n | CustomStylingProps & {\n theme?: any;\n }\n) => Classes<\"crossmintButton\" | \"crossmintImg\" | \"crossmintParagraph\" | \"@global\"> = createUseStyles(styles);\n","import { ReactNode, createContext, useCallback, useContext, useMemo, useRef, useState } from \"react\";\n\nimport { getCachedJwt } from \"@crossmint/client-sdk-auth-core/client\";\nimport { Crossmint, createCrossmint } from \"@crossmint/common-sdk-base\";\n\nexport interface CrossmintContext {\n crossmint: Crossmint;\n setJwt: (jwt: string | undefined) => void;\n}\n\nconst CrossmintContext = createContext<CrossmintContext | null>(null);\n\nexport function CrossmintProvider({\n children,\n ...createCrossmintParams\n}: { children: ReactNode } & Parameters<typeof createCrossmint>[0]) {\n const [version, setVersion] = useState(0);\n\n const crossmintRef = useRef<Crossmint>(\n new Proxy<Crossmint>(\n createCrossmint({ ...createCrossmintParams, jwt: createCrossmintParams.jwt ?? getCachedJwt() }),\n {\n set(target, prop, value) {\n if (prop === \"jwt\" && target.jwt !== value) {\n setVersion((v) => v + 1);\n }\n return Reflect.set(target, prop, value);\n },\n }\n )\n );\n\n const setJwt = useCallback((jwt: string | undefined) => {\n if (jwt !== crossmintRef.current.jwt) {\n crossmintRef.current.jwt = jwt;\n }\n }, []);\n\n const value = useMemo(\n () => ({\n get crossmint() {\n return crossmintRef.current;\n },\n setJwt,\n }),\n [setJwt, version]\n );\n\n return <CrossmintContext.Provider value={value}>{children}</CrossmintContext.Provider>;\n}\n\nexport function useCrossmint(missingContextMessage?: string) {\n const context = useContext(CrossmintContext);\n if (context == null) {\n throw new Error(missingContextMessage ?? \"useCrossmint must be used within a CrossmintProvider\");\n }\n return context;\n}\n","import { useCrossmint } from \"@/hooks\";\nimport { ReactNode, createContext, useEffect, useMemo, useState } from \"react\";\n\nimport { EVMSmartWallet, SmartWalletError, SmartWalletSDK } from \"@crossmint/client-sdk-smart-wallet\";\n\nexport type CrossmintWalletConfig = {\n type: \"evm-smart-wallet\";\n defaultChain: \"polygon-amoy\" | \"base-sepolia\" | \"optimism-sepolia\" | \"arbitrum-sepolia\";\n createOnLogin: \"all-users\" | \"off\";\n};\n\ntype WalletStatus = \"not-loaded\" | \"in-progress\" | \"loaded\" | \"loading-error\";\n\ntype ValidWalletState =\n | { status: \"not-loaded\" | \"in-progress\" }\n | { status: \"loaded\"; wallet: EVMSmartWallet }\n | { status: \"loading-error\"; error: SmartWalletError };\n\nfunction deriveErrorState(error: unknown): { status: \"loading-error\"; error: SmartWalletError } {\n if (error instanceof SmartWalletError) {\n return { status: \"loading-error\", error };\n }\n\n const message = error instanceof Error ? error.message : String(error);\n const stack = error instanceof Error ? error.stack : undefined;\n return { status: \"loading-error\", error: new SmartWalletError(`Unknown Wallet Error: ${message}`, stack) };\n}\n\ntype WalletContext = {\n status: WalletStatus;\n wallet?: EVMSmartWallet;\n error?: SmartWalletError;\n getOrCreateWallet: () => Promise<void>;\n};\n\nexport const WalletContext = createContext<WalletContext>({\n status: \"not-loaded\",\n getOrCreateWallet: async () => {},\n});\n\nexport function CrossmintWalletProvider({ children, config }: { config: CrossmintWalletConfig; children: ReactNode }) {\n const { crossmint } = useCrossmint(\"CrossmintWalletProvider must be used within CrossmintProvider\");\n const [state, setState] = useState<ValidWalletState>({ status: \"not-loaded\" });\n const smartWalletSDK = useMemo(() => SmartWalletSDK.init({ clientApiKey: crossmint.apiKey }), [crossmint.apiKey]);\n\n const getOrCreateWalletInternal = async (jwt: string) => {\n try {\n setState({ status: \"in-progress\" });\n const wallet = await smartWalletSDK.getOrCreateWallet({ jwt }, config.defaultChain);\n setState({ status: \"loaded\", wallet });\n } catch (error: unknown) {\n console.error(\"There was an error creating a wallet \", error);\n setState(deriveErrorState(error));\n }\n };\n\n useEffect(() => {\n if (config.createOnLogin === \"all-users\" && crossmint.jwt != null && state.status === \"not-loaded\") {\n console.log(\"Getting or Creating wallet\");\n getOrCreateWalletInternal(crossmint.jwt);\n return;\n }\n\n if (state.status === \"loaded\" && crossmint.jwt == null) {\n console.log(\"Clearing wallet\");\n setState({ status: \"not-loaded\" });\n return;\n }\n }, [crossmint.jwt, config.createOnLogin, state.status]);\n\n const getOrCreateWalletExternal = async () => {\n if (crossmint.jwt == null) {\n console.log(\"No authenticated user, not creating wallet.\");\n return;\n }\n\n if (state.status === \"loaded\" || state.status === \"in-progress\") {\n console.log(\"Wallet is already loaded, or is currently loading.\");\n return;\n }\n\n return getOrCreateWalletInternal(crossmint.jwt);\n };\n\n return (\n <WalletContext.Provider value={{ ...state, getOrCreateWallet: getOrCreateWalletExternal }}>\n {children}\n </WalletContext.Provider>\n );\n}\n","import { WalletContext } from \"@/providers/CrossmintWalletProvider\";\nimport { useContext } from \"react\";\n\nexport function useWallet() {\n const walletContext = useContext(WalletContext);\n\n if (!walletContext) {\n throw new Error(\"useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider\");\n }\n\n return walletContext;\n}\n","export * from \"./useCrossmint\";\nexport * from \"./useWallet\";\nexport { useAuth } from \"@crossmint/client-sdk-auth-core/client\";\n","import { useCrossmint } from \"@/hooks\";\nimport { ReactNode } from \"react\";\n\nimport { AuthProvider as AuthCoreProvider } from \"@crossmint/client-sdk-auth-core/client\";\nimport { UIConfig } from \"@crossmint/common-sdk-base\";\n\nimport { CrossmintWalletConfig, CrossmintWalletProvider } from \"./CrossmintWalletProvider\";\n\ntype CrossmintAuthProviderProps = {\n embeddedWallets: CrossmintWalletConfig;\n children: ReactNode;\n appearance?: UIConfig;\n};\n\nexport function CrossmintAuthProvider({ embeddedWallets, children, appearance }: CrossmintAuthProviderProps) {\n const { crossmint, setJwt } = useCrossmint(\"CrossmintAuthProvider must be used within CrossmintProvider\");\n\n return (\n <AuthCoreProvider setJwtToken={setJwt} crossmint={crossmint} appearance={appearance}>\n <CrossmintWalletProvider config={embeddedWallets}>{children}</CrossmintWalletProvider>\n </AuthCoreProvider>\n );\n}\n","export * from \"./components\";\nexport * from \"./hooks\";\nexport * from \"./providers\";\n\nexport { CrossmintEvents, useCrossmintEvents } from \"@crossmint/client-sdk-base\";\nexport { type EVMSmartWallet, Chain } from \"@crossmint/client-sdk-smart-wallet\";\nexport type { CrossmintEvent, CrossmintEventMap } from \"@crossmint/client-sdk-base\";\n"],"mappings":"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","names":["assertValidNFTCollectionViewProps","getNFTCollectionViewSrc","LIB_VERSION","jsx","CrossmintNFTCollectionView","props","assertValidNFTCollectionViewProps","src","getNFTCollectionViewSrc","LIB_VERSION","assertValidValidateNFTDetailProps","getNFTDetailSrc","jsx","CrossmintNFTDetail","props","assertValidValidateNFTDetailProps","src","getNFTDetailSrc","LIB_VERSION","isCryptoEmbeddedCheckoutProps","isFiatEmbeddedCheckoutProps","isCryptoEmbeddedCheckoutPropsWithSigner","bs58","IncomingInternalEvents","OutgoingInternalEvents","crossmintIFrameService","embeddedCheckoutPropsToUpdatableParamsPayload","isEqual","useEffect","useRef","useDeepEffect","callback","dependencies","dependenciesRef","dep","i","useEffect","useState","IncomingInternalEvents","crossmintIFrameService","jsx","CrossmintEmbeddedCheckoutIFrame","_a","_b","onInternalEvent","props","__objRest","getUrl","listenToEvents","listenToInternalEvents","crossmintIFrameService","height","setHeight","useState","url","useEffect","clearListener","event","type","payload","IncomingInternalEvents","jsx","CryptoEmbeddedCheckoutIFrame","props","emitInternalEvent","crossmintIFrameService","signer","paymentMethod","onInternalEvent","event","type","payload","IncomingInternalEvents","serializedTransaction","handleIncomingTransaction","chain","handleChainSwitch","__async","txId","handleSOLTransaction","handleETHTransaction","OutgoingInternalEvents","e","Transaction","transaction","bs58","parseTransaction","useDeepEffect","embeddedCheckoutPropsToUpdatableParamsPayload","CrossmintEmbeddedCheckoutIFrame","__spreadValues","jsx","CrossmintCryptoEmbeddedCheckout","props","isCryptoEmbeddedCheckoutPropsWithSigner","CryptoEmbeddedCheckoutIFrame","__spreadValues","crossmintIFrameService","embeddedCheckoutPropsToUpdatableParamsPayload","jsx","FiatEmbeddedCheckoutIFrame","props","emitInternalEvent","crossmintIFrameService","useDeepEffect","embeddedCheckoutPropsToUpdatableParamsPayload","CrossmintEmbeddedCheckoutIFrame","__spreadValues","jsx","CrossmintFiatEmbeddedCheckout","props","FiatEmbeddedCheckoutIFrame","__spreadValues","jsx","CrossmintPaymentElement","props","isFiatEmbeddedCheckoutProps","CrossmintFiatEmbeddedCheckout","__spreadValues","isCryptoEmbeddedCheckoutProps","CrossmintCryptoEmbeddedCheckout","useMemo","useState","clientNames","crossmintModalService","crossmintPayButtonService","useEffect","useState","useEnvironment","isServerSideRendering","setIsServerSideRendering","createUseStyles","DARK_BG","themeIsLight","theme","formatProps","styles","buttonBgColor","paragraphColor","useStyles","Fragment","jsx","jsxs","CrossmintPayButton","buttonProps","_a","className","disabled","onClick","style","tabIndex","theme","mintTo","emailTo","listingId","auctionId","showOverlay","mintConfig","whPassThroughArgs","environment","paymentMethod","preferredSigninMethod","dismissOverlayOnClick","prepay","locale","currency","successCallbackURL","failureCallbackURL","loginEmail","projectId","getButtonText","checkoutProps","props","__objRest","collectionId","connecting","setConnecting","useState","isServerSideRendering","useEnvironment","connect","crossmintModalService","LIB_VERSION","clientNames","getButtonTextInternal","handleClick","crossmintPayButtonService","_handleClick","event","classes","useStyles","formatProps","content","useMemo","__spreadValues","createContext","useCallback","useContext","useMemo","useRef","useState","getCachedJwt","createCrossmint","jsx","CrossmintContext","createContext","CrossmintProvider","_a","_b","children","createCrossmintParams","__objRest","version","setVersion","useState","crossmintRef","useRef","createCrossmint","__spreadProps","__spreadValues","getCachedJwt","target","prop","value","v","setJwt","useCallback","jwt","useMemo","useCrossmint","missingContextMessage","context","useContext","createContext","useEffect","useMemo","useState","SmartWalletError","SmartWalletSDK","jsx","deriveErrorState","error","SmartWalletError","message","stack","WalletContext","createContext","__async","CrossmintWalletProvider","children","config","crossmint","useCrossmint","state","setState","useState","smartWalletSDK","useMemo","SmartWalletSDK","getOrCreateWalletInternal","jwt","wallet","useEffect","getOrCreateWalletExternal","__spreadProps","__spreadValues","useContext","useWallet","walletContext","WalletContext","useAuth","AuthCoreProvider","jsx","CrossmintAuthProvider","embeddedWallets","children","appearance","crossmint","setJwt","useCrossmint","AuthCoreProvider","CrossmintWalletProvider","CrossmintEvents","useCrossmintEvents","Chain"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-ui",
3
- "version": "1.3.12",
3
+ "version": "1.3.13",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -24,10 +24,10 @@
24
24
  "bs58": "5.0.0",
25
25
  "lodash.isequal": "4.5.0",
26
26
  "react-jss": "10.10.0",
27
- "@crossmint/client-sdk-auth-core": "1.1.4",
28
- "@crossmint/client-sdk-base": "1.2.4",
29
- "@crossmint/client-sdk-smart-wallet": "0.1.11",
30
- "@crossmint/common-sdk-base": "0.1.2"
27
+ "@crossmint/client-sdk-auth-core": "1.1.5",
28
+ "@crossmint/client-sdk-base": "1.2.5",
29
+ "@crossmint/client-sdk-smart-wallet": "0.1.12",
30
+ "@crossmint/common-sdk-base": "0.1.3"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/lodash.isequal": "4.5.6",
@@ -1 +1 @@
1
- export const LIB_VERSION = "1.3.12";
1
+ export const LIB_VERSION = "1.3.13";
@@ -2,20 +2,21 @@ import { useCrossmint } from "@/hooks";
2
2
  import { ReactNode } from "react";
3
3
 
4
4
  import { AuthProvider as AuthCoreProvider } from "@crossmint/client-sdk-auth-core/client";
5
+ import { UIConfig } from "@crossmint/common-sdk-base";
5
6
 
6
7
  import { CrossmintWalletConfig, CrossmintWalletProvider } from "./CrossmintWalletProvider";
7
8
 
8
- export function CrossmintAuthProvider({
9
- embeddedWallets,
10
- children,
11
- }: {
9
+ type CrossmintAuthProviderProps = {
12
10
  embeddedWallets: CrossmintWalletConfig;
13
11
  children: ReactNode;
14
- }) {
12
+ appearance?: UIConfig;
13
+ };
14
+
15
+ export function CrossmintAuthProvider({ embeddedWallets, children, appearance }: CrossmintAuthProviderProps) {
15
16
  const { crossmint, setJwt } = useCrossmint("CrossmintAuthProvider must be used within CrossmintProvider");
16
17
 
17
18
  return (
18
- <AuthCoreProvider setJwtToken={setJwt} crossmint={crossmint}>
19
+ <AuthCoreProvider setJwtToken={setJwt} crossmint={crossmint} appearance={appearance}>
19
20
  <CrossmintWalletProvider config={embeddedWallets}>{children}</CrossmintWalletProvider>
20
21
  </AuthCoreProvider>
21
22
  );