@crossmint/client-sdk-react-ui 1.19.0 → 1.19.2

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.
Files changed (120) hide show
  1. package/dist/{chunk-QHXTUWMF.cjs → chunk-A5TMHMHW.cjs} +1 -1
  2. package/dist/chunk-CDSQUWS7.cjs +1 -0
  3. package/dist/{chunk-BELSHF4F.js → chunk-E2JWMMRJ.js} +1 -1
  4. package/dist/{chunk-Q3GERFHB.js → chunk-ELEMRQ5X.js} +1 -1
  5. package/dist/chunk-EMVUXXWU.js +1 -0
  6. package/dist/{chunk-MQN4F7L2.cjs → chunk-FV72QBHR.cjs} +1 -1
  7. package/dist/{chunk-FAJRFKR5.js → chunk-FWFWABZL.js} +1 -1
  8. package/dist/{chunk-KQYG3HIW.js → chunk-IQWSB2ML.js} +1 -1
  9. package/dist/{chunk-6EBZA4GD.js → chunk-LSH257KR.js} +1 -1
  10. package/dist/{chunk-GSRCJNUT.js → chunk-LSUP7NOA.js} +1 -1
  11. package/dist/{chunk-IQFPBQMT.cjs → chunk-M2PIUFND.cjs} +1 -1
  12. package/dist/{chunk-3PNYQDB7.js → chunk-PIXV4MUP.js} +1 -1
  13. package/dist/chunk-PM6LCICL.cjs +6 -0
  14. package/dist/{chunk-7ZTBHHNG.cjs → chunk-RQJVGWVE.cjs} +1 -1
  15. package/dist/{chunk-CSF66UDE.cjs → chunk-SFEOQS64.cjs} +1 -1
  16. package/dist/chunk-UEOKQWYE.js +6 -0
  17. package/dist/{chunk-6CQCQDCK.js → chunk-UH4KOOFL.js} +1 -1
  18. package/dist/{chunk-5BBICHQJ.cjs → chunk-USRPHYWF.cjs} +1 -1
  19. package/dist/{chunk-4TGJU3VH.cjs → chunk-V3VJ7D4S.cjs} +1 -1
  20. package/dist/{chunk-5M3ETGDC.cjs → chunk-VQ6VBH2E.cjs} +1 -1
  21. package/dist/{chunk-S73UKDNP.cjs → chunk-WLLQYGRF.cjs} +1 -1
  22. package/dist/chunk-WQVJJ44F.js +1 -0
  23. package/dist/{chunk-XAHOCPVO.cjs → chunk-ZACXTLII.cjs} +1 -1
  24. package/dist/{chunk-WQB5GPWX.js → chunk-ZYYYHMAT.js} +1 -1
  25. package/dist/components/CrossmintNFTCollectionView.cjs +1 -1
  26. package/dist/components/CrossmintNFTCollectionView.js +1 -1
  27. package/dist/components/CrossmintNFTDetail.cjs +1 -1
  28. package/dist/components/CrossmintNFTDetail.js +1 -1
  29. package/dist/components/auth/AuthForm.cjs +1 -1
  30. package/dist/components/auth/AuthForm.js +1 -1
  31. package/dist/components/auth/AuthFormBackButton.cjs +1 -1
  32. package/dist/components/auth/AuthFormBackButton.js +1 -1
  33. package/dist/components/auth/AuthFormDialog.cjs +1 -1
  34. package/dist/components/auth/AuthFormDialog.js +1 -1
  35. package/dist/components/auth/EmbeddedAuthForm.cjs +1 -1
  36. package/dist/components/auth/EmbeddedAuthForm.js +1 -1
  37. package/dist/components/auth/methods/email/EmailAuthFlow.cjs +1 -1
  38. package/dist/components/auth/methods/email/EmailAuthFlow.js +1 -1
  39. package/dist/components/auth/methods/email/EmailOTPInput.cjs +1 -1
  40. package/dist/components/auth/methods/email/EmailOTPInput.js +1 -1
  41. package/dist/components/auth/methods/email/EmailSignIn.cjs +1 -1
  42. package/dist/components/auth/methods/email/EmailSignIn.js +1 -1
  43. package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs +1 -1
  44. package/dist/components/auth/methods/farcaster/FarcasterSignIn.js +1 -1
  45. package/dist/components/auth/methods/google/ContinueWithGoogle.cjs +1 -1
  46. package/dist/components/auth/methods/google/ContinueWithGoogle.js +1 -1
  47. package/dist/components/auth/methods/google/GoogleSignIn.cjs +1 -1
  48. package/dist/components/auth/methods/google/GoogleSignIn.js +1 -1
  49. package/dist/components/auth/methods/twitter/TwitterSignIn.cjs +1 -1
  50. package/dist/components/auth/methods/twitter/TwitterSignIn.js +1 -1
  51. package/dist/components/auth/methods/web3/Web3AuthFlow.cjs +1 -1
  52. package/dist/components/auth/methods/web3/Web3AuthFlow.js +1 -1
  53. package/dist/components/auth/methods/web3/Web3AuthFlowButton.cjs +1 -1
  54. package/dist/components/auth/methods/web3/Web3AuthFlowButton.js +1 -1
  55. package/dist/components/auth/methods/web3/Web3Connectors.cjs +1 -1
  56. package/dist/components/auth/methods/web3/Web3Connectors.js +1 -1
  57. package/dist/components/common/Divider.cjs +1 -1
  58. package/dist/components/common/Divider.js +1 -1
  59. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs +1 -1
  60. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +1 -1
  61. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs +1 -1
  62. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js +1 -1
  63. package/dist/components/embed/v3/index.cjs +1 -1
  64. package/dist/components/embed/v3/index.js +1 -1
  65. package/dist/components/hosted/CrossmintPayButton_DEPRECATED.cjs +1 -1
  66. package/dist/components/hosted/CrossmintPayButton_DEPRECATED.js +1 -1
  67. package/dist/components/hosted/index.cjs +1 -1
  68. package/dist/components/hosted/index.js +1 -1
  69. package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.cjs +1 -1
  70. package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.js +1 -1
  71. package/dist/components/hosted/v3/index.cjs +1 -1
  72. package/dist/components/hosted/v3/index.js +1 -1
  73. package/dist/components/index.cjs +1 -1
  74. package/dist/components/index.js +1 -1
  75. package/dist/consts/version.cjs +1 -1
  76. package/dist/consts/version.js +1 -1
  77. package/dist/hooks/index.cjs +1 -1
  78. package/dist/hooks/index.js +1 -1
  79. package/dist/hooks/useAuth.cjs +1 -1
  80. package/dist/hooks/useAuth.js +1 -1
  81. package/dist/hooks/useCrossmintAuth.cjs +1 -1
  82. package/dist/hooks/useCrossmintAuth.js +1 -1
  83. package/dist/hooks/useCrossmintCheckout.cjs +1 -1
  84. package/dist/hooks/useCrossmintCheckout.js +1 -1
  85. package/dist/hooks/useDynamicConnect.cjs +1 -1
  86. package/dist/hooks/useDynamicConnect.d.cts +3 -21
  87. package/dist/hooks/useDynamicConnect.d.ts +3 -21
  88. package/dist/hooks/useDynamicConnect.js +1 -1
  89. package/dist/hooks/useOAuthWindowListener.cjs +1 -1
  90. package/dist/hooks/useOAuthWindowListener.js +1 -1
  91. package/dist/hooks/useSignerInvisibleIFrame.d.cts +4 -4
  92. package/dist/hooks/useSignerInvisibleIFrame.d.ts +4 -4
  93. package/dist/hooks/useWallet.cjs +1 -1
  94. package/dist/hooks/useWallet.js +1 -1
  95. package/dist/index.cjs +1 -1
  96. package/dist/index.js +1 -1
  97. package/dist/providers/CrossmintAuthProvider.cjs +1 -1
  98. package/dist/providers/CrossmintAuthProvider.d.cts +2 -2
  99. package/dist/providers/CrossmintAuthProvider.d.ts +2 -2
  100. package/dist/providers/CrossmintAuthProvider.js +1 -1
  101. package/dist/providers/CrossmintWalletProvider.cjs +1 -1
  102. package/dist/providers/CrossmintWalletProvider.js +1 -1
  103. package/dist/providers/auth/AuthFormProvider.cjs +1 -1
  104. package/dist/providers/auth/AuthFormProvider.js +1 -1
  105. package/dist/providers/auth/web3/DynamicWeb3WalletConnect.cjs +1 -1
  106. package/dist/providers/auth/web3/DynamicWeb3WalletConnect.js +1 -1
  107. package/dist/providers/index.cjs +1 -1
  108. package/dist/providers/index.js +1 -1
  109. package/dist/providers/signers/CrossmintSignerProvider.cjs +1 -1
  110. package/dist/providers/signers/CrossmintSignerProvider.js +1 -1
  111. package/dist/types/wallet.d.cts +1 -4
  112. package/dist/types/wallet.d.ts +1 -4
  113. package/dist/utils/createCrossmintApiClient.cjs +1 -1
  114. package/dist/utils/createCrossmintApiClient.js +1 -1
  115. package/package.json +4 -4
  116. package/dist/chunk-7NARAT45.js +0 -1
  117. package/dist/chunk-HCJCJ4R4.cjs +0 -6
  118. package/dist/chunk-MGOO4VMI.js +0 -6
  119. package/dist/chunk-VB5DXNMG.js +0 -1
  120. package/dist/chunk-WHRHGJWN.cjs +0 -1
