@crossmint/client-sdk-react-ui 1.6.0 → 1.7.0
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/chunk-2GKCAJHH.cjs +1 -0
- package/dist/chunk-2POV64LQ.js +1 -0
- package/dist/chunk-2WSEHVNP.cjs +1 -0
- package/dist/chunk-3JU4ZK3P.cjs +1 -0
- package/dist/chunk-3KOG25LO.js +1 -0
- package/dist/chunk-3SOJNFPL.js +1 -0
- package/dist/chunk-4IHRWQWT.js +1 -0
- package/dist/chunk-4JRNSO77.js +1 -0
- package/dist/chunk-4P7W56CY.cjs +1 -0
- package/dist/chunk-5IFQJPBE.cjs +1 -0
- package/dist/chunk-72P3JMXX.js +1 -0
- package/dist/chunk-77PBG2JJ.js +1 -0
- package/dist/chunk-7LDD5W53.cjs +1 -0
- package/dist/chunk-A4BJYIF5.js +1 -0
- package/dist/chunk-AC4SM3GW.cjs +1 -0
- package/dist/chunk-AZYHTJE6.cjs +1 -0
- package/dist/chunk-B2XYCMBI.js +1 -0
- package/dist/chunk-BOD2OKYA.js +1 -0
- package/dist/chunk-BX5T4LI2.cjs +1 -0
- package/dist/chunk-DGZQUCSD.js +1 -0
- package/dist/chunk-EUXGP4IN.cjs +1 -0
- package/dist/chunk-EVADF7QA.js +1 -0
- package/dist/chunk-IAJBYU5C.js +1 -0
- package/dist/chunk-IMV35JZB.cjs +1 -0
- package/dist/chunk-JDYEU555.cjs +1 -0
- package/dist/chunk-JGM3G5E2.js +1 -0
- package/dist/chunk-KKDAGPHA.js +1 -0
- package/dist/chunk-LHTD23W4.js +1 -0
- package/dist/chunk-LZ5XEFKY.cjs +1 -0
- package/dist/chunk-MAAWYMXE.cjs +1 -0
- package/dist/chunk-N3HOGZN4.js +0 -0
- package/dist/chunk-NBJIJZGO.js +1 -0
- package/dist/chunk-NFLGT52C.cjs +1 -0
- package/dist/chunk-NZQIZ4ZY.cjs +1 -0
- package/dist/chunk-O5J2ZIJ6.cjs +1 -0
- package/dist/chunk-OOLXYAO7.js +1 -0
- package/dist/chunk-OPV6W7NY.js +1 -0
- package/dist/chunk-ORB6HDGX.cjs +1 -0
- package/dist/chunk-P4TABCC7.cjs +1 -0
- package/dist/chunk-PHNKWD7H.cjs +1 -0
- package/dist/chunk-PXDN3KFO.js +1 -0
- package/dist/chunk-QASKWI5Y.js +1 -0
- package/dist/chunk-QYQERFYL.cjs +1 -0
- package/dist/chunk-RJGOALQ6.cjs +1 -0
- package/dist/chunk-RYQRCUKB.js +1 -0
- package/dist/chunk-U6FTIAJO.js +1 -0
- package/dist/chunk-VGTN2OW5.js +1 -0
- package/dist/chunk-VI6TW7JT.cjs +1 -0
- package/dist/chunk-VL5XDIXZ.js +1 -0
- package/dist/chunk-VWBAHXIO.cjs +1 -0
- package/dist/chunk-W4UPIFFS.cjs +1 -0
- package/dist/chunk-W7CLE3ZW.cjs +1 -0
- package/dist/chunk-WABJHG6B.cjs +1 -0
- package/dist/chunk-WDT4N453.js +1 -0
- package/dist/chunk-X5BBXO27.cjs +1 -0
- package/dist/chunk-XJUALSXH.cjs +1 -0
- package/dist/chunk-YIKXFG7V.js +1 -0
- package/dist/chunk-YLAJFXWZ.js +0 -0
- package/dist/chunk-ZNIJXDW4.cjs +1 -0
- package/dist/chunk-ZUZEZZX7.js +1 -0
- package/dist/components/CrossmintNFTCollectionView.cjs +1 -0
- package/dist/components/CrossmintNFTCollectionView.d.cts +6 -0
- package/dist/components/CrossmintNFTCollectionView.d.ts +6 -0
- package/dist/components/CrossmintNFTCollectionView.js +1 -0
- package/dist/components/CrossmintNFTDetail.cjs +1 -0
- package/dist/components/CrossmintNFTDetail.d.cts +6 -0
- package/dist/components/CrossmintNFTDetail.d.ts +6 -0
- package/dist/components/CrossmintNFTDetail.js +1 -0
- package/dist/components/auth/AuthModal.cjs +1 -0
- package/dist/components/auth/AuthModal.d.cts +18 -0
- package/dist/components/auth/AuthModal.d.ts +18 -0
- package/dist/components/auth/AuthModal.js +1 -0
- package/dist/components/auth/PasskeyPrompt.cjs +1 -0
- package/dist/components/auth/PasskeyPrompt.d.cts +15 -0
- package/dist/components/auth/PasskeyPrompt.d.ts +15 -0
- package/dist/components/auth/PasskeyPrompt.js +1 -0
- package/dist/components/common/PoweredByCrossmint.cjs +1 -0
- package/dist/components/common/PoweredByCrossmint.d.cts +7 -0
- package/dist/components/common/PoweredByCrossmint.d.ts +7 -0
- package/dist/components/common/PoweredByCrossmint.js +1 -0
- package/dist/components/embed/EmbeddedCheckoutIFrame.cjs +1 -0
- package/dist/components/embed/EmbeddedCheckoutIFrame.d.cts +9 -0
- package/dist/components/embed/EmbeddedCheckoutIFrame.d.ts +9 -0
- package/dist/components/embed/EmbeddedCheckoutIFrame.js +1 -0
- package/dist/components/embed/crypto/CryptoEmbeddedCheckout.cjs +1 -0
- package/dist/components/embed/crypto/CryptoEmbeddedCheckout.d.cts +6 -0
- package/dist/components/embed/crypto/CryptoEmbeddedCheckout.d.ts +6 -0
- package/dist/components/embed/crypto/CryptoEmbeddedCheckout.js +1 -0
- package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.cjs +1 -0
- package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.d.cts +6 -0
- package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.d.ts +6 -0
- package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.js +1 -0
- package/dist/components/embed/fiat/FiatEmbeddedCheckout.cjs +1 -0
- package/dist/components/embed/fiat/FiatEmbeddedCheckout.d.cts +6 -0
- package/dist/components/embed/fiat/FiatEmbeddedCheckout.d.ts +6 -0
- package/dist/components/embed/fiat/FiatEmbeddedCheckout.js +1 -0
- package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.cjs +1 -0
- package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.d.cts +6 -0
- package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.d.ts +6 -0
- package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.js +1 -0
- package/dist/components/embed/fiat/FiatPaymentElement_OLD.cjs +1 -0
- package/dist/components/embed/fiat/FiatPaymentElement_OLD.d.cts +6 -0
- package/dist/components/embed/fiat/FiatPaymentElement_OLD.d.ts +6 -0
- package/dist/components/embed/fiat/FiatPaymentElement_OLD.js +1 -0
- package/dist/components/embed/index.cjs +1 -0
- package/dist/components/embed/index.d.cts +6 -0
- package/dist/components/embed/index.d.ts +6 -0
- package/dist/components/embed/index.js +1 -0
- package/dist/components/hosted/CrossmintPayButton.cjs +1 -0
- package/dist/components/hosted/CrossmintPayButton.d.cts +11 -0
- package/dist/components/hosted/CrossmintPayButton.d.ts +11 -0
- package/dist/components/hosted/CrossmintPayButton.js +1 -0
- package/dist/components/hosted/index.cjs +1 -0
- package/dist/components/hosted/index.d.cts +4 -0
- package/dist/components/hosted/index.d.ts +4 -0
- package/dist/components/hosted/index.js +1 -0
- package/dist/components/hosted/styles.cjs +1 -0
- package/dist/components/hosted/styles.d.cts +11 -0
- package/dist/components/hosted/styles.d.ts +11 -0
- package/dist/components/hosted/styles.js +1 -0
- package/dist/components/index.cjs +1 -0
- package/dist/components/index.d.cts +8 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.js +1 -0
- package/dist/consts/version.cjs +1 -0
- package/dist/consts/version.d.cts +3 -0
- package/dist/consts/version.d.ts +3 -0
- package/dist/consts/version.js +1 -0
- package/dist/hooks/index.cjs +1 -0
- package/dist/hooks/index.d.cts +11 -0
- package/dist/hooks/index.d.ts +11 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useAuth.cjs +1 -0
- package/dist/hooks/useAuth.d.cts +13 -0
- package/dist/hooks/useAuth.d.ts +13 -0
- package/dist/hooks/useAuth.js +1 -0
- package/dist/hooks/useCrossmint.cjs +1 -0
- package/dist/hooks/useCrossmint.d.cts +15 -0
- package/dist/hooks/useCrossmint.d.ts +15 -0
- package/dist/hooks/useCrossmint.js +1 -0
- package/dist/hooks/useDeepEffect.cjs +1 -0
- package/dist/hooks/useDeepEffect.d.cts +5 -0
- package/dist/hooks/useDeepEffect.d.ts +5 -0
- package/dist/hooks/useDeepEffect.js +1 -0
- package/dist/hooks/useEnvironment.cjs +1 -0
- package/dist/hooks/useEnvironment.d.cts +5 -0
- package/dist/hooks/useEnvironment.d.ts +5 -0
- package/dist/hooks/useEnvironment.js +1 -0
- package/dist/hooks/useRefreshToken.cjs +1 -0
- package/dist/hooks/useRefreshToken.d.cts +11 -0
- package/dist/hooks/useRefreshToken.d.ts +11 -0
- package/dist/hooks/useRefreshToken.js +1 -0
- package/dist/hooks/useWallet.cjs +1 -0
- package/dist/hooks/useWallet.d.cts +18 -0
- package/dist/hooks/useWallet.d.ts +18 -0
- package/dist/hooks/useWallet.js +1 -0
- package/dist/icons/fingerprint.cjs +1 -0
- package/dist/icons/fingerprint.d.cts +5 -0
- package/dist/icons/fingerprint.d.ts +5 -0
- package/dist/icons/fingerprint.js +1 -0
- package/dist/icons/passkey.cjs +1 -0
- package/dist/icons/passkey.d.cts +5 -0
- package/dist/icons/passkey.d.ts +5 -0
- package/dist/icons/passkey.js +1 -0
- package/dist/icons/passkeyPromptLogo.cjs +1 -0
- package/dist/icons/passkeyPromptLogo.d.cts +8 -0
- package/dist/icons/passkeyPromptLogo.d.ts +8 -0
- package/dist/icons/passkeyPromptLogo.js +1 -0
- package/dist/icons/poweredByLeaf.cjs +1 -0
- package/dist/icons/poweredByLeaf.d.cts +8 -0
- package/dist/icons/poweredByLeaf.d.ts +8 -0
- package/dist/icons/poweredByLeaf.js +1 -0
- package/dist/icons/x.cjs +1 -0
- package/dist/icons/x.d.cts +7 -0
- package/dist/icons/x.d.ts +7 -0
- package/dist/icons/x.js +1 -0
- package/dist/index.cjs +1 -2
- package/dist/index.d.cts +15 -116
- package/dist/index.d.ts +15 -116
- package/dist/index.js +1 -2
- package/dist/providers/CrossmintAuthProvider.cjs +1 -0
- package/dist/providers/CrossmintAuthProvider.d.cts +34 -0
- package/dist/providers/CrossmintAuthProvider.d.ts +34 -0
- package/dist/providers/CrossmintAuthProvider.js +1 -0
- package/dist/providers/CrossmintWalletProvider.cjs +1 -0
- package/dist/providers/CrossmintWalletProvider.d.cts +30 -0
- package/dist/providers/CrossmintWalletProvider.d.ts +30 -0
- package/dist/providers/CrossmintWalletProvider.js +1 -0
- package/dist/providers/index.cjs +1 -0
- package/dist/providers/index.d.cts +7 -0
- package/dist/providers/index.d.ts +7 -0
- package/dist/providers/index.js +1 -0
- package/dist/testUtils.cjs +1 -0
- package/dist/testUtils.d.cts +4 -0
- package/dist/testUtils.d.ts +4 -0
- package/dist/testUtils.js +1 -0
- package/dist/twind.config.cjs +1 -0
- package/dist/twind.config.d.cts +9 -0
- package/dist/twind.config.d.ts +9 -0
- package/dist/twind.config.js +1 -0
- package/dist/utils/authCookies.cjs +1 -0
- package/dist/utils/authCookies.d.cts +7 -0
- package/dist/utils/authCookies.d.ts +7 -0
- package/dist/utils/authCookies.js +1 -0
- package/dist/utils/classNames.cjs +1 -0
- package/dist/utils/classNames.d.cts +11 -0
- package/dist/utils/classNames.d.ts +11 -0
- package/dist/utils/classNames.js +1 -0
- package/package.json +6 -5
- package/src/components/auth/AuthModal.tsx +47 -12
- package/src/components/auth/PasskeyPrompt.tsx +33 -26
- package/src/components/common/PoweredByCrossmint.tsx +8 -5
- package/src/hooks/useRefreshToken.test.ts +2 -2
- package/src/hooks/useRefreshToken.ts +3 -11
- package/src/providers/CrossmintAuthProvider.test.tsx +3 -3
- package/src/providers/CrossmintAuthProvider.tsx +20 -4
- package/src/utils/authCookies.ts +1 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
var at=Object.defineProperty,dt=Object.defineProperties;var ct=Object.getOwnPropertyDescriptors;var B=Object.getOwnPropertySymbols;var h1=Object.prototype.hasOwnProperty,g1=Object.prototype.propertyIsEnumerable;var f1=(t,e,r)=>e in t?at(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,p=(t,e)=>{for(var r in e||(e={}))h1.call(e,r)&&f1(t,r,e[r]);if(B)for(var r of B(e))g1.call(e,r)&&f1(t,r,e[r]);return t},D=(t,e)=>dt(t,ct(e));var O=(t,e)=>{var r={};for(var i in t)h1.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&B)for(var i of B(t))e.indexOf(i)<0&&g1.call(t,i)&&(r[i]=t[i]);return r};var w=(t,e,r)=>new Promise((i,o)=>{var s=l=>{try{a(r.next(l))}catch(n){o(n)}},d=l=>{try{a(r.throw(l))}catch(n){o(n)}},a=l=>l.done?i(l.value):Promise.resolve(l.value).then(s,d);a((r=r.apply(t,e)).next())});import{install as Be}from"@twind/core";import{defineConfig as mt}from"@twind/core";import Ct from"@twind/preset-tailwind";var p1=mt({presets:[Ct()]});import{assertValidNFTCollectionViewProps as ft,getNFTCollectionViewSrc as ht}from"@crossmint/client-sdk-base";var y1="1.6.0";var T=y1;import{jsx as gt}from"react/jsx-runtime";function Ge(t){ft(t);let e=ht(t,T);return gt("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-collection-view"})}import{assertValidValidateNFTDetailProps as pt,getNFTDetailSrc as yt}from"@crossmint/client-sdk-base";import{jsx as kt}from"react/jsx-runtime";function Qe(t){pt(t);let e=yt(t,T);return kt("iframe",{src:e,width:"100%",height:"100%",style:{flexGrow:"1",border:"none",margin:"0",padding:"0"},role:"nft-details"})}import{isCryptoEmbeddedCheckoutProps as _t,isFiatEmbeddedCheckoutProps as Ut}from"@crossmint/client-sdk-base";import{isCryptoEmbeddedCheckoutPropsWithSigner as It}from"@crossmint/client-sdk-base";import St from"bs58";import{IncomingInternalEvents as v1,OutgoingInternalEvents as P1,crossmintIFrameService as Mt,embeddedCheckoutPropsToUpdatableParamsPayload as Tt}from"@crossmint/client-sdk-base";import wt from"lodash.isequal";import{useEffect as vt,useRef as Pt}from"react";function A(t,e){let r=Pt(e);vt(()=>{if(e.some((o,s)=>!wt(o,r.current[s])))return r.current=e,t()},[e])}import{useEffect as k1,useState as w1}from"react";import{IncomingInternalEvents as xt,crossmintIFrameService as bt}from"@crossmint/client-sdk-base";import{jsx as Et}from"react/jsx-runtime";function F(r){var i=r,{onInternalEvent:t}=i,e=O(i,["onInternalEvent"]);let{getUrl:o,listenToEvents:s,listenToInternalEvents:d}=bt(e),[a,l]=w1(0),[n]=w1(o(e));return k1(()=>{let C=s(c=>{var u;return(u=e.onEvent)==null?void 0:u.call(e,c.data)});return()=>{C()}},[]),k1(()=>{let C=d(c=>{let{type:u,payload:k}=c.data;u===xt.UI_HEIGHT_CHANGED&&l(k.height),t==null||t(c.data)});return()=>{C()}},[]),Et("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:`${a}px`}})}import{jsx as Lt}from"react/jsx-runtime";function J(t){let{emitInternalEvent:e}=Mt(t),{signer:r,paymentMethod:i}=t;function o(l){let{type:n,payload:C}=l;if(n===v1.CRYPTO_PAYMENT_INCOMING_TRANSACTION){let{serializedTransaction:c}=C;console.log("[Crossmint] Received incoming transaction",c),s(c)}if(n===v1.CRYPTO_CHAIN_SWITCH){let{chain:c}=C;console.log("[Crossmint] Received change of chain",c);let u=r.handleChainSwitch;if(u==null)throw new Error("switchNetwork function should have been defined");u(c)}}function s(l){return w(this,null,function*(){try{let n;switch(i){case"SOL":n=yield d(r,l);break;case"ETH":n=yield a(r,l);break;default:throw new Error(`Unsupported payment method ${i}`)}console.log("[Crossmint] Signed and sent transaction",n),e({type:P1.CRYPTO_PAYMENT_USER_ACCEPTED,payload:{txId:n}})}catch(n){console.error("[Crossmint] Failed to sign and send transaction",n),e({type:P1.CRYPTO_PAYMENT_USER_REJECTED,payload:{}})}})}function d(l,n){return w(this,null,function*(){let{Transaction:C}=yield import("@solana/web3.js"),c=C.from(St.decode(n));return console.log("[Crossmint] Deserialized SOL transaction",c),yield l.signAndSendTransaction(c)})}function a(l,n){return w(this,null,function*(){let{parse:C}=yield import("@ethersproject/transactions"),c=C(n);return console.log("[Crossmint] Deserialized ETH transaction",c),yield l.signAndSendTransaction(c)})}return A(()=>{e({type:"params-update",payload:Tt(t)})},[t.signer.address,t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs,..."chain"in t.signer?[t.signer.chain]:[]]),Lt(F,p({onInternalEvent:o},t))}import{jsx as At}from"react/jsx-runtime";function x1(t){if(!It(t))throw new Error("Invalid parameters: signer is required in versions < 2.0.0");return At(J,p({},t))}import{crossmintIFrameService as Ft,embeddedCheckoutPropsToUpdatableParamsPayload as Rt}from"@crossmint/client-sdk-base";import{jsx as Wt}from"react/jsx-runtime";function q(t){let{emitInternalEvent:e}=Ft(t);return A(()=>{e({type:"params-update",payload:Rt(t)})},[t.recipient,t.mintConfig,t.locale,t.currency,t.whPassThroughArgs]),Wt(F,p({},t))}import{jsx as Nt}from"react/jsx-runtime";function b1(t){return Nt(q,p({},t))}import{jsx as E1}from"react/jsx-runtime";function N5(t){if(Ut(t))return E1(b1,p({},t));if(_t(t))return E1(x1,p({},t));throw new Error("Unsupported: Fiat is the only supported payment method.")}import{useMemo as Ht}from"react";import{useState as jt}from"react";import{clientNames as Kt,crossmintModalService as $t,crossmintPayButtonService as Yt}from"@crossmint/client-sdk-base";import{useEffect as Bt,useState as Dt}from"react";function X(){let[t,e]=Dt(!0);return Bt(()=>{e(!1)},[]),{isServerSideRendering:t}}import{createUseStyles as Ot}from"react-jss";var Zt="#1e1e1e",S1=t=>t==="light",M1=t=>({buttonBgColor:S1(t)?"white":Zt,paragraphColor:S1(t)?"black":"white"}),Vt={"@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"}},T1=Ot(Vt);import{Fragment as zt,jsx as Q,jsxs as Gt}from"react/jsx-runtime";function z5(t){let u1=t,{className:e,disabled:r,onClick:i,style:o,tabIndex:s,theme:d="dark",mintTo:a,emailTo:l,listingId:n,auctionId:C,showOverlay:c=!0,mintConfig:u,whPassThroughArgs:k,environment:h,paymentMethod:y,preferredSigninMethod:P,dismissOverlayOnClick:M,prepay:g,locale:I="en-US",currency:G1="usd",successCallbackURL:z1="",failureCallbackURL:J1="",loginEmail:q1="",projectId:X1,getButtonText:Y,checkoutProps:C1={experimental:!1,display:"same-tab",paymentMethods:["fiat","ETH","SOL"]}}=u1,G=O(u1,["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"]),Q1="clientId"in G?G.clientId:G.collectionId,[U,tt]=jt(!1),{isServerSideRendering:et}=X(),{connect:ot}=$t({clientId:Q1,projectId:X1,showOverlay:c,dismissOverlayOnClick:M,setConnecting:tt,libVersion:T,environment:h,clientName:Kt.reactUi,locale:I,currency:G1,successCallbackURL:z1,failureCallbackURL:J1,loginEmail:q1}),{getButtonText:rt,handleClick:st}=Yt({onClick:i,connecting:U,paymentMethod:y,locale:I,checkoutProps:C1}),nt=lt=>st(lt,()=>{ot(u,a,l,n,k,y,P,g,C1)}),z=T1(M1(d)),it=Ht(()=>Q("span",{className:z.crossmintParagraph,role:"button-paragraph",children:Y!=null?Y(U,y||"fiat"):rt(U)}),[U,Y,y]);return Q(zt,{children:!et&&Gt("button",{className:`${z.crossmintButton} ${e||""}`,disabled:r,onClick:nt,style:p({},o),tabIndex:s,children:[Q("img",{className:z.crossmintImg,src:"https://www.crossmint.io/assets/crossmint/logo.svg",alt:"Crossmint logo"}),it]})})}import{createContext as Jt,useCallback as L1,useContext as qt,useMemo as Xt,useRef as Qt,useState as te}from"react";import{createCrossmint as ee}from"@crossmint/common-sdk-base";import{jsx as oe}from"react/jsx-runtime";var I1=Jt(null);function e0({children:t,apiKey:e,overrideBaseUrl:r}){let[i,o]=te(0),s=Qt(new Proxy(ee({apiKey:e,overrideBaseUrl:r}),{set(n,C,c){return C==="jwt"&&n.jwt!==c&&o(u=>u+1),C==="refreshToken"&&n.refreshToken!==c&&o(u=>u+1),Reflect.set(n,C,c)}})),d=L1(n=>{n!==s.current.jwt&&(s.current.jwt=n)},[]),a=L1(n=>{n!==s.current.refreshToken&&(s.current.refreshToken=n)},[]),l=Xt(()=>({get crossmint(){return s.current},setJwt:d,setRefreshToken:a}),[d,a,i]);return oe(I1.Provider,{value:l,children:t})}function Z(t){let e=qt(I1);if(e==null)throw new Error(t!=null?t:"useCrossmint must be used within a CrossmintProvider");return e}import{useContext as ye}from"react";import{createContext as me,useMemo as Ce,useState as B1}from"react";import{createPortal as ue}from"react-dom";import{SmartWalletError as D1,SmartWalletSDK as fe}from"@crossmint/client-sdk-smart-wallet";import{Button as R,Dialog as le,Transition as ae}from"@headlessui/react";import{Fragment as de}from"react";import{jsx as b,jsxs as re}from"react/jsx-runtime";function V(){return re("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[b("path",{d:"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4"}),b("path",{d:"M14 13.12c0 2.38 0 6.38-1 8.88"}),b("path",{d:"M17.29 21.02c.12-.6.43-2.3.5-3.02"}),b("path",{d:"M2 12a10 10 0 0 1 18-6"}),b("path",{d:"M2 16h.01"}),b("path",{d:"M21.8 16c.2-2 .131-5.354 0-6"}),b("path",{d:"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2"}),b("path",{d:"M8.65 22c.21-.66.45-1.32.57-2"}),b("path",{d:"M9 6.8a6 6 0 0 1 9 5.2v2"})]})}import{jsx as A1,jsxs as se}from"react/jsx-runtime";function t1(){return se("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[A1("path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}),A1("circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"})]})}import{jsx as f,jsxs as F1}from"react/jsx-runtime";function e1({appearance:t}){var e,r,i,o,s,d,a,l,n,C,c,u,k,h,y,P,M,g;return F1("svg",{width:"121",height:"118",viewBox:"0 0 121 118",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[f("mask",{id:"mask0_1_1167",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"96",height:"96",children:f("path",{d:"M96 48C96 74.5097 74.5097 96 48 96C21.4903 96 0 74.5097 0 48C0 21.4903 21.4903 0 48 0C74.5097 0 96 21.4903 96 48Z",fill:(r=(e=t==null?void 0:t.colors)==null?void 0:e.background)!=null?r:"#D9D9D9"})}),f("g",{mask:"url(#mask0_1_1167)",children:f("circle",{cx:"48",cy:"48",r:"48",fill:(o=(i=t==null?void 0:t.colors)==null?void 0:i.inputBackground)!=null?o:"#F2F3F7"})}),f("path",{d:"M39.8333 29.625H39.425C35.9947 29.625 34.2795 29.625 32.9693 30.2926C31.8168 30.8798 30.8798 31.8168 30.2926 32.9693C29.625 34.2795 29.625 35.9947 29.625 39.425V39.8333M39.8333 66.375H39.425C35.9947 66.375 34.2795 66.375 32.9693 65.7074C31.8168 65.1202 30.8798 64.1832 30.2926 63.0307C29.625 61.7205 29.625 60.0053 29.625 56.575V56.1667M66.375 39.8333V39.425C66.375 35.9947 66.375 34.2795 65.7074 32.9693C65.1202 31.8168 64.1832 30.8798 63.0307 30.2926C61.7205 29.625 60.0053 29.625 56.575 29.625H56.1667M66.375 56.1667V56.575C66.375 60.0053 66.375 61.7205 65.7074 63.0307C65.1202 64.1832 64.1832 65.1202 63.0307 65.7074C61.7205 66.375 60.0053 66.375 56.575 66.375H56.1667M38.8125 39.8333V42.8958M57.1875 39.8333V42.8958M45.9583 49.2252C47.5917 49.2252 49.0208 47.796 49.0208 46.1627V39.8333M54.5337 54.5332C50.8587 58.2082 44.9379 58.2082 41.2629 54.5332",stroke:(d=(s=t==null?void 0:t.colors)==null?void 0:s.accent)!=null?d:"#04AA6D",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round"}),f("g",{mask:"url(#mask1_1_1167)",children:f("circle",{cx:"48",cy:"48",r:"48",fill:(l=(a=t==null?void 0:t.colors)==null?void 0:a.inputBackground)!=null?l:"#F2F3F7"})}),f("path",{d:"M28.2 35.3494C29.5789 34.3137 31.2928 33.7 33.15 33.7H62.85C64.7073 33.7 66.4212 34.3137 67.8 35.3494C67.7997 32.6159 65.5836 30.4 62.85 30.4H33.15C30.4164 30.4 28.2003 32.6159 28.2 35.3494Z",fill:(C=(n=t==null?void 0:t.colors)==null?void 0:n.accent)!=null?C:"#04AA6D"}),f("path",{d:"M28.2 41.9494C29.5789 40.9137 31.2928 40.3 33.15 40.3H62.85C64.7073 40.3 66.4212 40.9137 67.8 41.9494C67.7997 39.2159 65.5836 37 62.85 37H33.15C30.4164 37 28.2003 39.2159 28.2 41.9494Z",fill:(u=(c=t==null?void 0:t.colors)==null?void 0:c.accent)!=null?u:"#04AA6D"}),f("path",{d:"M41.4 43.6C42.615 43.6 43.6 44.585 43.6 45.8C43.6 48.2301 45.57 50.2 48 50.2C50.4301 50.2 52.4 48.2301 52.4 45.8C52.4 44.585 53.385 43.6 54.6 43.6H62.85C65.5838 43.6 67.8 45.8162 67.8 48.55V60.65C67.8 63.3838 65.5838 65.6 62.85 65.6H33.15C30.4162 65.6 28.2 63.3838 28.2 60.65V48.55C28.2 45.8162 30.4162 43.6 33.15 43.6H41.4Z",fill:(h=(k=t==null?void 0:t.colors)==null?void 0:k.accent)!=null?h:"#04AA6D"}),f("g",{filter:"url(#filter0_d_1_1167)",children:f("circle",{cx:"86.5625",cy:"84",r:"20",fill:(P=(y=t==null?void 0:t.colors)==null?void 0:y.inputBackground)!=null?P:"#FFFFFF"})}),f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M86.5625 74.375C84.9562 74.375 83.4646 74.855 82.2202 75.6792C81.8173 75.946 81.2744 75.8358 81.0076 75.4329C80.7407 75.03 80.851 74.487 81.2539 74.2202C82.776 73.2121 84.602 72.625 86.5625 72.625C91.8782 72.625 96.1875 76.9343 96.1875 82.25C96.1875 85.7678 95.5178 89.1313 94.2974 92.2183C94.1197 92.6677 93.6114 92.8879 93.1619 92.7103C92.7125 92.5326 92.4923 92.0243 92.6699 91.5749C93.8106 88.6895 94.4375 85.5441 94.4375 82.25C94.4375 77.9008 90.9117 74.375 86.5625 74.375ZM79.7454 76.6951C80.1482 76.9619 80.2585 77.5048 79.9917 77.9077C79.1675 79.1521 78.6875 80.6437 78.6875 82.25C78.6875 84.132 78.1468 85.8905 77.2112 87.3751C76.9536 87.784 76.4133 87.9065 76.0044 87.6489C75.5956 87.3913 75.473 86.851 75.7307 86.4421C76.4953 85.2288 76.9375 83.7925 76.9375 82.25C76.9375 80.2895 77.5246 78.4635 78.5327 76.9414C78.7995 76.5385 79.3425 76.4282 79.7454 76.6951ZM86.5625 78.75C84.6295 78.75 83.0625 80.317 83.0625 82.25C83.0625 85.8664 81.6905 89.1643 79.4396 91.6482C79.1151 92.0063 78.5617 92.0335 78.2036 91.709C77.8455 91.3845 77.8183 90.8312 78.1428 90.4731C80.1134 88.2986 81.3125 85.4154 81.3125 82.25C81.3125 79.3505 83.663 77 86.5625 77C89.462 77 91.8125 79.3505 91.8125 82.25C91.8125 82.8884 91.7865 83.5213 91.7348 84.1475C91.695 84.6291 91.2723 84.9872 90.7907 84.9474C90.3091 84.9077 89.951 84.485 89.9908 84.0034C90.0385 83.4258 90.0625 82.841 90.0625 82.25C90.0625 80.317 88.4955 78.75 86.5625 78.75ZM86.5629 81.375C87.0461 81.375 87.4379 81.7668 87.4379 82.25C87.4379 86.8095 85.7761 90.9831 83.0262 94.1948C82.7119 94.5619 82.1595 94.6047 81.7924 94.2904C81.4254 93.9761 81.3826 93.4237 81.6969 93.0566C84.1855 90.15 85.6879 86.3766 85.6879 82.25C85.6879 81.7668 86.0796 81.375 86.5629 81.375ZM90.341 87.4219C90.8057 87.5545 91.075 88.0387 90.9424 88.5034C90.2775 90.8339 89.2506 93.0112 87.9267 94.9707C87.6562 95.3712 87.1123 95.4765 86.7119 95.2059C86.3114 94.9354 86.2061 94.3915 86.4767 93.991C87.6989 92.182 88.6463 90.1729 89.2595 88.0233C89.3921 87.5586 89.8763 87.2893 90.341 87.4219Z",fill:(g=(M=t==null?void 0:t.colors)==null?void 0:M.accent)!=null?g:"#04AA6D"}),f("defs",{children:F1("filter",{id:"filter0_d_1_1167",x:"52.5625",y:"50",width:"68",height:"68",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[f("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),f("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),f("feOffset",{}),f("feGaussianBlur",{stdDeviation:"7"}),f("feComposite",{in2:"hardAlpha",operator:"out"}),f("feColorMatrix",{type:"matrix",values:"0 0 0 0 0.0362847 0 0 0 0 0.0869733 0 0 0 0 0.0916667 0 0 0 0.12 0"}),f("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_1_1167"}),f("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_1_1167",result:"shape"})]})})]})}import{jsx as v,jsxs as L}from"react/jsx-runtime";var R1=({color:t,size:e="16"})=>L("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[L("mask",{id:"mask0_794_7000",className:"mask-type:alpha",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:e,height:e,children:[v("mask",{id:"path-1-inside-1_794_7000",fill:"white",children:v("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93305 2.1844C11.7533 0.10829 15.9222 0.568901 15.9222 0.568901C15.9222 0.568901 16.0057 4.96897 14.2683 6.27064C13.1587 7.63127 10.5073 8.00011 9.1514 8.1001C10.1475 8.17355 11.8426 8.39208 13.1121 9.04226C13.9798 9.48668 14.7297 10.2076 15.1404 11.0918C15.9743 12.887 15.9222 15.6313 15.9222 15.6313C15.9222 15.6313 11.7533 16.0919 9.93305 14.0158C8.80036 12.8878 8.44965 10.9282 8.34864 9.5668C8.24764 10.9282 7.89692 12.8878 6.76423 14.0158C4.94398 16.0919 0.775056 15.6313 0.775056 15.6313C0.775056 15.6313 0.72298 12.887 1.55684 11.0918C1.96755 10.2076 2.71747 9.48668 3.5852 9.04226C4.85413 8.39237 6.54831 8.17374 7.54455 8.1002C6.54829 8.02664 4.85418 7.80801 3.5853 7.15814C2.71756 6.71372 1.96765 5.99276 1.55694 5.10857C0.723074 3.31341 0.77515 0.569103 0.77515 0.569103C0.77515 0.569103 4.94407 0.108492 6.76431 2.1846C7.89682 3.31239 8.2476 5.27155 8.34868 6.6329C8.44973 5.27155 8.80049 3.31224 9.93305 2.1844Z"})}),v("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93305 2.1844C11.7533 0.10829 15.9222 0.568901 15.9222 0.568901C15.9222 0.568901 16.0057 4.96897 14.2683 6.27064C13.1587 7.63127 10.5073 8.00011 9.1514 8.1001C10.1475 8.17355 11.8426 8.39208 13.1121 9.04226C13.9798 9.48668 14.7297 10.2076 15.1404 11.0918C15.9743 12.887 15.9222 15.6313 15.9222 15.6313C15.9222 15.6313 11.7533 16.0919 9.93305 14.0158C8.80036 12.8878 8.44965 10.9282 8.34864 9.5668C8.24764 10.9282 7.89692 12.8878 6.76423 14.0158C4.94398 16.0919 0.775056 15.6313 0.775056 15.6313C0.775056 15.6313 0.72298 12.887 1.55684 11.0918C1.96755 10.2076 2.71747 9.48668 3.5852 9.04226C4.85413 8.39237 6.54831 8.17374 7.54455 8.1002C6.54829 8.02664 4.85418 7.80801 3.5853 7.15814C2.71756 6.71372 1.96765 5.99276 1.55694 5.10857C0.723074 3.31341 0.77515 0.569103 0.77515 0.569103C0.77515 0.569103 4.94407 0.108492 6.76431 2.1846C7.89682 3.31239 8.2476 5.27155 8.34868 6.6329C8.44973 5.27155 8.80049 3.31224 9.93305 2.1844Z",fill:"white"}),v("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93305 2.1844C11.7533 0.10829 15.9222 0.568901 15.9222 0.568901C15.9222 0.568901 16.0057 4.96897 14.2683 6.27064C13.1587 7.63127 10.5073 8.00011 9.1514 8.1001C10.1475 8.17355 11.8426 8.39208 13.1121 9.04226C13.9798 9.48668 14.7297 10.2076 15.1404 11.0918C15.9743 12.887 15.9222 15.6313 15.9222 15.6313C15.9222 15.6313 11.7533 16.0919 9.93305 14.0158C8.80036 12.8878 8.44965 10.9282 8.34864 9.5668C8.24764 10.9282 7.89692 12.8878 6.76423 14.0158C4.94398 16.0919 0.775056 15.6313 0.775056 15.6313C0.775056 15.6313 0.72298 12.887 1.55684 11.0918C1.96755 10.2076 2.71747 9.48668 3.5852 9.04226C4.85413 8.39237 6.54831 8.17374 7.54455 8.1002C6.54829 8.02664 4.85418 7.80801 3.5853 7.15814C2.71756 6.71372 1.96765 5.99276 1.55694 5.10857C0.723074 3.31341 0.77515 0.569103 0.77515 0.569103C0.77515 0.569103 4.94407 0.108492 6.76431 2.1846C7.89682 3.31239 8.2476 5.27155 8.34868 6.6329C8.44973 5.27155 8.80049 3.31224 9.93305 2.1844Z",fill:"url(#paint0_linear_794_7000)"}),v("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93305 2.1844C11.7533 0.10829 15.9222 0.568901 15.9222 0.568901C15.9222 0.568901 16.0057 4.96897 14.2683 6.27064C13.1587 7.63127 10.5073 8.00011 9.1514 8.1001C10.1475 8.17355 11.8426 8.39208 13.1121 9.04226C13.9798 9.48668 14.7297 10.2076 15.1404 11.0918C15.9743 12.887 15.9222 15.6313 15.9222 15.6313C15.9222 15.6313 11.7533 16.0919 9.93305 14.0158C8.80036 12.8878 8.44965 10.9282 8.34864 9.5668C8.24764 10.9282 7.89692 12.8878 6.76423 14.0158C4.94398 16.0919 0.775056 15.6313 0.775056 15.6313C0.775056 15.6313 0.72298 12.887 1.55684 11.0918C1.96755 10.2076 2.71747 9.48668 3.5852 9.04226C4.85413 8.39237 6.54831 8.17374 7.54455 8.1002C6.54829 8.02664 4.85418 7.80801 3.5853 7.15814C2.71756 6.71372 1.96765 5.99276 1.55694 5.10857C0.723074 3.31341 0.77515 0.569103 0.77515 0.569103C0.77515 0.569103 4.94407 0.108492 6.76431 2.1846C7.89682 3.31239 8.2476 5.27155 8.34868 6.6329C8.44973 5.27155 8.80049 3.31224 9.93305 2.1844Z",fill:"url(#paint1_linear_794_7000)"}),v("path",{d:"M15.9222 0.568901L16.0702 0.566093L16.0677 0.436075L15.9385 0.421794L15.9222 0.568901ZM9.93305 2.1844L10.0377 2.28951L10.0443 2.28197L9.93305 2.1844ZM14.2683 6.27064L14.1796 6.15219L14.1651 6.16306L14.1536 6.1771L14.2683 6.27064ZM9.1514 8.1001L9.14051 7.9525V8.2477L9.1514 8.1001ZM13.1121 9.04226L13.1795 8.91053L13.1121 9.04226ZM15.1404 11.0918L15.0062 11.1542L15.1404 11.0918ZM15.9222 15.6313L15.9385 15.7784L16.0677 15.7641L16.0702 15.6341L15.9222 15.6313ZM9.93305 14.0158L10.0446 13.918L10.0375 13.9109L9.93305 14.0158ZM8.34864 9.5668L8.49624 9.55585H8.20104L8.34864 9.5668ZM6.76423 14.0158L6.65955 13.9107L6.65294 13.9182L6.76423 14.0158ZM0.775056 15.6313L0.627081 15.6341L0.629548 15.7641L0.758803 15.7784L0.775056 15.6313ZM1.55684 11.0918L1.42262 11.0295L1.55684 11.0918ZM3.5852 9.04226L3.51774 8.91053L3.5852 9.04226ZM7.54455 8.1002L7.55545 8.2478L7.55545 7.9526L7.54455 8.1002ZM3.5853 7.15814L3.65276 7.02641L3.5853 7.15814ZM1.55694 5.10857L1.42271 5.17092L1.55694 5.10857ZM0.77515 0.569103L0.758897 0.421997L0.629642 0.436277L0.627175 0.566295L0.77515 0.569103ZM6.76431 2.1846L6.65277 2.2824L6.65988 2.28948L6.76431 2.1846ZM8.34868 6.6329L8.20108 6.64386L8.49627 6.64386L8.34868 6.6329ZM15.9222 0.568901C15.9385 0.421794 15.9384 0.421788 15.9383 0.421781C15.9383 0.421776 15.9382 0.421766 15.9381 0.421756C15.9379 0.421737 15.9377 0.42171 15.9374 0.421677C15.9368 0.421611 15.9359 0.421518 15.9348 0.4214C15.9326 0.421164 15.9294 0.420828 15.9252 0.420401C15.9168 0.419549 15.9045 0.418339 15.8886 0.416863C15.8567 0.413911 15.8101 0.409896 15.7503 0.405551C15.6307 0.396864 15.4584 0.386854 15.2462 0.381417C14.822 0.370549 14.2369 0.377905 13.5935 0.451055C12.3149 0.596427 10.7698 1.00557 9.82177 2.08683L10.0443 2.28197C10.9166 1.28713 12.3661 0.888514 13.6269 0.745164C14.2533 0.673953 14.8242 0.666705 15.2386 0.677323C15.4457 0.682628 15.6133 0.692384 15.7288 0.700777C15.7866 0.704972 15.8313 0.708825 15.8613 0.711607C15.8763 0.712998 15.8877 0.714121 15.8952 0.714885C15.899 0.715267 15.9018 0.715559 15.9036 0.71575C15.9045 0.715845 15.9051 0.715915 15.9055 0.715959C15.9057 0.71598 15.9059 0.715996 15.9059 0.716004C15.906 0.716008 15.906 0.716009 15.906 0.716011C15.906 0.71601 15.906 0.716008 15.9222 0.568901ZM14.3571 6.38909C14.8224 6.04044 15.156 5.49285 15.3973 4.88522C15.6393 4.27569 15.7939 3.59185 15.893 2.95438C15.9923 2.31617 16.0365 1.71984 16.056 1.28335C16.0657 1.06496 16.0693 0.88623 16.0704 0.761846C16.071 0.699646 16.0709 0.651013 16.0707 0.617781C16.0706 0.601165 16.0705 0.588397 16.0704 0.579706C16.0703 0.575361 16.0703 0.572034 16.0703 0.569756C16.0702 0.568617 16.0702 0.56774 16.0702 0.567128C16.0702 0.566822 16.0702 0.566583 16.0702 0.56641C16.0702 0.566324 16.0702 0.566244 16.0702 0.566201C16.0702 0.566139 16.0702 0.566093 15.9222 0.568901C15.7742 0.571709 15.7742 0.571697 15.7742 0.571701C15.7742 0.571725 15.7742 0.571746 15.7742 0.571794C15.7742 0.571889 15.7742 0.57205 15.7743 0.572278C15.7743 0.572733 15.7743 0.573453 15.7743 0.574434C15.7743 0.576395 15.7744 0.5794 15.7744 0.58342C15.7745 0.591459 15.7746 0.603557 15.7747 0.619486C15.7749 0.651343 15.775 0.698514 15.7744 0.759171C15.7733 0.880501 15.7698 1.0557 15.7603 1.27015C15.7411 1.69935 15.6976 2.28439 15.6005 2.90891C15.5033 3.53416 15.3531 4.19441 15.1222 4.77598C14.8905 5.35946 14.5829 5.85 14.1796 6.15219L14.3571 6.38909ZM9.16228 8.2477C9.8452 8.19734 10.858 8.07912 11.8426 7.80052C12.8222 7.52329 13.7989 7.08045 14.383 6.36418L14.1536 6.1771C13.6282 6.82146 12.7244 7.24336 11.762 7.5157C10.8044 7.78668 9.81355 7.90287 9.14051 7.9525L9.16228 8.2477ZM9.14051 8.2477C10.1336 8.32093 11.8032 8.5382 13.0446 9.17399L13.1795 8.91053C11.882 8.24595 10.1613 8.02617 9.16228 7.9525L9.14051 8.2477ZM13.0446 9.17399C13.8869 9.60539 14.6112 10.3037 15.0062 11.1542L15.2747 11.0295C14.8483 10.1116 14.0727 9.36797 13.1795 8.91053L13.0446 9.17399ZM15.0062 11.1542C15.4125 12.029 15.606 13.144 15.6968 14.0495C15.7419 14.5005 15.7613 14.896 15.7694 15.1787C15.7734 15.3199 15.7746 15.4329 15.7748 15.5103C15.7749 15.5489 15.7748 15.5787 15.7746 15.5988C15.7745 15.6088 15.7744 15.6163 15.7744 15.6213C15.7743 15.6238 15.7743 15.6257 15.7743 15.6269C15.7743 15.6275 15.7743 15.6279 15.7743 15.6282C15.7743 15.6283 15.7742 15.6284 15.7742 15.6284C15.7742 15.6285 15.7742 15.6285 15.7742 15.6285C15.7742 15.6285 15.7742 15.6285 15.9222 15.6313C16.0702 15.6341 16.0702 15.6341 16.0702 15.634C16.0702 15.634 16.0702 15.6339 16.0702 15.6339C16.0702 15.6338 16.0702 15.6336 16.0702 15.6334C16.0702 15.633 16.0702 15.6325 16.0702 15.6317C16.0703 15.6303 16.0703 15.6282 16.0703 15.6254C16.0704 15.6199 16.0705 15.6118 16.0706 15.6013C16.0708 15.5802 16.0709 15.5493 16.0708 15.5095C16.0706 15.4298 16.0694 15.3143 16.0653 15.1702C16.057 14.8822 16.0373 14.4795 15.9913 14.02C15.8996 13.1045 15.7022 11.9499 15.2747 11.0295L15.0062 11.1542ZM15.9222 15.6313C15.906 15.4842 15.906 15.4842 15.906 15.4842C15.906 15.4842 15.906 15.4842 15.9059 15.4842C15.9059 15.4842 15.9057 15.4842 15.9055 15.4842C15.9051 15.4843 15.9045 15.4843 15.9036 15.4844C15.9018 15.4846 15.899 15.4849 15.8952 15.4853C15.8877 15.4861 15.8764 15.4872 15.8613 15.4886C15.8313 15.4914 15.7866 15.4952 15.7288 15.4994C15.6133 15.5078 15.4457 15.5176 15.2386 15.5229C14.8242 15.5335 14.2533 15.5262 13.627 15.455C12.3661 15.3117 10.9166 14.9131 10.0443 13.9182L9.82177 14.1134C10.7698 15.1946 12.3149 15.6038 13.5935 15.7491C14.2369 15.8223 14.822 15.8296 15.2462 15.8188C15.4584 15.8133 15.6307 15.8033 15.7503 15.7946C15.8101 15.7903 15.8567 15.7863 15.8886 15.7833C15.9045 15.7819 15.9168 15.7806 15.9252 15.7798C15.9294 15.7794 15.9326 15.779 15.9348 15.7788C15.9359 15.7787 15.9368 15.7786 15.9374 15.7785C15.9377 15.7785 15.938 15.7785 15.9381 15.7784C15.9382 15.7784 15.9383 15.7784 15.9384 15.7784C15.9384 15.7784 15.9385 15.7784 15.9222 15.6313ZM10.0375 13.9109C9.49509 13.3708 9.13374 12.6245 8.89565 11.836C8.65794 11.0488 8.54626 10.2301 8.49624 9.55585L8.20104 9.57775C8.25202 10.2649 8.36621 11.1067 8.61228 11.9216C8.85797 12.7353 9.23832 13.5328 9.82862 14.1207L10.0375 13.9109ZM8.20104 9.55585C8.15102 10.2301 8.03934 11.0488 7.80163 11.836C7.56354 12.6245 7.20219 13.3708 6.65979 13.9109L6.86866 14.1207C7.45896 13.5328 7.83931 12.7353 8.085 11.9216C8.33107 11.1067 8.44526 10.2649 8.49624 9.57775L8.20104 9.55585ZM6.65294 13.9182C5.7807 14.9131 4.3312 15.3117 3.07033 15.455C2.44398 15.5262 1.8731 15.5335 1.45868 15.5229C1.25162 15.5176 1.08399 15.5078 0.968469 15.4994C0.910718 15.4952 0.866019 15.4914 0.835957 15.4886C0.820927 15.4872 0.809559 15.4861 0.802051 15.4853C0.798297 15.4849 0.795508 15.4846 0.79371 15.4844C0.79281 15.4843 0.792159 15.4843 0.791758 15.4842C0.791557 15.4842 0.791419 15.4842 0.791344 15.4842C0.791307 15.4842 0.791298 15.4842 0.791279 15.4842C0.791287 15.4842 0.791309 15.4842 0.775056 15.6313C0.758803 15.7784 0.758857 15.7784 0.758928 15.7784C0.758973 15.7784 0.759059 15.7784 0.759149 15.7784C0.759328 15.7785 0.75957 15.7785 0.759875 15.7785C0.760486 15.7786 0.761348 15.7787 0.76246 15.7788C0.764682 15.779 0.767901 15.7794 0.772091 15.7798C0.78047 15.7806 0.792733 15.7819 0.808682 15.7833C0.840577 15.7863 0.887222 15.7903 0.947021 15.7946C1.0666 15.8033 1.23889 15.8133 1.4511 15.8188C1.87524 15.8296 2.46036 15.8223 3.10377 15.7491C4.38242 15.6038 5.9275 15.1946 6.87551 14.1134L6.65294 13.9182ZM0.775056 15.6313C0.923031 15.6285 0.923031 15.6285 0.923031 15.6285C0.923031 15.6285 0.923031 15.6285 0.923031 15.6284C0.92303 15.6284 0.923028 15.6283 0.923025 15.6282C0.923021 15.6279 0.923013 15.6275 0.923003 15.6269C0.922983 15.6257 0.922954 15.6238 0.92292 15.6213C0.92285 15.6163 0.922758 15.6088 0.922671 15.5988C0.922498 15.5787 0.922347 15.5489 0.922448 15.5103C0.92265 15.4329 0.923856 15.3199 0.92789 15.1787C0.93596 14.896 0.955332 14.5005 1.00052 14.0495C1.09123 13.144 1.28473 12.029 1.69107 11.1542L1.42262 11.0295C0.995094 11.9499 0.797698 13.1045 0.705986 14.02C0.659956 14.4795 0.640231 14.8822 0.632007 15.1702C0.627893 15.3143 0.626654 15.4298 0.626446 15.5095C0.626342 15.5493 0.626496 15.5802 0.626679 15.6013C0.62677 15.6118 0.626868 15.6199 0.626945 15.6254C0.626983 15.6282 0.627016 15.6303 0.62704 15.6317C0.627052 15.6325 0.627062 15.633 0.627069 15.6334C0.627072 15.6336 0.627075 15.6338 0.627077 15.6339C0.627078 15.6339 0.627079 15.634 0.62708 15.634C0.62708 15.6341 0.627081 15.6341 0.775056 15.6313ZM1.69107 11.1542C2.08612 10.3037 2.81035 9.60539 3.65267 9.17399L3.51774 8.91053C2.62458 9.36797 1.84899 10.1116 1.42262 11.0295L1.69107 11.1542ZM3.65267 9.17399C4.8935 8.53848 6.56218 8.32112 7.55545 8.2478L7.53366 7.9526C6.53443 8.02636 4.81475 8.24625 3.51774 8.91053L3.65267 9.17399ZM7.55545 7.9526C6.56217 7.87926 4.89355 7.6619 3.65276 7.02641L3.51783 7.28987C4.8148 7.95413 6.53442 8.17402 7.53366 8.2478L7.55545 7.9526ZM3.65276 7.02641C2.81044 6.59501 2.08622 5.89671 1.69116 5.04622L1.42271 5.17092C1.84908 6.08882 2.62468 6.83243 3.51783 7.28987L3.65276 7.02641ZM1.69116 5.04622C1.28482 4.17144 1.09133 3.0564 1.00061 2.1509C0.955427 1.69989 0.936054 1.30436 0.927984 1.02173C0.92395 0.880461 0.922744 0.767535 0.922543 0.690143C0.922442 0.651451 0.922592 0.62165 0.922765 0.601643C0.922852 0.591639 0.922944 0.584085 0.923014 0.579092C0.923049 0.576595 0.923078 0.574739 0.923097 0.573538C0.923107 0.572937 0.923115 0.5725 0.92312 0.572228C0.923122 0.572092 0.923124 0.571998 0.923125 0.571945C0.923125 0.571918 0.923125 0.57191 0.923126 0.571897C0.923126 0.571899 0.923125 0.571911 0.77515 0.569103C0.627175 0.566295 0.627175 0.566328 0.627174 0.566372C0.627173 0.566401 0.627172 0.566455 0.627171 0.566512C0.627169 0.566626 0.627166 0.566782 0.627163 0.56698C0.627156 0.567374 0.627146 0.567935 0.627134 0.56866C0.62711 0.570111 0.627077 0.572218 0.627039 0.574969C0.626962 0.580471 0.626864 0.588545 0.626773 0.59908C0.62659 0.620148 0.626436 0.651061 0.62654 0.690914C0.626748 0.770614 0.627988 0.886112 0.632101 1.03017C0.640325 1.3182 0.66005 1.72094 0.70608 2.18041C0.797792 3.09585 0.995188 4.25054 1.42271 5.17092L1.69116 5.04622ZM0.77515 0.569103C0.791404 0.71621 0.791381 0.716212 0.791374 0.716213C0.791392 0.716211 0.791401 0.71621 0.791439 0.716206C0.791513 0.716198 0.791651 0.716183 0.791852 0.716161C0.792253 0.716117 0.792905 0.716047 0.793804 0.715952C0.795602 0.715761 0.798391 0.715469 0.802145 0.715087C0.809653 0.714323 0.821021 0.7132 0.836051 0.711809C0.866113 0.709027 0.910812 0.705174 0.968563 0.700979C1.08408 0.692586 1.25171 0.682831 1.45878 0.677525C1.87319 0.666907 2.44407 0.674155 3.07042 0.745366C4.33129 0.888717 5.78079 1.28733 6.65303 2.28217L6.8756 2.08703C5.92759 1.00577 4.38251 0.596629 3.10386 0.451257C2.46045 0.378107 1.87534 0.370751 1.45119 0.381619C1.23898 0.387056 1.06669 0.397066 0.947115 0.405753C0.887316 0.410098 0.840671 0.414113 0.808776 0.417065C0.792827 0.418541 0.780564 0.419751 0.772185 0.420603C0.767995 0.42103 0.764777 0.421367 0.762554 0.421603C0.761442 0.421721 0.76058 0.421813 0.759969 0.42188C0.759664 0.421913 0.759422 0.421939 0.759243 0.421959C0.759154 0.421968 0.759067 0.421978 0.759022 0.421983C0.758952 0.421991 0.758897 0.421997 0.77515 0.569103ZM6.65988 2.28948C7.20219 2.82952 7.56351 3.57559 7.8016 4.36396C8.03931 5.15104 8.15102 5.96962 8.20108 6.64386L8.49627 6.62194C8.44526 5.93484 8.33104 5.09316 8.08496 4.27838C7.83927 3.46487 7.45895 2.66747 6.86875 2.07973L6.65988 2.28948ZM9.82862 2.07953C9.23839 2.6673 8.85806 3.46475 8.61237 4.27829C8.36629 5.09312 8.25208 5.93484 8.20108 6.62195L8.49627 6.64386C8.54632 5.96961 8.65802 5.151 8.89573 4.36387C9.13383 3.57547 9.49515 2.82934 10.0375 2.28927L9.82862 2.07953Z",fill:"white",mask:"url(#path-1-inside-1_794_7000)"})]}),L("g",{mask:"url(#mask0_794_7000)",children:[v("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.93528 2.18471C11.7555 0.108595 15.9244 0.569206 15.9244 0.569206C15.9244 0.569206 16.0079 4.96927 14.2706 6.27095C13.1619 7.63046 10.5139 7.99981 9.15694 8.10016C10.1535 8.17385 11.8462 8.39261 13.1143 9.04207C13.982 9.4865 14.7319 10.2074 15.1427 11.0916C15.9765 12.8868 15.9244 15.6311 15.9244 15.6311C15.9244 15.6311 11.7555 16.0917 9.93528 14.0156C8.79837 12.8834 8.44927 10.9134 8.34975 9.55144C8.25023 10.9134 7.90113 12.8834 6.76422 14.0156C4.94397 16.0917 0.775056 15.6311 0.775056 15.6311C0.775056 15.6311 0.72298 12.8868 1.55684 11.0916C1.96755 10.2074 2.71747 9.4865 3.5852 9.04207C4.85328 8.39261 6.54604 8.17385 7.54256 8.10016C6.54605 8.02647 4.85328 7.8077 3.5852 7.15824C2.71747 6.71382 1.96755 5.99287 1.55684 5.10868C0.72298 3.31351 0.775056 0.569206 0.775056 0.569206C0.775056 0.569206 4.94397 0.108595 6.76422 2.18471C7.90113 3.31688 8.25023 5.28692 8.34975 6.64887C8.44927 5.28692 8.79837 3.31688 9.93528 2.18471Z",fill:t}),v("path",{d:"M3.69043 12.6953C3.69043 12.6953 6.75864 9.28222 8.29495 8.30401C9.1246 9.78129 12.139 12.638 13.0052 12.7762C13.0052 12.7762 9.478 9.79445 8.56104 8.14912C10.0352 7.30769 12.8672 4.29295 13.0044 3.42521C13.0044 3.42521 10.0582 6.93929 8.41574 7.87685C7.50345 6.25536 4.8679 3.86566 3.77333 3.42365C3.77333 3.42365 7.14486 6.47956 8.1346 8.02836C6.51967 8.93948 4.13153 11.5942 3.69043 12.6953Z",fill:"white",stroke:"white",strokeWidth:"0.180625"})]}),L("defs",{children:[L("linearGradient",{id:"paint0_linear_794_7000",x1:"0.986628",y1:"0.698447",x2:"15.8218",y2:"15.4711",gradientUnits:"userSpaceOnUse",children:[v("stop",{offset:"0.2",stopColor:"#00FF85"}),v("stop",{offset:"1",stopColor:"#00E0FF"})]}),L("linearGradient",{id:"paint1_linear_794_7000",x1:"0.774413",y1:"4.20734",x2:"15.8069",y2:"15.7558",gradientUnits:"userSpaceOnUse",children:[v("stop",{stopColor:"#60FA97"}),v("stop",{offset:"1",stopColor:"#59DEF6"})]})]})]});import{clsx as ne}from"clsx";import{twMerge as ie}from"tailwind-merge";function x(...t){return ie(ne(t))}import{jsx as W1,jsxs as N1}from"react/jsx-runtime";function _1({color:t}){return N1("p",{className:x("flex text-xs font-normal -tracking-[0.2px] p-2",t?`text-[${t}]`:"text-[#67797F]"),children:["Powered by",N1("span",{className:"flex self-center pl-1 gap-1 items-center font-semibold",children:[W1(R1,{color:t!=null?t:"#67797F",size:"12"}),W1("span",{children:"crossmint"})]})]})}import{Fragment as ce,jsx as m,jsxs as E}from"react/jsx-runtime";function W({title:t,content:e,primaryButton:r,secondaryAction:i,appearance:o}){var s,d,a,l,n;return E(le,{open:!0,onClose:()=>{},className:x("fixed inset-0 z-20 flex items-center justify-center overflow-y-auto"),children:[m(ae.Child,{as:de,enter:"ease-out duration-400",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"ease-in duration-400",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:m("div",{className:x("fixed inset-0 bg-[rgba(139,151,151,0.2)] backdrop-blur-[2px] transition-opacity duration-300 ease-in-out -z-10")})}),m("div",{className:x("flex flex-col items-center w-full max-w-[28rem] rounded-2xl shadow-sm z-30 border",((s=o==null?void 0:o.colors)==null?void 0:s.background)!=null?`bg-[${o.colors.background}]`:"bg-white",((d=o==null?void 0:o.colors)==null?void 0:d.border)!=null?`border-[${o.colors.border}]`:"border-[#D0D5DD]"),onClick:C=>C.stopPropagation(),children:E("div",{className:"pt-12 pb-10 px-8",children:[m("div",{className:"flex justify-center left-1.5 relative",children:m(e1,{appearance:o})}),m("div",{className:"flex justify-center",children:m("p",{className:x("text-lg font-bold",((a=o==null?void 0:o.colors)==null?void 0:a.textPrimary)!=null?`text-[${o.colors.textPrimary}]`:"text-[#20343E]"),children:t})}),m("div",{className:"mt-4 mb-9",children:m("div",{className:x("font-normal",((l=o==null?void 0:o.colors)==null?void 0:l.textSecondary)!=null?`text-[${o.colors.textSecondary}]`:"text-[#67797F]"),children:e})}),E("div",{className:"flex flex-col gap-4 justify-center",children:[r,i]}),m("div",{className:"flex justify-center pt-4",children:m(_1,{color:(n=o==null?void 0:o.colors)==null?void 0:n.textSecondary})})]})})]})}function U1({state:t,appearance:e}){var r,i;switch(t.type){case"create-wallet":return m(W,{title:"Create Your Wallet",appearance:e,content:E(ce,{children:[m("div",{className:"mb-4",children:"You're about to create a wallet."}),E("div",{className:"flex flex-col gap-2",children:[E("div",{className:"flex gap-2",children:[m("div",{children:m(t1,{})}),"Your wallet will be secured with a passkey"]}),E("div",{className:"flex gap-2",children:[m("div",{children:m(V,{})}),"Your device will ask you for your fingerprint, face, or screen lock to set it up"]})]})]}),primaryButton:m(R,{style:N(e),onClick:t.primaryActionOnClick,children:"Create Wallet"})});case"create-wallet-error":return m(W,{title:"Wallet Creation Failed",appearance:e,content:m("div",{className:"mb-6",children:"We couldn't create your wallet. This could be due to rejecting the request, a timeout, or not having access to your passkey on this device."}),primaryButton:m(R,{style:N(e),onClick:t.primaryActionOnClick,children:"Try again"})});case"transaction":return m(W,{title:"First Time Using Your Wallet",appearance:e,content:m("div",{className:"flex flex-col gap-2",children:E("div",{className:"flex gap-2",children:[m("div",{children:m(V,{})}),m("span",{children:"Your device will ask you for your fingerprint, face, or screen lock to authorize this action."})]})}),primaryButton:m(R,{style:N(e),onClick:t.primaryActionOnClick,children:"Use Wallet"})});case"transaction-error":return m(W,{title:"Wallet Access Failed",appearance:e,content:m("div",{className:"mb-6",children:"We couldn't access your wallet. This could be due to rejecting the request, a timeout, or not having access to your passkey on this device."}),primaryButton:m(R,{style:N(e),onClick:t.primaryActionOnClick,children:"Try again"}),secondaryAction:m("a",{href:"https://docs.crossmint.com/wallets/smart-wallets/users/troubleshoot",rel:"noopener noreferrer",target:"_blank",className:x("p-3.5 w-full text-center no-underline rounded-lg font-bold",((r=e==null?void 0:e.colors)==null?void 0:r.inputBackground)!=null?`bg-[${e.colors.inputBackground}]`:"bg-[#F0F2F4]",((i=e==null?void 0:e.colors)==null?void 0:i.textSecondary)!=null?`text-[${e.colors.textSecondary}]`:"text-[#00150D]"),children:"Troubleshoot"})});case"not-supported":return m(W,{title:"Passkeys Not Supported on This Device",appearance:e,content:m("div",{className:"mb-6",children:"To access your wallet with a passkey, switch to a device or browser that supports passkeys, such as Chrome or Safari on a smartphone, tablet, or modern computer"}),primaryButton:m(R,{style:N(e),onClick:t.primaryActionOnClick,children:"Understood"})});default:return null}}var N=t=>{var e,r,i,o,s,d,a;return{padding:"0.875rem",width:"100%",backgroundColor:(r=(e=t==null?void 0:t.colors)==null?void 0:e.buttonBackground)!=null?r:"#04AA6D",color:(o=(i=t==null?void 0:t.colors)==null?void 0:i.textPrimary)!=null?o:"white",borderRadius:(s=t==null?void 0:t.borderRadius)!=null?s:"8px",borderColor:(a=(d=t==null?void 0:t.colors)==null?void 0:d.border)!=null?a:"#04AA6D",borderWidth:"1px",fontWeight:"bold"}};import{jsx as ge,jsxs as pe}from"react/jsx-runtime";var o1=me({status:"not-loaded",getOrCreateWallet:()=>Promise.resolve({startedCreation:!1}),clearWallet:()=>{}});function O1({children:t,defaultChain:e,showWalletModals:r=!0,appearance:i}){let{crossmint:o}=Z("CrossmintWalletProvider must be used within CrossmintProvider"),s=Ce(()=>fe.init({clientApiKey:o.apiKey}),[o.apiKey]),[d,a]=B1({status:"not-loaded"}),[l,n]=B1({open:!1}),C=(...y)=>w(this,[...y],function*(h={type:"evm-smart-wallet",signer:{type:"PASSKEY"}}){if(d.status=="in-progress")return console.log("Wallet already loading"),{startedCreation:!1,reason:"Wallet is already loading."};if(o.jwt==null)return{startedCreation:!1,reason:'Jwt not set in "CrossmintProvider".'};try{a({status:"in-progress"});let P=yield s.getOrCreateWallet({jwt:o.jwt},e,c(h));a({status:"loaded",wallet:P})}catch(P){console.error("There was an error creating a wallet ",P),a(he(P))}return{startedCreation:!0}}),c=h=>r&&h.signer.type==="PASSKEY"?D(p({},h),{signer:D(p({},h.signer),{onPrePasskeyRegistration:u("create-wallet"),onPasskeyRegistrationError:u("create-wallet-error"),onFirstTimePasskeySigning:u("transaction"),onFirstTimePasskeySigningError:u("transaction-error")})}):h,u=h=>()=>new Promise(y=>{n({type:h,open:!0,primaryActionOnClick:()=>{n({open:!1}),y()},secondaryActionOnClick:()=>{n({open:!1}),y()}})}),k=()=>{a({status:"not-loaded"})};return pe(o1.Provider,{value:D(p({},d),{getOrCreateWallet:C,clearWallet:k}),children:[t,l.open?ue(ge(U1,{state:l,appearance:i}),document.body):null]})}function he(t){if(t instanceof D1)return{status:"loading-error",error:t};let e=t instanceof Error?t.message:String(t),r=t instanceof Error?t.stack:void 0;return{status:"loading-error",error:new D1(`Unknown Wallet Error: ${e}`,r)}}function Z1(){let t=ye(o1);if(!t)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return t}import{useContext as Ae}from"react";var H="crossmint-session",_="crossmint-refresh-token";function j(t){let e=document.cookie.split("; ").find(r=>r.startsWith(t));return e?e.split("=")[1]:void 0}function r1(t,e,r){let i=r?new Date(r).toUTCString():"";document.cookie=`${t}=${e}; ${r?`expires=${i};`:""} path=/; SameSite=Lax;`}function s1(t){document.cookie=`${t}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`}import{createContext as be,useEffect as c1,useState as $1}from"react";import{createPortal as Ee}from"react-dom";import{CrossmintAuthService as Se}from"@crossmint/client-sdk-auth-core/client";import{validateApiKeyAndGetCrossmintBaseUrl as Me}from"@crossmint/common-sdk-base";import{Dialog as we,Transition as i1}from"@headlessui/react";import{Fragment as l1,useRef as H1}from"react";import{z as j1}from"zod";import{IFrameWindow as ve}from"@crossmint/client-sdk-window";import{jsx as V1,jsxs as ke}from"react/jsx-runtime";function n1({className:t}){return ke("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:t,children:[V1("path",{d:"M18 6 6 18"}),V1("path",{d:"m6 6 12 12"})]})}import{jsx as S,jsxs as K1}from"react/jsx-runtime";var Pe=j1.object({oneTimeSecret:j1.string()}),xe={authMaterialFromAuthFrame:Pe};function d1({setModalOpen:t,apiKey:e,fetchAuthMaterial:r,baseUrl:i,appearance:o}){var C,c,u,k;let s=`${i}sdk/2024-09-26/auth/frame?apiKey=${e}`;o!=null&&(s+=`&uiConfig=${encodeURIComponent(JSON.stringify(o))}`);let d=H1(null),a=H1(null),l=()=>{a.current!=null&&a.current.on("authMaterialFromAuthFrame",h=>{var y;r(h.oneTimeSecret),(y=a.current)==null||y.off("authMaterialFromAuthFrame"),t(!1)})},n=()=>w(this,null,function*(){if(d.current==null){console.error("Something wrong happened, please try again");return}if(a.current==null){let h=yield ve.init(d.current,{incomingEvents:xe,outgoingEvents:{}});a.current=h,l()}});return S(i1.Root,{show:!0,as:l1,children:K1(we,{as:"div",style:a1.dialog,onClose:()=>t(!1),children:[S(i1.Child,{as:l1,enter:"ease-out duration-400",enterFrom:"opacity-0",enterTo:"opacity-100",leave:"ease-in duration-400",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:S("div",{style:a1.transitionBegin})}),S(i1.Child,{as:l1,enter:"ease-out duration-400",enterFrom:"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",enterTo:"opacity-100 translate-y-0 sm:scale-100",leave:"ease-in duration-400",leaveFrom:"opacity-100 translate-y-0 sm:scale-100",leaveTo:"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",children:K1("div",{style:a1.transitionEnd,onClick:h=>h.stopPropagation(),children:[S("div",{style:{position:"relative",width:"100%"},children:S("button",{type:"button","aria-label":"Close",style:{width:"1.5rem",position:"absolute",right:"1.5rem",top:"1.5rem",cursor:"pointer",color:(c=(C=o==null?void 0:o.colors)==null?void 0:C.border)!=null?c:"#909ca3",outlineOffset:"4px",borderRadius:"100%"},onClick:()=>t(!1),children:S(n1,{})})}),S("iframe",{ref:d,src:s,onLoad:n,title:"Authentication Modal",className:x("w-full h-[500px] border pt-12 pb-8",(u=o==null?void 0:o.colors)!=null&&u.border?`border-[${o.colors.border}]`:"border-[#D0D5DD]",o!=null&&o.borderRadius?`rounded-[${o.borderRadius}]`:"rounded-2xl",(k=o==null?void 0:o.colors)!=null&&k.background?`bg-[${o.colors.background}]`:"bg-white")})]})})]})})}var a1={dialog:{display:"flex",justifyContent:"center",alignItems:"center",overflowY:"auto",position:"fixed",top:0,right:0,bottom:0,left:0,zIndex:20},transitionBegin:{background:"rgba(139, 151, 151, 0.2)",backdropFilter:"blur(2px)",position:"fixed",top:0,right:0,bottom:0,left:0,transitionProperty:"opacity",transitionTimingFunction:"cubic-bezier(0.4, 0, 0.2, 1)",transitionDuration:"300ms",zIndex:-10},transitionEnd:{display:"flex",flexDirection:"column",alignItems:"center",width:"100%",maxWidth:"448px",borderRadius:"0.75rem",boxShadow:"0 1px 2px 0 rgba(0, 0, 0, 0.05)",zIndex:30}};import{Fragment as Ie,jsx as K,jsxs as Le}from"react/jsx-runtime";var m1=be({login:()=>{},logout:()=>{},status:"logged-out",getUser:()=>{}});function no({embeddedWallets:t,children:e,appearance:r}){let[i,o]=$1(void 0),{crossmint:s,setJwt:d,setRefreshToken:a}=Z("CrossmintAuthProvider must be used within CrossmintProvider"),l=new Se(s.apiKey),n=Me(s.apiKey),[C,c]=$1(!1),u=g=>{r1(H,g.jwtToken),r1(_,g.refreshToken.secret,g.refreshToken.expiresAt),d(g.jwtToken),a(g.refreshToken.secret),o(g.user)},k=()=>{s1(H),s1(_),d(void 0),a(void 0),o(void 0)};Y1({crossmintAuthService:l,setAuthMaterial:u,logout:k}),c1(()=>{if(s.jwt==null){let g=j(H);d(g)}},[]),c1(()=>{s.jwt!=null&&c(!1)},[s.jwt]);let h=()=>{if(s.jwt!=null){console.log("User already logged in");return}c(!0)},y=()=>s.jwt!=null?"logged-in":C?"in-progress":"logged-out",P=g=>w(this,null,function*(){let I=yield l.refreshAuthMaterial(g);return u(I),I}),M=()=>w(this,null,function*(){if(s.jwt==null){console.log("User not logged in");return}let g=yield l.getUserFromClient(s.jwt);o(g)});return K(m1.Provider,{value:{login:h,logout:k,jwt:s.jwt,refreshToken:s.refreshToken,user:i,status:y(),getUser:M},children:Le(O1,{defaultChain:t.defaultChain,showWalletModals:t.showWalletModals,appearance:r,children:[K(Te,{embeddedWallets:t,accessToken:s.jwt,children:e}),C?Ee(K(d1,{baseUrl:n,setModalOpen:c,fetchAuthMaterial:P,apiKey:s.apiKey,appearance:r}),document.body):null]})})}function Te({embeddedWallets:t,children:e,accessToken:r}){let{getOrCreateWallet:i,clearWallet:o,status:s}=Z1();return c1(()=>{t.createOnLogin==="all-users"&&s==="not-loaded"&&r!=null&&i({type:t.type,signer:{type:"PASSKEY"}}),s==="loaded"&&r==null&&o()},[r,s]),K(Ie,{children:e})}function Co(){let t=Ae(m1);if(t===void 0)throw new Error("useAuth must be used within an AuthProvider");return t}import{useCallback as Fe,useEffect as Re,useRef as We}from"react";import{getJWTExpiration as Ne}from"@crossmint/client-sdk-auth-core/client";import{queueTask as _e}from"@crossmint/client-sdk-base";var Ue=120,$=null;function Y1({crossmintAuthService:t,setAuthMaterial:e,logout:r}){let i=We(null),o=Fe(()=>{if($!=null)return $;let s=j(_);s!=null&&($=w(this,null,function*(){try{let d=yield t.refreshAuthMaterial(s);e(d);let a=Ne(d.jwtToken);if(a==null)throw new Error("Invalid JWT");let l=Date.now()/1e3,n=a-l-Ue;if(n>0){let C=Date.now()+n*1e3;i.current=_e(o,C)}}catch(d){r(),console.error(d)}finally{$=null}}))},[]);Re(()=>(o(),()=>{i.current&&i.current.cancel()}),[])}import{CrossmintEvents as Mo,useCrossmintEvents as To}from"@crossmint/client-sdk-base";import{Chain as Io,SmartWalletError as Ao,UserWalletAlreadyCreatedError as Fo,AdminAlreadyUsedError as Ro,AdminMismatchError as Wo,PasskeyMismatchError as No,PasskeyPromptError as _o,PasskeyRegistrationError as Uo,PasskeyIncompatibleAuthenticatorError as Bo,ConfigError as Do,SmartWalletsNotEnabledError as Oo,EVMSendTransactionError as Zo,EVMSendTransactionExecutionRevertedError as Vo}from"@crossmint/client-sdk-smart-wallet";Be(p1);export{Ro as AdminAlreadyUsedError,Wo as AdminMismatchError,m1 as AuthContext,Io as Chain,Do as ConfigError,no as CrossmintAuthProvider,Mo as CrossmintEvents,Ge as CrossmintNFTCollectionView,Qe as CrossmintNFTDetail,z5 as CrossmintPayButton,N5 as CrossmintPaymentElement,e0 as CrossmintProvider,O1 as CrossmintWalletProvider,Zo as EVMSendTransactionError,Vo as EVMSendTransactionExecutionRevertedError,Bo as PasskeyIncompatibleAuthenticatorError,No as PasskeyMismatchError,_o as PasskeyPromptError,Uo as PasskeyRegistrationError,Ao as SmartWalletError,Oo as SmartWalletsNotEnabledError,Fo as UserWalletAlreadyCreatedError,o1 as WalletContext,Co as useAuth,Z as useCrossmint,To as useCrossmintEvents,Y1 as useRefreshToken,Z1 as useWallet};
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import{a as r}from"./chunk-YIKXFG7V.js";import"./chunk-N3HOGZN4.js";import{a as s}from"./chunk-ZUZEZZX7.js";import"./chunk-RYQRCUKB.js";import"./chunk-QASKWI5Y.js";import"./chunk-4IHRWQWT.js";import"./chunk-JGM3G5E2.js";import"./chunk-IAJBYU5C.js";import"./chunk-YLAJFXWZ.js";import{a}from"./chunk-B2XYCMBI.js";import"./chunk-72P3JMXX.js";import"./chunk-DGZQUCSD.js";import"./chunk-2POV64LQ.js";import{a as o}from"./chunk-KKDAGPHA.js";import{a as e}from"./chunk-A4BJYIF5.js";import"./chunk-VL5XDIXZ.js";import{a as m,b as E,c as l,d as p,e as d,f}from"./chunk-BOD2OKYA.js";import"./chunk-3SOJNFPL.js";import"./chunk-OPV6W7NY.js";import"./chunk-3KOG25LO.js";import"./chunk-EVADF7QA.js";import"./chunk-WDT4N453.js";import"./chunk-4JRNSO77.js";import"./chunk-NBJIJZGO.js";import{a as n,b as i}from"./chunk-U6FTIAJO.js";import{a as y}from"./chunk-LHTD23W4.js";import"./chunk-VGTN2OW5.js";import"./chunk-OOLXYAO7.js";import"./chunk-77PBG2JJ.js";import"./chunk-PXDN3KFO.js";import{install as t}from"@twind/core";import{CrossmintEvents as h,useCrossmintEvents as W}from"@crossmint/client-sdk-base";import{Chain as u,SmartWalletError as V,UserWalletAlreadyCreatedError as R,AdminAlreadyUsedError as T,AdminMismatchError as U,PasskeyMismatchError as w,PasskeyPromptError as I,PasskeyRegistrationError as N,PasskeyIncompatibleAuthenticatorError as j,ConfigError as q,SmartWalletsNotEnabledError as z,EVMSendTransactionError as B,EVMSendTransactionExecutionRevertedError as D}from"@crossmint/client-sdk-smart-wallet";t(r);export{T as AdminAlreadyUsedError,U as AdminMismatchError,p as AuthContext,u as Chain,q as ConfigError,d as CrossmintAuthProvider,h as CrossmintEvents,o as CrossmintNFTCollectionView,e as CrossmintNFTDetail,a as CrossmintPayButton,s as CrossmintPaymentElement,n as CrossmintProvider,E as CrossmintWalletProvider,B as EVMSendTransactionError,D as EVMSendTransactionExecutionRevertedError,j as PasskeyIncompatibleAuthenticatorError,w as PasskeyMismatchError,I as PasskeyPromptError,N as PasskeyRegistrationError,V as SmartWalletError,z as SmartWalletsNotEnabledError,R as UserWalletAlreadyCreatedError,m as WalletContext,f as useAuth,i as useCrossmint,W as useCrossmintEvents,y as useRefreshToken,l as useWallet};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXJUALSXHcjs = require('../chunk-XJUALSXH.cjs');require('../chunk-ZNIJXDW4.cjs');require('../chunk-MAAWYMXE.cjs');require('../chunk-P4TABCC7.cjs');require('../chunk-VWBAHXIO.cjs');require('../chunk-AZYHTJE6.cjs');require('../chunk-BX5T4LI2.cjs');require('../chunk-WABJHG6B.cjs');require('../chunk-RJGOALQ6.cjs');require('../chunk-PHNKWD7H.cjs');require('../chunk-3JU4ZK3P.cjs');require('../chunk-QYQERFYL.cjs');require('../chunk-VI6TW7JT.cjs');require('../chunk-2WSEHVNP.cjs');exports.AuthContext = _chunkXJUALSXHcjs.d; exports.CrossmintAuthProvider = _chunkXJUALSXHcjs.e;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
import { EVMSmartWalletChain } from '@crossmint/client-sdk-smart-wallet';
|
|
5
|
+
import { UIConfig } from '@crossmint/common-sdk-base';
|
|
6
|
+
import { SDKExternalUser } from '@crossmint/common-sdk-auth';
|
|
7
|
+
|
|
8
|
+
type CrossmintAuthWalletConfig = {
|
|
9
|
+
defaultChain: EVMSmartWalletChain;
|
|
10
|
+
createOnLogin: "all-users" | "off";
|
|
11
|
+
type: "evm-smart-wallet";
|
|
12
|
+
showWalletModals?: boolean;
|
|
13
|
+
};
|
|
14
|
+
type LoginMethod = "email" | "google" | "farcaster";
|
|
15
|
+
type CrossmintAuthProviderProps = {
|
|
16
|
+
embeddedWallets?: CrossmintAuthWalletConfig;
|
|
17
|
+
appearance?: UIConfig;
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
loginMethods?: LoginMethod[];
|
|
20
|
+
};
|
|
21
|
+
type AuthStatus = "logged-in" | "logged-out" | "in-progress";
|
|
22
|
+
type AuthContextType = {
|
|
23
|
+
login: () => void;
|
|
24
|
+
logout: () => void;
|
|
25
|
+
jwt?: string;
|
|
26
|
+
refreshToken?: string;
|
|
27
|
+
user?: SDKExternalUser;
|
|
28
|
+
status: AuthStatus;
|
|
29
|
+
getUser: () => void;
|
|
30
|
+
};
|
|
31
|
+
declare const AuthContext: react.Context<AuthContextType>;
|
|
32
|
+
declare function CrossmintAuthProvider({ embeddedWallets, children, appearance, loginMethods, }: CrossmintAuthProviderProps): react_jsx_runtime.JSX.Element;
|
|
33
|
+
|
|
34
|
+
export { AuthContext, CrossmintAuthProvider, type CrossmintAuthProviderProps, type CrossmintAuthWalletConfig, type LoginMethod };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
import { EVMSmartWalletChain } from '@crossmint/client-sdk-smart-wallet';
|
|
5
|
+
import { UIConfig } from '@crossmint/common-sdk-base';
|
|
6
|
+
import { SDKExternalUser } from '@crossmint/common-sdk-auth';
|
|
7
|
+
|
|
8
|
+
type CrossmintAuthWalletConfig = {
|
|
9
|
+
defaultChain: EVMSmartWalletChain;
|
|
10
|
+
createOnLogin: "all-users" | "off";
|
|
11
|
+
type: "evm-smart-wallet";
|
|
12
|
+
showWalletModals?: boolean;
|
|
13
|
+
};
|
|
14
|
+
type LoginMethod = "email" | "google" | "farcaster";
|
|
15
|
+
type CrossmintAuthProviderProps = {
|
|
16
|
+
embeddedWallets?: CrossmintAuthWalletConfig;
|
|
17
|
+
appearance?: UIConfig;
|
|
18
|
+
children: ReactNode;
|
|
19
|
+
loginMethods?: LoginMethod[];
|
|
20
|
+
};
|
|
21
|
+
type AuthStatus = "logged-in" | "logged-out" | "in-progress";
|
|
22
|
+
type AuthContextType = {
|
|
23
|
+
login: () => void;
|
|
24
|
+
logout: () => void;
|
|
25
|
+
jwt?: string;
|
|
26
|
+
refreshToken?: string;
|
|
27
|
+
user?: SDKExternalUser;
|
|
28
|
+
status: AuthStatus;
|
|
29
|
+
getUser: () => void;
|
|
30
|
+
};
|
|
31
|
+
declare const AuthContext: react.Context<AuthContextType>;
|
|
32
|
+
declare function CrossmintAuthProvider({ embeddedWallets, children, appearance, loginMethods, }: CrossmintAuthProviderProps): react_jsx_runtime.JSX.Element;
|
|
33
|
+
|
|
34
|
+
export { AuthContext, CrossmintAuthProvider, type CrossmintAuthProviderProps, type CrossmintAuthWalletConfig, type LoginMethod };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as a,e as b}from"../chunk-BOD2OKYA.js";import"../chunk-3SOJNFPL.js";import"../chunk-OPV6W7NY.js";import"../chunk-3KOG25LO.js";import"../chunk-EVADF7QA.js";import"../chunk-WDT4N453.js";import"../chunk-4JRNSO77.js";import"../chunk-NBJIJZGO.js";import"../chunk-U6FTIAJO.js";import"../chunk-LHTD23W4.js";import"../chunk-VGTN2OW5.js";import"../chunk-OOLXYAO7.js";import"../chunk-77PBG2JJ.js";import"../chunk-PXDN3KFO.js";export{a as AuthContext,b as CrossmintAuthProvider};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXJUALSXHcjs = require('../chunk-XJUALSXH.cjs');require('../chunk-ZNIJXDW4.cjs');require('../chunk-MAAWYMXE.cjs');require('../chunk-P4TABCC7.cjs');require('../chunk-VWBAHXIO.cjs');require('../chunk-AZYHTJE6.cjs');require('../chunk-BX5T4LI2.cjs');require('../chunk-WABJHG6B.cjs');require('../chunk-RJGOALQ6.cjs');require('../chunk-PHNKWD7H.cjs');require('../chunk-3JU4ZK3P.cjs');require('../chunk-QYQERFYL.cjs');require('../chunk-VI6TW7JT.cjs');require('../chunk-2WSEHVNP.cjs');exports.CrossmintWalletProvider = _chunkXJUALSXHcjs.b; exports.WalletContext = _chunkXJUALSXHcjs.a;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
import { EVMSmartWallet, SmartWalletError, WalletParams, EVMSmartWalletChain } from '@crossmint/client-sdk-smart-wallet';
|
|
5
|
+
import { UIConfig } from '@crossmint/common-sdk-base';
|
|
6
|
+
|
|
7
|
+
type WalletStatus = "not-loaded" | "in-progress" | "loaded" | "loading-error";
|
|
8
|
+
type WalletContext = {
|
|
9
|
+
status: WalletStatus;
|
|
10
|
+
wallet?: EVMSmartWallet;
|
|
11
|
+
error?: SmartWalletError;
|
|
12
|
+
getOrCreateWallet: (config?: Pick<WalletConfig, "signer" | "type">) => Promise<{
|
|
13
|
+
startedCreation: boolean;
|
|
14
|
+
reason?: string;
|
|
15
|
+
}>;
|
|
16
|
+
clearWallet: () => void;
|
|
17
|
+
};
|
|
18
|
+
declare const WalletContext: react.Context<WalletContext>;
|
|
19
|
+
type WalletConfig = WalletParams & {
|
|
20
|
+
type: "evm-smart-wallet";
|
|
21
|
+
};
|
|
22
|
+
declare function CrossmintWalletProvider({ children, defaultChain, showWalletModals, // enabled by default
|
|
23
|
+
appearance, }: {
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
defaultChain: EVMSmartWalletChain;
|
|
26
|
+
showWalletModals?: boolean;
|
|
27
|
+
appearance?: UIConfig;
|
|
28
|
+
}): react_jsx_runtime.JSX.Element;
|
|
29
|
+
|
|
30
|
+
export { CrossmintWalletProvider, type WalletConfig, WalletContext };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
import { EVMSmartWallet, SmartWalletError, WalletParams, EVMSmartWalletChain } from '@crossmint/client-sdk-smart-wallet';
|
|
5
|
+
import { UIConfig } from '@crossmint/common-sdk-base';
|
|
6
|
+
|
|
7
|
+
type WalletStatus = "not-loaded" | "in-progress" | "loaded" | "loading-error";
|
|
8
|
+
type WalletContext = {
|
|
9
|
+
status: WalletStatus;
|
|
10
|
+
wallet?: EVMSmartWallet;
|
|
11
|
+
error?: SmartWalletError;
|
|
12
|
+
getOrCreateWallet: (config?: Pick<WalletConfig, "signer" | "type">) => Promise<{
|
|
13
|
+
startedCreation: boolean;
|
|
14
|
+
reason?: string;
|
|
15
|
+
}>;
|
|
16
|
+
clearWallet: () => void;
|
|
17
|
+
};
|
|
18
|
+
declare const WalletContext: react.Context<WalletContext>;
|
|
19
|
+
type WalletConfig = WalletParams & {
|
|
20
|
+
type: "evm-smart-wallet";
|
|
21
|
+
};
|
|
22
|
+
declare function CrossmintWalletProvider({ children, defaultChain, showWalletModals, // enabled by default
|
|
23
|
+
appearance, }: {
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
defaultChain: EVMSmartWalletChain;
|
|
26
|
+
showWalletModals?: boolean;
|
|
27
|
+
appearance?: UIConfig;
|
|
28
|
+
}): react_jsx_runtime.JSX.Element;
|
|
29
|
+
|
|
30
|
+
export { CrossmintWalletProvider, type WalletConfig, WalletContext };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b}from"../chunk-BOD2OKYA.js";import"../chunk-3SOJNFPL.js";import"../chunk-OPV6W7NY.js";import"../chunk-3KOG25LO.js";import"../chunk-EVADF7QA.js";import"../chunk-WDT4N453.js";import"../chunk-4JRNSO77.js";import"../chunk-NBJIJZGO.js";import"../chunk-U6FTIAJO.js";import"../chunk-LHTD23W4.js";import"../chunk-VGTN2OW5.js";import"../chunk-OOLXYAO7.js";import"../chunk-77PBG2JJ.js";import"../chunk-PXDN3KFO.js";export{b as CrossmintWalletProvider,a as WalletContext};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXJUALSXHcjs = require('../chunk-XJUALSXH.cjs');require('../chunk-ZNIJXDW4.cjs');require('../chunk-MAAWYMXE.cjs');require('../chunk-P4TABCC7.cjs');require('../chunk-VWBAHXIO.cjs');require('../chunk-AZYHTJE6.cjs');require('../chunk-BX5T4LI2.cjs');require('../chunk-WABJHG6B.cjs');require('../chunk-RJGOALQ6.cjs');require('../chunk-PHNKWD7H.cjs');require('../chunk-3JU4ZK3P.cjs');require('../chunk-QYQERFYL.cjs');require('../chunk-VI6TW7JT.cjs');require('../chunk-2WSEHVNP.cjs');exports.AuthContext = _chunkXJUALSXHcjs.d; exports.CrossmintAuthProvider = _chunkXJUALSXHcjs.e; exports.CrossmintWalletProvider = _chunkXJUALSXHcjs.b; exports.WalletContext = _chunkXJUALSXHcjs.a;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { AuthContext, CrossmintAuthProvider, CrossmintAuthProviderProps, CrossmintAuthWalletConfig, LoginMethod } from './CrossmintAuthProvider.cjs';
|
|
2
|
+
export { CrossmintWalletProvider, WalletConfig, WalletContext } from './CrossmintWalletProvider.cjs';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import 'react';
|
|
5
|
+
import '@crossmint/client-sdk-smart-wallet';
|
|
6
|
+
import '@crossmint/common-sdk-base';
|
|
7
|
+
import '@crossmint/common-sdk-auth';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { AuthContext, CrossmintAuthProvider, CrossmintAuthProviderProps, CrossmintAuthWalletConfig, LoginMethod } from './CrossmintAuthProvider.js';
|
|
2
|
+
export { CrossmintWalletProvider, WalletConfig, WalletContext } from './CrossmintWalletProvider.js';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import 'react';
|
|
5
|
+
import '@crossmint/client-sdk-smart-wallet';
|
|
6
|
+
import '@crossmint/common-sdk-base';
|
|
7
|
+
import '@crossmint/common-sdk-auth';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b,d as c,e as d}from"../chunk-BOD2OKYA.js";import"../chunk-3SOJNFPL.js";import"../chunk-OPV6W7NY.js";import"../chunk-3KOG25LO.js";import"../chunk-EVADF7QA.js";import"../chunk-WDT4N453.js";import"../chunk-4JRNSO77.js";import"../chunk-NBJIJZGO.js";import"../chunk-U6FTIAJO.js";import"../chunk-LHTD23W4.js";import"../chunk-VGTN2OW5.js";import"../chunk-OOLXYAO7.js";import"../chunk-77PBG2JJ.js";import"../chunk-PXDN3KFO.js";export{c as AuthContext,d as CrossmintAuthProvider,b as CrossmintWalletProvider,a as WalletContext};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var a="sk_development_12341234",i= exports.waitForSettledState =e=>_chunk2WSEHVNPcjs.d.call(void 0, void 0,null,function*(){yield new Promise(o=>setTimeout(o,20)),e()});exports.MOCK_API_KEY = a; exports.waitForSettledState = i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as t}from"./chunk-PXDN3KFO.js";var i="sk_development_12341234",n=e=>t(void 0,null,function*(){yield new Promise(o=>setTimeout(o,20)),e()});export{i as MOCK_API_KEY,n as waitForSettledState};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkORB6HDGXcjs = require('./chunk-ORB6HDGX.cjs');require('./chunk-2WSEHVNP.cjs');exports.default = _chunkORB6HDGXcjs.a;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as _twind_preset_tailwind from '@twind/preset-tailwind';
|
|
2
|
+
import * as _twind_core from '@twind/core';
|
|
3
|
+
|
|
4
|
+
declare const _default: _twind_core.TwindConfig<_twind_core.BaseTheme & _twind_preset_tailwind.TailwindTheme & {
|
|
5
|
+
screens: Record<string, _twind_core.MaybeArray<_twind_core.ScreenValue>>;
|
|
6
|
+
colors: Record<string, _twind_core.MaybeColorValue>;
|
|
7
|
+
}>;
|
|
8
|
+
|
|
9
|
+
export { _default as default };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as _twind_preset_tailwind from '@twind/preset-tailwind';
|
|
2
|
+
import * as _twind_core from '@twind/core';
|
|
3
|
+
|
|
4
|
+
declare const _default: _twind_core.TwindConfig<_twind_core.BaseTheme & _twind_preset_tailwind.TailwindTheme & {
|
|
5
|
+
screens: Record<string, _twind_core.MaybeArray<_twind_core.ScreenValue>>;
|
|
6
|
+
colors: Record<string, _twind_core.MaybeColorValue>;
|
|
7
|
+
}>;
|
|
8
|
+
|
|
9
|
+
export { _default as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-YIKXFG7V.js";import"./chunk-PXDN3KFO.js";export{a as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3JU4ZK3Pcjs = require('../chunk-3JU4ZK3P.cjs');require('../chunk-2WSEHVNP.cjs');exports.REFRESH_TOKEN_PREFIX = _chunk3JU4ZK3Pcjs.b; exports.SESSION_PREFIX = _chunk3JU4ZK3Pcjs.a; exports.deleteCookie = _chunk3JU4ZK3Pcjs.e; exports.getCookie = _chunk3JU4ZK3Pcjs.c; exports.setCookie = _chunk3JU4ZK3Pcjs.d;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare const SESSION_PREFIX = "crossmint-jwt";
|
|
2
|
+
declare const REFRESH_TOKEN_PREFIX = "crossmint-refresh-token";
|
|
3
|
+
declare function getCookie(name: string): string | undefined;
|
|
4
|
+
declare function setCookie(name: string, value: string, expiresAt?: string): void;
|
|
5
|
+
declare function deleteCookie(name: string): void;
|
|
6
|
+
|
|
7
|
+
export { REFRESH_TOKEN_PREFIX, SESSION_PREFIX, deleteCookie, getCookie, setCookie };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare const SESSION_PREFIX = "crossmint-jwt";
|
|
2
|
+
declare const REFRESH_TOKEN_PREFIX = "crossmint-refresh-token";
|
|
3
|
+
declare function getCookie(name: string): string | undefined;
|
|
4
|
+
declare function setCookie(name: string, value: string, expiresAt?: string): void;
|
|
5
|
+
declare function deleteCookie(name: string): void;
|
|
6
|
+
|
|
7
|
+
export { REFRESH_TOKEN_PREFIX, SESSION_PREFIX, deleteCookie, getCookie, setCookie };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b,c,d,e}from"../chunk-VGTN2OW5.js";import"../chunk-PXDN3KFO.js";export{b as REFRESH_TOKEN_PREFIX,a as SESSION_PREFIX,e as deleteCookie,c as getCookie,d as setCookie};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWABJHG6Bcjs = require('../chunk-WABJHG6B.cjs');require('../chunk-2WSEHVNP.cjs');exports.classNames = _chunkWABJHG6Bcjs.a;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ClassValue } from 'clsx';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Combines multiple class names into a single string.
|
|
5
|
+
*
|
|
6
|
+
* @param inputs - The class names to combine.
|
|
7
|
+
* @returns The combined class names as a string.
|
|
8
|
+
*/
|
|
9
|
+
declare function classNames(...inputs: ClassValue[]): string;
|
|
10
|
+
|
|
11
|
+
export { classNames };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ClassValue } from 'clsx';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Combines multiple class names into a single string.
|
|
5
|
+
*
|
|
6
|
+
* @param inputs - The class names to combine.
|
|
7
|
+
* @returns The combined class names as a string.
|
|
8
|
+
*/
|
|
9
|
+
declare function classNames(...inputs: ClassValue[]): string;
|
|
10
|
+
|
|
11
|
+
export { classNames };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"../chunk-NBJIJZGO.js";import"../chunk-PXDN3KFO.js";export{a as classNames};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crossmint/client-sdk-react-ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"repository": "https://github.com/Crossmint/crossmint-sdk",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Paella Labs Inc",
|
|
@@ -31,11 +31,12 @@
|
|
|
31
31
|
"tailwind-merge": "2.4.0",
|
|
32
32
|
"tailwindcss": "3.4.10",
|
|
33
33
|
"zod": "3.22.4",
|
|
34
|
-
"@crossmint/client-sdk-auth
|
|
34
|
+
"@crossmint/client-sdk-auth": "0.2.0",
|
|
35
35
|
"@crossmint/client-sdk-base": "1.2.8",
|
|
36
36
|
"@crossmint/client-sdk-smart-wallet": "0.1.19",
|
|
37
37
|
"@crossmint/client-sdk-window": "0.0.10",
|
|
38
|
-
"@crossmint/common-sdk-base": "0.2.0"
|
|
38
|
+
"@crossmint/common-sdk-base": "0.2.0",
|
|
39
|
+
"@crossmint/common-sdk-auth": "0.2.0"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
42
|
"@types/lodash.isequal": "4.5.6",
|
|
@@ -49,8 +50,8 @@
|
|
|
49
50
|
"react-dom": ">=17.0.2"
|
|
50
51
|
},
|
|
51
52
|
"scripts": {
|
|
52
|
-
"build": "tsup
|
|
53
|
-
"dev": "tsup
|
|
53
|
+
"build": "tsup",
|
|
54
|
+
"dev": "tsup --watch",
|
|
54
55
|
"test": "vitest run"
|
|
55
56
|
}
|
|
56
57
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Dialog, Transition } from "@headlessui/react";
|
|
2
|
-
import { type CSSProperties, Fragment, useRef } from "react";
|
|
2
|
+
import { type CSSProperties, Fragment, useEffect, useRef, useState } from "react";
|
|
3
3
|
import { z } from "zod";
|
|
4
4
|
|
|
5
5
|
import { IFrameWindow } from "@crossmint/client-sdk-window";
|
|
6
6
|
import type { UIConfig } from "@crossmint/common-sdk-base";
|
|
7
|
+
import { CrossmintInternalEvents } from "@crossmint/client-sdk-base";
|
|
8
|
+
import type { AuthMaterial } from "@crossmint/common-sdk-auth";
|
|
9
|
+
import type { LoginMethod } from "@/providers";
|
|
7
10
|
|
|
8
11
|
import X from "../../icons/x";
|
|
9
|
-
import { classNames } from "../../utils/classNames";
|
|
10
|
-
import type { AuthMaterial } from "@/hooks/useRefreshToken";
|
|
11
12
|
|
|
12
13
|
const authMaterialSchema = z.object({
|
|
13
14
|
oneTimeSecret: z.string(),
|
|
@@ -27,18 +28,37 @@ type AuthModalProps = {
|
|
|
27
28
|
fetchAuthMaterial: (refreshToken: string) => Promise<AuthMaterial>;
|
|
28
29
|
baseUrl: string;
|
|
29
30
|
appearance?: UIConfig;
|
|
31
|
+
loginMethods?: LoginMethod[];
|
|
30
32
|
};
|
|
31
33
|
|
|
32
|
-
export default function AuthModal({
|
|
34
|
+
export default function AuthModal({
|
|
35
|
+
setModalOpen,
|
|
36
|
+
apiKey,
|
|
37
|
+
fetchAuthMaterial,
|
|
38
|
+
baseUrl,
|
|
39
|
+
appearance,
|
|
40
|
+
loginMethods,
|
|
41
|
+
}: AuthModalProps) {
|
|
33
42
|
let iframeSrc = `${baseUrl}sdk/2024-09-26/auth/frame?apiKey=${apiKey}`;
|
|
34
43
|
if (appearance != null) {
|
|
35
44
|
// The appearance object is serialized into a query parameter
|
|
36
45
|
iframeSrc += `&uiConfig=${encodeURIComponent(JSON.stringify(appearance))}`;
|
|
37
46
|
}
|
|
38
47
|
|
|
48
|
+
if (loginMethods != null) {
|
|
49
|
+
iframeSrc += `&loginMethods=${loginMethods.join(",")}`;
|
|
50
|
+
}
|
|
51
|
+
|
|
39
52
|
const iframeRef = useRef<HTMLIFrameElement | null>(null);
|
|
40
53
|
const iframeWindowRef = useRef<IFrameWindow<IncomingModalIframeEventsType, Record<string, never>> | null>(null);
|
|
41
54
|
|
|
55
|
+
const [iframeChildrenHeight, setIframeChildrenHeight] = useState(0);
|
|
56
|
+
const iframePaddingTopPX = 48;
|
|
57
|
+
const iframePaddingBottomPX = 32;
|
|
58
|
+
const paddingOffset = iframePaddingTopPX + iframePaddingBottomPX;
|
|
59
|
+
// Farcaster needs more height to render its QR code container.
|
|
60
|
+
const iFrameRenderMinHeightPX = loginMethods?.includes("farcaster") ? 500 : 300;
|
|
61
|
+
|
|
42
62
|
const setupIframeWindowListener = () => {
|
|
43
63
|
if (iframeWindowRef.current == null) {
|
|
44
64
|
return;
|
|
@@ -69,6 +89,18 @@ export default function AuthModal({ setModalOpen, apiKey, fetchAuthMaterial, bas
|
|
|
69
89
|
}
|
|
70
90
|
};
|
|
71
91
|
|
|
92
|
+
useEffect(() => {
|
|
93
|
+
function _onEvent(event: MessageEvent) {
|
|
94
|
+
if (event.data.type === CrossmintInternalEvents.UI_HEIGHT_CHANGED) {
|
|
95
|
+
setIframeChildrenHeight(event.data.payload.height);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
window.addEventListener("message", _onEvent);
|
|
99
|
+
return () => {
|
|
100
|
+
window.removeEventListener("message", _onEvent);
|
|
101
|
+
};
|
|
102
|
+
}, []);
|
|
103
|
+
|
|
72
104
|
return (
|
|
73
105
|
<Transition.Root show as={Fragment}>
|
|
74
106
|
<Dialog as="div" style={styles.dialog} onClose={() => setModalOpen(false)}>
|
|
@@ -117,14 +149,17 @@ export default function AuthModal({ setModalOpen, apiKey, fetchAuthMaterial, bas
|
|
|
117
149
|
src={iframeSrc}
|
|
118
150
|
onLoad={handleIframeLoaded}
|
|
119
151
|
title="Authentication Modal"
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
appearance?.colors?.background
|
|
127
|
-
|
|
152
|
+
style={{
|
|
153
|
+
width: "100%",
|
|
154
|
+
minHeight: iFrameRenderMinHeightPX,
|
|
155
|
+
border: "1px solid",
|
|
156
|
+
borderColor: appearance?.colors?.border ?? "#D0D5DD",
|
|
157
|
+
borderRadius: appearance?.borderRadius ?? "1rem",
|
|
158
|
+
backgroundColor: appearance?.colors?.background ?? "white",
|
|
159
|
+
height: iframeChildrenHeight + paddingOffset,
|
|
160
|
+
paddingTop: iframePaddingTopPX,
|
|
161
|
+
paddingBottom: iframePaddingBottomPX,
|
|
162
|
+
}}
|
|
128
163
|
/>
|
|
129
164
|
</div>
|
|
130
165
|
</Transition.Child>
|