@crossmint/client-sdk-react-ui 1.18.3 → 1.19.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (785) hide show
  1. package/dist/chunk-2DG4R653.cjs +79 -0
  2. package/dist/chunk-2DG4R653.cjs.map +1 -0
  3. package/dist/chunk-2T2VCED7.js +17 -0
  4. package/dist/chunk-2T2VCED7.js.map +1 -0
  5. package/dist/chunk-33WZFL2D.js +80 -0
  6. package/dist/chunk-33WZFL2D.js.map +1 -0
  7. package/dist/chunk-35QBUT6F.js +89 -0
  8. package/dist/chunk-35QBUT6F.js.map +1 -0
  9. package/dist/chunk-35RV5AOT.cjs +70 -0
  10. package/dist/chunk-35RV5AOT.cjs.map +1 -0
  11. package/dist/chunk-3CWYQQ65.cjs +45 -0
  12. package/dist/chunk-3CWYQQ65.cjs.map +1 -0
  13. package/dist/chunk-3IQALRY5.js +14 -0
  14. package/dist/chunk-3IQALRY5.js.map +1 -0
  15. package/dist/chunk-3J6CUUWT.js +50 -0
  16. package/dist/chunk-3J6CUUWT.js.map +1 -0
  17. package/dist/chunk-3KR4GYLF.js +26 -0
  18. package/dist/chunk-3KR4GYLF.js.map +1 -0
  19. package/dist/chunk-43P7QWBK.cjs +17 -0
  20. package/dist/chunk-43P7QWBK.cjs.map +1 -0
  21. package/dist/chunk-4D4AAZAE.cjs +32 -0
  22. package/dist/chunk-4D4AAZAE.cjs.map +1 -0
  23. package/dist/chunk-4DAZAO6Y.cjs +59 -0
  24. package/dist/chunk-4DAZAO6Y.cjs.map +1 -0
  25. package/dist/chunk-4EZ2R33I.cjs +28 -0
  26. package/dist/chunk-4EZ2R33I.cjs.map +1 -0
  27. package/dist/chunk-5BYCXTC3.js +17 -0
  28. package/dist/chunk-5BYCXTC3.js.map +1 -0
  29. package/dist/chunk-5KK3YQWD.cjs +1 -0
  30. package/dist/chunk-5KK3YQWD.cjs.map +1 -0
  31. package/dist/chunk-5OGRPJ2L.js +198 -0
  32. package/dist/chunk-5OGRPJ2L.js.map +1 -0
  33. package/dist/chunk-5RDAQSJK.cjs +27 -0
  34. package/dist/chunk-5RDAQSJK.cjs.map +1 -0
  35. package/dist/chunk-5RX5WFEW.cjs +11 -0
  36. package/dist/chunk-5RX5WFEW.cjs.map +1 -0
  37. package/dist/chunk-5TH75X5L.js +27 -0
  38. package/dist/chunk-5TH75X5L.js.map +1 -0
  39. package/dist/chunk-6A5ZUKVT.cjs +31 -0
  40. package/dist/chunk-6A5ZUKVT.cjs.map +1 -0
  41. package/dist/chunk-6LO4NSRH.cjs +21 -0
  42. package/dist/chunk-6LO4NSRH.cjs.map +1 -0
  43. package/dist/chunk-6TFIQWYJ.js +79 -0
  44. package/dist/chunk-6TFIQWYJ.js.map +1 -0
  45. package/dist/chunk-72LSMHPL.js +131 -0
  46. package/dist/chunk-72LSMHPL.js.map +1 -0
  47. package/dist/chunk-7EPTEGBP.cjs +51 -0
  48. package/dist/chunk-7EPTEGBP.cjs.map +1 -0
  49. package/dist/chunk-7HBAJHZZ.cjs +198 -0
  50. package/dist/chunk-7HBAJHZZ.cjs.map +1 -0
  51. package/dist/chunk-7HENIDX5.js +39 -0
  52. package/dist/chunk-7HENIDX5.js.map +1 -0
  53. package/dist/chunk-7IC6PRTG.js +10 -0
  54. package/dist/chunk-7IC6PRTG.js.map +1 -0
  55. package/dist/chunk-7KIY6DLW.js +28 -0
  56. package/dist/chunk-7KIY6DLW.js.map +1 -0
  57. package/dist/chunk-7UXIFMNO.js +1 -0
  58. package/dist/chunk-7UXIFMNO.js.map +1 -0
  59. package/dist/chunk-A7J4DAE7.js +16 -0
  60. package/dist/chunk-A7J4DAE7.js.map +1 -0
  61. package/dist/chunk-ATHR4S2P.js +48 -0
  62. package/dist/chunk-ATHR4S2P.js.map +1 -0
  63. package/dist/chunk-AXZLLRBU.cjs +26 -0
  64. package/dist/chunk-AXZLLRBU.cjs.map +1 -0
  65. package/dist/chunk-B7LYPQ4K.cjs +38 -0
  66. package/dist/chunk-B7LYPQ4K.cjs.map +1 -0
  67. package/dist/chunk-C2VARNXL.js +70 -0
  68. package/dist/chunk-C2VARNXL.js.map +1 -0
  69. package/dist/chunk-C3MY2FND.cjs +78 -0
  70. package/dist/chunk-C3MY2FND.cjs.map +1 -0
  71. package/dist/chunk-CRTRMMJ7.js +59 -0
  72. package/dist/chunk-CRTRMMJ7.js.map +1 -0
  73. package/dist/chunk-DF5JCCWO.cjs +124 -0
  74. package/dist/chunk-DF5JCCWO.cjs.map +1 -0
  75. package/dist/chunk-EAEMD3DY.cjs +34 -0
  76. package/dist/chunk-EAEMD3DY.cjs.map +1 -0
  77. package/dist/chunk-EH64D65Z.cjs +137 -0
  78. package/dist/chunk-EH64D65Z.cjs.map +1 -0
  79. package/dist/chunk-EON274FF.cjs +33 -0
  80. package/dist/chunk-EON274FF.cjs.map +1 -0
  81. package/dist/chunk-EOWJ7775.js +18 -0
  82. package/dist/chunk-EOWJ7775.js.map +1 -0
  83. package/dist/chunk-F2AWZC4M.js +51 -0
  84. package/dist/chunk-F2AWZC4M.js.map +1 -0
  85. package/dist/chunk-F3AMLCQL.js +22 -0
  86. package/dist/chunk-F3AMLCQL.js.map +1 -0
  87. package/dist/chunk-FCL2DOPJ.js +33 -0
  88. package/dist/chunk-FCL2DOPJ.js.map +1 -0
  89. package/dist/chunk-FHPIRUUD.cjs +17 -0
  90. package/dist/chunk-FHPIRUUD.cjs.map +1 -0
  91. package/dist/chunk-FKL462NZ.js +22 -0
  92. package/dist/chunk-FKL462NZ.js.map +1 -0
  93. package/dist/chunk-FU74NHZW.js +34 -0
  94. package/dist/chunk-FU74NHZW.js.map +1 -0
  95. package/dist/chunk-FXKNGWFA.cjs +17 -0
  96. package/dist/chunk-FXKNGWFA.cjs.map +1 -0
  97. package/dist/chunk-H4F7UVPT.js +34 -0
  98. package/dist/chunk-H4F7UVPT.js.map +1 -0
  99. package/dist/chunk-H4TVOH5V.cjs +51 -0
  100. package/dist/chunk-H4TVOH5V.cjs.map +1 -0
  101. package/dist/chunk-HCW4RO2O.cjs +29 -0
  102. package/dist/chunk-HCW4RO2O.cjs.map +1 -0
  103. package/dist/chunk-HFPR3JUK.js +31 -0
  104. package/dist/chunk-HFPR3JUK.js.map +1 -0
  105. package/dist/chunk-HIU3FK4M.cjs +13 -0
  106. package/dist/chunk-HIU3FK4M.cjs.map +1 -0
  107. package/dist/chunk-HPOZ6I54.cjs +44 -0
  108. package/dist/chunk-HPOZ6I54.cjs.map +1 -0
  109. package/dist/chunk-I22MLYYW.cjs +21 -0
  110. package/dist/chunk-I22MLYYW.cjs.map +1 -0
  111. package/dist/chunk-I63FQCIV.js +189 -0
  112. package/dist/chunk-I63FQCIV.js.map +1 -0
  113. package/dist/chunk-IDJ7FOHB.js +34 -0
  114. package/dist/chunk-IDJ7FOHB.js.map +1 -0
  115. package/dist/chunk-IQPA3QOV.js +27 -0
  116. package/dist/chunk-IQPA3QOV.js.map +1 -0
  117. package/dist/chunk-IUCMANQB.js +137 -0
  118. package/dist/chunk-IUCMANQB.js.map +1 -0
  119. package/dist/chunk-JBCO6SN6.js +50 -0
  120. package/dist/chunk-JBCO6SN6.js.map +1 -0
  121. package/dist/chunk-JVVTHOFN.js +153 -0
  122. package/dist/chunk-JVVTHOFN.js.map +1 -0
  123. package/dist/chunk-KBMNS57M.js +17 -0
  124. package/dist/chunk-KBMNS57M.js.map +1 -0
  125. package/dist/chunk-KEKBOJCF.cjs +50 -0
  126. package/dist/chunk-KEKBOJCF.cjs.map +1 -0
  127. package/dist/chunk-KLWDDALZ.cjs +14 -0
  128. package/dist/chunk-KLWDDALZ.cjs.map +1 -0
  129. package/dist/chunk-KNOUJZN5.cjs +32 -0
  130. package/dist/chunk-KNOUJZN5.cjs.map +1 -0
  131. package/dist/chunk-KPQDVXHK.js +105 -0
  132. package/dist/chunk-KPQDVXHK.js.map +1 -0
  133. package/dist/chunk-KYC6TDD4.cjs +82 -0
  134. package/dist/chunk-KYC6TDD4.cjs.map +1 -0
  135. package/dist/chunk-L3FKENHU.js +14 -0
  136. package/dist/chunk-L3FKENHU.js.map +1 -0
  137. package/dist/chunk-LAI55KMW.cjs +34 -0
  138. package/dist/chunk-LAI55KMW.cjs.map +1 -0
  139. package/dist/chunk-LD7PAUBR.cjs +31 -0
  140. package/dist/chunk-LD7PAUBR.cjs.map +1 -0
  141. package/dist/chunk-LEAESLKV.cjs +131 -0
  142. package/dist/chunk-LEAESLKV.cjs.map +1 -0
  143. package/dist/chunk-LYNYDYMA.js +31 -0
  144. package/dist/chunk-LYNYDYMA.js.map +1 -0
  145. package/dist/chunk-LYUX72JO.cjs +110 -0
  146. package/dist/chunk-LYUX72JO.cjs.map +1 -0
  147. package/dist/chunk-MH37OJT2.cjs +80 -0
  148. package/dist/chunk-MH37OJT2.cjs.map +1 -0
  149. package/dist/chunk-MSZ635MU.cjs +22 -0
  150. package/dist/chunk-MSZ635MU.cjs.map +1 -0
  151. package/dist/chunk-OBYFRT3I.cjs +14 -0
  152. package/dist/chunk-OBYFRT3I.cjs.map +1 -0
  153. package/dist/chunk-OYO5HXKX.js +32 -0
  154. package/dist/chunk-OYO5HXKX.js.map +1 -0
  155. package/dist/chunk-OZKGMYKX.js +21 -0
  156. package/dist/chunk-OZKGMYKX.js.map +1 -0
  157. package/dist/chunk-PCY3N6C2.js +1 -0
  158. package/dist/chunk-PCY3N6C2.js.map +1 -0
  159. package/dist/chunk-PHCGCJSA.js +107 -0
  160. package/dist/chunk-PHCGCJSA.js.map +1 -0
  161. package/dist/chunk-PIBLEOBQ.js +124 -0
  162. package/dist/chunk-PIBLEOBQ.js.map +1 -0
  163. package/dist/chunk-PQSWDEZX.js +28 -0
  164. package/dist/chunk-PQSWDEZX.js.map +1 -0
  165. package/dist/chunk-Q3M4UH5U.cjs +48 -0
  166. package/dist/chunk-Q3M4UH5U.cjs.map +1 -0
  167. package/dist/chunk-QBYRMPKN.js +82 -0
  168. package/dist/chunk-QBYRMPKN.js.map +1 -0
  169. package/dist/chunk-QDKAU3H2.js +31 -0
  170. package/dist/chunk-QDKAU3H2.js.map +1 -0
  171. package/dist/chunk-QQXBYOKA.cjs +16 -0
  172. package/dist/chunk-QQXBYOKA.cjs.map +1 -0
  173. package/dist/chunk-QTL5I5C2.js +38 -0
  174. package/dist/chunk-QTL5I5C2.js.map +1 -0
  175. package/dist/chunk-QUZAE6AP.cjs +1898 -0
  176. package/dist/chunk-QUZAE6AP.cjs.map +1 -0
  177. package/dist/chunk-R6IL3WOE.cjs +31 -0
  178. package/dist/chunk-R6IL3WOE.cjs.map +1 -0
  179. package/dist/chunk-RB34BJZ6.js +57 -0
  180. package/dist/chunk-RB34BJZ6.js.map +1 -0
  181. package/dist/chunk-RU4ZOZP5.cjs +1 -0
  182. package/dist/chunk-RU4ZOZP5.cjs.map +1 -0
  183. package/dist/chunk-RZPQIRIY.js +11 -0
  184. package/dist/chunk-RZPQIRIY.js.map +1 -0
  185. package/dist/chunk-SBA6FMFT.cjs +18 -0
  186. package/dist/chunk-SBA6FMFT.cjs.map +1 -0
  187. package/dist/chunk-STNIRPZP.js +78 -0
  188. package/dist/chunk-STNIRPZP.js.map +1 -0
  189. package/dist/chunk-SZA3XDJ5.cjs +1 -0
  190. package/dist/chunk-SZA3XDJ5.cjs.map +1 -0
  191. package/dist/chunk-SZMTAO74.cjs +50 -0
  192. package/dist/chunk-SZMTAO74.cjs.map +1 -0
  193. package/dist/chunk-TKFSXTH5.js +51 -0
  194. package/dist/chunk-TKFSXTH5.js.map +1 -0
  195. package/dist/chunk-TOCRVS5A.js +1898 -0
  196. package/dist/chunk-TOCRVS5A.js.map +1 -0
  197. package/dist/chunk-UASNCH3A.cjs +27 -0
  198. package/dist/chunk-UASNCH3A.cjs.map +1 -0
  199. package/dist/chunk-UD3UTFV3.cjs +1 -0
  200. package/dist/chunk-UD3UTFV3.cjs.map +1 -0
  201. package/dist/chunk-URKPLEPV.cjs +189 -0
  202. package/dist/chunk-URKPLEPV.cjs.map +1 -0
  203. package/dist/chunk-UYMSOJYK.cjs +89 -0
  204. package/dist/chunk-UYMSOJYK.cjs.map +1 -0
  205. package/dist/chunk-V7CWLETC.js +13 -0
  206. package/dist/chunk-V7CWLETC.js.map +1 -0
  207. package/dist/chunk-VEPJM7ZC.cjs +125 -0
  208. package/dist/chunk-VEPJM7ZC.cjs.map +1 -0
  209. package/dist/chunk-VKQ4YOEX.cjs +19 -0
  210. package/dist/chunk-VKQ4YOEX.cjs.map +1 -0
  211. package/dist/chunk-VPXCDIYZ.cjs +153 -0
  212. package/dist/chunk-VPXCDIYZ.cjs.map +1 -0
  213. package/dist/chunk-VZIXXIU5.js +32 -0
  214. package/dist/chunk-VZIXXIU5.js.map +1 -0
  215. package/dist/chunk-WO6OW46H.cjs +57 -0
  216. package/dist/chunk-WO6OW46H.cjs.map +1 -0
  217. package/dist/chunk-WS6OOSH7.js +110 -0
  218. package/dist/chunk-WS6OOSH7.js.map +1 -0
  219. package/dist/chunk-WVM3I3I3.js +45 -0
  220. package/dist/chunk-WVM3I3I3.js.map +1 -0
  221. package/dist/chunk-XDJ6F7N4.cjs +107 -0
  222. package/dist/chunk-XDJ6F7N4.cjs.map +1 -0
  223. package/dist/chunk-XSXE5LWO.js +19 -0
  224. package/dist/chunk-XSXE5LWO.js.map +1 -0
  225. package/dist/chunk-XW53XESI.cjs +39 -0
  226. package/dist/chunk-XW53XESI.cjs.map +1 -0
  227. package/dist/chunk-XXJ7LQ44.js +1 -0
  228. package/dist/chunk-XXJ7LQ44.js.map +1 -0
  229. package/dist/chunk-XYMYRPVT.js +1 -0
  230. package/dist/chunk-XYMYRPVT.js.map +1 -0
  231. package/dist/chunk-YE55IKBP.cjs +34 -0
  232. package/dist/chunk-YE55IKBP.cjs.map +1 -0
  233. package/dist/chunk-YHFDNKTS.cjs +10 -0
  234. package/dist/chunk-YHFDNKTS.cjs.map +1 -0
  235. package/dist/chunk-YKL53K3C.cjs +22 -0
  236. package/dist/chunk-YKL53K3C.cjs.map +1 -0
  237. package/dist/chunk-YWGWSNTU.js +125 -0
  238. package/dist/chunk-YWGWSNTU.js.map +1 -0
  239. package/dist/chunk-Z6QSH522.cjs +105 -0
  240. package/dist/chunk-Z6QSH522.cjs.map +1 -0
  241. package/dist/chunk-ZDQGQY7Z.js +29 -0
  242. package/dist/chunk-ZDQGQY7Z.js.map +1 -0
  243. package/dist/chunk-ZIHCLVCD.js +44 -0
  244. package/dist/chunk-ZIHCLVCD.js.map +1 -0
  245. package/dist/chunk-ZMSST6ZZ.cjs +28 -0
  246. package/dist/chunk-ZMSST6ZZ.cjs.map +1 -0
  247. package/dist/chunk-ZUIS3FET.js +21 -0
  248. package/dist/chunk-ZUIS3FET.js.map +1 -0
  249. package/dist/components/CrossmintNFTCollectionView.cjs +9 -1
  250. package/dist/components/CrossmintNFTCollectionView.cjs.map +1 -0
  251. package/dist/components/CrossmintNFTCollectionView.js +9 -1
  252. package/dist/components/CrossmintNFTCollectionView.js.map +1 -0
  253. package/dist/components/CrossmintNFTDetail.cjs +9 -1
  254. package/dist/components/CrossmintNFTDetail.cjs.map +1 -0
  255. package/dist/components/CrossmintNFTDetail.js +9 -1
  256. package/dist/components/CrossmintNFTDetail.js.map +1 -0
  257. package/dist/components/auth/AuthForm.cjs +44 -1
  258. package/dist/components/auth/AuthForm.cjs.map +1 -0
  259. package/dist/components/auth/AuthForm.js +44 -1
  260. package/dist/components/auth/AuthForm.js.map +1 -0
  261. package/dist/components/auth/AuthFormBackButton.cjs +44 -1
  262. package/dist/components/auth/AuthFormBackButton.cjs.map +1 -0
  263. package/dist/components/auth/AuthFormBackButton.js +44 -1
  264. package/dist/components/auth/AuthFormBackButton.js.map +1 -0
  265. package/dist/components/auth/AuthFormDialog.cjs +44 -1
  266. package/dist/components/auth/AuthFormDialog.cjs.map +1 -0
  267. package/dist/components/auth/AuthFormDialog.js +44 -1
  268. package/dist/components/auth/AuthFormDialog.js.map +1 -0
  269. package/dist/components/auth/EmbeddedAuthForm.cjs +45 -1
  270. package/dist/components/auth/EmbeddedAuthForm.cjs.map +1 -0
  271. package/dist/components/auth/EmbeddedAuthForm.js +45 -1
  272. package/dist/components/auth/EmbeddedAuthForm.js.map +1 -0
  273. package/dist/components/auth/PasskeyPrompt.cjs +15 -1
  274. package/dist/components/auth/PasskeyPrompt.cjs.map +1 -0
  275. package/dist/components/auth/PasskeyPrompt.js +15 -1
  276. package/dist/components/auth/PasskeyPrompt.js.map +1 -0
  277. package/dist/components/auth/methods/email/EmailAuthFlow.cjs +44 -1
  278. package/dist/components/auth/methods/email/EmailAuthFlow.cjs.map +1 -0
  279. package/dist/components/auth/methods/email/EmailAuthFlow.js +44 -1
  280. package/dist/components/auth/methods/email/EmailAuthFlow.js.map +1 -0
  281. package/dist/components/auth/methods/email/EmailOTPInput.cjs +46 -1
  282. package/dist/components/auth/methods/email/EmailOTPInput.cjs.map +1 -0
  283. package/dist/components/auth/methods/email/EmailOTPInput.js +46 -1
  284. package/dist/components/auth/methods/email/EmailOTPInput.js.map +1 -0
  285. package/dist/components/auth/methods/email/EmailSignIn.cjs +44 -1
  286. package/dist/components/auth/methods/email/EmailSignIn.cjs.map +1 -0
  287. package/dist/components/auth/methods/email/EmailSignIn.js +44 -1
  288. package/dist/components/auth/methods/email/EmailSignIn.js.map +1 -0
  289. package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs +44 -1
  290. package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs.map +1 -0
  291. package/dist/components/auth/methods/farcaster/FarcasterSignIn.js +44 -1
  292. package/dist/components/auth/methods/farcaster/FarcasterSignIn.js.map +1 -0
  293. package/dist/components/auth/methods/google/ContinueWithGoogle.cjs +44 -1
  294. package/dist/components/auth/methods/google/ContinueWithGoogle.cjs.map +1 -0
  295. package/dist/components/auth/methods/google/ContinueWithGoogle.js +44 -1
  296. package/dist/components/auth/methods/google/ContinueWithGoogle.js.map +1 -0
  297. package/dist/components/auth/methods/google/GoogleSignIn.cjs +44 -1
  298. package/dist/components/auth/methods/google/GoogleSignIn.cjs.map +1 -0
  299. package/dist/components/auth/methods/google/GoogleSignIn.js +44 -1
  300. package/dist/components/auth/methods/google/GoogleSignIn.js.map +1 -0
  301. package/dist/components/auth/methods/twitter/TwitterSignIn.cjs +44 -1
  302. package/dist/components/auth/methods/twitter/TwitterSignIn.cjs.map +1 -0
  303. package/dist/components/auth/methods/twitter/TwitterSignIn.js +44 -1
  304. package/dist/components/auth/methods/twitter/TwitterSignIn.js.map +1 -0
  305. package/dist/components/auth/methods/web3/Web3AuthFlow.cjs +44 -1
  306. package/dist/components/auth/methods/web3/Web3AuthFlow.cjs.map +1 -0
  307. package/dist/components/auth/methods/web3/Web3AuthFlow.js +44 -1
  308. package/dist/components/auth/methods/web3/Web3AuthFlow.js.map +1 -0
  309. package/dist/components/auth/methods/web3/Web3AuthFlowButton.cjs +44 -1
  310. package/dist/components/auth/methods/web3/Web3AuthFlowButton.cjs.map +1 -0
  311. package/dist/components/auth/methods/web3/Web3AuthFlowButton.js +44 -1
  312. package/dist/components/auth/methods/web3/Web3AuthFlowButton.js.map +1 -0
  313. package/dist/components/auth/methods/web3/Web3Connector.cjs +65 -1
  314. package/dist/components/auth/methods/web3/Web3Connector.cjs.map +1 -0
  315. package/dist/components/auth/methods/web3/Web3Connector.js +65 -1
  316. package/dist/components/auth/methods/web3/Web3Connector.js.map +1 -0
  317. package/dist/components/auth/methods/web3/Web3ConnectorButton.cjs +53 -1
  318. package/dist/components/auth/methods/web3/Web3ConnectorButton.cjs.map +1 -0
  319. package/dist/components/auth/methods/web3/Web3ConnectorButton.js +53 -1
  320. package/dist/components/auth/methods/web3/Web3ConnectorButton.js.map +1 -0
  321. package/dist/components/auth/methods/web3/Web3Connectors.cjs +44 -1
  322. package/dist/components/auth/methods/web3/Web3Connectors.cjs.map +1 -0
  323. package/dist/components/auth/methods/web3/Web3Connectors.js +44 -1
  324. package/dist/components/auth/methods/web3/Web3Connectors.js.map +1 -0
  325. package/dist/components/common/CountdownButton.cjs +9 -1
  326. package/dist/components/common/CountdownButton.cjs.map +1 -0
  327. package/dist/components/common/CountdownButton.js +9 -1
  328. package/dist/components/common/CountdownButton.js.map +1 -0
  329. package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.cjs +9 -1
  330. package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.cjs.map +1 -0
  331. package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.js +9 -1
  332. package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.js.map +1 -0
  333. package/dist/components/common/CrossmintLogoV2/consts.cjs +12 -1
  334. package/dist/components/common/CrossmintLogoV2/consts.cjs.map +1 -0
  335. package/dist/components/common/CrossmintLogoV2/consts.js +12 -1
  336. package/dist/components/common/CrossmintLogoV2/consts.js.map +1 -0
  337. package/dist/components/common/CrossmintLogoV2/schemas.cjs +34 -1
  338. package/dist/components/common/CrossmintLogoV2/schemas.cjs.map +1 -0
  339. package/dist/components/common/CrossmintLogoV2/schemas.js +34 -1
  340. package/dist/components/common/CrossmintLogoV2/schemas.js.map +1 -0
  341. package/dist/components/common/Dialog.cjs +26 -1
  342. package/dist/components/common/Dialog.cjs.map +1 -0
  343. package/dist/components/common/Dialog.js +26 -1
  344. package/dist/components/common/Dialog.js.map +1 -0
  345. package/dist/components/common/Divider.cjs +44 -1
  346. package/dist/components/common/Divider.cjs.map +1 -0
  347. package/dist/components/common/Divider.js +44 -1
  348. package/dist/components/common/Divider.js.map +1 -0
  349. package/dist/components/common/InputOTP.cjs +14 -1
  350. package/dist/components/common/InputOTP.cjs.map +1 -0
  351. package/dist/components/common/InputOTP.js +14 -1
  352. package/dist/components/common/InputOTP.js.map +1 -0
  353. package/dist/components/common/SecuredByCrossmint.cjs +10 -1
  354. package/dist/components/common/SecuredByCrossmint.cjs.map +1 -0
  355. package/dist/components/common/SecuredByCrossmint.js +10 -1
  356. package/dist/components/common/SecuredByCrossmint.js.map +1 -0
  357. package/dist/components/common/Spinner.cjs +9 -1
  358. package/dist/components/common/Spinner.cjs.map +1 -0
  359. package/dist/components/common/Spinner.js +9 -1
  360. package/dist/components/common/Spinner.js.map +1 -0
  361. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.cjs +8 -1
  362. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.cjs.map +1 -0
  363. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.js +8 -1
  364. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.js.map +1 -0
  365. package/dist/components/embed/EmbeddedCheckoutIFrame.cjs +8 -1
  366. package/dist/components/embed/EmbeddedCheckoutIFrame.cjs.map +1 -0
  367. package/dist/components/embed/EmbeddedCheckoutIFrame.js +8 -1
  368. package/dist/components/embed/EmbeddedCheckoutIFrame.js.map +1 -0
  369. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.cjs +11 -1
  370. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.cjs.map +1 -0
  371. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.js +11 -1
  372. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.js.map +1 -0
  373. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.cjs +10 -1
  374. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.cjs.map +1 -0
  375. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.js +10 -1
  376. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.js.map +1 -0
  377. package/dist/components/embed/fiat/FiatEmbeddedCheckout.cjs +11 -1
  378. package/dist/components/embed/fiat/FiatEmbeddedCheckout.cjs.map +1 -0
  379. package/dist/components/embed/fiat/FiatEmbeddedCheckout.js +11 -1
  380. package/dist/components/embed/fiat/FiatEmbeddedCheckout.js.map +1 -0
  381. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.cjs +10 -1
  382. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.cjs.map +1 -0
  383. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.js +10 -1
  384. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.js.map +1 -0
  385. package/dist/components/embed/fiat/FiatPaymentElement_OLD.cjs +75 -1
  386. package/dist/components/embed/fiat/FiatPaymentElement_OLD.cjs.map +1 -0
  387. package/dist/components/embed/fiat/FiatPaymentElement_OLD.js +75 -1
  388. package/dist/components/embed/fiat/FiatPaymentElement_OLD.js.map +1 -0
  389. package/dist/components/embed/index.cjs +14 -1
  390. package/dist/components/embed/index.cjs.map +1 -0
  391. package/dist/components/embed/index.js +14 -1
  392. package/dist/components/embed/index.js.map +1 -0
  393. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs +47 -1
  394. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs.map +1 -0
  395. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +47 -1
  396. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js.map +1 -0
  397. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs +46 -1
  398. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs.map +1 -0
  399. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js +46 -1
  400. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js.map +1 -0
  401. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs +174 -1
  402. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs.map +1 -0
  403. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js +174 -1
  404. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js.map +1 -0
  405. package/dist/components/embed/v3/crypto/PayerConnectionHandler.cjs +8 -1
  406. package/dist/components/embed/v3/crypto/PayerConnectionHandler.cjs.map +1 -0
  407. package/dist/components/embed/v3/crypto/PayerConnectionHandler.js +8 -1
  408. package/dist/components/embed/v3/crypto/PayerConnectionHandler.js.map +1 -0
  409. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.cjs +72 -1
  410. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.cjs.map +1 -0
  411. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.js +72 -1
  412. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.js.map +1 -0
  413. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.cjs +8 -1
  414. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.cjs.map +1 -0
  415. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.js +8 -1
  416. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.js.map +1 -0
  417. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.cjs +55 -1
  418. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.cjs.map +1 -0
  419. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.js +55 -1
  420. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.js.map +1 -0
  421. package/dist/components/embed/v3/crypto/utils/handleSuiTransaction.cjs +71 -1
  422. package/dist/components/embed/v3/crypto/utils/handleSuiTransaction.cjs.map +1 -0
  423. package/dist/components/embed/v3/crypto/utils/handleSuiTransaction.js +71 -1
  424. package/dist/components/embed/v3/crypto/utils/handleSuiTransaction.js.map +1 -0
  425. package/dist/components/embed/v3/index.cjs +48 -1
  426. package/dist/components/embed/v3/index.cjs.map +1 -0
  427. package/dist/components/embed/v3/index.js +48 -1
  428. package/dist/components/embed/v3/index.js.map +1 -0
  429. package/dist/components/hosted/CrossmintPayButton_DEPRECATED.cjs +11 -1
  430. package/dist/components/hosted/CrossmintPayButton_DEPRECATED.cjs.map +1 -0
  431. package/dist/components/hosted/CrossmintPayButton_DEPRECATED.js +11 -1
  432. package/dist/components/hosted/CrossmintPayButton_DEPRECATED.js.map +1 -0
  433. package/dist/components/hosted/index.cjs +21 -1
  434. package/dist/components/hosted/index.cjs.map +1 -0
  435. package/dist/components/hosted/index.js +21 -1
  436. package/dist/components/hosted/index.js.map +1 -0
  437. package/dist/components/hosted/styles.cjs +10 -1
  438. package/dist/components/hosted/styles.cjs.map +1 -0
  439. package/dist/components/hosted/styles.js +10 -1
  440. package/dist/components/hosted/styles.js.map +1 -0
  441. package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.cjs +13 -1
  442. package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.cjs.map +1 -0
  443. package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.js +13 -1
  444. package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.js.map +1 -0
  445. package/dist/components/hosted/v3/index.cjs +14 -1
  446. package/dist/components/hosted/v3/index.cjs.map +1 -0
  447. package/dist/components/hosted/v3/index.js +14 -1
  448. package/dist/components/hosted/v3/index.js.map +1 -0
  449. package/dist/components/index.cjs +85 -1
  450. package/dist/components/index.cjs.map +1 -0
  451. package/dist/components/index.js +85 -1
  452. package/dist/components/index.js.map +1 -0
  453. package/dist/components/signers/EmailInput.cjs +11 -0
  454. package/dist/components/signers/EmailInput.cjs.map +1 -0
  455. package/dist/components/signers/EmailInput.d.cts +12 -0
  456. package/dist/components/signers/EmailInput.d.ts +12 -0
  457. package/dist/components/signers/EmailInput.js +11 -0
  458. package/dist/components/signers/EmailInput.js.map +1 -0
  459. package/dist/components/signers/EmailOTPInput.cjs +13 -0
  460. package/dist/components/signers/EmailOTPInput.cjs.map +1 -0
  461. package/dist/components/signers/EmailOTPInput.d.cts +13 -0
  462. package/dist/components/signers/EmailOTPInput.d.ts +13 -0
  463. package/dist/components/signers/EmailOTPInput.js +13 -0
  464. package/dist/components/signers/EmailOTPInput.js.map +1 -0
  465. package/dist/components/signers/EmailSignersDialog.cjs +18 -0
  466. package/dist/components/signers/EmailSignersDialog.cjs.map +1 -0
  467. package/dist/components/signers/EmailSignersDialog.d.cts +16 -0
  468. package/dist/components/signers/EmailSignersDialog.d.ts +16 -0
  469. package/dist/components/signers/EmailSignersDialog.js +18 -0
  470. package/dist/components/signers/EmailSignersDialog.js.map +1 -0
  471. package/dist/consts/version.cjs +8 -1
  472. package/dist/consts/version.cjs.map +1 -0
  473. package/dist/consts/version.js +8 -1
  474. package/dist/consts/version.js.map +1 -0
  475. package/dist/hooks/index.cjs +56 -1
  476. package/dist/hooks/index.cjs.map +1 -0
  477. package/dist/hooks/index.js +56 -1
  478. package/dist/hooks/index.js.map +1 -0
  479. package/dist/hooks/useAuth.cjs +44 -1
  480. package/dist/hooks/useAuth.cjs.map +1 -0
  481. package/dist/hooks/useAuth.js +44 -1
  482. package/dist/hooks/useAuth.js.map +1 -0
  483. package/dist/hooks/useCrossmint.cjs +10 -1
  484. package/dist/hooks/useCrossmint.cjs.map +1 -0
  485. package/dist/hooks/useCrossmint.js +10 -1
  486. package/dist/hooks/useCrossmint.js.map +1 -0
  487. package/dist/hooks/useCrossmintAuth.cjs +44 -1
  488. package/dist/hooks/useCrossmintAuth.cjs.map +1 -0
  489. package/dist/hooks/useCrossmintAuth.js +44 -1
  490. package/dist/hooks/useCrossmintAuth.js.map +1 -0
  491. package/dist/hooks/useCrossmintCheckout.cjs +13 -1
  492. package/dist/hooks/useCrossmintCheckout.cjs.map +1 -0
  493. package/dist/hooks/useCrossmintCheckout.js +13 -1
  494. package/dist/hooks/useCrossmintCheckout.js.map +1 -0
  495. package/dist/hooks/useDeepEffect.cjs +8 -1
  496. package/dist/hooks/useDeepEffect.cjs.map +1 -0
  497. package/dist/hooks/useDeepEffect.js +8 -1
  498. package/dist/hooks/useDeepEffect.js.map +1 -0
  499. package/dist/hooks/useDynamicConnect.cjs +8 -1
  500. package/dist/hooks/useDynamicConnect.cjs.map +1 -0
  501. package/dist/hooks/useDynamicConnect.js +8 -1
  502. package/dist/hooks/useDynamicConnect.js.map +1 -0
  503. package/dist/hooks/useEnvironment.cjs +8 -1
  504. package/dist/hooks/useEnvironment.cjs.map +1 -0
  505. package/dist/hooks/useEnvironment.js +8 -1
  506. package/dist/hooks/useEnvironment.js.map +1 -0
  507. package/dist/hooks/useOAuthWindowListener.cjs +44 -1
  508. package/dist/hooks/useOAuthWindowListener.cjs.map +1 -0
  509. package/dist/hooks/useOAuthWindowListener.js +44 -1
  510. package/dist/hooks/useOAuthWindowListener.js.map +1 -0
  511. package/dist/hooks/useSignerInvisibleIFrame.cjs +8 -0
  512. package/dist/hooks/useSignerInvisibleIFrame.cjs.map +1 -0
  513. package/dist/hooks/useSignerInvisibleIFrame.d.cts +377 -0
  514. package/dist/hooks/useSignerInvisibleIFrame.d.ts +377 -0
  515. package/dist/hooks/useSignerInvisibleIFrame.js +8 -0
  516. package/dist/hooks/useSignerInvisibleIFrame.js.map +1 -0
  517. package/dist/hooks/useWallet.cjs +44 -1
  518. package/dist/hooks/useWallet.cjs.map +1 -0
  519. package/dist/hooks/useWallet.d.cts +16 -0
  520. package/dist/hooks/useWallet.d.ts +16 -0
  521. package/dist/hooks/useWallet.js +44 -1
  522. package/dist/hooks/useWallet.js.map +1 -0
  523. package/dist/icons/alert.cjs +8 -1
  524. package/dist/icons/alert.cjs.map +1 -0
  525. package/dist/icons/alert.js +8 -1
  526. package/dist/icons/alert.js.map +1 -0
  527. package/dist/icons/base64Icons.cjs +12 -1
  528. package/dist/icons/base64Icons.cjs.map +1 -0
  529. package/dist/icons/base64Icons.js +12 -1
  530. package/dist/icons/base64Icons.js.map +1 -0
  531. package/dist/icons/chevronRight.cjs +8 -1
  532. package/dist/icons/chevronRight.cjs.map +1 -0
  533. package/dist/icons/chevronRight.js +8 -1
  534. package/dist/icons/chevronRight.js.map +1 -0
  535. package/dist/icons/discord.cjs +29 -1
  536. package/dist/icons/discord.cjs.map +1 -0
  537. package/dist/icons/discord.js +29 -1
  538. package/dist/icons/discord.js.map +1 -0
  539. package/dist/icons/emailOTP.cjs +8 -1
  540. package/dist/icons/emailOTP.cjs.map +1 -0
  541. package/dist/icons/emailOTP.js +8 -1
  542. package/dist/icons/emailOTP.js.map +1 -0
  543. package/dist/icons/farcaster.cjs +8 -1
  544. package/dist/icons/farcaster.cjs.map +1 -0
  545. package/dist/icons/farcaster.js +8 -1
  546. package/dist/icons/farcaster.js.map +1 -0
  547. package/dist/icons/fingerprint.cjs +8 -1
  548. package/dist/icons/fingerprint.cjs.map +1 -0
  549. package/dist/icons/fingerprint.js +8 -1
  550. package/dist/icons/fingerprint.js.map +1 -0
  551. package/dist/icons/google.cjs +8 -1
  552. package/dist/icons/google.cjs.map +1 -0
  553. package/dist/icons/google.js +8 -1
  554. package/dist/icons/google.js.map +1 -0
  555. package/dist/icons/leftArrow.cjs +8 -1
  556. package/dist/icons/leftArrow.cjs.map +1 -0
  557. package/dist/icons/leftArrow.js +8 -1
  558. package/dist/icons/leftArrow.js.map +1 -0
  559. package/dist/icons/passkey.cjs +8 -1
  560. package/dist/icons/passkey.cjs.map +1 -0
  561. package/dist/icons/passkey.js +8 -1
  562. package/dist/icons/passkey.js.map +1 -0
  563. package/dist/icons/passkeyPromptLogo.cjs +8 -1
  564. package/dist/icons/passkeyPromptLogo.cjs.map +1 -0
  565. package/dist/icons/passkeyPromptLogo.js +8 -1
  566. package/dist/icons/passkeyPromptLogo.js.map +1 -0
  567. package/dist/icons/securedByLeaf.cjs +8 -1
  568. package/dist/icons/securedByLeaf.cjs.map +1 -0
  569. package/dist/icons/securedByLeaf.js +8 -1
  570. package/dist/icons/securedByLeaf.js.map +1 -0
  571. package/dist/icons/twitter.cjs +8 -1
  572. package/dist/icons/twitter.cjs.map +1 -0
  573. package/dist/icons/twitter.js +8 -1
  574. package/dist/icons/twitter.js.map +1 -0
  575. package/dist/icons/wallet.cjs +8 -1
  576. package/dist/icons/wallet.cjs.map +1 -0
  577. package/dist/icons/wallet.js +8 -1
  578. package/dist/icons/wallet.js.map +1 -0
  579. package/dist/icons/x.cjs +29 -1
  580. package/dist/icons/x.cjs.map +1 -0
  581. package/dist/icons/x.js +29 -1
  582. package/dist/icons/x.js.map +1 -0
  583. package/dist/index.cjs +117 -1
  584. package/dist/index.cjs.map +1 -0
  585. package/dist/index.js +117 -1
  586. package/dist/index.js.map +1 -0
  587. package/dist/providers/CrossmintAuthProvider.cjs +46 -1
  588. package/dist/providers/CrossmintAuthProvider.cjs.map +1 -0
  589. package/dist/providers/CrossmintAuthProvider.js +46 -1
  590. package/dist/providers/CrossmintAuthProvider.js.map +1 -0
  591. package/dist/providers/CrossmintWalletProvider.cjs +46 -1
  592. package/dist/providers/CrossmintWalletProvider.cjs.map +1 -0
  593. package/dist/providers/CrossmintWalletProvider.d.cts +6 -1
  594. package/dist/providers/CrossmintWalletProvider.d.ts +6 -1
  595. package/dist/providers/CrossmintWalletProvider.js +46 -1
  596. package/dist/providers/CrossmintWalletProvider.js.map +1 -0
  597. package/dist/providers/TwindProvider.cjs +9 -1
  598. package/dist/providers/TwindProvider.cjs.map +1 -0
  599. package/dist/providers/TwindProvider.js +9 -1
  600. package/dist/providers/TwindProvider.js.map +1 -0
  601. package/dist/providers/auth/AuthFormProvider.cjs +46 -1
  602. package/dist/providers/auth/AuthFormProvider.cjs.map +1 -0
  603. package/dist/providers/auth/AuthFormProvider.js +46 -1
  604. package/dist/providers/auth/AuthFormProvider.js.map +1 -0
  605. package/dist/providers/auth/FarcasterProvider.cjs +8 -1
  606. package/dist/providers/auth/FarcasterProvider.cjs.map +1 -0
  607. package/dist/providers/auth/FarcasterProvider.js +8 -1
  608. package/dist/providers/auth/FarcasterProvider.js.map +1 -0
  609. package/dist/providers/auth/web3/DynamicWeb3WalletConnect.cjs +44 -1
  610. package/dist/providers/auth/web3/DynamicWeb3WalletConnect.cjs.map +1 -0
  611. package/dist/providers/auth/web3/DynamicWeb3WalletConnect.js +44 -1
  612. package/dist/providers/auth/web3/DynamicWeb3WalletConnect.js.map +1 -0
  613. package/dist/providers/index.cjs +50 -1
  614. package/dist/providers/index.cjs.map +1 -0
  615. package/dist/providers/index.js +50 -1
  616. package/dist/providers/index.js.map +1 -0
  617. package/dist/providers/signers/CrossmintSignerProvider.cjs +48 -0
  618. package/dist/providers/signers/CrossmintSignerProvider.cjs.map +1 -0
  619. package/dist/providers/signers/CrossmintSignerProvider.d.cts +25 -0
  620. package/dist/providers/signers/CrossmintSignerProvider.d.ts +25 -0
  621. package/dist/providers/signers/CrossmintSignerProvider.js +48 -0
  622. package/dist/providers/signers/CrossmintSignerProvider.js.map +1 -0
  623. package/dist/testUtils.cjs +8 -1
  624. package/dist/testUtils.cjs.map +1 -0
  625. package/dist/testUtils.js +8 -1
  626. package/dist/testUtils.js.map +1 -0
  627. package/dist/twind.config.cjs +8 -1
  628. package/dist/twind.config.cjs.map +1 -0
  629. package/dist/twind.config.js +8 -1
  630. package/dist/twind.config.js.map +1 -0
  631. package/dist/types/auth.cjs +1 -1
  632. package/dist/types/auth.cjs.map +1 -0
  633. package/dist/types/auth.d.cts +1 -0
  634. package/dist/types/auth.d.ts +1 -0
  635. package/dist/types/auth.js +1 -0
  636. package/dist/types/auth.js.map +1 -0
  637. package/dist/types/passkey.cjs +1 -1
  638. package/dist/types/passkey.cjs.map +1 -0
  639. package/dist/types/passkey.js +1 -0
  640. package/dist/types/passkey.js.map +1 -0
  641. package/dist/types/wallet.cjs +1 -1
  642. package/dist/types/wallet.cjs.map +1 -0
  643. package/dist/types/wallet.js +1 -0
  644. package/dist/types/wallet.js.map +1 -0
  645. package/dist/utils/classNames.cjs +8 -1
  646. package/dist/utils/classNames.cjs.map +1 -0
  647. package/dist/utils/classNames.js +8 -1
  648. package/dist/utils/classNames.js.map +1 -0
  649. package/dist/utils/createCrossmintApiClient.cjs +9 -1
  650. package/dist/utils/createCrossmintApiClient.cjs.map +1 -0
  651. package/dist/utils/createCrossmintApiClient.js +9 -1
  652. package/dist/utils/createCrossmintApiClient.js.map +1 -0
  653. package/dist/utils/createPasskeySigner.cjs +8 -1
  654. package/dist/utils/createPasskeySigner.cjs.map +1 -0
  655. package/dist/utils/createPasskeySigner.js +8 -1
  656. package/dist/utils/createPasskeySigner.js.map +1 -0
  657. package/dist/utils/dynamic/dynamicChainToCrossmintChain.cjs +10 -1
  658. package/dist/utils/dynamic/dynamicChainToCrossmintChain.cjs.map +1 -0
  659. package/dist/utils/dynamic/dynamicChainToCrossmintChain.js +10 -1
  660. package/dist/utils/dynamic/dynamicChainToCrossmintChain.js.map +1 -0
  661. package/dist/utils/errorUtils.cjs +8 -0
  662. package/dist/utils/errorUtils.cjs.map +1 -0
  663. package/dist/utils/errorUtils.d.cts +6 -0
  664. package/dist/utils/errorUtils.d.ts +6 -0
  665. package/dist/utils/errorUtils.js +8 -0
  666. package/dist/utils/errorUtils.js.map +1 -0
  667. package/dist/utils/mapSignerToWalletType.cjs +8 -1
  668. package/dist/utils/mapSignerToWalletType.cjs.map +1 -0
  669. package/dist/utils/mapSignerToWalletType.js +8 -1
  670. package/dist/utils/mapSignerToWalletType.js.map +1 -0
  671. package/package.json +68 -70
  672. package/dist/chunk-2BOQSASO.cjs +0 -1
  673. package/dist/chunk-2HFBJAZF.js +0 -1
  674. package/dist/chunk-2POV64LQ.js +0 -1
  675. package/dist/chunk-2PVYNZP7.cjs +0 -1
  676. package/dist/chunk-2VBA64WU.js +0 -1
  677. package/dist/chunk-2VQLMU5A.cjs +0 -1
  678. package/dist/chunk-2WSEHVNP.cjs +0 -1
  679. package/dist/chunk-2ZIM34DD.js +0 -1
  680. package/dist/chunk-3BUVHV54.js +0 -0
  681. package/dist/chunk-3EQVCVCE.cjs +0 -1
  682. package/dist/chunk-3WVCUHA6.js +0 -6
  683. package/dist/chunk-4CJIQ6A2.cjs +0 -1
  684. package/dist/chunk-4IHRWQWT.js +0 -1
  685. package/dist/chunk-4KDASQO6.js +0 -1
  686. package/dist/chunk-56YL3XJW.cjs +0 -1
  687. package/dist/chunk-5IFQJPBE.cjs +0 -1
  688. package/dist/chunk-5X3MPD2V.js +0 -1
  689. package/dist/chunk-6IR5LWE2.js +0 -1
  690. package/dist/chunk-72MMCJ2E.js +0 -0
  691. package/dist/chunk-72P3JMXX.js +0 -1
  692. package/dist/chunk-77PBG2JJ.js +0 -1
  693. package/dist/chunk-AHD64NAJ.cjs +0 -1
  694. package/dist/chunk-BFHQZOV3.js +0 -1
  695. package/dist/chunk-BQG5DRF3.cjs +0 -1
  696. package/dist/chunk-BR77Q3PK.cjs +0 -1
  697. package/dist/chunk-C3JRTLQP.js +0 -1
  698. package/dist/chunk-DGZQUCSD.js +0 -1
  699. package/dist/chunk-DQD3L5EO.cjs +0 -1
  700. package/dist/chunk-E3MTNQXP.cjs +0 -1
  701. package/dist/chunk-E4TBJMOO.js +0 -1
  702. package/dist/chunk-E65EGG73.cjs +0 -1
  703. package/dist/chunk-EA7H4AXL.js +0 -1
  704. package/dist/chunk-EDEMTFMZ.js +0 -1
  705. package/dist/chunk-EMXNIC4M.js +0 -1
  706. package/dist/chunk-EUXGP4IN.cjs +0 -1
  707. package/dist/chunk-FASRTACD.cjs +0 -1
  708. package/dist/chunk-FQ246XXN.cjs +0 -1
  709. package/dist/chunk-GARYGAY7.cjs +0 -1
  710. package/dist/chunk-GPQZG7HC.cjs +0 -1
  711. package/dist/chunk-H34D6PAN.js +0 -1
  712. package/dist/chunk-HG5ML6KX.cjs +0 -1
  713. package/dist/chunk-HLGNSXEQ.cjs +0 -1
  714. package/dist/chunk-HLWWVAU2.js +0 -1
  715. package/dist/chunk-HVZ5M3FY.js +0 -1
  716. package/dist/chunk-I4GMMHQR.cjs +0 -1
  717. package/dist/chunk-IAJBYU5C.js +0 -1
  718. package/dist/chunk-IMV35JZB.cjs +0 -1
  719. package/dist/chunk-J6YZ5NIK.cjs +0 -1
  720. package/dist/chunk-JGM3G5E2.js +0 -1
  721. package/dist/chunk-JNLQRLIC.cjs +0 -1
  722. package/dist/chunk-JPJKOERH.js +0 -1
  723. package/dist/chunk-JSNUJJQJ.js +0 -1
  724. package/dist/chunk-JYGAXNZX.cjs +0 -1
  725. package/dist/chunk-KFL42A3A.js +0 -1
  726. package/dist/chunk-KI4HRYHD.cjs +0 -1
  727. package/dist/chunk-KSYHGCDK.js +0 -1
  728. package/dist/chunk-L6UXIP23.cjs +0 -6
  729. package/dist/chunk-L7JAEZCV.cjs +0 -1
  730. package/dist/chunk-LCCZ7PP2.js +0 -1
  731. package/dist/chunk-LD3MRJ3F.js +0 -1
  732. package/dist/chunk-LGI44G6N.js +0 -1
  733. package/dist/chunk-N65GIM5A.js +0 -1
  734. package/dist/chunk-NB7AJIPT.js +0 -0
  735. package/dist/chunk-NBJIJZGO.js +0 -1
  736. package/dist/chunk-NFLGT52C.cjs +0 -1
  737. package/dist/chunk-NRN4WNQL.cjs +0 -1
  738. package/dist/chunk-NZQIZ4ZY.cjs +0 -1
  739. package/dist/chunk-O5J2ZIJ6.cjs +0 -1
  740. package/dist/chunk-OOLXYAO7.js +0 -1
  741. package/dist/chunk-PKGRU57J.js +0 -1
  742. package/dist/chunk-PXDN3KFO.js +0 -1
  743. package/dist/chunk-PZ3KXKJD.cjs +0 -1
  744. package/dist/chunk-PZUWRGVP.cjs +0 -1
  745. package/dist/chunk-QASKWI5Y.js +0 -1
  746. package/dist/chunk-QLPV72AE.cjs +0 -1
  747. package/dist/chunk-QVXTNSBH.js +0 -1
  748. package/dist/chunk-QYQERFYL.cjs +0 -1
  749. package/dist/chunk-ROJ6HFVK.js +0 -1
  750. package/dist/chunk-RYQRCUKB.js +0 -1
  751. package/dist/chunk-RZG2PAKA.js +0 -1
  752. package/dist/chunk-S3GCH6GM.js +0 -1
  753. package/dist/chunk-S73E6EBO.cjs +0 -1
  754. package/dist/chunk-SFDQPSSP.js +0 -1
  755. package/dist/chunk-SOVVPJBQ.cjs +0 -1
  756. package/dist/chunk-SRQAQHYK.cjs +0 -1
  757. package/dist/chunk-TM7WDKYR.cjs +0 -1
  758. package/dist/chunk-TNCETEEL.js +0 -1
  759. package/dist/chunk-TWX7ZBKZ.cjs +0 -1
  760. package/dist/chunk-TXOVDTYK.cjs +0 -1
  761. package/dist/chunk-UAFW3OWA.js +0 -1
  762. package/dist/chunk-UDQUVZUQ.js +0 -1
  763. package/dist/chunk-UILJI3DM.js +0 -1
  764. package/dist/chunk-UVNGTD6E.cjs +0 -1
  765. package/dist/chunk-VB5DXNMG.js +0 -1
  766. package/dist/chunk-VHNBXIOC.js +0 -1
  767. package/dist/chunk-VI6TW7JT.cjs +0 -1
  768. package/dist/chunk-VLDE23JX.js +0 -1
  769. package/dist/chunk-VWL76U5G.js +0 -1
  770. package/dist/chunk-W4UPIFFS.cjs +0 -1
  771. package/dist/chunk-WABJHG6B.cjs +0 -1
  772. package/dist/chunk-WGXVGMSG.cjs +0 -1
  773. package/dist/chunk-WHFUW3W3.js +0 -0
  774. package/dist/chunk-WHRHGJWN.cjs +0 -1
  775. package/dist/chunk-WMBBIP2C.cjs +0 -1
  776. package/dist/chunk-WW6GUXHG.js +0 -1
  777. package/dist/chunk-X5BBXO27.cjs +0 -1
  778. package/dist/chunk-XRO372DI.cjs +0 -1
  779. package/dist/chunk-XUT4N66R.cjs +0 -1
  780. package/dist/chunk-YU5GDE44.cjs +0 -1
  781. package/dist/chunk-YXF74MVI.cjs +0 -1
  782. package/dist/chunk-Z2FGFHRQ.cjs +0 -1
  783. package/dist/chunk-ZBQCXWMD.cjs +0 -1
  784. package/dist/chunk-ZJHNEQNA.js +0 -1
  785. package/dist/chunk-ZZYJ6XM2.js +0 -1
