@crossmint/client-sdk-react-ui 1.9.2 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (735) hide show
  1. package/dist/chunk-2LTCJUPK.cjs +31 -0
  2. package/dist/chunk-2LTCJUPK.cjs.map +1 -0
  3. package/dist/chunk-2QB7GW4K.cjs +64 -0
  4. package/dist/chunk-2QB7GW4K.cjs.map +1 -0
  5. package/dist/chunk-2T2VCED7.js +17 -0
  6. package/dist/chunk-2T2VCED7.js.map +1 -0
  7. package/dist/chunk-33WZFL2D.js +80 -0
  8. package/dist/chunk-33WZFL2D.js.map +1 -0
  9. package/dist/chunk-35RV5AOT.cjs +70 -0
  10. package/dist/chunk-35RV5AOT.cjs.map +1 -0
  11. package/dist/chunk-3J6CUUWT.js +50 -0
  12. package/dist/chunk-3J6CUUWT.js.map +1 -0
  13. package/dist/chunk-3KR4GYLF.js +26 -0
  14. package/dist/chunk-3KR4GYLF.js.map +1 -0
  15. package/dist/chunk-3RXUFZTR.cjs +14 -0
  16. package/dist/chunk-3RXUFZTR.cjs.map +1 -0
  17. package/dist/chunk-43P7QWBK.cjs +17 -0
  18. package/dist/chunk-43P7QWBK.cjs.map +1 -0
  19. package/dist/chunk-46UDUOKJ.cjs +10 -0
  20. package/dist/chunk-46UDUOKJ.cjs.map +1 -0
  21. package/dist/chunk-4DAZAO6Y.cjs +59 -0
  22. package/dist/chunk-4DAZAO6Y.cjs.map +1 -0
  23. package/dist/chunk-5JAEV6YP.js +81 -0
  24. package/dist/chunk-5JAEV6YP.js.map +1 -0
  25. package/dist/chunk-5KK3YQWD.cjs +1 -0
  26. package/dist/chunk-5KK3YQWD.cjs.map +1 -0
  27. package/dist/chunk-5RX5WFEW.cjs +11 -0
  28. package/dist/chunk-5RX5WFEW.cjs.map +1 -0
  29. package/dist/chunk-5S4VO6RB.cjs +55 -0
  30. package/dist/chunk-5S4VO6RB.cjs.map +1 -0
  31. package/dist/chunk-5VZNJ4VT.js +36 -0
  32. package/dist/chunk-5VZNJ4VT.js.map +1 -0
  33. package/dist/chunk-657ZCQSH.cjs +31 -0
  34. package/dist/chunk-657ZCQSH.cjs.map +1 -0
  35. package/dist/chunk-6DNBJVR5.js +64 -0
  36. package/dist/chunk-6DNBJVR5.js.map +1 -0
  37. package/dist/chunk-6LO4NSRH.cjs +21 -0
  38. package/dist/chunk-6LO4NSRH.cjs.map +1 -0
  39. package/dist/chunk-7KIY6DLW.js +28 -0
  40. package/dist/chunk-7KIY6DLW.js.map +1 -0
  41. package/dist/chunk-7SBZ6OIH.js +1 -0
  42. package/dist/chunk-7SBZ6OIH.js.map +1 -0
  43. package/dist/chunk-A2JCJ2OV.cjs +119 -0
  44. package/dist/chunk-A2JCJ2OV.cjs.map +1 -0
  45. package/dist/chunk-A7J4DAE7.js +16 -0
  46. package/dist/chunk-A7J4DAE7.js.map +1 -0
  47. package/dist/chunk-ATHR4S2P.js +48 -0
  48. package/dist/chunk-ATHR4S2P.js.map +1 -0
  49. package/dist/chunk-AUEQQ4D3.js +119 -0
  50. package/dist/chunk-AUEQQ4D3.js.map +1 -0
  51. package/dist/chunk-AXZLLRBU.cjs +26 -0
  52. package/dist/chunk-AXZLLRBU.cjs.map +1 -0
  53. package/dist/chunk-B7LYPQ4K.cjs +38 -0
  54. package/dist/chunk-B7LYPQ4K.cjs.map +1 -0
  55. package/dist/chunk-BE2ZLB3L.cjs +19 -0
  56. package/dist/chunk-BE2ZLB3L.cjs.map +1 -0
  57. package/dist/chunk-BJIMCGIQ.js +22 -0
  58. package/dist/chunk-BJIMCGIQ.js.map +1 -0
  59. package/dist/chunk-BKVDVDKX.cjs +1 -0
  60. package/dist/chunk-BKVDVDKX.cjs.map +1 -0
  61. package/dist/chunk-BYRVAFBZ.cjs +52 -0
  62. package/dist/chunk-BYRVAFBZ.cjs.map +1 -0
  63. package/dist/chunk-C2VARNXL.js +70 -0
  64. package/dist/chunk-C2VARNXL.js.map +1 -0
  65. package/dist/chunk-CIZ2K2TA.cjs +81 -0
  66. package/dist/chunk-CIZ2K2TA.cjs.map +1 -0
  67. package/dist/chunk-CPYPI45H.js +98 -0
  68. package/dist/chunk-CPYPI45H.js.map +1 -0
  69. package/dist/chunk-CRTRMMJ7.js +59 -0
  70. package/dist/chunk-CRTRMMJ7.js.map +1 -0
  71. package/dist/chunk-CUODMU27.js +1265 -0
  72. package/dist/chunk-CUODMU27.js.map +1 -0
  73. package/dist/chunk-CYUTXV7Z.js +17 -0
  74. package/dist/chunk-CYUTXV7Z.js.map +1 -0
  75. package/dist/chunk-DJ32OEWG.cjs +54 -0
  76. package/dist/chunk-DJ32OEWG.cjs.map +1 -0
  77. package/dist/chunk-DZ5MGN25.js +147 -0
  78. package/dist/chunk-DZ5MGN25.js.map +1 -0
  79. package/dist/chunk-E3BR6DXY.js +153 -0
  80. package/dist/chunk-E3BR6DXY.js.map +1 -0
  81. package/dist/chunk-ENCR5SUW.cjs +51 -0
  82. package/dist/chunk-ENCR5SUW.cjs.map +1 -0
  83. package/dist/chunk-EOWJ7775.js +18 -0
  84. package/dist/chunk-EOWJ7775.js.map +1 -0
  85. package/dist/chunk-EVL7VEPX.js +14 -0
  86. package/dist/chunk-EVL7VEPX.js.map +1 -0
  87. package/dist/chunk-FH7TEEZR.js +52 -0
  88. package/dist/chunk-FH7TEEZR.js.map +1 -0
  89. package/dist/chunk-FKIMKZ4Y.js +17 -0
  90. package/dist/chunk-FKIMKZ4Y.js.map +1 -0
  91. package/dist/chunk-FOCUIKYH.cjs +1265 -0
  92. package/dist/chunk-FOCUIKYH.cjs.map +1 -0
  93. package/dist/chunk-GY6G3ZC2.cjs +41 -0
  94. package/dist/chunk-GY6G3ZC2.cjs.map +1 -0
  95. package/dist/chunk-GZRGZKN6.js +31 -0
  96. package/dist/chunk-GZRGZKN6.js.map +1 -0
  97. package/dist/chunk-H4F7UVPT.js +34 -0
  98. package/dist/chunk-H4F7UVPT.js.map +1 -0
  99. package/dist/chunk-HATQVB6H.js +19 -0
  100. package/dist/chunk-HATQVB6H.js.map +1 -0
  101. package/dist/chunk-HCW4RO2O.cjs +29 -0
  102. package/dist/chunk-HCW4RO2O.cjs.map +1 -0
  103. package/dist/chunk-HPOZ6I54.cjs +44 -0
  104. package/dist/chunk-HPOZ6I54.cjs.map +1 -0
  105. package/dist/chunk-I63FQCIV.js +189 -0
  106. package/dist/chunk-I63FQCIV.js.map +1 -0
  107. package/dist/chunk-IP4HQL5I.cjs +147 -0
  108. package/dist/chunk-IP4HQL5I.cjs.map +1 -0
  109. package/dist/chunk-IQPA3QOV.js +27 -0
  110. package/dist/chunk-IQPA3QOV.js.map +1 -0
  111. package/dist/chunk-IVNGVLGR.cjs +153 -0
  112. package/dist/chunk-IVNGVLGR.cjs.map +1 -0
  113. package/dist/chunk-KAXBBO66.cjs +30 -0
  114. package/dist/chunk-KAXBBO66.cjs.map +1 -0
  115. package/dist/chunk-KEKBOJCF.cjs +50 -0
  116. package/dist/chunk-KEKBOJCF.cjs.map +1 -0
  117. package/dist/chunk-KLWDDALZ.cjs +14 -0
  118. package/dist/chunk-KLWDDALZ.cjs.map +1 -0
  119. package/dist/chunk-KNOUJZN5.cjs +32 -0
  120. package/dist/chunk-KNOUJZN5.cjs.map +1 -0
  121. package/dist/chunk-L3FKENHU.js +14 -0
  122. package/dist/chunk-L3FKENHU.js.map +1 -0
  123. package/dist/chunk-LKO5WR7D.js +64 -0
  124. package/dist/chunk-LKO5WR7D.js.map +1 -0
  125. package/dist/chunk-MH37OJT2.cjs +80 -0
  126. package/dist/chunk-MH37OJT2.cjs.map +1 -0
  127. package/dist/chunk-MJHLKJ6X.cjs +212 -0
  128. package/dist/chunk-MJHLKJ6X.cjs.map +1 -0
  129. package/dist/chunk-MUS7DUPS.cjs +98 -0
  130. package/dist/chunk-MUS7DUPS.cjs.map +1 -0
  131. package/dist/chunk-NMXFWIFA.js +133 -0
  132. package/dist/chunk-NMXFWIFA.js.map +1 -0
  133. package/dist/chunk-ODH26VGS.js +50 -0
  134. package/dist/chunk-ODH26VGS.js.map +1 -0
  135. package/dist/chunk-OPIHF55A.cjs +50 -0
  136. package/dist/chunk-OPIHF55A.cjs.map +1 -0
  137. package/dist/chunk-OZS4WEKF.js +55 -0
  138. package/dist/chunk-OZS4WEKF.js.map +1 -0
  139. package/dist/chunk-PBSL6JOF.cjs +17 -0
  140. package/dist/chunk-PBSL6JOF.cjs.map +1 -0
  141. package/dist/chunk-PHCGCJSA.js +107 -0
  142. package/dist/chunk-PHCGCJSA.js.map +1 -0
  143. package/dist/chunk-Q3M4UH5U.cjs +48 -0
  144. package/dist/chunk-Q3M4UH5U.cjs.map +1 -0
  145. package/dist/chunk-QDKAU3H2.js +31 -0
  146. package/dist/chunk-QDKAU3H2.js.map +1 -0
  147. package/dist/chunk-QFQWKKVU.js +11 -0
  148. package/dist/chunk-QFQWKKVU.js.map +1 -0
  149. package/dist/chunk-QJ44PL7L.js +41 -0
  150. package/dist/chunk-QJ44PL7L.js.map +1 -0
  151. package/dist/chunk-QK5J7FD3.cjs +11 -0
  152. package/dist/chunk-QK5J7FD3.cjs.map +1 -0
  153. package/dist/chunk-QQXBYOKA.cjs +16 -0
  154. package/dist/chunk-QQXBYOKA.cjs.map +1 -0
  155. package/dist/chunk-QT7UEJZG.cjs +133 -0
  156. package/dist/chunk-QT7UEJZG.cjs.map +1 -0
  157. package/dist/chunk-QTL5I5C2.js +38 -0
  158. package/dist/chunk-QTL5I5C2.js.map +1 -0
  159. package/dist/chunk-R6IL3WOE.cjs +31 -0
  160. package/dist/chunk-R6IL3WOE.cjs.map +1 -0
  161. package/dist/chunk-REUYMHNW.cjs +136 -0
  162. package/dist/chunk-REUYMHNW.cjs.map +1 -0
  163. package/dist/chunk-RWS44QDX.js +31 -0
  164. package/dist/chunk-RWS44QDX.js.map +1 -0
  165. package/dist/chunk-RZPQIRIY.js +11 -0
  166. package/dist/chunk-RZPQIRIY.js.map +1 -0
  167. package/dist/chunk-RZT2J42J.js +29 -0
  168. package/dist/chunk-RZT2J42J.js.map +1 -0
  169. package/dist/chunk-SBA6FMFT.cjs +18 -0
  170. package/dist/chunk-SBA6FMFT.cjs.map +1 -0
  171. package/dist/chunk-SZA3XDJ5.cjs +1 -0
  172. package/dist/chunk-SZA3XDJ5.cjs.map +1 -0
  173. package/dist/chunk-U2D3L4DZ.cjs +17 -0
  174. package/dist/chunk-U2D3L4DZ.cjs.map +1 -0
  175. package/dist/chunk-U5EONMPH.js +30 -0
  176. package/dist/chunk-U5EONMPH.js.map +1 -0
  177. package/dist/chunk-UASNCH3A.cjs +27 -0
  178. package/dist/chunk-UASNCH3A.cjs.map +1 -0
  179. package/dist/chunk-UC3GWTEN.js +136 -0
  180. package/dist/chunk-UC3GWTEN.js.map +1 -0
  181. package/dist/chunk-UCQ5VAPT.cjs +36 -0
  182. package/dist/chunk-UCQ5VAPT.cjs.map +1 -0
  183. package/dist/chunk-UQAKJ4T7.cjs +29 -0
  184. package/dist/chunk-UQAKJ4T7.cjs.map +1 -0
  185. package/dist/chunk-URKPLEPV.cjs +189 -0
  186. package/dist/chunk-URKPLEPV.cjs.map +1 -0
  187. package/dist/chunk-VWRC3IFZ.cjs +22 -0
  188. package/dist/chunk-VWRC3IFZ.cjs.map +1 -0
  189. package/dist/chunk-VZIXXIU5.js +32 -0
  190. package/dist/chunk-VZIXXIU5.js.map +1 -0
  191. package/dist/chunk-WK5RAFJ3.js +54 -0
  192. package/dist/chunk-WK5RAFJ3.js.map +1 -0
  193. package/dist/chunk-XDJ6F7N4.cjs +107 -0
  194. package/dist/chunk-XDJ6F7N4.cjs.map +1 -0
  195. package/dist/chunk-XEZF7G64.js +212 -0
  196. package/dist/chunk-XEZF7G64.js.map +1 -0
  197. package/dist/chunk-XXJ7LQ44.js +1 -0
  198. package/dist/chunk-XXJ7LQ44.js.map +1 -0
  199. package/dist/chunk-XYMYRPVT.js +1 -0
  200. package/dist/chunk-XYMYRPVT.js.map +1 -0
  201. package/dist/chunk-YB66RCZP.js +10 -0
  202. package/dist/chunk-YB66RCZP.js.map +1 -0
  203. package/dist/chunk-YE55IKBP.cjs +34 -0
  204. package/dist/chunk-YE55IKBP.cjs.map +1 -0
  205. package/dist/chunk-YWVQCHQF.js +51 -0
  206. package/dist/chunk-YWVQCHQF.js.map +1 -0
  207. package/dist/chunk-ZCYU7QA6.cjs +64 -0
  208. package/dist/chunk-ZCYU7QA6.cjs.map +1 -0
  209. package/dist/chunk-ZDQGQY7Z.js +29 -0
  210. package/dist/chunk-ZDQGQY7Z.js.map +1 -0
  211. package/dist/chunk-ZIHCLVCD.js +44 -0
  212. package/dist/chunk-ZIHCLVCD.js.map +1 -0
  213. package/dist/chunk-ZMSST6ZZ.cjs +28 -0
  214. package/dist/chunk-ZMSST6ZZ.cjs.map +1 -0
  215. package/dist/chunk-ZUIS3FET.js +21 -0
  216. package/dist/chunk-ZUIS3FET.js.map +1 -0
  217. package/dist/components/CrossmintNFTCollectionView.cjs +9 -0
  218. package/dist/components/CrossmintNFTCollectionView.cjs.map +1 -0
  219. package/dist/components/CrossmintNFTCollectionView.d.cts +6 -0
  220. package/dist/components/CrossmintNFTCollectionView.d.ts +6 -0
  221. package/dist/components/CrossmintNFTCollectionView.js +9 -0
  222. package/dist/components/CrossmintNFTCollectionView.js.map +1 -0
  223. package/dist/components/CrossmintNFTDetail.cjs +9 -0
  224. package/dist/components/CrossmintNFTDetail.cjs.map +1 -0
  225. package/dist/components/CrossmintNFTDetail.d.cts +6 -0
  226. package/dist/components/CrossmintNFTDetail.d.ts +6 -0
  227. package/dist/components/CrossmintNFTDetail.js +9 -0
  228. package/dist/components/CrossmintNFTDetail.js.map +1 -0
  229. package/dist/components/auth/AuthForm.cjs +37 -0
  230. package/dist/components/auth/AuthForm.cjs.map +1 -0
  231. package/dist/components/auth/AuthForm.d.cts +7 -0
  232. package/dist/components/auth/AuthForm.d.ts +7 -0
  233. package/dist/components/auth/AuthForm.js +37 -0
  234. package/dist/components/auth/AuthForm.js.map +1 -0
  235. package/dist/components/auth/AuthFormBackButton.cjs +10 -0
  236. package/dist/components/auth/AuthFormBackButton.cjs.map +1 -0
  237. package/dist/components/auth/AuthFormBackButton.d.cts +9 -0
  238. package/dist/components/auth/AuthFormBackButton.d.ts +9 -0
  239. package/dist/components/auth/AuthFormBackButton.js +10 -0
  240. package/dist/components/auth/AuthFormBackButton.js.map +1 -0
  241. package/dist/components/auth/AuthFormDialog.cjs +37 -0
  242. package/dist/components/auth/AuthFormDialog.cjs.map +1 -0
  243. package/dist/components/auth/AuthFormDialog.d.cts +7 -0
  244. package/dist/components/auth/AuthFormDialog.d.ts +7 -0
  245. package/dist/components/auth/AuthFormDialog.js +37 -0
  246. package/dist/components/auth/AuthFormDialog.js.map +1 -0
  247. package/dist/components/auth/EmbeddedAuthForm.cjs +38 -0
  248. package/dist/components/auth/EmbeddedAuthForm.cjs.map +1 -0
  249. package/dist/components/auth/EmbeddedAuthForm.d.cts +5 -0
  250. package/dist/components/auth/EmbeddedAuthForm.d.ts +5 -0
  251. package/dist/components/auth/EmbeddedAuthForm.js +38 -0
  252. package/dist/components/auth/EmbeddedAuthForm.js.map +1 -0
  253. package/dist/components/auth/PasskeyPrompt.cjs +14 -0
  254. package/dist/components/auth/PasskeyPrompt.cjs.map +1 -0
  255. package/dist/components/auth/PasskeyPrompt.d.cts +15 -0
  256. package/dist/components/auth/PasskeyPrompt.d.ts +15 -0
  257. package/dist/components/auth/PasskeyPrompt.js +14 -0
  258. package/dist/components/auth/PasskeyPrompt.js.map +1 -0
  259. package/dist/components/auth/methods/email/EmailAuthFlow.cjs +37 -0
  260. package/dist/components/auth/methods/email/EmailAuthFlow.cjs.map +1 -0
  261. package/dist/components/auth/methods/email/EmailAuthFlow.d.cts +5 -0
  262. package/dist/components/auth/methods/email/EmailAuthFlow.d.ts +5 -0
  263. package/dist/components/auth/methods/email/EmailAuthFlow.js +37 -0
  264. package/dist/components/auth/methods/email/EmailAuthFlow.js.map +1 -0
  265. package/dist/components/auth/methods/email/EmailOTPInput.cjs +39 -0
  266. package/dist/components/auth/methods/email/EmailOTPInput.cjs.map +1 -0
  267. package/dist/components/auth/methods/email/EmailOTPInput.d.cts +10 -0
  268. package/dist/components/auth/methods/email/EmailOTPInput.d.ts +10 -0
  269. package/dist/components/auth/methods/email/EmailOTPInput.js +39 -0
  270. package/dist/components/auth/methods/email/EmailOTPInput.js.map +1 -0
  271. package/dist/components/auth/methods/email/EmailSignIn.cjs +37 -0
  272. package/dist/components/auth/methods/email/EmailSignIn.cjs.map +1 -0
  273. package/dist/components/auth/methods/email/EmailSignIn.d.cts +8 -0
  274. package/dist/components/auth/methods/email/EmailSignIn.d.ts +8 -0
  275. package/dist/components/auth/methods/email/EmailSignIn.js +37 -0
  276. package/dist/components/auth/methods/email/EmailSignIn.js.map +1 -0
  277. package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs +37 -0
  278. package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs.map +1 -0
  279. package/dist/components/auth/methods/farcaster/FarcasterSignIn.d.cts +5 -0
  280. package/dist/components/auth/methods/farcaster/FarcasterSignIn.d.ts +5 -0
  281. package/dist/components/auth/methods/farcaster/FarcasterSignIn.js +37 -0
  282. package/dist/components/auth/methods/farcaster/FarcasterSignIn.js.map +1 -0
  283. package/dist/components/auth/methods/google/GoogleSignIn.cjs +37 -0
  284. package/dist/components/auth/methods/google/GoogleSignIn.cjs.map +1 -0
  285. package/dist/components/auth/methods/google/GoogleSignIn.d.cts +6 -0
  286. package/dist/components/auth/methods/google/GoogleSignIn.d.ts +6 -0
  287. package/dist/components/auth/methods/google/GoogleSignIn.js +37 -0
  288. package/dist/components/auth/methods/google/GoogleSignIn.js.map +1 -0
  289. package/dist/components/auth/methods/web3/Web3AuthFlow.cjs +37 -0
  290. package/dist/components/auth/methods/web3/Web3AuthFlow.cjs.map +1 -0
  291. package/dist/components/auth/methods/web3/Web3AuthFlow.d.cts +5 -0
  292. package/dist/components/auth/methods/web3/Web3AuthFlow.d.ts +5 -0
  293. package/dist/components/auth/methods/web3/Web3AuthFlow.js +37 -0
  294. package/dist/components/auth/methods/web3/Web3AuthFlow.js.map +1 -0
  295. package/dist/components/auth/methods/web3/Web3AuthWrapper.cjs +37 -0
  296. package/dist/components/auth/methods/web3/Web3AuthWrapper.cjs.map +1 -0
  297. package/dist/components/auth/methods/web3/Web3AuthWrapper.d.cts +10 -0
  298. package/dist/components/auth/methods/web3/Web3AuthWrapper.d.ts +10 -0
  299. package/dist/components/auth/methods/web3/Web3AuthWrapper.js +37 -0
  300. package/dist/components/auth/methods/web3/Web3AuthWrapper.js.map +1 -0
  301. package/dist/components/auth/methods/web3/Web3ConnectButton.cjs +11 -0
  302. package/dist/components/auth/methods/web3/Web3ConnectButton.cjs.map +1 -0
  303. package/dist/components/auth/methods/web3/Web3ConnectButton.d.cts +13 -0
  304. package/dist/components/auth/methods/web3/Web3ConnectButton.d.ts +13 -0
  305. package/dist/components/auth/methods/web3/Web3ConnectButton.js +11 -0
  306. package/dist/components/auth/methods/web3/Web3ConnectButton.js.map +1 -0
  307. package/dist/components/auth/methods/web3/Web3Connectors.cjs +37 -0
  308. package/dist/components/auth/methods/web3/Web3Connectors.cjs.map +1 -0
  309. package/dist/components/auth/methods/web3/Web3Connectors.d.cts +5 -0
  310. package/dist/components/auth/methods/web3/Web3Connectors.d.ts +5 -0
  311. package/dist/components/auth/methods/web3/Web3Connectors.js +37 -0
  312. package/dist/components/auth/methods/web3/Web3Connectors.js.map +1 -0
  313. package/dist/components/auth/methods/web3/Web3ProviderButton.cjs +9 -0
  314. package/dist/components/auth/methods/web3/Web3ProviderButton.cjs.map +1 -0
  315. package/dist/components/auth/methods/web3/Web3ProviderButton.d.cts +11 -0
  316. package/dist/components/auth/methods/web3/Web3ProviderButton.d.ts +11 -0
  317. package/dist/components/auth/methods/web3/Web3ProviderButton.js +9 -0
  318. package/dist/components/auth/methods/web3/Web3ProviderButton.js.map +1 -0
  319. package/dist/components/auth/methods/web3/Web3SignIn.cjs +37 -0
  320. package/dist/components/auth/methods/web3/Web3SignIn.cjs.map +1 -0
  321. package/dist/components/auth/methods/web3/Web3SignIn.d.cts +5 -0
  322. package/dist/components/auth/methods/web3/Web3SignIn.d.ts +5 -0
  323. package/dist/components/auth/methods/web3/Web3SignIn.js +37 -0
  324. package/dist/components/auth/methods/web3/Web3SignIn.js.map +1 -0
  325. package/dist/components/common/Dialog.cjs +26 -0
  326. package/dist/components/common/Dialog.cjs.map +1 -0
  327. package/dist/components/common/Dialog.d.cts +26 -0
  328. package/dist/components/common/Dialog.d.ts +26 -0
  329. package/dist/components/common/Dialog.js +26 -0
  330. package/dist/components/common/Dialog.js.map +1 -0
  331. package/dist/components/common/Divider.cjs +37 -0
  332. package/dist/components/common/Divider.cjs.map +1 -0
  333. package/dist/components/common/Divider.d.cts +9 -0
  334. package/dist/components/common/Divider.d.ts +9 -0
  335. package/dist/components/common/Divider.js +37 -0
  336. package/dist/components/common/Divider.js.map +1 -0
  337. package/dist/components/common/InputOTP.cjs +14 -0
  338. package/dist/components/common/InputOTP.cjs.map +1 -0
  339. package/dist/components/common/InputOTP.d.cts +24 -0
  340. package/dist/components/common/InputOTP.d.ts +24 -0
  341. package/dist/components/common/InputOTP.js +14 -0
  342. package/dist/components/common/InputOTP.js.map +1 -0
  343. package/dist/components/common/PoweredByCrossmint.cjs +10 -0
  344. package/dist/components/common/PoweredByCrossmint.cjs.map +1 -0
  345. package/dist/components/common/PoweredByCrossmint.d.cts +8 -0
  346. package/dist/components/common/PoweredByCrossmint.d.ts +8 -0
  347. package/dist/components/common/PoweredByCrossmint.js +10 -0
  348. package/dist/components/common/PoweredByCrossmint.js.map +1 -0
  349. package/dist/components/common/Spinner.cjs +9 -0
  350. package/dist/components/common/Spinner.cjs.map +1 -0
  351. package/dist/components/common/Spinner.d.cts +9 -0
  352. package/dist/components/common/Spinner.d.ts +9 -0
  353. package/dist/components/common/Spinner.js +9 -0
  354. package/dist/components/common/Spinner.js.map +1 -0
  355. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.cjs +8 -0
  356. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.cjs.map +1 -0
  357. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.d.cts +13 -0
  358. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.d.ts +13 -0
  359. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.js +8 -0
  360. package/dist/components/dynamic-xyz/DynamicContextProviderWrapper.js.map +1 -0
  361. package/dist/components/embed/EmbeddedCheckoutIFrame.cjs +8 -0
  362. package/dist/components/embed/EmbeddedCheckoutIFrame.cjs.map +1 -0
  363. package/dist/components/embed/EmbeddedCheckoutIFrame.d.cts +9 -0
  364. package/dist/components/embed/EmbeddedCheckoutIFrame.d.ts +9 -0
  365. package/dist/components/embed/EmbeddedCheckoutIFrame.js +8 -0
  366. package/dist/components/embed/EmbeddedCheckoutIFrame.js.map +1 -0
  367. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.cjs +11 -0
  368. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.cjs.map +1 -0
  369. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.d.cts +6 -0
  370. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.d.ts +6 -0
  371. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.js +11 -0
  372. package/dist/components/embed/crypto/CryptoEmbeddedCheckout.js.map +1 -0
  373. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.cjs +10 -0
  374. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.cjs.map +1 -0
  375. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.d.cts +6 -0
  376. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.d.ts +6 -0
  377. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.js +10 -0
  378. package/dist/components/embed/crypto/CryptoEmbeddedCheckoutIFrame.js.map +1 -0
  379. package/dist/components/embed/fiat/FiatEmbeddedCheckout.cjs +11 -0
  380. package/dist/components/embed/fiat/FiatEmbeddedCheckout.cjs.map +1 -0
  381. package/dist/components/embed/fiat/FiatEmbeddedCheckout.d.cts +6 -0
  382. package/dist/components/embed/fiat/FiatEmbeddedCheckout.d.ts +6 -0
  383. package/dist/components/embed/fiat/FiatEmbeddedCheckout.js +11 -0
  384. package/dist/components/embed/fiat/FiatEmbeddedCheckout.js.map +1 -0
  385. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.cjs +10 -0
  386. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.cjs.map +1 -0
  387. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.d.cts +6 -0
  388. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.d.ts +6 -0
  389. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.js +10 -0
  390. package/dist/components/embed/fiat/FiatEmbeddedCheckoutIFrame.js.map +1 -0
  391. package/dist/components/embed/fiat/FiatPaymentElement_OLD.cjs +75 -0
  392. package/dist/components/embed/fiat/FiatPaymentElement_OLD.cjs.map +1 -0
  393. package/dist/components/embed/fiat/FiatPaymentElement_OLD.d.cts +6 -0
  394. package/dist/components/embed/fiat/FiatPaymentElement_OLD.d.ts +6 -0
  395. package/dist/components/embed/fiat/FiatPaymentElement_OLD.js +75 -0
  396. package/dist/components/embed/fiat/FiatPaymentElement_OLD.js.map +1 -0
  397. package/dist/components/embed/index.cjs +14 -0
  398. package/dist/components/embed/index.cjs.map +1 -0
  399. package/dist/components/embed/index.d.cts +6 -0
  400. package/dist/components/embed/index.d.ts +6 -0
  401. package/dist/components/embed/index.js +14 -0
  402. package/dist/components/embed/index.js.map +1 -0
  403. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs +44 -0
  404. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs.map +1 -0
  405. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.d.cts +6 -0
  406. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.d.ts +6 -0
  407. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +44 -0
  408. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js.map +1 -0
  409. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs +43 -0
  410. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs.map +1 -0
  411. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.d.cts +6 -0
  412. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.d.ts +6 -0
  413. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js +43 -0
  414. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js.map +1 -0
  415. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs +12 -0
  416. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.cjs.map +1 -0
  417. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.d.cts +10 -0
  418. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.d.ts +10 -0
  419. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js +12 -0
  420. package/dist/components/embed/v3/crypto/CryptoWalletConnectionHandler.js.map +1 -0
  421. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.cjs +8 -0
  422. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.cjs.map +1 -0
  423. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.d.cts +12 -0
  424. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.d.ts +12 -0
  425. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.js +8 -0
  426. package/dist/components/embed/v3/crypto/utils/handleEvmTransaction.js.map +1 -0
  427. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.cjs +10 -0
  428. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.cjs.map +1 -0
  429. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.d.cts +7 -0
  430. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.d.ts +7 -0
  431. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.js +10 -0
  432. package/dist/components/embed/v3/crypto/utils/handleSendTransaction.js.map +1 -0
  433. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.cjs +8 -0
  434. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.cjs.map +1 -0
  435. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.d.cts +10 -0
  436. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.d.ts +10 -0
  437. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.js +8 -0
  438. package/dist/components/embed/v3/crypto/utils/handleSolanaTransaction.js.map +1 -0
  439. package/dist/components/embed/v3/index.cjs +45 -0
  440. package/dist/components/embed/v3/index.cjs.map +1 -0
  441. package/dist/components/embed/v3/index.d.cts +3 -0
  442. package/dist/components/embed/v3/index.d.ts +3 -0
  443. package/dist/components/embed/v3/index.js +45 -0
  444. package/dist/components/embed/v3/index.js.map +1 -0
  445. package/dist/components/hosted/CrossmintPayButton.cjs +11 -0
  446. package/dist/components/hosted/CrossmintPayButton.cjs.map +1 -0
  447. package/dist/components/hosted/CrossmintPayButton.d.cts +11 -0
  448. package/dist/components/hosted/CrossmintPayButton.d.ts +11 -0
  449. package/dist/components/hosted/CrossmintPayButton.js +11 -0
  450. package/dist/components/hosted/CrossmintPayButton.js.map +1 -0
  451. package/dist/components/hosted/index.cjs +12 -0
  452. package/dist/components/hosted/index.cjs.map +1 -0
  453. package/dist/components/hosted/index.d.cts +4 -0
  454. package/dist/components/hosted/index.d.ts +4 -0
  455. package/dist/components/hosted/index.js +12 -0
  456. package/dist/components/hosted/index.js.map +1 -0
  457. package/dist/components/hosted/styles.cjs +10 -0
  458. package/dist/components/hosted/styles.cjs.map +1 -0
  459. package/dist/components/hosted/styles.d.cts +11 -0
  460. package/dist/components/hosted/styles.d.ts +11 -0
  461. package/dist/components/hosted/styles.js +10 -0
  462. package/dist/components/hosted/styles.js.map +1 -0
  463. package/dist/components/index.cjs +75 -0
  464. package/dist/components/index.cjs.map +1 -0
  465. package/dist/components/index.d.cts +10 -0
  466. package/dist/components/index.d.ts +10 -0
  467. package/dist/components/index.js +75 -0
  468. package/dist/components/index.js.map +1 -0
  469. package/dist/consts/version.cjs +8 -0
  470. package/dist/consts/version.cjs.map +1 -0
  471. package/dist/consts/version.d.cts +3 -0
  472. package/dist/consts/version.d.ts +3 -0
  473. package/dist/consts/version.js +8 -0
  474. package/dist/consts/version.js.map +1 -0
  475. package/dist/hooks/index.cjs +49 -0
  476. package/dist/hooks/index.cjs.map +1 -0
  477. package/dist/hooks/index.d.cts +13 -0
  478. package/dist/hooks/index.d.ts +13 -0
  479. package/dist/hooks/index.js +49 -0
  480. package/dist/hooks/index.js.map +1 -0
  481. package/dist/hooks/useAuth.cjs +37 -0
  482. package/dist/hooks/useAuth.cjs.map +1 -0
  483. package/dist/hooks/useAuth.d.cts +11 -0
  484. package/dist/hooks/useAuth.d.ts +11 -0
  485. package/dist/hooks/useAuth.js +37 -0
  486. package/dist/hooks/useAuth.js.map +1 -0
  487. package/dist/hooks/useCrossmint.cjs +10 -0
  488. package/dist/hooks/useCrossmint.cjs.map +1 -0
  489. package/dist/hooks/useCrossmint.d.cts +14 -0
  490. package/dist/hooks/useCrossmint.d.ts +14 -0
  491. package/dist/hooks/useCrossmint.js +10 -0
  492. package/dist/hooks/useCrossmint.js.map +1 -0
  493. package/dist/hooks/useCrossmintAuth.cjs +37 -0
  494. package/dist/hooks/useCrossmintAuth.cjs.map +1 -0
  495. package/dist/hooks/useCrossmintAuth.d.cts +11 -0
  496. package/dist/hooks/useCrossmintAuth.d.ts +11 -0
  497. package/dist/hooks/useCrossmintAuth.js +37 -0
  498. package/dist/hooks/useCrossmintAuth.js.map +1 -0
  499. package/dist/hooks/useCrossmintCheckout.cjs +13 -0
  500. package/dist/hooks/useCrossmintCheckout.cjs.map +1 -0
  501. package/dist/hooks/useCrossmintCheckout.d.cts +14 -0
  502. package/dist/hooks/useCrossmintCheckout.d.ts +14 -0
  503. package/dist/hooks/useCrossmintCheckout.js +13 -0
  504. package/dist/hooks/useCrossmintCheckout.js.map +1 -0
  505. package/dist/hooks/useDeepEffect.cjs +8 -0
  506. package/dist/hooks/useDeepEffect.cjs.map +1 -0
  507. package/dist/hooks/useDeepEffect.d.cts +5 -0
  508. package/dist/hooks/useDeepEffect.d.ts +5 -0
  509. package/dist/hooks/useDeepEffect.js +8 -0
  510. package/dist/hooks/useDeepEffect.js.map +1 -0
  511. package/dist/hooks/useEnvironment.cjs +8 -0
  512. package/dist/hooks/useEnvironment.cjs.map +1 -0
  513. package/dist/hooks/useEnvironment.d.cts +5 -0
  514. package/dist/hooks/useEnvironment.d.ts +5 -0
  515. package/dist/hooks/useEnvironment.js +8 -0
  516. package/dist/hooks/useEnvironment.js.map +1 -0
  517. package/dist/hooks/useOAuthWindowListener.cjs +37 -0
  518. package/dist/hooks/useOAuthWindowListener.cjs.map +1 -0
  519. package/dist/hooks/useOAuthWindowListener.d.cts +8 -0
  520. package/dist/hooks/useOAuthWindowListener.d.ts +8 -0
  521. package/dist/hooks/useOAuthWindowListener.js +37 -0
  522. package/dist/hooks/useOAuthWindowListener.js.map +1 -0
  523. package/dist/hooks/useWallet.cjs +37 -0
  524. package/dist/hooks/useWallet.cjs.map +1 -0
  525. package/dist/hooks/useWallet.d.cts +18 -0
  526. package/dist/hooks/useWallet.d.ts +18 -0
  527. package/dist/hooks/useWallet.js +37 -0
  528. package/dist/hooks/useWallet.js.map +1 -0
  529. package/dist/icons/alert.cjs +8 -0
  530. package/dist/icons/alert.cjs.map +1 -0
  531. package/dist/icons/alert.d.cts +7 -0
  532. package/dist/icons/alert.d.ts +7 -0
  533. package/dist/icons/alert.js +8 -0
  534. package/dist/icons/alert.js.map +1 -0
  535. package/dist/icons/base64Icons.cjs +12 -0
  536. package/dist/icons/base64Icons.cjs.map +1 -0
  537. package/dist/icons/base64Icons.d.cts +5 -0
  538. package/dist/icons/base64Icons.d.ts +5 -0
  539. package/dist/icons/base64Icons.js +12 -0
  540. package/dist/icons/base64Icons.js.map +1 -0
  541. package/dist/icons/chevronRight.cjs +8 -0
  542. package/dist/icons/chevronRight.cjs.map +1 -0
  543. package/dist/icons/chevronRight.d.cts +9 -0
  544. package/dist/icons/chevronRight.d.ts +9 -0
  545. package/dist/icons/chevronRight.js +8 -0
  546. package/dist/icons/chevronRight.js.map +1 -0
  547. package/dist/icons/discord.cjs +29 -0
  548. package/dist/icons/discord.cjs.map +1 -0
  549. package/dist/icons/discord.d.cts +7 -0
  550. package/dist/icons/discord.d.ts +7 -0
  551. package/dist/icons/discord.js +29 -0
  552. package/dist/icons/discord.js.map +1 -0
  553. package/dist/icons/emailOTP.cjs +8 -0
  554. package/dist/icons/emailOTP.cjs.map +1 -0
  555. package/dist/icons/emailOTP.d.cts +9 -0
  556. package/dist/icons/emailOTP.d.ts +9 -0
  557. package/dist/icons/emailOTP.js +8 -0
  558. package/dist/icons/emailOTP.js.map +1 -0
  559. package/dist/icons/farcaster.cjs +8 -0
  560. package/dist/icons/farcaster.cjs.map +1 -0
  561. package/dist/icons/farcaster.d.cts +7 -0
  562. package/dist/icons/farcaster.d.ts +7 -0
  563. package/dist/icons/farcaster.js +8 -0
  564. package/dist/icons/farcaster.js.map +1 -0
  565. package/dist/icons/fingerprint.cjs +8 -0
  566. package/dist/icons/fingerprint.cjs.map +1 -0
  567. package/dist/icons/fingerprint.d.cts +5 -0
  568. package/dist/icons/fingerprint.d.ts +5 -0
  569. package/dist/icons/fingerprint.js +8 -0
  570. package/dist/icons/fingerprint.js.map +1 -0
  571. package/dist/icons/google.cjs +8 -0
  572. package/dist/icons/google.cjs.map +1 -0
  573. package/dist/icons/google.d.cts +7 -0
  574. package/dist/icons/google.d.ts +7 -0
  575. package/dist/icons/google.js +8 -0
  576. package/dist/icons/google.js.map +1 -0
  577. package/dist/icons/leftArrow.cjs +8 -0
  578. package/dist/icons/leftArrow.cjs.map +1 -0
  579. package/dist/icons/leftArrow.d.cts +8 -0
  580. package/dist/icons/leftArrow.d.ts +8 -0
  581. package/dist/icons/leftArrow.js +8 -0
  582. package/dist/icons/leftArrow.js.map +1 -0
  583. package/dist/icons/passkey.cjs +8 -0
  584. package/dist/icons/passkey.cjs.map +1 -0
  585. package/dist/icons/passkey.d.cts +5 -0
  586. package/dist/icons/passkey.d.ts +5 -0
  587. package/dist/icons/passkey.js +8 -0
  588. package/dist/icons/passkey.js.map +1 -0
  589. package/dist/icons/passkeyPromptLogo.cjs +8 -0
  590. package/dist/icons/passkeyPromptLogo.cjs.map +1 -0
  591. package/dist/icons/passkeyPromptLogo.d.cts +8 -0
  592. package/dist/icons/passkeyPromptLogo.d.ts +8 -0
  593. package/dist/icons/passkeyPromptLogo.js +8 -0
  594. package/dist/icons/passkeyPromptLogo.js.map +1 -0
  595. package/dist/icons/poweredByLeaf.cjs +8 -0
  596. package/dist/icons/poweredByLeaf.cjs.map +1 -0
  597. package/dist/icons/poweredByLeaf.d.cts +7 -0
  598. package/dist/icons/poweredByLeaf.d.ts +7 -0
  599. package/dist/icons/poweredByLeaf.js +8 -0
  600. package/dist/icons/poweredByLeaf.js.map +1 -0
  601. package/dist/icons/wallet.cjs +8 -0
  602. package/dist/icons/wallet.cjs.map +1 -0
  603. package/dist/icons/wallet.d.cts +9 -0
  604. package/dist/icons/wallet.d.ts +9 -0
  605. package/dist/icons/wallet.js +8 -0
  606. package/dist/icons/wallet.js.map +1 -0
  607. package/dist/icons/x.cjs +29 -0
  608. package/dist/icons/x.cjs.map +1 -0
  609. package/dist/icons/x.d.cts +7 -0
  610. package/dist/icons/x.d.ts +7 -0
  611. package/dist/icons/x.js +29 -0
  612. package/dist/icons/x.js.map +1 -0
  613. package/dist/index.cjs +131 -1
  614. package/dist/index.cjs.map +1 -0
  615. package/dist/index.d.cts +17 -124
  616. package/dist/index.d.ts +17 -124
  617. package/dist/index.js +131 -1
  618. package/dist/index.js.map +1 -0
  619. package/dist/providers/CrossmintAuthProvider.cjs +39 -0
  620. package/dist/providers/CrossmintAuthProvider.cjs.map +1 -0
  621. package/dist/providers/CrossmintAuthProvider.d.cts +37 -0
  622. package/dist/providers/CrossmintAuthProvider.d.ts +37 -0
  623. package/dist/providers/CrossmintAuthProvider.js +39 -0
  624. package/dist/providers/CrossmintAuthProvider.js.map +1 -0
  625. package/dist/providers/CrossmintWalletProvider.cjs +39 -0
  626. package/dist/providers/CrossmintWalletProvider.cjs.map +1 -0
  627. package/dist/providers/CrossmintWalletProvider.d.cts +30 -0
  628. package/dist/providers/CrossmintWalletProvider.d.ts +30 -0
  629. package/dist/providers/CrossmintWalletProvider.js +39 -0
  630. package/dist/providers/CrossmintWalletProvider.js.map +1 -0
  631. package/dist/providers/TwindProvider.cjs +9 -0
  632. package/dist/providers/TwindProvider.cjs.map +1 -0
  633. package/dist/providers/TwindProvider.d.cts +8 -0
  634. package/dist/providers/TwindProvider.d.ts +8 -0
  635. package/dist/providers/TwindProvider.js +9 -0
  636. package/dist/providers/TwindProvider.js.map +1 -0
  637. package/dist/providers/auth/AuthFormProvider.cjs +39 -0
  638. package/dist/providers/auth/AuthFormProvider.cjs.map +1 -0
  639. package/dist/providers/auth/AuthFormProvider.d.cts +34 -0
  640. package/dist/providers/auth/AuthFormProvider.d.ts +34 -0
  641. package/dist/providers/auth/AuthFormProvider.js +39 -0
  642. package/dist/providers/auth/AuthFormProvider.js.map +1 -0
  643. package/dist/providers/auth/FarcasterProvider.cjs +8 -0
  644. package/dist/providers/auth/FarcasterProvider.cjs.map +1 -0
  645. package/dist/providers/auth/FarcasterProvider.d.cts +9 -0
  646. package/dist/providers/auth/FarcasterProvider.d.ts +9 -0
  647. package/dist/providers/auth/FarcasterProvider.js +8 -0
  648. package/dist/providers/auth/FarcasterProvider.js.map +1 -0
  649. package/dist/providers/auth/web3/WagmiAuthProvider.cjs +8 -0
  650. package/dist/providers/auth/web3/WagmiAuthProvider.cjs.map +1 -0
  651. package/dist/providers/auth/web3/WagmiAuthProvider.d.cts +8 -0
  652. package/dist/providers/auth/web3/WagmiAuthProvider.d.ts +8 -0
  653. package/dist/providers/auth/web3/WagmiAuthProvider.js +8 -0
  654. package/dist/providers/auth/web3/WagmiAuthProvider.js.map +1 -0
  655. package/dist/providers/index.cjs +43 -0
  656. package/dist/providers/index.cjs.map +1 -0
  657. package/dist/providers/index.d.cts +8 -0
  658. package/dist/providers/index.d.ts +8 -0
  659. package/dist/providers/index.js +43 -0
  660. package/dist/providers/index.js.map +1 -0
  661. package/dist/testUtils.cjs +8 -0
  662. package/dist/testUtils.cjs.map +1 -0
  663. package/dist/testUtils.d.cts +3 -0
  664. package/dist/testUtils.d.ts +3 -0
  665. package/dist/testUtils.js +8 -0
  666. package/dist/testUtils.js.map +1 -0
  667. package/dist/twind.config.cjs +8 -0
  668. package/dist/twind.config.cjs.map +1 -0
  669. package/dist/twind.config.d.cts +8 -0
  670. package/dist/twind.config.d.ts +8 -0
  671. package/dist/twind.config.js +8 -0
  672. package/dist/twind.config.js.map +1 -0
  673. package/dist/types/auth.cjs +1 -0
  674. package/dist/types/auth.cjs.map +1 -0
  675. package/dist/types/auth.d.cts +6 -0
  676. package/dist/types/auth.d.ts +6 -0
  677. package/dist/types/auth.js +1 -0
  678. package/dist/types/auth.js.map +1 -0
  679. package/dist/utils/classNames.cjs +8 -0
  680. package/dist/utils/classNames.cjs.map +1 -0
  681. package/dist/utils/classNames.d.cts +11 -0
  682. package/dist/utils/classNames.d.ts +11 -0
  683. package/dist/utils/classNames.js +8 -0
  684. package/dist/utils/classNames.js.map +1 -0
  685. package/dist/utils/createCrossmintApiClient.cjs +9 -0
  686. package/dist/utils/createCrossmintApiClient.cjs.map +1 -0
  687. package/dist/utils/createCrossmintApiClient.d.cts +5 -0
  688. package/dist/utils/createCrossmintApiClient.d.ts +5 -0
  689. package/dist/utils/createCrossmintApiClient.js +9 -0
  690. package/dist/utils/createCrossmintApiClient.js.map +1 -0
  691. package/package.json +20 -14
  692. package/src/components/auth/AuthForm.tsx +10 -5
  693. package/src/components/auth/AuthFormBackButton.tsx +1 -5
  694. package/src/components/auth/AuthFormDialog.tsx +7 -2
  695. package/src/components/auth/methods/email/EmailOTPInput.tsx +13 -14
  696. package/src/components/auth/methods/email/EmailSignIn.tsx +15 -19
  697. package/src/components/auth/methods/farcaster/FarcasterSignIn.tsx +10 -14
  698. package/src/components/auth/methods/google/GoogleSignIn.tsx +7 -16
  699. package/src/components/auth/methods/web3/Web3AuthFlow.tsx +17 -0
  700. package/src/components/auth/methods/web3/Web3AuthWrapper.tsx +87 -0
  701. package/src/components/auth/methods/web3/Web3ConnectButton.tsx +62 -0
  702. package/src/components/auth/methods/web3/Web3Connectors.tsx +91 -0
  703. package/src/components/auth/methods/web3/Web3ProviderButton.tsx +38 -0
  704. package/src/components/auth/methods/web3/Web3SignIn.tsx +41 -0
  705. package/src/components/common/Dialog.tsx +10 -29
  706. package/src/components/common/Divider.tsx +1 -1
  707. package/src/components/common/InputOTP.tsx +9 -4
  708. package/src/components/common/PoweredByCrossmint.tsx +3 -10
  709. package/src/components/embed/v3/EmbeddedCheckoutV3IFrame.tsx +3 -1
  710. package/src/hooks/index.ts +0 -1
  711. package/src/hooks/useAuth.ts +2 -2
  712. package/src/hooks/useCrossmint.test.tsx +4 -33
  713. package/src/hooks/useCrossmint.tsx +1 -12
  714. package/src/hooks/useCrossmintAuth.ts +12 -0
  715. package/src/hooks/useCrossmintCheckout.tsx +7 -5
  716. package/src/hooks/useOAuthWindowListener.ts +4 -10
  717. package/src/icons/base64Icons.ts +8 -0
  718. package/src/icons/chevronRight.tsx +21 -0
  719. package/src/icons/poweredByLeaf.tsx +81 -80
  720. package/src/icons/wallet.tsx +23 -0
  721. package/src/index.ts +0 -8
  722. package/src/providers/CrossmintAuthProvider.test.tsx +72 -87
  723. package/src/providers/CrossmintAuthProvider.tsx +83 -77
  724. package/src/providers/CrossmintWalletProvider.test.tsx +15 -9
  725. package/src/providers/TwindProvider.tsx +14 -0
  726. package/src/providers/auth/AuthFormProvider.test.tsx +61 -19
  727. package/src/providers/auth/AuthFormProvider.tsx +52 -60
  728. package/src/providers/auth/web3/WagmiAuthProvider.tsx +56 -0
  729. package/src/testUtils.ts +0 -4
  730. package/src/twind.config.ts +12 -5
  731. package/src/hooks/useAuthSignIn.ts +0 -117
  732. package/src/hooks/useRefreshToken.test.ts +0 -155
  733. package/src/hooks/useRefreshToken.ts +0 -68
  734. package/src/utils/authCookies.test.ts +0 -41
  735. package/src/utils/authCookies.ts +0 -13
