@crossmint/client-sdk-react-ui 1.10.4 → 1.10.6

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 (203) hide show
  1. package/dist/{chunk-CY2PXN5Y.cjs → chunk-3D7QOJVP.cjs} +3 -3
  2. package/dist/{chunk-6PCSAKDU.js → chunk-3LEJNXQ7.js} +2 -2
  3. package/dist/{chunk-6PCSAKDU.js.map → chunk-3LEJNXQ7.js.map} +1 -1
  4. package/dist/{chunk-KHZQYMF7.js → chunk-3SZJ67OS.js} +2 -2
  5. package/dist/chunk-54YISYPC.js +31 -0
  6. package/dist/chunk-54YISYPC.js.map +1 -0
  7. package/dist/{chunk-6NPGETRZ.cjs → chunk-5GHTVW5Q.cjs} +3 -3
  8. package/dist/chunk-6CPZDD6Y.js +29 -0
  9. package/dist/chunk-6CPZDD6Y.js.map +1 -0
  10. package/dist/{chunk-U5EONMPH.js → chunk-6FG6NL44.js} +4 -4
  11. package/dist/{chunk-X3RNS2B7.js → chunk-6RXJMBVF.js} +2 -2
  12. package/dist/{chunk-HQG5G5PG.js → chunk-B7RB7HT4.js} +2 -2
  13. package/dist/{chunk-EBMORHG3.cjs → chunk-C7VFXQ2G.cjs} +17 -252
  14. package/dist/chunk-C7VFXQ2G.cjs.map +1 -0
  15. package/dist/{chunk-EFT2TZG5.js → chunk-D2OKRE2Q.js} +2 -2
  16. package/dist/{chunk-FLWOWTHQ.cjs → chunk-DKAVLLP6.cjs} +3 -3
  17. package/dist/chunk-I2JDM7WL.cjs +81 -0
  18. package/dist/chunk-I2JDM7WL.cjs.map +1 -0
  19. package/dist/{chunk-NKOG6FTK.js → chunk-I7CLJXJR.js} +2 -2
  20. package/dist/chunk-KB5JOTFH.js +81 -0
  21. package/dist/chunk-KB5JOTFH.js.map +1 -0
  22. package/dist/chunk-LGY5FQOZ.cjs +29 -0
  23. package/dist/chunk-LGY5FQOZ.cjs.map +1 -0
  24. package/dist/{chunk-ITCHCRGX.cjs → chunk-MPRVUXM6.cjs} +2 -2
  25. package/dist/{chunk-ITCHCRGX.cjs.map → chunk-MPRVUXM6.cjs.map} +1 -1
  26. package/dist/{chunk-G526QBKQ.cjs → chunk-N4SZG3S7.cjs} +3 -3
  27. package/dist/{chunk-Q4BSNZSI.js → chunk-PEKX75WN.js} +2 -2
  28. package/dist/{chunk-T5WAVOPI.js → chunk-QTTQHZ7M.js} +55 -290
  29. package/dist/chunk-QTTQHZ7M.js.map +1 -0
  30. package/dist/chunk-RJZBV7LG.js +64 -0
  31. package/dist/chunk-RJZBV7LG.js.map +1 -0
  32. package/dist/chunk-RO53MWJE.cjs +31 -0
  33. package/dist/chunk-RO53MWJE.cjs.map +1 -0
  34. package/dist/{chunk-KAXBBO66.cjs → chunk-SBTNHVSD.cjs} +3 -3
  35. package/dist/{chunk-AQELE4DZ.cjs → chunk-TM3K5JAV.cjs} +3 -3
  36. package/dist/{chunk-RYB3MSFQ.cjs → chunk-UAA5ZXHF.cjs} +3 -3
  37. package/dist/{chunk-TK2JDIUN.cjs → chunk-UIJHPGDV.cjs} +3 -3
  38. package/dist/chunk-VD456OB7.cjs +64 -0
  39. package/dist/chunk-VD456OB7.cjs.map +1 -0
  40. package/dist/{chunk-KSDNMTQD.js → chunk-WLHVMKYD.js} +2 -2
  41. package/dist/{chunk-4DICVJSP.cjs → chunk-WPTTXLNL.cjs} +3 -3
  42. package/dist/{chunk-KCGRRFIF.js → chunk-WV5WYSUU.js} +2 -2
  43. package/dist/components/CrossmintNFTCollectionView.cjs +3 -3
  44. package/dist/components/CrossmintNFTCollectionView.js +2 -2
  45. package/dist/components/CrossmintNFTDetail.cjs +3 -3
  46. package/dist/components/CrossmintNFTDetail.js +2 -2
  47. package/dist/components/auth/AuthForm.cjs +5 -11
  48. package/dist/components/auth/AuthForm.js +4 -10
  49. package/dist/components/auth/AuthFormBackButton.cjs +5 -11
  50. package/dist/components/auth/AuthFormBackButton.js +4 -10
  51. package/dist/components/auth/AuthFormDialog.cjs +5 -11
  52. package/dist/components/auth/AuthFormDialog.js +4 -10
  53. package/dist/components/auth/EmbeddedAuthForm.cjs +6 -12
  54. package/dist/components/auth/EmbeddedAuthForm.js +5 -11
  55. package/dist/components/auth/methods/email/EmailAuthFlow.cjs +5 -11
  56. package/dist/components/auth/methods/email/EmailAuthFlow.js +4 -10
  57. package/dist/components/auth/methods/email/EmailOTPInput.cjs +5 -11
  58. package/dist/components/auth/methods/email/EmailOTPInput.js +4 -10
  59. package/dist/components/auth/methods/email/EmailSignIn.cjs +5 -11
  60. package/dist/components/auth/methods/email/EmailSignIn.js +4 -10
  61. package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs +5 -11
  62. package/dist/components/auth/methods/farcaster/FarcasterSignIn.js +4 -10
  63. package/dist/components/auth/methods/google/GoogleSignIn.cjs +5 -11
  64. package/dist/components/auth/methods/google/GoogleSignIn.js +4 -10
  65. package/dist/components/auth/methods/web3/Web3AuthFlow.cjs +43 -12
  66. package/dist/components/auth/methods/web3/Web3AuthFlow.cjs.map +1 -1
  67. package/dist/components/auth/methods/web3/Web3AuthFlow.d.cts +1 -1
  68. package/dist/components/auth/methods/web3/Web3AuthFlow.d.ts +1 -1
  69. package/dist/components/auth/methods/web3/Web3AuthFlow.js +43 -12
  70. package/dist/components/auth/methods/web3/Web3AuthFlow.js.map +1 -1
  71. package/dist/components/auth/methods/web3/Web3AuthFlowButton.cjs +8 -11
  72. package/dist/components/auth/methods/web3/Web3AuthFlowButton.js +7 -10
  73. package/dist/components/auth/methods/web3/Web3Connector.cjs +58 -4
  74. package/dist/components/auth/methods/web3/Web3Connector.cjs.map +1 -1
  75. package/dist/components/auth/methods/web3/Web3Connector.js +58 -4
  76. package/dist/components/auth/methods/web3/Web3Connector.js.map +1 -1
  77. package/dist/components/auth/methods/web3/Web3ConnectorButton.cjs +48 -4
  78. package/dist/components/auth/methods/web3/Web3ConnectorButton.cjs.map +1 -1
  79. package/dist/components/auth/methods/web3/Web3ConnectorButton.js +48 -4
  80. package/dist/components/auth/methods/web3/Web3ConnectorButton.js.map +1 -1
  81. package/dist/components/auth/methods/web3/Web3Connectors.cjs +6 -11
  82. package/dist/components/auth/methods/web3/Web3Connectors.js +5 -10
  83. package/dist/components/common/Divider.cjs +5 -11
  84. package/dist/components/common/Divider.js +4 -10
  85. package/dist/components/embed/index.cjs +4 -4
  86. package/dist/components/embed/index.js +3 -3
  87. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs +7 -13
  88. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +6 -12
  89. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs +6 -12
  90. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js +5 -11
  91. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs +4 -22
  92. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs.map +1 -1
  93. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js +3 -21
  94. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js.map +1 -1
  95. package/dist/components/embed/v3/index.cjs +7 -13
  96. package/dist/components/embed/v3/index.js +6 -12
  97. package/dist/components/hosted/CrossmintPayButton.cjs +3 -3
  98. package/dist/components/hosted/CrossmintPayButton.js +2 -2
  99. package/dist/components/hosted/index.cjs +3 -3
  100. package/dist/components/hosted/index.js +2 -2
  101. package/dist/components/index.cjs +15 -21
  102. package/dist/components/index.js +14 -20
  103. package/dist/consts/version.cjs +2 -2
  104. package/dist/consts/version.js +1 -1
  105. package/dist/hooks/index.cjs +5 -11
  106. package/dist/hooks/index.js +4 -10
  107. package/dist/hooks/useAuth.cjs +5 -11
  108. package/dist/hooks/useAuth.js +4 -10
  109. package/dist/hooks/useCrossmintAuth.cjs +5 -11
  110. package/dist/hooks/useCrossmintAuth.js +4 -10
  111. package/dist/hooks/useCrossmintCheckout.cjs +4 -4
  112. package/dist/hooks/useCrossmintCheckout.js +3 -3
  113. package/dist/hooks/useOAuthWindowListener.cjs +5 -11
  114. package/dist/hooks/useOAuthWindowListener.js +4 -10
  115. package/dist/hooks/useWallet.cjs +5 -11
  116. package/dist/hooks/useWallet.js +4 -10
  117. package/dist/icons/base64Icons.cjs +6 -6
  118. package/dist/icons/base64Icons.cjs.map +1 -1
  119. package/dist/icons/base64Icons.js +5 -5
  120. package/dist/icons/base64Icons.js.map +1 -1
  121. package/dist/index.cjs +15 -21
  122. package/dist/index.cjs.map +1 -1
  123. package/dist/index.js +14 -20
  124. package/dist/index.js.map +1 -1
  125. package/dist/providers/CrossmintAuthProvider.cjs +5 -11
  126. package/dist/providers/CrossmintAuthProvider.js +4 -10
  127. package/dist/providers/CrossmintWalletProvider.cjs +5 -11
  128. package/dist/providers/CrossmintWalletProvider.js +4 -10
  129. package/dist/providers/auth/AuthFormProvider.cjs +5 -11
  130. package/dist/providers/auth/AuthFormProvider.js +4 -10
  131. package/dist/providers/auth/web3/DynamicWeb3WalletConnect.cjs +33 -0
  132. package/dist/providers/auth/web3/DynamicWeb3WalletConnect.d.cts +10 -0
  133. package/dist/providers/auth/web3/DynamicWeb3WalletConnect.d.ts +10 -0
  134. package/dist/providers/auth/web3/DynamicWeb3WalletConnect.js +33 -0
  135. package/dist/providers/index.cjs +5 -11
  136. package/dist/providers/index.js +4 -10
  137. package/dist/utils/createCrossmintApiClient.cjs +3 -3
  138. package/dist/utils/createCrossmintApiClient.js +2 -2
  139. package/dist/utils/dynamic/dynamicChainToCrossmintChain.cjs +8 -0
  140. package/dist/utils/dynamic/dynamicChainToCrossmintChain.d.cts +6 -0
  141. package/dist/utils/dynamic/dynamicChainToCrossmintChain.d.ts +6 -0
  142. package/dist/utils/dynamic/dynamicChainToCrossmintChain.js +8 -0
  143. package/package.json +5 -8
  144. package/src/components/auth/AuthForm.tsx +9 -2
  145. package/src/components/auth/methods/web3/Web3AuthFlow.tsx +18 -0
  146. package/src/components/auth/methods/web3/Web3Connectors.tsx +5 -72
  147. package/src/components/embed/v3/crypto/CryptoWalletConnectionHandler.tsx +3 -24
  148. package/src/providers/CrossmintAuthProvider.test.tsx +0 -4
  149. package/src/providers/CrossmintWalletProvider.test.tsx +0 -6
  150. package/src/providers/auth/AuthFormProvider.test.tsx +0 -5
  151. package/src/providers/auth/AuthFormProvider.tsx +1 -6
  152. package/src/providers/auth/web3/DynamicWeb3WalletConnect.tsx +73 -0
  153. package/src/utils/dynamic/dynamicChainToCrossmintChain.ts +20 -0
  154. package/dist/chunk-5S4VO6RB.cjs +0 -55
  155. package/dist/chunk-5S4VO6RB.cjs.map +0 -1
  156. package/dist/chunk-EBMORHG3.cjs.map +0 -1
  157. package/dist/chunk-HSLAH2PN.cjs +0 -54
  158. package/dist/chunk-HSLAH2PN.cjs.map +0 -1
  159. package/dist/chunk-NFWMF6T7.js +0 -54
  160. package/dist/chunk-NFWMF6T7.js.map +0 -1
  161. package/dist/chunk-OZS4WEKF.js +0 -55
  162. package/dist/chunk-OZS4WEKF.js.map +0 -1
  163. package/dist/chunk-Q3UM7UCM.cjs +0 -64
  164. package/dist/chunk-Q3UM7UCM.cjs.map +0 -1
  165. package/dist/chunk-QFQWKKVU.js +0 -11
  166. package/dist/chunk-QFQWKKVU.js.map +0 -1
  167. package/dist/chunk-QK5J7FD3.cjs +0 -11
  168. package/dist/chunk-QK5J7FD3.cjs.map +0 -1
  169. package/dist/chunk-T5WAVOPI.js.map +0 -1
  170. package/dist/chunk-ZSWTJ6E7.js +0 -64
  171. package/dist/chunk-ZSWTJ6E7.js.map +0 -1
  172. package/dist/components/auth/methods/web3/Web3ConnectorContainer.cjs +0 -36
  173. package/dist/components/auth/methods/web3/Web3ConnectorContainer.d.cts +0 -10
  174. package/dist/components/auth/methods/web3/Web3ConnectorContainer.d.ts +0 -10
  175. package/dist/components/auth/methods/web3/Web3ConnectorContainer.js +0 -36
  176. package/dist/providers/auth/web3/WagmiAuthProvider.cjs +0 -8
  177. package/dist/providers/auth/web3/WagmiAuthProvider.d.cts +0 -8
  178. package/dist/providers/auth/web3/WagmiAuthProvider.d.ts +0 -8
  179. package/dist/providers/auth/web3/WagmiAuthProvider.js +0 -8
  180. package/src/components/auth/methods/web3/Web3ConnectorContainer.tsx +0 -87
  181. package/src/providers/auth/web3/WagmiAuthProvider.tsx +0 -56
  182. /package/dist/{chunk-CY2PXN5Y.cjs.map → chunk-3D7QOJVP.cjs.map} +0 -0
  183. /package/dist/{chunk-KHZQYMF7.js.map → chunk-3SZJ67OS.js.map} +0 -0
  184. /package/dist/{chunk-6NPGETRZ.cjs.map → chunk-5GHTVW5Q.cjs.map} +0 -0
  185. /package/dist/{chunk-U5EONMPH.js.map → chunk-6FG6NL44.js.map} +0 -0
  186. /package/dist/{chunk-X3RNS2B7.js.map → chunk-6RXJMBVF.js.map} +0 -0
  187. /package/dist/{chunk-HQG5G5PG.js.map → chunk-B7RB7HT4.js.map} +0 -0
  188. /package/dist/{chunk-EFT2TZG5.js.map → chunk-D2OKRE2Q.js.map} +0 -0
  189. /package/dist/{chunk-FLWOWTHQ.cjs.map → chunk-DKAVLLP6.cjs.map} +0 -0
  190. /package/dist/{chunk-NKOG6FTK.js.map → chunk-I7CLJXJR.js.map} +0 -0
  191. /package/dist/{chunk-G526QBKQ.cjs.map → chunk-N4SZG3S7.cjs.map} +0 -0
  192. /package/dist/{chunk-Q4BSNZSI.js.map → chunk-PEKX75WN.js.map} +0 -0
  193. /package/dist/{chunk-KAXBBO66.cjs.map → chunk-SBTNHVSD.cjs.map} +0 -0
  194. /package/dist/{chunk-AQELE4DZ.cjs.map → chunk-TM3K5JAV.cjs.map} +0 -0
  195. /package/dist/{chunk-RYB3MSFQ.cjs.map → chunk-UAA5ZXHF.cjs.map} +0 -0
  196. /package/dist/{chunk-TK2JDIUN.cjs.map → chunk-UIJHPGDV.cjs.map} +0 -0
  197. /package/dist/{chunk-KSDNMTQD.js.map → chunk-WLHVMKYD.js.map} +0 -0
  198. /package/dist/{chunk-4DICVJSP.cjs.map → chunk-WPTTXLNL.cjs.map} +0 -0
  199. /package/dist/{chunk-KCGRRFIF.js.map → chunk-WV5WYSUU.js.map} +0 -0
  200. /package/dist/{components/auth/methods/web3/Web3ConnectorContainer.cjs.map → providers/auth/web3/DynamicWeb3WalletConnect.cjs.map} +0 -0
  201. /package/dist/{components/auth/methods/web3/Web3ConnectorContainer.js.map → providers/auth/web3/DynamicWeb3WalletConnect.js.map} +0 -0
  202. /package/dist/{providers/auth/web3/WagmiAuthProvider.cjs.map → utils/dynamic/dynamicChainToCrossmintChain.cjs.map} +0 -0
  203. /package/dist/{providers/auth/web3/WagmiAuthProvider.js.map → utils/dynamic/dynamicChainToCrossmintChain.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/providers/CrossmintWalletProvider.tsx","../src/hooks/useWallet.ts","../src/hooks/useAuth.ts","../src/providers/CrossmintAuthProvider.tsx","../src/components/auth/AuthFormDialog.tsx","../src/providers/auth/AuthFormProvider.tsx","../src/hooks/useCrossmintAuth.ts","../src/components/auth/methods/email/EmailAuthFlow.tsx","../src/components/auth/methods/email/EmailOTPInput.tsx","../src/components/auth/AuthFormBackButton.tsx","../src/components/auth/methods/email/EmailSignIn.tsx","../src/components/common/Divider.tsx","../src/hooks/useOAuthWindowListener.ts","../src/components/auth/methods/google/GoogleSignIn.tsx","../src/components/auth/methods/farcaster/FarcasterSignIn.tsx","../src/components/auth/methods/web3/Web3AuthFlowButton.tsx","../src/components/auth/methods/web3/Web3ConnectorContainer.tsx","../src/components/auth/methods/web3/Web3Connectors.tsx","../src/components/auth/methods/web3/Web3AuthFlow.tsx","../src/components/auth/AuthForm.tsx"],"names":["createContext","useMemo","useState","useContext","useEffect","useRef","oauthUrlMap","error","jsx","_a","_b","jsxs","_e","Fragment","useAccount","Color","user"],"mappings":"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","sourcesContent":["import { type ReactNode, createContext, useMemo, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n type EVMSmartWallet,\n type EVMSmartWalletChain,\n SmartWalletError,\n SmartWalletSDK,\n type WalletParams,\n type PasskeySigner,\n} from \"@crossmint/client-sdk-smart-wallet\";\n\nimport { useCrossmint } from \"../hooks\";\nimport type { UIConfig } from \"@crossmint/common-sdk-base\";\nimport { PasskeyPrompt } from \"@/components/auth/PasskeyPrompt\";\n\ntype WalletStatus = \"not-loaded\" | \"in-progress\" | \"loaded\" | \"loading-error\";\n\ntype ValidPasskeyPromptType =\n | \"create-wallet\"\n | \"transaction\"\n | \"not-supported\"\n | \"create-wallet-error\"\n | \"transaction-error\";\ntype PasskeyPromptState =\n | {\n type: ValidPasskeyPromptType;\n open: true;\n primaryActionOnClick: () => void;\n secondaryActionOnClick?: () => void;\n }\n | { open: false };\n\ntype ValidWalletState =\n | { status: \"not-loaded\" | \"in-progress\" }\n | { status: \"loaded\"; wallet: EVMSmartWallet }\n | { status: \"loading-error\"; error: SmartWalletError };\n\ntype WalletContext = {\n status: WalletStatus;\n wallet?: EVMSmartWallet;\n error?: SmartWalletError;\n getOrCreateWallet: (\n config?: Pick<WalletConfig, \"signer\" | \"type\">\n ) => Promise<{ startedCreation: boolean; reason?: string }>;\n clearWallet: () => void;\n};\n\nexport const WalletContext = createContext<WalletContext>({\n status: \"not-loaded\",\n getOrCreateWallet: () => Promise.resolve({ startedCreation: false }),\n clearWallet: () => {},\n});\n\nexport type WalletConfig = WalletParams & { type: \"evm-smart-wallet\" };\n\nexport function CrossmintWalletProvider({\n children,\n defaultChain,\n showPasskeyHelpers = true, // enabled by default\n appearance,\n}: {\n children: ReactNode;\n defaultChain: EVMSmartWalletChain;\n showPasskeyHelpers?: boolean;\n appearance?: UIConfig;\n}) {\n const { crossmint } = useCrossmint(\"CrossmintWalletProvider must be used within CrossmintProvider\");\n const smartWalletSDK = useMemo(() => SmartWalletSDK.init({ clientApiKey: crossmint.apiKey }), [crossmint.apiKey]);\n\n const [walletState, setWalletState] = useState<ValidWalletState>({ status: \"not-loaded\" });\n const [passkeyPromptState, setPasskeyPromptState] = useState<PasskeyPromptState>({ open: false });\n\n const getOrCreateWallet = async (\n config: WalletConfig = { type: \"evm-smart-wallet\", signer: { type: \"PASSKEY\" } }\n ) => {\n if (walletState.status == \"in-progress\") {\n console.log(\"Wallet already loading\");\n return { startedCreation: false, reason: \"Wallet is already loading.\" };\n }\n\n if (crossmint.jwt == null) {\n return { startedCreation: false, reason: `Jwt not set in \"CrossmintProvider\".` };\n }\n\n try {\n setWalletState({ status: \"in-progress\" });\n const wallet = await smartWalletSDK.getOrCreateWallet(\n { jwt: crossmint.jwt as string },\n defaultChain,\n enhanceConfigWithPasskeyPrompts(config)\n );\n setWalletState({ status: \"loaded\", wallet });\n } catch (error: unknown) {\n console.error(\"There was an error creating a wallet \", error);\n setWalletState(deriveErrorState(error));\n }\n return { startedCreation: true };\n };\n\n const enhanceConfigWithPasskeyPrompts = (config: WalletConfig) => {\n if (showPasskeyHelpers && (config.signer as PasskeySigner).type === \"PASSKEY\") {\n return {\n ...config,\n signer: {\n ...config.signer,\n onPrePasskeyRegistration: createPasskeyPrompt(\"create-wallet\"),\n onPasskeyRegistrationError: createPasskeyPrompt(\"create-wallet-error\"),\n onFirstTimePasskeySigning: createPasskeyPrompt(\"transaction\"),\n onFirstTimePasskeySigningError: createPasskeyPrompt(\"transaction-error\"),\n },\n };\n }\n return config;\n };\n\n const createPasskeyPrompt = (type: ValidPasskeyPromptType) => () =>\n new Promise<void>((resolve) => {\n setPasskeyPromptState({\n type,\n open: true,\n primaryActionOnClick: () => {\n setPasskeyPromptState({ open: false });\n resolve();\n },\n secondaryActionOnClick: () => {\n setPasskeyPromptState({ open: false });\n resolve();\n },\n });\n });\n\n const clearWallet = () => {\n setWalletState({ status: \"not-loaded\" });\n };\n\n return (\n <WalletContext.Provider value={{ ...walletState, getOrCreateWallet, clearWallet }}>\n {children}\n {passkeyPromptState.open\n ? createPortal(<PasskeyPrompt state={passkeyPromptState} appearance={appearance} />, document.body)\n : null}\n </WalletContext.Provider>\n );\n}\n\nfunction deriveErrorState(error: unknown): { status: \"loading-error\"; error: SmartWalletError } {\n if (error instanceof SmartWalletError) {\n return { status: \"loading-error\", error };\n }\n\n const message = error instanceof Error ? error.message : String(error);\n const stack = error instanceof Error ? error.stack : undefined;\n return { status: \"loading-error\", error: new SmartWalletError(`Unknown Wallet Error: ${message}`, stack) };\n}\n","import { useContext } from \"react\";\n\nimport { WalletContext } from \"../providers/CrossmintWalletProvider\";\n\nexport function useWallet() {\n const walletContext = useContext(WalletContext);\n\n if (!walletContext) {\n throw new Error(\"useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider\");\n }\n\n return walletContext;\n}\n","import { useContext } from \"react\";\n\nimport { AuthContext, type AuthContextType } from \"../providers\";\n\nexport function useAuth(): AuthContextType {\n const context = useContext(AuthContext);\n if (context === undefined) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return context;\n}\n","import { type ReactNode, createContext, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { CrossmintAuth, getCookie } from \"@crossmint/client-sdk-auth\";\nimport type { EVMSmartWalletChain } from \"@crossmint/client-sdk-smart-wallet\";\nimport { type UIConfig, validateApiKeyAndGetCrossmintBaseUrl } from \"@crossmint/common-sdk-base\";\nimport { type AuthMaterialWithUser, SESSION_PREFIX, type SDKExternalUser } from \"@crossmint/common-sdk-auth\";\n\nimport AuthFormDialog from \"../components/auth/AuthFormDialog\";\nimport { useCrossmint, useWallet } from \"../hooks\";\nimport { CrossmintWalletProvider } from \"./CrossmintWalletProvider\";\nimport { AuthFormProvider } from \"./auth/AuthFormProvider\";\nimport { TwindProvider } from \"./TwindProvider\";\n\nexport type CrossmintAuthWalletConfig = {\n defaultChain: EVMSmartWalletChain;\n createOnLogin: \"all-users\" | \"off\";\n type: \"evm-smart-wallet\";\n showPasskeyHelpers?: boolean;\n};\n\nexport type LoginMethod = \"email\" | \"google\" | \"farcaster\" | \"web3\";\n\nexport type CrossmintAuthProviderProps = {\n embeddedWallets?: CrossmintAuthWalletConfig;\n appearance?: UIConfig;\n children: ReactNode;\n loginMethods?: LoginMethod[];\n refreshRoute?: string;\n logoutRoute?: string;\n};\n\ntype AuthStatus = \"logged-in\" | \"logged-out\" | \"in-progress\";\n\nexport interface AuthContextType {\n crossmintAuth?: CrossmintAuth;\n login: () => void;\n logout: () => void;\n jwt?: string;\n user?: SDKExternalUser;\n status: AuthStatus;\n getUser: () => void;\n}\n\nconst defaultContextValue: AuthContextType = {\n crossmintAuth: undefined,\n login: () => {},\n logout: () => {},\n jwt: undefined,\n user: undefined,\n status: \"logged-out\",\n getUser: () => {},\n};\n\nexport const AuthContext = createContext<AuthContextType>(defaultContextValue);\n\nconst defaultEmbeddedWallets: CrossmintAuthWalletConfig = {\n defaultChain: \"base-sepolia\",\n createOnLogin: \"off\",\n type: \"evm-smart-wallet\",\n};\n\nexport function CrossmintAuthProvider({\n embeddedWallets = defaultEmbeddedWallets,\n children,\n appearance,\n loginMethods = [\"email\", \"google\"],\n refreshRoute,\n logoutRoute,\n}: CrossmintAuthProviderProps) {\n const [user, setUser] = useState<SDKExternalUser | undefined>(undefined);\n const { crossmint, setJwt } = useCrossmint(\"CrossmintAuthProvider must be used within CrossmintProvider\");\n // Only create the CrossmintAuth instance once, even in StrictMode, as the constructor calls /refresh\n // It can only be called once to avoid race conditions\n const crossmintAuthRef = useRef<CrossmintAuth | null>(null);\n // biome-ignore lint/correctness/useExhaustiveDependencies: crossmint can't be a dependency because it updates with each jwt change\n const crossmintAuth = useMemo(() => {\n if (!crossmintAuthRef.current) {\n crossmintAuthRef.current = CrossmintAuth.from(crossmint, {\n callbacks: {\n onLogout: () => {\n setJwt(undefined);\n setUser(undefined);\n },\n onTokenRefresh: (authMaterial: AuthMaterialWithUser) => {\n setJwt(authMaterial.jwt);\n setUser(authMaterial.user);\n },\n },\n refreshRoute,\n logoutRoute,\n });\n }\n return crossmintAuthRef.current;\n }, []);\n\n const crossmintBaseUrl = validateApiKeyAndGetCrossmintBaseUrl(crossmint.apiKey);\n const [dialogOpen, setDialogOpen] = useState(false);\n\n useEffect(() => {\n if (crossmint.jwt == null) {\n const jwt = getCookie(SESSION_PREFIX);\n setJwt(jwt);\n }\n }, []);\n\n useEffect(() => {\n if (crossmint.jwt == null) {\n return;\n }\n\n setDialogOpen(false);\n }, [crossmint.jwt]);\n\n const login = () => {\n if (crossmint.jwt != null) {\n console.log(\"User already logged in\");\n return;\n }\n\n setDialogOpen(true);\n };\n\n const logout = () => {\n crossmintAuth.logout();\n };\n\n const getAuthStatus = (): AuthStatus => {\n if (crossmint.jwt != null) {\n return \"logged-in\";\n }\n if (dialogOpen) {\n return \"in-progress\";\n }\n return \"logged-out\";\n };\n\n const getUser = async () => {\n if (crossmint.jwt == null) {\n console.log(\"User not logged in\");\n return;\n }\n\n const user = await crossmintAuth.getUser();\n setUser(user);\n };\n\n return (\n <TwindProvider>\n <AuthContext.Provider\n value={{\n crossmintAuth,\n login,\n logout,\n jwt: crossmint.jwt,\n user,\n status: getAuthStatus(),\n getUser,\n }}\n >\n <CrossmintWalletProvider\n defaultChain={embeddedWallets.defaultChain}\n showPasskeyHelpers={embeddedWallets.showPasskeyHelpers}\n appearance={appearance}\n >\n <AuthFormProvider\n initialState={{\n appearance,\n setDialogOpen,\n loginMethods,\n embeddedWallets,\n baseUrl: crossmintBaseUrl,\n }}\n >\n <WalletManager embeddedWallets={embeddedWallets} accessToken={crossmint.jwt}>\n {children}\n </WalletManager>\n\n <AuthFormDialog open={dialogOpen} />\n </AuthFormProvider>\n </CrossmintWalletProvider>\n </AuthContext.Provider>\n </TwindProvider>\n );\n}\n\nfunction WalletManager({\n embeddedWallets,\n children,\n accessToken,\n}: {\n embeddedWallets: CrossmintAuthWalletConfig;\n children: ReactNode;\n accessToken: string | undefined;\n}) {\n const { getOrCreateWallet, clearWallet, status } = useWallet();\n\n useEffect(() => {\n if (embeddedWallets.createOnLogin === \"all-users\" && status === \"not-loaded\" && accessToken != null) {\n getOrCreateWallet({\n type: embeddedWallets.type,\n signer: { type: \"PASSKEY\" },\n });\n }\n\n if (status === \"loaded\" && accessToken == null) {\n clearWallet();\n }\n }, [accessToken, status]);\n\n return <>{children}</>;\n}\n","import { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { AuthForm } from \"./AuthForm\";\nimport { Dialog, DialogContent, DialogDescription, DialogTitle } from \"../common/Dialog\";\nimport { useEffect } from \"react\";\n\nexport default function AuthFormDialog({ open }: { open: boolean }) {\n const { appearance, setDialogOpen } = useAuthForm();\n\n useEffect(() => {\n document.body.style.overflow = open ? \"hidden\" : \"\";\n }, [open]);\n\n return (\n <Dialog modal={false} open={open} onOpenChange={setDialogOpen}>\n <DialogContent\n onInteractOutside={(e) => e.preventDefault()}\n onOpenAutoFocus={(e) => e.preventDefault()}\n closeButtonColor={appearance?.colors?.textPrimary}\n closeButtonRingColor={appearance?.colors?.accent}\n className=\"cm-responsive-border-radius-auth-dialog !p-0 !min-[480px]:p-0\"\n style={{\n borderRadius: appearance?.borderRadius,\n backgroundColor: appearance?.colors?.background,\n }}\n >\n <VisuallyHidden asChild>\n <DialogTitle>Crossmint Auth</DialogTitle>\n </VisuallyHidden>\n <VisuallyHidden asChild>\n <DialogDescription>Sign in via Crossmint</DialogDescription>\n </VisuallyHidden>\n\n <AuthForm className=\"max-w-[448px]\" />\n </DialogContent>\n </Dialog>\n );\n}\n","import { createContext, useCallback, useContext, useEffect, useState, type ReactNode } from \"react\";\nimport type { OAuthProvider } from \"@crossmint/common-sdk-auth\";\nimport type { UIConfig } from \"@crossmint/common-sdk-base\";\nimport type { CrossmintAuthWalletConfig, LoginMethod } from \"../CrossmintAuthProvider\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\nimport { WagmiAuthProvider } from \"./web3/WagmiAuthProvider\";\n\ntype AuthStep = \"initial\" | \"otp\" | \"qrCode\" | \"web3\" | \"web3/metamask\" | \"web3/walletconnect\";\n\ntype OAuthUrlMap = Record<OAuthProvider, string>;\nconst initialOAuthUrlMap: OAuthUrlMap = {\n google: \"\",\n // Farcaster is not included here as it uses a different authentication method\n};\ninterface AuthFormContextType {\n step: AuthStep;\n error: string | null;\n appearance?: UIConfig;\n loginMethods: LoginMethod[];\n oauthUrlMap: OAuthUrlMap;\n isLoadingOauthUrlMap: boolean;\n baseUrl: string;\n setStep: (step: AuthStep) => void;\n setError: (error: string | null) => void;\n setDialogOpen: (open: boolean) => void;\n}\n\ntype ContextInitialStateProps = {\n appearance?: UIConfig;\n loginMethods: LoginMethod[];\n baseUrl: string;\n setDialogOpen?: (open: boolean) => void;\n embeddedWallets: CrossmintAuthWalletConfig;\n};\n\nconst AuthFormContext = createContext<AuthFormContextType | undefined>(undefined);\n\nexport const useAuthForm = () => {\n const context = useContext(AuthFormContext);\n if (!context) {\n throw new Error(\"useAuthForm must be used within an AuthFormProvider\");\n }\n return context;\n};\n\nexport const AuthFormProvider = ({\n children,\n initialState,\n}: { children: ReactNode; initialState: ContextInitialStateProps }) => {\n const { crossmintAuth } = useCrossmintAuth();\n const [step, setStep] = useState<AuthStep>(\"initial\");\n const [error, setError] = useState<string | null>(null);\n const [oauthUrlMap, setOauthUrlMap] = useState<OAuthUrlMap>(initialOAuthUrlMap);\n const [isLoadingOauthUrlMap, setIsLoadingOauthUrlMap] = useState(true);\n\n const { loginMethods, baseUrl, setDialogOpen, appearance, embeddedWallets } = initialState;\n\n if (loginMethods.includes(\"web3\") && embeddedWallets?.createOnLogin === \"all-users\") {\n throw new Error(\"Creating wallets on login is not yet supported for web3 login method\");\n }\n\n const preFetchAndSetOauthUrl = useCallback(async () => {\n setIsLoadingOauthUrlMap(true);\n try {\n const oauthProviders = loginMethods.filter(\n (method): method is OAuthProvider => method in initialOAuthUrlMap\n );\n\n const oauthPromiseList = oauthProviders.map(async (provider) => {\n const url = await crossmintAuth?.getOAuthUrl(provider);\n return { [provider]: url };\n });\n\n const oauthUrlMap = Object.assign({}, ...(await Promise.all(oauthPromiseList)));\n setOauthUrlMap(oauthUrlMap);\n } catch (error) {\n console.error(\"Error fetching OAuth URLs:\", error);\n setError(\"Unable to load oauth providers. Please try again later.\");\n } finally {\n setIsLoadingOauthUrlMap(false);\n }\n }, [loginMethods, crossmintAuth]);\n\n useEffect(() => {\n preFetchAndSetOauthUrl();\n }, [preFetchAndSetOauthUrl]);\n\n const handleToggleDialog = (open: boolean) => {\n setDialogOpen?.(open);\n if (!open) {\n // Delay to allow the close transition to complete before resetting the step\n setTimeout(() => setStep(\"initial\"), 250);\n }\n };\n\n const value: AuthFormContextType = {\n step,\n error,\n baseUrl,\n appearance,\n loginMethods,\n oauthUrlMap,\n isLoadingOauthUrlMap,\n setDialogOpen: handleToggleDialog,\n setError,\n setStep,\n };\n\n return (\n <AuthFormContext.Provider value={value}>\n <WagmiAuthProvider>{children}</WagmiAuthProvider>\n </AuthFormContext.Provider>\n );\n};\n","import { useContext } from \"react\";\nimport { AuthContext } from \"../providers/CrossmintAuthProvider\";\n\nexport function useCrossmintAuth() {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error(\"useCrossmintAuth must be used within a CrossmintAuthProvider\");\n }\n\n return context;\n}\n","import { useState } from \"react\";\nimport { EmailOTPInput } from \"./EmailOTPInput\";\nimport { EmailSignIn } from \"./EmailSignIn\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport type { OtpEmailPayload } from \"@/types/auth\";\n\nexport function EmailAuthFlow() {\n const { step } = useAuthForm();\n const [otpEmailData, setOtpEmailData] = useState<OtpEmailPayload | null>(null);\n\n if (step === \"otp\") {\n return <EmailOTPInput otpEmailData={otpEmailData} setOtpEmailData={setOtpEmailData} />;\n }\n if (step === \"initial\") {\n return <EmailSignIn setOtpEmailData={setOtpEmailData} />;\n }\n\n return null;\n}\n","import { useState } from \"react\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/common/InputOTP\";\nimport { EmailOtpIcon } from \"@/icons/emailOTP\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport type { OtpEmailPayload } from \"@/types/auth\";\nimport { AuthFormBackButton } from \"../../AuthFormBackButton\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\n\nexport const EMAIL_VERIFICATION_TOKEN_LENGTH = 6;\n\nexport function EmailOTPInput({\n otpEmailData,\n setOtpEmailData,\n}: { otpEmailData: OtpEmailPayload | null; setOtpEmailData: (data: OtpEmailPayload | null) => void }) {\n const { crossmintAuth } = useCrossmintAuth();\n const { appearance, setDialogOpen, setStep, setError } = useAuthForm();\n\n const [token, setToken] = useState(\"\");\n const [hasError, setHasError] = useState(false);\n const [loading, setLoading] = useState(false);\n\n const handleOnSubmit = async () => {\n setLoading(true);\n try {\n const oneTimeSecret = await crossmintAuth?.confirmEmailOtp(\n otpEmailData?.email ?? \"\",\n otpEmailData?.emailId ?? \"\",\n token\n );\n\n await crossmintAuth?.handleRefreshAuthMaterial(oneTimeSecret as string);\n setDialogOpen(false);\n setStep(\"initial\");\n } catch (error) {\n console.error(\"Error confirming email OTP\", error);\n setError(\"Invalid code. Please try again.\");\n setHasError(true);\n } finally {\n setLoading(false);\n }\n };\n\n const handleOnBack = () => {\n setStep(\"initial\");\n setOtpEmailData(null);\n };\n\n return (\n <div>\n <AuthFormBackButton\n onClick={handleOnBack}\n iconColor={appearance?.colors?.textPrimary}\n ringColor={appearance?.colors?.accent}\n />\n\n <div className=\"flex flex-col items-center justify-start w-full\">\n <div className=\"relative left-3\">\n <EmailOtpIcon\n customAccentColor={appearance?.colors?.accent}\n customButtonBackgroundColor={appearance?.colors?.buttonBackground}\n customBackgroundColor={appearance?.colors?.background}\n />\n </div>\n <p\n className=\"text-base font-normal mt-4 mb-1 text-center text-cm-text-primary\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n {\"Check your email\"}\n </p>\n <p\n className=\"text-center text-cm-text-secondary px-4\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n {\"A temporary login code has been sent to your email\"}\n </p>\n <div className=\"py-8\">\n <InputOTP\n maxLength={EMAIL_VERIFICATION_TOKEN_LENGTH}\n value={token}\n onChange={(val) => {\n setToken(val);\n setHasError(false);\n setError(null);\n }}\n onComplete={handleOnSubmit}\n disabled={loading}\n customStyles={{\n accent: appearance?.colors?.accent ?? \"#04AA6D\",\n danger: appearance?.colors?.danger ?? \"#f44336\",\n border: appearance?.colors?.border ?? \"#E5E7EB\",\n textPrimary: appearance?.colors?.textPrimary ?? \"#909ca3\",\n buttonBackground: appearance?.colors?.buttonBackground ?? \"#eff6ff\",\n inputBackground: appearance?.colors?.inputBackground ?? \"#FFFFFF\",\n borderRadius: appearance?.borderRadius,\n }}\n >\n <InputOTPGroup>\n <InputOTPSlot index={0} hasError={hasError} />\n <InputOTPSlot index={1} hasError={hasError} />\n <InputOTPSlot index={2} hasError={hasError} />\n <InputOTPSlot index={3} hasError={hasError} />\n <InputOTPSlot index={4} hasError={hasError} />\n <InputOTPSlot index={5} hasError={hasError} />\n </InputOTPGroup>\n </InputOTP>\n </div>\n\n <p className=\"text-sm leading-tight text-cm-text-secondary text-center\">\n <span style={{ color: appearance?.colors?.textSecondary }}>\n Can't find the email? Check spam folder or contact\n </span>{\" \"}\n <a\n key=\"resend-email-link\"\n className=\"transition-opacity duration-150 text-cm-link hover:opacity-70\"\n style={{ color: appearance?.colors?.textLink }}\n href=\"mailto:support@crossmint.io\"\n >\n support@crossmint.io\n </a>\n </p>\n </div>\n </div>\n );\n}\n","import type React from \"react\";\nimport { classNames } from \"../../utils/classNames\";\nimport { LeftArrowIcon } from \"@/icons/leftArrow\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\n\nexport const AuthFormBackButton = ({\n className,\n iconColor,\n ringColor,\n onClick,\n ...props\n}: React.HTMLAttributes<HTMLButtonElement> & { iconColor?: string; ringColor?: string }) => {\n const { setError } = useAuthForm();\n\n return (\n <button\n className={classNames(\n \"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\",\n className\n )}\n onClick={(event) => {\n setError(null);\n onClick?.(event);\n }}\n {...props}\n >\n <LeftArrowIcon className=\"w-6 h-6\" style={{ color: iconColor }} />\n </button>\n );\n};\n","import { type FormEvent, useState } from \"react\";\nimport Color from \"color\";\n\nimport { Spinner } from \"@/components/common/Spinner\";\nimport { classNames } from \"@/utils/classNames\";\nimport { AlertIcon } from \"../../../../icons/alert\";\nimport { isEmailValid } from \"@crossmint/common-sdk-auth\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport type { OtpEmailPayload } from \"@/types/auth\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\n\nexport function EmailSignIn({ setOtpEmailData }: { setOtpEmailData: (data: OtpEmailPayload) => void }) {\n const { crossmintAuth } = useCrossmintAuth();\n const { appearance, setStep, setError } = useAuthForm();\n\n const [emailInput, setEmailInput] = useState(\"\");\n const [emailError, setEmailError] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n\n async function handleOnSubmit(e: FormEvent<HTMLFormElement>) {\n e.preventDefault();\n\n if (!isEmailValid(emailInput)) {\n setEmailError(\"Please enter a valid email address\");\n return;\n }\n\n setIsLoading(true);\n\n try {\n const trimmedEmailInput = emailInput.trim().toLowerCase();\n const emailSignInRes = (await crossmintAuth?.sendEmailOtp(trimmedEmailInput)) as { emailId: string };\n\n setOtpEmailData({ email: trimmedEmailInput, emailId: emailSignInRes.emailId });\n setStep(\"otp\");\n } catch (_e: unknown) {\n setIsLoading(false);\n setError(\"Failed to send email. Please try again or contact support.\");\n }\n }\n\n return (\n <>\n <div className=\"flex flex-col items-start justify-start w-full rounded-lg\">\n <div className=\"w-full\">\n <form\n role=\"form\"\n className=\"relative\"\n onSubmit={handleOnSubmit}\n noValidate // we want to handle validation ourselves\n >\n <label htmlFor=\"emailInput\" className=\"sr-only\">\n Email\n </label>\n <input\n className={classNames(\n \"flex-grow text-cm-text-secondary text-left pl-[16px] pr-[80px] h-[58px] w-full border border-cm-border rounded-xl bg-cm-background-primary placeholder:text-sm placeholder:text-opacity-60\",\n \"transition-none duration-200 ease-in-out\",\n \"focus:outline-none focus-ring-custom\", // Add focus ring\n emailError ? \"border-red-500\" : \"\"\n )}\n style={{\n color: appearance?.colors?.textPrimary,\n borderRadius: appearance?.borderRadius,\n borderColor: emailError ? appearance?.colors?.danger : appearance?.colors?.border,\n backgroundColor: appearance?.colors?.inputBackground,\n // @ts-expect-error Add custom ring color to tailwind\n \"--focus-ring-color\": new Color(appearance?.colors?.accent ?? \"#04AA6D\")\n .alpha(0.18)\n .toString(),\n }}\n type=\"email\"\n placeholder=\"Enter email\"\n value={emailInput}\n onChange={(e) => {\n setEmailInput(e.target.value);\n setEmailError(\"\");\n setError(null);\n }}\n readOnly={isLoading}\n aria-describedby=\"emailError\"\n />\n <div className=\"absolute inset-y-0 right-0 flex items-center pr-4\">\n {emailError && <AlertIcon customColor={appearance?.colors?.danger} />}\n {isLoading && (\n <Spinner\n style={{\n color: appearance?.colors?.textSecondary,\n fill: appearance?.colors?.textPrimary,\n }}\n />\n )}\n {!emailError && !isLoading && (\n <button\n type=\"submit\"\n className={classNames(\"cursor-pointer font-medium text-cm-accent text-nowrap\")}\n style={{ color: appearance?.colors?.accent }}\n disabled={!emailInput}\n >\n Sign in\n </button>\n )}\n </div>\n </form>\n {emailError && <p className=\"text-xs text-red-500 mb-2 pt-2\">{emailError}</p>}\n </div>\n </div>\n </>\n );\n}\n","import { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport type { UIConfig } from \"@crossmint/common-sdk-base\";\n\nexport function Divider({ appearance, text }: { appearance?: UIConfig; text?: string }) {\n const { step } = useAuthForm();\n\n if (step !== \"initial\") {\n return null;\n }\n\n return (\n <div className=\"flex items-center justify-center w-full pt-2 pb-3\">\n <span className=\"w-full h-[1px] bg-cm-border\" style={{ backgroundColor: appearance?.colors?.border }} />\n {text != null ? (\n <p\n className=\"flex-none px-2 text-sm text-cm-text-primary\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n {text}\n </p>\n ) : null}\n <span className=\"w-full h-[1px] bg-cm-border\" style={{ backgroundColor: appearance?.colors?.border }} />\n </div>\n );\n}\n","import type { OAuthProvider } from \"@crossmint/common-sdk-auth\";\nimport { ChildWindow, PopupWindow } from \"@crossmint/client-sdk-window\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { z } from \"zod\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { useCrossmintAuth } from \"./useCrossmintAuth\";\n\nexport const useOAuthWindowListener = (provider: OAuthProvider) => {\n const { crossmintAuth } = useCrossmintAuth();\n const { oauthUrlMap, setError } = useAuthForm();\n const [isLoading, setIsLoading] = useState(false);\n const childRef = useRef<ChildWindow<IncomingEvents, OutgoingEvents> | null>(null);\n\n useEffect(() => {\n if (childRef.current == null) {\n childRef.current = new ChildWindow<IncomingEvents, OutgoingEvents>(window.opener || window.parent, \"*\", {\n incomingEvents,\n });\n }\n\n return () => {\n if (childRef.current != null) {\n childRef.current.off(\"authMaterialFromPopupCallback\");\n }\n };\n }, []);\n\n const createPopupAndSetupListeners = async () => {\n if (childRef.current == null) {\n throw new Error(\"Child window not initialized\");\n }\n setIsLoading(true);\n setError(null);\n const popup = await PopupWindow.init(oauthUrlMap[provider], {\n awaitToLoad: false,\n crossOrigin: true,\n width: 400,\n height: 700,\n });\n\n const handleAuthMaterial = async (data: { oneTimeSecret: string }) => {\n await crossmintAuth?.handleRefreshAuthMaterial(data.oneTimeSecret);\n childRef.current?.off(\"authMaterialFromPopupCallback\");\n popup.window.close();\n setIsLoading(false);\n };\n\n const handleError = (data: { error: string }) => {\n setError(data.error);\n childRef.current?.off(\"errorFromPopupCallback\");\n popup.window.close();\n setIsLoading(false);\n };\n\n childRef.current.on(\"authMaterialFromPopupCallback\", handleAuthMaterial);\n childRef.current.on(\"errorFromPopupCallback\", handleError);\n // Add a check for manual window closure\n // Ideally we should find a more explicit way of doing this, but I think this is fine for now.\n const checkWindowClosure = setInterval(() => {\n if (popup.window.closed) {\n clearInterval(checkWindowClosure);\n setIsLoading(false);\n childRef.current?.off(\"authMaterialFromPopupCallback\");\n }\n }, 2500); // Check every 2.5 seconds\n };\n\n return {\n createPopupAndSetupListeners,\n isLoading,\n };\n};\n\nconst incomingEvents = {\n authMaterialFromPopupCallback: z.object({ oneTimeSecret: z.string() }),\n errorFromPopupCallback: z.object({ error: z.string() }),\n};\n\ntype IncomingEvents = {\n authMaterialFromPopupCallback: typeof incomingEvents.authMaterialFromPopupCallback;\n errorFromPopupCallback: typeof incomingEvents.errorFromPopupCallback;\n};\n\ntype OutgoingEvents = Record<string, never>;\n","import type { ButtonHTMLAttributes } from \"react\";\nimport { GoogleIcon } from \"@/icons/google\";\nimport { useOAuthWindowListener } from \"@/hooks/useOAuthWindowListener\";\nimport { Spinner } from \"@/components/common/Spinner\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { classNames } from \"@/utils/classNames\";\n\nexport function GoogleSignIn({ ...props }: ButtonHTMLAttributes<HTMLButtonElement>) {\n const { step, appearance, isLoadingOauthUrlMap } = useAuthForm();\n const { createPopupAndSetupListeners, isLoading: isLoadingOAuthWindow } = useOAuthWindowListener(\"google\");\n const isLoading = isLoadingOauthUrlMap || isLoadingOAuthWindow;\n\n if (step !== \"initial\") {\n return null;\n }\n\n return (\n <button\n className={classNames(\n \"relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center\",\n \"transition-colors duration-200 ease-in-out\",\n \"hover:bg-cm-hover focus:bg-cm-hover outline-none\",\n isLoading ? \"cursor-not-allowed hover:bg-cm-muted-primary\" : \"\"\n )}\n style={{\n borderRadius: appearance?.borderRadius,\n backgroundColor: appearance?.colors?.buttonBackground,\n }}\n onClick={isLoading ? undefined : createPopupAndSetupListeners}\n {...props}\n >\n <>\n <GoogleIcon className=\"h-[25px] w-[25px] absolute left-[18px]\" />\n {isLoading ? (\n <Spinner\n style={{\n color: appearance?.colors?.textSecondary,\n fill: appearance?.colors?.textPrimary,\n }}\n />\n ) : (\n <span\n className=\"font-medium\"\n style={{ margin: \"0px 32px\", color: appearance?.colors?.textPrimary }}\n >\n Sign in with Google\n </span>\n )}\n </>\n <span className=\"sr-only\">Sign in with Google</span>\n </button>\n );\n}\n","import { useEffect, useMemo, useState } from \"react\";\nimport { useSignIn, QRCode, type UseSignInData } from \"@farcaster/auth-kit\";\nimport { FarcasterIcon } from \"@/icons/farcaster\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { Spinner } from \"@/components/common/Spinner\";\nimport { classNames } from \"@/utils/classNames\";\nimport { AuthFormBackButton } from \"../../AuthFormBackButton\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\nexport function FarcasterSignIn() {\n const { step, appearance, setStep, setError } = useAuthForm();\n\n if (step === \"initial\") {\n return (\n <div>\n <button\n className={classNames(\n \"relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center\",\n \"transition-colors duration-200 ease-in-out\",\n \"hover:bg-cm-hover focus:bg-cm-hover outline-none\"\n )}\n style={{\n borderRadius: appearance?.borderRadius,\n backgroundColor: appearance?.colors?.buttonBackground,\n }}\n onClick={() => {\n setStep(\"qrCode\");\n setError(null);\n }}\n >\n <FarcasterIcon className=\"h-[25px] w-[25px] absolute left-[18px]\" />\n <span\n className=\"font-medium\"\n style={{ margin: \"0px 32px\", color: appearance?.colors?.textPrimary }}\n >\n Sign in with Farcaster\n </span>\n <span className=\"sr-only\">Sign in with Farcaster</span>\n </button>\n </div>\n );\n }\n\n if (step === \"qrCode\") {\n return <FarcasterQRCode />;\n }\n\n return null;\n}\n\n// We want this to be a separate component so it can completely un-render when the user goes back to the initial screen\nfunction FarcasterQRCode() {\n const { crossmintAuth } = useCrossmintAuth();\n const { appearance, setStep, setDialogOpen, setError } = useAuthForm();\n const [farcasterData, setFarcasterData] = useState<UseSignInData | null>(null);\n\n const farcasterProps = useMemo(\n () => ({\n onSuccess: (data: UseSignInData) => {\n // Step 3. set the farcaster data once the sign in is successful\n setFarcasterData(data);\n },\n }),\n []\n );\n\n const { signIn, url: qrCodeUrl, connect, signOut, isConnected } = useSignIn(farcasterProps);\n\n const handleFarcasterSignIn = async (data: UseSignInData) => {\n setError(null);\n try {\n const oneTimeSecret = await crossmintAuth?.signInWithFarcaster(data);\n // Step 5. fetch the auth material, close the dialog, and unrender any farcaster client stuff\n await crossmintAuth?.handleRefreshAuthMaterial(oneTimeSecret as string);\n setDialogOpen(false);\n setStep(\"initial\");\n } catch (error) {\n console.error(\"Error during Farcaster sign-in:\", error);\n setError(\"Failed to sign in with Farcaster\");\n }\n };\n\n useEffect(() => {\n if (farcasterData != null) {\n // Step 4. call the handleFarcasterSignInfunction to handle the sign in\n handleFarcasterSignIn(farcasterData);\n }\n }, [farcasterData]);\n\n useEffect(() => {\n if (isConnected) {\n // Step 2. once connected, call the signIn function to start the sign in process\n signIn();\n }\n }, [isConnected]);\n\n useEffect(() => {\n // Step 1. call the connect function to initialize the connection\n connect();\n }, []);\n\n return (\n <div>\n <AuthFormBackButton\n onClick={() => {\n signOut();\n setStep(\"initial\");\n }}\n iconColor={appearance?.colors?.textPrimary}\n ringColor={appearance?.colors?.accent}\n />\n\n <div className=\"flex flex-col items-center gap-4\">\n <div className=\"text-center\">\n <h3\n className=\"text-lg font-semibold text-cm-text-primary mb-2\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n Sign in with Farcaster\n </h3>\n <p\n className=\"text-base font-normal text-cm-text-secondary\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n Scan with your phone's camera to continue.\n </p>\n </div>\n <div\n className=\"bg-white aspect-square rounded-lg p-4\"\n style={{\n backgroundColor: appearance?.colors?.inputBackground,\n borderRadius: appearance?.borderRadius,\n }}\n >\n {qrCodeUrl != null ? (\n <QRCode uri={qrCodeUrl} size={280} />\n ) : (\n <div className=\"min-h-[246px] flex items-center justify-center\">\n <Spinner\n style={{\n color: appearance?.colors?.textSecondary,\n fill: appearance?.colors?.textPrimary,\n }}\n />\n </div>\n )}\n </div>\n {qrCodeUrl ? (\n <>\n <p\n className=\"text-base text-center font-normal text-cm-text-secondary\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n Alternatively, click on this link to open Warpcast.\n </p>\n <a\n href={qrCodeUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"text-base font-normal text-cm-link\"\n style={{ color: appearance?.colors?.textLink }}\n >\n Open Warpcast\n </a>\n </>\n ) : null}\n </div>\n </div>\n );\n}\n","import { ChevronRightIcon } from \"@/icons/chevronRight\";\nimport { WalletIcon } from \"@/icons/wallet\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { classNames } from \"@/utils/classNames\";\n\nexport function Web3AuthFlowButton() {\n const { step, appearance, setStep, setError } = useAuthForm();\n\n if (step !== \"initial\") {\n return null;\n }\n\n return (\n <button\n className={classNames(\n \"relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center\",\n \"transition-colors duration-200 ease-in-out\",\n \"hover:bg-cm-hover focus:bg-cm-hover outline-none\"\n )}\n style={{\n borderRadius: appearance?.borderRadius,\n borderColor: appearance?.colors?.border,\n backgroundColor: appearance?.colors?.buttonBackground,\n }}\n onClick={() => {\n setStep(\"web3\");\n setError(null);\n }}\n >\n <WalletIcon\n className=\"h-[21px] w-[21px] absolute left-[20px]\"\n style={{ color: appearance?.colors?.textPrimary }}\n />\n <span className=\"font-medium\" style={{ margin: \"0px 32px\", color: appearance?.colors?.textPrimary }}>\n Continue with a wallet\n </span>\n <ChevronRightIcon\n className=\"h-[21px] w-[21px] absolute right-[20px]\"\n style={{ color: appearance?.colors?.textSecondary }}\n />\n <span className=\"sr-only\">Continue with a wallet</span>\n </button>\n );\n}\n","import { useState, useEffect } from \"react\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { Web3Connector } from \"./Web3Connector\";\nimport { useAccount, useChainId, useConnect, useSignMessage } from \"wagmi\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\n\ninterface Web3AuthWrapperProps {\n providerType: \"metaMaskSDK\" | \"coinbaseWalletSDK\" | \"walletConnect\";\n flag?: \"isMetaMask\";\n icon: string;\n}\n\nexport function Web3ConnectorContainer({ providerType, flag, icon }: Web3AuthWrapperProps) {\n const { crossmintAuth } = useCrossmintAuth();\n const { appearance, error, setError } = useAuthForm();\n const [isLoading, setIsLoading] = useState(false);\n\n const chainId = useChainId();\n const { address, status: accountStatus } = useAccount(); // hook is causing a hydration error when navigating back\n const { signMessageAsync, status: signMessageStatus } = useSignMessage();\n const { connect, connectors } = useConnect({\n mutation: {\n onError: () => setIsLoading(false),\n },\n });\n\n // fallback to walletConnect if the extension is not installed\n const isExtensionInstalled = window.ethereum?.[flag as keyof typeof window.ethereum] ?? false;\n if (!isExtensionInstalled) {\n providerType = \"walletConnect\";\n }\n\n const connector = connectors.find((c) => c.id === providerType);\n\n useEffect(() => {\n if (address != null) {\n handleSignIn();\n }\n }, [address]);\n\n const handleSignIn = async () => {\n if (address == null) {\n return;\n }\n setIsLoading(true);\n setError(null);\n\n try {\n const res = await crossmintAuth?.signInWithSmartWallet(address);\n const signature = await signMessageAsync({ message: res.challenge });\n const authResponse = (await crossmintAuth?.authenticateSmartWallet(address, signature)) as {\n oneTimeSecret: string;\n };\n\n const oneTimeSecret = authResponse.oneTimeSecret;\n await crossmintAuth?.handleRefreshAuthMaterial(oneTimeSecret);\n } catch (error) {\n console.error(`Error connecting to ${providerType}:`, error);\n setError(`Error connecting to ${providerType}. Please try again or contact support.`);\n } finally {\n setIsLoading(false);\n }\n };\n\n const isLoadingOrPending =\n isLoading ||\n accountStatus === \"connecting\" ||\n accountStatus === \"reconnecting\" ||\n signMessageStatus === \"pending\";\n\n return (\n <Web3Connector\n icon={icon}\n appearance={appearance}\n headingText={signMessageStatus === \"pending\" ? \"Sign to verify\" : \"Connect your wallet\"}\n buttonText={error != null && !isLoadingOrPending ? \"Retry\" : isLoadingOrPending ? \"Connecting\" : \"Connect\"}\n isLoading={isLoadingOrPending}\n onConnectClick={() => {\n if (address != null) {\n handleSignIn();\n } else if (connector) {\n connect({ connector, chainId });\n }\n }}\n />\n );\n}\n","import { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { AuthFormBackButton } from \"../../AuthFormBackButton\";\nimport { Web3ConnectorButton } from \"./Web3ConnectorButton\";\nimport { metamaskIcon, walletConnectIcon } from \"@/icons/base64Icons\";\nimport { Web3ConnectorContainer } from \"./Web3ConnectorContainer\";\nimport { useAccount, useDisconnect } from \"wagmi\";\n\nexport function Web3Connectors() {\n const { appearance, step, setStep } = useAuthForm();\n const { isConnected } = useAccount();\n const { disconnect } = useDisconnect();\n\n if (step === \"web3\") {\n return (\n <>\n <AuthFormBackButton\n onClick={() => setStep(\"initial\")}\n iconColor={appearance?.colors?.textPrimary}\n ringColor={appearance?.colors?.accent}\n />\n <div className=\"flex flex-col items-center gap-2\">\n <div className=\"text-center mb-6\">\n <h3\n className=\"text-lg font-semibold text-cm-text-primary\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n Connect wallet\n </h3>\n </div>\n <div className=\"flex flex-col gap-[10px] w-full\">\n <Web3ConnectorButton\n title=\"Metamask\"\n appearance={appearance}\n img={metamaskIcon}\n onClick={() => {\n if (isConnected) {\n disconnect();\n }\n // wait for all disconnect state to be cleared before proceeding to the next step\n setTimeout(() => {\n setStep(\"web3/metamask\");\n }, 200);\n }}\n />\n <Web3ConnectorButton\n title=\"WalletConnect\"\n appearance={appearance}\n img={walletConnectIcon}\n onClick={() => {\n if (isConnected) {\n disconnect();\n }\n setTimeout(() => {\n setStep(\"web3/walletconnect\");\n }, 200);\n }}\n />\n </div>\n </div>\n </>\n );\n }\n\n if (step === \"web3/metamask\") {\n return (\n <>\n <AuthFormBackButton\n onClick={() => {\n setStep(\"web3\");\n }}\n iconColor={appearance?.colors?.textPrimary}\n ringColor={appearance?.colors?.accent}\n />\n <Web3ConnectorContainer providerType=\"metaMaskSDK\" flag=\"isMetaMask\" icon={metamaskIcon} />\n </>\n );\n }\n\n if (step === \"web3/walletconnect\") {\n return (\n <>\n <AuthFormBackButton\n onClick={() => {\n setStep(\"web3\");\n }}\n iconColor={appearance?.colors?.textPrimary}\n ringColor={appearance?.colors?.accent}\n />\n <Web3ConnectorContainer providerType=\"walletConnect\" icon={walletConnectIcon} />\n </>\n );\n }\n\n return null;\n}\n","import { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { Web3AuthFlowButton } from \"./Web3AuthFlowButton\";\nimport { Web3Connectors } from \"./Web3Connectors\";\n\nexport function Web3AuthFlow() {\n const { step } = useAuthForm();\n\n if (step.startsWith(\"web3\")) {\n return <Web3Connectors />;\n }\n\n if (step === \"initial\") {\n return <Web3AuthFlowButton />;\n }\n\n return null;\n}\n","import { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { EmailAuthFlow } from \"./methods/email/EmailAuthFlow\";\nimport { Divider } from \"../common/Divider\";\nimport { GoogleSignIn } from \"./methods/google/GoogleSignIn\";\nimport { FarcasterSignIn } from \"./methods/farcaster/FarcasterSignIn\";\nimport { PoweredByCrossmint } from \"../common/PoweredByCrossmint\";\nimport { FarcasterProvider } from \"../../providers/auth/FarcasterProvider\";\nimport { classNames } from \"@/utils/classNames\";\nimport { Web3AuthFlow } from \"./methods/web3/Web3AuthFlow\";\nimport Color from \"color\";\nimport { AlertIcon } from \"@/icons/alert\";\n\nexport function AuthForm({ className }: { className?: string }) {\n const { step, appearance, loginMethods, baseUrl, error } = useAuthForm();\n\n return (\n <div\n className={classNames(\n \"relative p-6 pb-4 !min-[480px]:p-10 !min-[480px]:pb-8 flex flex-col gap-[10px] antialiased animate-none\",\n className\n )}\n >\n {error ? (\n <div\n className=\"flex items-start justify-start w-full rounded-lg p-2 mt-4 bg-cm-danger-muted\"\n style={{\n backgroundColor: new Color(appearance?.colors?.danger ?? \"#f44336\").alpha(0.12).toString(),\n }}\n >\n <AlertIcon customColor={appearance?.colors?.danger ?? \"#f44336\"} />\n <p className=\"ml-2 text-sm\" style={{ color: appearance?.colors?.danger ?? \"#f44336\" }}>\n {error}\n </p>\n </div>\n ) : null}\n\n {step === \"initial\" ? (\n <div>\n <h1\n className=\"text-2xl font-bold text-cm-text-primary\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n Sign In\n </h1>\n <p\n className=\"text-base font-normal mb-3 text-cm-text-secondary\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n Sign in using one of the options below\n </p>\n </div>\n ) : null}\n\n {loginMethods.includes(\"email\") ? (\n <>\n <EmailAuthFlow />\n {loginMethods.length > 1 ? <Divider appearance={appearance} text=\"OR\" /> : null}\n </>\n ) : null}\n\n {loginMethods.includes(\"google\") ? <GoogleSignIn /> : null}\n {loginMethods.includes(\"farcaster\") ? (\n <FarcasterProvider baseUrl={baseUrl}>\n <FarcasterSignIn />\n </FarcasterProvider>\n ) : null}\n {loginMethods.includes(\"web3\") ? <Web3AuthFlow /> : null}\n\n {step === \"initial\" || step === \"otp\" ? (\n <PoweredByCrossmint\n className=\"mt-4 justify-center\"\n color={appearance?.colors?.textSecondary ?? \"#A4AFB2\"}\n />\n ) : null}\n </div>\n );\n}\n"]}