@@ -0,0 +1,1898 @@
1
+ import {
2
+ EmailSignersDialog
3
+ } from "./chunk-35QBUT6F.js";
4
+ import {
5
+ FarcasterProvider
6
+ } from "./chunk-A7J4DAE7.js";
7
+ import {
8
+ dynamicChainToCrossmintChain
9
+ } from "./chunk-7HENIDX5.js";
10
+ import {
11
+ DynamicContextProviderWrapper
12
+ } from "./chunk-F2AWZC4M.js";
13
+ import {
14
+ PasskeyPrompt
15
+ } from "./chunk-5OGRPJ2L.js";
16
+ import {
17
+ CountdownButton
18
+ } from "./chunk-6TFIQWYJ.js";
19
+ import {
20
+ Dialog,
21
+ DialogContent,
22
+ DialogDescription,
23
+ DialogTitle
24
+ } from "./chunk-72LSMHPL.js";
25
+ import {
26
+ InputOTP,
27
+ InputOTPGroup,
28
+ InputOTPSlot
29
+ } from "./chunk-33WZFL2D.js";
30
+ import {
31
+ SecuredByCrossmint
32
+ } from "./chunk-5BYCXTC3.js";
33
+ import {
34
+ Spinner
35
+ } from "./chunk-QTL5I5C2.js";
36
+ import {
37
+ classNames
38
+ } from "./chunk-RZPQIRIY.js";
39
+ import {
40
+ createWebAuthnPasskeySigner
41
+ } from "./chunk-FKL462NZ.js";
42
+ import {
43
+ deriveWalletErrorState
44
+ } from "./chunk-V7CWLETC.js";
45
+ import {
46
+ mapSignerToWalletType
47
+ } from "./chunk-OZKGMYKX.js";
48
+ import {
49
+ TwindProvider
50
+ } from "./chunk-XSXE5LWO.js";
51
+ import {
52
+ GoogleIcon
53
+ } from "./chunk-TKFSXTH5.js";
54
+ import {
55
+ LeftArrowIcon
56
+ } from "./chunk-ZDQGQY7Z.js";
57
+ import {
58
+ TwitterIcon
59
+ } from "./chunk-5TH75X5L.js";
60
+ import {
61
+ WalletIcon
62
+ } from "./chunk-VZIXXIU5.js";
63
+ import {
64
+ useSignerIFrameWindow
65
+ } from "./chunk-RB34BJZ6.js";
66
+ import {
67
+ AlertIcon
68
+ } from "./chunk-7KIY6DLW.js";
69
+ import {
70
+ ChevronRightIcon
71
+ } from "./chunk-3KR4GYLF.js";
72
+ import {
73
+ EmailOtpIcon
74
+ } from "./chunk-I63FQCIV.js";
75
+ import {
76
+ FarcasterIcon
77
+ } from "./chunk-ZIHCLVCD.js";
78
+ import {
79
+ useCrossmint
80
+ } from "./chunk-3J6CUUWT.js";
81
+ import {
82
+ useDynamicConnect
83
+ } from "./chunk-STNIRPZP.js";
84
+ import {
85
+ __async,
86
+ __objRest,
87
+ __spreadProps,
88
+ __spreadValues
89
+ } from "./chunk-CRTRMMJ7.js";
90
+
91
+ // src/providers/signers/CrossmintSignerProvider.tsx
92
+ import {
93
+ createContext as createContext4,
94
+ useContext as useContext5,
95
+ useRef as useRef3,
96
+ useState as useState9,
97
+ useEffect as useEffect6,
98
+ useMemo as useMemo4
99
+ } from "react";
100
+ import { CrossmintWallets as CrossmintWallets2 } from "@crossmint/wallets-sdk";
101
+ import { PublicKey } from "@solana/web3.js";
102
+ import base582 from "bs58";
103
+
104
+ // src/hooks/useWallet.ts
105
+ import { useContext } from "react";
106
+
107
+ // src/providers/CrossmintWalletProvider.tsx
108
+ import { createContext, useMemo, useState } from "react";
109
+ import { createPortal } from "react-dom";
110
+ import { CrossmintWallets } from "@crossmint/wallets-sdk";
111
+ import { jsx, jsxs } from "react/jsx-runtime";
112
+ var WalletContext = createContext({
113
+ status: "not-loaded",
114
+ getOrCreateWallet: () => Promise.resolve({ startedCreation: false }),
115
+ createPasskeySigner: () => Promise.resolve(null),
116
+ clearWallet: () => {
117
+ }
118
+ });
119
+ function CrossmintWalletProvider({
120
+ children,
121
+ showPasskeyHelpers = true,
122
+ appearance,
123
+ experimental_enableRecoveryKeys = false
124
+ }) {
125
+ const [walletState, setWalletState] = useState({
126
+ status: "not-loaded"
127
+ });
128
+ const walletProviderProps = {
129
+ walletState,
130
+ setWalletState,
131
+ showPasskeyHelpers,
132
+ appearance,
133
+ experimental_enableRecoveryKeys
134
+ };
135
+ return experimental_enableRecoveryKeys ? /* @__PURE__ */ jsx(TwindProvider, { children: /* @__PURE__ */ jsx(CrossmintSignerProvider, { walletState, setWalletState, appearance, children: /* @__PURE__ */ jsx(WalletProvider, __spreadProps(__spreadValues({}, walletProviderProps), { children })) }) }) : /* @__PURE__ */ jsx(WalletProvider, __spreadProps(__spreadValues({}, walletProviderProps), { children }));
136
+ }
137
+ function WalletProvider({
138
+ children,
139
+ showPasskeyHelpers = true,
140
+ appearance,
141
+ walletState,
142
+ setWalletState,
143
+ experimental_enableRecoveryKeys
144
+ }) {
145
+ const { crossmint } = useCrossmint("CrossmintWalletProvider must be used within CrossmintProvider");
146
+ const { experimental_getOrCreateWalletWithRecoveryKey } = useCrossmintSigner({
147
+ enabled: experimental_enableRecoveryKeys != null ? experimental_enableRecoveryKeys : false
148
+ });
149
+ const smartWalletSDK = useMemo(
150
+ () => CrossmintWallets.from({ apiKey: crossmint.apiKey, jwt: crossmint == null ? void 0 : crossmint.jwt }),
151
+ [crossmint.apiKey, crossmint.jwt]
152
+ );
153
+ const [passkeyPromptState, setPasskeyPromptState] = useState({ open: false });
154
+ const getOrCreateWallet = (props) => __async(this, null, function* () {
155
+ var _a, _b;
156
+ if (walletState.status == "in-progress") {
157
+ return {
158
+ startedCreation: false,
159
+ reason: "Wallet is already loading."
160
+ };
161
+ }
162
+ if (crossmint.jwt == null) {
163
+ return {
164
+ startedCreation: false,
165
+ reason: `Jwt not set in "CrossmintProvider".`
166
+ };
167
+ }
168
+ try {
169
+ setWalletState({ status: "in-progress" });
170
+ const passkeyPromptCallbacks = {
171
+ onWalletCreationStart: createPasskeyPrompt("create-wallet"),
172
+ onWalletCreationFail: createPasskeyPrompt("create-wallet-error"),
173
+ onTransactionStart: createPasskeyPrompt("transaction"),
174
+ onTransactionFail: createPasskeyPrompt("transaction-error")
175
+ };
176
+ switch (props.type) {
177
+ case "evm-smart-wallet": {
178
+ const walletArgs = {
179
+ adminSigner: (_a = props.args.adminSigner) != null ? _a : { type: "evm-passkey" },
180
+ linkedUser: props.args.linkedUser
181
+ };
182
+ const wallet = yield smartWalletSDK.getOrCreateWallet("evm-smart-wallet", walletArgs, {
183
+ experimental_callbacks: ((_b = walletArgs.adminSigner) == null ? void 0 : _b.type) === "evm-passkey" ? passkeyPromptCallbacks : void 0
184
+ });
185
+ setWalletState({ status: "loaded", wallet, type: "evm-smart-wallet" });
186
+ break;
187
+ }
188
+ case "solana-smart-wallet": {
189
+ const wallet = yield smartWalletSDK.getOrCreateWallet("solana-smart-wallet", props.args);
190
+ setWalletState({ status: "loaded", wallet, type: "solana-smart-wallet" });
191
+ break;
192
+ }
193
+ }
194
+ } catch (error) {
195
+ console.error("There was an error creating a wallet ", error);
196
+ setWalletState(deriveWalletErrorState(error));
197
+ }
198
+ return { startedCreation: true };
199
+ });
200
+ const createPasskeyPrompt = (type) => () => new Promise((resolve) => {
201
+ if (!showPasskeyHelpers) {
202
+ resolve();
203
+ return;
204
+ }
205
+ setPasskeyPromptState({
206
+ type,
207
+ open: true,
208
+ primaryActionOnClick: () => {
209
+ setPasskeyPromptState({ open: false });
210
+ resolve();
211
+ },
212
+ secondaryActionOnClick: () => {
213
+ setPasskeyPromptState({ open: false });
214
+ resolve();
215
+ }
216
+ });
217
+ });
218
+ const clearWallet = () => {
219
+ setWalletState({ status: "not-loaded" });
220
+ };
221
+ const createPasskeySigner = (name, promptType) => __async(this, null, function* () {
222
+ if (promptType != null) {
223
+ yield createPasskeyPrompt(promptType)();
224
+ }
225
+ return yield createWebAuthnPasskeySigner(name);
226
+ });
227
+ const contextValue = useMemo(
228
+ () => __spreadProps(__spreadValues({}, walletState), {
229
+ getOrCreateWallet,
230
+ createPasskeySigner,
231
+ clearWallet,
232
+ experimental_getOrCreateWalletWithRecoveryKey
233
+ }),
234
+ [walletState, experimental_getOrCreateWalletWithRecoveryKey]
235
+ );
236
+ return /* @__PURE__ */ jsxs(WalletContext.Provider, { value: contextValue, children: [
237
+ children,
238
+ passkeyPromptState.open ? createPortal(/* @__PURE__ */ jsx(PasskeyPrompt, { state: passkeyPromptState, appearance }), document.body) : null
239
+ ] });
240
+ }
241
+
242
+ // src/hooks/useWallet.ts
243
+ function useWallet() {
244
+ const walletContext = useContext(WalletContext);
245
+ if (!walletContext) {
246
+ throw new Error("useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider");
247
+ }
248
+ return walletContext;
249
+ }
250
+
251
+ // src/hooks/useAuth.ts
252
+ import { useContext as useContext4 } from "react";
253
+
254
+ // src/providers/CrossmintAuthProvider.tsx
255
+ import {
256
+ createContext as createContext3,
257
+ useEffect as useEffect5,
258
+ useMemo as useMemo3,
259
+ useRef as useRef2,
260
+ useState as useState8,
261
+ useCallback as useCallback2
262
+ } from "react";
263
+ import { CrossmintAuth, getCookie } from "@crossmint/client-sdk-auth";
264
+ import { validateApiKeyAndGetCrossmintBaseUrl } from "@crossmint/common-sdk-base";
265
+ import { SESSION_PREFIX } from "@crossmint/common-sdk-auth";
266
+
267
+ // src/components/auth/AuthFormDialog.tsx
268
+ import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
269
+
270
+ // src/providers/auth/AuthFormProvider.tsx
271
+ import { createContext as createContext2, useCallback, useContext as useContext3, useEffect, useState as useState2 } from "react";
272
+ import { CrossmintAuthenticationError } from "@crossmint/common-sdk-auth";
273
+
274
+ // src/hooks/useCrossmintAuth.ts
275
+ import { useContext as useContext2 } from "react";
276
+ function useCrossmintAuth() {
277
+ const context = useContext2(AuthContext);
278
+ if (!context) {
279
+ throw new Error("useCrossmintAuth must be used within a CrossmintAuthProvider");
280
+ }
281
+ return context;
282
+ }
283
+
284
+ // src/providers/auth/AuthFormProvider.tsx
285
+ import { jsx as jsx2 } from "react/jsx-runtime";
286
+ var initialOAuthUrlMap = {
287
+ google: "",
288
+ twitter: ""
289
+ // Farcaster is not included here as it uses a different authentication method
290
+ };
291
+ var AuthFormContext = createContext2(void 0);
292
+ var useAuthForm = () => {
293
+ const context = useContext3(AuthFormContext);
294
+ if (!context) {
295
+ throw new Error("useAuthForm must be used within an AuthFormProvider");
296
+ }
297
+ return context;
298
+ };
299
+ var AuthFormProvider = ({
300
+ setDialogOpen,
301
+ preFetchOAuthUrls,
302
+ initialState,
303
+ children
304
+ }) => {
305
+ const { crossmintAuth } = useCrossmintAuth();
306
+ const [step, setStep] = useState2("initial");
307
+ const [error, setError] = useState2(null);
308
+ const [oauthUrlMap, setOauthUrlMap] = useState2(initialOAuthUrlMap);
309
+ const [isLoadingOauthUrlMap, setIsLoadingOauthUrlMap] = useState2(true);
310
+ const { loginMethods, baseUrl, appearance, termsOfServiceText, authModalTitle, defaultEmail } = initialState;
311
+ const preFetchAndSetOauthUrl = useCallback(() => __async(void 0, null, function* () {
312
+ setIsLoadingOauthUrlMap(true);
313
+ try {
314
+ const oauthProviders = loginMethods.filter(
315
+ (method) => method in initialOAuthUrlMap
316
+ );
317
+ const oauthPromiseList = oauthProviders.map((provider) => __async(void 0, null, function* () {
318
+ const url = yield crossmintAuth == null ? void 0 : crossmintAuth.getOAuthUrl(provider);
319
+ return { [provider]: url };
320
+ }));
321
+ const oauthUrlMap2 = Object.assign({}, ...yield Promise.all(oauthPromiseList));
322
+ setOauthUrlMap(oauthUrlMap2);
323
+ } catch (error2) {
324
+ setError(
325
+ error2 instanceof CrossmintAuthenticationError ? error2.message : "Unable to load oauth providers. Please try again later."
326
+ );
327
+ } finally {
328
+ setIsLoadingOauthUrlMap(false);
329
+ }
330
+ }), [loginMethods, crossmintAuth]);
331
+ useEffect(() => {
332
+ if (preFetchOAuthUrls) {
333
+ preFetchAndSetOauthUrl();
334
+ }
335
+ }, [preFetchAndSetOauthUrl, preFetchOAuthUrls]);
336
+ const handleToggleDialog = (open, successfulLogin) => {
337
+ setDialogOpen == null ? void 0 : setDialogOpen(open, successfulLogin);
338
+ if (!open) {
339
+ setTimeout(() => setStep("initial"), 250);
340
+ }
341
+ };
342
+ const value = {
343
+ step,
344
+ error,
345
+ baseUrl,
346
+ appearance,
347
+ termsOfServiceText,
348
+ authModalTitle,
349
+ loginMethods,
350
+ defaultEmail,
351
+ oauthUrlMap,
352
+ isLoadingOauthUrlMap,
353
+ setDialogOpen: handleToggleDialog,
354
+ setError,
355
+ setStep
356
+ };
357
+ return /* @__PURE__ */ jsx2(AuthFormContext.Provider, { value, children });
358
+ };
359
+
360
+ // src/components/auth/AuthForm.tsx
361
+ import Color2 from "color";
362
+
363
+ // src/components/auth/methods/email/EmailAuthFlow.tsx
364
+ import { useState as useState6 } from "react";
365
+
366
+ // src/components/auth/methods/email/EmailOTPInput.tsx
367
+ import { useState as useState3 } from "react";
368
+
369
+ // src/components/auth/AuthFormBackButton.tsx
370
+ import { jsx as jsx3 } from "react/jsx-runtime";
371
+ var AuthFormBackButton = (_a) => {
372
+ var _b = _a, {
373
+ className,
374
+ iconColor,
375
+ ringColor,
376
+ onClick
377
+ } = _b, props = __objRest(_b, [
378
+ "className",
379
+ "iconColor",
380
+ "ringColor",
381
+ "onClick"
382
+ ]);
383
+ const { setError } = useAuthForm();
384
+ return /* @__PURE__ */ jsx3(
385
+ "button",
386
+ __spreadProps(__spreadValues({
387
+ className: classNames(
388
+ "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",
389
+ className
390
+ ),
391
+ onClick: (event) => {
392
+ setError(null);
393
+ onClick == null ? void 0 : onClick(event);
394
+ }
395
+ }, props), {
396
+ children: /* @__PURE__ */ jsx3(LeftArrowIcon, { className: "w-6 h-6", style: { color: iconColor } })
397
+ })
398
+ );
399
+ };
400
+
401
+ // src/components/auth/methods/email/EmailOTPInput.tsx
402
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
403
+ var EMAIL_VERIFICATION_TOKEN_LENGTH = 6;
404
+ function EmailOTPInput({
405
+ otpEmailData,
406
+ setOtpEmailData
407
+ }) {
408
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t;
409
+ const { crossmintAuth } = useCrossmintAuth();
410
+ const { appearance, setDialogOpen, setStep, setError } = useAuthForm();
411
+ const [token, setToken] = useState3("");
412
+ const [hasError, setHasError] = useState3(false);
413
+ const [loading, setLoading] = useState3(false);
414
+ const handleOnSubmitOTP = () => __async(this, null, function* () {
415
+ var _a2, _b2;
416
+ setLoading(true);
417
+ try {
418
+ const oneTimeSecret = yield crossmintAuth == null ? void 0 : crossmintAuth.confirmEmailOtp(
419
+ (_a2 = otpEmailData == null ? void 0 : otpEmailData.email) != null ? _a2 : "",
420
+ (_b2 = otpEmailData == null ? void 0 : otpEmailData.emailId) != null ? _b2 : "",
421
+ token
422
+ );
423
+ yield crossmintAuth == null ? void 0 : crossmintAuth.handleRefreshAuthMaterial(oneTimeSecret);
424
+ setDialogOpen(false, true);
425
+ setStep("initial");
426
+ } catch (error) {
427
+ console.error("Error confirming email OTP", error);
428
+ setError("Invalid code. Please try again.");
429
+ setHasError(true);
430
+ } finally {
431
+ setLoading(false);
432
+ }
433
+ });
434
+ const handleOnResendCode = () => __async(this, null, function* () {
435
+ var _a2;
436
+ try {
437
+ yield crossmintAuth == null ? void 0 : crossmintAuth.sendEmailOtp((_a2 = otpEmailData == null ? void 0 : otpEmailData.email) != null ? _a2 : "");
438
+ } catch (_e2) {
439
+ setError("Failed to resend code. Please try again.");
440
+ }
441
+ });
442
+ const handleOnBack = () => {
443
+ setStep("initial");
444
+ setOtpEmailData(null);
445
+ };
446
+ return /* @__PURE__ */ jsxs2("div", { children: [
447
+ /* @__PURE__ */ jsx4(
448
+ AuthFormBackButton,
449
+ {
450
+ onClick: handleOnBack,
451
+ iconColor: (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.textPrimary,
452
+ ringColor: (_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.accent
453
+ }
454
+ ),
455
+ /* @__PURE__ */ jsxs2("div", { className: "flex flex-col items-center justify-start w-full", children: [
456
+ /* @__PURE__ */ jsx4("div", { className: "relative left-3", children: /* @__PURE__ */ jsx4(
457
+ EmailOtpIcon,
458
+ {
459
+ customAccentColor: (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.accent,
460
+ customButtonBackgroundColor: (_d = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _d.buttonBackground,
461
+ customBackgroundColor: (_e = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _e.background
462
+ }
463
+ ) }),
464
+ /* @__PURE__ */ jsx4(
465
+ "p",
466
+ {
467
+ className: "text-base font-normal mt-4 mb-1 text-center text-cm-text-primary",
468
+ style: { color: (_f = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _f.textPrimary },
469
+ children: "Check your email"
470
+ }
471
+ ),
472
+ /* @__PURE__ */ jsxs2(
473
+ "p",
474
+ {
475
+ className: "text-center text-cm-text-secondary px-4",
476
+ style: { color: (_g = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _g.textSecondary },
477
+ children: [
478
+ "A temporary login code has been sent to",
479
+ " ",
480
+ (otpEmailData == null ? void 0 : otpEmailData.email) ? otpEmailData.email : "your email address"
481
+ ]
482
+ }
483
+ ),
484
+ /* @__PURE__ */ jsx4("div", { className: "py-8", children: /* @__PURE__ */ jsx4(
485
+ InputOTP,
486
+ {
487
+ maxLength: EMAIL_VERIFICATION_TOKEN_LENGTH,
488
+ value: token,
489
+ onChange: (val) => {
490
+ setToken(val);
491
+ setHasError(false);
492
+ setError(null);
493
+ },
494
+ onComplete: handleOnSubmitOTP,
495
+ disabled: loading,
496
+ customStyles: {
497
+ accent: (_i = (_h = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _h.accent) != null ? _i : "#04AA6D",
498
+ danger: (_k = (_j = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _j.danger) != null ? _k : "#f44336",
499
+ border: (_m = (_l = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _l.border) != null ? _m : "#E5E7EB",
500
+ textPrimary: (_o = (_n = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _n.textPrimary) != null ? _o : "#909ca3",
501
+ buttonBackground: (_q = (_p = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _p.buttonBackground) != null ? _q : "#eff6ff",
502
+ inputBackground: (_s = (_r = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _r.inputBackground) != null ? _s : "#FFFFFF",
503
+ borderRadius: appearance == null ? void 0 : appearance.borderRadius
504
+ },
505
+ children: /* @__PURE__ */ jsxs2(InputOTPGroup, { children: [
506
+ /* @__PURE__ */ jsx4(InputOTPSlot, { index: 0, hasError }),
507
+ /* @__PURE__ */ jsx4(InputOTPSlot, { index: 1, hasError }),
508
+ /* @__PURE__ */ jsx4(InputOTPSlot, { index: 2, hasError }),
509
+ /* @__PURE__ */ jsx4(InputOTPSlot, { index: 3, hasError }),
510
+ /* @__PURE__ */ jsx4(InputOTPSlot, { index: 4, hasError }),
511
+ /* @__PURE__ */ jsx4(InputOTPSlot, { index: 5, hasError })
512
+ ] })
513
+ }
514
+ ) }),
515
+ /* @__PURE__ */ jsx4("div", { className: "text-xs leading-tight text-cm-text-secondary text-center", children: /* @__PURE__ */ jsxs2("span", { style: { color: (_t = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _t.textSecondary }, children: [
516
+ "Can't find the email? Check spam folder.",
517
+ "\n",
518
+ "Some emails may take several minutes to arrive."
519
+ ] }) }),
520
+ /* @__PURE__ */ jsx4(
521
+ CountdownButton,
522
+ {
523
+ initialSeconds: 60,
524
+ appearance,
525
+ countdownText: (seconds) => `Re-send code in ${seconds}s`,
526
+ countdownCompleteText: "Re-send code",
527
+ handleOnClick: handleOnResendCode
528
+ }
529
+ )
530
+ ] })
531
+ ] });
532
+ }
533
+
534
+ // src/components/auth/methods/email/EmailSignIn.tsx
535
+ import { useState as useState5 } from "react";
536
+ import Color from "color";
537
+ import { isEmailValid } from "@crossmint/common-sdk-auth";
538
+
539
+ // src/hooks/useOAuthWindowListener.ts
540
+ import { ChildWindow, PopupWindow } from "@crossmint/client-sdk-window";
541
+ import { useEffect as useEffect2, useRef, useState as useState4 } from "react";
542
+ import { z } from "zod";
543
+ var useOAuthWindowListener = (provider) => {
544
+ const { crossmintAuth } = useCrossmintAuth();
545
+ const { oauthUrlMap, setError } = useAuthForm();
546
+ const [isLoading, setIsLoading] = useState4(false);
547
+ const childRef = useRef(null);
548
+ useEffect2(() => {
549
+ if (childRef.current == null) {
550
+ childRef.current = new ChildWindow(window.opener || window.parent, "*", {
551
+ incomingEvents
552
+ });
553
+ }
554
+ return () => {
555
+ if (childRef.current != null) {
556
+ childRef.current.off("authMaterialFromPopupCallback");
557
+ }
558
+ };
559
+ }, []);
560
+ const createPopupAndSetupListeners = (providerLoginHint) => __async(void 0, null, function* () {
561
+ if (childRef.current == null) {
562
+ throw new Error("Child window not initialized");
563
+ }
564
+ setIsLoading(true);
565
+ setError(null);
566
+ const baseUrl = new URL(oauthUrlMap[provider]);
567
+ if (providerLoginHint != null) {
568
+ const existingParams = Array.from(baseUrl.searchParams.entries());
569
+ baseUrl.search = "";
570
+ if (providerLoginHint) {
571
+ baseUrl.searchParams.append("provider_login_hint", providerLoginHint);
572
+ }
573
+ existingParams.forEach(([key, value]) => {
574
+ baseUrl.searchParams.append(key, value);
575
+ });
576
+ }
577
+ const popup = yield PopupWindow.init(baseUrl.toString(), {
578
+ awaitToLoad: false,
579
+ crossOrigin: true,
580
+ width: 400,
581
+ height: 700
582
+ });
583
+ const handleAuthMaterial = (data) => __async(void 0, null, function* () {
584
+ var _a;
585
+ yield crossmintAuth == null ? void 0 : crossmintAuth.handleRefreshAuthMaterial(data.oneTimeSecret);
586
+ (_a = childRef.current) == null ? void 0 : _a.off("authMaterialFromPopupCallback");
587
+ popup.window.close();
588
+ setIsLoading(false);
589
+ });
590
+ const handleError = (data) => {
591
+ var _a;
592
+ setError(data.error);
593
+ (_a = childRef.current) == null ? void 0 : _a.off("errorFromPopupCallback");
594
+ popup.window.close();
595
+ setIsLoading(false);
596
+ };
597
+ childRef.current.on("authMaterialFromPopupCallback", handleAuthMaterial);
598
+ childRef.current.on("errorFromPopupCallback", handleError);
599
+ const checkWindowClosure = setInterval(() => {
600
+ var _a;
601
+ if (popup.window.closed) {
602
+ clearInterval(checkWindowClosure);
603
+ setIsLoading(false);
604
+ (_a = childRef.current) == null ? void 0 : _a.off("authMaterialFromPopupCallback");
605
+ }
606
+ }, 2500);
607
+ });
608
+ return {
609
+ createPopupAndSetupListeners,
610
+ isLoading
611
+ };
612
+ };
613
+ var incomingEvents = {
614
+ authMaterialFromPopupCallback: z.object({ oneTimeSecret: z.string() }),
615
+ errorFromPopupCallback: z.object({ error: z.string() })
616
+ };
617
+
618
+ // src/components/auth/methods/google/ContinueWithGoogle.tsx
619
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
620
+ function ContinueWithGoogle({ emailInput, appearance }) {
621
+ var _a, _b, _c, _d;
622
+ const { createPopupAndSetupListeners, isLoading: isLoadingOAuthWindow } = useOAuthWindowListener("google");
623
+ return /* @__PURE__ */ jsxs3(
624
+ "button",
625
+ {
626
+ type: "button",
627
+ className: classNames(
628
+ "flex items-center gap-2 justify-center h-[32px] px-2.5 border border-cm-border rounded-xl bg-cm-background-primary",
629
+ "hover:bg-cm-hover focus:bg-cm-hover outline-none",
630
+ isLoadingOAuthWindow ? "cursor-not-allowed hover:bg-cm-muted-primary" : ""
631
+ ),
632
+ onClick: isLoadingOAuthWindow ? void 0 : () => createPopupAndSetupListeners(emailInput.trim().toLowerCase()),
633
+ style: {
634
+ backgroundColor: (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.buttonBackground,
635
+ borderRadius: appearance == null ? void 0 : appearance.borderRadius
636
+ },
637
+ children: [
638
+ /* @__PURE__ */ jsx5(GoogleIcon, { className: "max-h-[18px] max-w-[18px] h-[18px] w-[18px]" }),
639
+ isLoadingOAuthWindow ? /* @__PURE__ */ jsx5(
640
+ Spinner,
641
+ {
642
+ style: {
643
+ color: (_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.textSecondary,
644
+ fill: (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.textPrimary,
645
+ width: "18px",
646
+ height: "18px"
647
+ }
648
+ }
649
+ ) : /* @__PURE__ */ jsx5("span", { className: "text-cm-accent", style: { color: (_d = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _d.accent }, children: "Continue" })
650
+ ]
651
+ }
652
+ );
653
+ }
654
+
655
+ // src/components/auth/methods/email/EmailSignIn.tsx
656
+ import { Fragment, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
657
+ function EmailSignIn({ setOtpEmailData }) {
658
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
659
+ const { crossmintAuth } = useCrossmintAuth();
660
+ const { appearance, defaultEmail, setStep, setError } = useAuthForm();
661
+ const [emailInput, setEmailInput] = useState5(defaultEmail != null ? defaultEmail : "");
662
+ const [emailError, setEmailError] = useState5("");
663
+ const [isLoading, setIsLoading] = useState5(false);
664
+ const showGoogleContinueButton = emailInput.toLowerCase().includes("@gmail.com") && !emailInput.toLowerCase().includes("+") && isEmailValid(emailInput) && !isLoading;
665
+ function handleOnSubmit(e) {
666
+ return __async(this, null, function* () {
667
+ e.preventDefault();
668
+ setIsLoading(true);
669
+ try {
670
+ const trimmedEmailInput = emailInput.trim().toLowerCase();
671
+ const emailSignInRes = yield crossmintAuth == null ? void 0 : crossmintAuth.sendEmailOtp(trimmedEmailInput);
672
+ setOtpEmailData({ email: trimmedEmailInput, emailId: emailSignInRes.emailId });
673
+ setStep("otp");
674
+ } catch (_e2) {
675
+ setIsLoading(false);
676
+ setError("Failed to send email. Please try again or contact support.");
677
+ }
678
+ });
679
+ }
680
+ return /* @__PURE__ */ jsx6(Fragment, { children: /* @__PURE__ */ jsx6("div", { className: "flex flex-col items-start justify-start w-full rounded-lg", children: /* @__PURE__ */ jsxs4("div", { className: "w-full", children: [
681
+ /* @__PURE__ */ jsx6(
682
+ "label",
683
+ {
684
+ className: "text-cm-text-primary block mb-[5px]",
685
+ style: { color: (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.textPrimary },
686
+ children: "Email"
687
+ }
688
+ ),
689
+ /* @__PURE__ */ jsxs4(
690
+ "form",
691
+ {
692
+ role: "form",
693
+ className: "relative",
694
+ onSubmit: (e) => {
695
+ if (showGoogleContinueButton) {
696
+ e.preventDefault();
697
+ return;
698
+ }
699
+ if (isEmailValid(emailInput)) {
700
+ handleOnSubmit(e);
701
+ } else {
702
+ e.preventDefault();
703
+ }
704
+ },
705
+ noValidate: true,
706
+ children: [
707
+ /* @__PURE__ */ jsx6("label", { htmlFor: "emailInput", className: "sr-only", children: "Email" }),
708
+ /* @__PURE__ */ jsx6(
709
+ "input",
710
+ {
711
+ className: classNames(
712
+ "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",
713
+ "transition-none duration-200 ease-in-out",
714
+ "focus:outline-none focus-ring-custom",
715
+ // Add focus ring
716
+ "placeholder:[color:var(--placeholder-color)]",
717
+ emailError ? "border-red-500" : "",
718
+ showGoogleContinueButton ? "pr-[132px]" : "pr-[80px]"
719
+ ),
720
+ style: {
721
+ color: (_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.textPrimary,
722
+ borderRadius: appearance == null ? void 0 : appearance.borderRadius,
723
+ borderColor: emailError ? (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.danger : (_d = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _d.border,
724
+ backgroundColor: (_e = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _e.inputBackground,
725
+ // @ts-expect-error Add custom placeholder & ring color to tailwind
726
+ "--placeholder-color": (_g = (_f = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _f.textSecondary) != null ? _g : "#67797F",
727
+ "--focus-ring-color": new Color((_i = (_h = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _h.accent) != null ? _i : "#04AA6D").alpha(0.18).toString()
728
+ },
729
+ type: "email",
730
+ placeholder: "your@email.com",
731
+ value: emailInput,
732
+ onChange: (e) => {
733
+ setEmailInput(e.target.value);
734
+ setEmailError("");
735
+ setError(null);
736
+ },
737
+ readOnly: isLoading,
738
+ "aria-describedby": "emailError"
739
+ }
740
+ ),
741
+ /* @__PURE__ */ jsxs4("div", { className: "absolute inset-y-0 right-0 flex items-center pr-4", children: [
742
+ emailError && /* @__PURE__ */ jsx6(AlertIcon, { customColor: (_j = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _j.danger }),
743
+ isLoading && /* @__PURE__ */ jsx6(
744
+ Spinner,
745
+ {
746
+ style: {
747
+ color: (_k = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _k.textSecondary,
748
+ fill: (_l = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _l.textPrimary
749
+ }
750
+ }
751
+ ),
752
+ showGoogleContinueButton ? /* @__PURE__ */ jsx6(ContinueWithGoogle, { emailInput, appearance }) : !emailError && !isLoading ? /* @__PURE__ */ jsx6(
753
+ "button",
754
+ {
755
+ type: "submit",
756
+ className: classNames(
757
+ "font-medium text-cm-accent text-nowrap bg-cm-background-primary",
758
+ !isEmailValid(emailInput) ? "!cursor-not-allowed opacity-60" : "cursor-pointer"
759
+ ),
760
+ style: {
761
+ color: (_m = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _m.accent,
762
+ backgroundColor: (_n = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _n.inputBackground
763
+ },
764
+ disabled: !isEmailValid(emailInput) || isLoading,
765
+ children: "Submit"
766
+ }
767
+ ) : null
768
+ ] })
769
+ ]
770
+ }
771
+ ),
772
+ emailError && /* @__PURE__ */ jsx6("p", { className: "text-xs text-red-500 mb-2 pt-2", children: emailError })
773
+ ] }) }) });
774
+ }
775
+
776
+ // src/components/auth/methods/email/EmailAuthFlow.tsx
777
+ import { jsx as jsx7 } from "react/jsx-runtime";
778
+ function EmailAuthFlow() {
779
+ const { step } = useAuthForm();
780
+ const [otpEmailData, setOtpEmailData] = useState6(null);
781
+ if (step === "otp") {
782
+ return /* @__PURE__ */ jsx7(EmailOTPInput, { otpEmailData, setOtpEmailData });
783
+ }
784
+ if (step === "initial") {
785
+ return /* @__PURE__ */ jsx7(EmailSignIn, { setOtpEmailData });
786
+ }
787
+ return null;
788
+ }
789
+
790
+ // src/components/common/Divider.tsx
791
+ import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
792
+ function Divider({ appearance, text }) {
793
+ var _a, _b, _c;
794
+ const { step } = useAuthForm();
795
+ if (step !== "initial") {
796
+ return null;
797
+ }
798
+ return /* @__PURE__ */ jsxs5("div", { className: "flex items-center justify-center w-full pt-2 pb-3", children: [
799
+ /* @__PURE__ */ jsx8("span", { className: "w-full h-[1px] bg-cm-border", style: { backgroundColor: (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.border } }),
800
+ text != null ? /* @__PURE__ */ jsx8(
801
+ "p",
802
+ {
803
+ className: "flex-none px-2 text-sm text-cm-text-primary",
804
+ style: { color: (_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.textSecondary },
805
+ children: text
806
+ }
807
+ ) : null,
808
+ /* @__PURE__ */ jsx8("span", { className: "w-full h-[1px] bg-cm-border", style: { backgroundColor: (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.border } })
809
+ ] });
810
+ }
811
+
812
+ // src/components/auth/methods/google/GoogleSignIn.tsx
813
+ import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
814
+ function GoogleSignIn(_a) {
815
+ var props = __objRest(_a, []);
816
+ var _a2, _b, _c, _d;
817
+ const { step, appearance, isLoadingOauthUrlMap } = useAuthForm();
818
+ const { createPopupAndSetupListeners, isLoading: isLoadingOAuthWindow } = useOAuthWindowListener("google");
819
+ const isLoading = isLoadingOauthUrlMap || isLoadingOAuthWindow;
820
+ if (step !== "initial") {
821
+ return null;
822
+ }
823
+ return /* @__PURE__ */ jsxs6(
824
+ "button",
825
+ __spreadProps(__spreadValues({
826
+ className: classNames(
827
+ "relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center",
828
+ "transition-colors duration-200 ease-in-out",
829
+ "hover:bg-cm-hover focus:bg-cm-hover outline-none",
830
+ isLoading ? "cursor-not-allowed hover:bg-cm-muted-primary" : ""
831
+ ),
832
+ style: {
833
+ borderRadius: appearance == null ? void 0 : appearance.borderRadius,
834
+ backgroundColor: (_a2 = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a2.buttonBackground
835
+ },
836
+ onClick: isLoading ? void 0 : () => createPopupAndSetupListeners()
837
+ }, props), {
838
+ children: [
839
+ /* @__PURE__ */ jsxs6(Fragment2, { children: [
840
+ /* @__PURE__ */ jsx9(GoogleIcon, { className: "max-h-[25px] max-w-[25px] h-[25px] w-[25px] absolute left-[18px]" }),
841
+ isLoading ? /* @__PURE__ */ jsx9(
842
+ Spinner,
843
+ {
844
+ style: {
845
+ color: (_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.textSecondary,
846
+ fill: (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.textPrimary
847
+ }
848
+ }
849
+ ) : /* @__PURE__ */ jsx9(
850
+ "span",
851
+ {
852
+ className: "font-medium",
853
+ style: { margin: "0px 32px", color: (_d = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _d.textPrimary },
854
+ children: "Sign in with Google"
855
+ }
856
+ )
857
+ ] }),
858
+ /* @__PURE__ */ jsx9("span", { className: "sr-only", children: "Sign in with Google" })
859
+ ]
860
+ })
861
+ );
862
+ }
863
+
864
+ // src/components/auth/methods/farcaster/FarcasterSignIn.tsx
865
+ import { useEffect as useEffect3, useMemo as useMemo2, useState as useState7 } from "react";
866
+ import { useSignIn, QRCode } from "@farcaster/auth-kit";
867
+ import { Fragment as Fragment3, jsx as jsx10, jsxs as jsxs7 } from "react/jsx-runtime";
868
+ function FarcasterSignIn() {
869
+ var _a, _b;
870
+ const { step, appearance, setStep, setError } = useAuthForm();
871
+ if (step === "initial") {
872
+ return /* @__PURE__ */ jsx10("div", { children: /* @__PURE__ */ jsxs7(
873
+ "button",
874
+ {
875
+ className: classNames(
876
+ "relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center",
877
+ "transition-colors duration-200 ease-in-out",
878
+ "hover:bg-cm-hover focus:bg-cm-hover outline-none"
879
+ ),
880
+ style: {
881
+ borderRadius: appearance == null ? void 0 : appearance.borderRadius,
882
+ backgroundColor: (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.buttonBackground
883
+ },
884
+ onClick: () => {
885
+ setStep("qrCode");
886
+ setError(null);
887
+ },
888
+ children: [
889
+ /* @__PURE__ */ jsx10(FarcasterIcon, { className: "max-h-[25px] max-w-[25px] h-[25px] w-[25px] absolute left-[18px]" }),
890
+ /* @__PURE__ */ jsx10(
891
+ "span",
892
+ {
893
+ className: "font-medium",
894
+ style: { margin: "0px 32px", color: (_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.textPrimary },
895
+ children: "Sign in with Farcaster"
896
+ }
897
+ ),
898
+ /* @__PURE__ */ jsx10("span", { className: "sr-only", children: "Sign in with Farcaster" })
899
+ ]
900
+ }
901
+ ) });
902
+ }
903
+ if (step === "qrCode") {
904
+ return /* @__PURE__ */ jsx10(FarcasterQRCode, {});
905
+ }
906
+ return null;
907
+ }
908
+ function FarcasterQRCode() {
909
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
910
+ const { crossmintAuth } = useCrossmintAuth();
911
+ const { appearance, setStep, setDialogOpen, setError } = useAuthForm();
912
+ const [farcasterData, setFarcasterData] = useState7(null);
913
+ const farcasterProps = useMemo2(
914
+ () => ({
915
+ onSuccess: (data) => {
916
+ setFarcasterData(data);
917
+ }
918
+ }),
919
+ []
920
+ );
921
+ const { signIn, url: qrCodeUrl, connect, signOut, isConnected } = useSignIn(farcasterProps);
922
+ const handleFarcasterSignIn = (data) => __async(this, null, function* () {
923
+ setError(null);
924
+ try {
925
+ const oneTimeSecret = yield crossmintAuth == null ? void 0 : crossmintAuth.signInWithFarcaster(data);
926
+ yield crossmintAuth == null ? void 0 : crossmintAuth.handleRefreshAuthMaterial(oneTimeSecret);
927
+ setDialogOpen(false);
928
+ setStep("initial");
929
+ } catch (error) {
930
+ console.error("Error during Farcaster sign-in:", error);
931
+ setError("Failed to sign in with Farcaster");
932
+ }
933
+ });
934
+ useEffect3(() => {
935
+ if (farcasterData != null) {
936
+ handleFarcasterSignIn(farcasterData);
937
+ }
938
+ }, [farcasterData]);
939
+ useEffect3(() => {
940
+ if (isConnected) {
941
+ signIn();
942
+ }
943
+ }, [isConnected]);
944
+ useEffect3(() => {
945
+ connect();
946
+ }, []);
947
+ return /* @__PURE__ */ jsxs7("div", { children: [
948
+ /* @__PURE__ */ jsx10(
949
+ AuthFormBackButton,
950
+ {
951
+ onClick: () => {
952
+ signOut();
953
+ setStep("initial");
954
+ },
955
+ iconColor: (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.textPrimary,
956
+ ringColor: (_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.accent
957
+ }
958
+ ),
959
+ /* @__PURE__ */ jsxs7("div", { className: "flex flex-col items-center gap-4", children: [
960
+ /* @__PURE__ */ jsxs7("div", { className: "text-center", children: [
961
+ /* @__PURE__ */ jsx10(
962
+ "h3",
963
+ {
964
+ className: "text-lg font-semibold text-cm-text-primary mb-2",
965
+ style: { color: (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.textPrimary },
966
+ children: "Sign in with Farcaster"
967
+ }
968
+ ),
969
+ /* @__PURE__ */ jsx10(
970
+ "p",
971
+ {
972
+ className: "text-base font-normal text-cm-text-secondary",
973
+ style: { color: (_d = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _d.textSecondary },
974
+ children: "Scan with your phone's camera to continue."
975
+ }
976
+ )
977
+ ] }),
978
+ /* @__PURE__ */ jsx10(
979
+ "div",
980
+ {
981
+ className: "bg-white aspect-square rounded-lg p-4",
982
+ style: {
983
+ backgroundColor: (_e = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _e.inputBackground,
984
+ borderRadius: appearance == null ? void 0 : appearance.borderRadius
985
+ },
986
+ children: qrCodeUrl != null ? /* @__PURE__ */ jsx10(QRCode, { uri: qrCodeUrl, size: 280 }) : /* @__PURE__ */ jsx10("div", { className: "min-h-[246px] flex items-center justify-center", children: /* @__PURE__ */ jsx10(
987
+ Spinner,
988
+ {
989
+ style: {
990
+ color: (_f = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _f.textSecondary,
991
+ fill: (_g = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _g.textPrimary
992
+ }
993
+ }
994
+ ) })
995
+ }
996
+ ),
997
+ qrCodeUrl ? /* @__PURE__ */ jsxs7(Fragment3, { children: [
998
+ /* @__PURE__ */ jsx10(
999
+ "p",
1000
+ {
1001
+ className: "text-base text-center font-normal text-cm-text-secondary",
1002
+ style: { color: (_h = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _h.textSecondary },
1003
+ children: "Alternatively, click on this link to open Warpcast."
1004
+ }
1005
+ ),
1006
+ /* @__PURE__ */ jsx10(
1007
+ "a",
1008
+ {
1009
+ href: qrCodeUrl,
1010
+ rel: "noopener noreferrer",
1011
+ target: "_blank",
1012
+ className: "text-base font-normal text-cm-link",
1013
+ style: { color: (_i = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _i.textLink },
1014
+ children: "Open Warpcast"
1015
+ }
1016
+ )
1017
+ ] }) : null
1018
+ ] })
1019
+ ] });
1020
+ }
1021
+
1022
+ // src/components/auth/methods/twitter/TwitterSignIn.tsx
1023
+ import { Fragment as Fragment4, jsx as jsx11, jsxs as jsxs8 } from "react/jsx-runtime";
1024
+ function TwitterSignIn(_a) {
1025
+ var props = __objRest(_a, []);
1026
+ var _a2, _b, _c, _d;
1027
+ const { step, appearance, isLoadingOauthUrlMap } = useAuthForm();
1028
+ const { createPopupAndSetupListeners, isLoading: isLoadingOAuthWindow } = useOAuthWindowListener("twitter");
1029
+ const isLoading = isLoadingOauthUrlMap || isLoadingOAuthWindow;
1030
+ if (step !== "initial") {
1031
+ return null;
1032
+ }
1033
+ return /* @__PURE__ */ jsxs8(
1034
+ "button",
1035
+ __spreadProps(__spreadValues({
1036
+ className: classNames(
1037
+ "relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center",
1038
+ "transition-colors duration-200 ease-in-out",
1039
+ "hover:bg-cm-hover focus:bg-cm-hover outline-none",
1040
+ isLoading ? "cursor-not-allowed hover:bg-cm-muted-primary" : ""
1041
+ ),
1042
+ style: {
1043
+ borderRadius: appearance == null ? void 0 : appearance.borderRadius,
1044
+ backgroundColor: (_a2 = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a2.buttonBackground
1045
+ },
1046
+ onClick: isLoading ? void 0 : () => createPopupAndSetupListeners()
1047
+ }, props), {
1048
+ children: [
1049
+ /* @__PURE__ */ jsxs8(Fragment4, { children: [
1050
+ /* @__PURE__ */ jsx11(TwitterIcon, { className: "max-h-[25px] max-w-[25px] h-[25px] w-[25px] absolute left-[18px]" }),
1051
+ isLoading ? /* @__PURE__ */ jsx11(
1052
+ Spinner,
1053
+ {
1054
+ style: {
1055
+ color: (_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.textSecondary,
1056
+ fill: (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.textPrimary
1057
+ }
1058
+ }
1059
+ ) : /* @__PURE__ */ jsx11(
1060
+ "span",
1061
+ {
1062
+ className: "font-medium",
1063
+ style: { margin: "0px 32px", color: (_d = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _d.textPrimary },
1064
+ children: "Sign in with X"
1065
+ }
1066
+ )
1067
+ ] }),
1068
+ /* @__PURE__ */ jsx11("span", { className: "sr-only", children: "Sign in with X" })
1069
+ ]
1070
+ })
1071
+ );
1072
+ }
1073
+
1074
+ // src/components/auth/methods/web3/Web3AuthFlowButton.tsx
1075
+ import { jsx as jsx12, jsxs as jsxs9 } from "react/jsx-runtime";
1076
+ function Web3AuthFlowButton() {
1077
+ var _a, _b, _c, _d, _e;
1078
+ const { step, appearance, setStep, setError } = useAuthForm();
1079
+ if (step !== "initial") {
1080
+ return null;
1081
+ }
1082
+ return /* @__PURE__ */ jsxs9(
1083
+ "button",
1084
+ {
1085
+ className: classNames(
1086
+ "relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center",
1087
+ "transition-colors duration-200 ease-in-out",
1088
+ "hover:bg-cm-hover focus:bg-cm-hover outline-none"
1089
+ ),
1090
+ style: {
1091
+ borderRadius: appearance == null ? void 0 : appearance.borderRadius,
1092
+ borderColor: (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.border,
1093
+ backgroundColor: (_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.buttonBackground
1094
+ },
1095
+ onClick: () => {
1096
+ setStep("web3");
1097
+ setError(null);
1098
+ },
1099
+ children: [
1100
+ /* @__PURE__ */ jsx12(
1101
+ WalletIcon,
1102
+ {
1103
+ className: "h-[21px] w-[21px] absolute left-[20px]",
1104
+ style: { color: (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.textPrimary }
1105
+ }
1106
+ ),
1107
+ /* @__PURE__ */ jsx12("span", { className: "font-medium", style: { margin: "0px 32px", color: (_d = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _d.textPrimary }, children: "Continue with a wallet" }),
1108
+ /* @__PURE__ */ jsx12(
1109
+ ChevronRightIcon,
1110
+ {
1111
+ className: "h-[21px] w-[21px] absolute right-[20px]",
1112
+ style: { color: (_e = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _e.textSecondary }
1113
+ }
1114
+ ),
1115
+ /* @__PURE__ */ jsx12("span", { className: "sr-only", children: "Continue with a wallet" })
1116
+ ]
1117
+ }
1118
+ );
1119
+ }
1120
+
1121
+ // src/components/auth/methods/web3/Web3Connectors.tsx
1122
+ import { DynamicEmbeddedWidget } from "@dynamic-labs/sdk-react-core";
1123
+ import { Fragment as Fragment5, jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
1124
+ function Web3Connectors() {
1125
+ var _a, _b;
1126
+ const { appearance, step, setStep } = useAuthForm();
1127
+ if (step === "web3") {
1128
+ return /* @__PURE__ */ jsxs10(Fragment5, { children: [
1129
+ /* @__PURE__ */ jsx13(
1130
+ AuthFormBackButton,
1131
+ {
1132
+ onClick: () => setStep("initial"),
1133
+ iconColor: (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.textPrimary,
1134
+ ringColor: (_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.accent
1135
+ }
1136
+ ),
1137
+ /* @__PURE__ */ jsx13("div", { className: "flex flex-col items-center", children: /* @__PURE__ */ jsx13("div", { className: "flex flex-col gap-[10px] w-full", children: /* @__PURE__ */ jsx13("div", { className: "widget-container", children: /* @__PURE__ */ jsx13(DynamicEmbeddedWidget, { background: "none" }) }) }) })
1138
+ ] });
1139
+ }
1140
+ return null;
1141
+ }
1142
+
1143
+ // src/components/auth/methods/web3/Web3AuthFlow.tsx
1144
+ import { jsx as jsx14 } from "react/jsx-runtime";
1145
+ function Web3AuthFlow() {
1146
+ const { step } = useAuthForm();
1147
+ if (step.startsWith("web3")) {
1148
+ return /* @__PURE__ */ jsx14(Web3Connectors, {});
1149
+ }
1150
+ if (step === "initial") {
1151
+ return /* @__PURE__ */ jsx14(Web3AuthFlowButton, {});
1152
+ }
1153
+ return null;
1154
+ }
1155
+
1156
+ // src/components/auth/AuthForm.tsx
1157
+ import { jsx as jsx15, jsxs as jsxs11 } from "react/jsx-runtime";
1158
+ function AuthForm({ className }) {
1159
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m;
1160
+ const { step, appearance, loginMethods, baseUrl, error, termsOfServiceText, authModalTitle } = useAuthForm();
1161
+ return /* @__PURE__ */ jsxs11(
1162
+ "div",
1163
+ {
1164
+ className: classNames(
1165
+ "relative pt-10 pb-[30px] px-6 !min-[480px]:px-10 flex flex-col gap-[10px] antialiased animate-none",
1166
+ className
1167
+ ),
1168
+ children: [
1169
+ error != null ? /* @__PURE__ */ jsxs11(
1170
+ "div",
1171
+ {
1172
+ className: "flex items-start justify-start w-full rounded-lg p-2 mt-4 bg-cm-danger-muted",
1173
+ style: {
1174
+ backgroundColor: new Color2((_b = (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.danger) != null ? _b : "#f44336").alpha(0.12).toString()
1175
+ },
1176
+ children: [
1177
+ /* @__PURE__ */ jsx15("div", { className: "min-w-[20px]", children: /* @__PURE__ */ jsx15(AlertIcon, { customColor: (_d = (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.danger) != null ? _d : "#f44336" }) }),
1178
+ /* @__PURE__ */ jsx15("p", { className: "ml-2 text-sm", style: { color: (_f = (_e = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _e.danger) != null ? _f : "#f44336" }, children: error })
1179
+ ]
1180
+ }
1181
+ ) : null,
1182
+ step === "initial" ? /* @__PURE__ */ jsxs11("div", { children: [
1183
+ /* @__PURE__ */ jsx15(
1184
+ "h1",
1185
+ {
1186
+ className: "text-2xl font-bold text-cm-text-primary",
1187
+ style: { color: (_g = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _g.textPrimary },
1188
+ children: authModalTitle != null ? authModalTitle : "Sign in to Crossmint"
1189
+ }
1190
+ ),
1191
+ /* @__PURE__ */ jsx15(
1192
+ "p",
1193
+ {
1194
+ className: "text-base font-normal mb-3 text-cm-text-secondary",
1195
+ style: { color: (_h = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _h.textSecondary },
1196
+ children: "Access using one of the options below."
1197
+ }
1198
+ )
1199
+ ] }) : null,
1200
+ loginMethods.includes("google") ? /* @__PURE__ */ jsx15(GoogleSignIn, {}) : null,
1201
+ loginMethods.includes("farcaster") ? /* @__PURE__ */ jsx15(FarcasterProvider, { baseUrl, children: /* @__PURE__ */ jsx15(FarcasterSignIn, {}) }) : null,
1202
+ loginMethods.includes("twitter") ? /* @__PURE__ */ jsx15(TwitterSignIn, {}) : null,
1203
+ loginMethods.some((method) => method.startsWith("web3")) ? /* @__PURE__ */ jsx15(Web3AuthFlow, {}) : null,
1204
+ loginMethods.includes("email") ? /* @__PURE__ */ jsxs11("div", { children: [
1205
+ loginMethods.length > 1 ? /* @__PURE__ */ jsx15(Divider, { appearance, text: "OR" }) : null,
1206
+ /* @__PURE__ */ jsx15(EmailAuthFlow, {})
1207
+ ] }) : null,
1208
+ step === "initial" && termsOfServiceText != null ? /* @__PURE__ */ jsxs11(
1209
+ "div",
1210
+ {
1211
+ className: "text-sm text-center text-cm-text-secondary mt-2",
1212
+ style: { color: (_i = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _i.textSecondary },
1213
+ children: [
1214
+ /* @__PURE__ */ jsx15("style", { children: `
1215
+ p a {
1216
+ color: ${(_k = (_j = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _j.textLink) != null ? _k : "#1A74E9"};
1217
+ }
1218
+ ` }),
1219
+ termsOfServiceText
1220
+ ]
1221
+ }
1222
+ ) : null,
1223
+ step === "initial" || step === "otp" ? /* @__PURE__ */ jsx15(
1224
+ SecuredByCrossmint,
1225
+ {
1226
+ className: "mt-1.5 md:mt-4 justify-center",
1227
+ color: (_m = (_l = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _l.textSecondary) != null ? _m : "#67797F"
1228
+ }
1229
+ ) : null
1230
+ ]
1231
+ }
1232
+ );
1233
+ }
1234
+
1235
+ // src/components/auth/AuthFormDialog.tsx
1236
+ import { useEffect as useEffect4 } from "react";
1237
+ import { jsx as jsx16, jsxs as jsxs12 } from "react/jsx-runtime";
1238
+ function AuthFormDialog({ open }) {
1239
+ var _a, _b, _c;
1240
+ const { appearance, setDialogOpen } = useAuthForm();
1241
+ useEffect4(() => {
1242
+ document.body.style.overflow = open ? "hidden" : "";
1243
+ }, [open]);
1244
+ return /* @__PURE__ */ jsx16(Dialog, { modal: false, open, onOpenChange: setDialogOpen, children: /* @__PURE__ */ jsxs12(
1245
+ DialogContent,
1246
+ {
1247
+ onInteractOutside: (e) => e.preventDefault(),
1248
+ onOpenAutoFocus: (e) => e.preventDefault(),
1249
+ closeButtonColor: (_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.textPrimary,
1250
+ closeButtonRingColor: (_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.accent,
1251
+ className: "!p-0 !min-[480px]:p-0",
1252
+ style: {
1253
+ borderRadius: appearance == null ? void 0 : appearance.borderRadius,
1254
+ backgroundColor: (_c = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _c.background
1255
+ },
1256
+ children: [
1257
+ /* @__PURE__ */ jsx16(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx16(DialogTitle, { children: "Crossmint Auth" }) }),
1258
+ /* @__PURE__ */ jsx16(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx16(DialogDescription, { children: "Sign in via Crossmint" }) }),
1259
+ /* @__PURE__ */ jsx16(AuthForm, { className: "max-w-[448px]" })
1260
+ ]
1261
+ }
1262
+ ) });
1263
+ }
1264
+
1265
+ // src/providers/auth/web3/DynamicWeb3WalletConnect.tsx
1266
+ import base58 from "bs58";
1267
+ import { EthereumWalletConnectors } from "@dynamic-labs/ethereum";
1268
+ import { SolanaWalletConnectors } from "@dynamic-labs/solana";
1269
+ import { jsx as jsx17 } from "react/jsx-runtime";
1270
+ function DynamicWeb3WalletConnect({
1271
+ children,
1272
+ apiKeyEnvironment,
1273
+ enabled
1274
+ }) {
1275
+ var _a, _b;
1276
+ const { crossmintAuth } = useCrossmintAuth();
1277
+ const { appearance, loginMethods } = useAuthForm();
1278
+ let connectors = enabled ? [EthereumWalletConnectors, SolanaWalletConnectors] : void 0;
1279
+ if (loginMethods.includes("web3:evm-only")) {
1280
+ connectors = [EthereumWalletConnectors];
1281
+ } else if (loginMethods.includes("web3:solana-only")) {
1282
+ connectors = [SolanaWalletConnectors];
1283
+ }
1284
+ const cssOverrides = `.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: ${(_a = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _a.textPrimary} !important; } * { color: ${(_b = appearance == null ? void 0 : appearance.colors) == null ? void 0 : _b.textSecondary} !important; }`;
1285
+ return /* @__PURE__ */ jsx17(
1286
+ DynamicContextProviderWrapper,
1287
+ {
1288
+ apiKeyEnvironment,
1289
+ settings: {
1290
+ walletConnectors: connectors,
1291
+ cssOverrides,
1292
+ events: {
1293
+ onWalletRemoved() {
1294
+ console.log("[CryptoWalletConnectionHandler] onWalletRemoved");
1295
+ },
1296
+ onAuthFlowCancel() {
1297
+ console.log("[CryptoWalletConnectionHandler] onAuthFlowCancel");
1298
+ },
1299
+ onAuthFlowClose() {
1300
+ console.log("[CryptoWalletConnectionHandler] onAuthFlowClose");
1301
+ },
1302
+ onAuthFailure(data, reason) {
1303
+ console.error("[CryptoWalletConnectionHandler] onAuthFailure", data, reason);
1304
+ },
1305
+ onAuthSuccess(data) {
1306
+ console.log("[CryptoWalletConnectionHandler] onAuthSuccess", data);
1307
+ }
1308
+ },
1309
+ handlers: {
1310
+ handleConnectedWallet: (args) => __async(this, null, function* () {
1311
+ var _a2;
1312
+ console.log("[CryptoWalletConnectionHandler] handleConnectedWallet", args);
1313
+ const address = args.address;
1314
+ if (!address) {
1315
+ console.error("[CryptoWalletConnectionHandler] handleConnectedWallet: address is missing");
1316
+ return false;
1317
+ }
1318
+ const chain = yield dynamicChainToCrossmintChain(args);
1319
+ const type = chain === "solana" ? "solana" : "evm";
1320
+ try {
1321
+ const res = yield crossmintAuth == null ? void 0 : crossmintAuth.signInWithSmartWallet(address, type);
1322
+ const rawSignature = yield (_a2 = args.connector) == null ? void 0 : _a2.proveOwnership(
1323
+ address,
1324
+ res.challenge
1325
+ );
1326
+ let signature = rawSignature;
1327
+ if (type === "solana") {
1328
+ const signatureBuffer = Buffer.from(rawSignature, "base64");
1329
+ signature = base58.encode(signatureBuffer);
1330
+ }
1331
+ const authResponse = yield crossmintAuth == null ? void 0 : crossmintAuth.authenticateSmartWallet(
1332
+ address,
1333
+ type,
1334
+ signature
1335
+ );
1336
+ const oneTimeSecret = authResponse.oneTimeSecret;
1337
+ yield crossmintAuth == null ? void 0 : crossmintAuth.handleRefreshAuthMaterial(oneTimeSecret);
1338
+ } catch (error) {
1339
+ console.error("[CryptoWalletConnectionHandler] Error authenticating wallet:", error);
1340
+ false;
1341
+ }
1342
+ return true;
1343
+ })
1344
+ }
1345
+ },
1346
+ children
1347
+ },
1348
+ `${apiKeyEnvironment}-${loginMethods.join(",")}`
1349
+ );
1350
+ }
1351
+
1352
+ // src/providers/CrossmintAuthProvider.tsx
1353
+ import { jsx as jsx18, jsxs as jsxs13 } from "react/jsx-runtime";
1354
+ var defaultContextValue = {
1355
+ crossmintAuth: void 0,
1356
+ login: () => {
1357
+ },
1358
+ logout: () => {
1359
+ },
1360
+ jwt: void 0,
1361
+ user: void 0,
1362
+ status: "initializing",
1363
+ getUser: () => {
1364
+ }
1365
+ };
1366
+ var AuthContext = createContext3(defaultContextValue);
1367
+ var defaultEmbeddedWallets = {
1368
+ createOnLogin: "off",
1369
+ type: "evm-smart-wallet",
1370
+ experimental_enableRecoveryKeys: false
1371
+ };
1372
+ function CrossmintAuthProvider({
1373
+ embeddedWallets = defaultEmbeddedWallets,
1374
+ children,
1375
+ appearance,
1376
+ termsOfServiceText,
1377
+ prefetchOAuthUrls = true,
1378
+ authModalTitle,
1379
+ onLoginSuccess,
1380
+ loginMethods = ["email", "google"],
1381
+ refreshRoute,
1382
+ logoutRoute
1383
+ }) {
1384
+ var _a;
1385
+ const [user, setUser] = useState8(void 0);
1386
+ const { crossmint, setJwt } = useCrossmint("CrossmintAuthProvider must be used within CrossmintProvider");
1387
+ const crossmintAuthRef = useRef2(null);
1388
+ const crossmintAuth = useMemo3(() => {
1389
+ if (!crossmintAuthRef.current) {
1390
+ crossmintAuthRef.current = CrossmintAuth.from(crossmint, {
1391
+ callbacks: {
1392
+ onLogout: () => {
1393
+ setJwt(void 0);
1394
+ setUser(void 0);
1395
+ },
1396
+ onTokenRefresh: (authMaterial) => {
1397
+ setJwt(authMaterial.jwt);
1398
+ setUser(authMaterial.user);
1399
+ }
1400
+ },
1401
+ refreshRoute,
1402
+ logoutRoute
1403
+ });
1404
+ }
1405
+ return crossmintAuthRef.current;
1406
+ }, []);
1407
+ const crossmintBaseUrl = validateApiKeyAndGetCrossmintBaseUrl(crossmint.apiKey);
1408
+ const [dialogOpen, setDialogOpen] = useState8(false);
1409
+ const [initialized, setInitialized] = useState8(false);
1410
+ const [defaultEmail, setDefaultEmail] = useState8(void 0);
1411
+ const [isDynamicSdkLoaded, setIsDynamicSdkLoaded] = useState8(false);
1412
+ const isWeb3Enabled = loginMethods.some((method) => method.startsWith("web3"));
1413
+ const triggerHasJustLoggedIn = useCallback2(() => {
1414
+ onLoginSuccess == null ? void 0 : onLoginSuccess();
1415
+ }, [onLoginSuccess]);
1416
+ useEffect5(() => {
1417
+ if (crossmint.jwt == null) {
1418
+ const jwt = getCookie(SESSION_PREFIX);
1419
+ setJwt(jwt);
1420
+ }
1421
+ setInitialized(true);
1422
+ }, [crossmint.jwt, setJwt]);
1423
+ useEffect5(() => {
1424
+ if (crossmint.jwt != null && dialogOpen) {
1425
+ setDialogOpen(false);
1426
+ triggerHasJustLoggedIn();
1427
+ }
1428
+ }, [crossmint.jwt, dialogOpen, triggerHasJustLoggedIn]);
1429
+ const login = useCallback2(
1430
+ (defaultEmail2) => {
1431
+ if (crossmint.jwt != null) {
1432
+ console.log("User already logged in");
1433
+ return;
1434
+ }
1435
+ if (defaultEmail2 != null && typeof defaultEmail2 === "string") {
1436
+ setDefaultEmail(defaultEmail2);
1437
+ }
1438
+ setDialogOpen(true);
1439
+ },
1440
+ [crossmint.jwt]
1441
+ );
1442
+ const logout = useCallback2(() => {
1443
+ crossmintAuth.logout();
1444
+ }, [crossmintAuth]);
1445
+ const getAuthStatus = useCallback2(() => {
1446
+ if (!initialized) {
1447
+ return "initializing";
1448
+ }
1449
+ if (isWeb3Enabled && !isDynamicSdkLoaded) {
1450
+ return "initializing";
1451
+ }
1452
+ if (crossmint.jwt != null) {
1453
+ return "logged-in";
1454
+ }
1455
+ if (dialogOpen) {
1456
+ return "in-progress";
1457
+ }
1458
+ return "logged-out";
1459
+ }, [initialized, crossmint.jwt, dialogOpen, isDynamicSdkLoaded, isWeb3Enabled]);
1460
+ const getUser = useCallback2(() => __async(this, null, function* () {
1461
+ if (crossmint.jwt == null) {
1462
+ console.log("User not logged in");
1463
+ return;
1464
+ }
1465
+ const user2 = yield crossmintAuth.getUser();
1466
+ setUser(user2);
1467
+ }), [crossmint.jwt, crossmintAuth]);
1468
+ const authContextValue = useMemo3(
1469
+ () => ({
1470
+ crossmintAuth,
1471
+ login,
1472
+ logout,
1473
+ jwt: crossmint.jwt,
1474
+ user,
1475
+ status: getAuthStatus(),
1476
+ getUser
1477
+ }),
1478
+ [crossmintAuth, login, logout, crossmint.jwt, user, getAuthStatus, getUser]
1479
+ );
1480
+ return /* @__PURE__ */ jsx18(TwindProvider, { children: /* @__PURE__ */ jsx18(AuthContext.Provider, { value: authContextValue, children: /* @__PURE__ */ jsx18(
1481
+ CrossmintWalletProvider,
1482
+ {
1483
+ showPasskeyHelpers: embeddedWallets.showPasskeyHelpers,
1484
+ appearance,
1485
+ experimental_enableRecoveryKeys: (_a = embeddedWallets.experimental_enableRecoveryKeys) != null ? _a : false,
1486
+ children: /* @__PURE__ */ jsx18(
1487
+ AuthFormProvider,
1488
+ {
1489
+ setDialogOpen: (open, successfulLogin) => {
1490
+ setDialogOpen(open);
1491
+ if (successfulLogin) {
1492
+ triggerHasJustLoggedIn();
1493
+ }
1494
+ },
1495
+ preFetchOAuthUrls: getAuthStatus() === "logged-out" && prefetchOAuthUrls,
1496
+ initialState: {
1497
+ appearance,
1498
+ loginMethods,
1499
+ termsOfServiceText,
1500
+ authModalTitle,
1501
+ embeddedWallets,
1502
+ baseUrl: crossmintBaseUrl,
1503
+ defaultEmail
1504
+ },
1505
+ children: /* @__PURE__ */ jsxs13(
1506
+ DynamicWeb3WalletConnect,
1507
+ {
1508
+ enabled: isWeb3Enabled,
1509
+ apiKeyEnvironment: crossmint.apiKey.includes("production") ? "production" : "staging",
1510
+ children: [
1511
+ /* @__PURE__ */ jsx18(
1512
+ WalletManager,
1513
+ {
1514
+ embeddedWallets,
1515
+ accessToken: crossmint.jwt,
1516
+ setIsDynamicSdkLoaded,
1517
+ isWeb3Enabled
1518
+ }
1519
+ ),
1520
+ children,
1521
+ /* @__PURE__ */ jsx18(AuthFormDialog, { open: dialogOpen })
1522
+ ]
1523
+ }
1524
+ )
1525
+ }
1526
+ )
1527
+ },
1528
+ crossmint.jwt
1529
+ ) }) });
1530
+ }
1531
+ function WalletManager({
1532
+ embeddedWallets,
1533
+ accessToken,
1534
+ setIsDynamicSdkLoaded,
1535
+ isWeb3Enabled
1536
+ }) {
1537
+ const { getOrCreateWallet, clearWallet, status: walletStatus } = useWallet();
1538
+ const { sdkHasLoaded, getAdminSigner, cleanup, isDynamicWalletConnected } = useDynamicConnect(
1539
+ isWeb3Enabled,
1540
+ setIsDynamicSdkLoaded,
1541
+ accessToken
1542
+ );
1543
+ const { createOnLogin, adminSigner: defaultAdminSigner, linkedUser } = embeddedWallets;
1544
+ const canGetOrCreateWallet = createOnLogin === "all-users" && walletStatus === "not-loaded" && accessToken != null && sdkHasLoaded;
1545
+ const handleWalletCreation = useCallback2(() => __async(this, null, function* () {
1546
+ var _a, _b;
1547
+ if (!canGetOrCreateWallet) {
1548
+ return;
1549
+ }
1550
+ let adminSigner = defaultAdminSigner;
1551
+ let walletType = embeddedWallets.type;
1552
+ if (isDynamicWalletConnected) {
1553
+ adminSigner = (_a = yield getAdminSigner()) != null ? _a : adminSigner;
1554
+ walletType = (_b = mapSignerToWalletType(adminSigner == null ? void 0 : adminSigner.type)) != null ? _b : walletType;
1555
+ }
1556
+ if (!isDynamicWalletConnected && embeddedWallets.type == null) {
1557
+ console.error(
1558
+ "[CrossmintAuthProvider] \u26A0\uFE0F embeddedWallets.type is required when no external wallet is connected"
1559
+ );
1560
+ return;
1561
+ }
1562
+ getOrCreateWallet({
1563
+ type: walletType,
1564
+ args: {
1565
+ adminSigner,
1566
+ linkedUser
1567
+ }
1568
+ });
1569
+ }), [canGetOrCreateWallet, getOrCreateWallet, linkedUser, defaultAdminSigner, embeddedWallets.type, getAdminSigner]);
1570
+ const handleWalletCleanup = useCallback2(() => {
1571
+ if (accessToken == null && walletStatus === "loaded") {
1572
+ clearWallet();
1573
+ }
1574
+ cleanup();
1575
+ }, [walletStatus, accessToken, clearWallet, cleanup]);
1576
+ useEffect5(() => {
1577
+ handleWalletCreation();
1578
+ handleWalletCleanup();
1579
+ }, [handleWalletCreation, handleWalletCleanup]);
1580
+ return null;
1581
+ }
1582
+
1583
+ // src/hooks/useAuth.ts
1584
+ function useAuth() {
1585
+ const context = useContext4(AuthContext);
1586
+ if (context === void 0) {
1587
+ throw new Error("useAuth must be used within an AuthProvider");
1588
+ }
1589
+ return context;
1590
+ }
1591
+
1592
+ // src/providers/signers/CrossmintSignerProvider.tsx
1593
+ import { jsx as jsx19, jsxs as jsxs14 } from "react/jsx-runtime";
1594
+ var DEFAULT_EVENT_OPTIONS = {
1595
+ timeoutMs: 1e4,
1596
+ intervalMs: 5e3
1597
+ };
1598
+ var CrossmintSignerContext = createContext4(null);
1599
+ function CrossmintSignerProvider({ children, setWalletState, appearance }) {
1600
+ const {
1601
+ crossmint: { apiKey, jwt }
1602
+ } = useCrossmint();
1603
+ const smartWalletSDK = useMemo4(() => CrossmintWallets2.from({ apiKey, jwt }), [apiKey, jwt]);
1604
+ const [step, setStep] = useState9("initial");
1605
+ const [dialogOpen, setDialogOpen] = useState9(false);
1606
+ const iframeWindow = useSignerIFrameWindow();
1607
+ const successHandlerRef = useRef3(null);
1608
+ const errorHandlerRef = useRef3(null);
1609
+ const experimental_getOrCreateWalletWithRecoveryKey = (args) => __async(this, null, function* () {
1610
+ var _a;
1611
+ if (args.type !== "solana") {
1612
+ throw new Error("Unsupported wallet type, only solana is supported at the moment");
1613
+ }
1614
+ if (!iframeWindow.current) {
1615
+ throw new Error("IFrame window not initialized");
1616
+ }
1617
+ try {
1618
+ setWalletState({ status: "in-progress" });
1619
+ const signerResponse = yield (_a = iframeWindow.current) == null ? void 0 : _a.sendAction({
1620
+ event: "request:get-public-key",
1621
+ responseEvent: "response:get-public-key",
1622
+ data: {
1623
+ authData: {
1624
+ jwt,
1625
+ apiKey
1626
+ },
1627
+ data: {
1628
+ chainLayer: "solana"
1629
+ }
1630
+ }
1631
+ });
1632
+ if (signerResponse.status === "success") {
1633
+ yield getOrCreateSolanaWalletWithSigner(signerResponse.publicKey);
1634
+ return;
1635
+ }
1636
+ if (args.email != null) {
1637
+ yield handleEmailSubmit(args.email);
1638
+ return;
1639
+ }
1640
+ return new Promise((resolve, reject) => {
1641
+ setDialogOpen(true);
1642
+ setStep("initial");
1643
+ const cleanup = () => {
1644
+ setDialogOpen(false);
1645
+ setStep("initial");
1646
+ };
1647
+ const successHandler = () => {
1648
+ cleanup();
1649
+ resolve();
1650
+ };
1651
+ const errorHandler = (error) => {
1652
+ cleanup();
1653
+ reject(error);
1654
+ };
1655
+ successHandlerRef.current = successHandler;
1656
+ errorHandlerRef.current = errorHandler;
1657
+ });
1658
+ } catch (error) {
1659
+ console.error("There was an error creating a wallet ", error);
1660
+ setWalletState(deriveWalletErrorState(error));
1661
+ throw error;
1662
+ }
1663
+ });
1664
+ const handleOnGetOrCreateRecoveryKey = (email) => __async(this, null, function* () {
1665
+ var _a;
1666
+ try {
1667
+ if (!iframeWindow.current) {
1668
+ throw new Error("IFrame window not initialized");
1669
+ }
1670
+ if (jwt == null) {
1671
+ throw new Error("JWT not set");
1672
+ }
1673
+ console.log("Creating Recovery Key");
1674
+ const res = yield (_a = iframeWindow.current) == null ? void 0 : _a.sendAction({
1675
+ event: "request:create-signer",
1676
+ responseEvent: "response:create-signer",
1677
+ data: {
1678
+ authData: {
1679
+ jwt,
1680
+ apiKey
1681
+ },
1682
+ data: {
1683
+ chainLayer: "solana",
1684
+ authId: `email:${email}`
1685
+ }
1686
+ }
1687
+ });
1688
+ if (res.status === "error") {
1689
+ throw new Error(res.error);
1690
+ }
1691
+ if (res.status === "success" && res.address != null) {
1692
+ yield getOrCreateSolanaWalletWithSigner(res.address);
1693
+ setStep("initial");
1694
+ setDialogOpen(false);
1695
+ }
1696
+ } catch (err) {
1697
+ console.error("There was an error creating a recovery key ", err);
1698
+ throw err;
1699
+ }
1700
+ });
1701
+ const handleEmailSubmit = (email) => __async(this, null, function* () {
1702
+ var _a;
1703
+ try {
1704
+ yield handleOnGetOrCreateRecoveryKey(email);
1705
+ setStep("otp");
1706
+ setDialogOpen(true);
1707
+ } catch (error) {
1708
+ console.error("Error in email submission:", error);
1709
+ (_a = errorHandlerRef.current) == null ? void 0 : _a.call(errorHandlerRef, error);
1710
+ throw error;
1711
+ }
1712
+ });
1713
+ const handleOTPSubmit = (token) => __async(this, null, function* () {
1714
+ var _a, _b;
1715
+ if (!iframeWindow.current) {
1716
+ throw new Error("IFrame window not initialized");
1717
+ }
1718
+ if (jwt == null) {
1719
+ throw new Error("JWT not set");
1720
+ }
1721
+ try {
1722
+ const res = yield iframeWindow.current.sendAction({
1723
+ event: "request:send-otp",
1724
+ responseEvent: "response:send-otp",
1725
+ data: {
1726
+ authData: {
1727
+ jwt,
1728
+ apiKey
1729
+ },
1730
+ data: {
1731
+ encryptedOtp: token,
1732
+ chainLayer: "solana"
1733
+ }
1734
+ }
1735
+ });
1736
+ if (res.status === "error") {
1737
+ throw new Error(res.error);
1738
+ }
1739
+ yield getOrCreateSolanaWalletWithSigner(res.address);
1740
+ setStep("initial");
1741
+ setDialogOpen(false);
1742
+ (_a = successHandlerRef.current) == null ? void 0 : _a.call(successHandlerRef);
1743
+ } catch (error) {
1744
+ console.error("Error in OTP submission:", error);
1745
+ (_b = errorHandlerRef.current) == null ? void 0 : _b.call(errorHandlerRef, error);
1746
+ throw error;
1747
+ }
1748
+ });
1749
+ function getOrCreateSolanaWalletWithSigner(publicSignerAddress) {
1750
+ return __async(this, null, function* () {
1751
+ if (jwt == null) {
1752
+ throw new Error("[getOrCreateSolanaWalletWithSigner] JWT not set!");
1753
+ }
1754
+ try {
1755
+ const wallet = yield smartWalletSDK.getOrCreateWallet("solana-smart-wallet", {
1756
+ adminSigner: {
1757
+ type: "solana-keypair",
1758
+ address: publicSignerAddress,
1759
+ signer: {
1760
+ signMessage: (message) => __async(this, null, function* () {
1761
+ if (iframeWindow.current == null) {
1762
+ throw new Error("IFrame window not initialized");
1763
+ }
1764
+ const res = yield iframeWindow.current.sendAction({
1765
+ event: "request:sign-message",
1766
+ responseEvent: "response:sign-message",
1767
+ data: {
1768
+ authData: {
1769
+ jwt,
1770
+ apiKey
1771
+ },
1772
+ data: {
1773
+ message: base582.encode(message),
1774
+ chainLayer: "solana",
1775
+ encoding: "base58"
1776
+ }
1777
+ },
1778
+ options: DEFAULT_EVENT_OPTIONS
1779
+ });
1780
+ if (res.status === "error") {
1781
+ throw new Error(res.error);
1782
+ }
1783
+ if (res.signature == null) {
1784
+ throw new Error("Failed to sign message");
1785
+ }
1786
+ return base582.decode(res.signature);
1787
+ }),
1788
+ signTransaction: (transaction) => __async(this, null, function* () {
1789
+ var _a;
1790
+ console.log("Signing transaction...", transaction);
1791
+ const res = yield (_a = iframeWindow.current) == null ? void 0 : _a.sendAction({
1792
+ event: "request:sign-transaction",
1793
+ responseEvent: "response:sign-transaction",
1794
+ data: {
1795
+ authData: {
1796
+ jwt,
1797
+ apiKey
1798
+ },
1799
+ data: {
1800
+ transaction: base582.encode(transaction.serialize()),
1801
+ chainLayer: "solana",
1802
+ encoding: "base58"
1803
+ }
1804
+ },
1805
+ options: DEFAULT_EVENT_OPTIONS
1806
+ });
1807
+ if ((res == null ? void 0 : res.status) === "error") {
1808
+ throw new Error(res.error);
1809
+ }
1810
+ if ((res == null ? void 0 : res.signature) == null) {
1811
+ throw new Error("Failed to sign transaction");
1812
+ }
1813
+ transaction.addSignature(new PublicKey(publicSignerAddress), base582.decode(res.signature));
1814
+ return transaction;
1815
+ })
1816
+ }
1817
+ }
1818
+ });
1819
+ setWalletState({ status: "loaded", wallet, type: "solana-smart-wallet" });
1820
+ } catch (error) {
1821
+ console.error("Error creating wallet with signer:", error);
1822
+ setWalletState(deriveWalletErrorState(error));
1823
+ throw error;
1824
+ }
1825
+ });
1826
+ }
1827
+ useEffect6(() => {
1828
+ document.body.style.overflow = dialogOpen ? "hidden" : "";
1829
+ }, [dialogOpen]);
1830
+ return /* @__PURE__ */ jsxs14(CrossmintSignerContext.Provider, { value: { experimental_getOrCreateWalletWithRecoveryKey }, children: [
1831
+ /* @__PURE__ */ jsx19(
1832
+ EmailSignersDialog,
1833
+ {
1834
+ open: dialogOpen,
1835
+ setOpen: setDialogOpen,
1836
+ step,
1837
+ setStep,
1838
+ onSubmitOTP: handleOTPSubmit,
1839
+ onResendOTPCode: (email) => __async(this, null, function* () {
1840
+ yield handleOnGetOrCreateRecoveryKey(email);
1841
+ setStep("otp");
1842
+ }),
1843
+ onSubmitEmail: handleEmailSubmit,
1844
+ appearance
1845
+ }
1846
+ ),
1847
+ children
1848
+ ] });
1849
+ }
1850
+ function useCrossmintSigner({ enabled = true } = {}) {
1851
+ const context = useContext5(CrossmintSignerContext);
1852
+ if (!enabled) {
1853
+ return {
1854
+ experimental_getOrCreateWalletWithRecoveryKey: () => __async(this, null, function* () {
1855
+ yield Promise.reject(
1856
+ new Error("useCrossmintSigner is disabled, please set 'experimental_enableRecoveryKeys' to true")
1857
+ );
1858
+ })
1859
+ };
1860
+ }
1861
+ if (context === null) {
1862
+ throw new Error("useCrossmintSigner must be used within a CrossmintSignerProvider");
1863
+ }
1864
+ return context;
1865
+ }
1866
+
1867
+ export {
1868
+ CrossmintSignerContext,
1869
+ CrossmintSignerProvider,
1870
+ useCrossmintSigner,
1871
+ WalletContext,
1872
+ CrossmintWalletProvider,
1873
+ useWallet,
1874
+ useCrossmintAuth,
1875
+ useAuthForm,
1876
+ AuthFormProvider,
1877
+ AuthFormBackButton,
1878
+ EMAIL_VERIFICATION_TOKEN_LENGTH,
1879
+ EmailOTPInput,
1880
+ useOAuthWindowListener,
1881
+ ContinueWithGoogle,
1882
+ EmailSignIn,
1883
+ EmailAuthFlow,
1884
+ Divider,
1885
+ GoogleSignIn,
1886
+ FarcasterSignIn,
1887
+ TwitterSignIn,
1888
+ Web3AuthFlowButton,
1889
+ Web3Connectors,
1890
+ Web3AuthFlow,
1891
+ AuthForm,
1892
+ AuthFormDialog,
1893
+ DynamicWeb3WalletConnect,
1894
+ AuthContext,
1895
+ CrossmintAuthProvider,
1896
+ useAuth
1897
+ };
1898
+ //# sourceMappingURL=chunk-TOCRVS5A.js.map