@@ -1,6 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkQUO652MGcjs = require('./chunk-QUO652MG.cjs');var _chunkBR77Q3PKcjs = require('./chunk-BR77Q3PK.cjs');var _chunkPZ3KXKJDcjs = require('./chunk-PZ3KXKJD.cjs');var _chunkAHD64NAJcjs = require('./chunk-AHD64NAJ.cjs');var _chunk3U4DUXCZcjs = require('./chunk-3U4DUXCZ.cjs');var _chunkHLGNSXEQcjs = require('./chunk-HLGNSXEQ.cjs');var _chunkWMBBIP2Ccjs = require('./chunk-WMBBIP2C.cjs');var _chunkHG5ML6KXcjs = require('./chunk-HG5ML6KX.cjs');var _chunk2BOQSASOcjs = require('./chunk-2BOQSASO.cjs');var _chunkZ2FGFHRQcjs = require('./chunk-Z2FGFHRQ.cjs');var _chunkWABJHG6Bcjs = require('./chunk-WABJHG6B.cjs');var _chunkFASRTACDcjs = require('./chunk-FASRTACD.cjs');var _chunkLYUOGA56cjs = require('./chunk-LYUOGA56.cjs');var _chunkGARYGAY7cjs = require('./chunk-GARYGAY7.cjs');var _chunkJNLQRLICcjs = require('./chunk-JNLQRLIC.cjs');var _chunkE65EGG73cjs = require('./chunk-E65EGG73.cjs');var _chunkTM7WDKYRcjs = require('./chunk-TM7WDKYR.cjs');var _chunkZBQCXWMDcjs = require('./chunk-ZBQCXWMD.cjs');var _chunkTXOVDTYKcjs = require('./chunk-TXOVDTYK.cjs');var _chunkIQ7CQQXGcjs = require('./chunk-IQ7CQQXG.cjs');var _chunkNRN4WNQLcjs = require('./chunk-NRN4WNQL.cjs');var _chunkYXF74MVIcjs = require('./chunk-YXF74MVI.cjs');var _chunkI4GMMHQRcjs = require('./chunk-I4GMMHQR.cjs');var _chunkSRQAQHYKcjs = require('./chunk-SRQAQHYK.cjs');var _chunkGPQZG7HCcjs = require('./chunk-GPQZG7HC.cjs');var _chunkWHRHGJWNcjs = require('./chunk-WHRHGJWN.cjs');var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _react = require('react');var _walletssdk = require('@crossmint/wallets-sdk');var _web3js = require('@solana/web3.js');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var _reactdom = require('react-dom');var _jsxruntime = require('react/jsx-runtime');var vt=_react.createContext.call(void 0, {status:"not-loaded",getOrCreateWallet:()=>Promise.resolve({startedCreation:!1}),createPasskeySigner:()=>Promise.resolve(null),clearWallet:()=>{}});function le({children:r,showPasskeyHelpers:e=!0,appearance:o,experimental_enableRecoveryKeys:t=!1}){let[s,i]=_react.useState.call(void 0, {status:"not-loaded"}),n={walletState:s,setWalletState:i,showPasskeyHelpers:e,appearance:o,experimental_enableRecoveryKeys:t};return t?_jsxruntime.jsx.call(void 0, _chunkJNLQRLICcjs.a,{children:_jsxruntime.jsx.call(void 0, ne,{walletState:s,setWalletState:i,appearance:o,children:_jsxruntime.jsx.call(void 0, re,_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {},n),{children:r}))})}):_jsxruntime.jsx.call(void 0, re,_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {},n),{children:r}))}function re({children:r,showPasskeyHelpers:e=!0,appearance:o,walletState:t,setWalletState:s,experimental_enableRecoveryKeys:i}){let{crossmint:n}=_chunkGPQZG7HCcjs.b.call(void 0, "CrossmintWalletProvider must be used within CrossmintProvider"),{experimental_getOrCreateWalletWithRecoveryKey:f}=se({enabled:i!=null?i:!1}),m=_react.useMemo.call(void 0, ()=>_walletssdk.CrossmintWallets.from({apiKey:n.apiKey,jwt:n==null?void 0:n.jwt}),[n.apiKey,n.jwt]),[u,a]=_react.useState.call(void 0, {open:!1}),h=C=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var c,A;if(t.status=="in-progress")return{startedCreation:!1,reason:"Wallet is already loading."};if(n.jwt==null)return{startedCreation:!1,reason:'Jwt not set in "CrossmintProvider".'};try{s({status:"in-progress"});let P={onWalletCreationStart:l("create-wallet"),onWalletCreationFail:l("create-wallet-error"),onTransactionStart:l("transaction"),onTransactionFail:l("transaction-error")};switch(C.type){case"evm-smart-wallet":{let w={adminSigner:(c=C.args.adminSigner)!=null?c:{type:"evm-passkey"},linkedUser:C.args.linkedUser},g=yield m.getOrCreateWallet("evm-smart-wallet",w,{experimental_callbacks:((A=w.adminSigner)==null?void 0:A.type)==="evm-passkey"?P:void 0});s({status:"loaded",wallet:g,type:"evm-smart-wallet"});break}case"solana-smart-wallet":{let w=yield m.getOrCreateWallet("solana-smart-wallet",C.args);s({status:"loaded",wallet:w,type:"solana-smart-wallet"});break}}}catch(P){console.error("There was an error creating a wallet ",P),s(_chunkLYUOGA56cjs.a.call(void 0, P))}return{startedCreation:!0}}),l=C=>()=>new Promise(c=>{if(!e){c();return}a({type:C,open:!0,primaryActionOnClick:()=>{a({open:!1}),c()},secondaryActionOnClick:()=>{a({open:!1}),c()}})}),b=()=>{s({status:"not-loaded"})},d=(C,c)=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){return c!=null&&(yield l(c)()),yield _chunkFASRTACDcjs.a.call(void 0, C)}),x=_react.useMemo.call(void 0, ()=>_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {},t),{getOrCreateWallet:h,createPasskeySigner:d,clearWallet:b,experimental_getOrCreateWalletWithRecoveryKey:f}),[t,f]);return _jsxruntime.jsxs.call(void 0, vt.Provider,{value:x,children:[r,u.open?_reactdom.createPortal.call(void 0, _jsxruntime.jsx.call(void 0, _chunk3U4DUXCZcjs.a,{state:u,appearance:o}),document.body):null]})}function ae(){let r=_react.useContext.call(void 0, vt);if(!r)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return r}var _clientsdkauth = require('@crossmint/client-sdk-auth');var _commonsdkbase = require('@crossmint/common-sdk-base');var _commonsdkauth = require('@crossmint/common-sdk-auth');var _reactvisuallyhidden = require('@radix-ui/react-visually-hidden');function B(){let r=_react.useContext.call(void 0, nt);if(!r)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return r}var me={google:"",twitter:""},ue=_react.createContext.call(void 0, void 0),S= exports.h =()=>{let r=_react.useContext.call(void 0, ue);if(!r)throw new Error("useAuthForm must be used within an AuthFormProvider");return r},ce= exports.i =({setDialogOpen:r,preFetchOAuthUrls:e,initialState:o,children:t})=>{let{crossmintAuth:s}=B(),[i,n]=_react.useState.call(void 0, "initial"),[f,m]=_react.useState.call(void 0, null),[u,a]=_react.useState.call(void 0, me),[h,l]=_react.useState.call(void 0, !0),{loginMethods:b,baseUrl:d,appearance:x,termsOfServiceText:C,authModalTitle:c,defaultEmail:A}=o,P=_react.useCallback.call(void 0, ()=>_chunk2WSEHVNPcjs.d.call(void 0, void 0,null,function*(){l(!0);try{let y=b.filter(O=>O in me).map(O=>_chunk2WSEHVNPcjs.d.call(void 0, void 0,null,function*(){let I=yield s==null?void 0:s.getOAuthUrl(O);return{[O]:I}})),k=Object.assign({},...yield Promise.all(y));a(k)}catch(p){m(p instanceof _commonsdkauth.CrossmintAuthenticationError?p.message:"Unable to load oauth providers. Please try again later.")}finally{l(!1)}}),[b,s]);_react.useEffect.call(void 0, ()=>{e&&P()},[P,e]);let g={step:i,error:f,baseUrl:d,appearance:x,termsOfServiceText:C,authModalTitle:c,loginMethods:b,defaultEmail:A,oauthUrlMap:u,isLoadingOauthUrlMap:h,setDialogOpen:(p,y)=>{r==null||r(p,y),p||setTimeout(()=>n("initial"),250)},setError:m,setStep:n};return _jsxruntime.jsx.call(void 0, ue.Provider,{value:g,children:t})};var _color = require('color'); var _color2 = _interopRequireDefault(_color);var Y=i=>{var n=i,{className:r,iconColor:e,ringColor:o,onClick:t}=n,s=_chunk2WSEHVNPcjs.c.call(void 0, n,["className","iconColor","ringColor","onClick"]);let{setError:f}=S();return _jsxruntime.jsx.call(void 0, "button",_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {className:_chunkWABJHG6Bcjs.a.call(void 0, "absolute left-4 top-4 min-[480px]:!left-6 min-[480px]:!top-6 rounded-full opacity-70 ring-offset-background text-cm-text-primary transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-cm-accent focus:ring-offset-2 disabled:pointer-events-none",r),onClick:m=>{f(null),t==null||t(m)}},s),{children:_jsxruntime.jsx.call(void 0, _chunkTM7WDKYRcjs.a,{className:"w-6 h-6",style:{color:e}})}))};var Je=6;function fe({otpEmailData:r,setOtpEmailData:e}){var C,c,A,P,w,g,p,y,k,O,I,K,T,U,V,q,z,E,H,It;let{crossmintAuth:o}=B(),{appearance:t,setDialogOpen:s,setStep:i,setError:n}=S(),[f,m]=_react.useState.call(void 0, ""),[u,a]=_react.useState.call(void 0, !1),[h,l]=_react.useState.call(void 0, !1),b=()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var j,bt;l(!0);try{let Ct=yield o==null?void 0:o.confirmEmailOtp((j=r==null?void 0:r.email)!=null?j:"",(bt=r==null?void 0:r.emailId)!=null?bt:"",f);yield o==null?void 0:o.handleRefreshAuthMaterial(Ct),s(!1,!0),i("initial")}catch(Ct){console.error("Error confirming email OTP",Ct),n("Invalid code. Please try again."),a(!0)}finally{l(!1)}}),d=()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var j;try{yield o==null?void 0:o.sendEmailOtp((j=r==null?void 0:r.email)!=null?j:"")}catch(bt){n("Failed to resend code. Please try again.")}});return _jsxruntime.jsxs.call(void 0, "div",{children:[_jsxruntime.jsx.call(void 0, Y,{onClick:()=>{i("initial"),e(null)},iconColor:(C=t==null?void 0:t.colors)==null?void 0:C.textPrimary,ringColor:(c=t==null?void 0:t.colors)==null?void 0:c.accent}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-center justify-start w-full",children:[_jsxruntime.jsx.call(void 0, "div",{className:"relative left-3",children:_jsxruntime.jsx.call(void 0, _chunkI4GMMHQRcjs.a,{customAccentColor:(A=t==null?void 0:t.colors)==null?void 0:A.accent,customButtonBackgroundColor:(P=t==null?void 0:t.colors)==null?void 0:P.buttonBackground,customBackgroundColor:(w=t==null?void 0:t.colors)==null?void 0:w.background})}),_jsxruntime.jsx.call(void 0, "p",{className:"text-base font-normal mt-4 mb-1 text-center text-cm-text-primary",style:{color:(g=t==null?void 0:t.colors)==null?void 0:g.textPrimary},children:"Check your email"}),_jsxruntime.jsxs.call(void 0, "p",{className:"text-center text-cm-text-secondary px-4",style:{color:(p=t==null?void 0:t.colors)==null?void 0:p.textSecondary},children:["A temporary login code has been sent to"," ",r!=null&&r.email?r.email:"your email address"]}),_jsxruntime.jsx.call(void 0, "div",{className:"py-8",children:_jsxruntime.jsx.call(void 0, _chunkHG5ML6KXcjs.a,{maxLength:Je,value:f,onChange:j=>{m(j),a(!1),n(null)},onComplete:b,disabled:h,customStyles:{accent:(k=(y=t==null?void 0:t.colors)==null?void 0:y.accent)!=null?k:"#04AA6D",danger:(I=(O=t==null?void 0:t.colors)==null?void 0:O.danger)!=null?I:"#f44336",border:(T=(K=t==null?void 0:t.colors)==null?void 0:K.border)!=null?T:"#E5E7EB",textPrimary:(V=(U=t==null?void 0:t.colors)==null?void 0:U.textPrimary)!=null?V:"#909ca3",buttonBackground:(z=(q=t==null?void 0:t.colors)==null?void 0:q.buttonBackground)!=null?z:"#eff6ff",inputBackground:(H=(E=t==null?void 0:t.colors)==null?void 0:E.inputBackground)!=null?H:"#FFFFFF",borderRadius:t==null?void 0:t.borderRadius},children:_jsxruntime.jsxs.call(void 0, _chunkHG5ML6KXcjs.b,{children:[_jsxruntime.jsx.call(void 0, _chunkHG5ML6KXcjs.c,{index:0,hasError:u}),_jsxruntime.jsx.call(void 0, _chunkHG5ML6KXcjs.c,{index:1,hasError:u}),_jsxruntime.jsx.call(void 0, _chunkHG5ML6KXcjs.c,{index:2,hasError:u}),_jsxruntime.jsx.call(void 0, _chunkHG5ML6KXcjs.c,{index:3,hasError:u}),_jsxruntime.jsx.call(void 0, _chunkHG5ML6KXcjs.c,{index:4,hasError:u}),_jsxruntime.jsx.call(void 0, _chunkHG5ML6KXcjs.c,{index:5,hasError:u})]})})}),_jsxruntime.jsx.call(void 0, "div",{className:"text-xs leading-tight text-cm-text-secondary text-center",children:_jsxruntime.jsxs.call(void 0, "span",{style:{color:(It=t==null?void 0:t.colors)==null?void 0:It.textSecondary},children:["Can't find the email? Check spam folder.",`
2
- `,"Some emails may take several minutes to arrive."]})}),_jsxruntime.jsx.call(void 0, _chunkHLGNSXEQcjs.a,{initialSeconds:60,appearance:t,countdownText:j=>`Re-send code in ${j}s`,countdownCompleteText:"Re-send code",handleOnClick:d})]})]})}var _clientsdkwindow = require('@crossmint/client-sdk-window');var _zod = require('zod');var Z=r=>{let{crossmintAuth:e}=B(),{oauthUrlMap:o,setError:t}=S(),[s,i]=_react.useState.call(void 0, !1),n=_react.useRef.call(void 0, null);return _react.useEffect.call(void 0, ()=>(n.current==null&&(n.current=new (0, _clientsdkwindow.ChildWindow)(window.opener||window.parent,"*",{incomingEvents:eo})),()=>{n.current!=null&&n.current.off("authMaterialFromPopupCallback")}),[]),{createPopupAndSetupListeners:m=>_chunk2WSEHVNPcjs.d.call(void 0, void 0,null,function*(){if(n.current==null)throw new Error("Child window not initialized");i(!0),t(null);let u=new URL(o[r]);if(m!=null){let d=Array.from(u.searchParams.entries());u.search="",m&&u.searchParams.append("provider_login_hint",m),d.forEach(([x,C])=>{u.searchParams.append(x,C)})}let a=yield _clientsdkwindow.PopupWindow.init(u.toString(),{awaitToLoad:!1,crossOrigin:!0,width:400,height:700}),h=d=>_chunk2WSEHVNPcjs.d.call(void 0, void 0,null,function*(){var x;yield e==null?void 0:e.handleRefreshAuthMaterial(d.oneTimeSecret),(x=n.current)==null||x.off("authMaterialFromPopupCallback"),a.window.close(),i(!1)}),l=d=>{var x;t(d.error),(x=n.current)==null||x.off("errorFromPopupCallback"),a.window.close(),i(!1)};n.current.on("authMaterialFromPopupCallback",h),n.current.on("errorFromPopupCallback",l);let b=setInterval(()=>{var d;a.window.closed&&(clearInterval(b),i(!1),(d=n.current)==null||d.off("authMaterialFromPopupCallback"))},2500)}),isLoading:s}},eo={authMaterialFromPopupCallback:_zod.z.object({oneTimeSecret:_zod.z.string()}),errorFromPopupCallback:_zod.z.object({error:_zod.z.string()})};function ge({emailInput:r,appearance:e}){var s,i,n,f;let{createPopupAndSetupListeners:o,isLoading:t}=Z("google");return _jsxruntime.jsxs.call(void 0, "button",{type:"button",className:_chunkWABJHG6Bcjs.a.call(void 0, "flex items-center gap-2 justify-center h-[32px] px-2.5 border border-cm-border rounded-xl bg-cm-background-primary","hover:bg-cm-hover focus:bg-cm-hover outline-none",t?"cursor-not-allowed hover:bg-cm-muted-primary":""),onClick:t?void 0:()=>o(r.trim().toLowerCase()),style:{backgroundColor:(s=e==null?void 0:e.colors)==null?void 0:s.buttonBackground,borderRadius:e==null?void 0:e.borderRadius},children:[_jsxruntime.jsx.call(void 0, _chunkE65EGG73cjs.a,{className:"max-h-[18px] max-w-[18px] h-[18px] w-[18px]"}),t?_jsxruntime.jsx.call(void 0, _chunkZ2FGFHRQcjs.a,{style:{color:(i=e==null?void 0:e.colors)==null?void 0:i.textSecondary,fill:(n=e==null?void 0:e.colors)==null?void 0:n.textPrimary,width:"18px",height:"18px"}}):_jsxruntime.jsx.call(void 0, "span",{className:"text-cm-accent",style:{color:(f=e==null?void 0:e.colors)==null?void 0:f.accent},children:"Continue"})]})}function pe({setOtpEmailData:r}){var d,x,C,c,A,P,w,g,p,y,k,O,I,K;let{crossmintAuth:e}=B(),{appearance:o,defaultEmail:t,setStep:s,setError:i}=S(),[n,f]=_react.useState.call(void 0, t!=null?t:""),[m,u]=_react.useState.call(void 0, ""),[a,h]=_react.useState.call(void 0, !1),l=n.toLowerCase().includes("@gmail.com")&&!n.toLowerCase().includes("+")&&_commonsdkauth.isEmailValid.call(void 0, n)&&!a;function b(T){return _chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){T.preventDefault(),h(!0);try{let U=n.trim().toLowerCase(),V=yield e==null?void 0:e.sendEmailOtp(U);r({email:U,emailId:V.emailId}),s("otp")}catch(U){h(!1),i("Failed to send email. Please try again or contact support.")}})}return _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-col items-start justify-start w-full rounded-lg",children:_jsxruntime.jsxs.call(void 0, "div",{className:"w-full",children:[_jsxruntime.jsx.call(void 0, "label",{className:"text-cm-text-primary block mb-[5px]",style:{color:(d=o==null?void 0:o.colors)==null?void 0:d.textPrimary},children:"Email"}),_jsxruntime.jsxs.call(void 0, "form",{role:"form",className:"relative",onSubmit:T=>{if(l){T.preventDefault();return}_commonsdkauth.isEmailValid.call(void 0, n)?b(T):T.preventDefault()},noValidate:!0,children:[_jsxruntime.jsx.call(void 0, "label",{htmlFor:"emailInput",className:"sr-only",children:"Email"}),_jsxruntime.jsx.call(void 0, "input",{className:_chunkWABJHG6Bcjs.a.call(void 0, "flex-grow text-cm-text-primary text-left pl-[16px] h-[58px] w-full border border-cm-border rounded-xl bg-cm-background-primary placeholder:text-md","transition-none duration-200 ease-in-out","focus:outline-none focus-ring-custom","placeholder:[color:var(--placeholder-color)]",m?"border-red-500":"",l?"pr-[132px]":"pr-[80px]"),style:{color:(x=o==null?void 0:o.colors)==null?void 0:x.textPrimary,borderRadius:o==null?void 0:o.borderRadius,borderColor:m?(C=o==null?void 0:o.colors)==null?void 0:C.danger:(c=o==null?void 0:o.colors)==null?void 0:c.border,backgroundColor:(A=o==null?void 0:o.colors)==null?void 0:A.inputBackground,"--placeholder-color":(w=(P=o==null?void 0:o.colors)==null?void 0:P.textSecondary)!=null?w:"#67797F","--focus-ring-color":new (0, _color2.default)((p=(g=o==null?void 0:o.colors)==null?void 0:g.accent)!=null?p:"#04AA6D").alpha(.18).toString()},type:"email",placeholder:"your@email.com",value:n,onChange:T=>{f(T.target.value),u(""),i(null)},readOnly:a,"aria-describedby":"emailError"}),_jsxruntime.jsxs.call(void 0, "div",{className:"absolute inset-y-0 right-0 flex items-center pr-4",children:[m&&_jsxruntime.jsx.call(void 0, _chunkNRN4WNQLcjs.a,{customColor:(y=o==null?void 0:o.colors)==null?void 0:y.danger}),a&&_jsxruntime.jsx.call(void 0, _chunkZ2FGFHRQcjs.a,{style:{color:(k=o==null?void 0:o.colors)==null?void 0:k.textSecondary,fill:(O=o==null?void 0:o.colors)==null?void 0:O.textPrimary}}),l?_jsxruntime.jsx.call(void 0, ge,{emailInput:n,appearance:o}):!m&&!a?_jsxruntime.jsx.call(void 0, "button",{type:"submit",className:_chunkWABJHG6Bcjs.a.call(void 0, "font-medium text-cm-accent text-nowrap bg-cm-background-primary",_commonsdkauth.isEmailValid.call(void 0, n)?"cursor-pointer":"!cursor-not-allowed opacity-60"),style:{color:(I=o==null?void 0:o.colors)==null?void 0:I.accent,backgroundColor:(K=o==null?void 0:o.colors)==null?void 0:K.inputBackground},disabled:!_commonsdkauth.isEmailValid.call(void 0, n)||a,children:"Submit"}):null]})]}),m&&_jsxruntime.jsx.call(void 0, "p",{className:"text-xs text-red-500 mb-2 pt-2",children:m})]})})})}function he(){let{step:r}=S(),[e,o]=_react.useState.call(void 0, null);return r==="otp"?_jsxruntime.jsx.call(void 0, fe,{otpEmailData:e,setOtpEmailData:o}):r==="initial"?_jsxruntime.jsx.call(void 0, pe,{setOtpEmailData:o}):null}function we({appearance:r,text:e}){var t,s,i;let{step:o}=S();return o!=="initial"?null:_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-center justify-center w-full pt-2 pb-3",children:[_jsxruntime.jsx.call(void 0, "span",{className:"w-full h-[1px] bg-cm-border",style:{backgroundColor:(t=r==null?void 0:r.colors)==null?void 0:t.border}}),e!=null?_jsxruntime.jsx.call(void 0, "p",{className:"flex-none px-2 text-sm text-cm-text-primary",style:{color:(s=r==null?void 0:r.colors)==null?void 0:s.textSecondary},children:e}):null,_jsxruntime.jsx.call(void 0, "span",{className:"w-full h-[1px] bg-cm-border",style:{backgroundColor:(i=r==null?void 0:r.colors)==null?void 0:i.border}})]})}function be(e){var r=_chunk2WSEHVNPcjs.c.call(void 0, e,[]);var m,u,a,h;let{step:o,appearance:t,isLoadingOauthUrlMap:s}=S(),{createPopupAndSetupListeners:i,isLoading:n}=Z("google"),f=s||n;return o!=="initial"?null:_jsxruntime.jsxs.call(void 0, "button",_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {className:_chunkWABJHG6Bcjs.a.call(void 0, "relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center","transition-colors duration-200 ease-in-out","hover:bg-cm-hover focus:bg-cm-hover outline-none",f?"cursor-not-allowed hover:bg-cm-muted-primary":""),style:{borderRadius:t==null?void 0:t.borderRadius,backgroundColor:(m=t==null?void 0:t.colors)==null?void 0:m.buttonBackground},onClick:f?void 0:()=>i()},r),{children:[_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _chunkE65EGG73cjs.a,{className:"max-h-[25px] max-w-[25px] h-[25px] w-[25px] absolute left-[18px]"}),f?_jsxruntime.jsx.call(void 0, _chunkZ2FGFHRQcjs.a,{style:{color:(u=t==null?void 0:t.colors)==null?void 0:u.textSecondary,fill:(a=t==null?void 0:t.colors)==null?void 0:a.textPrimary}}):_jsxruntime.jsx.call(void 0, "span",{className:"font-medium",style:{margin:"0px 32px",color:(h=t==null?void 0:t.colors)==null?void 0:h.textPrimary},children:"Sign in with Google"})]}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Sign in with Google"})]}))}var _authkit = require('@farcaster/auth-kit');function Ce(){var s,i;let{step:r,appearance:e,setStep:o,setError:t}=S();return r==="initial"?_jsxruntime.jsx.call(void 0, "div",{children:_jsxruntime.jsxs.call(void 0, "button",{className:_chunkWABJHG6Bcjs.a.call(void 0, "relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center","transition-colors duration-200 ease-in-out","hover:bg-cm-hover focus:bg-cm-hover outline-none"),style:{borderRadius:e==null?void 0:e.borderRadius,backgroundColor:(s=e==null?void 0:e.colors)==null?void 0:s.buttonBackground},onClick:()=>{o("qrCode"),t(null)},children:[_jsxruntime.jsx.call(void 0, _chunkSRQAQHYKcjs.a,{className:"max-h-[25px] max-w-[25px] h-[25px] w-[25px] absolute left-[18px]"}),_jsxruntime.jsx.call(void 0, "span",{className:"font-medium",style:{margin:"0px 32px",color:(i=e==null?void 0:e.colors)==null?void 0:i.textPrimary},children:"Sign in with Farcaster"}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Sign in with Farcaster"})]})}):r==="qrCode"?_jsxruntime.jsx.call(void 0, fo,{}):null}function fo(){var d,x,C,c,A,P,w,g,p;let{crossmintAuth:r}=B(),{appearance:e,setStep:o,setDialogOpen:t,setError:s}=S(),[i,n]=_react.useState.call(void 0, null),f=_react.useMemo.call(void 0, ()=>({onSuccess:y=>{n(y)}}),[]),{signIn:m,url:u,connect:a,signOut:h,isConnected:l}=_authkit.useSignIn.call(void 0, f),b=y=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){s(null);try{let k=yield r==null?void 0:r.signInWithFarcaster(y);yield r==null?void 0:r.handleRefreshAuthMaterial(k),t(!1),o("initial")}catch(k){console.error("Error during Farcaster sign-in:",k),s("Failed to sign in with Farcaster")}});return _react.useEffect.call(void 0, ()=>{i!=null&&b(i)},[i]),_react.useEffect.call(void 0, ()=>{l&&m()},[l]),_react.useEffect.call(void 0, ()=>{a()},[]),_jsxruntime.jsxs.call(void 0, "div",{children:[_jsxruntime.jsx.call(void 0, Y,{onClick:()=>{h(),o("initial")},iconColor:(d=e==null?void 0:e.colors)==null?void 0:d.textPrimary,ringColor:(x=e==null?void 0:e.colors)==null?void 0:x.accent}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-col items-center gap-4",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"text-center",children:[_jsxruntime.jsx.call(void 0, "h3",{className:"text-lg font-semibold text-cm-text-primary mb-2",style:{color:(C=e==null?void 0:e.colors)==null?void 0:C.textPrimary},children:"Sign in with Farcaster"}),_jsxruntime.jsx.call(void 0, "p",{className:"text-base font-normal text-cm-text-secondary",style:{color:(c=e==null?void 0:e.colors)==null?void 0:c.textSecondary},children:"Scan with your phone's camera to continue."})]}),_jsxruntime.jsx.call(void 0, "div",{className:"bg-white aspect-square rounded-lg p-4",style:{backgroundColor:(A=e==null?void 0:e.colors)==null?void 0:A.inputBackground,borderRadius:e==null?void 0:e.borderRadius},children:u!=null?_jsxruntime.jsx.call(void 0, _authkit.QRCode,{uri:u,size:280}):_jsxruntime.jsx.call(void 0, "div",{className:"min-h-[246px] flex items-center justify-center",children:_jsxruntime.jsx.call(void 0, _chunkZ2FGFHRQcjs.a,{style:{color:(P=e==null?void 0:e.colors)==null?void 0:P.textSecondary,fill:(w=e==null?void 0:e.colors)==null?void 0:w.textPrimary}})})}),u?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, "p",{className:"text-base text-center font-normal text-cm-text-secondary",style:{color:(g=e==null?void 0:e.colors)==null?void 0:g.textSecondary},children:"Alternatively, click on this link to open Warpcast."}),_jsxruntime.jsx.call(void 0, "a",{href:u,rel:"noopener noreferrer",target:"_blank",className:"text-base font-normal text-cm-link",style:{color:(p=e==null?void 0:e.colors)==null?void 0:p.textLink},children:"Open Warpcast"})]}):null]})]})}function Se(e){var r=_chunk2WSEHVNPcjs.c.call(void 0, e,[]);var m,u,a,h;let{step:o,appearance:t,isLoadingOauthUrlMap:s}=S(),{createPopupAndSetupListeners:i,isLoading:n}=Z("twitter"),f=s||n;return o!=="initial"?null:_jsxruntime.jsxs.call(void 0, "button",_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {className:_chunkWABJHG6Bcjs.a.call(void 0, "relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center","transition-colors duration-200 ease-in-out","hover:bg-cm-hover focus:bg-cm-hover outline-none",f?"cursor-not-allowed hover:bg-cm-muted-primary":""),style:{borderRadius:t==null?void 0:t.borderRadius,backgroundColor:(m=t==null?void 0:t.colors)==null?void 0:m.buttonBackground},onClick:f?void 0:()=>i()},r),{children:[_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, _chunkZBQCXWMDcjs.a,{className:"max-h-[25px] max-w-[25px] h-[25px] w-[25px] absolute left-[18px]"}),f?_jsxruntime.jsx.call(void 0, _chunkZ2FGFHRQcjs.a,{style:{color:(u=t==null?void 0:t.colors)==null?void 0:u.textSecondary,fill:(a=t==null?void 0:t.colors)==null?void 0:a.textPrimary}}):_jsxruntime.jsx.call(void 0, "span",{className:"font-medium",style:{margin:"0px 32px",color:(h=t==null?void 0:t.colors)==null?void 0:h.textPrimary},children:"Sign in with X"})]}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Sign in with X"})]}))}function Pe(){var s,i,n,f,m;let{step:r,appearance:e,setStep:o,setError:t}=S();return r!=="initial"?null:_jsxruntime.jsxs.call(void 0, "button",{className:_chunkWABJHG6Bcjs.a.call(void 0, "relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center","transition-colors duration-200 ease-in-out","hover:bg-cm-hover focus:bg-cm-hover outline-none"),style:{borderRadius:e==null?void 0:e.borderRadius,borderColor:(s=e==null?void 0:e.colors)==null?void 0:s.border,backgroundColor:(i=e==null?void 0:e.colors)==null?void 0:i.buttonBackground},onClick:()=>{o("web3"),t(null)},children:[_jsxruntime.jsx.call(void 0, _chunkTXOVDTYKcjs.a,{className:"h-[21px] w-[21px] absolute left-[20px]",style:{color:(n=e==null?void 0:e.colors)==null?void 0:n.textPrimary}}),_jsxruntime.jsx.call(void 0, "span",{className:"font-medium",style:{margin:"0px 32px",color:(f=e==null?void 0:e.colors)==null?void 0:f.textPrimary},children:"Continue with a wallet"}),_jsxruntime.jsx.call(void 0, _chunkYXF74MVIcjs.a,{className:"h-[21px] w-[21px] absolute right-[20px]",style:{color:(m=e==null?void 0:e.colors)==null?void 0:m.textSecondary}}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Continue with a wallet"})]})}var _sdkreactcore = require('@dynamic-labs/sdk-react-core');function Ae(){var t,s;let{appearance:r,step:e,setStep:o}=S();return e==="web3"?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_jsxruntime.jsx.call(void 0, Y,{onClick:()=>o("initial"),iconColor:(t=r==null?void 0:r.colors)==null?void 0:t.textPrimary,ringColor:(s=r==null?void 0:r.colors)==null?void 0:s.accent}),_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-col items-center",children:_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-col gap-[10px] w-full",children:_jsxruntime.jsx.call(void 0, "div",{className:"widget-container",children:_jsxruntime.jsx.call(void 0, _sdkreactcore.DynamicEmbeddedWidget,{background:"none"})})})})]}):null}function ke(){let{step:r}=S();return r.startsWith("web3")?_jsxruntime.jsx.call(void 0, Ae,{}):r==="initial"?_jsxruntime.jsx.call(void 0, Pe,{}):null}function Ee({className:r}){var m,u,a,h,l,b,d,x,C,c,A,P,w;let{step:e,appearance:o,loginMethods:t,baseUrl:s,error:i,termsOfServiceText:n,authModalTitle:f}=S();return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkWABJHG6Bcjs.a.call(void 0, "relative pt-10 pb-[30px] px-6 !min-[480px]:px-10 flex flex-col gap-[10px] antialiased animate-none",r),children:[i!=null?_jsxruntime.jsxs.call(void 0, "div",{className:"flex items-start justify-start w-full rounded-lg p-2 mt-4 bg-cm-danger-muted",style:{backgroundColor:new (0, _color2.default)((u=(m=o==null?void 0:o.colors)==null?void 0:m.danger)!=null?u:"#f44336").alpha(.12).toString()},children:[_jsxruntime.jsx.call(void 0, "div",{className:"min-w-[20px]",children:_jsxruntime.jsx.call(void 0, _chunkNRN4WNQLcjs.a,{customColor:(h=(a=o==null?void 0:o.colors)==null?void 0:a.danger)!=null?h:"#f44336"})}),_jsxruntime.jsx.call(void 0, "p",{className:"ml-2 text-sm",style:{color:(b=(l=o==null?void 0:o.colors)==null?void 0:l.danger)!=null?b:"#f44336"},children:i})]}):null,e==="initial"?_jsxruntime.jsxs.call(void 0, "div",{children:[_jsxruntime.jsx.call(void 0, "h1",{className:"text-2xl font-bold text-cm-text-primary",style:{color:(d=o==null?void 0:o.colors)==null?void 0:d.textPrimary},children:f!=null?f:"Sign in to Crossmint"}),_jsxruntime.jsx.call(void 0, "p",{className:"text-base font-normal mb-3 text-cm-text-secondary",style:{color:(x=o==null?void 0:o.colors)==null?void 0:x.textSecondary},children:"Access using one of the options below."})]}):null,t.includes("google")?_jsxruntime.jsx.call(void 0, be,{}):null,t.includes("farcaster")?_jsxruntime.jsx.call(void 0, _chunkBR77Q3PKcjs.a,{baseUrl:s,children:_jsxruntime.jsx.call(void 0, Ce,{})}):null,t.includes("twitter")?_jsxruntime.jsx.call(void 0, Se,{}):null,t.some(g=>g.startsWith("web3"))?_jsxruntime.jsx.call(void 0, ke,{}):null,t.includes("email")?_jsxruntime.jsxs.call(void 0, "div",{children:[t.length>1?_jsxruntime.jsx.call(void 0, we,{appearance:o,text:"OR"}):null,_jsxruntime.jsx.call(void 0, he,{})]}):null,e==="initial"&&n!=null?_jsxruntime.jsxs.call(void 0, "div",{className:"text-sm text-center text-cm-text-secondary mt-2",style:{color:(C=o==null?void 0:o.colors)==null?void 0:C.textSecondary},children:[_jsxruntime.jsx.call(void 0, "style",{children:`
3
- p a {
4
- color: ${(A=(c=o==null?void 0:o.colors)==null?void 0:c.textLink)!=null?A:"#1A74E9"};
5
- }
6
- `}),n]}):null,e==="initial"||e==="otp"?_jsxruntime.jsx.call(void 0, _chunk2BOQSASOcjs.a,{className:"mt-1.5 md:mt-4 justify-center",color:(w=(P=o==null?void 0:o.colors)==null?void 0:P.textSecondary)!=null?w:"#67797F"}):null]})}function Ot({open:r}){var t,s,i;let{appearance:e,setDialogOpen:o}=S();return _react.useEffect.call(void 0, ()=>{document.body.style.overflow=r?"hidden":""},[r]),_jsxruntime.jsx.call(void 0, _chunkWMBBIP2Ccjs.a,{modal:!1,open:r,onOpenChange:o,children:_jsxruntime.jsxs.call(void 0, _chunkWMBBIP2Ccjs.e,{onInteractOutside:n=>n.preventDefault(),onOpenAutoFocus:n=>n.preventDefault(),closeButtonColor:(t=e==null?void 0:e.colors)==null?void 0:t.textPrimary,closeButtonRingColor:(s=e==null?void 0:e.colors)==null?void 0:s.accent,className:"!p-0 !min-[480px]:p-0",style:{borderRadius:e==null?void 0:e.borderRadius,backgroundColor:(i=e==null?void 0:e.colors)==null?void 0:i.background},children:[_jsxruntime.jsx.call(void 0, _reactvisuallyhidden.VisuallyHidden,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkWMBBIP2Ccjs.h,{children:"Crossmint Auth"})}),_jsxruntime.jsx.call(void 0, _reactvisuallyhidden.VisuallyHidden,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkWMBBIP2Ccjs.i,{children:"Sign in via Crossmint"})}),_jsxruntime.jsx.call(void 0, Ee,{className:"max-w-[448px]"})]})})}var _ethereum = require('@dynamic-labs/ethereum');var _solana = require('@dynamic-labs/solana');function Ie({children:r,apiKeyEnvironment:e,enabled:o}){var m,u;let{crossmintAuth:t}=B(),{appearance:s,loginMethods:i}=S(),n=o?[_ethereum.EthereumWalletConnectors,_solana.SolanaWalletConnectors]:void 0;i.includes("web3:evm-only")?n=[_ethereum.EthereumWalletConnectors]:i.includes("web3:solana-only")&&(n=[_solana.SolanaWalletConnectors]);let f=`.powered-by-dynamic { display: none !important; } .wallet-list__scroll-container { padding: 0px !important; } .wallet-list__search-container { padding-left: 0px !important; padding-right: 0px !important; } .dynamic-footer { display: none !important; } h1 { color: ${(m=s==null?void 0:s.colors)==null?void 0:m.textPrimary} !important; } * { color: ${(u=s==null?void 0:s.colors)==null?void 0:u.textSecondary} !important; }`;return _jsxruntime.jsx.call(void 0, _chunkAHD64NAJcjs.a,{apiKeyEnvironment:e,settings:{walletConnectors:n,cssOverrides:f,events:{onWalletRemoved(){console.log("[CryptoWalletConnectionHandler] onWalletRemoved")},onAuthFlowCancel(){console.log("[CryptoWalletConnectionHandler] onAuthFlowCancel")},onAuthFlowClose(){console.log("[CryptoWalletConnectionHandler] onAuthFlowClose")},onAuthFailure(a,h){console.error("[CryptoWalletConnectionHandler] onAuthFailure",a,h)},onAuthSuccess(a){console.log("[CryptoWalletConnectionHandler] onAuthSuccess",a)}},handlers:{handleConnectedWallet:a=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var d;console.log("[CryptoWalletConnectionHandler] handleConnectedWallet",a);let h=a.address;if(!h)return console.error("[CryptoWalletConnectionHandler] handleConnectedWallet: address is missing"),!1;let b=(yield _chunkPZ3KXKJDcjs.b.call(void 0, a))==="solana"?"solana":"evm";try{let x=yield t==null?void 0:t.signInWithSmartWallet(h,b),C=yield(d=a.connector)==null?void 0:d.proveOwnership(h,x.challenge),c=C;if(b==="solana"){let w=Buffer.from(C,"base64");c=_bs582.default.encode(w)}let P=(yield t==null?void 0:t.authenticateSmartWallet(h,b,c)).oneTimeSecret;yield t==null?void 0:t.handleRefreshAuthMaterial(P)}catch(x){console.error("[CryptoWalletConnectionHandler] Error authenticating wallet:",x)}return!0})}},children:r},`${e}-${i.join(",")}`)}var To={crossmintAuth:void 0,login:()=>{},logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{}},nt= exports.A =_react.createContext.call(void 0, To),Io={createOnLogin:"off",type:"evm-smart-wallet",experimental_enableRecoveryKeys:!1};function mi({embeddedWallets:r=Io,children:e,appearance:o,termsOfServiceText:t,prefetchOAuthUrls:s=!0,authModalTitle:i,onLoginSuccess:n,loginMethods:f=["email","google"],refreshRoute:m,logoutRoute:u}){var z;let[a,h]=_react.useState.call(void 0, void 0),{crossmint:l,setJwt:b}=_chunkGPQZG7HCcjs.b.call(void 0, "CrossmintAuthProvider must be used within CrossmintProvider"),d=_react.useRef.call(void 0, null),x=_react.useMemo.call(void 0, ()=>(d.current||(d.current=_clientsdkauth.CrossmintAuth.from(l,{callbacks:{onLogout:()=>{b(void 0),h(void 0)},onTokenRefresh:E=>{b(E.jwt),h(E.user)}},refreshRoute:m,logoutRoute:u})),d.current),[]),C=_commonsdkbase.validateApiKeyAndGetCrossmintBaseUrl.call(void 0, l.apiKey),[c,A]=_react.useState.call(void 0, !1),[P,w]=_react.useState.call(void 0, !1),[g,p]=_react.useState.call(void 0, void 0),[y,k]=_react.useState.call(void 0, !1),O=f.some(E=>E.startsWith("web3")),I=_react.useCallback.call(void 0, ()=>{n==null||n()},[n]);_react.useEffect.call(void 0, ()=>{if(l.jwt==null){let E=_clientsdkauth.getCookie.call(void 0, _commonsdkauth.SESSION_PREFIX);b(E)}w(!0)},[l.jwt,b]),_react.useEffect.call(void 0, ()=>{l.jwt!=null&&c&&(A(!1),I())},[l.jwt,c,I]);let K=_react.useCallback.call(void 0, E=>{if(l.jwt!=null){console.log("User already logged in");return}E!=null&&typeof E=="string"&&p(E),A(!0)},[l.jwt]),T=_react.useCallback.call(void 0, ()=>{x.logout()},[x]),U=_react.useCallback.call(void 0, ()=>!P||O&&!y?"initializing":l.jwt!=null?"logged-in":c?"in-progress":"logged-out",[P,l.jwt,c,y,O]),V=_react.useCallback.call(void 0, ()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){if(l.jwt==null){console.log("User not logged in");return}let E=yield x.getUser();h(E)}),[l.jwt,x]),q=_react.useMemo.call(void 0, ()=>({crossmintAuth:x,login:K,logout:T,jwt:l.jwt,user:a,status:U(),getUser:V}),[x,K,T,l.jwt,a,U,V]);return _jsxruntime.jsx.call(void 0, _chunkJNLQRLICcjs.a,{children:_jsxruntime.jsx.call(void 0, nt.Provider,{value:q,children:_jsxruntime.jsx.call(void 0, le,{showPasskeyHelpers:r.showPasskeyHelpers,appearance:o,experimental_enableRecoveryKeys:(z=r.experimental_enableRecoveryKeys)!=null?z:!1,children:_jsxruntime.jsx.call(void 0, ce,{setDialogOpen:(E,H)=>{A(E),H&&I()},preFetchOAuthUrls:U()==="logged-out"&&s,initialState:{appearance:o,loginMethods:f,termsOfServiceText:t,authModalTitle:i,embeddedWallets:r,baseUrl:C,defaultEmail:g},children:_jsxruntime.jsxs.call(void 0, Ie,{enabled:O,apiKeyEnvironment:l.apiKey.includes("production")?"production":"staging",children:[_jsxruntime.jsx.call(void 0, No,{embeddedWallets:r,accessToken:l.jwt,setIsDynamicSdkLoaded:k,isWeb3Enabled:O}),e,_jsxruntime.jsx.call(void 0, Ot,{open:c})]})})},l.jwt)})})}function No({embeddedWallets:r,accessToken:e,setIsDynamicSdkLoaded:o,isWeb3Enabled:t}){let{getOrCreateWallet:s,clearWallet:i,status:n}=ae(),{sdkHasLoaded:f,getAdminSigner:m,cleanup:u,isDynamicWalletConnected:a}=_chunkWHRHGJWNcjs.a.call(void 0, t,o,e),{createOnLogin:h,adminSigner:l,linkedUser:b}=r,d=h==="all-users"&&n==="not-loaded"&&e!=null&&f,x=_react.useCallback.call(void 0, ()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var P,w;if(!d)return;let c=l,A=r.type;if(a&&(c=(P=yield m())!=null?P:c,A=(w=_chunkGARYGAY7cjs.a.call(void 0, c==null?void 0:c.type))!=null?w:A),!a&&r.type==null){console.error("[CrossmintAuthProvider] \u26A0\uFE0F embeddedWallets.type is required when no external wallet is connected");return}s({type:A,args:{adminSigner:c,linkedUser:b}})}),[d,s,b,l,r.type,m]),C=_react.useCallback.call(void 0, ()=>{e==null&&n==="loaded"&&i(),u()},[n,e,i,u]);return _react.useEffect.call(void 0, ()=>{x(),C()},[x,C]),null}function bi(){let r=_react.useContext.call(void 0, nt);if(r===void 0)throw new Error("useAuth must be used within an AuthProvider");return r}var Le={timeoutMs:1e4,intervalMs:5e3},Ue= exports.a =_react.createContext.call(void 0, null);function ne({children:r,setWalletState:e,appearance:o}){let{crossmint:{apiKey:t,jwt:s}}=_chunkGPQZG7HCcjs.b.call(void 0, ),i=_react.useMemo.call(void 0, ()=>_walletssdk.CrossmintWallets.from({apiKey:t,jwt:s}),[t,s]),n=_chunkIQ7CQQXGcjs.a.call(void 0, ),[f,m]=_react.useState.call(void 0, ""),[u,a]=_react.useState.call(void 0, "initial"),[h,l]=_react.useState.call(void 0, !1),b=_react.useRef.call(void 0, null),d=_react.useRef.call(void 0, null),x=w=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){try{e({status:"in-progress"}),m(w.email);let y=(yield(yield fetch("https://staging.crossmint.com/api/unstable/wallets/ncs/doesnt-matter/public-key",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${s}`,"x-api-key":t},body:JSON.stringify({authId:`email:${w.email}`,signingAlgorithm:"EDDSA_ED25519"})})).json()).publicKey,k=Buffer.from(y,"base64"),O=_bs582.default.encode(k),I=yield P(O),K=_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {},I),{sendTransaction:T=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){return new Promise((U,V)=>{let q=()=>{l(!1),a("initial")},z=()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){q();try{let H=yield I.sendTransaction(T);U(H)}catch(H){V(H)}}),E=H=>{q(),V(H)};b.current=z,d.current=E,C(w.email).then(z).catch(E)})})});e({status:"loaded",wallet:K,type:"solana-smart-wallet"})}catch(g){throw console.error("There was an error creating a wallet ",g),e(_chunkLYUOGA56cjs.a.call(void 0, g)),g}});function C(w){return _chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){if(!n.current||s==null)throw new Error("[handleGetRecoverySigner] IFrame window not initialized or JWT not set");return new Promise((g,p)=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var y;try{let k=yield(y=n.current)==null?void 0:y.sendAction({event:"request:get-public-key",responseEvent:"response:get-public-key",data:{authData:{jwt:s,apiKey:t},data:{chainLayer:"solana"}}});if((k==null?void 0:k.status)==="success")return console.log("Signer already exists, skipping OTP flow"),g();b.current=()=>g(),d.current=O=>p(O),w!=null?yield c(w):(a("initial"),l(!0))}catch(k){console.error("Error getting recovery signer",k),p(k)}}))})}let c=w=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var g,p;if(!n.current||s==null)throw new Error("[handleSendEmailOTP] IFrame window not initialized or JWT not set");try{console.log("Creating Recovery Key");let y=yield(g=n.current)==null?void 0:g.sendAction({event:"request:create-signer",responseEvent:"response:create-signer",data:{authData:{jwt:s,apiKey:t},data:{chainLayer:"solana",authId:`email:${w}`}}});if(y.status==="error")throw new Error(y.error);if(y.status==="success"&&y.address!=null){console.log("Signer already exists, skipping OTP flow"),a("initial"),l(!1);return}console.log("Proceeding to OTP flow"),a("otp"),l(!0)}catch(y){throw console.error("Error in email submission:",y),(p=d.current)==null||p.call(d,y),y}}),A=w=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var g,p;if(!n.current||s==null)throw new Error("[handleOTPSubmit] IFrame window not initialized or JWT not set");try{let y=yield n.current.sendAction({event:"request:send-otp",responseEvent:"response:send-otp",data:{authData:{jwt:s,apiKey:t},data:{encryptedOtp:w,chainLayer:"solana"}}});if(y.status==="error")throw new Error(y.error);a("initial"),l(!1),(g=b.current)==null||g.call(b)}catch(y){throw console.error("Error in OTP submission:",y),(p=d.current)==null||p.call(d,y),y}});function P(w){return _chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){if(s==null)throw new Error("[getOrCreateSolanaWalletWithSigner] JWT not set!");try{return yield i.getOrCreateWallet("solana-smart-wallet",{adminSigner:{type:"solana-keypair",address:w,signer:{signMessage:g=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){if(n.current==null)throw new Error("IFrame window not initialized");let p=yield n.current.sendAction({event:"request:sign-message",responseEvent:"response:sign-message",data:{authData:{jwt:s,apiKey:t},data:{message:_bs582.default.encode(g),chainLayer:"solana",encoding:"base58"}},options:Le});if(p.status==="error")throw new Error(p.error);if(p.signature==null)throw new Error("Failed to sign message");return _bs582.default.decode(p.signature)}),signTransaction:g=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){var y;console.log("Signing transaction...",g);let p=yield(y=n.current)==null?void 0:y.sendAction({event:"request:sign-transaction",responseEvent:"response:sign-transaction",data:{authData:{jwt:s,apiKey:t},data:{transaction:_bs582.default.encode(g.serialize()),chainLayer:"solana",encoding:"base58"}},options:Le});if((p==null?void 0:p.status)==="error")throw new Error(p.error);if((p==null?void 0:p.signature)==null)throw new Error("Failed to sign transaction");return g.addSignature(new (0, _web3js.PublicKey)(w),_bs582.default.decode(p.signature)),g})}}})}catch(g){throw console.error("Error creating wallet with signer:",g),e(_chunkLYUOGA56cjs.a.call(void 0, g)),g}})}return _react.useEffect.call(void 0, ()=>{document.body.style.overflow=h?"hidden":""},[h]),_jsxruntime.jsxs.call(void 0, Ue.Provider,{value:{experimental_getOrCreateWalletWithRecoveryKey:x},children:[_jsxruntime.jsx.call(void 0, _chunkQUO652MGcjs.a,{email:f,setEmail:m,open:h,setOpen:l,step:u,setStep:a,onSubmitOTP:A,onResendOTPCode:c,onSubmitEmail:c,appearance:o}),r]})}function se({enabled:r=!0}={}){let e=_react.useContext.call(void 0, Ue);if(!r)return{experimental_getOrCreateWalletWithRecoveryKey:()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){yield Promise.reject(new Error("useCrossmintSigner is disabled, please set 'experimental_enableRecoveryKeys' to true"))})};if(e===null)throw new Error("useCrossmintSigner must be used within a CrossmintSignerProvider");return e}exports.a = Ue; exports.b = ne; exports.c = se; exports.d = vt; exports.e = le; exports.f = ae; exports.g = B; exports.h = S; exports.i = ce; exports.j = Y; exports.k = Je; exports.l = fe; exports.m = Z; exports.n = ge; exports.o = pe; exports.p = he; exports.q = we; exports.r = be; exports.s = Ce; exports.t = Se; exports.u = Pe; exports.v = Ae; exports.w = ke; exports.x = Ee; exports.y = Ot; exports.z = Ie; exports.A = nt; exports.B = mi; exports.C = bi;
@@ -1,6 +0,0 @@
1
- import{a as zt}from"./chunk-7YHGBWRD.js";import{a as Jt}from"./chunk-JSNUJJQJ.js";import{b as te}from"./chunk-4KDASQO6.js";import{a as Zt}from"./chunk-LD3MRJ3F.js";import{a as Bt}from"./chunk-JOMJPVZA.js";import{a as Vt}from"./chunk-EMXNIC4M.js";import{a as Lt,e as Ut,h as Mt,i as Dt}from"./chunk-UDQUVZUQ.js";import{a as Ht,b as _t,c as J}from"./chunk-VHNBXIOC.js";import{a as Rt}from"./chunk-2VBA64WU.js";import{a as G}from"./chunk-TNCETEEL.js";import{a as T}from"./chunk-NBJIJZGO.js";import{a as Kt}from"./chunk-BFHQZOV3.js";import{a as rt}from"./chunk-C22ZEFQD.js";import{a as ee}from"./chunk-ZZYJ6XM2.js";import{a as ft}from"./chunk-RZG2PAKA.js";import{a as gt}from"./chunk-WW6GUXHG.js";import{a as jt}from"./chunk-SFDQPSSP.js";import{a as Xt}from"./chunk-JPJKOERH.js";import{a as Yt}from"./chunk-VWL76U5G.js";import{a as qt}from"./chunk-IOYFNS7R.js";import{a as dt}from"./chunk-UAFW3OWA.js";import{a as Qt}from"./chunk-VLDE23JX.js";import{a as Gt}from"./chunk-C3JRTLQP.js";import{a as $t}from"./chunk-E4TBJMOO.js";import{b as Y}from"./chunk-ROJ6HFVK.js";import{a as oe}from"./chunk-VB5DXNMG.js";import{a as D,b as B,c as Q,d as v}from"./chunk-PXDN3KFO.js";import{createContext as Mo,useContext as Do,useRef as Le,useState as It,useEffect as Bo,useMemo as Ko}from"react";import{CrossmintWallets as Vo}from"@crossmint/wallets-sdk";import{PublicKey as Ho}from"@solana/web3.js";import ct from"bs58";import{useContext as He}from"react";import{createContext as De,useMemo as re,useState as le}from"react";import{createPortal as Be}from"react-dom";import{CrossmintWallets as Ke}from"@crossmint/wallets-sdk";import{jsx as nt,jsxs as Ve}from"react/jsx-runtime";var St=De({status:"not-loaded",getOrCreateWallet:()=>Promise.resolve({startedCreation:!1}),createPasskeySigner:()=>Promise.resolve(null),clearWallet:()=>{}});function ae({children:r,showPasskeyHelpers:e=!0,appearance:o,experimental_enableRecoveryKeys:t=!1}){let[s,i]=le({status:"not-loaded"}),n={walletState:s,setWalletState:i,showPasskeyHelpers:e,appearance:o,experimental_enableRecoveryKeys:t};return t?nt(ft,{children:nt(se,{walletState:s,setWalletState:i,appearance:o,children:nt(ne,B(D({},n),{children:r}))})}):nt(ne,B(D({},n),{children:r}))}function ne({children:r,showPasskeyHelpers:e=!0,appearance:o,walletState:t,setWalletState:s,experimental_enableRecoveryKeys:i}){let{crossmint:n}=Y("CrossmintWalletProvider must be used within CrossmintProvider"),{experimental_getOrCreateWalletWithRecoveryKey:f}=ie({enabled:i!=null?i:!1}),m=re(()=>Ke.from({apiKey:n.apiKey,jwt:n==null?void 0:n.jwt}),[n.apiKey,n.jwt]),[u,a]=le({open:!1}),h=C=>v(this,null,function*(){var c,A;if(t.status=="in-progress")return{startedCreation:!1,reason:"Wallet is already loading."};if(n.jwt==null)return{startedCreation:!1,reason:'Jwt not set in "CrossmintProvider".'};try{s({status:"in-progress"});let P={onWalletCreationStart:l("create-wallet"),onWalletCreationFail:l("create-wallet-error"),onTransactionStart:l("transaction"),onTransactionFail:l("transaction-error")};switch(C.type){case"evm-smart-wallet":{let w={adminSigner:(c=C.args.adminSigner)!=null?c:{type:"evm-passkey"},linkedUser:C.args.linkedUser},g=yield m.getOrCreateWallet("evm-smart-wallet",w,{experimental_callbacks:((A=w.adminSigner)==null?void 0:A.type)==="evm-passkey"?P:void 0});s({status:"loaded",wallet:g,type:"evm-smart-wallet"});break}case"solana-smart-wallet":{let w=yield m.getOrCreateWallet("solana-smart-wallet",C.args);s({status:"loaded",wallet:w,type:"solana-smart-wallet"});break}}}catch(P){console.error("There was an error creating a wallet ",P),s(rt(P))}return{startedCreation:!0}}),l=C=>()=>new Promise(c=>{if(!e){c();return}a({type:C,open:!0,primaryActionOnClick:()=>{a({open:!1}),c()},secondaryActionOnClick:()=>{a({open:!1}),c()}})}),b=()=>{s({status:"not-loaded"})},d=(C,c)=>v(this,null,function*(){return c!=null&&(yield l(c)()),yield Kt(C)}),x=re(()=>B(D({},t),{getOrCreateWallet:h,createPasskeySigner:d,clearWallet:b,experimental_getOrCreateWalletWithRecoveryKey:f}),[t,f]);return Ve(St.Provider,{value:x,children:[r,u.open?Be(nt(Bt,{state:u,appearance:o}),document.body):null]})}function me(){let r=He(St);if(!r)throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");return r}import{useContext as Uo}from"react";import{createContext as Wo,useEffect as Tt,useMemo as Re,useRef as ko,useState as ut,useCallback as X}from"react";import{CrossmintAuth as Eo,getCookie as Oo}from"@crossmint/client-sdk-auth";import{validateApiKeyAndGetCrossmintBaseUrl as Fo}from"@crossmint/common-sdk-base";import{SESSION_PREFIX as To}from"@crossmint/common-sdk-auth";import{VisuallyHidden as Fe}from"@radix-ui/react-visually-hidden";import{createContext as Ge,useCallback as je,useContext as ze,useEffect as qe,useState as pt}from"react";import{CrossmintAuthenticationError as $e}from"@crossmint/common-sdk-auth";import{useContext as _e}from"react";function K(){let r=_e(st);if(!r)throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");return r}import{jsx as Je}from"react/jsx-runtime";var ue={google:"",twitter:""},ce=Ge(void 0),S=()=>{let r=ze(ce);if(!r)throw new Error("useAuthForm must be used within an AuthFormProvider");return r},de=({setDialogOpen:r,preFetchOAuthUrls:e,initialState:o,children:t})=>{let{crossmintAuth:s}=K(),[i,n]=pt("initial"),[f,m]=pt(null),[u,a]=pt(ue),[h,l]=pt(!0),{loginMethods:b,baseUrl:d,appearance:x,termsOfServiceText:C,authModalTitle:c,defaultEmail:A}=o,P=je(()=>v(void 0,null,function*(){l(!0);try{let y=b.filter(F=>F in ue).map(F=>v(void 0,null,function*(){let N=yield s==null?void 0:s.getOAuthUrl(F);return{[F]:N}})),E=Object.assign({},...yield Promise.all(y));a(E)}catch(p){m(p instanceof $e?p.message:"Unable to load oauth providers. Please try again later.")}finally{l(!1)}}),[b,s]);qe(()=>{e&&P()},[P,e]);let g={step:i,error:f,baseUrl:d,appearance:x,termsOfServiceText:C,authModalTitle:c,loginMethods:b,defaultEmail:A,oauthUrlMap:u,isLoadingOauthUrlMap:h,setDialogOpen:(p,y)=>{r==null||r(p,y),p||setTimeout(()=>n("initial"),250)},setError:m,setStep:n};return Je(ce.Provider,{value:g,children:t})};import Co from"color";import{useState as io}from"react";import{useState as Pt}from"react";import{jsx as fe}from"react/jsx-runtime";var Z=i=>{var n=i,{className:r,iconColor:e,ringColor:o,onClick:t}=n,s=Q(n,["className","iconColor","ringColor","onClick"]);let{setError:f}=S();return fe("button",B(D({className:T("absolute left-4 top-4 min-[480px]:!left-6 min-[480px]:!top-6 rounded-full opacity-70 ring-offset-background text-cm-text-primary transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-cm-accent focus:ring-offset-2 disabled:pointer-events-none",r),onClick:m=>{f(null),t==null||t(m)}},s),{children:fe(jt,{className:"w-6 h-6",style:{color:e}})}))};import{jsx as R,jsxs as it}from"react/jsx-runtime";var Xe=6;function ge({otpEmailData:r,setOtpEmailData:e}){var C,c,A,P,w,g,p,y,E,F,N,V,I,M,H,$,q,O,_,Nt;let{crossmintAuth:o}=K(),{appearance:t,setDialogOpen:s,setStep:i,setError:n}=S(),[f,m]=Pt(""),[u,a]=Pt(!1),[h,l]=Pt(!1),b=()=>v(this,null,function*(){var z,Ct;l(!0);try{let vt=yield o==null?void 0:o.confirmEmailOtp((z=r==null?void 0:r.email)!=null?z:"",(Ct=r==null?void 0:r.emailId)!=null?Ct:"",f);yield o==null?void 0:o.handleRefreshAuthMaterial(vt),s(!1,!0),i("initial")}catch(vt){console.error("Error confirming email OTP",vt),n("Invalid code. Please try again."),a(!0)}finally{l(!1)}}),d=()=>v(this,null,function*(){var z;try{yield o==null?void 0:o.sendEmailOtp((z=r==null?void 0:r.email)!=null?z:"")}catch(Ct){n("Failed to resend code. Please try again.")}});return it("div",{children:[R(Z,{onClick:()=>{i("initial"),e(null)},iconColor:(C=t==null?void 0:t.colors)==null?void 0:C.textPrimary,ringColor:(c=t==null?void 0:t.colors)==null?void 0:c.accent}),it("div",{className:"flex flex-col items-center justify-start w-full",children:[R("div",{className:"relative left-3",children:R(Gt,{customAccentColor:(A=t==null?void 0:t.colors)==null?void 0:A.accent,customButtonBackgroundColor:(P=t==null?void 0:t.colors)==null?void 0:P.buttonBackground,customBackgroundColor:(w=t==null?void 0:t.colors)==null?void 0:w.background})}),R("p",{className:"text-base font-normal mt-4 mb-1 text-center text-cm-text-primary",style:{color:(g=t==null?void 0:t.colors)==null?void 0:g.textPrimary},children:"Check your email"}),it("p",{className:"text-center text-cm-text-secondary px-4",style:{color:(p=t==null?void 0:t.colors)==null?void 0:p.textSecondary},children:["A temporary login code has been sent to"," ",r!=null&&r.email?r.email:"your email address"]}),R("div",{className:"py-8",children:R(Ht,{maxLength:Xe,value:f,onChange:z=>{m(z),a(!1),n(null)},onComplete:b,disabled:h,customStyles:{accent:(E=(y=t==null?void 0:t.colors)==null?void 0:y.accent)!=null?E:"#04AA6D",danger:(N=(F=t==null?void 0:t.colors)==null?void 0:F.danger)!=null?N:"#f44336",border:(I=(V=t==null?void 0:t.colors)==null?void 0:V.border)!=null?I:"#E5E7EB",textPrimary:(H=(M=t==null?void 0:t.colors)==null?void 0:M.textPrimary)!=null?H:"#909ca3",buttonBackground:(q=($=t==null?void 0:t.colors)==null?void 0:$.buttonBackground)!=null?q:"#eff6ff",inputBackground:(_=(O=t==null?void 0:t.colors)==null?void 0:O.inputBackground)!=null?_:"#FFFFFF",borderRadius:t==null?void 0:t.borderRadius},children:it(_t,{children:[R(J,{index:0,hasError:u}),R(J,{index:1,hasError:u}),R(J,{index:2,hasError:u}),R(J,{index:3,hasError:u}),R(J,{index:4,hasError:u}),R(J,{index:5,hasError:u})]})})}),R("div",{className:"text-xs leading-tight text-cm-text-secondary text-center",children:it("span",{style:{color:(Nt=t==null?void 0:t.colors)==null?void 0:Nt.textSecondary},children:["Can't find the email? Check spam folder.",`
2
- `,"Some emails may take several minutes to arrive."]})}),R(Vt,{initialSeconds:60,appearance:t,countdownText:z=>`Re-send code in ${z}s`,countdownCompleteText:"Re-send code",handleOnClick:d})]})]})}import{useState as Wt}from"react";import no from"color";import{isEmailValid as ht}from"@crossmint/common-sdk-auth";import{ChildWindow as Qe,PopupWindow as Ye}from"@crossmint/client-sdk-window";import{useEffect as Ze,useRef as to,useState as eo}from"react";import{z as yt}from"zod";var tt=r=>{let{crossmintAuth:e}=K(),{oauthUrlMap:o,setError:t}=S(),[s,i]=eo(!1),n=to(null);return Ze(()=>(n.current==null&&(n.current=new Qe(window.opener||window.parent,"*",{incomingEvents:oo})),()=>{n.current!=null&&n.current.off("authMaterialFromPopupCallback")}),[]),{createPopupAndSetupListeners:m=>v(void 0,null,function*(){if(n.current==null)throw new Error("Child window not initialized");i(!0),t(null);let u=new URL(o[r]);if(m!=null){let d=Array.from(u.searchParams.entries());u.search="",m&&u.searchParams.append("provider_login_hint",m),d.forEach(([x,C])=>{u.searchParams.append(x,C)})}let a=yield Ye.init(u.toString(),{awaitToLoad:!1,crossOrigin:!0,width:400,height:700}),h=d=>v(void 0,null,function*(){var x;yield e==null?void 0:e.handleRefreshAuthMaterial(d.oneTimeSecret),(x=n.current)==null||x.off("authMaterialFromPopupCallback"),a.window.close(),i(!1)}),l=d=>{var x;t(d.error),(x=n.current)==null||x.off("errorFromPopupCallback"),a.window.close(),i(!1)};n.current.on("authMaterialFromPopupCallback",h),n.current.on("errorFromPopupCallback",l);let b=setInterval(()=>{var d;a.window.closed&&(clearInterval(b),i(!1),(d=n.current)==null||d.off("authMaterialFromPopupCallback"))},2500)}),isLoading:s}},oo={authMaterialFromPopupCallback:yt.object({oneTimeSecret:yt.string()}),errorFromPopupCallback:yt.object({error:yt.string()})};import{jsx as At,jsxs as ro}from"react/jsx-runtime";function pe({emailInput:r,appearance:e}){var s,i,n,f;let{createPopupAndSetupListeners:o,isLoading:t}=tt("google");return ro("button",{type:"button",className:T("flex items-center gap-2 justify-center h-[32px] px-2.5 border border-cm-border rounded-xl bg-cm-background-primary","hover:bg-cm-hover focus:bg-cm-hover outline-none",t?"cursor-not-allowed hover:bg-cm-muted-primary":""),onClick:t?void 0:()=>o(r.trim().toLowerCase()),style:{backgroundColor:(s=e==null?void 0:e.colors)==null?void 0:s.buttonBackground,borderRadius:e==null?void 0:e.borderRadius},children:[At(gt,{className:"max-h-[18px] max-w-[18px] h-[18px] w-[18px]"}),t?At(G,{style:{color:(i=e==null?void 0:e.colors)==null?void 0:i.textSecondary,fill:(n=e==null?void 0:e.colors)==null?void 0:n.textPrimary,width:"18px",height:"18px"}}):At("span",{className:"text-cm-accent",style:{color:(f=e==null?void 0:e.colors)==null?void 0:f.accent},children:"Continue"})]})}import{Fragment as so,jsx as j,jsxs as kt}from"react/jsx-runtime";function ye({setOtpEmailData:r}){var d,x,C,c,A,P,w,g,p,y,E,F,N,V;let{crossmintAuth:e}=K(),{appearance:o,defaultEmail:t,setStep:s,setError:i}=S(),[n,f]=Wt(t!=null?t:""),[m,u]=Wt(""),[a,h]=Wt(!1),l=n.toLowerCase().includes("@gmail.com")&&!n.toLowerCase().includes("+")&&ht(n)&&!a;function b(I){return v(this,null,function*(){I.preventDefault(),h(!0);try{let M=n.trim().toLowerCase(),H=yield e==null?void 0:e.sendEmailOtp(M);r({email:M,emailId:H.emailId}),s("otp")}catch(M){h(!1),i("Failed to send email. Please try again or contact support.")}})}return j(so,{children:j("div",{className:"flex flex-col items-start justify-start w-full rounded-lg",children:kt("div",{className:"w-full",children:[j("label",{className:"text-cm-text-primary block mb-[5px]",style:{color:(d=o==null?void 0:o.colors)==null?void 0:d.textPrimary},children:"Email"}),kt("form",{role:"form",className:"relative",onSubmit:I=>{if(l){I.preventDefault();return}ht(n)?b(I):I.preventDefault()},noValidate:!0,children:[j("label",{htmlFor:"emailInput",className:"sr-only",children:"Email"}),j("input",{className:T("flex-grow text-cm-text-primary text-left pl-[16px] h-[58px] w-full border border-cm-border rounded-xl bg-cm-background-primary placeholder:text-md","transition-none duration-200 ease-in-out","focus:outline-none focus-ring-custom","placeholder:[color:var(--placeholder-color)]",m?"border-red-500":"",l?"pr-[132px]":"pr-[80px]"),style:{color:(x=o==null?void 0:o.colors)==null?void 0:x.textPrimary,borderRadius:o==null?void 0:o.borderRadius,borderColor:m?(C=o==null?void 0:o.colors)==null?void 0:C.danger:(c=o==null?void 0:o.colors)==null?void 0:c.border,backgroundColor:(A=o==null?void 0:o.colors)==null?void 0:A.inputBackground,"--placeholder-color":(w=(P=o==null?void 0:o.colors)==null?void 0:P.textSecondary)!=null?w:"#67797F","--focus-ring-color":new no((p=(g=o==null?void 0:o.colors)==null?void 0:g.accent)!=null?p:"#04AA6D").alpha(.18).toString()},type:"email",placeholder:"your@email.com",value:n,onChange:I=>{f(I.target.value),u(""),i(null)},readOnly:a,"aria-describedby":"emailError"}),kt("div",{className:"absolute inset-y-0 right-0 flex items-center pr-4",children:[m&&j(dt,{customColor:(y=o==null?void 0:o.colors)==null?void 0:y.danger}),a&&j(G,{style:{color:(E=o==null?void 0:o.colors)==null?void 0:E.textSecondary,fill:(F=o==null?void 0:o.colors)==null?void 0:F.textPrimary}}),l?j(pe,{emailInput:n,appearance:o}):!m&&!a?j("button",{type:"submit",className:T("font-medium text-cm-accent text-nowrap bg-cm-background-primary",ht(n)?"cursor-pointer":"!cursor-not-allowed opacity-60"),style:{color:(N=o==null?void 0:o.colors)==null?void 0:N.accent,backgroundColor:(V=o==null?void 0:o.colors)==null?void 0:V.inputBackground},disabled:!ht(n)||a,children:"Submit"}):null]})]}),m&&j("p",{className:"text-xs text-red-500 mb-2 pt-2",children:m})]})})})}import{jsx as he}from"react/jsx-runtime";function we(){let{step:r}=S(),[e,o]=io(null);return r==="otp"?he(ge,{otpEmailData:e,setOtpEmailData:o}):r==="initial"?he(ye,{setOtpEmailData:o}):null}import{jsx as Et,jsxs as lo}from"react/jsx-runtime";function xe({appearance:r,text:e}){var t,s,i;let{step:o}=S();return o!=="initial"?null:lo("div",{className:"flex items-center justify-center w-full pt-2 pb-3",children:[Et("span",{className:"w-full h-[1px] bg-cm-border",style:{backgroundColor:(t=r==null?void 0:r.colors)==null?void 0:t.border}}),e!=null?Et("p",{className:"flex-none px-2 text-sm text-cm-text-primary",style:{color:(s=r==null?void 0:r.colors)==null?void 0:s.textSecondary},children:e}):null,Et("span",{className:"w-full h-[1px] bg-cm-border",style:{backgroundColor:(i=r==null?void 0:r.colors)==null?void 0:i.border}})]})}import{Fragment as ao,jsx as wt,jsxs as be}from"react/jsx-runtime";function Ce(e){var r=Q(e,[]);var m,u,a,h;let{step:o,appearance:t,isLoadingOauthUrlMap:s}=S(),{createPopupAndSetupListeners:i,isLoading:n}=tt("google"),f=s||n;return o!=="initial"?null:be("button",B(D({className:T("relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center","transition-colors duration-200 ease-in-out","hover:bg-cm-hover focus:bg-cm-hover outline-none",f?"cursor-not-allowed hover:bg-cm-muted-primary":""),style:{borderRadius:t==null?void 0:t.borderRadius,backgroundColor:(m=t==null?void 0:t.colors)==null?void 0:m.buttonBackground},onClick:f?void 0:()=>i()},r),{children:[be(ao,{children:[wt(gt,{className:"max-h-[25px] max-w-[25px] h-[25px] w-[25px] absolute left-[18px]"}),f?wt(G,{style:{color:(u=t==null?void 0:t.colors)==null?void 0:u.textSecondary,fill:(a=t==null?void 0:t.colors)==null?void 0:a.textPrimary}}):wt("span",{className:"font-medium",style:{margin:"0px 32px",color:(h=t==null?void 0:t.colors)==null?void 0:h.textPrimary},children:"Sign in with Google"})]}),wt("span",{className:"sr-only",children:"Sign in with Google"})]}))}import{useEffect as Ot,useMemo as mo,useState as uo}from"react";import{useSignIn as co,QRCode as fo}from"@farcaster/auth-kit";import{Fragment as po,jsx as L,jsxs as lt}from"react/jsx-runtime";function ve(){var s,i;let{step:r,appearance:e,setStep:o,setError:t}=S();return r==="initial"?L("div",{children:lt("button",{className:T("relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center","transition-colors duration-200 ease-in-out","hover:bg-cm-hover focus:bg-cm-hover outline-none"),style:{borderRadius:e==null?void 0:e.borderRadius,backgroundColor:(s=e==null?void 0:e.colors)==null?void 0:s.buttonBackground},onClick:()=>{o("qrCode"),t(null)},children:[L($t,{className:"max-h-[25px] max-w-[25px] h-[25px] w-[25px] absolute left-[18px]"}),L("span",{className:"font-medium",style:{margin:"0px 32px",color:(i=e==null?void 0:e.colors)==null?void 0:i.textPrimary},children:"Sign in with Farcaster"}),L("span",{className:"sr-only",children:"Sign in with Farcaster"})]})}):r==="qrCode"?L(go,{}):null}function go(){var d,x,C,c,A,P,w,g,p;let{crossmintAuth:r}=K(),{appearance:e,setStep:o,setDialogOpen:t,setError:s}=S(),[i,n]=uo(null),f=mo(()=>({onSuccess:y=>{n(y)}}),[]),{signIn:m,url:u,connect:a,signOut:h,isConnected:l}=co(f),b=y=>v(this,null,function*(){s(null);try{let E=yield r==null?void 0:r.signInWithFarcaster(y);yield r==null?void 0:r.handleRefreshAuthMaterial(E),t(!1),o("initial")}catch(E){console.error("Error during Farcaster sign-in:",E),s("Failed to sign in with Farcaster")}});return Ot(()=>{i!=null&&b(i)},[i]),Ot(()=>{l&&m()},[l]),Ot(()=>{a()},[]),lt("div",{children:[L(Z,{onClick:()=>{h(),o("initial")},iconColor:(d=e==null?void 0:e.colors)==null?void 0:d.textPrimary,ringColor:(x=e==null?void 0:e.colors)==null?void 0:x.accent}),lt("div",{className:"flex flex-col items-center gap-4",children:[lt("div",{className:"text-center",children:[L("h3",{className:"text-lg font-semibold text-cm-text-primary mb-2",style:{color:(C=e==null?void 0:e.colors)==null?void 0:C.textPrimary},children:"Sign in with Farcaster"}),L("p",{className:"text-base font-normal text-cm-text-secondary",style:{color:(c=e==null?void 0:e.colors)==null?void 0:c.textSecondary},children:"Scan with your phone's camera to continue."})]}),L("div",{className:"bg-white aspect-square rounded-lg p-4",style:{backgroundColor:(A=e==null?void 0:e.colors)==null?void 0:A.inputBackground,borderRadius:e==null?void 0:e.borderRadius},children:u!=null?L(fo,{uri:u,size:280}):L("div",{className:"min-h-[246px] flex items-center justify-center",children:L(G,{style:{color:(P=e==null?void 0:e.colors)==null?void 0:P.textSecondary,fill:(w=e==null?void 0:e.colors)==null?void 0:w.textPrimary}})})}),u?lt(po,{children:[L("p",{className:"text-base text-center font-normal text-cm-text-secondary",style:{color:(g=e==null?void 0:e.colors)==null?void 0:g.textSecondary},children:"Alternatively, click on this link to open Warpcast."}),L("a",{href:u,rel:"noopener noreferrer",target:"_blank",className:"text-base font-normal text-cm-link",style:{color:(p=e==null?void 0:e.colors)==null?void 0:p.textLink},children:"Open Warpcast"})]}):null]})]})}import{Fragment as yo,jsx as xt,jsxs as Se}from"react/jsx-runtime";function Pe(e){var r=Q(e,[]);var m,u,a,h;let{step:o,appearance:t,isLoadingOauthUrlMap:s}=S(),{createPopupAndSetupListeners:i,isLoading:n}=tt("twitter"),f=s||n;return o!=="initial"?null:Se("button",B(D({className:T("relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center","transition-colors duration-200 ease-in-out","hover:bg-cm-hover focus:bg-cm-hover outline-none",f?"cursor-not-allowed hover:bg-cm-muted-primary":""),style:{borderRadius:t==null?void 0:t.borderRadius,backgroundColor:(m=t==null?void 0:t.colors)==null?void 0:m.buttonBackground},onClick:f?void 0:()=>i()},r),{children:[Se(yo,{children:[xt(Xt,{className:"max-h-[25px] max-w-[25px] h-[25px] w-[25px] absolute left-[18px]"}),f?xt(G,{style:{color:(u=t==null?void 0:t.colors)==null?void 0:u.textSecondary,fill:(a=t==null?void 0:t.colors)==null?void 0:a.textPrimary}}):xt("span",{className:"font-medium",style:{margin:"0px 32px",color:(h=t==null?void 0:t.colors)==null?void 0:h.textPrimary},children:"Sign in with X"})]}),xt("span",{className:"sr-only",children:"Sign in with X"})]}))}import{jsx as bt,jsxs as ho}from"react/jsx-runtime";function Ae(){var s,i,n,f,m;let{step:r,appearance:e,setStep:o,setError:t}=S();return r!=="initial"?null:ho("button",{className:T("relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center","transition-colors duration-200 ease-in-out","hover:bg-cm-hover focus:bg-cm-hover outline-none"),style:{borderRadius:e==null?void 0:e.borderRadius,borderColor:(s=e==null?void 0:e.colors)==null?void 0:s.border,backgroundColor:(i=e==null?void 0:e.colors)==null?void 0:i.buttonBackground},onClick:()=>{o("web3"),t(null)},children:[bt(Yt,{className:"h-[21px] w-[21px] absolute left-[20px]",style:{color:(n=e==null?void 0:e.colors)==null?void 0:n.textPrimary}}),bt("span",{className:"font-medium",style:{margin:"0px 32px",color:(f=e==null?void 0:e.colors)==null?void 0:f.textPrimary},children:"Continue with a wallet"}),bt(Qt,{className:"h-[21px] w-[21px] absolute right-[20px]",style:{color:(m=e==null?void 0:e.colors)==null?void 0:m.textSecondary}}),bt("span",{className:"sr-only",children:"Continue with a wallet"})]})}import{DynamicEmbeddedWidget as wo}from"@dynamic-labs/sdk-react-core";import{Fragment as xo,jsx as at,jsxs as bo}from"react/jsx-runtime";function We(){var t,s;let{appearance:r,step:e,setStep:o}=S();return e==="web3"?bo(xo,{children:[at(Z,{onClick:()=>o("initial"),iconColor:(t=r==null?void 0:r.colors)==null?void 0:t.textPrimary,ringColor:(s=r==null?void 0:r.colors)==null?void 0:s.accent}),at("div",{className:"flex flex-col items-center",children:at("div",{className:"flex flex-col gap-[10px] w-full",children:at("div",{className:"widget-container",children:at(wo,{background:"none"})})})})]}):null}import{jsx as ke}from"react/jsx-runtime";function Ee(){let{step:r}=S();return r.startsWith("web3")?ke(We,{}):r==="initial"?ke(Ae,{}):null}import{jsx as U,jsxs as mt}from"react/jsx-runtime";function Oe({className:r}){var m,u,a,h,l,b,d,x,C,c,A,P,w;let{step:e,appearance:o,loginMethods:t,baseUrl:s,error:i,termsOfServiceText:n,authModalTitle:f}=S();return mt("div",{className:T("relative pt-10 pb-[30px] px-6 !min-[480px]:px-10 flex flex-col gap-[10px] antialiased animate-none",r),children:[i!=null?mt("div",{className:"flex items-start justify-start w-full rounded-lg p-2 mt-4 bg-cm-danger-muted",style:{backgroundColor:new Co((u=(m=o==null?void 0:o.colors)==null?void 0:m.danger)!=null?u:"#f44336").alpha(.12).toString()},children:[U("div",{className:"min-w-[20px]",children:U(dt,{customColor:(h=(a=o==null?void 0:o.colors)==null?void 0:a.danger)!=null?h:"#f44336"})}),U("p",{className:"ml-2 text-sm",style:{color:(b=(l=o==null?void 0:o.colors)==null?void 0:l.danger)!=null?b:"#f44336"},children:i})]}):null,e==="initial"?mt("div",{children:[U("h1",{className:"text-2xl font-bold text-cm-text-primary",style:{color:(d=o==null?void 0:o.colors)==null?void 0:d.textPrimary},children:f!=null?f:"Sign in to Crossmint"}),U("p",{className:"text-base font-normal mb-3 text-cm-text-secondary",style:{color:(x=o==null?void 0:o.colors)==null?void 0:x.textSecondary},children:"Access using one of the options below."})]}):null,t.includes("google")?U(Ce,{}):null,t.includes("farcaster")?U(Jt,{baseUrl:s,children:U(ve,{})}):null,t.includes("twitter")?U(Pe,{}):null,t.some(g=>g.startsWith("web3"))?U(Ee,{}):null,t.includes("email")?mt("div",{children:[t.length>1?U(xe,{appearance:o,text:"OR"}):null,U(we,{})]}):null,e==="initial"&&n!=null?mt("div",{className:"text-sm text-center text-cm-text-secondary mt-2",style:{color:(C=o==null?void 0:o.colors)==null?void 0:C.textSecondary},children:[U("style",{children:`
3
- p a {
4
- color: ${(A=(c=o==null?void 0:o.colors)==null?void 0:c.textLink)!=null?A:"#1A74E9"};
5
- }
6
- `}),n]}):null,e==="initial"||e==="otp"?U(Rt,{className:"mt-1.5 md:mt-4 justify-center",color:(w=(P=o==null?void 0:o.colors)==null?void 0:P.textSecondary)!=null?w:"#67797F"}):null]})}import{useEffect as vo}from"react";import{jsx as et,jsxs as So}from"react/jsx-runtime";function Ft({open:r}){var t,s,i;let{appearance:e,setDialogOpen:o}=S();return vo(()=>{document.body.style.overflow=r?"hidden":""},[r]),et(Lt,{modal:!1,open:r,onOpenChange:o,children:So(Ut,{onInteractOutside:n=>n.preventDefault(),onOpenAutoFocus:n=>n.preventDefault(),closeButtonColor:(t=e==null?void 0:e.colors)==null?void 0:t.textPrimary,closeButtonRingColor:(s=e==null?void 0:e.colors)==null?void 0:s.accent,className:"!p-0 !min-[480px]:p-0",style:{borderRadius:e==null?void 0:e.borderRadius,backgroundColor:(i=e==null?void 0:e.colors)==null?void 0:i.background},children:[et(Fe,{asChild:!0,children:et(Mt,{children:"Crossmint Auth"})}),et(Fe,{asChild:!0,children:et(Dt,{children:"Sign in via Crossmint"})}),et(Oe,{className:"max-w-[448px]"})]})})}import Po from"bs58";import{EthereumWalletConnectors as Te}from"@dynamic-labs/ethereum";import{SolanaWalletConnectors as Ie}from"@dynamic-labs/solana";import{jsx as Ao}from"react/jsx-runtime";function Ne({children:r,apiKeyEnvironment:e,enabled:o}){var m,u;let{crossmintAuth:t}=K(),{appearance:s,loginMethods:i}=S(),n=o?[Te,Ie]:void 0;i.includes("web3:evm-only")?n=[Te]:i.includes("web3:solana-only")&&(n=[Ie]);let f=`.powered-by-dynamic { display: none !important; } .wallet-list__scroll-container { padding: 0px !important; } .wallet-list__search-container { padding-left: 0px !important; padding-right: 0px !important; } .dynamic-footer { display: none !important; } h1 { color: ${(m=s==null?void 0:s.colors)==null?void 0:m.textPrimary} !important; } * { color: ${(u=s==null?void 0:s.colors)==null?void 0:u.textSecondary} !important; }`;return Ao(Zt,{apiKeyEnvironment:e,settings:{walletConnectors:n,cssOverrides:f,events:{onWalletRemoved(){console.log("[CryptoWalletConnectionHandler] onWalletRemoved")},onAuthFlowCancel(){console.log("[CryptoWalletConnectionHandler] onAuthFlowCancel")},onAuthFlowClose(){console.log("[CryptoWalletConnectionHandler] onAuthFlowClose")},onAuthFailure(a,h){console.error("[CryptoWalletConnectionHandler] onAuthFailure",a,h)},onAuthSuccess(a){console.log("[CryptoWalletConnectionHandler] onAuthSuccess",a)}},handlers:{handleConnectedWallet:a=>v(this,null,function*(){var d;console.log("[CryptoWalletConnectionHandler] handleConnectedWallet",a);let h=a.address;if(!h)return console.error("[CryptoWalletConnectionHandler] handleConnectedWallet: address is missing"),!1;let b=(yield te(a))==="solana"?"solana":"evm";try{let x=yield t==null?void 0:t.signInWithSmartWallet(h,b),C=yield(d=a.connector)==null?void 0:d.proveOwnership(h,x.challenge),c=C;if(b==="solana"){let w=Buffer.from(C,"base64");c=Po.encode(w)}let P=(yield t==null?void 0:t.authenticateSmartWallet(h,b,c)).oneTimeSecret;yield t==null?void 0:t.handleRefreshAuthMaterial(P)}catch(x){console.error("[CryptoWalletConnectionHandler] Error authenticating wallet:",x)}return!0})}},children:r},`${e}-${i.join(",")}`)}import{jsx as ot,jsxs as Lo}from"react/jsx-runtime";var Io={crossmintAuth:void 0,login:()=>{},logout:()=>{},jwt:void 0,user:void 0,status:"initializing",getUser:()=>{}},st=Wo(Io),No={createOnLogin:"off",type:"evm-smart-wallet",experimental_enableRecoveryKeys:!1};function ui({embeddedWallets:r=No,children:e,appearance:o,termsOfServiceText:t,prefetchOAuthUrls:s=!0,authModalTitle:i,onLoginSuccess:n,loginMethods:f=["email","google"],refreshRoute:m,logoutRoute:u}){var q;let[a,h]=ut(void 0),{crossmint:l,setJwt:b}=Y("CrossmintAuthProvider must be used within CrossmintProvider"),d=ko(null),x=Re(()=>(d.current||(d.current=Eo.from(l,{callbacks:{onLogout:()=>{b(void 0),h(void 0)},onTokenRefresh:O=>{b(O.jwt),h(O.user)}},refreshRoute:m,logoutRoute:u})),d.current),[]),C=Fo(l.apiKey),[c,A]=ut(!1),[P,w]=ut(!1),[g,p]=ut(void 0),[y,E]=ut(!1),F=f.some(O=>O.startsWith("web3")),N=X(()=>{n==null||n()},[n]);Tt(()=>{if(l.jwt==null){let O=Oo(To);b(O)}w(!0)},[l.jwt,b]),Tt(()=>{l.jwt!=null&&c&&(A(!1),N())},[l.jwt,c,N]);let V=X(O=>{if(l.jwt!=null){console.log("User already logged in");return}O!=null&&typeof O=="string"&&p(O),A(!0)},[l.jwt]),I=X(()=>{x.logout()},[x]),M=X(()=>!P||F&&!y?"initializing":l.jwt!=null?"logged-in":c?"in-progress":"logged-out",[P,l.jwt,c,y,F]),H=X(()=>v(this,null,function*(){if(l.jwt==null){console.log("User not logged in");return}let O=yield x.getUser();h(O)}),[l.jwt,x]),$=Re(()=>({crossmintAuth:x,login:V,logout:I,jwt:l.jwt,user:a,status:M(),getUser:H}),[x,V,I,l.jwt,a,M,H]);return ot(ft,{children:ot(st.Provider,{value:$,children:ot(ae,{showPasskeyHelpers:r.showPasskeyHelpers,appearance:o,experimental_enableRecoveryKeys:(q=r.experimental_enableRecoveryKeys)!=null?q:!1,children:ot(de,{setDialogOpen:(O,_)=>{A(O),_&&N()},preFetchOAuthUrls:M()==="logged-out"&&s,initialState:{appearance:o,loginMethods:f,termsOfServiceText:t,authModalTitle:i,embeddedWallets:r,baseUrl:C,defaultEmail:g},children:Lo(Ne,{enabled:F,apiKeyEnvironment:l.apiKey.includes("production")?"production":"staging",children:[ot(Ro,{embeddedWallets:r,accessToken:l.jwt,setIsDynamicSdkLoaded:E,isWeb3Enabled:F}),e,ot(Ft,{open:c})]})})},l.jwt)})})}function Ro({embeddedWallets:r,accessToken:e,setIsDynamicSdkLoaded:o,isWeb3Enabled:t}){let{getOrCreateWallet:s,clearWallet:i,status:n}=me(),{sdkHasLoaded:f,getAdminSigner:m,cleanup:u,isDynamicWalletConnected:a}=oe(t,o,e),{createOnLogin:h,adminSigner:l,linkedUser:b}=r,d=h==="all-users"&&n==="not-loaded"&&e!=null&&f,x=X(()=>v(this,null,function*(){var P,w;if(!d)return;let c=l,A=r.type;if(a&&(c=(P=yield m())!=null?P:c,A=(w=ee(c==null?void 0:c.type))!=null?w:A),!a&&r.type==null){console.error("[CrossmintAuthProvider] \u26A0\uFE0F embeddedWallets.type is required when no external wallet is connected");return}s({type:A,args:{adminSigner:c,linkedUser:b}})}),[d,s,b,l,r.type,m]),C=X(()=>{e==null&&n==="loaded"&&i(),u()},[n,e,i,u]);return Tt(()=>{x(),C()},[x,C]),null}function Ci(){let r=Uo(st);if(r===void 0)throw new Error("useAuth must be used within an AuthProvider");return r}import{jsx as _o,jsxs as Go}from"react/jsx-runtime";var Ue={timeoutMs:1e4,intervalMs:5e3},Me=Mo(null);function se({children:r,setWalletState:e,appearance:o}){let{crossmint:{apiKey:t,jwt:s}}=Y(),i=Ko(()=>Vo.from({apiKey:t,jwt:s}),[t,s]),n=qt(),[f,m]=It(""),[u,a]=It("initial"),[h,l]=It(!1),b=Le(null),d=Le(null),x=w=>v(this,null,function*(){try{e({status:"in-progress"}),m(w.email);let y=(yield(yield fetch("https://staging.crossmint.com/api/unstable/wallets/ncs/doesnt-matter/public-key",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${s}`,"x-api-key":t},body:JSON.stringify({authId:`email:${w.email}`,signingAlgorithm:"EDDSA_ED25519"})})).json()).publicKey,E=Buffer.from(y,"base64"),F=ct.encode(E),N=yield P(F),V=B(D({},N),{sendTransaction:I=>v(this,null,function*(){return new Promise((M,H)=>{let $=()=>{l(!1),a("initial")},q=()=>v(this,null,function*(){$();try{let _=yield N.sendTransaction(I);M(_)}catch(_){H(_)}}),O=_=>{$(),H(_)};b.current=q,d.current=O,C(w.email).then(q).catch(O)})})});e({status:"loaded",wallet:V,type:"solana-smart-wallet"})}catch(g){throw console.error("There was an error creating a wallet ",g),e(rt(g)),g}});function C(w){return v(this,null,function*(){if(!n.current||s==null)throw new Error("[handleGetRecoverySigner] IFrame window not initialized or JWT not set");return new Promise((g,p)=>v(this,null,function*(){var y;try{let E=yield(y=n.current)==null?void 0:y.sendAction({event:"request:get-public-key",responseEvent:"response:get-public-key",data:{authData:{jwt:s,apiKey:t},data:{chainLayer:"solana"}}});if((E==null?void 0:E.status)==="success")return console.log("Signer already exists, skipping OTP flow"),g();b.current=()=>g(),d.current=F=>p(F),w!=null?yield c(w):(a("initial"),l(!0))}catch(E){console.error("Error getting recovery signer",E),p(E)}}))})}let c=w=>v(this,null,function*(){var g,p;if(!n.current||s==null)throw new Error("[handleSendEmailOTP] IFrame window not initialized or JWT not set");try{console.log("Creating Recovery Key");let y=yield(g=n.current)==null?void 0:g.sendAction({event:"request:create-signer",responseEvent:"response:create-signer",data:{authData:{jwt:s,apiKey:t},data:{chainLayer:"solana",authId:`email:${w}`}}});if(y.status==="error")throw new Error(y.error);if(y.status==="success"&&y.address!=null){console.log("Signer already exists, skipping OTP flow"),a("initial"),l(!1);return}console.log("Proceeding to OTP flow"),a("otp"),l(!0)}catch(y){throw console.error("Error in email submission:",y),(p=d.current)==null||p.call(d,y),y}}),A=w=>v(this,null,function*(){var g,p;if(!n.current||s==null)throw new Error("[handleOTPSubmit] IFrame window not initialized or JWT not set");try{let y=yield n.current.sendAction({event:"request:send-otp",responseEvent:"response:send-otp",data:{authData:{jwt:s,apiKey:t},data:{encryptedOtp:w,chainLayer:"solana"}}});if(y.status==="error")throw new Error(y.error);a("initial"),l(!1),(g=b.current)==null||g.call(b)}catch(y){throw console.error("Error in OTP submission:",y),(p=d.current)==null||p.call(d,y),y}});function P(w){return v(this,null,function*(){if(s==null)throw new Error("[getOrCreateSolanaWalletWithSigner] JWT not set!");try{return yield i.getOrCreateWallet("solana-smart-wallet",{adminSigner:{type:"solana-keypair",address:w,signer:{signMessage:g=>v(this,null,function*(){if(n.current==null)throw new Error("IFrame window not initialized");let p=yield n.current.sendAction({event:"request:sign-message",responseEvent:"response:sign-message",data:{authData:{jwt:s,apiKey:t},data:{message:ct.encode(g),chainLayer:"solana",encoding:"base58"}},options:Ue});if(p.status==="error")throw new Error(p.error);if(p.signature==null)throw new Error("Failed to sign message");return ct.decode(p.signature)}),signTransaction:g=>v(this,null,function*(){var y;console.log("Signing transaction...",g);let p=yield(y=n.current)==null?void 0:y.sendAction({event:"request:sign-transaction",responseEvent:"response:sign-transaction",data:{authData:{jwt:s,apiKey:t},data:{transaction:ct.encode(g.serialize()),chainLayer:"solana",encoding:"base58"}},options:Ue});if((p==null?void 0:p.status)==="error")throw new Error(p.error);if((p==null?void 0:p.signature)==null)throw new Error("Failed to sign transaction");return g.addSignature(new Ho(w),ct.decode(p.signature)),g})}}})}catch(g){throw console.error("Error creating wallet with signer:",g),e(rt(g)),g}})}return Bo(()=>{document.body.style.overflow=h?"hidden":""},[h]),Go(Me.Provider,{value:{experimental_getOrCreateWalletWithRecoveryKey:x},children:[_o(zt,{email:f,setEmail:m,open:h,setOpen:l,step:u,setStep:a,onSubmitOTP:A,onResendOTPCode:c,onSubmitEmail:c,appearance:o}),r]})}function ie({enabled:r=!0}={}){let e=Do(Me);if(!r)return{experimental_getOrCreateWalletWithRecoveryKey:()=>v(this,null,function*(){yield Promise.reject(new Error("useCrossmintSigner is disabled, please set 'experimental_enableRecoveryKeys' to true"))})};if(e===null)throw new Error("useCrossmintSigner must be used within a CrossmintSignerProvider");return e}export{Me as a,se as b,ie as c,St as d,ae as e,me as f,K as g,S as h,de as i,Z as j,Xe as k,ge as l,tt as m,pe as n,ye as o,we as p,xe as q,Ce as r,ve as s,Pe as t,Ae as u,We as v,Ee as w,Oe as x,Ft as y,Ne as z,st as A,ui as B,Ci as C};
@@ -1 +0,0 @@
1
- import{a as n,b as t,d as r}from"./chunk-PXDN3KFO.js";import{isEthereumWallet as y}from"@dynamic-labs/ethereum";import{useDynamicContext as S}from"@dynamic-labs/sdk-react-core";import{isSolanaWallet as C}from"@dynamic-labs/solana";import{useCallback as f,useEffect as W}from"react";function b(s,m,l){let{primaryWallet:e,sdkHasLoaded:g,removeWallet:o,handleUnlinkWallet:d}=S(),i=!s||g;W(()=>{s&&m(i)},[i,s]);let c=()=>r(this,null,function*(){if(!e)return null;try{if(y(e)){let a=yield e.getWalletClient();return t(n({},a),{address:a.account.address,signer:{type:"viem_v2",account:t(n({},a.account),{signMessage:p=>r(this,null,function*(){return yield a.signMessage({message:p.message})})})},type:"evm-keypair"})}if(C(e)){let a=yield e.getSigner();return t(n({},a),{address:e.address,signer:n({},a),type:"solana-keypair"})}return null}catch(a){return console.error("Failed to get admin signer",a),null}}),u=f(()=>{!l&&e&&(o(e.id),d(e.id))},[l,e,o,d]);return{sdkHasLoaded:i,getAdminSigner:c,cleanup:u,isDynamicWalletConnected:!!e}}export{b as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2WSEHVNPcjs = require('./chunk-2WSEHVNP.cjs');var _ethereum = require('@dynamic-labs/ethereum');var _sdkreactcore = require('@dynamic-labs/sdk-react-core');var _solana = require('@dynamic-labs/solana');var _react = require('react');function x(s,m,l){let{primaryWallet:e,sdkHasLoaded:g,removeWallet:o,handleUnlinkWallet:d}=_sdkreactcore.useDynamicContext.call(void 0, ),i=!s||g;_react.useEffect.call(void 0, ()=>{s&&m(i)},[i,s]);let c=()=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){if(!e)return null;try{if(_ethereum.isEthereumWallet.call(void 0, e)){let a=yield e.getWalletClient();return _chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {},a),{address:a.account.address,signer:{type:"viem_v2",account:_chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {},a.account),{signMessage:p=>_chunk2WSEHVNPcjs.d.call(void 0, this,null,function*(){return yield a.signMessage({message:p.message})})})},type:"evm-keypair"})}if(_solana.isSolanaWallet.call(void 0, e)){let a=yield e.getSigner();return _chunk2WSEHVNPcjs.b.call(void 0, _chunk2WSEHVNPcjs.a.call(void 0, {},a),{address:e.address,signer:_chunk2WSEHVNPcjs.a.call(void 0, {},a),type:"solana-keypair"})}return null}catch(a){return console.error("Failed to get admin signer",a),null}}),u=_react.useCallback.call(void 0, ()=>{!l&&e&&(o(e.id),d(e.id))},[l,e,o,d]);return{sdkHasLoaded:i,getAdminSigner:c,cleanup:u,isDynamicWalletConnected:!!e}}exports.a = x;