@@ -1,54 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunk5RX5WFEWcjs = require('./chunk-5RX5WFEW.cjs');
4
-
5
-
6
-
7
-
8
- var _chunk4DAZAO6Ycjs = require('./chunk-4DAZAO6Y.cjs');
9
-
10
- // src/components/auth/methods/web3/Web3ConnectorButton.tsx
11
- var _jsxruntime = require('react/jsx-runtime');
12
- function Web3ConnectorButton(_a) {
13
- var _b = _a, {
14
- title,
15
- appearance,
16
- img
17
- } = _b, props = _chunk4DAZAO6Ycjs.__objRest.call(void 0, _b, [
18
- "title",
19
- "appearance",
20
- "img"
21
- ]);
22
- var _a2, _b2, _c;
23
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24
- "button",
25
- _chunk4DAZAO6Ycjs.__spreadProps.call(void 0, _chunk4DAZAO6Ycjs.__spreadValues.call(void 0, {
26
- className: _chunk5RX5WFEWcjs.classNames.call(void 0,
27
- "relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center",
28
- "transition-colors duration-200 ease-in-out",
29
- "hover:bg-cm-hover focus:bg-cm-hover outline-none"
30
- ),
31
- style: {
32
- borderRadius: appearance == null ? void 0 : appearance.borderRadius,
33
- borderColor: (_a2 = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a2.border,
34
- backgroundColor: (_b2 = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b2.buttonBackground
35
- }
36
- }, props), {
37
- children: [
38
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
39
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: img, alt: title, className: "h-[25px] w-[25px] absolute left-[18px]" }),
40
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium", style: { color: (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.textPrimary }, children: title })
41
- ] }),
42
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "sr-only", children: [
43
- "Sign in with ",
44
- title
45
- ] })
46
- ]
47
- })
48
- );
49
- }
50
-
51
-
52
-
53
- exports.Web3ConnectorButton = Web3ConnectorButton;
54
- //# sourceMappingURL=chunk-HSLAH2PN.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/auth/methods/web3/Web3ConnectorButton.tsx"],"names":["_a","_b"],"mappings":";;;;;;;;;;AA4BY,mBACI,KADJ;AAxBL,SAAS,oBAAoB,IASe;AATf,eAChC;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EAPJ,IAIoC,IAI7B,kBAJ6B,IAI7B;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAPJ,MAAAA,KAAAC,KAAA;AAcI,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAW;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACH,cAAc,yCAAY;AAAA,QAC1B,cAAaD,MAAA,yCAAY,WAAZ,gBAAAA,IAAoB;AAAA,QACjC,kBAAiBC,MAAA,yCAAY,WAAZ,gBAAAA,IAAoB;AAAA,MACzC;AAAA,OACI,QAXP;AAAA,MAaG;AAAA,yCACI;AAAA,8BAAC,SAAI,KAAK,KAAK,KAAK,OAAO,WAAU,0CAAyC;AAAA,UAC9E,oBAAC,UAAK,WAAU,eAAc,OAAO,EAAE,QAAO,8CAAY,WAAZ,mBAAoB,YAAY,GACzE,iBACL;AAAA,WACJ;AAAA,QACA,qBAAC,UAAK,WAAU,WAAU;AAAA;AAAA,UAAc;AAAA,WAAM;AAAA;AAAA;AAAA,EAClD;AAER","sourcesContent":["import type { UIConfig } from \"@crossmint/common-sdk-base\";\nimport type React from \"react\";\nimport { classNames } from \"../../../../utils/classNames\";\n\nexport function Web3ConnectorButton({\n title,\n appearance,\n img,\n ...props\n}: {\n title: string;\n appearance?: UIConfig;\n img: string;\n} & React.ButtonHTMLAttributes<HTMLButtonElement>) {\n return (\n <button\n className={classNames(\n \"relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center\",\n \"transition-colors duration-200 ease-in-out\",\n \"hover:bg-cm-hover focus:bg-cm-hover outline-none\"\n )}\n style={{\n borderRadius: appearance?.borderRadius,\n borderColor: appearance?.colors?.border,\n backgroundColor: appearance?.colors?.buttonBackground,\n }}\n {...props}\n >\n <>\n <img src={img} alt={title} className=\"h-[25px] w-[25px] absolute left-[18px]\" />\n <span className=\"font-medium\" style={{ color: appearance?.colors?.textPrimary }}>\n {title}\n </span>\n </>\n <span className=\"sr-only\">Sign in with {title}</span>\n </button>\n );\n}\n"]}
@@ -1,54 +0,0 @@
1
- import {
2
- classNames
3
- } from "./chunk-RZPQIRIY.js";
4
- import {
5
- __objRest,
6
- __spreadProps,
7
- __spreadValues
8
- } from "./chunk-CRTRMMJ7.js";
9
-
10
- // src/components/auth/methods/web3/Web3ConnectorButton.tsx
11
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
- function Web3ConnectorButton(_a) {
13
- var _b = _a, {
14
- title,
15
- appearance,
16
- img
17
- } = _b, props = __objRest(_b, [
18
- "title",
19
- "appearance",
20
- "img"
21
- ]);
22
- var _a2, _b2, _c;
23
- return /* @__PURE__ */ jsxs(
24
- "button",
25
- __spreadProps(__spreadValues({
26
- className: classNames(
27
- "relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center",
28
- "transition-colors duration-200 ease-in-out",
29
- "hover:bg-cm-hover focus:bg-cm-hover outline-none"
30
- ),
31
- style: {
32
- borderRadius: appearance == null ? void 0 : appearance.borderRadius,
33
- borderColor: (_a2 = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a2.border,
34
- backgroundColor: (_b2 = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b2.buttonBackground
35
- }
36
- }, props), {
37
- children: [
38
- /* @__PURE__ */ jsxs(Fragment, { children: [
39
- /* @__PURE__ */ jsx("img", { src: img, alt: title, className: "h-[25px] w-[25px] absolute left-[18px]" }),
40
- /* @__PURE__ */ jsx("span", { className: "font-medium", style: { color: (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.textPrimary }, children: title })
41
- ] }),
42
- /* @__PURE__ */ jsxs("span", { className: "sr-only", children: [
43
- "Sign in with ",
44
- title
45
- ] })
46
- ]
47
- })
48
- );
49
- }
50
-
51
- export {
52
- Web3ConnectorButton
53
- };
54
- //# sourceMappingURL=chunk-NFWMF6T7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/auth/methods/web3/Web3ConnectorButton.tsx"],"sourcesContent":["import type { UIConfig } from \"@crossmint/common-sdk-base\";\nimport type React from \"react\";\nimport { classNames } from \"../../../../utils/classNames\";\n\nexport function Web3ConnectorButton({\n title,\n appearance,\n img,\n ...props\n}: {\n title: string;\n appearance?: UIConfig;\n img: string;\n} & React.ButtonHTMLAttributes<HTMLButtonElement>) {\n return (\n <button\n className={classNames(\n \"relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center\",\n \"transition-colors duration-200 ease-in-out\",\n \"hover:bg-cm-hover focus:bg-cm-hover outline-none\"\n )}\n style={{\n borderRadius: appearance?.borderRadius,\n borderColor: appearance?.colors?.border,\n backgroundColor: appearance?.colors?.buttonBackground,\n }}\n {...props}\n >\n <>\n <img src={img} alt={title} className=\"h-[25px] w-[25px] absolute left-[18px]\" />\n <span className=\"font-medium\" style={{ color: appearance?.colors?.textPrimary }}>\n {title}\n </span>\n </>\n <span className=\"sr-only\">Sign in with {title}</span>\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;AA4BY,mBACI,KADJ;AAxBL,SAAS,oBAAoB,IASe;AATf,eAChC;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EAPJ,IAIoC,IAI7B,kBAJ6B,IAI7B;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAPJ,MAAAA,KAAAC,KAAA;AAcI,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAW;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,QACH,cAAc,yCAAY;AAAA,QAC1B,cAAaD,MAAA,yCAAY,WAAZ,gBAAAA,IAAoB;AAAA,QACjC,kBAAiBC,MAAA,yCAAY,WAAZ,gBAAAA,IAAoB;AAAA,MACzC;AAAA,OACI,QAXP;AAAA,MAaG;AAAA,yCACI;AAAA,8BAAC,SAAI,KAAK,KAAK,KAAK,OAAO,WAAU,0CAAyC;AAAA,UAC9E,oBAAC,UAAK,WAAU,eAAc,OAAO,EAAE,QAAO,8CAAY,WAAZ,mBAAoB,YAAY,GACzE,iBACL;AAAA,WACJ;AAAA,QACA,qBAAC,UAAK,WAAU,WAAU;AAAA;AAAA,UAAc;AAAA,WAAM;AAAA;AAAA;AAAA,EAClD;AAER;","names":["_a","_b"]}
@@ -1,55 +0,0 @@
1
- // src/providers/auth/web3/WagmiAuthProvider.tsx
2
- import { createConfig, http, WagmiProvider } from "wagmi";
3
- import {
4
- arbitrum,
5
- arbitrumSepolia,
6
- base,
7
- baseSepolia,
8
- optimism,
9
- optimismSepolia,
10
- polygon,
11
- polygonAmoy,
12
- mainnet
13
- } from "wagmi/chains";
14
- import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
15
- import { metaMask, walletConnect } from "wagmi/connectors";
16
- import { jsx } from "react/jsx-runtime";
17
- var ALCHEMY_API_KEY = "-7M6vRDBDknwvMxnqah_jbcieWg0qad9";
18
- var ALCHEMY_RPC_SUBDOMAIN = {
19
- mainnet: "mainnet",
20
- polygon: "polygon-mainnet",
21
- "polygon-amoy": "polygon-amoy",
22
- base: "base-mainnet",
23
- "base-sepolia": "base-sepolia",
24
- optimism: "opt-mainnet",
25
- "optimism-sepolia": "opt-sepolia",
26
- arbitrum: "arb-mainnet",
27
- "arbitrum-sepolia": "arb-sepolia"
28
- };
29
- function getAlchemyRPC(chain) {
30
- return `https://${ALCHEMY_RPC_SUBDOMAIN[chain]}.g.alchemy.com/v2/${ALCHEMY_API_KEY}`;
31
- }
32
- var config = createConfig({
33
- chains: [mainnet, base, polygon, optimism, arbitrum, baseSepolia, polygonAmoy, optimismSepolia, arbitrumSepolia],
34
- connectors: [metaMask(), walletConnect({ projectId: "94ed8f7549329dad7be968888eec3688" })],
35
- transports: {
36
- [mainnet.id]: http(getAlchemyRPC("mainnet")),
37
- [base.id]: http(getAlchemyRPC("base")),
38
- [polygon.id]: http(getAlchemyRPC("polygon")),
39
- [optimism.id]: http(getAlchemyRPC("optimism")),
40
- [arbitrum.id]: http(getAlchemyRPC("arbitrum")),
41
- [baseSepolia.id]: http(getAlchemyRPC("base-sepolia")),
42
- [polygonAmoy.id]: http(getAlchemyRPC("polygon-amoy")),
43
- [optimismSepolia.id]: http(getAlchemyRPC("optimism-sepolia")),
44
- [arbitrumSepolia.id]: http(getAlchemyRPC("arbitrum-sepolia"))
45
- }
46
- });
47
- function WagmiAuthProvider({ children }) {
48
- const queryClient = new QueryClient();
49
- return /* @__PURE__ */ jsx(WagmiProvider, { config, children: /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClient, children }) });
50
- }
51
-
52
- export {
53
- WagmiAuthProvider
54
- };
55
- //# sourceMappingURL=chunk-OZS4WEKF.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/providers/auth/web3/WagmiAuthProvider.tsx"],"sourcesContent":["import type React from \"react\";\nimport { createConfig, http, WagmiProvider } from \"wagmi\";\nimport {\n arbitrum,\n arbitrumSepolia,\n base,\n baseSepolia,\n optimism,\n optimismSepolia,\n polygon,\n polygonAmoy,\n mainnet,\n} from \"wagmi/chains\";\nimport { QueryClient, QueryClientProvider } from \"@tanstack/react-query\";\nimport { metaMask, walletConnect } from \"wagmi/connectors\";\n\nconst ALCHEMY_API_KEY = \"-7M6vRDBDknwvMxnqah_jbcieWg0qad9\";\nconst ALCHEMY_RPC_SUBDOMAIN = {\n mainnet: \"mainnet\",\n polygon: \"polygon-mainnet\",\n \"polygon-amoy\": \"polygon-amoy\",\n base: \"base-mainnet\",\n \"base-sepolia\": \"base-sepolia\",\n optimism: \"opt-mainnet\",\n \"optimism-sepolia\": \"opt-sepolia\",\n arbitrum: \"arb-mainnet\",\n \"arbitrum-sepolia\": \"arb-sepolia\",\n};\nfunction getAlchemyRPC(chain: keyof typeof ALCHEMY_RPC_SUBDOMAIN): string {\n return `https://${ALCHEMY_RPC_SUBDOMAIN[chain]}.g.alchemy.com/v2/${ALCHEMY_API_KEY}`;\n}\n\nconst config = createConfig({\n chains: [mainnet, base, polygon, optimism, arbitrum, baseSepolia, polygonAmoy, optimismSepolia, arbitrumSepolia],\n connectors: [metaMask(), walletConnect({ projectId: \"94ed8f7549329dad7be968888eec3688\" })],\n transports: {\n [mainnet.id]: http(getAlchemyRPC(\"mainnet\")),\n [base.id]: http(getAlchemyRPC(\"base\")),\n [polygon.id]: http(getAlchemyRPC(\"polygon\")),\n [optimism.id]: http(getAlchemyRPC(\"optimism\")),\n [arbitrum.id]: http(getAlchemyRPC(\"arbitrum\")),\n [baseSepolia.id]: http(getAlchemyRPC(\"base-sepolia\")),\n [polygonAmoy.id]: http(getAlchemyRPC(\"polygon-amoy\")),\n [optimismSepolia.id]: http(getAlchemyRPC(\"optimism-sepolia\")),\n [arbitrumSepolia.id]: http(getAlchemyRPC(\"arbitrum-sepolia\")),\n },\n});\n\nexport function WagmiAuthProvider({ children }: { children: React.ReactNode }) {\n const queryClient = new QueryClient();\n return (\n <WagmiProvider config={config}>\n <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>\n </WagmiProvider>\n );\n}\n"],"mappings":";AACA,SAAS,cAAc,MAAM,qBAAqB;AAClD;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,aAAa,2BAA2B;AACjD,SAAS,UAAU,qBAAqB;AAsC5B;AApCZ,IAAM,kBAAkB;AACxB,IAAM,wBAAwB;AAAA,EAC1B,SAAS;AAAA,EACT,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,MAAM;AAAA,EACN,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,oBAAoB;AAAA,EACpB,UAAU;AAAA,EACV,oBAAoB;AACxB;AACA,SAAS,cAAc,OAAmD;AACtE,SAAO,WAAW,sBAAsB,KAAK,CAAC,qBAAqB,eAAe;AACtF;AAEA,IAAM,SAAS,aAAa;AAAA,EACxB,QAAQ,CAAC,SAAS,MAAM,SAAS,UAAU,UAAU,aAAa,aAAa,iBAAiB,eAAe;AAAA,EAC/G,YAAY,CAAC,SAAS,GAAG,cAAc,EAAE,WAAW,mCAAmC,CAAC,CAAC;AAAA,EACzF,YAAY;AAAA,IACR,CAAC,QAAQ,EAAE,GAAG,KAAK,cAAc,SAAS,CAAC;AAAA,IAC3C,CAAC,KAAK,EAAE,GAAG,KAAK,cAAc,MAAM,CAAC;AAAA,IACrC,CAAC,QAAQ,EAAE,GAAG,KAAK,cAAc,SAAS,CAAC;AAAA,IAC3C,CAAC,SAAS,EAAE,GAAG,KAAK,cAAc,UAAU,CAAC;AAAA,IAC7C,CAAC,SAAS,EAAE,GAAG,KAAK,cAAc,UAAU,CAAC;AAAA,IAC7C,CAAC,YAAY,EAAE,GAAG,KAAK,cAAc,cAAc,CAAC;AAAA,IACpD,CAAC,YAAY,EAAE,GAAG,KAAK,cAAc,cAAc,CAAC;AAAA,IACpD,CAAC,gBAAgB,EAAE,GAAG,KAAK,cAAc,kBAAkB,CAAC;AAAA,IAC5D,CAAC,gBAAgB,EAAE,GAAG,KAAK,cAAc,kBAAkB,CAAC;AAAA,EAChE;AACJ,CAAC;AAEM,SAAS,kBAAkB,EAAE,SAAS,GAAkC;AAC3E,QAAM,cAAc,IAAI,YAAY;AACpC,SACI,oBAAC,iBAAc,QACX,8BAAC,uBAAoB,QAAQ,aAAc,UAAS,GACxD;AAER;","names":[]}
@@ -1,64 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
- var _chunkPBSL6JOFcjs = require('./chunk-PBSL6JOF.cjs');
4
-
5
-
6
- var _chunk5RX5WFEWcjs = require('./chunk-5RX5WFEW.cjs');
7
-
8
- // src/components/auth/methods/web3/Web3Connector.tsx
9
- var _jsxruntime = require('react/jsx-runtime');
10
- function Web3Connector({
11
- icon,
12
- appearance,
13
- isLoading,
14
- onConnectClick,
15
- headingText,
16
- buttonText
17
- }) {
18
- var _a, _b, _c, _d, _e, _f;
19
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
20
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center text-center mt-8 mb-4 gap-2", children: [
21
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: icon, alt: "metamask", className: "h-[74px] w-[74px]" }),
22
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23
- "h3",
24
- {
25
- className: "text-lg font-semibold text-cm-text-primary",
26
- style: { color: (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.textPrimary },
27
- children: headingText
28
- }
29
- ),
30
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31
- "p",
32
- {
33
- className: "text-base font-normal text-cm-text-primary",
34
- style: { color: (_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.textPrimary },
35
- children: "Don\u2019t see your wallet? Check your other browser windows."
36
- }
37
- )
38
- ] }),
39
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
40
- "button",
41
- {
42
- className: _chunk5RX5WFEWcjs.classNames.call(void 0,
43
- "relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center",
44
- "transition-colors duration-200 ease-in-out",
45
- "hover:bg-cm-hover focus:bg-cm-hover outline-none",
46
- isLoading ? "cursor-not-allowed bg-cm-muted-primary" : ""
47
- ),
48
- style: {
49
- borderRadius: appearance == null ? void 0 : appearance.borderRadius,
50
- borderColor: (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.border,
51
- backgroundColor: (_d = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _d.buttonBackground
52
- },
53
- onClick: isLoading ? void 0 : onConnectClick,
54
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-medium", style: { color: (_e = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _e.textPrimary }, children: buttonText })
55
- }
56
- ),
57
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center pt-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPBSL6JOFcjs.PoweredByCrossmint, { color: (_f = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _f.textSecondary }) })
58
- ] });
59
- }
60
-
61
-
62
-
63
- exports.Web3Connector = Web3Connector;
64
- //# sourceMappingURL=chunk-Q3UM7UCM.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/auth/methods/web3/Web3Connector.tsx"],"names":[],"mappings":";;;;;;;;AAoBQ,mBAEQ,KADJ,YADJ;AAhBD,SAAS,cAAc;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAOG;AAlBH;AAmBI,SACI,iCACI;AAAA,yBAAC,SAAI,WAAU,0DACX;AAAA,0BAAC,SAAI,KAAK,MAAM,KAAK,YAAY,WAAU,qBAAoB;AAAA,MAC/D;AAAA,QAAC;AAAA;AAAA,UACG,WAAU;AAAA,UACV,OAAO,EAAE,QAAO,8CAAY,WAAZ,mBAAoB,YAAY;AAAA,UAE/C;AAAA;AAAA,MACL;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACG,WAAU;AAAA,UACV,OAAO,EAAE,QAAO,8CAAY,WAAZ,mBAAoB,YAAY;AAAA,UACnD;AAAA;AAAA,MAED;AAAA,OACJ;AAAA,IAEA;AAAA,MAAC;AAAA;AAAA,QACG,WAAW;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA,YAAY,2CAA2C;AAAA,QAC3D;AAAA,QACA,OAAO;AAAA,UACH,cAAc,yCAAY;AAAA,UAC1B,cAAa,8CAAY,WAAZ,mBAAoB;AAAA,UACjC,kBAAiB,8CAAY,WAAZ,mBAAoB;AAAA,QACzC;AAAA,QACA,SAAS,YAAY,SAAY;AAAA,QAEjC,8BAAC,UAAK,WAAU,eAAc,OAAO,EAAE,QAAO,8CAAY,WAAZ,mBAAoB,YAAY,GACzE,sBACL;AAAA;AAAA,IACJ;AAAA,IAEA,oBAAC,SAAI,WAAU,4BACX,8BAAC,sBAAmB,QAAO,8CAAY,WAAZ,mBAAoB,eAAe,GAClE;AAAA,KACJ;AAER","sourcesContent":["import type { UIConfig } from \"@crossmint/common-sdk-base\";\nimport { PoweredByCrossmint } from \"@/components/common/PoweredByCrossmint\";\nimport { classNames } from \"@/utils/classNames\";\n\nexport function Web3Connector({\n icon,\n appearance,\n isLoading,\n onConnectClick,\n headingText,\n buttonText,\n}: {\n icon: string;\n appearance?: UIConfig;\n isLoading: boolean;\n onConnectClick: () => void;\n headingText: string;\n buttonText: string;\n}) {\n return (\n <>\n <div className=\"flex flex-col items-center text-center mt-8 mb-4 gap-2\">\n <img src={icon} alt={\"metamask\"} className=\"h-[74px] w-[74px]\" />\n <h3\n className=\"text-lg font-semibold text-cm-text-primary\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n {headingText}\n </h3>\n <p\n className=\"text-base font-normal text-cm-text-primary\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n Don’t see your wallet? Check your other browser windows.\n </p>\n </div>\n\n <button\n className={classNames(\n \"relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center\",\n \"transition-colors duration-200 ease-in-out\",\n \"hover:bg-cm-hover focus:bg-cm-hover outline-none\",\n isLoading ? \"cursor-not-allowed bg-cm-muted-primary\" : \"\"\n )}\n style={{\n borderRadius: appearance?.borderRadius,\n borderColor: appearance?.colors?.border,\n backgroundColor: appearance?.colors?.buttonBackground,\n }}\n onClick={isLoading ? undefined : onConnectClick}\n >\n <span className=\"font-medium\" style={{ color: appearance?.colors?.textPrimary }}>\n {buttonText}\n </span>\n </button>\n\n <div className=\"flex justify-center pt-4\">\n <PoweredByCrossmint color={appearance?.colors?.textSecondary} />\n </div>\n </>\n );\n}\n"]}
@@ -1,11 +0,0 @@
1
- // src/icons/base64Icons.ts
2
- var metamaskIcon = "data:image/png;base64,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";
3
- var coinbaseIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIAAQMAAADOtka5AAAABlBMVEUAXP////+GP7vmAAADxUlEQVR42u2cPZKcMBCFoSYgJHTIEXwEHQ1u5jkKoUMCBwQY2eXyz84sSC19aMFT76VbfDuoX2trR+pXVZIkSZIkSZIkSZIkSZIkHaDP3n8lz3/xP/U9/3nnf2nOfb7xvzVmAvxf5T3f/gNM8APkfYTmLSDnI/RvAWv68zf/oHsyoHsEzOwNMt7h6Q3S36F9BkzsDZLfofbvNOS7KKejuveAmS1BYj9sLEFaIZstwMiWIG0RtpYgxQmbS5DihGYbMOY3Qmo7uG3AkrWd5lip3gMMbA3tq9juASa2hvZV7PcAK1xD6yre9gF3VgRrGbp9wMyKYC1Dvw9YYRFs3XALAe6sCLYytCHAxKpoq6MLARawHVnLUIcBA6uipY5NGDCyKlrq2IUBM6uipY59GLBCG8SNUMcAA7NB3AhNDDAyG8SN0MUAM7NB3Ah9ccAKfRRzUh0HDMxHMSc1ccDIfBRzEgZ0ccDMjBhzUh8HrNBHESdRQG0BDMyIYSs2FsBYEtBaABMzYtiKGOAsgIU5OexlDPCeebm2AYZygJsNcC8HaGyAkbVCqBkwoLMB5nIAZwMs5QC9DbCWA3jP2rH+MMDAeukAwL0UoLECxlKA1gqYSgE6K2AuBXBWwHJZQG8FrKUA3sMN4XRAbQcMZQA3O+B+UUAT8KuzbElNYNdoMwCj9Wd7v2UIlHj6EEDI5pNhS1xDrY4BswGwhLa7QgBnByyvCujtgPVVAd4O8AJsA+oUwCDAJuCWArgLcFFAkwIYBRBgB9CmAKZLfgIBBBBAAAGuBHiBv0wCCKB/OF4GoH//rwDQN1lHAPSdqr5bv8YJBz6kaekxET6o+siztkLHhUcfWKYfmf5Xx8aFjs4x4AUuMFzgFsgLXKU5/z7S+Xeyzr+Xdv7dPHw/EQPwHU0O6Nl2cADAsW4+ANCxbj4AcP6dbXzt/Pyb8+dPD+ABiAvMcDjWS1eYpMHDQOfPM+GRLDwUdv5cGx/Nc8zJB4wnnj9hiYdE8ZgqHpTFo7p8WBgDHDPiASPbeGgcj63jwXk8uo/DA3h8gWM2OCDCAYdI4BgLHKSBozzCdbSEwjhWxQMCVXCkCw6VwbE2FerFSB1tCUuOVfGAeCMcsIQjnipYBB5zxYO2cNQXDhvDcWc4cI1HvuHQORx7h4P3cPQfDx/E8Yc3uASbi5CWg9mxJTggBhMHceIoUB5GiuNQcSDr8zukR8LiUNrHbSkjFvfRS2MGAEcD83BiHI/MA5r/NPVSZauHz1fVJ++/VZIkSZIkSZIkSZIkSZIkHaAfwTLth8RB9t4AAAAASUVORK5CYII=";
4
- var walletConnectIcon = "data:image/png;base64,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";
5
-
6
- export {
7
- metamaskIcon,
8
- coinbaseIcon,
9
- walletConnectIcon
10
- };
11
- //# sourceMappingURL=chunk-QFQWKKVU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/icons/base64Icons.ts"],"sourcesContent":["const metamaskIcon =\n \"data:image/png;base64,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\";\nconst coinbaseIcon =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIAAQMAAADOtka5AAAABlBMVEUAXP////+GP7vmAAADxUlEQVR42u2cPZKcMBCFoSYgJHTIEXwEHQ1u5jkKoUMCBwQY2eXyz84sSC19aMFT76VbfDuoX2trR+pXVZIkSZIkSZIkSZIkSZIkHaDP3n8lz3/xP/U9/3nnf2nOfb7xvzVmAvxf5T3f/gNM8APkfYTmLSDnI/RvAWv68zf/oHsyoHsEzOwNMt7h6Q3S36F9BkzsDZLfofbvNOS7KKejuveAmS1BYj9sLEFaIZstwMiWIG0RtpYgxQmbS5DihGYbMOY3Qmo7uG3AkrWd5lip3gMMbA3tq9juASa2hvZV7PcAK1xD6yre9gF3VgRrGbp9wMyKYC1Dvw9YYRFs3XALAe6sCLYytCHAxKpoq6MLARawHVnLUIcBA6uipY5NGDCyKlrq2IUBM6uipY59GLBCG8SNUMcAA7NB3AhNDDAyG8SN0MUAM7NB3Ah9ccAKfRRzUh0HDMxHMSc1ccDIfBRzEgZ0ccDMjBhzUh8HrNBHESdRQG0BDMyIYSs2FsBYEtBaABMzYtiKGOAsgIU5OexlDPCeebm2AYZygJsNcC8HaGyAkbVCqBkwoLMB5nIAZwMs5QC9DbCWA3jP2rH+MMDAeukAwL0UoLECxlKA1gqYSgE6K2AuBXBWwHJZQG8FrKUA3sMN4XRAbQcMZQA3O+B+UUAT8KuzbElNYNdoMwCj9Wd7v2UIlHj6EEDI5pNhS1xDrY4BswGwhLa7QgBnByyvCujtgPVVAd4O8AJsA+oUwCDAJuCWArgLcFFAkwIYBRBgB9CmAKZLfgIBBBBAAAGuBHiBv0wCCKB/OF4GoH//rwDQN1lHAPSdqr5bv8YJBz6kaekxET6o+siztkLHhUcfWKYfmf5Xx8aFjs4x4AUuMFzgFsgLXKU5/z7S+Xeyzr+Xdv7dPHw/EQPwHU0O6Nl2cADAsW4+ANCxbj4AcP6dbXzt/Pyb8+dPD+ABiAvMcDjWS1eYpMHDQOfPM+GRLDwUdv5cGx/Nc8zJB4wnnj9hiYdE8ZgqHpTFo7p8WBgDHDPiASPbeGgcj63jwXk8uo/DA3h8gWM2OCDCAYdI4BgLHKSBozzCdbSEwjhWxQMCVXCkCw6VwbE2FerFSB1tCUuOVfGAeCMcsIQjnipYBB5zxYO2cNQXDhvDcWc4cI1HvuHQORx7h4P3cPQfDx/E8Yc3uASbi5CWg9mxJTggBhMHceIoUB5GiuNQcSDr8zukR8LiUNrHbSkjFvfRS2MGAEcD83BiHI/MA5r/NPVSZauHz1fVJ++/VZIkSZIkSZIkSZIkSZIkHaAfwTLth8RB9t4AAAAASUVORK5CYII=\";\nconst walletConnectIcon =\n \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAJOAgMAAAC8RFd1AAAACVBMVEVHcEwHhf/9/v7BS/OTAAAAAXRSTlMAQObYZgAAC79JREFUeNrtnD2S7CgQhFHE6gi6j46AITA4AvdpZ31tRPcp15j3N90IskoUuRsB9gwkH1m0gALn/uflr50sYDu47S8hcBFsIXiqgBBCYLa/hsBFEAIXwfolYGdaMIQQDmIMchFsPwUcZAAsG66/BXhiDPIQrH8K8EwLkmy4hG9l5wJgIAiBi2B9F+DJAEZH4vopwDMtOBzBUmh/qA1LAEZGYhHASARrWYAnxuBYG65XAjwZwCgEy7WAnReDAyOxAmAMgq0mwFMtOMaGa12AJwOwR7C2BOxMCw6IxCUELoKtLeCgWtDahisiwJMBWCJYMQGeaUFTGy4BLDsXgB2CELgIVlyAJwOwicRVIsAzLWhkwyWIys4FYIBACKA/glUqwBNj0CISV7kATwbQF8GiEbDzYrB7JKoA9ESw6QR4qgV72nDVCvBkAL0QLHoBO9OC3SLxBoA+CLY7Ag6qBfvYcL0nwJMB3Eew3hXgmRbsYMMl3C47F8BdBCFwEaw9BHgygDuRuPYRsDMteMuGSwhcBFsvAQcZgNaGaz8BnhiDegRrTwGeDEBjw6WrAEUkboGMIAQugq23AE8GII3Etb8Azx0BIQIDADIbWgCQROISAhfBaiPgIMagzIarlQBPBoCOwWImAESwBS4CQwBYJG6WAg62gECMQdSGtgDaCIwBtG1oDaBlwyUELoLVXsDB+RkAbbiOEODJAGoIljECdl4MNmw4CMA1gm2UgINqwWsbruMEeDKAMoJ1pICdacELBMvQ9gsIxgIoRGIYXKgWLCEIZAHLcAFvk9H49r8j+Isg4FskboGMIAQugpUjwJMB/J6MVpYAz7TgHwgWWvs/bMgD8BWJRABfCFamgIMYgz9tuHIFeKYF/xMCjilgCpgC5jwwCUwCk8AkMAlMApPAJDAJTAKTwCQwCUwCk8Ak8D8n8Pfr9Xr9wyIQX78KhUB6/VHO8QRe38tzNIHXRxlL4LN9JQMlgfzqpUBHIL2K5RxFIL4uymMQgav2NYOgIZAuBSgGQUEgviplBIFcE/C0J1AFIPehnECuC3haE2gAECMQE8gtAU9bAk0AUgRSArkt4GlJAAAgnAuEBBIi4DQkgLQvGwMZAQiAzIYyAvnVHYGIQHyBxYpAQgWcRgTQ9iVjICEAj4DEhhICCRdwmhDA2xeMgYCAYAQEYyAgkCQCTgMC+WUxBjgB0QjgcxFOIMkEPLoTyDIBz+4EXi+TMYAJRKmAR2cCSSrg7EwgSwU8+xIQjwBqgsNOwKMrgVwZ6FsbNscdAWeHPSuQQGx0MalNABJIrTFOWhN4tYBT+he3CAAjrDSB1wrotXuMEYgI3qQSgBFIEF2VCw+dgIf+r7oQeGKzlR2BB2YVMwJPMFjMouAEhfaLgohWLJ+INDPhCY7V2XEmzKC3ovjHSPFr+ESVWn0PnKBS7IME/SJCOxaln2Tyb8In+oePrgQS2rEk/CyXrwvQPwQXJvDKCK43y5ZmXro0O9HBenQmANcbZctzL12eo4OFblAcwg2KJzpYZ28CeL3JaI8Irjca7ZLh9RrtE+L1ZsOd0gc6WFZ7xQ90sIIBAbxeyXa97LzgRAfrtCCA15sERzaH6MgGHqxgQiBoE9Z6ETApM6f0v00AcXMCQrMWlVUCSOADs2OqTYxVAsCUmoDpMddE1gggkz8ioPojViOA/PyBS5VTRQD4sIiAgFT9kKkRAD6BEvChmqsiKwSQj8AMiKx/zFYIIJ/B8I7BqSAALAQisFxL9QVNhQCwFErAgjXXKV0TQBaDGRDZWNReE8jAchjYtIiNZb1vCjiB3ZBHe1n/lBJAtloSsG+UG5R8U8ALqPzZHqUrSpcEkO02YO8wtnbXfFvA2a78WmRq7S9eEYjAlmsCdkVzi9IVgQTsemfZGcpDRCADAoAzjNjcZb8iAJx8IGcD7W3+CwIREICcjuQmJQ8IuOheBkS2q7kgkAABwEEW0A+PCHi2K0cOc081gWf7T8q15/afQASK3cvt01TkvBMiUPxXIFkAEQBFQal7ETirzy91FMRm9xKQU4EIQGbC4v/mdlJFRA7Tkd+CYveAlBXo0B/5NSz9cwTyljJy6A98DxS7h+QtQfkUl19Ejf/O7bwlyALIN2Gxe0DyGpb3cUmg/u8RyGCELACsC4rdS0AGI5ZSc70yqv4/kMGIWQBYG5a6F4EsUjD155pArQJEAGaBCoEawgyksYJZVb61QVGsIbdzmUEL1HZIrhkiF5/R7C/f2qQqVZEAAaAFagSuIWYgnxxNrPONjcpiHUA+OWqB6k7pFcUI5JOjFqgSuKoEuXuewRGoErjCmIFLBXBupa8fWBRrAS4VRHQE6icm5dVBBC4VwBaoEyhXk4CbJbAFGueGRb7I9X88vdZLBDyaFvghErdAg0DJBMj7Awmch5sESj15N0ZpusIt0CBQmgneGyw5VZDg3Dg7LnTlHXlBpMACrdPzz+59tvdpAoEFWgQ++/Ip6dMEAgs08wc++vvZ3KckSY57K3/gozOfwD8GRWKBJoH37gFx8ZBYoEngvcFS0L2PisQC7RwS4FZjvHPtr5lDksUzv+y6U5NAAnqXb1z9bBKIQOXpxr3Hdh7RXQHhJoEqX0BkKw2mTSABlWf97d82gQgISPqrr0AuGVB51F/+BXLJMlC5/vozQCABlWf1BXCAQAQqT1oLQPmEQOVRff8bySfMQOXqG/AIgQRUnpUWgAhEoPKkvQAP5ZQClUftEwBQTmkGKtc+ggARSEDlWfkCAEQgApUn5RsIWF4xUHlUPgCA5RVnoHLlGwzKm9cFf2WdAK+8/P5ZebK8fR8Af0WdAM2tW/T9gZ4vMERgiskqAdpXOJAHEEJHAsjN/qh5ggK+X5CA3mlGQHHr9rp3WTwPCwgEoHeKy//q94gebad2fo/orXsApd4vMiH5dVluAeWrXCdAKXQmgORYRrkFlC+zAZTO7gSEebaP7gSC7BmQ0J2ALNcavhnoFQ8kIpnkpwEBUb79w4BAkLxDEgwIIHcuotQCmndKkYdQbN4pjfhDKA8TAgEQEIUWkN05zUDlQgvICCT0JZbTiEBEX2J5GBEIQOVRZgHFm9WASLM3q0PCnoI5zQhE7CmYhxmBgD0FE8wIhIS8xCJ6On7evp8EJoFJYBKYBCaBSWASmAQmgUlgEpgEJoFJYBKYBCaBSWAS8HwBK1uA4wpwjjsGh3NuYQrYneOOgXPOMW3oneMi+Gqfh+AHAJ4N9x8CWJF4/GyfheAXABaC3+1zbOj/EODIACgIvgFgIPje/ngbHm8CFmIMUhC8AxiOwH8IcFQLDo/EAoCxCErtj0RwFAUsxBgcHIllAAMRXAAYZ8Or9kfZ0F8KcGQAgxBUAIxBsNcEbLwYHBaJVQAjxqDevr0NfUOAIwMwR9AEYI1gbwvYeDE4IBIBALYIkPYtbeghAY4MwBABCMAOAdq+lQ0PWMBCjEFDBDgAIwReIMBRLWgUiSIAFghk7fdHcAgFLMQYNIlEKYDuCMQAettQ3n5fG3qFAEcG0BWBCkBPBLtOwMaLwc6RqATQbwy07feyoVcLcGQAnRDcANDHhu5O2Xgx2A3B7rgI7gHoYEN/U4CjWrADgtsA7iK43/49Gx4dBCzEGLyNoAeAWwh8FwGOasFbkdgJgB5Br/a1CLoB0Npw7yZAF4lHv/Z1CDoC0NmwZ/saG/quAhwZgAJBZwByBHtvARsvBlWR2B2AcAz6AxDa0BsIcMQYFCMwASCxobMpG9OCIgS74yKwAgDb0JsJcFQLwggMAWAILNtHbHiYCliIMQgisAUAIPDGAhzVgkAkmgNoIbBvv47gGCBgIcZgMxJHAKgiGAKgZsMx7V/b0A8S4MgALhEMA3Blw32YgHIkHuPaLyMYCKBow5EAijb0QwU4YgxeIBgM4NOGbnTZmBYsINgdF8F4AG829AQBjmrBNwQUAH8i4LT/24YkAL8jcXdcBAer/Z8IPE2Ao1rwVyQSAXyNgWOWjQvAuYUMwLntcLPcK/8Ce/vyJdid/WwAAAAASUVORK5CYII=\";\n\nexport { metamaskIcon, coinbaseIcon, walletConnectIcon };\n"],"mappings":";AAAA,IAAM,eACF;AACJ,IAAM,eACF;AACJ,IAAM,oBACF;","names":[]}
@@ -1,11 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/icons/base64Icons.ts
2
- var metamaskIcon = "data:image/png;base64,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";
3
- var coinbaseIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIAAQMAAADOtka5AAAABlBMVEUAXP////+GP7vmAAADxUlEQVR42u2cPZKcMBCFoSYgJHTIEXwEHQ1u5jkKoUMCBwQY2eXyz84sSC19aMFT76VbfDuoX2trR+pXVZIkSZIkSZIkSZIkSZIkHaDP3n8lz3/xP/U9/3nnf2nOfb7xvzVmAvxf5T3f/gNM8APkfYTmLSDnI/RvAWv68zf/oHsyoHsEzOwNMt7h6Q3S36F9BkzsDZLfofbvNOS7KKejuveAmS1BYj9sLEFaIZstwMiWIG0RtpYgxQmbS5DihGYbMOY3Qmo7uG3AkrWd5lip3gMMbA3tq9juASa2hvZV7PcAK1xD6yre9gF3VgRrGbp9wMyKYC1Dvw9YYRFs3XALAe6sCLYytCHAxKpoq6MLARawHVnLUIcBA6uipY5NGDCyKlrq2IUBM6uipY59GLBCG8SNUMcAA7NB3AhNDDAyG8SN0MUAM7NB3Ah9ccAKfRRzUh0HDMxHMSc1ccDIfBRzEgZ0ccDMjBhzUh8HrNBHESdRQG0BDMyIYSs2FsBYEtBaABMzYtiKGOAsgIU5OexlDPCeebm2AYZygJsNcC8HaGyAkbVCqBkwoLMB5nIAZwMs5QC9DbCWA3jP2rH+MMDAeukAwL0UoLECxlKA1gqYSgE6K2AuBXBWwHJZQG8FrKUA3sMN4XRAbQcMZQA3O+B+UUAT8KuzbElNYNdoMwCj9Wd7v2UIlHj6EEDI5pNhS1xDrY4BswGwhLa7QgBnByyvCujtgPVVAd4O8AJsA+oUwCDAJuCWArgLcFFAkwIYBRBgB9CmAKZLfgIBBBBAAAGuBHiBv0wCCKB/OF4GoH//rwDQN1lHAPSdqr5bv8YJBz6kaekxET6o+siztkLHhUcfWKYfmf5Xx8aFjs4x4AUuMFzgFsgLXKU5/z7S+Xeyzr+Xdv7dPHw/EQPwHU0O6Nl2cADAsW4+ANCxbj4AcP6dbXzt/Pyb8+dPD+ABiAvMcDjWS1eYpMHDQOfPM+GRLDwUdv5cGx/Nc8zJB4wnnj9hiYdE8ZgqHpTFo7p8WBgDHDPiASPbeGgcj63jwXk8uo/DA3h8gWM2OCDCAYdI4BgLHKSBozzCdbSEwjhWxQMCVXCkCw6VwbE2FerFSB1tCUuOVfGAeCMcsIQjnipYBB5zxYO2cNQXDhvDcWc4cI1HvuHQORx7h4P3cPQfDx/E8Yc3uASbi5CWg9mxJTggBhMHceIoUB5GiuNQcSDr8zukR8LiUNrHbSkjFvfRS2MGAEcD83BiHI/MA5r/NPVSZauHz1fVJ++/VZIkSZIkSZIkSZIkSZIkHaAfwTLth8RB9t4AAAAASUVORK5CYII=";
4
- var walletConnectIcon = "data:image/png;base64,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";
5
-
6
-
7
-
8
-
9
-
10
- exports.metamaskIcon = metamaskIcon; exports.coinbaseIcon = coinbaseIcon; exports.walletConnectIcon = walletConnectIcon;
11
- //# sourceMappingURL=chunk-QK5J7FD3.cjs.map