@@ -1,19 +1,28 @@
1
+ import type { ReactNode } from "react";
1
2
  import { render, fireEvent, waitFor } from "@testing-library/react";
3
+ import { beforeEach } from "vitest";
2
4
  import { AuthFormProvider, useAuthForm } from "./AuthFormProvider";
3
- import { describe, expect, test, vi } from "vitest";
4
- import type { LoginMethod } from "..";
5
+ import { describe, expect, it, vi } from "vitest";
6
+ import type { CrossmintAuthWalletConfig, LoginMethod } from "..";
7
+ import { useCrossmintAuth } from "@/hooks/useCrossmintAuth";
8
+
9
+ vi.mock("./web3/WagmiAuthProvider", () => ({
10
+ WagmiAuthProvider: ({ children }: { children: ReactNode }) => <>{children}</>,
11
+ }));
12
+
13
+ vi.mock("@/hooks/useCrossmintAuth");
5
14
 
6
15
  // Mock component to test the AuthFormProvider
7
16
  function TestComponent() {
8
- const { step, apiKey, baseUrl, loginMethods, setStep, setDialogOpen, oauthUrlMap, isLoadingOauthUrlMap } =
17
+ const { step, baseUrl, loginMethods, setStep, setDialogOpen, oauthUrlMap, isLoadingOauthUrlMap, appearance } =
9
18
  useAuthForm();
10
19
 
11
20
  return (
12
21
  <div>
13
22
  <div data-testid="step">{step}</div>
14
- <div data-testid="api-key">{apiKey}</div>
15
23
  <div data-testid="base-url">{baseUrl}</div>
16
24
  <div data-testid="login-methods">{JSON.stringify(loginMethods)}</div>
25
+ <div data-testid="appearance">{JSON.stringify(appearance)}</div>
17
26
  <button onClick={() => setStep("otp")} data-testid="set-step">
18
27
  Set Step to OTP
19
28
  </button>
@@ -27,24 +36,35 @@ function TestComponent() {
27
36
  }
28
37
 
29
38
  describe("AuthFormProvider", () => {
30
- const mockFetchAuthMaterial = vi.fn().mockResolvedValue({});
31
39
  const mockInitialState = {
32
- apiKey: "test-api-key",
33
40
  baseUrl: "https://api.example.com",
34
- fetchAuthMaterial: mockFetchAuthMaterial,
35
- loginMethods: ["email", "google"] as LoginMethod[],
41
+ loginMethods: ["email", "google", "farcaster", "web3"] as LoginMethod[],
36
42
  setDialogOpen: vi.fn(),
43
+ embeddedWallets: {
44
+ createOnLogin: "off",
45
+ defaultChain: "base-sepolia",
46
+ type: "evm-smart-wallet",
47
+ } as CrossmintAuthWalletConfig,
48
+ appearance: {
49
+ colors: {
50
+ textPrimary: "#000000",
51
+ textSecondary: "#A4AFB2",
52
+ },
53
+ },
37
54
  };
55
+ const mockedGetOAuthUrl = vi.fn();
38
56
 
39
57
  beforeEach(() => {
40
58
  vi.resetAllMocks();
41
- global.fetch = vi.fn().mockResolvedValue({
42
- ok: true,
43
- json: () => Promise.resolve({ oauthUrl: "https://oauth.example.com" }),
44
- });
59
+
60
+ vi.mocked(useCrossmintAuth).mockReturnValue({
61
+ crossmintAuth: {
62
+ getOAuthUrl: mockedGetOAuthUrl.mockResolvedValue("https://oauth.example.com"),
63
+ },
64
+ } as any);
45
65
  });
46
66
 
47
- test("provides initial context values and fetches OAuth URLs", async () => {
67
+ it("provides initial context values and fetches OAuth URLs", async () => {
48
68
  const { getByTestId } = render(
49
69
  <AuthFormProvider initialState={mockInitialState}>
50
70
  <TestComponent />
@@ -52,9 +72,11 @@ describe("AuthFormProvider", () => {
52
72
  );
53
73
 
54
74
  expect(getByTestId("step").textContent).toBe("initial");
55
- expect(getByTestId("api-key").textContent).toBe("test-api-key");
56
75
  expect(getByTestId("base-url").textContent).toBe("https://api.example.com");
57
- expect(getByTestId("login-methods").textContent).toBe('["email","google"]');
76
+ expect(getByTestId("login-methods").textContent).toBe('["email","google","farcaster","web3"]');
77
+ expect(getByTestId("appearance").textContent).toBe(
78
+ '{"colors":{"textPrimary":"#000000","textSecondary":"#A4AFB2"}}'
79
+ );
58
80
 
59
81
  await waitFor(() => {
60
82
  expect(getByTestId("oauth-url").textContent).toBe('{"google":"https://oauth.example.com"}');
@@ -62,7 +84,7 @@ describe("AuthFormProvider", () => {
62
84
  });
63
85
  });
64
86
 
65
- test("updates step", () => {
87
+ it("updates step", () => {
66
88
  const { getByTestId } = render(
67
89
  <AuthFormProvider initialState={mockInitialState}>
68
90
  <TestComponent />
@@ -73,7 +95,7 @@ describe("AuthFormProvider", () => {
73
95
  expect(getByTestId("step").textContent).toBe("otp");
74
96
  });
75
97
 
76
- test("calls setDialogOpen", () => {
98
+ it("calls setDialogOpen", () => {
77
99
  const { getByTestId } = render(
78
100
  <AuthFormProvider initialState={mockInitialState}>
79
101
  <TestComponent />
@@ -84,8 +106,8 @@ describe("AuthFormProvider", () => {
84
106
  expect(mockInitialState.setDialogOpen).toHaveBeenCalledWith(true);
85
107
  });
86
108
 
87
- test("handles OAuth URL fetch error", async () => {
88
- global.fetch = vi.fn().mockRejectedValue(new Error("Fetch failed"));
109
+ it("handles OAuth URL fetch error", async () => {
110
+ vi.mocked(mockedGetOAuthUrl).mockRejectedValue(new Error("Fetch failed"));
89
111
  const consoleSpy = vi.spyOn(console, "error").mockImplementation(() => {});
90
112
 
91
113
  const { getByTestId } = render(
@@ -102,4 +124,24 @@ describe("AuthFormProvider", () => {
102
124
  expect(consoleSpy).toHaveBeenCalled();
103
125
  consoleSpy.mockRestore();
104
126
  });
127
+
128
+ test("throws error when web3 login method is used with createOnLogin=all-users", () => {
129
+ const invalidState = {
130
+ ...mockInitialState,
131
+ loginMethods: ["web3"] as LoginMethod[],
132
+ embeddedWallets: {
133
+ createOnLogin: "all-users",
134
+ defaultChain: "base-sepolia",
135
+ type: "evm-smart-wallet",
136
+ } as CrossmintAuthWalletConfig,
137
+ };
138
+
139
+ expect(() =>
140
+ render(
141
+ <AuthFormProvider initialState={invalidState}>
142
+ <TestComponent />
143
+ </AuthFormProvider>
144
+ )
145
+ ).toThrowError("Creating wallets on login is not yet supported for web3 login method");
146
+ });
105
147
  });
@@ -1,9 +1,12 @@
1
- import { createContext, useContext, useEffect, useState, type ReactNode } from "react";
2
- import type { AuthMaterialWithUser, OAuthProvider } from "@crossmint/common-sdk-auth";
1
+ import { createContext, useCallback, useContext, useEffect, useState, type ReactNode } from "react";
2
+ import type { OAuthProvider } from "@crossmint/common-sdk-auth";
3
3
  import type { UIConfig } from "@crossmint/common-sdk-base";
4
- import type { LoginMethod } from "../CrossmintAuthProvider";
4
+ import type { CrossmintAuthWalletConfig, LoginMethod } from "../CrossmintAuthProvider";
5
+ import { useCrossmintAuth } from "@/hooks/useCrossmintAuth";
6
+ import { WagmiAuthProvider } from "./web3/WagmiAuthProvider";
7
+
8
+ type AuthStep = "initial" | "otp" | "qrCode" | "web3" | "web3/metamask" | "web3/walletconnect";
5
9
 
6
- type AuthStep = "initial" | "walletMethod" | "otp" | "qrCode";
7
10
  type OAuthUrlMap = Record<OAuthProvider, string>;
8
11
  const initialOAuthUrlMap: OAuthUrlMap = {
9
12
  google: "",
@@ -11,24 +14,21 @@ const initialOAuthUrlMap: OAuthUrlMap = {
11
14
  };
12
15
  interface AuthFormContextType {
13
16
  step: AuthStep;
14
- apiKey: string;
15
- baseUrl: string;
16
- fetchAuthMaterial: (refreshToken: string) => Promise<AuthMaterialWithUser>;
17
17
  appearance?: UIConfig;
18
18
  loginMethods: LoginMethod[];
19
19
  oauthUrlMap: OAuthUrlMap;
20
20
  isLoadingOauthUrlMap: boolean;
21
+ baseUrl: string;
21
22
  setStep: (step: AuthStep) => void;
22
23
  setDialogOpen: (open: boolean) => void;
23
24
  }
24
25
 
25
26
  type ContextInitialStateProps = {
26
- apiKey: string;
27
- baseUrl: string;
28
- fetchAuthMaterial: (refreshToken: string) => Promise<AuthMaterialWithUser>;
29
27
  appearance?: UIConfig;
30
28
  loginMethods: LoginMethod[];
29
+ baseUrl: string;
31
30
  setDialogOpen?: (open: boolean) => void;
31
+ embeddedWallets: CrossmintAuthWalletConfig;
32
32
  };
33
33
 
34
34
  const AuthFormContext = createContext<AuthFormContextType | undefined>(undefined);
@@ -45,72 +45,64 @@ export const AuthFormProvider = ({
45
45
  children,
46
46
  initialState,
47
47
  }: { children: ReactNode; initialState: ContextInitialStateProps }) => {
48
+ const { crossmintAuth } = useCrossmintAuth();
48
49
  const [step, setStep] = useState<AuthStep>("initial");
49
50
  const [oauthUrlMap, setOauthUrlMap] = useState<OAuthUrlMap>(initialOAuthUrlMap);
50
51
  const [isLoadingOauthUrlMap, setIsLoadingOauthUrlMap] = useState(true);
51
52
 
52
- const { loginMethods, apiKey, baseUrl } = initialState;
53
+ const { loginMethods, baseUrl, setDialogOpen, appearance, embeddedWallets } = initialState;
53
54
 
54
- useEffect(() => {
55
- const preFetchAndSetOauthUrl = async () => {
56
- setIsLoadingOauthUrlMap(true);
57
- try {
58
- const oauthProviders = loginMethods.filter(
59
- (method): method is OAuthProvider => method in initialOAuthUrlMap
60
- );
55
+ if (loginMethods.includes("web3") && embeddedWallets?.createOnLogin === "all-users") {
56
+ throw new Error("Creating wallets on login is not yet supported for web3 login method");
57
+ }
58
+
59
+ const preFetchAndSetOauthUrl = useCallback(async () => {
60
+ setIsLoadingOauthUrlMap(true);
61
+ try {
62
+ const oauthProviders = loginMethods.filter(
63
+ (method): method is OAuthProvider => method in initialOAuthUrlMap
64
+ );
61
65
 
62
- const oauthPromiseList = oauthProviders.map(async (provider) => {
63
- const url = await getOAuthUrl(provider, { apiKey, baseUrl });
64
- return { [provider]: url };
65
- });
66
+ const oauthPromiseList = oauthProviders.map(async (provider) => {
67
+ const url = await crossmintAuth?.getOAuthUrl(provider);
68
+ return { [provider]: url };
69
+ });
70
+
71
+ const oauthUrlMap = Object.assign({}, ...(await Promise.all(oauthPromiseList)));
72
+ setOauthUrlMap(oauthUrlMap);
73
+ } catch (error) {
74
+ console.error("Error fetching OAuth URLs:", error);
75
+ } finally {
76
+ setIsLoadingOauthUrlMap(false);
77
+ }
78
+ }, [loginMethods, crossmintAuth]);
66
79
 
67
- const oauthUrlMap = Object.assign({}, ...(await Promise.all(oauthPromiseList)));
68
- setOauthUrlMap(oauthUrlMap);
69
- } catch (error) {
70
- console.error("Error fetching OAuth URLs:", error);
71
- } finally {
72
- setIsLoadingOauthUrlMap(false);
73
- }
74
- };
80
+ useEffect(() => {
75
81
  preFetchAndSetOauthUrl();
76
- }, [loginMethods, apiKey, baseUrl]);
82
+ }, [preFetchAndSetOauthUrl]);
83
+
84
+ const handleToggleDialog = (open: boolean) => {
85
+ setDialogOpen?.(open);
86
+ if (!open) {
87
+ // Delay to allow the close transition to complete before resetting the step
88
+ setTimeout(() => setStep("initial"), 250);
89
+ }
90
+ };
77
91
 
78
92
  const value: AuthFormContextType = {
79
93
  step,
80
- apiKey,
81
94
  baseUrl,
82
- fetchAuthMaterial: initialState.fetchAuthMaterial,
83
- appearance: initialState.appearance,
95
+ appearance,
84
96
  loginMethods,
85
97
  oauthUrlMap,
86
98
  isLoadingOauthUrlMap,
87
- setDialogOpen: initialState.setDialogOpen ?? (() => {}),
99
+ setDialogOpen: handleToggleDialog,
88
100
  setStep,
89
101
  };
90
102
 
91
- return <AuthFormContext.Provider value={value}>{children}</AuthFormContext.Provider>;
103
+ return (
104
+ <AuthFormContext.Provider value={value}>
105
+ <WagmiAuthProvider>{children}</WagmiAuthProvider>
106
+ </AuthFormContext.Provider>
107
+ );
92
108
  };
93
-
94
- async function getOAuthUrl(provider: OAuthProvider, options: { baseUrl: string; apiKey: string }) {
95
- try {
96
- const queryParams = new URLSearchParams({ apiKey: options.apiKey });
97
- const response = await fetch(
98
- `${options.baseUrl}api/2024-09-26/session/sdk/auth/social/${provider}/start?${queryParams}`,
99
- {
100
- headers: {
101
- "x-api-key": options.apiKey,
102
- },
103
- }
104
- );
105
-
106
- if (!response.ok) {
107
- throw new Error("Failed to get OAuth URL. Please try again or contact support.");
108
- }
109
-
110
- const data = (await response.json()) as { oauthUrl: string };
111
- return data.oauthUrl;
112
- } catch (error) {
113
- console.error(`Error fetching OAuth URL for ${provider}:`, error);
114
- throw new Error(`Failed to get OAuth URL for ${provider}. Please try again or contact support.`);
115
- }
116
- }
@@ -0,0 +1,56 @@
1
+ import type React from "react";
2
+ import { createConfig, http, WagmiProvider } from "wagmi";
3
+ import {
4
+ arbitrum,
5
+ arbitrumSepolia,
6
+ base,
7
+ baseSepolia,
8
+ optimism,
9
+ optimismSepolia,
10
+ polygon,
11
+ polygonAmoy,
12
+ mainnet,
13
+ } from "wagmi/chains";
14
+ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
15
+ import { metaMask, walletConnect } from "wagmi/connectors";
16
+
17
+ const ALCHEMY_API_KEY = "-7M6vRDBDknwvMxnqah_jbcieWg0qad9";
18
+ const ALCHEMY_RPC_SUBDOMAIN = {
19
+ mainnet: "mainnet",
20
+ polygon: "polygon-mainnet",
21
+ "polygon-amoy": "polygon-amoy",
22
+ base: "base-mainnet",
23
+ "base-sepolia": "base-sepolia",
24
+ optimism: "opt-mainnet",
25
+ "optimism-sepolia": "opt-sepolia",
26
+ arbitrum: "arb-mainnet",
27
+ "arbitrum-sepolia": "arb-sepolia",
28
+ };
29
+ function getAlchemyRPC(chain: keyof typeof ALCHEMY_RPC_SUBDOMAIN): string {
30
+ return `https://${ALCHEMY_RPC_SUBDOMAIN[chain]}.g.alchemy.com/v2/${ALCHEMY_API_KEY}`;
31
+ }
32
+
33
+ const config = createConfig({
34
+ chains: [mainnet, base, polygon, optimism, arbitrum, baseSepolia, polygonAmoy, optimismSepolia, arbitrumSepolia],
35
+ connectors: [metaMask(), walletConnect({ projectId: "94ed8f7549329dad7be968888eec3688" })],
36
+ transports: {
37
+ [mainnet.id]: http(getAlchemyRPC("mainnet")),
38
+ [base.id]: http(getAlchemyRPC("base")),
39
+ [polygon.id]: http(getAlchemyRPC("polygon")),
40
+ [optimism.id]: http(getAlchemyRPC("optimism")),
41
+ [arbitrum.id]: http(getAlchemyRPC("arbitrum")),
42
+ [baseSepolia.id]: http(getAlchemyRPC("base-sepolia")),
43
+ [polygonAmoy.id]: http(getAlchemyRPC("polygon-amoy")),
44
+ [optimismSepolia.id]: http(getAlchemyRPC("optimism-sepolia")),
45
+ [arbitrumSepolia.id]: http(getAlchemyRPC("arbitrum-sepolia")),
46
+ },
47
+ });
48
+
49
+ export function WagmiAuthProvider({ children }: { children: React.ReactNode }) {
50
+ const queryClient = new QueryClient();
51
+ return (
52
+ <WagmiProvider config={config}>
53
+ <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
54
+ </WagmiProvider>
55
+ );
56
+ }
package/src/testUtils.ts CHANGED
@@ -1,5 +1 @@
1
1
  export const MOCK_API_KEY = "sk_development_12341234";
2
- export const waitForSettledState = async (callback: () => void) => {
3
- await new Promise((resolve) => setTimeout(resolve, 20));
4
- callback();
5
- };
@@ -4,9 +4,6 @@ import presetTailwind from "@twind/preset-tailwind";
4
4
  export default defineConfig({
5
5
  presets: [presetTailwind()],
6
6
  theme: {
7
- screens: {
8
- xs: "480px",
9
- },
10
7
  extend: {
11
8
  colors: {
12
9
  // Crossmint colors (cm- prefix)
@@ -14,8 +11,10 @@ export default defineConfig({
14
11
  "cm-text-secondary": "#67797F",
15
12
  "cm-background-primary": "#FFFFFF",
16
13
  "cm-muted-primary": "#F0F2F4",
14
+ "cm-hover": "#E9ECF0",
17
15
  "cm-border": "#D9D9D9",
18
- "cm-ring": "#1A73E8",
16
+ "cm-link": "#1A73E8",
17
+ "cm-accent": "#04AA6D",
19
18
  },
20
19
  keyframes: {
21
20
  "caret-blink": {
@@ -94,7 +93,7 @@ export default defineConfig({
94
93
  },
95
94
  rules: [
96
95
  [
97
- "responsive-border-radius-auth-dialog",
96
+ "cm-responsive-border-radius-auth-dialog",
98
97
  {
99
98
  "@media (max-width: 479px)": {
100
99
  "border-bottom-left-radius": "0 !important",
@@ -102,6 +101,14 @@ export default defineConfig({
102
101
  },
103
102
  },
104
103
  ],
104
+ [
105
+ "focus-ring-custom",
106
+ {
107
+ "&:focus": {
108
+ "box-shadow": "0 0 0 3px var(--focus-ring-color)",
109
+ },
110
+ },
111
+ ],
105
112
  ],
106
113
  /* config */
107
114
  });
@@ -1,117 +0,0 @@
1
- import type { UseSignInData } from "@farcaster/auth-kit";
2
-
3
- export function useAuthSignIn() {
4
- return {
5
- onEmailSignIn,
6
- onConfirmEmailOtp,
7
- onFarcasterSignIn,
8
- };
9
- }
10
-
11
- async function onEmailSignIn(email: string, options: { baseUrl: string; apiKey: string }) {
12
- try {
13
- const queryParams = new URLSearchParams({ apiKey: options.apiKey });
14
- const response = await fetch(`${options.baseUrl}api/2024-09-26/session/sdk/auth/otps/send?${queryParams}`, {
15
- headers: {
16
- "Content-Type": "application/json",
17
- "x-api-key": options.apiKey,
18
- },
19
- credentials: "same-origin",
20
- cache: "no-cache",
21
- mode: "cors",
22
- method: "POST",
23
- body: JSON.stringify({ email }),
24
- });
25
-
26
- if (!response?.ok) {
27
- throw new Error("Failed to send email. Please try again or contact support.");
28
- }
29
-
30
- return await response.json();
31
- } catch (err) {
32
- console.error("Error signing in via email ", err);
33
- throw new Error("Error signing in via email " + err);
34
- }
35
- }
36
-
37
- async function onConfirmEmailOtp(
38
- email: string,
39
- emailId: string,
40
- token: string,
41
- options: { baseUrl: string; apiKey: string }
42
- ) {
43
- try {
44
- const queryParams = new URLSearchParams({
45
- email,
46
- signinAuthenticationMethod: "email",
47
- apiKey: options.apiKey,
48
- token,
49
- locale: "en",
50
- state: emailId,
51
- callbackUrl: `${options.baseUrl}api/2024-09-26/session/sdk/auth/we-dont-actually-use-this-anymore`,
52
- });
53
- const response = await fetch(`${options.baseUrl}api/2024-09-26/session/sdk/auth/authenticate?${queryParams}`, {
54
- headers: {
55
- "Content-Type": "application/json",
56
- "x-api-key": options.apiKey,
57
- },
58
- credentials: "same-origin",
59
- cache: "no-cache",
60
- mode: "cors",
61
- method: "POST",
62
- });
63
-
64
- if (!response?.ok) {
65
- throw new Error("Failed to confirm email otp. Please try again or contact support.");
66
- }
67
-
68
- const data = await response.json();
69
- const callbackUrl = new URL(data.callbackUrl);
70
-
71
- // parse the oneTimeSecret from the callbackUrl response
72
- return callbackUrl.searchParams.get("oneTimeSecret");
73
- } catch (err) {
74
- console.error("Error confirming email otp ", err);
75
- throw new Error("Error confirming email otp " + err);
76
- }
77
- }
78
-
79
- async function onFarcasterSignIn(data: UseSignInData, options: { baseUrl: string; apiKey: string }) {
80
- try {
81
- const queryParams = new URLSearchParams({
82
- signinAuthenticationMethod: "farcaster",
83
- apiKey: options.apiKey,
84
- callbackUrl: `${options.baseUrl}sdk/2024-09-26/auth/callback?isPopup=false`,
85
- });
86
-
87
- const response = await fetch(`${options.baseUrl}api/2024-09-26/session/sdk/auth/authenticate?${queryParams}`, {
88
- headers: {
89
- "Content-Type": "application/json",
90
- "x-api-key": options.apiKey,
91
- },
92
- body: JSON.stringify({
93
- ...data,
94
- domain: data.signatureParams.domain,
95
- redirect: true,
96
- callbackUrl: `${options.baseUrl}sdk/2024-09-26/auth/callback?isPopup=false`,
97
- }),
98
- credentials: "same-origin",
99
- cache: "no-cache",
100
- mode: "cors",
101
- method: "POST",
102
- });
103
-
104
- if (!response?.ok) {
105
- throw new Error("Failed to sign in via farcaster. Please try again or contact support.");
106
- }
107
-
108
- const resData = await response.json();
109
- const callbackUrl = new URL(resData.callbackUrl);
110
-
111
- // parse the oneTimeSecret from the callbackUrl response
112
- return callbackUrl.searchParams.get("oneTimeSecret");
113
- } catch (err) {
114
- console.error("Error signing in via farcaster ", err);
115
- throw new Error("Error signing in via farcaster " + err);
116
- }
117
- }
@@ -1,155 +0,0 @@
1
- import { act, renderHook } from "@testing-library/react";
2
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
3
-
4
- import type { AuthMaterialWithUser } from "@crossmint/common-sdk-auth";
5
- import { type CrossmintAuthService, getJWTExpiration } from "@crossmint/client-sdk-auth";
6
- import { queueTask } from "@crossmint/client-sdk-base";
7
-
8
- import * as authCookies from "../utils/authCookies";
9
- import { useRefreshToken } from "./useRefreshToken";
10
-
11
- vi.mock("@crossmint/client-sdk-auth", () => ({
12
- CrossmintAuthService: vi.fn(),
13
- getJWTExpiration: vi.fn(),
14
- }));
15
-
16
- vi.mock("../utils/authCookies", () => ({
17
- getCookie: vi.fn(),
18
- REFRESH_TOKEN_PREFIX: "crossmint-refresh-token",
19
- }));
20
-
21
- vi.mock("@crossmint/client-sdk-base", async () => {
22
- const actual = await vi.importActual("@crossmint/client-sdk-base");
23
- return {
24
- ...actual,
25
- queueTask: vi.fn(),
26
- };
27
- });
28
-
29
- describe("useRefreshToken", () => {
30
- const mockCrossmintAuthService = {
31
- refreshAuthMaterial: vi.fn(),
32
- } as unknown as CrossmintAuthService;
33
-
34
- const mockSetAuthMaterial = vi.fn();
35
-
36
- beforeEach(() => {
37
- vi.useFakeTimers();
38
- vi.spyOn(console, "error").mockImplementation(() => {});
39
- });
40
-
41
- afterEach(() => {
42
- vi.restoreAllMocks();
43
- vi.useRealTimers();
44
- });
45
-
46
- it("should not refresh token if refresh token is not present", async () => {
47
- vi.mocked(authCookies.getCookie).mockReturnValue(undefined);
48
-
49
- renderHook(() =>
50
- useRefreshToken({
51
- crossmintAuthService: mockCrossmintAuthService,
52
- setAuthMaterial: mockSetAuthMaterial,
53
- logout: vi.fn(),
54
- })
55
- );
56
-
57
- await act(async () => {
58
- await vi.runAllTimersAsync();
59
- });
60
-
61
- expect(mockCrossmintAuthService.refreshAuthMaterial).not.toHaveBeenCalled();
62
- expect(mockSetAuthMaterial).not.toHaveBeenCalled();
63
- });
64
-
65
- it("should refresh token if refresh token is present", async () => {
66
- const mockRefreshToken = "mock-refresh-token";
67
- const mockAuthMaterial: AuthMaterialWithUser = {
68
- jwt: "mock-jwt-token",
69
- refreshToken: {
70
- secret: "mock-secret",
71
- expiresAt: "2023-04-01T00:00:00Z",
72
- },
73
- user: {
74
- id: "123",
75
- email: "test@test.com",
76
- },
77
- };
78
-
79
- vi.mocked(authCookies.getCookie).mockReturnValue(mockRefreshToken);
80
- vi.mocked(mockCrossmintAuthService.refreshAuthMaterial).mockResolvedValue(mockAuthMaterial);
81
- vi.mocked(getJWTExpiration).mockReturnValue(Date.now() / 1000 + 3600); // 1 hour from now
82
-
83
- renderHook(() =>
84
- useRefreshToken({
85
- crossmintAuthService: mockCrossmintAuthService,
86
- setAuthMaterial: mockSetAuthMaterial,
87
- logout: vi.fn(),
88
- })
89
- );
90
-
91
- await act(async () => {
92
- await vi.runAllTimersAsync();
93
- });
94
-
95
- expect(mockCrossmintAuthService.refreshAuthMaterial).toHaveBeenCalledWith(mockRefreshToken);
96
- expect(mockSetAuthMaterial).toHaveBeenCalledWith(mockAuthMaterial);
97
- });
98
-
99
- it("should schedule next refresh before token expiration", async () => {
100
- const mockRefreshToken = "mock-refresh-token";
101
- const mockAuthMaterial: AuthMaterialWithUser = {
102
- jwt: "mock-jwt-token",
103
- refreshToken: {
104
- secret: "mock-secret",
105
- expiresAt: "2023-04-01T00:00:00Z",
106
- },
107
- user: {
108
- id: "123",
109
- email: "test@test.com",
110
- },
111
- };
112
-
113
- vi.mocked(authCookies.getCookie).mockReturnValue(mockRefreshToken);
114
- vi.mocked(mockCrossmintAuthService.refreshAuthMaterial).mockResolvedValue(mockAuthMaterial);
115
- vi.mocked(getJWTExpiration).mockReturnValue(Date.now() / 1000 + 3600); // 1 hour from now
116
-
117
- renderHook(() =>
118
- useRefreshToken({
119
- crossmintAuthService: mockCrossmintAuthService,
120
- setAuthMaterial: mockSetAuthMaterial,
121
- logout: vi.fn(),
122
- })
123
- );
124
-
125
- await act(async () => {
126
- await vi.runAllTimersAsync();
127
- });
128
-
129
- expect(vi.mocked(queueTask)).toHaveBeenCalledTimes(1);
130
- expect(vi.mocked(queueTask)).toHaveBeenCalledWith(expect.any(Function), expect.any(Number));
131
- });
132
-
133
- it("should handle errors during token refresh", async () => {
134
- const mockRefreshToken = "mock-refresh-token";
135
- const mockError = new Error("Refresh failed");
136
-
137
- vi.mocked(authCookies.getCookie).mockReturnValue(mockRefreshToken);
138
- vi.mocked(mockCrossmintAuthService.refreshAuthMaterial).mockRejectedValue(mockError);
139
-
140
- renderHook(() =>
141
- useRefreshToken({
142
- crossmintAuthService: mockCrossmintAuthService,
143
- setAuthMaterial: mockSetAuthMaterial,
144
- logout: vi.fn(),
145
- })
146
- );
147
-
148
- await act(async () => {
149
- await vi.runAllTimersAsync();
150
- });
151
-
152
- expect(console.error).toHaveBeenCalledWith(mockError);
153
- expect(mockSetAuthMaterial).not.toHaveBeenCalled();
154
- });
155
- });