@crossmint/client-sdk-react-ui 1.9.3 → 1.10.1

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 (748) hide show
  1. package/dist/chunk-2T2VCED7.js +17 -0
  2. package/dist/chunk-2T2VCED7.js.map +1 -0
  3. package/dist/chunk-33WZFL2D.js +80 -0
  4. package/dist/chunk-33WZFL2D.js.map +1 -0
  5. package/dist/chunk-35RV5AOT.cjs +70 -0
  6. package/dist/chunk-35RV5AOT.cjs.map +1 -0
  7. package/dist/chunk-3C5IQSUX.cjs +50 -0
  8. package/dist/chunk-3C5IQSUX.cjs.map +1 -0
  9. package/dist/chunk-3J6CUUWT.js +50 -0
  10. package/dist/chunk-3J6CUUWT.js.map +1 -0
  11. package/dist/chunk-3KR4GYLF.js +26 -0
  12. package/dist/chunk-3KR4GYLF.js.map +1 -0
  13. package/dist/chunk-3RXUFZTR.cjs +14 -0
  14. package/dist/chunk-3RXUFZTR.cjs.map +1 -0
  15. package/dist/chunk-43P7QWBK.cjs +17 -0
  16. package/dist/chunk-43P7QWBK.cjs.map +1 -0
  17. package/dist/chunk-4DAZAO6Y.cjs +59 -0
  18. package/dist/chunk-4DAZAO6Y.cjs.map +1 -0
  19. package/dist/chunk-5IX763AW.js +10 -0
  20. package/dist/chunk-5IX763AW.js.map +1 -0
  21. package/dist/chunk-5KK3YQWD.cjs +1 -0
  22. package/dist/chunk-5KK3YQWD.cjs.map +1 -0
  23. package/dist/chunk-5RX5WFEW.cjs +11 -0
  24. package/dist/chunk-5RX5WFEW.cjs.map +1 -0
  25. package/dist/chunk-5S4VO6RB.cjs +55 -0
  26. package/dist/chunk-5S4VO6RB.cjs.map +1 -0
  27. package/dist/chunk-6DNBJVR5.js +64 -0
  28. package/dist/chunk-6DNBJVR5.js.map +1 -0
  29. package/dist/chunk-6LO4NSRH.cjs +21 -0
  30. package/dist/chunk-6LO4NSRH.cjs.map +1 -0
  31. package/dist/chunk-7KIY6DLW.js +28 -0
  32. package/dist/chunk-7KIY6DLW.js.map +1 -0
  33. package/dist/chunk-7SBZ6OIH.js +1 -0
  34. package/dist/chunk-7SBZ6OIH.js.map +1 -0
  35. package/dist/chunk-A2JCJ2OV.cjs +119 -0
  36. package/dist/chunk-A2JCJ2OV.cjs.map +1 -0
  37. package/dist/chunk-A7J4DAE7.js +16 -0
  38. package/dist/chunk-A7J4DAE7.js.map +1 -0
  39. package/dist/chunk-ATHR4S2P.js +48 -0
  40. package/dist/chunk-ATHR4S2P.js.map +1 -0
  41. package/dist/chunk-AUEQQ4D3.js +119 -0
  42. package/dist/chunk-AUEQQ4D3.js.map +1 -0
  43. package/dist/chunk-AXZLLRBU.cjs +26 -0
  44. package/dist/chunk-AXZLLRBU.cjs.map +1 -0
  45. package/dist/chunk-B7LYPQ4K.cjs +38 -0
  46. package/dist/chunk-B7LYPQ4K.cjs.map +1 -0
  47. package/dist/chunk-BE2ZLB3L.cjs +19 -0
  48. package/dist/chunk-BE2ZLB3L.cjs.map +1 -0
  49. package/dist/chunk-BKVDVDKX.cjs +1 -0
  50. package/dist/chunk-BKVDVDKX.cjs.map +1 -0
  51. package/dist/chunk-C2VARNXL.js +70 -0
  52. package/dist/chunk-C2VARNXL.js.map +1 -0
  53. package/dist/chunk-CPYPI45H.js +98 -0
  54. package/dist/chunk-CPYPI45H.js.map +1 -0
  55. package/dist/chunk-CRTRMMJ7.js +59 -0
  56. package/dist/chunk-CRTRMMJ7.js.map +1 -0
  57. package/dist/chunk-CUODMU27.js +1265 -0
  58. package/dist/chunk-CUODMU27.js.map +1 -0
  59. package/dist/chunk-DJ32OEWG.cjs +54 -0
  60. package/dist/chunk-DJ32OEWG.cjs.map +1 -0
  61. package/dist/chunk-DZ5MGN25.js +147 -0
  62. package/dist/chunk-DZ5MGN25.js.map +1 -0
  63. package/dist/chunk-ENCR5SUW.cjs +51 -0
  64. package/dist/chunk-ENCR5SUW.cjs.map +1 -0
  65. package/dist/chunk-EOWJ7775.js +18 -0
  66. package/dist/chunk-EOWJ7775.js.map +1 -0
  67. package/dist/chunk-EVL7VEPX.js +14 -0
  68. package/dist/chunk-EVL7VEPX.js.map +1 -0
  69. package/dist/chunk-FKIMKZ4Y.js +17 -0
  70. package/dist/chunk-FKIMKZ4Y.js.map +1 -0
  71. package/dist/chunk-FOCUIKYH.cjs +1265 -0
  72. package/dist/chunk-FOCUIKYH.cjs.map +1 -0
  73. package/dist/chunk-GGE3H4XP.cjs +33 -0
  74. package/dist/chunk-GGE3H4XP.cjs.map +1 -0
  75. package/dist/chunk-GY6G3ZC2.cjs +41 -0
  76. package/dist/chunk-GY6G3ZC2.cjs.map +1 -0
  77. package/dist/chunk-H4F7UVPT.js +34 -0
  78. package/dist/chunk-H4F7UVPT.js.map +1 -0
  79. package/dist/chunk-HATQVB6H.js +19 -0
  80. package/dist/chunk-HATQVB6H.js.map +1 -0
  81. package/dist/chunk-HCW4RO2O.cjs +29 -0
  82. package/dist/chunk-HCW4RO2O.cjs.map +1 -0
  83. package/dist/chunk-HENBZUED.cjs +10 -0
  84. package/dist/chunk-HENBZUED.cjs.map +1 -0
  85. package/dist/chunk-HG57BLPT.js +31 -0
  86. package/dist/chunk-HG57BLPT.js.map +1 -0
  87. package/dist/chunk-HPOZ6I54.cjs +44 -0
  88. package/dist/chunk-HPOZ6I54.cjs.map +1 -0
  89. package/dist/chunk-HYGCZCR2.js +33 -0
  90. package/dist/chunk-HYGCZCR2.js.map +1 -0
  91. package/dist/chunk-I63FQCIV.js +189 -0
  92. package/dist/chunk-I63FQCIV.js.map +1 -0
  93. package/dist/chunk-IP4HQL5I.cjs +147 -0
  94. package/dist/chunk-IP4HQL5I.cjs.map +1 -0
  95. package/dist/chunk-IQPA3QOV.js +27 -0
  96. package/dist/chunk-IQPA3QOV.js.map +1 -0
  97. package/dist/chunk-KAXBBO66.cjs +30 -0
  98. package/dist/chunk-KAXBBO66.cjs.map +1 -0
  99. package/dist/chunk-KEKBOJCF.cjs +50 -0
  100. package/dist/chunk-KEKBOJCF.cjs.map +1 -0
  101. package/dist/chunk-KLWDDALZ.cjs +14 -0
  102. package/dist/chunk-KLWDDALZ.cjs.map +1 -0
  103. package/dist/chunk-KNOUJZN5.cjs +32 -0
  104. package/dist/chunk-KNOUJZN5.cjs.map +1 -0
  105. package/dist/chunk-L3FKENHU.js +14 -0
  106. package/dist/chunk-L3FKENHU.js.map +1 -0
  107. package/dist/chunk-L3L7YEW3.js +22 -0
  108. package/dist/chunk-L3L7YEW3.js.map +1 -0
  109. package/dist/chunk-MH37OJT2.cjs +80 -0
  110. package/dist/chunk-MH37OJT2.cjs.map +1 -0
  111. package/dist/chunk-MJHLKJ6X.cjs +212 -0
  112. package/dist/chunk-MJHLKJ6X.cjs.map +1 -0
  113. package/dist/chunk-MUS7DUPS.cjs +98 -0
  114. package/dist/chunk-MUS7DUPS.cjs.map +1 -0
  115. package/dist/chunk-NMXFWIFA.js +133 -0
  116. package/dist/chunk-NMXFWIFA.js.map +1 -0
  117. package/dist/chunk-OZS4WEKF.js +55 -0
  118. package/dist/chunk-OZS4WEKF.js.map +1 -0
  119. package/dist/chunk-PBSL6JOF.cjs +17 -0
  120. package/dist/chunk-PBSL6JOF.cjs.map +1 -0
  121. package/dist/chunk-PHCGCJSA.js +107 -0
  122. package/dist/chunk-PHCGCJSA.js.map +1 -0
  123. package/dist/chunk-Q3M4UH5U.cjs +48 -0
  124. package/dist/chunk-Q3M4UH5U.cjs.map +1 -0
  125. package/dist/chunk-QDKAU3H2.js +31 -0
  126. package/dist/chunk-QDKAU3H2.js.map +1 -0
  127. package/dist/chunk-QFQWKKVU.js +11 -0
  128. package/dist/chunk-QFQWKKVU.js.map +1 -0
  129. package/dist/chunk-QIPMBCAV.js +86 -0
  130. package/dist/chunk-QIPMBCAV.js.map +1 -0
  131. package/dist/chunk-QJ44PL7L.js +41 -0
  132. package/dist/chunk-QJ44PL7L.js.map +1 -0
  133. package/dist/chunk-QK5J7FD3.cjs +11 -0
  134. package/dist/chunk-QK5J7FD3.cjs.map +1 -0
  135. package/dist/chunk-QKALEGXY.js +153 -0
  136. package/dist/chunk-QKALEGXY.js.map +1 -0
  137. package/dist/chunk-QQXBYOKA.cjs +16 -0
  138. package/dist/chunk-QQXBYOKA.cjs.map +1 -0
  139. package/dist/chunk-QT7UEJZG.cjs +133 -0
  140. package/dist/chunk-QT7UEJZG.cjs.map +1 -0
  141. package/dist/chunk-QTGK3RB5.js +31 -0
  142. package/dist/chunk-QTGK3RB5.js.map +1 -0
  143. package/dist/chunk-QTL5I5C2.js +38 -0
  144. package/dist/chunk-QTL5I5C2.js.map +1 -0
  145. package/dist/chunk-R6IL3WOE.cjs +31 -0
  146. package/dist/chunk-R6IL3WOE.cjs.map +1 -0
  147. package/dist/chunk-RZPQIRIY.js +11 -0
  148. package/dist/chunk-RZPQIRIY.js.map +1 -0
  149. package/dist/chunk-RZT2J42J.js +29 -0
  150. package/dist/chunk-RZT2J42J.js.map +1 -0
  151. package/dist/chunk-SBA6FMFT.cjs +18 -0
  152. package/dist/chunk-SBA6FMFT.cjs.map +1 -0
  153. package/dist/chunk-SVI3L5G5.cjs +86 -0
  154. package/dist/chunk-SVI3L5G5.cjs.map +1 -0
  155. package/dist/chunk-SZA3XDJ5.cjs +1 -0
  156. package/dist/chunk-SZA3XDJ5.cjs.map +1 -0
  157. package/dist/chunk-TIQPIPH5.cjs +31 -0
  158. package/dist/chunk-TIQPIPH5.cjs.map +1 -0
  159. package/dist/chunk-U5EONMPH.js +30 -0
  160. package/dist/chunk-U5EONMPH.js.map +1 -0
  161. package/dist/chunk-UASNCH3A.cjs +27 -0
  162. package/dist/chunk-UASNCH3A.cjs.map +1 -0
  163. package/dist/chunk-UQAKJ4T7.cjs +29 -0
  164. package/dist/chunk-UQAKJ4T7.cjs.map +1 -0
  165. package/dist/chunk-URKPLEPV.cjs +189 -0
  166. package/dist/chunk-URKPLEPV.cjs.map +1 -0
  167. package/dist/chunk-VZIXXIU5.js +32 -0
  168. package/dist/chunk-VZIXXIU5.js.map +1 -0
  169. package/dist/chunk-W2Q46OO4.js +17 -0
  170. package/dist/chunk-W2Q46OO4.js.map +1 -0
  171. package/dist/chunk-W3SNJ5XS.cjs +153 -0
  172. package/dist/chunk-W3SNJ5XS.cjs.map +1 -0
  173. package/dist/chunk-WK5RAFJ3.js +54 -0
  174. package/dist/chunk-WK5RAFJ3.js.map +1 -0
  175. package/dist/chunk-WQ7WULBW.cjs +31 -0
  176. package/dist/chunk-WQ7WULBW.cjs.map +1 -0
  177. package/dist/chunk-XDJ6F7N4.cjs +107 -0
  178. package/dist/chunk-XDJ6F7N4.cjs.map +1 -0
  179. package/dist/chunk-XEZF7G64.js +212 -0
  180. package/dist/chunk-XEZF7G64.js.map +1 -0
  181. package/dist/chunk-XRFRY2LN.js +50 -0
  182. package/dist/chunk-XRFRY2LN.js.map +1 -0
  183. package/dist/chunk-XXJ7LQ44.js +1 -0
  184. package/dist/chunk-XXJ7LQ44.js.map +1 -0
  185. package/dist/chunk-XYMYRPVT.js +1 -0
  186. package/dist/chunk-XYMYRPVT.js.map +1 -0
  187. package/dist/chunk-Y7PF2Z3W.cjs +22 -0
  188. package/dist/chunk-Y7PF2Z3W.cjs.map +1 -0
  189. package/dist/chunk-YE55IKBP.cjs +34 -0
  190. package/dist/chunk-YE55IKBP.cjs.map +1 -0
  191. package/dist/chunk-YNJPYSO4.cjs +17 -0
  192. package/dist/chunk-YNJPYSO4.cjs.map +1 -0
  193. package/dist/chunk-YWVQCHQF.js +51 -0
  194. package/dist/chunk-YWVQCHQF.js.map +1 -0
  195. package/dist/chunk-ZCYU7QA6.cjs +64 -0
  196. package/dist/chunk-ZCYU7QA6.cjs.map +1 -0
  197. package/dist/chunk-ZDQGQY7Z.js +29 -0
  198. package/dist/chunk-ZDQGQY7Z.js.map +1 -0
  199. package/dist/chunk-ZIHCLVCD.js +44 -0
  200. package/dist/chunk-ZIHCLVCD.js.map +1 -0
  201. package/dist/chunk-ZMSST6ZZ.cjs +28 -0
  202. package/dist/chunk-ZMSST6ZZ.cjs.map +1 -0
  203. package/dist/chunk-ZUIS3FET.js +21 -0
  204. package/dist/chunk-ZUIS3FET.js.map +1 -0
  205. package/dist/components/CrossmintNFTCollectionView.cjs +9 -1
  206. package/dist/components/CrossmintNFTCollectionView.cjs.map +1 -0
  207. package/dist/components/CrossmintNFTCollectionView.js +9 -1
  208. package/dist/components/CrossmintNFTCollectionView.js.map +1 -0
  209. package/dist/components/CrossmintNFTDetail.cjs +9 -1
  210. package/dist/components/CrossmintNFTDetail.cjs.map +1 -0
  211. package/dist/components/CrossmintNFTDetail.js +9 -1
  212. package/dist/components/CrossmintNFTDetail.js.map +1 -0
  213. package/dist/components/auth/AuthForm.cjs +37 -1
  214. package/dist/components/auth/AuthForm.cjs.map +1 -0
  215. package/dist/components/auth/AuthForm.js +37 -1
  216. package/dist/components/auth/AuthForm.js.map +1 -0
  217. package/dist/components/auth/AuthFormBackButton.cjs +10 -1
  218. package/dist/components/auth/AuthFormBackButton.cjs.map +1 -0
  219. package/dist/components/auth/AuthFormBackButton.js +10 -1
  220. package/dist/components/auth/AuthFormBackButton.js.map +1 -0
  221. package/dist/components/auth/AuthFormDialog.cjs +37 -1
  222. package/dist/components/auth/AuthFormDialog.cjs.map +1 -0
  223. package/dist/components/auth/AuthFormDialog.js +37 -1
  224. package/dist/components/auth/AuthFormDialog.js.map +1 -0
  225. package/dist/components/auth/EmbeddedAuthForm.cjs +38 -1
  226. package/dist/components/auth/EmbeddedAuthForm.cjs.map +1 -0
  227. package/dist/components/auth/EmbeddedAuthForm.js +38 -1
  228. package/dist/components/auth/EmbeddedAuthForm.js.map +1 -0
  229. package/dist/components/auth/PasskeyPrompt.cjs +14 -1
  230. package/dist/components/auth/PasskeyPrompt.cjs.map +1 -0
  231. package/dist/components/auth/PasskeyPrompt.js +14 -1
  232. package/dist/components/auth/PasskeyPrompt.js.map +1 -0
  233. package/dist/components/auth/methods/email/EmailAuthFlow.cjs +37 -1
  234. package/dist/components/auth/methods/email/EmailAuthFlow.cjs.map +1 -0
  235. package/dist/components/auth/methods/email/EmailAuthFlow.js +37 -1
  236. package/dist/components/auth/methods/email/EmailAuthFlow.js.map +1 -0
  237. package/dist/components/auth/methods/email/EmailOTPInput.cjs +39 -1
  238. package/dist/components/auth/methods/email/EmailOTPInput.cjs.map +1 -0
  239. package/dist/components/auth/methods/email/EmailOTPInput.js +39 -1
  240. package/dist/components/auth/methods/email/EmailOTPInput.js.map +1 -0
  241. package/dist/components/auth/methods/email/EmailSignIn.cjs +37 -1
  242. package/dist/components/auth/methods/email/EmailSignIn.cjs.map +1 -0
  243. package/dist/components/auth/methods/email/EmailSignIn.js +37 -1
  244. package/dist/components/auth/methods/email/EmailSignIn.js.map +1 -0
  245. package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs +37 -1
  246. package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs.map +1 -0
  247. package/dist/components/auth/methods/farcaster/FarcasterSignIn.js +37 -1
  248. package/dist/components/auth/methods/farcaster/FarcasterSignIn.js.map +1 -0
  249. package/dist/components/auth/methods/google/GoogleSignIn.cjs +37 -1
  250. package/dist/components/auth/methods/google/GoogleSignIn.cjs.map +1 -0
  251. package/dist/components/auth/methods/google/GoogleSignIn.js +37 -1
  252. package/dist/components/auth/methods/google/GoogleSignIn.js.map +1 -0
  253. package/dist/components/auth/methods/web3/Web3AuthFlow.cjs +37 -0
  254. package/dist/components/auth/methods/web3/Web3AuthFlow.cjs.map +1 -0
  255. package/dist/components/auth/methods/web3/Web3AuthFlow.d.cts +5 -0
  256. package/dist/components/auth/methods/web3/Web3AuthFlow.d.ts +5 -0
  257. package/dist/components/auth/methods/web3/Web3AuthFlow.js +37 -0
  258. package/dist/components/auth/methods/web3/Web3AuthFlow.js.map +1 -0
  259. package/dist/components/auth/methods/web3/Web3AuthWrapper.cjs +37 -0
  260. package/dist/components/auth/methods/web3/Web3AuthWrapper.cjs.map +1 -0
  261. package/dist/components/auth/methods/web3/Web3AuthWrapper.d.cts +10 -0
  262. package/dist/components/auth/methods/web3/Web3AuthWrapper.d.ts +10 -0
  263. package/dist/components/auth/methods/web3/Web3AuthWrapper.js +37 -0
  264. package/dist/components/auth/methods/web3/Web3AuthWrapper.js.map +1 -0
  265. package/dist/components/auth/methods/web3/Web3ConnectButton.cjs +11 -0
  266. package/dist/components/auth/methods/web3/Web3ConnectButton.cjs.map +1 -0
  267. package/dist/components/auth/methods/web3/Web3ConnectButton.d.cts +13 -0
  268. package/dist/components/auth/methods/web3/Web3ConnectButton.d.ts +13 -0
  269. package/dist/components/auth/methods/web3/Web3ConnectButton.js +11 -0
  270. package/dist/components/auth/methods/web3/Web3ConnectButton.js.map +1 -0
  271. package/dist/components/auth/methods/web3/Web3Connectors.cjs +37 -0
  272. package/dist/components/auth/methods/web3/Web3Connectors.cjs.map +1 -0
  273. package/dist/components/auth/methods/web3/Web3Connectors.d.cts +5 -0
  274. package/dist/components/auth/methods/web3/Web3Connectors.d.ts +5 -0
  275. package/dist/components/auth/methods/web3/Web3Connectors.js +37 -0
  276. package/dist/components/auth/methods/web3/Web3Connectors.js.map +1 -0
  277. package/dist/components/auth/methods/web3/Web3ProviderButton.cjs +9 -0
  278. package/dist/components/auth/methods/web3/Web3ProviderButton.cjs.map +1 -0
  279. package/dist/components/auth/methods/web3/Web3ProviderButton.d.cts +11 -0
  280. package/dist/components/auth/methods/web3/Web3ProviderButton.d.ts +11 -0
  281. package/dist/components/auth/methods/web3/Web3ProviderButton.js +9 -0
  282. package/dist/components/auth/methods/web3/Web3ProviderButton.js.map +1 -0
  283. package/dist/components/auth/methods/web3/Web3SignIn.cjs +37 -0
  284. package/dist/components/auth/methods/web3/Web3SignIn.cjs.map +1 -0
  285. package/dist/components/auth/methods/web3/Web3SignIn.d.cts +5 -0
  286. package/dist/components/auth/methods/web3/Web3SignIn.d.ts +5 -0
  287. package/dist/components/auth/methods/web3/Web3SignIn.js +37 -0
  288. package/dist/components/auth/methods/web3/Web3SignIn.js.map +1 -0
  289. package/dist/components/common/Dialog.cjs +26 -1
  290. package/dist/components/common/Dialog.cjs.map +1 -0
  291. package/dist/components/common/Dialog.d.cts +1 -2
  292. package/dist/components/common/Dialog.d.ts +1 -2
  293. package/dist/components/common/Dialog.js +26 -1
  294. package/dist/components/common/Dialog.js.map +1 -0
  295. package/dist/components/common/Divider.cjs +37 -1
  296. package/dist/components/common/Divider.cjs.map +1 -0
  297. package/dist/components/common/Divider.js +37 -1
  298. package/dist/components/common/Divider.js.map +1 -0
  299. package/dist/components/common/InputOTP.cjs +14 -1
  300. package/dist/components/common/InputOTP.cjs.map +1 -0
  301. package/dist/components/common/InputOTP.d.cts +5 -27
  302. package/dist/components/common/InputOTP.d.ts +5 -27
  303. package/dist/components/common/InputOTP.js +14 -1
  304. package/dist/components/common/InputOTP.js.map +1 -0
  305. package/dist/components/common/PoweredByCrossmint.cjs +10 -1
  306. package/dist/components/common/PoweredByCrossmint.cjs.map +1 -0
  307. package/dist/components/common/PoweredByCrossmint.js +10 -1
  308. package/dist/components/common/PoweredByCrossmint.js.map +1 -0
  309. package/dist/components/common/Spinner.cjs +9 -1
  310. package/dist/components/common/Spinner.cjs.map +1 -0
  311. package/dist/components/common/Spinner.js +9 -1
  312. package/dist/components/common/Spinner.js.map +1 -0
  313. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.cjs +8 -1
  314. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.cjs.map +1 -0
  315. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.js +8 -1
  316. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.js.map +1 -0
  317. package/dist/components/embed/EmbeddedCheckoutIFrame.cjs +8 -1
  318. package/dist/components/embed/EmbeddedCheckoutIFrame.cjs.map +1 -0
  319. package/dist/components/embed/EmbeddedCheckoutIFrame.js +8 -1
  320. package/dist/components/embed/EmbeddedCheckoutIFrame.js.map +1 -0
  321. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.cjs +11 -1
  322. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.cjs.map +1 -0
  323. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.js +11 -1
  324. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.js.map +1 -0
  325. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.cjs +10 -1
  326. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.cjs.map +1 -0
  327. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.js +10 -1
  328. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.js.map +1 -0
  329. package/dist/components/embed/fiat/FiatEmbeddedCheckout.cjs +11 -1
  330. package/dist/components/embed/fiat/FiatEmbeddedCheckout.cjs.map +1 -0
  331. package/dist/components/embed/fiat/FiatEmbeddedCheckout.js +11 -1
  332. package/dist/components/embed/fiat/FiatEmbeddedCheckout.js.map +1 -0
  333. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.cjs +10 -1
  334. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.cjs.map +1 -0
  335. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.js +10 -1
  336. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.js.map +1 -0
  337. package/dist/components/embed/fiat/FiatPaymentElement_OLD.cjs +75 -1
  338. package/dist/components/embed/fiat/FiatPaymentElement_OLD.cjs.map +1 -0
  339. package/dist/components/embed/fiat/FiatPaymentElement_OLD.js +75 -1
  340. package/dist/components/embed/fiat/FiatPaymentElement_OLD.js.map +1 -0
  341. package/dist/components/embed/index.cjs +14 -1
  342. package/dist/components/embed/index.cjs.map +1 -0
  343. package/dist/components/embed/index.js +14 -1
  344. package/dist/components/embed/index.js.map +1 -0
  345. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs +39 -1
  346. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs.map +1 -0
  347. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +39 -1
  348. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js.map +1 -0
  349. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs +38 -1
  350. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs.map +1 -0
  351. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js +38 -1
  352. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js.map +1 -0
  353. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs +135 -1
  354. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs.map +1 -0
  355. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js +135 -1
  356. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js.map +1 -0
  357. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.cjs +63 -1
  358. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.cjs.map +1 -0
  359. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.js +63 -1
  360. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.js.map +1 -0
  361. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.cjs +8 -1
  362. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.cjs.map +1 -0
  363. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.js +8 -1
  364. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.js.map +1 -0
  365. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.cjs +51 -1
  366. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.cjs.map +1 -0
  367. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.js +51 -1
  368. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.js.map +1 -0
  369. package/dist/components/embed/v3/index.cjs +40 -1
  370. package/dist/components/embed/v3/index.cjs.map +1 -0
  371. package/dist/components/embed/v3/index.js +40 -1
  372. package/dist/components/embed/v3/index.js.map +1 -0
  373. package/dist/components/hosted/CrossmintPayButton.cjs +11 -1
  374. package/dist/components/hosted/CrossmintPayButton.cjs.map +1 -0
  375. package/dist/components/hosted/CrossmintPayButton.js +11 -1
  376. package/dist/components/hosted/CrossmintPayButton.js.map +1 -0
  377. package/dist/components/hosted/index.cjs +12 -1
  378. package/dist/components/hosted/index.cjs.map +1 -0
  379. package/dist/components/hosted/index.js +12 -1
  380. package/dist/components/hosted/index.js.map +1 -0
  381. package/dist/components/hosted/styles.cjs +10 -1
  382. package/dist/components/hosted/styles.cjs.map +1 -0
  383. package/dist/components/hosted/styles.js +10 -1
  384. package/dist/components/hosted/styles.js.map +1 -0
  385. package/dist/components/index.cjs +70 -1
  386. package/dist/components/index.cjs.map +1 -0
  387. package/dist/components/index.js +70 -1
  388. package/dist/components/index.js.map +1 -0
  389. package/dist/consts/version.cjs +8 -1
  390. package/dist/consts/version.cjs.map +1 -0
  391. package/dist/consts/version.js +8 -1
  392. package/dist/consts/version.js.map +1 -0
  393. package/dist/hooks/index.cjs +49 -1
  394. package/dist/hooks/index.cjs.map +1 -0
  395. package/dist/hooks/index.d.cts +3 -2
  396. package/dist/hooks/index.d.ts +3 -2
  397. package/dist/hooks/index.js +49 -1
  398. package/dist/hooks/index.js.map +1 -0
  399. package/dist/hooks/useAuth.cjs +37 -1
  400. package/dist/hooks/useAuth.cjs.map +1 -0
  401. package/dist/hooks/useAuth.d.cts +8 -10
  402. package/dist/hooks/useAuth.d.ts +8 -10
  403. package/dist/hooks/useAuth.js +37 -1
  404. package/dist/hooks/useAuth.js.map +1 -0
  405. package/dist/hooks/useCrossmint.cjs +10 -1
  406. package/dist/hooks/useCrossmint.cjs.map +1 -0
  407. package/dist/hooks/useCrossmint.d.cts +0 -1
  408. package/dist/hooks/useCrossmint.d.ts +0 -1
  409. package/dist/hooks/useCrossmint.js +10 -1
  410. package/dist/hooks/useCrossmint.js.map +1 -0
  411. package/dist/hooks/useCrossmintAuth.cjs +37 -0
  412. package/dist/hooks/useCrossmintAuth.cjs.map +1 -0
  413. package/dist/hooks/useCrossmintAuth.d.cts +11 -0
  414. package/dist/hooks/useCrossmintAuth.d.ts +11 -0
  415. package/dist/hooks/useCrossmintAuth.js +37 -0
  416. package/dist/hooks/useCrossmintAuth.js.map +1 -0
  417. package/dist/hooks/useCrossmintCheckout.cjs +13 -1
  418. package/dist/hooks/useCrossmintCheckout.cjs.map +1 -0
  419. package/dist/hooks/useCrossmintCheckout.d.cts +2 -1
  420. package/dist/hooks/useCrossmintCheckout.d.ts +2 -1
  421. package/dist/hooks/useCrossmintCheckout.js +13 -1
  422. package/dist/hooks/useCrossmintCheckout.js.map +1 -0
  423. package/dist/hooks/useDeepEffect.cjs +8 -1
  424. package/dist/hooks/useDeepEffect.cjs.map +1 -0
  425. package/dist/hooks/useDeepEffect.js +8 -1
  426. package/dist/hooks/useDeepEffect.js.map +1 -0
  427. package/dist/hooks/useEnvironment.cjs +8 -1
  428. package/dist/hooks/useEnvironment.cjs.map +1 -0
  429. package/dist/hooks/useEnvironment.js +8 -1
  430. package/dist/hooks/useEnvironment.js.map +1 -0
  431. package/dist/hooks/useOAuthWindowListener.cjs +37 -1
  432. package/dist/hooks/useOAuthWindowListener.cjs.map +1 -0
  433. package/dist/hooks/useOAuthWindowListener.d.cts +2 -6
  434. package/dist/hooks/useOAuthWindowListener.d.ts +2 -6
  435. package/dist/hooks/useOAuthWindowListener.js +37 -1
  436. package/dist/hooks/useOAuthWindowListener.js.map +1 -0
  437. package/dist/hooks/useWallet.cjs +37 -1
  438. package/dist/hooks/useWallet.cjs.map +1 -0
  439. package/dist/hooks/useWallet.js +37 -1
  440. package/dist/hooks/useWallet.js.map +1 -0
  441. package/dist/icons/alert.cjs +8 -1
  442. package/dist/icons/alert.cjs.map +1 -0
  443. package/dist/icons/alert.js +8 -1
  444. package/dist/icons/alert.js.map +1 -0
  445. package/dist/icons/base64Icons.cjs +12 -0
  446. package/dist/icons/base64Icons.cjs.map +1 -0
  447. package/dist/icons/base64Icons.d.cts +5 -0
  448. package/dist/icons/base64Icons.d.ts +5 -0
  449. package/dist/icons/base64Icons.js +12 -0
  450. package/dist/icons/base64Icons.js.map +1 -0
  451. package/dist/icons/chevronRight.cjs +8 -0
  452. package/dist/icons/chevronRight.cjs.map +1 -0
  453. package/dist/icons/chevronRight.d.cts +9 -0
  454. package/dist/icons/chevronRight.d.ts +9 -0
  455. package/dist/icons/chevronRight.js +8 -0
  456. package/dist/icons/chevronRight.js.map +1 -0
  457. package/dist/icons/discord.cjs +29 -1
  458. package/dist/icons/discord.cjs.map +1 -0
  459. package/dist/icons/discord.js +29 -1
  460. package/dist/icons/discord.js.map +1 -0
  461. package/dist/icons/emailOTP.cjs +8 -1
  462. package/dist/icons/emailOTP.cjs.map +1 -0
  463. package/dist/icons/emailOTP.js +8 -1
  464. package/dist/icons/emailOTP.js.map +1 -0
  465. package/dist/icons/farcaster.cjs +8 -1
  466. package/dist/icons/farcaster.cjs.map +1 -0
  467. package/dist/icons/farcaster.js +8 -1
  468. package/dist/icons/farcaster.js.map +1 -0
  469. package/dist/icons/fingerprint.cjs +8 -1
  470. package/dist/icons/fingerprint.cjs.map +1 -0
  471. package/dist/icons/fingerprint.js +8 -1
  472. package/dist/icons/fingerprint.js.map +1 -0
  473. package/dist/icons/google.cjs +8 -1
  474. package/dist/icons/google.cjs.map +1 -0
  475. package/dist/icons/google.js +8 -1
  476. package/dist/icons/google.js.map +1 -0
  477. package/dist/icons/leftArrow.cjs +8 -1
  478. package/dist/icons/leftArrow.cjs.map +1 -0
  479. package/dist/icons/leftArrow.js +8 -1
  480. package/dist/icons/leftArrow.js.map +1 -0
  481. package/dist/icons/passkey.cjs +8 -1
  482. package/dist/icons/passkey.cjs.map +1 -0
  483. package/dist/icons/passkey.js +8 -1
  484. package/dist/icons/passkey.js.map +1 -0
  485. package/dist/icons/passkeyPromptLogo.cjs +8 -1
  486. package/dist/icons/passkeyPromptLogo.cjs.map +1 -0
  487. package/dist/icons/passkeyPromptLogo.js +8 -1
  488. package/dist/icons/passkeyPromptLogo.js.map +1 -0
  489. package/dist/icons/poweredByLeaf.cjs +8 -1
  490. package/dist/icons/poweredByLeaf.cjs.map +1 -0
  491. package/dist/icons/poweredByLeaf.d.cts +1 -2
  492. package/dist/icons/poweredByLeaf.d.ts +1 -2
  493. package/dist/icons/poweredByLeaf.js +8 -1
  494. package/dist/icons/poweredByLeaf.js.map +1 -0
  495. package/dist/icons/wallet.cjs +8 -0
  496. package/dist/icons/wallet.cjs.map +1 -0
  497. package/dist/icons/wallet.d.cts +9 -0
  498. package/dist/icons/wallet.d.ts +9 -0
  499. package/dist/icons/wallet.js +8 -0
  500. package/dist/icons/wallet.js.map +1 -0
  501. package/dist/icons/x.cjs +29 -1
  502. package/dist/icons/x.cjs.map +1 -0
  503. package/dist/icons/x.js +29 -1
  504. package/dist/icons/x.js.map +1 -0
  505. package/dist/index.cjs +126 -1
  506. package/dist/index.cjs.map +1 -0
  507. package/dist/index.d.cts +2 -3
  508. package/dist/index.d.ts +2 -3
  509. package/dist/index.js +126 -1
  510. package/dist/index.js.map +1 -0
  511. package/dist/providers/CrossmintAuthProvider.cjs +39 -1
  512. package/dist/providers/CrossmintAuthProvider.cjs.map +1 -0
  513. package/dist/providers/CrossmintAuthProvider.d.cts +9 -6
  514. package/dist/providers/CrossmintAuthProvider.d.ts +9 -6
  515. package/dist/providers/CrossmintAuthProvider.js +39 -1
  516. package/dist/providers/CrossmintAuthProvider.js.map +1 -0
  517. package/dist/providers/CrossmintWalletProvider.cjs +39 -1
  518. package/dist/providers/CrossmintWalletProvider.cjs.map +1 -0
  519. package/dist/providers/CrossmintWalletProvider.js +39 -1
  520. package/dist/providers/CrossmintWalletProvider.js.map +1 -0
  521. package/dist/providers/TwindProvider.cjs +9 -1
  522. package/dist/providers/TwindProvider.cjs.map +1 -0
  523. package/dist/providers/TwindProvider.js +9 -1
  524. package/dist/providers/TwindProvider.js.map +1 -0
  525. package/dist/providers/auth/AuthFormProvider.cjs +39 -1
  526. package/dist/providers/auth/AuthFormProvider.cjs.map +1 -0
  527. package/dist/providers/auth/AuthFormProvider.d.cts +7 -9
  528. package/dist/providers/auth/AuthFormProvider.d.ts +7 -9
  529. package/dist/providers/auth/AuthFormProvider.js +39 -1
  530. package/dist/providers/auth/AuthFormProvider.js.map +1 -0
  531. package/dist/providers/auth/FarcasterProvider.cjs +8 -1
  532. package/dist/providers/auth/FarcasterProvider.cjs.map +1 -0
  533. package/dist/providers/auth/FarcasterProvider.js +8 -1
  534. package/dist/providers/auth/FarcasterProvider.js.map +1 -0
  535. package/dist/providers/auth/web3/WagmiAuthProvider.cjs +8 -0
  536. package/dist/providers/auth/web3/WagmiAuthProvider.cjs.map +1 -0
  537. package/dist/providers/auth/web3/WagmiAuthProvider.d.cts +8 -0
  538. package/dist/providers/auth/web3/WagmiAuthProvider.d.ts +8 -0
  539. package/dist/providers/auth/web3/WagmiAuthProvider.js +8 -0
  540. package/dist/providers/auth/web3/WagmiAuthProvider.js.map +1 -0
  541. package/dist/providers/index.cjs +43 -1
  542. package/dist/providers/index.cjs.map +1 -0
  543. package/dist/providers/index.d.cts +2 -1
  544. package/dist/providers/index.d.ts +2 -1
  545. package/dist/providers/index.js +43 -1
  546. package/dist/providers/index.js.map +1 -0
  547. package/dist/testUtils.cjs +8 -1
  548. package/dist/testUtils.cjs.map +1 -0
  549. package/dist/testUtils.d.cts +1 -2
  550. package/dist/testUtils.d.ts +1 -2
  551. package/dist/testUtils.js +8 -1
  552. package/dist/testUtils.js.map +1 -0
  553. package/dist/twind.config.cjs +8 -1
  554. package/dist/twind.config.cjs.map +1 -0
  555. package/dist/twind.config.d.cts +0 -3
  556. package/dist/twind.config.d.ts +0 -3
  557. package/dist/twind.config.js +8 -1
  558. package/dist/twind.config.js.map +1 -0
  559. package/dist/types/auth.cjs +1 -1
  560. package/dist/types/auth.cjs.map +1 -0
  561. package/dist/types/auth.js +1 -0
  562. package/dist/types/auth.js.map +1 -0
  563. package/dist/utils/classNames.cjs +8 -1
  564. package/dist/utils/classNames.cjs.map +1 -0
  565. package/dist/utils/classNames.js +8 -1
  566. package/dist/utils/classNames.js.map +1 -0
  567. package/dist/utils/createCrossmintApiClient.cjs +9 -1
  568. package/dist/utils/createCrossmintApiClient.cjs.map +1 -0
  569. package/dist/utils/createCrossmintApiClient.js +9 -1
  570. package/dist/utils/createCrossmintApiClient.js.map +1 -0
  571. package/package.json +21 -15
  572. package/src/components/auth/AuthForm.tsx +10 -5
  573. package/src/components/auth/AuthFormBackButton.tsx +1 -5
  574. package/src/components/auth/AuthFormDialog.tsx +7 -2
  575. package/src/components/auth/methods/email/EmailOTPInput.tsx +13 -14
  576. package/src/components/auth/methods/email/EmailSignIn.tsx +15 -19
  577. package/src/components/auth/methods/farcaster/FarcasterSignIn.tsx +10 -14
  578. package/src/components/auth/methods/google/GoogleSignIn.tsx +7 -16
  579. package/src/components/auth/methods/web3/Web3AuthFlow.tsx +17 -0
  580. package/src/components/auth/methods/web3/Web3AuthWrapper.tsx +87 -0
  581. package/src/components/auth/methods/web3/Web3ConnectButton.tsx +62 -0
  582. package/src/components/auth/methods/web3/Web3Connectors.tsx +91 -0
  583. package/src/components/auth/methods/web3/Web3ProviderButton.tsx +38 -0
  584. package/src/components/auth/methods/web3/Web3SignIn.tsx +41 -0
  585. package/src/components/common/Dialog.tsx +10 -29
  586. package/src/components/common/Divider.tsx +1 -1
  587. package/src/components/common/InputOTP.tsx +9 -4
  588. package/src/components/common/PoweredByCrossmint.tsx +3 -10
  589. package/src/components/embed/v3/EmbeddedCheckoutV3IFrame.tsx +11 -3
  590. package/src/components/embed/v3/crypto/utils/handleSendTransaction.ts +12 -6
  591. package/src/hooks/index.ts +0 -1
  592. package/src/hooks/useAuth.ts +2 -2
  593. package/src/hooks/useCrossmint.test.tsx +4 -33
  594. package/src/hooks/useCrossmint.tsx +1 -12
  595. package/src/hooks/useCrossmintAuth.ts +12 -0
  596. package/src/hooks/useCrossmintCheckout.tsx +7 -5
  597. package/src/hooks/useOAuthWindowListener.ts +4 -10
  598. package/src/icons/base64Icons.ts +8 -0
  599. package/src/icons/chevronRight.tsx +21 -0
  600. package/src/icons/poweredByLeaf.tsx +81 -80
  601. package/src/icons/wallet.tsx +23 -0
  602. package/src/providers/CrossmintAuthProvider.test.tsx +72 -87
  603. package/src/providers/CrossmintAuthProvider.tsx +52 -49
  604. package/src/providers/CrossmintWalletProvider.test.tsx +15 -9
  605. package/src/providers/auth/AuthFormProvider.test.tsx +61 -19
  606. package/src/providers/auth/AuthFormProvider.tsx +52 -60
  607. package/src/providers/auth/web3/WagmiAuthProvider.tsx +56 -0
  608. package/src/testUtils.ts +0 -4
  609. package/src/twind.config.ts +12 -5
  610. package/dist/chunk-22TFOKGT.js +0 -1
  611. package/dist/chunk-265BME7Y.cjs +0 -1
  612. package/dist/chunk-2POV64LQ.js +0 -1
  613. package/dist/chunk-2TVTJ6GV.js +0 -1
  614. package/dist/chunk-2VQLMU5A.cjs +0 -1
  615. package/dist/chunk-2WSEHVNP.cjs +0 -1
  616. package/dist/chunk-3BUVHV54.js +0 -0
  617. package/dist/chunk-3JUSQ2QE.cjs +0 -1
  618. package/dist/chunk-47YB6ECI.cjs +0 -1
  619. package/dist/chunk-4IHRWQWT.js +0 -1
  620. package/dist/chunk-4ITU7JF2.js +0 -1
  621. package/dist/chunk-5DCSVXPM.js +0 -1
  622. package/dist/chunk-5IFQJPBE.cjs +0 -1
  623. package/dist/chunk-63OMZNLN.js +0 -1
  624. package/dist/chunk-6GZGVNLH.cjs +0 -1
  625. package/dist/chunk-6IWCD2YY.cjs +0 -1
  626. package/dist/chunk-72MMCJ2E.js +0 -0
  627. package/dist/chunk-72P3JMXX.js +0 -1
  628. package/dist/chunk-77PBG2JJ.js +0 -1
  629. package/dist/chunk-7CPFUVAV.js +0 -1
  630. package/dist/chunk-7HSC6Q3U.js +0 -1
  631. package/dist/chunk-7M23WP3P.js +0 -1
  632. package/dist/chunk-7MUBJ5DE.cjs +0 -1
  633. package/dist/chunk-7MYTZUEK.js +0 -1
  634. package/dist/chunk-7WTGDAJW.js +0 -1
  635. package/dist/chunk-7YJMOHOO.js +0 -1
  636. package/dist/chunk-7Z2T6P5L.cjs +0 -1
  637. package/dist/chunk-A3QHXPHD.js +0 -1
  638. package/dist/chunk-AMP2ZDXD.cjs +0 -1
  639. package/dist/chunk-ASU2E6GU.js +0 -1
  640. package/dist/chunk-B7GHWWM6.cjs +0 -1
  641. package/dist/chunk-BHJ5JTA2.js +0 -1
  642. package/dist/chunk-BR77Q3PK.cjs +0 -1
  643. package/dist/chunk-C3JRTLQP.js +0 -1
  644. package/dist/chunk-D3255LVM.cjs +0 -1
  645. package/dist/chunk-DCG56C7R.cjs +0 -1
  646. package/dist/chunk-DGZQUCSD.js +0 -1
  647. package/dist/chunk-E4TBJMOO.js +0 -1
  648. package/dist/chunk-E75QRQ6Q.js +0 -1
  649. package/dist/chunk-E7T2NBUP.cjs +0 -1
  650. package/dist/chunk-EK4Y233O.js +0 -1
  651. package/dist/chunk-EUXGP4IN.cjs +0 -1
  652. package/dist/chunk-EVADF7QA.js +0 -1
  653. package/dist/chunk-FFIN4TCT.cjs +0 -1
  654. package/dist/chunk-FON43I6G.cjs +0 -1
  655. package/dist/chunk-FYYNH6VT.js +0 -1
  656. package/dist/chunk-G6WJLBM7.js +0 -1
  657. package/dist/chunk-GJTS3VOX.cjs +0 -1
  658. package/dist/chunk-HFIIBQLK.js +0 -1
  659. package/dist/chunk-HHQZJJKE.js +0 -1
  660. package/dist/chunk-HWGRWJUT.cjs +0 -1
  661. package/dist/chunk-HYI4R74V.cjs +0 -1
  662. package/dist/chunk-I4GMMHQR.cjs +0 -1
  663. package/dist/chunk-IAJBYU5C.js +0 -1
  664. package/dist/chunk-IKY4YQDO.js +0 -1
  665. package/dist/chunk-IMV35JZB.cjs +0 -1
  666. package/dist/chunk-JGM3G5E2.js +0 -1
  667. package/dist/chunk-JSNLFGET.js +0 -1
  668. package/dist/chunk-JSNUJJQJ.js +0 -1
  669. package/dist/chunk-KY4UBKAO.cjs +0 -1
  670. package/dist/chunk-LF6WLVWL.js +0 -1
  671. package/dist/chunk-LZ5XEFKY.cjs +0 -1
  672. package/dist/chunk-MC3WZMO2.cjs +0 -1
  673. package/dist/chunk-MJMMQJVO.cjs +0 -1
  674. package/dist/chunk-N4QVZLJB.js +0 -1
  675. package/dist/chunk-NBJIJZGO.js +0 -1
  676. package/dist/chunk-NETRNZFY.js +0 -1
  677. package/dist/chunk-NFLGT52C.cjs +0 -1
  678. package/dist/chunk-NRN4WNQL.cjs +0 -1
  679. package/dist/chunk-NTIINLZM.cjs +0 -1
  680. package/dist/chunk-NY7SDPXG.js +0 -1
  681. package/dist/chunk-NZQIZ4ZY.cjs +0 -1
  682. package/dist/chunk-O5J2ZIJ6.cjs +0 -1
  683. package/dist/chunk-OEAPYLBR.cjs +0 -1
  684. package/dist/chunk-OOLXYAO7.js +0 -1
  685. package/dist/chunk-OVBCANGC.cjs +0 -1
  686. package/dist/chunk-PNUQCT4M.cjs +0 -1
  687. package/dist/chunk-PXDN3KFO.js +0 -1
  688. package/dist/chunk-QASKWI5Y.js +0 -1
  689. package/dist/chunk-QDOP7HRG.js +0 -1
  690. package/dist/chunk-QP4CMLMG.cjs +0 -1
  691. package/dist/chunk-QYQERFYL.cjs +0 -1
  692. package/dist/chunk-QZZXNJMU.js +0 -1
  693. package/dist/chunk-RGOIGFPQ.cjs +0 -1
  694. package/dist/chunk-RJGOALQ6.cjs +0 -1
  695. package/dist/chunk-RUQHINLO.js +0 -1
  696. package/dist/chunk-RYQRCUKB.js +0 -1
  697. package/dist/chunk-S73E6EBO.cjs +0 -1
  698. package/dist/chunk-SC5LQJBG.cjs +0 -1
  699. package/dist/chunk-SFDQPSSP.js +0 -1
  700. package/dist/chunk-SJFJI2OT.cjs +0 -1
  701. package/dist/chunk-SKRQKK2T.cjs +0 -1
  702. package/dist/chunk-SRQAQHYK.cjs +0 -1
  703. package/dist/chunk-SSWWXH5O.cjs +0 -1
  704. package/dist/chunk-SYDMK3TQ.js +0 -1
  705. package/dist/chunk-T422SK4C.cjs +0 -1
  706. package/dist/chunk-T5PSAJ3R.cjs +0 -1
  707. package/dist/chunk-TM7WDKYR.cjs +0 -1
  708. package/dist/chunk-TNCETEEL.js +0 -1
  709. package/dist/chunk-U6FTIAJO.js +0 -1
  710. package/dist/chunk-U7JNW7VQ.js +0 -1
  711. package/dist/chunk-UAFW3OWA.js +0 -1
  712. package/dist/chunk-UI2RH2CP.js +0 -1
  713. package/dist/chunk-UOHM5SBY.cjs +0 -1
  714. package/dist/chunk-UX6T7EAP.js +0 -1
  715. package/dist/chunk-V2YSOSYZ.cjs +0 -1
  716. package/dist/chunk-V4LKDMLV.js +0 -1
  717. package/dist/chunk-VI6TW7JT.cjs +0 -1
  718. package/dist/chunk-VIJFGMUH.js +0 -1
  719. package/dist/chunk-VWBAHXIO.cjs +0 -1
  720. package/dist/chunk-W4UPIFFS.cjs +0 -1
  721. package/dist/chunk-WABJHG6B.cjs +0 -1
  722. package/dist/chunk-WARJE3L2.cjs +0 -1
  723. package/dist/chunk-WF3RK7VH.js +0 -1
  724. package/dist/chunk-X5BBXO27.cjs +0 -1
  725. package/dist/chunk-XIVIIEY5.js +0 -1
  726. package/dist/chunk-XMNGTV3F.cjs +0 -1
  727. package/dist/chunk-Y5RJUIQB.cjs +0 -1
  728. package/dist/chunk-YKC4ST2J.js +0 -1
  729. package/dist/chunk-YLAJFXWZ.js +0 -0
  730. package/dist/chunk-YVTAV6EU.cjs +0 -1
  731. package/dist/chunk-Z2FGFHRQ.cjs +0 -1
  732. package/dist/hooks/useAuthSignIn.cjs +0 -1
  733. package/dist/hooks/useAuthSignIn.d.cts +0 -21
  734. package/dist/hooks/useAuthSignIn.d.ts +0 -21
  735. package/dist/hooks/useAuthSignIn.js +0 -1
  736. package/dist/hooks/useRefreshToken.cjs +0 -1
  737. package/dist/hooks/useRefreshToken.d.cts +0 -11
  738. package/dist/hooks/useRefreshToken.d.ts +0 -11
  739. package/dist/hooks/useRefreshToken.js +0 -1
  740. package/dist/utils/authCookies.cjs +0 -1
  741. package/dist/utils/authCookies.d.cts +0 -5
  742. package/dist/utils/authCookies.d.ts +0 -5
  743. package/dist/utils/authCookies.js +0 -1
  744. package/src/hooks/useAuthSignIn.ts +0 -117
  745. package/src/hooks/useRefreshToken.test.ts +0 -155
  746. package/src/hooks/useRefreshToken.ts +0 -68
  747. package/src/utils/authCookies.test.ts +0 -41
  748. package/src/utils/authCookies.ts +0 -13
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/providers/CrossmintWalletProvider.tsx","../src/hooks/useWallet.ts","../src/hooks/useAuth.ts","../src/providers/CrossmintAuthProvider.tsx","../src/components/auth/AuthFormDialog.tsx","../src/providers/auth/AuthFormProvider.tsx","../src/hooks/useCrossmintAuth.ts","../src/components/auth/methods/email/EmailAuthFlow.tsx","../src/components/auth/methods/email/EmailOTPInput.tsx","../src/components/auth/methods/email/EmailSignIn.tsx","../src/components/common/Divider.tsx","../src/hooks/useOAuthWindowListener.ts","../src/components/auth/methods/google/GoogleSignIn.tsx","../src/components/auth/methods/farcaster/FarcasterSignIn.tsx","../src/components/auth/methods/web3/Web3SignIn.tsx","../src/components/auth/methods/web3/Web3AuthWrapper.tsx","../src/components/auth/methods/web3/Web3Connectors.tsx","../src/components/auth/methods/web3/Web3AuthFlow.tsx","../src/components/auth/AuthForm.tsx"],"names":["createContext","useMemo","useState","useContext","useEffect","useRef","oauthUrlMap","jsx","_a","_b","jsxs","_e","Fragment","error","useAccount","user"],"mappings":"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","sourcesContent":["import { type ReactNode, createContext, useMemo, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\n\nimport {\n type EVMSmartWallet,\n type EVMSmartWalletChain,\n SmartWalletError,\n SmartWalletSDK,\n type WalletParams,\n type PasskeySigner,\n} from \"@crossmint/client-sdk-smart-wallet\";\n\nimport { useCrossmint } from \"../hooks\";\nimport type { UIConfig } from \"@crossmint/common-sdk-base\";\nimport { PasskeyPrompt } from \"@/components/auth/PasskeyPrompt\";\n\ntype WalletStatus = \"not-loaded\" | \"in-progress\" | \"loaded\" | \"loading-error\";\n\ntype ValidPasskeyPromptType =\n | \"create-wallet\"\n | \"transaction\"\n | \"not-supported\"\n | \"create-wallet-error\"\n | \"transaction-error\";\ntype PasskeyPromptState =\n | {\n type: ValidPasskeyPromptType;\n open: true;\n primaryActionOnClick: () => void;\n secondaryActionOnClick?: () => void;\n }\n | { open: false };\n\ntype ValidWalletState =\n | { status: \"not-loaded\" | \"in-progress\" }\n | { status: \"loaded\"; wallet: EVMSmartWallet }\n | { status: \"loading-error\"; error: SmartWalletError };\n\ntype WalletContext = {\n status: WalletStatus;\n wallet?: EVMSmartWallet;\n error?: SmartWalletError;\n getOrCreateWallet: (\n config?: Pick<WalletConfig, \"signer\" | \"type\">\n ) => Promise<{ startedCreation: boolean; reason?: string }>;\n clearWallet: () => void;\n};\n\nexport const WalletContext = createContext<WalletContext>({\n status: \"not-loaded\",\n getOrCreateWallet: () => Promise.resolve({ startedCreation: false }),\n clearWallet: () => {},\n});\n\nexport type WalletConfig = WalletParams & { type: \"evm-smart-wallet\" };\n\nexport function CrossmintWalletProvider({\n children,\n defaultChain,\n showPasskeyHelpers = true, // enabled by default\n appearance,\n}: {\n children: ReactNode;\n defaultChain: EVMSmartWalletChain;\n showPasskeyHelpers?: boolean;\n appearance?: UIConfig;\n}) {\n const { crossmint } = useCrossmint(\"CrossmintWalletProvider must be used within CrossmintProvider\");\n const smartWalletSDK = useMemo(() => SmartWalletSDK.init({ clientApiKey: crossmint.apiKey }), [crossmint.apiKey]);\n\n const [walletState, setWalletState] = useState<ValidWalletState>({ status: \"not-loaded\" });\n const [passkeyPromptState, setPasskeyPromptState] = useState<PasskeyPromptState>({ open: false });\n\n const getOrCreateWallet = async (\n config: WalletConfig = { type: \"evm-smart-wallet\", signer: { type: \"PASSKEY\" } }\n ) => {\n if (walletState.status == \"in-progress\") {\n console.log(\"Wallet already loading\");\n return { startedCreation: false, reason: \"Wallet is already loading.\" };\n }\n\n if (crossmint.jwt == null) {\n return { startedCreation: false, reason: `Jwt not set in \"CrossmintProvider\".` };\n }\n\n try {\n setWalletState({ status: \"in-progress\" });\n const wallet = await smartWalletSDK.getOrCreateWallet(\n { jwt: crossmint.jwt as string },\n defaultChain,\n enhanceConfigWithPasskeyPrompts(config)\n );\n setWalletState({ status: \"loaded\", wallet });\n } catch (error: unknown) {\n console.error(\"There was an error creating a wallet \", error);\n setWalletState(deriveErrorState(error));\n }\n return { startedCreation: true };\n };\n\n const enhanceConfigWithPasskeyPrompts = (config: WalletConfig) => {\n if (showPasskeyHelpers && (config.signer as PasskeySigner).type === \"PASSKEY\") {\n return {\n ...config,\n signer: {\n ...config.signer,\n onPrePasskeyRegistration: createPasskeyPrompt(\"create-wallet\"),\n onPasskeyRegistrationError: createPasskeyPrompt(\"create-wallet-error\"),\n onFirstTimePasskeySigning: createPasskeyPrompt(\"transaction\"),\n onFirstTimePasskeySigningError: createPasskeyPrompt(\"transaction-error\"),\n },\n };\n }\n return config;\n };\n\n const createPasskeyPrompt = (type: ValidPasskeyPromptType) => () =>\n new Promise<void>((resolve) => {\n setPasskeyPromptState({\n type,\n open: true,\n primaryActionOnClick: () => {\n setPasskeyPromptState({ open: false });\n resolve();\n },\n secondaryActionOnClick: () => {\n setPasskeyPromptState({ open: false });\n resolve();\n },\n });\n });\n\n const clearWallet = () => {\n setWalletState({ status: \"not-loaded\" });\n };\n\n return (\n <WalletContext.Provider value={{ ...walletState, getOrCreateWallet, clearWallet }}>\n {children}\n {passkeyPromptState.open\n ? createPortal(<PasskeyPrompt state={passkeyPromptState} appearance={appearance} />, document.body)\n : null}\n </WalletContext.Provider>\n );\n}\n\nfunction deriveErrorState(error: unknown): { status: \"loading-error\"; error: SmartWalletError } {\n if (error instanceof SmartWalletError) {\n return { status: \"loading-error\", error };\n }\n\n const message = error instanceof Error ? error.message : String(error);\n const stack = error instanceof Error ? error.stack : undefined;\n return { status: \"loading-error\", error: new SmartWalletError(`Unknown Wallet Error: ${message}`, stack) };\n}\n","import { useContext } from \"react\";\n\nimport { WalletContext } from \"../providers/CrossmintWalletProvider\";\n\nexport function useWallet() {\n const walletContext = useContext(WalletContext);\n\n if (!walletContext) {\n throw new Error(\"useWallet must be used within CrossmintAuthProvider or CrossmintWalletProvider\");\n }\n\n return walletContext;\n}\n","import { useContext } from \"react\";\n\nimport { AuthContext, type AuthContextType } from \"../providers\";\n\nexport function useAuth(): AuthContextType {\n const context = useContext(AuthContext);\n if (context === undefined) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return context;\n}\n","import { type ReactNode, createContext, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { CrossmintAuth, getCookie } from \"@crossmint/client-sdk-auth\";\nimport type { EVMSmartWalletChain } from \"@crossmint/client-sdk-smart-wallet\";\nimport { type UIConfig, validateApiKeyAndGetCrossmintBaseUrl } from \"@crossmint/common-sdk-base\";\nimport { type AuthMaterialWithUser, SESSION_PREFIX, type SDKExternalUser } from \"@crossmint/common-sdk-auth\";\n\nimport AuthFormDialog from \"../components/auth/AuthFormDialog\";\nimport { useCrossmint, useWallet } from \"../hooks\";\nimport { CrossmintWalletProvider } from \"./CrossmintWalletProvider\";\nimport { AuthFormProvider } from \"./auth/AuthFormProvider\";\nimport { TwindProvider } from \"./TwindProvider\";\n\nexport type CrossmintAuthWalletConfig = {\n defaultChain: EVMSmartWalletChain;\n createOnLogin: \"all-users\" | \"off\";\n type: \"evm-smart-wallet\";\n showPasskeyHelpers?: boolean;\n};\n\nexport type LoginMethod = \"email\" | \"google\" | \"farcaster\" | \"web3\";\n\nexport type CrossmintAuthProviderProps = {\n embeddedWallets?: CrossmintAuthWalletConfig;\n appearance?: UIConfig;\n children: ReactNode;\n loginMethods?: LoginMethod[];\n refreshRoute?: string;\n logoutRoute?: string;\n};\n\ntype AuthStatus = \"logged-in\" | \"logged-out\" | \"in-progress\";\n\nexport interface AuthContextType {\n crossmintAuth?: CrossmintAuth;\n login: () => void;\n logout: () => void;\n jwt?: string;\n user?: SDKExternalUser;\n status: AuthStatus;\n getUser: () => void;\n}\n\nconst defaultContextValue: AuthContextType = {\n crossmintAuth: undefined,\n login: () => {},\n logout: () => {},\n jwt: undefined,\n user: undefined,\n status: \"logged-out\",\n getUser: () => {},\n};\n\nexport const AuthContext = createContext<AuthContextType>(defaultContextValue);\n\nconst defaultEmbeddedWallets: CrossmintAuthWalletConfig = {\n defaultChain: \"base-sepolia\",\n createOnLogin: \"off\",\n type: \"evm-smart-wallet\",\n};\n\nexport function CrossmintAuthProvider({\n embeddedWallets = defaultEmbeddedWallets,\n children,\n appearance,\n loginMethods = [\"email\", \"google\"],\n refreshRoute,\n logoutRoute,\n}: CrossmintAuthProviderProps) {\n const [user, setUser] = useState<SDKExternalUser | undefined>(undefined);\n const { crossmint, setJwt } = useCrossmint(\"CrossmintAuthProvider must be used within CrossmintProvider\");\n // Only create the CrossmintAuth instance once, even in StrictMode, as the constructor calls /refresh\n // It can only be called once to avoid race conditions\n const crossmintAuthRef = useRef<CrossmintAuth | null>(null);\n // biome-ignore lint/correctness/useExhaustiveDependencies: crossmint can't be a dependency because it updates with each jwt change\n const crossmintAuth = useMemo(() => {\n if (!crossmintAuthRef.current) {\n crossmintAuthRef.current = CrossmintAuth.from(crossmint, {\n callbacks: {\n onLogout: () => {\n setJwt(undefined);\n setUser(undefined);\n },\n onTokenRefresh: (authMaterial: AuthMaterialWithUser) => {\n setJwt(authMaterial.jwt);\n setUser(authMaterial.user);\n },\n },\n refreshRoute,\n logoutRoute,\n });\n }\n return crossmintAuthRef.current;\n }, []);\n\n const crossmintBaseUrl = validateApiKeyAndGetCrossmintBaseUrl(crossmint.apiKey);\n const [dialogOpen, setDialogOpen] = useState(false);\n\n useEffect(() => {\n if (crossmint.jwt == null) {\n const jwt = getCookie(SESSION_PREFIX);\n setJwt(jwt);\n }\n }, []);\n\n useEffect(() => {\n if (crossmint.jwt == null) {\n return;\n }\n\n setDialogOpen(false);\n }, [crossmint.jwt]);\n\n const login = () => {\n if (crossmint.jwt != null) {\n console.log(\"User already logged in\");\n return;\n }\n\n setDialogOpen(true);\n };\n\n const logout = () => {\n crossmintAuth.logout();\n };\n\n const getAuthStatus = (): AuthStatus => {\n if (crossmint.jwt != null) {\n return \"logged-in\";\n }\n if (dialogOpen) {\n return \"in-progress\";\n }\n return \"logged-out\";\n };\n\n const getUser = async () => {\n if (crossmint.jwt == null) {\n console.log(\"User not logged in\");\n return;\n }\n\n const user = await crossmintAuth.getUser();\n setUser(user);\n };\n\n return (\n <TwindProvider>\n <AuthContext.Provider\n value={{\n crossmintAuth,\n login,\n logout,\n jwt: crossmint.jwt,\n user,\n status: getAuthStatus(),\n getUser,\n }}\n >\n <CrossmintWalletProvider\n defaultChain={embeddedWallets.defaultChain}\n showPasskeyHelpers={embeddedWallets.showPasskeyHelpers}\n appearance={appearance}\n >\n <AuthFormProvider\n initialState={{\n appearance,\n setDialogOpen,\n loginMethods,\n embeddedWallets,\n baseUrl: crossmintBaseUrl,\n }}\n >\n <WalletManager embeddedWallets={embeddedWallets} accessToken={crossmint.jwt}>\n {children}\n </WalletManager>\n\n <AuthFormDialog open={dialogOpen} />\n </AuthFormProvider>\n </CrossmintWalletProvider>\n </AuthContext.Provider>\n </TwindProvider>\n );\n}\n\nfunction WalletManager({\n embeddedWallets,\n children,\n accessToken,\n}: {\n embeddedWallets: CrossmintAuthWalletConfig;\n children: ReactNode;\n accessToken: string | undefined;\n}) {\n const { getOrCreateWallet, clearWallet, status } = useWallet();\n\n useEffect(() => {\n if (embeddedWallets.createOnLogin === \"all-users\" && status === \"not-loaded\" && accessToken != null) {\n getOrCreateWallet({\n type: embeddedWallets.type,\n signer: { type: \"PASSKEY\" },\n });\n }\n\n if (status === \"loaded\" && accessToken == null) {\n clearWallet();\n }\n }, [accessToken, status]);\n\n return <>{children}</>;\n}\n","import { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { AuthForm } from \"./AuthForm\";\nimport { Dialog, DialogContent, DialogDescription, DialogTitle } from \"../common/Dialog\";\nimport { useEffect } from \"react\";\n\nexport default function AuthFormDialog({ open }: { open: boolean }) {\n const { appearance, setDialogOpen } = useAuthForm();\n\n useEffect(() => {\n document.body.style.overflow = open ? \"hidden\" : \"\";\n }, [open]);\n\n return (\n <Dialog modal={false} open={open} onOpenChange={setDialogOpen}>\n <DialogContent\n onInteractOutside={(e) => e.preventDefault()}\n onOpenAutoFocus={(e) => e.preventDefault()}\n closeButtonColor={appearance?.colors?.textPrimary}\n closeButtonRingColor={appearance?.colors?.accent}\n className=\"cm-responsive-border-radius-auth-dialog\"\n style={{\n borderRadius: appearance?.borderRadius,\n backgroundColor: appearance?.colors?.background,\n }}\n >\n <VisuallyHidden asChild>\n <DialogTitle>Crossmint Auth</DialogTitle>\n </VisuallyHidden>\n <VisuallyHidden asChild>\n <DialogDescription>Sign in via Crossmint</DialogDescription>\n </VisuallyHidden>\n\n <AuthForm className=\"max-w-[448px]\" />\n </DialogContent>\n </Dialog>\n );\n}\n","import { createContext, useCallback, useContext, useEffect, useState, type ReactNode } from \"react\";\nimport type { OAuthProvider } from \"@crossmint/common-sdk-auth\";\nimport type { UIConfig } from \"@crossmint/common-sdk-base\";\nimport type { CrossmintAuthWalletConfig, LoginMethod } from \"../CrossmintAuthProvider\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\nimport { WagmiAuthProvider } from \"./web3/WagmiAuthProvider\";\n\ntype AuthStep = \"initial\" | \"otp\" | \"qrCode\" | \"web3\" | \"web3/metamask\" | \"web3/walletconnect\";\n\ntype OAuthUrlMap = Record<OAuthProvider, string>;\nconst initialOAuthUrlMap: OAuthUrlMap = {\n google: \"\",\n // Farcaster is not included here as it uses a different authentication method\n};\ninterface AuthFormContextType {\n step: AuthStep;\n appearance?: UIConfig;\n loginMethods: LoginMethod[];\n oauthUrlMap: OAuthUrlMap;\n isLoadingOauthUrlMap: boolean;\n baseUrl: string;\n setStep: (step: AuthStep) => void;\n setDialogOpen: (open: boolean) => void;\n}\n\ntype ContextInitialStateProps = {\n appearance?: UIConfig;\n loginMethods: LoginMethod[];\n baseUrl: string;\n setDialogOpen?: (open: boolean) => void;\n embeddedWallets: CrossmintAuthWalletConfig;\n};\n\nconst AuthFormContext = createContext<AuthFormContextType | undefined>(undefined);\n\nexport const useAuthForm = () => {\n const context = useContext(AuthFormContext);\n if (!context) {\n throw new Error(\"useAuthForm must be used within an AuthFormProvider\");\n }\n return context;\n};\n\nexport const AuthFormProvider = ({\n children,\n initialState,\n}: { children: ReactNode; initialState: ContextInitialStateProps }) => {\n const { crossmintAuth } = useCrossmintAuth();\n const [step, setStep] = useState<AuthStep>(\"initial\");\n const [oauthUrlMap, setOauthUrlMap] = useState<OAuthUrlMap>(initialOAuthUrlMap);\n const [isLoadingOauthUrlMap, setIsLoadingOauthUrlMap] = useState(true);\n\n const { loginMethods, baseUrl, setDialogOpen, appearance, embeddedWallets } = initialState;\n\n if (loginMethods.includes(\"web3\") && embeddedWallets?.createOnLogin === \"all-users\") {\n throw new Error(\"Creating wallets on login is not yet supported for web3 login method\");\n }\n\n const preFetchAndSetOauthUrl = useCallback(async () => {\n setIsLoadingOauthUrlMap(true);\n try {\n const oauthProviders = loginMethods.filter(\n (method): method is OAuthProvider => method in initialOAuthUrlMap\n );\n\n const oauthPromiseList = oauthProviders.map(async (provider) => {\n const url = await crossmintAuth?.getOAuthUrl(provider);\n return { [provider]: url };\n });\n\n const oauthUrlMap = Object.assign({}, ...(await Promise.all(oauthPromiseList)));\n setOauthUrlMap(oauthUrlMap);\n } catch (error) {\n console.error(\"Error fetching OAuth URLs:\", error);\n } finally {\n setIsLoadingOauthUrlMap(false);\n }\n }, [loginMethods, crossmintAuth]);\n\n useEffect(() => {\n preFetchAndSetOauthUrl();\n }, [preFetchAndSetOauthUrl]);\n\n const handleToggleDialog = (open: boolean) => {\n setDialogOpen?.(open);\n if (!open) {\n // Delay to allow the close transition to complete before resetting the step\n setTimeout(() => setStep(\"initial\"), 250);\n }\n };\n\n const value: AuthFormContextType = {\n step,\n baseUrl,\n appearance,\n loginMethods,\n oauthUrlMap,\n isLoadingOauthUrlMap,\n setDialogOpen: handleToggleDialog,\n setStep,\n };\n\n return (\n <AuthFormContext.Provider value={value}>\n <WagmiAuthProvider>{children}</WagmiAuthProvider>\n </AuthFormContext.Provider>\n );\n};\n","import { useContext } from \"react\";\nimport { AuthContext } from \"../providers/CrossmintAuthProvider\";\n\nexport function useCrossmintAuth() {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error(\"useCrossmintAuth must be used within a CrossmintAuthProvider\");\n }\n\n return context;\n}\n","import { useState } from \"react\";\nimport { EmailOTPInput } from \"./EmailOTPInput\";\nimport { EmailSignIn } from \"./EmailSignIn\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport type { OtpEmailPayload } from \"@/types/auth\";\n\nexport function EmailAuthFlow() {\n const { step } = useAuthForm();\n const [otpEmailData, setOtpEmailData] = useState<OtpEmailPayload | null>(null);\n\n if (step === \"otp\") {\n return <EmailOTPInput otpEmailData={otpEmailData} setOtpEmailData={setOtpEmailData} />;\n }\n if (step === \"initial\") {\n return <EmailSignIn setOtpEmailData={setOtpEmailData} />;\n }\n\n return null;\n}\n","import { useState } from \"react\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/common/InputOTP\";\nimport { EmailOtpIcon } from \"@/icons/emailOTP\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport type { OtpEmailPayload } from \"@/types/auth\";\nimport { AuthFormBackButton } from \"../../AuthFormBackButton\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\n\nexport const EMAIL_VERIFICATION_TOKEN_LENGTH = 6;\n\nexport function EmailOTPInput({\n otpEmailData,\n setOtpEmailData,\n}: { otpEmailData: OtpEmailPayload | null; setOtpEmailData: (data: OtpEmailPayload | null) => void }) {\n const { crossmintAuth } = useCrossmintAuth();\n const { appearance, setDialogOpen, setStep } = useAuthForm();\n\n const [token, setToken] = useState(\"\");\n const [hasError, setHasError] = useState(false);\n const [loading, setLoading] = useState(false);\n\n const handleOnSubmit = async () => {\n setLoading(true);\n try {\n const oneTimeSecret = await crossmintAuth?.confirmEmailOtp(\n otpEmailData?.email ?? \"\",\n otpEmailData?.emailId ?? \"\",\n token\n );\n\n await crossmintAuth?.handleRefreshAuthMaterial(oneTimeSecret as string);\n setDialogOpen(false);\n setStep(\"initial\");\n } catch (e) {\n console.error(\"Error signing in via email \", e);\n setHasError(true);\n } finally {\n setLoading(false);\n }\n };\n\n const handleOnBack = () => {\n setStep(\"initial\");\n setOtpEmailData(null);\n };\n\n return (\n <div>\n <AuthFormBackButton\n onClick={handleOnBack}\n iconColor={appearance?.colors?.textPrimary}\n ringColor={appearance?.colors?.accent}\n />\n\n <div className=\"flex flex-col items-center justify-start w-full\">\n <div className=\"relative left-3\">\n <EmailOtpIcon\n customAccentColor={appearance?.colors?.accent}\n customButtonBackgroundColor={appearance?.colors?.buttonBackground}\n customBackgroundColor={appearance?.colors?.background}\n />\n </div>\n <p\n className=\"text-base font-normal mt-4 mb-1 text-center text-cm-text-primary\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n {\"Check your email\"}\n </p>\n <p\n className=\"text-center text-cm-text-secondary px-4\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n {\"A temporary login code has been sent to your email\"}\n </p>\n <div className=\"py-8\">\n <InputOTP\n maxLength={EMAIL_VERIFICATION_TOKEN_LENGTH}\n value={token}\n onChange={(val) => {\n setToken(val);\n setHasError(false);\n }}\n onComplete={handleOnSubmit}\n disabled={loading}\n customStyles={{\n accent: appearance?.colors?.accent ?? \"#04AA6D\",\n danger: appearance?.colors?.danger ?? \"#f44336\",\n border: appearance?.colors?.border ?? \"#E5E7EB\",\n textPrimary: appearance?.colors?.textPrimary ?? \"#909ca3\",\n buttonBackground: appearance?.colors?.buttonBackground ?? \"#eff6ff\",\n inputBackground: appearance?.colors?.inputBackground ?? \"#FFFFFF\",\n borderRadius: appearance?.borderRadius,\n }}\n >\n <InputOTPGroup>\n <InputOTPSlot index={0} hasError={hasError} />\n <InputOTPSlot index={1} hasError={hasError} />\n <InputOTPSlot index={2} hasError={hasError} />\n <InputOTPSlot index={3} hasError={hasError} />\n <InputOTPSlot index={4} hasError={hasError} />\n <InputOTPSlot index={5} hasError={hasError} />\n </InputOTPGroup>\n </InputOTP>\n </div>\n\n <p className=\"text-sm leading-tight text-cm-text-secondary text-center\">\n <span style={{ color: appearance?.colors?.textSecondary }}>\n Can't find the email? Check spam folder or contact\n </span>{\" \"}\n <a\n key=\"resend-email-link\"\n className=\"transition-opacity duration-150 text-cm-link hover:opacity-70\"\n style={{ color: appearance?.colors?.textLink }}\n href=\"mailto:support@crossmint.io\"\n >\n support@crossmint.io\n </a>\n </p>\n </div>\n </div>\n );\n}\n","import { type FormEvent, useState } from \"react\";\nimport Color from \"color\";\n\nimport { Spinner } from \"@/components/common/Spinner\";\nimport { classNames } from \"@/utils/classNames\";\nimport { AlertIcon } from \"../../../../icons/alert\";\nimport { isEmailValid } from \"@crossmint/common-sdk-auth\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport type { OtpEmailPayload } from \"@/types/auth\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\n\nexport function EmailSignIn({ setOtpEmailData }: { setOtpEmailData: (data: OtpEmailPayload) => void }) {\n const { crossmintAuth } = useCrossmintAuth();\n const { appearance, setStep } = useAuthForm();\n\n const [emailInput, setEmailInput] = useState(\"\");\n const [emailError, setEmailError] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n\n async function handleOnSubmit(e: FormEvent<HTMLFormElement>) {\n e.preventDefault();\n\n if (!isEmailValid(emailInput)) {\n setEmailError(\"Please enter a valid email address\");\n return;\n }\n\n setIsLoading(true);\n\n try {\n const trimmedEmailInput = emailInput.trim().toLowerCase();\n const emailSignInRes = (await crossmintAuth?.sendEmailOtp(trimmedEmailInput)) as { emailId: string };\n\n setOtpEmailData({ email: trimmedEmailInput, emailId: emailSignInRes.emailId });\n setStep(\"otp\");\n } catch (_e: unknown) {\n setIsLoading(false);\n setEmailError(\"Failed to send email. Please try again or contact support.\");\n }\n }\n\n return (\n <>\n <div className=\"flex flex-col items-start justify-start w-full rounded-lg\">\n <div className=\"w-full\">\n <form\n role=\"form\"\n className=\"relative\"\n onSubmit={handleOnSubmit}\n noValidate // we want to handle validation ourselves\n >\n <label htmlFor=\"emailInput\" className=\"sr-only\">\n Email\n </label>\n <input\n className={classNames(\n \"flex-grow text-cm-text-secondary text-left pl-[16px] pr-[80px] h-[58px] w-full border border-cm-border rounded-xl bg-cm-background-primary placeholder:text-sm placeholder:text-opacity-60\",\n \"transition-none duration-200 ease-in-out\",\n \"focus:outline-none focus-ring-custom\", // Add focus ring\n emailError ? \"border-red-500\" : \"\"\n )}\n style={{\n color: appearance?.colors?.textPrimary,\n borderRadius: appearance?.borderRadius,\n borderColor: emailError ? appearance?.colors?.danger : appearance?.colors?.border,\n backgroundColor: appearance?.colors?.inputBackground,\n // @ts-expect-error Add custom ring color to tailwind\n \"--focus-ring-color\": new Color(appearance?.colors?.accent ?? \"#04AA6D\")\n .alpha(0.18)\n .toString(),\n }}\n type=\"email\"\n placeholder=\"Enter email\"\n value={emailInput}\n onChange={(e) => {\n setEmailInput(e.target.value);\n setEmailError(\"\");\n }}\n readOnly={isLoading}\n aria-describedby=\"emailError\"\n />\n <div className=\"absolute inset-y-0 right-0 flex items-center pr-4\">\n {emailError && <AlertIcon customColor={appearance?.colors?.danger} />}\n {isLoading && (\n <Spinner\n style={{\n color: appearance?.colors?.textSecondary,\n fill: appearance?.colors?.textPrimary,\n }}\n />\n )}\n {!emailError && !isLoading && (\n <button\n type=\"submit\"\n className={classNames(\"cursor-pointer font-medium text-cm-accent text-nowrap\")}\n style={{ color: appearance?.colors?.accent }}\n disabled={!emailInput}\n >\n Sign in\n </button>\n )}\n </div>\n </form>\n {emailError && <p className=\"text-xs text-red-500 mb-2 pt-2\">{emailError}</p>}\n </div>\n </div>\n </>\n );\n}\n","import { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport type { UIConfig } from \"@crossmint/common-sdk-base\";\n\nexport function Divider({ appearance, text }: { appearance?: UIConfig; text?: string }) {\n const { step } = useAuthForm();\n\n if (step !== \"initial\") {\n return null;\n }\n\n return (\n <div className=\"flex items-center justify-center w-full pt-2 pb-3\">\n <span className=\"w-full h-[1px] bg-cm-border\" style={{ backgroundColor: appearance?.colors?.border }} />\n {text != null ? (\n <p\n className=\"flex-none px-2 text-sm text-cm-text-primary\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n {text}\n </p>\n ) : null}\n <span className=\"w-full h-[1px] bg-cm-border\" style={{ backgroundColor: appearance?.colors?.border }} />\n </div>\n );\n}\n","import type { OAuthProvider } from \"@crossmint/common-sdk-auth\";\nimport { ChildWindow, PopupWindow } from \"@crossmint/client-sdk-window\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { z } from \"zod\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { useCrossmintAuth } from \"./useCrossmintAuth\";\n\nexport const useOAuthWindowListener = (provider: OAuthProvider) => {\n const { crossmintAuth } = useCrossmintAuth();\n const { oauthUrlMap } = useAuthForm();\n const [isLoading, setIsLoading] = useState(false);\n const childRef = useRef<ChildWindow<IncomingEvents, OutgoingEvents> | null>(null);\n\n useEffect(() => {\n if (childRef.current == null) {\n childRef.current = new ChildWindow<IncomingEvents, OutgoingEvents>(window.opener || window.parent, \"*\", {\n incomingEvents,\n outgoingEvents,\n });\n }\n\n return () => {\n if (childRef.current != null) {\n childRef.current.off(\"authMaterialFromPopupCallback\");\n }\n };\n }, []);\n\n const createPopupAndSetupListeners = async () => {\n if (childRef.current == null) {\n throw new Error(\"Child window not initialized\");\n }\n setIsLoading(true);\n const popup = await PopupWindow.init(oauthUrlMap[provider], {\n awaitToLoad: false,\n crossOrigin: true,\n width: 400,\n height: 700,\n });\n\n const handleAuthMaterial = async (data: { oneTimeSecret: string }) => {\n await crossmintAuth?.handleRefreshAuthMaterial(data.oneTimeSecret);\n childRef.current?.off(\"authMaterialFromPopupCallback\");\n popup.window.close();\n setIsLoading(false);\n };\n\n childRef.current.on(\"authMaterialFromPopupCallback\", handleAuthMaterial);\n\n // Add a check for manual window closure\n // Ideally we should find a more explicit way of doing this, but I think this is fine for now.\n const checkWindowClosure = setInterval(() => {\n if (popup.window.closed) {\n clearInterval(checkWindowClosure);\n setIsLoading(false);\n childRef.current?.off(\"authMaterialFromPopupCallback\");\n }\n }, 2500); // Check every 2.5 seconds\n };\n\n return {\n createPopupAndSetupListeners,\n isLoading,\n };\n};\n\nconst incomingEvents = {\n authMaterialFromPopupCallback: z.object({ oneTimeSecret: z.string() }),\n};\n\nconst outgoingEvents = {\n authMaterialFromAuthFrame: z.object({ oneTimeSecret: z.string() }),\n};\n\ntype IncomingEvents = {\n authMaterialFromPopupCallback: typeof incomingEvents.authMaterialFromPopupCallback;\n};\n\ntype OutgoingEvents = {\n authMaterialFromAuthFrame: typeof outgoingEvents.authMaterialFromAuthFrame;\n};\n","import type { ButtonHTMLAttributes } from \"react\";\nimport { GoogleIcon } from \"@/icons/google\";\nimport { useOAuthWindowListener } from \"@/hooks/useOAuthWindowListener\";\nimport { Spinner } from \"@/components/common/Spinner\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { classNames } from \"@/utils/classNames\";\n\nexport function GoogleSignIn({ ...props }: ButtonHTMLAttributes<HTMLButtonElement>) {\n const { step, appearance, isLoadingOauthUrlMap } = useAuthForm();\n const { createPopupAndSetupListeners, isLoading: isLoadingOAuthWindow } = useOAuthWindowListener(\"google\");\n const isLoading = isLoadingOauthUrlMap || isLoadingOAuthWindow;\n\n if (step !== \"initial\") {\n return null;\n }\n\n return (\n <button\n className={classNames(\n \"relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center\",\n \"transition-colors duration-200 ease-in-out\",\n \"hover:bg-cm-hover focus:bg-cm-hover outline-none\",\n isLoading ? \"cursor-not-allowed hover:bg-cm-muted-primary\" : \"\"\n )}\n style={{\n borderRadius: appearance?.borderRadius,\n backgroundColor: appearance?.colors?.buttonBackground,\n }}\n onClick={isLoading ? undefined : createPopupAndSetupListeners}\n {...props}\n >\n <>\n <GoogleIcon className=\"h-[25px] w-[25px] absolute left-[18px]\" />\n {isLoading ? (\n <Spinner\n style={{\n color: appearance?.colors?.textSecondary,\n fill: appearance?.colors?.textPrimary,\n }}\n />\n ) : (\n <span\n className=\"font-medium\"\n style={{ margin: \"0px 32px\", color: appearance?.colors?.textPrimary }}\n >\n Sign in with Google\n </span>\n )}\n </>\n <span className=\"sr-only\">Sign in with Google</span>\n </button>\n );\n}\n","import { useEffect, useMemo, useState } from \"react\";\nimport { useSignIn, QRCode, type UseSignInData } from \"@farcaster/auth-kit\";\nimport { FarcasterIcon } from \"@/icons/farcaster\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { Spinner } from \"@/components/common/Spinner\";\nimport { classNames } from \"@/utils/classNames\";\nimport { AuthFormBackButton } from \"../../AuthFormBackButton\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\nexport function FarcasterSignIn() {\n const { step, appearance, setStep } = useAuthForm();\n\n if (step === \"initial\") {\n return (\n <div>\n <button\n className={classNames(\n \"relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center\",\n \"transition-colors duration-200 ease-in-out\",\n \"hover:bg-cm-hover focus:bg-cm-hover outline-none\"\n )}\n style={{\n borderRadius: appearance?.borderRadius,\n backgroundColor: appearance?.colors?.buttonBackground,\n }}\n onClick={() => {\n setStep(\"qrCode\");\n }}\n >\n <FarcasterIcon className=\"h-[25px] w-[25px] absolute left-[18px]\" />\n <span\n className=\"font-medium\"\n style={{ margin: \"0px 32px\", color: appearance?.colors?.textPrimary }}\n >\n Sign in with Farcaster\n </span>\n <span className=\"sr-only\">Sign in with Farcaster</span>\n </button>\n </div>\n );\n }\n\n if (step === \"qrCode\") {\n return <FarcasterQRCode />;\n }\n\n return null;\n}\n\n// We want this to be a separate component so it can completely un-render when the user goes back to the initial screen\nfunction FarcasterQRCode() {\n const { crossmintAuth } = useCrossmintAuth();\n const { appearance, setStep, setDialogOpen } = useAuthForm();\n const [farcasterData, setFarcasterData] = useState<UseSignInData | null>(null);\n\n const farcasterProps = useMemo(\n () => ({\n onSuccess: (data: UseSignInData) => {\n // Step 3. set the farcaster data once the sign in is successful\n setFarcasterData(data);\n },\n }),\n []\n );\n\n const { signIn, url: qrCodeUrl, connect, signOut, isConnected } = useSignIn(farcasterProps);\n\n const handleFarcasterSignIn = async (data: UseSignInData) => {\n try {\n const oneTimeSecret = await crossmintAuth?.signInWithFarcaster(data);\n // Step 5. fetch the auth material, close the dialog, and unrender any farcaster client stuff\n await crossmintAuth?.handleRefreshAuthMaterial(oneTimeSecret as string);\n setDialogOpen(false);\n setStep(\"initial\");\n } catch (error) {\n console.error(\"Error during Farcaster sign-in:\", error);\n }\n };\n\n useEffect(() => {\n if (farcasterData != null) {\n // Step 4. call the handleFarcasterSignInfunction to handle the sign in\n handleFarcasterSignIn(farcasterData);\n }\n }, [farcasterData]);\n\n useEffect(() => {\n if (isConnected) {\n // Step 2. once connected, call the signIn function to start the sign in process\n signIn();\n }\n }, [isConnected]);\n\n useEffect(() => {\n // Step 1. call the connect function to initialize the connection\n connect();\n }, []);\n\n return (\n <div>\n <AuthFormBackButton\n onClick={() => {\n signOut();\n setStep(\"initial\");\n }}\n iconColor={appearance?.colors?.textPrimary}\n ringColor={appearance?.colors?.accent}\n />\n\n <div className=\"flex flex-col items-center gap-4\">\n <div className=\"text-center\">\n <h3\n className=\"text-lg font-semibold text-cm-text-primary mb-2\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n Sign in with Farcaster\n </h3>\n <p\n className=\"text-base font-normal text-cm-text-secondary\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n Scan with your phone's camera to continue.\n </p>\n </div>\n <div\n className=\"bg-white aspect-square rounded-lg p-4\"\n style={{\n backgroundColor: appearance?.colors?.inputBackground,\n borderRadius: appearance?.borderRadius,\n }}\n >\n {qrCodeUrl != null ? (\n <QRCode uri={qrCodeUrl} size={280} />\n ) : (\n <div className=\"min-h-[246px] flex items-center justify-center\">\n <Spinner\n style={{\n color: appearance?.colors?.textSecondary,\n fill: appearance?.colors?.textPrimary,\n }}\n />\n </div>\n )}\n </div>\n {qrCodeUrl ? (\n <>\n <p\n className=\"text-base text-center font-normal text-cm-text-secondary\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n Alternatively, click on this link to open Warpcast.\n </p>\n <a\n href={qrCodeUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n className=\"text-base font-normal text-cm-link\"\n style={{ color: appearance?.colors?.textLink }}\n >\n Open Warpcast\n </a>\n </>\n ) : null}\n </div>\n </div>\n );\n}\n","import { ChevronRightIcon } from \"@/icons/chevronRight\";\nimport { WalletIcon } from \"@/icons/wallet\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { classNames } from \"@/utils/classNames\";\n\nexport function Web3SignIn() {\n const { step, appearance, setStep } = useAuthForm();\n\n if (step !== \"initial\") {\n return null;\n }\n\n return (\n <button\n className={classNames(\n \"relative flex text-base p-4 bg-cm-muted-primary text-cm-text-primary items-center w-full rounded-xl justify-center\",\n \"transition-colors duration-200 ease-in-out\",\n \"hover:bg-cm-hover focus:bg-cm-hover outline-none\"\n )}\n style={{\n borderRadius: appearance?.borderRadius,\n borderColor: appearance?.colors?.border,\n backgroundColor: appearance?.colors?.buttonBackground,\n }}\n onClick={() => setStep(\"web3\")}\n >\n <WalletIcon\n className=\"h-[21px] w-[21px] absolute left-[20px]\"\n style={{ color: appearance?.colors?.textPrimary }}\n />\n <span className=\"font-medium\" style={{ margin: \"0px 32px\", color: appearance?.colors?.textPrimary }}>\n Continue with a wallet\n </span>\n <ChevronRightIcon\n className=\"h-[21px] w-[21px] absolute right-[20px]\"\n style={{ color: appearance?.colors?.textSecondary }}\n />\n <span className=\"sr-only\">Continue with a wallet</span>\n </button>\n );\n}\n","import { useState, useEffect } from \"react\";\nimport { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { Web3ConnectButton } from \"./Web3ConnectButton\";\nimport { useAccount, useChainId, useConnect, useSignMessage } from \"wagmi\";\nimport { useCrossmintAuth } from \"@/hooks/useCrossmintAuth\";\n\ninterface Web3AuthWrapperProps {\n providerType: \"metaMaskSDK\" | \"coinbaseWalletSDK\" | \"walletConnect\";\n flag?: \"isMetaMask\";\n icon: string;\n}\n\nexport function Web3AuthWrapper({ providerType, flag, icon }: Web3AuthWrapperProps) {\n const { crossmintAuth } = useCrossmintAuth();\n const { appearance } = useAuthForm();\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n const chainId = useChainId();\n const { address, status: accountStatus } = useAccount(); // hook is causing a hydration error when navigating back\n const { signMessageAsync, status: signMessageStatus } = useSignMessage();\n const { connect, connectors } = useConnect({\n mutation: {\n onError: () => setIsLoading(false),\n },\n });\n\n // fallback to walletConnect if the extension is not installed\n const isExtensionInstalled = window.ethereum?.[flag as keyof typeof window.ethereum] ?? false;\n if (!isExtensionInstalled) {\n providerType = \"walletConnect\";\n }\n\n const connector = connectors.find((c) => c.id === providerType);\n\n useEffect(() => {\n if (address != null) {\n handleSignIn();\n }\n }, [address]);\n\n const handleSignIn = async () => {\n if (address == null) {\n return;\n }\n setIsLoading(true);\n\n try {\n const res = await crossmintAuth?.signInWithSmartWallet(address);\n const signature = await signMessageAsync({ message: res.challenge });\n const authResponse = (await crossmintAuth?.authenticateSmartWallet(address, signature)) as {\n oneTimeSecret: string;\n };\n\n const oneTimeSecret = authResponse.oneTimeSecret;\n await crossmintAuth?.handleRefreshAuthMaterial(oneTimeSecret);\n } catch (error) {\n console.error(`Error connecting to ${providerType}:`, error);\n setError(`Error connecting to ${providerType}. Please try again or contact support.`);\n } finally {\n setIsLoading(false);\n }\n };\n\n const isLoadingOrPending =\n isLoading ||\n accountStatus === \"connecting\" ||\n accountStatus === \"reconnecting\" ||\n signMessageStatus === \"pending\";\n\n return (\n <Web3ConnectButton\n icon={icon}\n appearance={appearance}\n headingText={signMessageStatus === \"pending\" ? \"Sign to verify\" : \"Connect your wallet\"}\n buttonText={error != null && !isLoadingOrPending ? \"Retry\" : isLoadingOrPending ? \"Connecting\" : \"Connect\"}\n isLoading={isLoadingOrPending}\n onConnectClick={() => {\n if (address != null) {\n handleSignIn();\n } else if (connector) {\n connect({ connector, chainId });\n }\n }}\n />\n );\n}\n","import { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { AuthFormBackButton } from \"../../AuthFormBackButton\";\nimport { Web3ProviderButton } from \"./Web3ProviderButton\";\nimport { metamaskIcon, walletConnectIcon } from \"@/icons/base64Icons\";\nimport { Web3AuthWrapper } from \"./Web3AuthWrapper\";\nimport { useAccount, useDisconnect } from \"wagmi\";\n\nexport function Web3Connectors() {\n const { appearance, step, setStep } = useAuthForm();\n const { isConnected } = useAccount();\n const { disconnect } = useDisconnect();\n\n if (step === \"web3\") {\n return (\n <>\n <AuthFormBackButton\n onClick={() => setStep(\"initial\")}\n iconColor={appearance?.colors?.textPrimary}\n ringColor={appearance?.colors?.accent}\n />\n <div className=\"flex flex-col items-center gap-2\">\n <div className=\"text-center mb-6\">\n <h3\n className=\"text-lg font-semibold text-cm-text-primary\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n Connect wallet\n </h3>\n </div>\n <div className=\"flex flex-col gap-[10px] w-full\">\n <Web3ProviderButton\n title=\"Metamask\"\n appearance={appearance}\n img={metamaskIcon}\n onClick={() => {\n if (isConnected) {\n disconnect();\n }\n // wait for all disconnect state to be cleared before proceeding to the next step\n setTimeout(() => {\n setStep(\"web3/metamask\");\n }, 200);\n }}\n />\n <Web3ProviderButton\n title=\"WalletConnect\"\n appearance={appearance}\n img={walletConnectIcon}\n onClick={() => {\n if (isConnected) {\n disconnect();\n }\n setTimeout(() => {\n setStep(\"web3/walletconnect\");\n }, 200);\n }}\n />\n </div>\n </div>\n </>\n );\n }\n\n if (step === \"web3/metamask\") {\n return (\n <>\n <AuthFormBackButton\n onClick={() => setStep(\"web3\")}\n iconColor={appearance?.colors?.textPrimary}\n ringColor={appearance?.colors?.accent}\n />\n <Web3AuthWrapper providerType=\"metaMaskSDK\" flag=\"isMetaMask\" icon={metamaskIcon} />\n </>\n );\n }\n\n if (step === \"web3/walletconnect\") {\n return (\n <>\n <AuthFormBackButton\n onClick={() => setStep(\"web3\")}\n iconColor={appearance?.colors?.textPrimary}\n ringColor={appearance?.colors?.accent}\n />\n <Web3AuthWrapper providerType=\"walletConnect\" icon={walletConnectIcon} />\n </>\n );\n }\n\n return null;\n}\n","import { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { Web3SignIn } from \"./Web3SignIn\";\nimport { Web3Connectors } from \"./Web3Connectors\";\n\nexport function Web3AuthFlow() {\n const { step } = useAuthForm();\n\n if (step.startsWith(\"web3\")) {\n return <Web3Connectors />;\n }\n\n if (step === \"initial\") {\n return <Web3SignIn />;\n }\n\n return null;\n}\n","import { useAuthForm } from \"@/providers/auth/AuthFormProvider\";\nimport { EmailAuthFlow } from \"./methods/email/EmailAuthFlow\";\nimport { Divider } from \"../common/Divider\";\nimport { GoogleSignIn } from \"./methods/google/GoogleSignIn\";\nimport { FarcasterSignIn } from \"./methods/farcaster/FarcasterSignIn\";\nimport { PoweredByCrossmint } from \"../common/PoweredByCrossmint\";\nimport { FarcasterProvider } from \"../../providers/auth/FarcasterProvider\";\nimport { classNames } from \"@/utils/classNames\";\nimport { Web3AuthFlow } from \"./methods/web3/Web3AuthFlow\";\n\nexport function AuthForm({ className }: { className?: string }) {\n const { step, appearance, loginMethods, baseUrl } = useAuthForm();\n return (\n <div className={classNames(\"flex flex-col gap-[10px] antialiased animate-none\", className)}>\n {step === \"initial\" ? (\n <div>\n <h1\n className=\"text-2xl font-bold text-cm-text-primary\"\n style={{ color: appearance?.colors?.textPrimary }}\n >\n Sign In\n </h1>\n <p\n className=\"text-base font-normal mb-3 text-cm-text-secondary\"\n style={{ color: appearance?.colors?.textSecondary }}\n >\n Sign in using one of the options below\n </p>\n </div>\n ) : null}\n\n {loginMethods.includes(\"email\") ? (\n <>\n <EmailAuthFlow />\n {loginMethods.length > 1 ? <Divider appearance={appearance} text=\"OR\" /> : null}\n </>\n ) : null}\n\n {loginMethods.includes(\"google\") ? <GoogleSignIn /> : null}\n {loginMethods.includes(\"farcaster\") ? (\n <FarcasterProvider baseUrl={baseUrl}>\n <FarcasterSignIn />\n </FarcasterProvider>\n ) : null}\n {loginMethods.includes(\"web3\") ? <Web3AuthFlow /> : null}\n\n {step === \"initial\" || step === \"otp\" ? (\n <PoweredByCrossmint\n className=\"mt-4 justify-center\"\n color={appearance?.colors?.textSecondary ?? \"#A4AFB2\"}\n />\n ) : null}\n </div>\n );\n}\n"]}
@@ -0,0 +1,33 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
2
+
3
+
4
+
5
+ var _chunk4DAZAO6Ycjs = require('./chunk-4DAZAO6Y.cjs');
6
+
7
+ // src/components/embed/v3/crypto/utils/handleSendTransaction.ts
8
+ function handleSendTransaction(primaryWallet, chain, serializedTransaction, iframeClient) {
9
+ return _chunk4DAZAO6Ycjs.__async.call(void 0, this, null, function* () {
10
+ const commonParams = {
11
+ chain,
12
+ serializedTransaction,
13
+ iframeClient
14
+ };
15
+ const { isSolanaWallet } = yield Promise.resolve().then(() => _interopRequireWildcard(require("@dynamic-labs/solana")));
16
+ if (isSolanaWallet(primaryWallet)) {
17
+ const { handleSolanaTransaction } = yield Promise.resolve().then(() => _interopRequireWildcard(require("./components/embed/v3/crypto/utils/handleSolanaTransaction.cjs")));
18
+ return yield handleSolanaTransaction(_chunk4DAZAO6Ycjs.__spreadProps.call(void 0, _chunk4DAZAO6Ycjs.__spreadValues.call(void 0, {}, commonParams), {
19
+ primaryWallet
20
+ }));
21
+ }
22
+ const { isEthereumWallet } = yield Promise.resolve().then(() => _interopRequireWildcard(require("@dynamic-labs/ethereum")));
23
+ if (isEthereumWallet(primaryWallet)) {
24
+ const { handleEvmTransaction } = yield Promise.resolve().then(() => _interopRequireWildcard(require("./components/embed/v3/crypto/utils/handleEvmTransaction.cjs")));
25
+ return yield handleEvmTransaction(_chunk4DAZAO6Ycjs.__spreadProps.call(void 0, _chunk4DAZAO6Ycjs.__spreadValues.call(void 0, {}, commonParams), { primaryWallet }));
26
+ }
27
+ });
28
+ }
29
+
30
+
31
+
32
+ exports.handleSendTransaction = handleSendTransaction;
33
+ //# sourceMappingURL=chunk-GGE3H4XP.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/embed/v3/crypto/utils/handleSendTransaction.ts"],"names":[],"mappings":";;;;;;;AAMA,SAAsB,sBAClB,eACA,OACA,uBACA,cACF;AAAA;AACE,UAAM,eAAe;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAGA,UAAM,EAAE,eAAe,IAAI,MAAM,OAAO,sBAAsB;AAC9D,QAAI,eAAe,aAAa,GAAG;AAE/B,YAAM,EAAE,wBAAwB,IAAI,MAAM,OAAO,gEAA2B;AAC5E,aAAO,MAAM,wBAAwB,iCAC9B,eAD8B;AAAA,QAEjC;AAAA,MACJ,EAAC;AAAA,IACL;AAGA,UAAM,EAAE,iBAAiB,IAAI,MAAM,OAAO,wBAAwB;AAClE,QAAI,iBAAiB,aAAa,GAAG;AAEjC,YAAM,EAAE,qBAAqB,IAAI,MAAM,OAAO,6DAAwB;AACtE,aAAO,MAAM,qBAAqB,iCAAK,eAAL,EAAmB,cAAc,EAAC;AAAA,IACxE;AAAA,EACJ;AAAA","sourcesContent":["import type { Wallet } from \"@dynamic-labs/sdk-react-core\";\n\nimport type { BlockchainIncludingTestnet } from \"@crossmint/common-sdk-base\";\n\nimport type { EmbeddedCheckoutV3IFrameEmitter } from \"@crossmint/client-sdk-base\";\n\nexport async function handleSendTransaction(\n primaryWallet: Wallet,\n chain: BlockchainIncludingTestnet,\n serializedTransaction: string,\n iframeClient: EmbeddedCheckoutV3IFrameEmitter\n) {\n const commonParams = {\n chain,\n serializedTransaction,\n iframeClient,\n };\n\n // @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { isSolanaWallet } = await import(\"@dynamic-labs/solana\");\n if (isSolanaWallet(primaryWallet)) {\n // @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { handleSolanaTransaction } = await import(\"./handleSolanaTransaction\");\n return await handleSolanaTransaction({\n ...commonParams,\n primaryWallet,\n });\n }\n\n // @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { isEthereumWallet } = await import(\"@dynamic-labs/ethereum\");\n if (isEthereumWallet(primaryWallet)) {\n // @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { handleEvmTransaction } = await import(\"./handleEvmTransaction\");\n return await handleEvmTransaction({ ...commonParams, primaryWallet });\n }\n}\n"]}
@@ -0,0 +1,41 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunk5RX5WFEWcjs = require('./chunk-5RX5WFEW.cjs');
4
+
5
+
6
+ var _chunkHCW4RO2Ocjs = require('./chunk-HCW4RO2O.cjs');
7
+
8
+
9
+
10
+
11
+ var _chunk4DAZAO6Ycjs = require('./chunk-4DAZAO6Y.cjs');
12
+
13
+ // src/components/auth/AuthFormBackButton.tsx
14
+ var _jsxruntime = require('react/jsx-runtime');
15
+ var AuthFormBackButton = (_a) => {
16
+ var _b = _a, {
17
+ className,
18
+ iconColor,
19
+ ringColor
20
+ } = _b, props = _chunk4DAZAO6Ycjs.__objRest.call(void 0, _b, [
21
+ "className",
22
+ "iconColor",
23
+ "ringColor"
24
+ ]);
25
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26
+ "button",
27
+ _chunk4DAZAO6Ycjs.__spreadProps.call(void 0, _chunk4DAZAO6Ycjs.__spreadValues.call(void 0, {
28
+ className: _chunk5RX5WFEWcjs.classNames.call(void 0,
29
+ "absolute 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",
30
+ className
31
+ )
32
+ }, props), {
33
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHCW4RO2Ocjs.LeftArrowIcon, { className: "w-6 h-6", style: { color: iconColor } })
34
+ })
35
+ );
36
+ };
37
+
38
+
39
+
40
+ exports.AuthFormBackButton = AuthFormBackButton;
41
+ //# sourceMappingURL=chunk-GY6G3ZC2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/auth/AuthFormBackButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAkBY;AAdL,IAAM,qBAAqB,CAAC,OAKyD;AALzD,eAC/B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,EAPJ,IAImC,IAI5B,kBAJ4B,IAI5B;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAGA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAW;AAAA,QACP;AAAA,QACA;AAAA,MACJ;AAAA,OACI,QALP;AAAA,MAOG,8BAAC,iBAAc,WAAU,WAAU,OAAO,EAAE,OAAO,UAAU,GAAG;AAAA;AAAA,EACpE;AAER","sourcesContent":["import type React from \"react\";\nimport { classNames } from \"../../utils/classNames\";\nimport { LeftArrowIcon } from \"@/icons/leftArrow\";\n\nexport const AuthFormBackButton = ({\n className,\n iconColor,\n ringColor,\n ...props\n}: React.HTMLAttributes<HTMLButtonElement> & { iconColor?: string; ringColor?: string }) => {\n return (\n <button\n className={classNames(\n \"absolute rounded-full opacity-70 ring-offset-background text-cm-text-primary transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-cm-accent focus:ring-offset-2 disabled:pointer-events-none\",\n className\n )}\n {...props}\n >\n <LeftArrowIcon className=\"w-6 h-6\" style={{ color: iconColor }} />\n </button>\n );\n};\n"]}
@@ -0,0 +1,34 @@
1
+ // src/icons/fingerprint.tsx
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ function FingerprintIcon() {
4
+ return /* @__PURE__ */ jsxs(
5
+ "svg",
6
+ {
7
+ xmlns: "http://www.w3.org/2000/svg",
8
+ width: "24",
9
+ height: "24",
10
+ viewBox: "0 0 24 24",
11
+ fill: "none",
12
+ stroke: "currentColor",
13
+ strokeWidth: "2",
14
+ strokeLinecap: "round",
15
+ strokeLinejoin: "round",
16
+ children: [
17
+ /* @__PURE__ */ jsx("path", { d: "M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4" }),
18
+ /* @__PURE__ */ jsx("path", { d: "M14 13.12c0 2.38 0 6.38-1 8.88" }),
19
+ /* @__PURE__ */ jsx("path", { d: "M17.29 21.02c.12-.6.43-2.3.5-3.02" }),
20
+ /* @__PURE__ */ jsx("path", { d: "M2 12a10 10 0 0 1 18-6" }),
21
+ /* @__PURE__ */ jsx("path", { d: "M2 16h.01" }),
22
+ /* @__PURE__ */ jsx("path", { d: "M21.8 16c.2-2 .131-5.354 0-6" }),
23
+ /* @__PURE__ */ jsx("path", { d: "M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2" }),
24
+ /* @__PURE__ */ jsx("path", { d: "M8.65 22c.21-.66.45-1.32.57-2" }),
25
+ /* @__PURE__ */ jsx("path", { d: "M9 6.8a6 6 0 0 1 9 5.2v2" })
26
+ ]
27
+ }
28
+ );
29
+ }
30
+
31
+ export {
32
+ FingerprintIcon
33
+ };
34
+ //# sourceMappingURL=chunk-H4F7UVPT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/icons/fingerprint.tsx"],"sourcesContent":["export default function FingerprintIcon() {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4\" />\n <path d=\"M14 13.12c0 2.38 0 6.38-1 8.88\" />\n <path d=\"M17.29 21.02c.12-.6.43-2.3.5-3.02\" />\n <path d=\"M2 12a10 10 0 0 1 18-6\" />\n <path d=\"M2 16h.01\" />\n <path d=\"M21.8 16c.2-2 .131-5.354 0-6\" />\n <path d=\"M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2\" />\n <path d=\"M8.65 22c.21-.66.45-1.32.57-2\" />\n <path d=\"M9 6.8a6 6 0 0 1 9 5.2v2\" />\n </svg>\n );\n}\n"],"mappings":";AAEQ,SAWI,KAXJ;AAFO,SAAR,kBAAmC;AACtC,SACI;AAAA,IAAC;AAAA;AAAA,MACG,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,MAEf;AAAA,4BAAC,UAAK,GAAE,6CAA4C;AAAA,QACpD,oBAAC,UAAK,GAAE,kCAAiC;AAAA,QACzC,oBAAC,UAAK,GAAE,qCAAoC;AAAA,QAC5C,oBAAC,UAAK,GAAE,0BAAyB;AAAA,QACjC,oBAAC,UAAK,GAAE,aAAY;AAAA,QACpB,oBAAC,UAAK,GAAE,gCAA+B;AAAA,QACvC,oBAAC,UAAK,GAAE,4CAA2C;AAAA,QACnD,oBAAC,UAAK,GAAE,iCAAgC;AAAA,QACxC,oBAAC,UAAK,GAAE,4BAA2B;AAAA;AAAA;AAAA,EACvC;AAER;","names":[]}
@@ -0,0 +1,19 @@
1
+ import {
2
+ twind_config_default
3
+ } from "./chunk-AUEQQ4D3.js";
4
+
5
+ // src/providers/TwindProvider.tsx
6
+ import { install } from "@twind/core";
7
+ import { useEffect } from "react";
8
+ import { Fragment, jsx } from "react/jsx-runtime";
9
+ function TwindProvider({ children }) {
10
+ useEffect(() => {
11
+ install(twind_config_default);
12
+ }, []);
13
+ return /* @__PURE__ */ jsx(Fragment, { children });
14
+ }
15
+
16
+ export {
17
+ TwindProvider
18
+ };
19
+ //# sourceMappingURL=chunk-HATQVB6H.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/providers/TwindProvider.tsx"],"sourcesContent":["import type React from \"react\";\nimport twindConfig from \"@/twind.config\";\nimport { install } from \"@twind/core\";\nimport { useEffect } from \"react\";\n\nexport function TwindProvider({ children }: { children: React.ReactNode }) {\n useEffect(() => {\n // Initialize twind with custom configuration\n // This sets up the CSS-in-JS styling solution for the entire application\n install(twindConfig);\n }, []);\n\n return <>{children}</>;\n}\n"],"mappings":";;;;;AAEA,SAAS,eAAe;AACxB,SAAS,iBAAiB;AASf;AAPJ,SAAS,cAAc,EAAE,SAAS,GAAkC;AACvE,YAAU,MAAM;AAGZ,YAAQ,oBAAW;AAAA,EACvB,GAAG,CAAC,CAAC;AAEL,SAAO,gCAAG,UAAS;AACvB;","names":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/icons/leftArrow.tsx
2
+ var _jsxruntime = require('react/jsx-runtime');
3
+ function LeftArrowIcon({ className, style }) {
4
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
5
+ "svg",
6
+ {
7
+ xmlns: "http://www.w3.org/2000/svg",
8
+ width: "24",
9
+ height: "24",
10
+ viewBox: "0 0 24 24",
11
+ fill: "none",
12
+ stroke: "currentColor",
13
+ strokeWidth: "2",
14
+ strokeLinecap: "round",
15
+ strokeLinejoin: "round",
16
+ className,
17
+ style,
18
+ children: [
19
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "m12 19-7-7 7-7" }),
20
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M19 12H5" })
21
+ ]
22
+ }
23
+ );
24
+ }
25
+
26
+
27
+
28
+ exports.LeftArrowIcon = LeftArrowIcon;
29
+ //# sourceMappingURL=chunk-HCW4RO2O.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/icons/leftArrow.tsx"],"names":[],"mappings":";AAEQ,SAaI,KAbJ;AAFD,SAAS,cAAc,EAAE,WAAW,MAAM,GAAwD;AACrG,SACI;AAAA,IAAC;AAAA;AAAA,MACG,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,MACf;AAAA,MACA;AAAA,MAEA;AAAA,4BAAC,UAAK,GAAE,kBAAiB;AAAA,QACzB,oBAAC,UAAK,GAAE,YAAW;AAAA;AAAA;AAAA,EACvB;AAER","sourcesContent":["export function LeftArrowIcon({ className, style }: { className?: string; style?: React.CSSProperties }) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={className}\n style={style}\n >\n <path d=\"m12 19-7-7 7-7\" />\n <path d=\"M19 12H5\" />\n </svg>\n );\n}\n"]}
@@ -0,0 +1,10 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// package.json
2
+ var version = "1.10.1";
3
+
4
+ // src/consts/version.ts
5
+ var LIB_VERSION = version;
6
+
7
+
8
+
9
+ exports.LIB_VERSION = LIB_VERSION;
10
+ //# sourceMappingURL=chunk-HENBZUED.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../package.json","../src/consts/version.ts"],"names":[],"mappings":";AAEI,cAAW;;;ACAR,IAAM,cAAc","sourcesContent":["{\n \"name\": \"@crossmint/client-sdk-react-ui\",\n \"version\": \"1.10.1\",\n \"repository\": \"https://github.com/Crossmint/crossmint-sdk\",\n \"license\": \"Apache-2.0\",\n \"author\": \"Paella Labs Inc\",\n \"sideEffects\": false,\n \"type\": \"module\",\n \"exports\": {\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"files\": [\"dist\", \"src\", \"LICENSE\"],\n \"scripts\": {\n \"build\": \"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup\",\n \"dev\": \"cross-env NODE_OPTIONS='--max-old-space-size=8192' tsup --watch\",\n \"test:vitest\": \"vitest run\"\n },\n \"dependencies\": {\n \"@crossmint/client-sdk-auth\": \"workspace:*\",\n \"@crossmint/client-sdk-base\": \"workspace:*\",\n \"@crossmint/client-sdk-smart-wallet\": \"workspace:*\",\n \"@crossmint/client-sdk-window\": \"workspace:*\",\n \"@crossmint/common-sdk-auth\": \"workspace:*\",\n \"@crossmint/common-sdk-base\": \"workspace:*\",\n \"@dynamic-labs/ethereum\": \"3.4.4\",\n \"@dynamic-labs/ethereum-core\": \"3.4.4\",\n \"@dynamic-labs/sdk-react-core\": \"3.4.4\",\n \"@dynamic-labs/solana\": \"3.4.4\",\n \"@dynamic-labs/solana-core\": \"3.4.4\",\n \"@ethersproject/transactions\": \"5.7.0\",\n \"@farcaster/auth-kit\": \"0.6.0\",\n \"@headlessui/react\": \"2.1.5\",\n \"@radix-ui/react-dialog\": \"1.1.2\",\n \"@radix-ui/react-visually-hidden\": \"1.1.0\",\n \"@solana/web3.js\": \"1.95.1\",\n \"@tanstack/react-query\": \"5.51.18\",\n \"@twind/core\": \"1.1.3\",\n \"@twind/preset-tailwind\": \"1.1.4\",\n \"@wagmi/connectors\": \"5.3.3\",\n \"bs58\": \"5.0.0\",\n \"clsx\": \"2.1.1\",\n \"color\": \"4.2.3\",\n \"input-otp\": \"1.2.4\",\n \"lodash.isequal\": \"4.5.0\",\n \"react-jss\": \"10.10.0\",\n \"tailwind-merge\": \"2.4.0\",\n \"tailwindcss\": \"3.4.10\",\n \"viem\": \"2.17.5\",\n \"wagmi\": \"2.12.25\",\n \"zod\": \"3.22.4\"\n },\n \"devDependencies\": {\n \"@testing-library/react\": \"^16.0.1\",\n \"@types/color\": \"4.2.0\",\n \"@types/lodash.isequal\": \"4.5.6\",\n \"@types/react\": \"^18.3.0\",\n \"@types/react-dom\": \"^18.3.0\",\n \"react\": \"^18.3.0\",\n \"react-dom\": \"^18.3.0\"\n },\n \"peerDependencies\": {\n \"react\": \">=17.0.2\",\n \"react-dom\": \">=17.0.2\"\n }\n}\n","import { version } from \"../../package.json\";\n\nexport const LIB_VERSION = version;\n"]}
@@ -0,0 +1,31 @@
1
+ import {
2
+ LIB_VERSION
3
+ } from "./chunk-5IX763AW.js";
4
+
5
+ // src/components/CrossmintNFTDetail.tsx
6
+ import { assertValidValidateNFTDetailProps, getNFTDetailSrc } from "@crossmint/client-sdk-base";
7
+ import { jsx } from "react/jsx-runtime";
8
+ function CrossmintNFTDetail(props) {
9
+ assertValidValidateNFTDetailProps(props);
10
+ const src = getNFTDetailSrc(props, LIB_VERSION);
11
+ return /* @__PURE__ */ jsx(
12
+ "iframe",
13
+ {
14
+ src,
15
+ width: "100%",
16
+ height: "100%",
17
+ style: {
18
+ flexGrow: "1",
19
+ border: "none",
20
+ margin: "0",
21
+ padding: "0"
22
+ },
23
+ role: "nft-details"
24
+ }
25
+ );
26
+ }
27
+
28
+ export {
29
+ CrossmintNFTDetail
30
+ };
31
+ //# sourceMappingURL=chunk-HG57BLPT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/CrossmintNFTDetail.tsx"],"sourcesContent":["import { assertValidValidateNFTDetailProps, getNFTDetailSrc } from \"@crossmint/client-sdk-base\";\nimport type { NFTDetailProps } from \"@crossmint/common-sdk-base\";\n\nimport { LIB_VERSION } from \"../consts/version\";\n\nexport function CrossmintNFTDetail(props: NFTDetailProps) {\n assertValidValidateNFTDetailProps(props);\n\n const src = getNFTDetailSrc(props, LIB_VERSION);\n\n return (\n <iframe\n src={src}\n width=\"100%\"\n height=\"100%\"\n style={{\n flexGrow: \"1\",\n border: \"none\",\n margin: \"0\",\n padding: \"0\",\n }}\n role=\"nft-details\"\n />\n );\n}\n"],"mappings":";;;;;AAAA,SAAS,mCAAmC,uBAAuB;AAW3D;AAND,SAAS,mBAAmB,OAAuB;AACtD,oCAAkC,KAAK;AAEvC,QAAM,MAAM,gBAAgB,OAAO,WAAW;AAE9C,SACI;AAAA,IAAC;AAAA;AAAA,MACG;AAAA,MACA,OAAM;AAAA,MACN,QAAO;AAAA,MACP,OAAO;AAAA,QACH,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,MACb;AAAA,MACA,MAAK;AAAA;AAAA,EACT;AAER;","names":[]}
@@ -0,0 +1,44 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/icons/farcaster.tsx
2
+ var _jsxruntime = require('react/jsx-runtime');
3
+ var FarcasterIcon = ({ className }) => {
4
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
5
+ "svg",
6
+ {
7
+ width: "24",
8
+ height: "24",
9
+ viewBox: "0 0 1000 1000",
10
+ fill: "none",
11
+ xmlns: "http://www.w3.org/2000/svg",
12
+ className,
13
+ children: [
14
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "rect", { width: "1000", height: "1000", fill: "#855DCD" }),
15
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
16
+ "path",
17
+ {
18
+ d: "M257.778 155.556H742.222V844.444H671.111V528.889H670.414C662.554 441.677 589.258 373.333 500 373.333C410.742 373.333 337.446 441.677 329.586 528.889H328.889V844.444H257.778V155.556Z",
19
+ fill: "white"
20
+ }
21
+ ),
22
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23
+ "path",
24
+ {
25
+ d: "M128.889 253.333L157.778 351.111H182.222V746.667C169.949 746.667 160 756.616 160 768.889V795.556H155.556C143.283 795.556 133.333 805.505 133.333 817.778V844.444H382.222V817.778C382.222 805.505 372.273 795.556 360 795.556H355.556V768.889C355.556 756.616 345.606 746.667 333.333 746.667H306.667V253.333H128.889Z",
26
+ fill: "white"
27
+ }
28
+ ),
29
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30
+ "path",
31
+ {
32
+ d: "M675.555 746.667C663.282 746.667 653.333 756.616 653.333 768.889V795.556H648.889C636.616 795.556 626.667 805.505 626.667 817.778V844.444H875.555V817.778C875.555 805.505 865.606 795.556 853.333 795.556H848.889V768.889C848.889 756.616 838.94 746.667 826.667 746.667V351.111H851.111L880 253.333H702.222V746.667H675.555Z",
33
+ fill: "white"
34
+ }
35
+ )
36
+ ]
37
+ }
38
+ );
39
+ };
40
+
41
+
42
+
43
+ exports.FarcasterIcon = FarcasterIcon;
44
+ //# sourceMappingURL=chunk-HPOZ6I54.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/icons/farcaster.tsx"],"names":[],"mappings":";AAEQ,SAQI,KARJ;AAFD,IAAM,gBAAgB,CAAC,EAAE,UAAU,MAA8B;AACpE,SACI;AAAA,IAAC;AAAA;AAAA,MACG,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,OAAM;AAAA,MACN;AAAA,MAEA;AAAA,4BAAC,UAAK,OAAM,QAAO,QAAO,QAAO,MAAK,WAAU;AAAA,QAChD;AAAA,UAAC;AAAA;AAAA,YACG,GAAE;AAAA,YACF,MAAK;AAAA;AAAA,QACT;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACG,GAAE;AAAA,YACF,MAAK;AAAA;AAAA,QACT;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACG,GAAE;AAAA,YACF,MAAK;AAAA;AAAA,QACT;AAAA;AAAA;AAAA,EACJ;AAER","sourcesContent":["export const FarcasterIcon = ({ className }: { className?: string }) => {\n return (\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 1000 1000\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <rect width=\"1000\" height=\"1000\" fill=\"#855DCD\" />\n <path\n d=\"M257.778 155.556H742.222V844.444H671.111V528.889H670.414C662.554 441.677 589.258 373.333 500 373.333C410.742 373.333 337.446 441.677 329.586 528.889H328.889V844.444H257.778V155.556Z\"\n fill=\"white\"\n />\n <path\n d=\"M128.889 253.333L157.778 351.111H182.222V746.667C169.949 746.667 160 756.616 160 768.889V795.556H155.556C143.283 795.556 133.333 805.505 133.333 817.778V844.444H382.222V817.778C382.222 805.505 372.273 795.556 360 795.556H355.556V768.889C355.556 756.616 345.606 746.667 333.333 746.667H306.667V253.333H128.889Z\"\n fill=\"white\"\n />\n <path\n d=\"M675.555 746.667C663.282 746.667 653.333 756.616 653.333 768.889V795.556H648.889C636.616 795.556 626.667 805.505 626.667 817.778V844.444H875.555V817.778C875.555 805.505 865.606 795.556 853.333 795.556H848.889V768.889C848.889 756.616 838.94 746.667 826.667 746.667V351.111H851.111L880 253.333H702.222V746.667H675.555Z\"\n fill=\"white\"\n />\n </svg>\n );\n};\n"]}
@@ -0,0 +1,33 @@
1
+ import {
2
+ __async,
3
+ __spreadProps,
4
+ __spreadValues
5
+ } from "./chunk-CRTRMMJ7.js";
6
+
7
+ // src/components/embed/v3/crypto/utils/handleSendTransaction.ts
8
+ function handleSendTransaction(primaryWallet, chain, serializedTransaction, iframeClient) {
9
+ return __async(this, null, function* () {
10
+ const commonParams = {
11
+ chain,
12
+ serializedTransaction,
13
+ iframeClient
14
+ };
15
+ const { isSolanaWallet } = yield import("@dynamic-labs/solana");
16
+ if (isSolanaWallet(primaryWallet)) {
17
+ const { handleSolanaTransaction } = yield import("./components/embed/v3/crypto/utils/handleSolanaTransaction.js");
18
+ return yield handleSolanaTransaction(__spreadProps(__spreadValues({}, commonParams), {
19
+ primaryWallet
20
+ }));
21
+ }
22
+ const { isEthereumWallet } = yield import("@dynamic-labs/ethereum");
23
+ if (isEthereumWallet(primaryWallet)) {
24
+ const { handleEvmTransaction } = yield import("./components/embed/v3/crypto/utils/handleEvmTransaction.js");
25
+ return yield handleEvmTransaction(__spreadProps(__spreadValues({}, commonParams), { primaryWallet }));
26
+ }
27
+ });
28
+ }
29
+
30
+ export {
31
+ handleSendTransaction
32
+ };
33
+ //# sourceMappingURL=chunk-HYGCZCR2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/embed/v3/crypto/utils/handleSendTransaction.ts"],"sourcesContent":["import type { Wallet } from \"@dynamic-labs/sdk-react-core\";\n\nimport type { BlockchainIncludingTestnet } from \"@crossmint/common-sdk-base\";\n\nimport type { EmbeddedCheckoutV3IFrameEmitter } from \"@crossmint/client-sdk-base\";\n\nexport async function handleSendTransaction(\n primaryWallet: Wallet,\n chain: BlockchainIncludingTestnet,\n serializedTransaction: string,\n iframeClient: EmbeddedCheckoutV3IFrameEmitter\n) {\n const commonParams = {\n chain,\n serializedTransaction,\n iframeClient,\n };\n\n // @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { isSolanaWallet } = await import(\"@dynamic-labs/solana\");\n if (isSolanaWallet(primaryWallet)) {\n // @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { handleSolanaTransaction } = await import(\"./handleSolanaTransaction\");\n return await handleSolanaTransaction({\n ...commonParams,\n primaryWallet,\n });\n }\n\n // @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { isEthereumWallet } = await import(\"@dynamic-labs/ethereum\");\n if (isEthereumWallet(primaryWallet)) {\n // @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n const { handleEvmTransaction } = await import(\"./handleEvmTransaction\");\n return await handleEvmTransaction({ ...commonParams, primaryWallet });\n }\n}\n"],"mappings":";;;;;;;AAMA,SAAsB,sBAClB,eACA,OACA,uBACA,cACF;AAAA;AACE,UAAM,eAAe;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,IACJ;AAGA,UAAM,EAAE,eAAe,IAAI,MAAM,OAAO,sBAAsB;AAC9D,QAAI,eAAe,aAAa,GAAG;AAE/B,YAAM,EAAE,wBAAwB,IAAI,MAAM,OAAO,+DAA2B;AAC5E,aAAO,MAAM,wBAAwB,iCAC9B,eAD8B;AAAA,QAEjC;AAAA,MACJ,EAAC;AAAA,IACL;AAGA,UAAM,EAAE,iBAAiB,IAAI,MAAM,OAAO,wBAAwB;AAClE,QAAI,iBAAiB,aAAa,GAAG;AAEjC,YAAM,EAAE,qBAAqB,IAAI,MAAM,OAAO,4DAAwB;AACtE,aAAO,MAAM,qBAAqB,iCAAK,eAAL,EAAmB,cAAc,EAAC;AAAA,IACxE;AAAA,EACJ;AAAA;","names":[]}