@crossmint/client-sdk-react-ui 1.10.7 → 1.11.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 (192) hide show
  1. package/dist/{chunk-LJA62EVT.cjs → chunk-3DNABH3U.cjs} +6 -6
  2. package/dist/chunk-3DNABH3U.cjs.map +1 -0
  3. package/dist/{chunk-K5S6RUJ3.cjs → chunk-3PV5EK7P.cjs} +3 -3
  4. package/dist/{chunk-QFZ6GZZR.cjs → chunk-4F4YOWCE.cjs} +3 -3
  5. package/dist/{chunk-MCINXS2Y.cjs → chunk-4S3T65XY.cjs} +1 -1
  6. package/dist/{chunk-HZ26XTTK.cjs → chunk-6HYESP6N.cjs} +4 -4
  7. package/dist/{chunk-BURUD6IV.cjs → chunk-6JDOBNKD.cjs} +3 -3
  8. package/dist/{chunk-6PPUWTTF.cjs → chunk-7GWCNJOK.cjs} +3 -3
  9. package/dist/chunk-7UXIFMNO.js +1 -0
  10. package/dist/{chunk-UGHW5HMB.cjs → chunk-E4SMHCKA.cjs} +4 -4
  11. package/dist/chunk-EAEMD3DY.cjs +34 -0
  12. package/dist/chunk-EAEMD3DY.cjs.map +1 -0
  13. package/dist/{chunk-5EE2IAIP.js → chunk-FKLRSMKS.js} +5 -5
  14. package/dist/chunk-FKLRSMKS.js.map +1 -0
  15. package/dist/chunk-IDJ7FOHB.js +34 -0
  16. package/dist/chunk-IDJ7FOHB.js.map +1 -0
  17. package/dist/{chunk-DCMLWFDK.js → chunk-J3UJX77B.js} +2 -2
  18. package/dist/{chunk-FGHABNQM.js → chunk-JD2M6AS5.js} +2 -2
  19. package/dist/{chunk-FGHABNQM.js.map → chunk-JD2M6AS5.js.map} +1 -1
  20. package/dist/chunk-JWEEEVCE.js +83 -0
  21. package/dist/chunk-JWEEEVCE.js.map +1 -0
  22. package/dist/{chunk-DR67KSE7.js → chunk-KEF5UBVQ.js} +2 -2
  23. package/dist/chunk-KPQDVXHK.js +105 -0
  24. package/dist/chunk-KPQDVXHK.js.map +1 -0
  25. package/dist/{chunk-BFTVVPCU.js → chunk-KPTRUNFA.js} +2 -2
  26. package/dist/{chunk-O53ZB544.js → chunk-LBGALVRW.js} +1 -1
  27. package/dist/chunk-LDTLGSZB.cjs +83 -0
  28. package/dist/chunk-LDTLGSZB.cjs.map +1 -0
  29. package/dist/{chunk-2ROLE4XU.cjs → chunk-M7QMNNHL.cjs} +3 -3
  30. package/dist/{chunk-U7LXB3SM.js → chunk-MARIDIHZ.js} +2 -2
  31. package/dist/{chunk-HOTEC5UH.js → chunk-NLGUTNQM.js} +2 -2
  32. package/dist/{chunk-YNBGMNE6.cjs → chunk-ODL7X7KV.cjs} +3 -3
  33. package/dist/chunk-PCY3N6C2.js +1 -0
  34. package/dist/chunk-PCY3N6C2.js.map +1 -0
  35. package/dist/{chunk-7BZSIPWM.js → chunk-QCOHQSZM.js} +2 -2
  36. package/dist/{chunk-ZJC4OB5Z.cjs → chunk-QFVOIF7B.cjs} +3 -3
  37. package/dist/{chunk-GMKTZIU2.cjs → chunk-QP2A7HRU.cjs} +3 -3
  38. package/dist/chunk-RU4ZOZP5.cjs +1 -0
  39. package/dist/chunk-UD3UTFV3.cjs +1 -0
  40. package/dist/chunk-UD3UTFV3.cjs.map +1 -0
  41. package/dist/{chunk-Y3SUMTUI.cjs → chunk-W3P2I3UE.cjs} +2 -2
  42. package/dist/{chunk-Y3SUMTUI.cjs.map → chunk-W3P2I3UE.cjs.map} +1 -1
  43. package/dist/{chunk-6EX2VR7S.js → chunk-X4GDZRHJ.js} +2 -2
  44. package/dist/{chunk-HW2Q6J4R.js → chunk-XQOEKZSB.js} +2 -2
  45. package/dist/{chunk-TH42AO6J.js → chunk-XZPSXJOK.js} +2 -2
  46. package/dist/chunk-Z6QSH522.cjs +105 -0
  47. package/dist/chunk-Z6QSH522.cjs.map +1 -0
  48. package/dist/{chunk-5UXGDXPR.js → chunk-ZAW535DG.js} +2 -2
  49. package/dist/components/CrossmintNFTCollectionView.cjs +3 -3
  50. package/dist/components/CrossmintNFTCollectionView.js +2 -2
  51. package/dist/components/CrossmintNFTDetail.cjs +3 -3
  52. package/dist/components/CrossmintNFTDetail.js +2 -2
  53. package/dist/components/auth/AuthForm.cjs +5 -5
  54. package/dist/components/auth/AuthForm.js +4 -4
  55. package/dist/components/auth/AuthFormBackButton.cjs +5 -5
  56. package/dist/components/auth/AuthFormBackButton.js +4 -4
  57. package/dist/components/auth/AuthFormDialog.cjs +5 -5
  58. package/dist/components/auth/AuthFormDialog.js +4 -4
  59. package/dist/components/auth/EmbeddedAuthForm.cjs +6 -6
  60. package/dist/components/auth/EmbeddedAuthForm.js +5 -5
  61. package/dist/components/auth/methods/email/EmailAuthFlow.cjs +5 -5
  62. package/dist/components/auth/methods/email/EmailAuthFlow.js +4 -4
  63. package/dist/components/auth/methods/email/EmailOTPInput.cjs +5 -5
  64. package/dist/components/auth/methods/email/EmailOTPInput.js +4 -4
  65. package/dist/components/auth/methods/email/EmailSignIn.cjs +5 -5
  66. package/dist/components/auth/methods/email/EmailSignIn.js +4 -4
  67. package/dist/components/auth/methods/farcaster/FarcasterSignIn.cjs +5 -5
  68. package/dist/components/auth/methods/farcaster/FarcasterSignIn.js +4 -4
  69. package/dist/components/auth/methods/google/GoogleSignIn.cjs +5 -5
  70. package/dist/components/auth/methods/google/GoogleSignIn.js +4 -4
  71. package/dist/components/auth/methods/web3/Web3AuthFlow.cjs +12 -12
  72. package/dist/components/auth/methods/web3/Web3AuthFlow.js +9 -9
  73. package/dist/components/auth/methods/web3/Web3AuthFlowButton.cjs +6 -6
  74. package/dist/components/auth/methods/web3/Web3AuthFlowButton.js +5 -5
  75. package/dist/components/auth/methods/web3/Web3Connectors.cjs +6 -6
  76. package/dist/components/auth/methods/web3/Web3Connectors.js +5 -5
  77. package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.cjs +9 -0
  78. package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.cjs.map +1 -0
  79. package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.d.cts +9 -0
  80. package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.d.ts +9 -0
  81. package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.js +9 -0
  82. package/dist/components/common/CrossmintLogoV2/CrossmintLogoV2.js.map +1 -0
  83. package/dist/components/common/CrossmintLogoV2/consts.cjs +12 -0
  84. package/dist/components/common/CrossmintLogoV2/consts.cjs.map +1 -0
  85. package/dist/components/common/CrossmintLogoV2/consts.d.cts +35 -0
  86. package/dist/components/common/CrossmintLogoV2/consts.d.ts +35 -0
  87. package/dist/components/common/CrossmintLogoV2/consts.js +12 -0
  88. package/dist/components/common/CrossmintLogoV2/consts.js.map +1 -0
  89. package/dist/components/common/CrossmintLogoV2/schemas.cjs +34 -0
  90. package/dist/components/common/CrossmintLogoV2/schemas.cjs.map +1 -0
  91. package/dist/components/common/CrossmintLogoV2/schemas.d.cts +199 -0
  92. package/dist/components/common/CrossmintLogoV2/schemas.d.ts +199 -0
  93. package/dist/components/common/CrossmintLogoV2/schemas.js +34 -0
  94. package/dist/components/common/CrossmintLogoV2/schemas.js.map +1 -0
  95. package/dist/components/common/Divider.cjs +5 -5
  96. package/dist/components/common/Divider.js +4 -4
  97. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.cjs +7 -7
  98. package/dist/components/embed/v3/CrossmintEmbeddedCheckoutV3.js +6 -6
  99. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.cjs +6 -6
  100. package/dist/components/embed/v3/EmbeddedCheckoutV3IFrame.js +5 -5
  101. package/dist/components/embed/v3/index.cjs +7 -7
  102. package/dist/components/embed/v3/index.js +6 -6
  103. package/dist/components/hosted/CrossmintPayButton.cjs +3 -3
  104. package/dist/components/hosted/CrossmintPayButton.js +2 -2
  105. package/dist/components/hosted/index.cjs +13 -4
  106. package/dist/components/hosted/index.d.cts +1 -0
  107. package/dist/components/hosted/index.d.ts +1 -0
  108. package/dist/components/hosted/index.js +12 -3
  109. package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.cjs +13 -0
  110. package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.cjs.map +1 -0
  111. package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.d.cts +8 -0
  112. package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.d.ts +8 -0
  113. package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.js +13 -0
  114. package/dist/components/hosted/v3/CrossmintHostedCheckoutV3.js.map +1 -0
  115. package/dist/components/hosted/v3/index.cjs +14 -0
  116. package/dist/components/hosted/v3/index.cjs.map +1 -0
  117. package/dist/components/hosted/v3/index.d.cts +4 -0
  118. package/dist/components/hosted/v3/index.d.ts +4 -0
  119. package/dist/components/hosted/v3/index.js +14 -0
  120. package/dist/components/hosted/v3/index.js.map +1 -0
  121. package/dist/components/index.cjs +19 -12
  122. package/dist/components/index.d.cts +1 -0
  123. package/dist/components/index.d.ts +1 -0
  124. package/dist/components/index.js +18 -11
  125. package/dist/consts/version.cjs +2 -2
  126. package/dist/consts/version.js +1 -1
  127. package/dist/hooks/index.cjs +5 -5
  128. package/dist/hooks/index.js +4 -4
  129. package/dist/hooks/useAuth.cjs +5 -5
  130. package/dist/hooks/useAuth.js +4 -4
  131. package/dist/hooks/useCrossmintAuth.cjs +5 -5
  132. package/dist/hooks/useCrossmintAuth.js +4 -4
  133. package/dist/hooks/useCrossmintCheckout.cjs +4 -4
  134. package/dist/hooks/useCrossmintCheckout.js +3 -3
  135. package/dist/hooks/useOAuthWindowListener.cjs +5 -5
  136. package/dist/hooks/useOAuthWindowListener.js +4 -4
  137. package/dist/hooks/useWallet.cjs +5 -5
  138. package/dist/hooks/useWallet.js +4 -4
  139. package/dist/index.cjs +19 -12
  140. package/dist/index.cjs.map +1 -1
  141. package/dist/index.d.cts +1 -0
  142. package/dist/index.d.ts +1 -0
  143. package/dist/index.js +18 -11
  144. package/dist/index.js.map +1 -1
  145. package/dist/providers/CrossmintAuthProvider.cjs +5 -5
  146. package/dist/providers/CrossmintAuthProvider.js +4 -4
  147. package/dist/providers/CrossmintWalletProvider.cjs +5 -5
  148. package/dist/providers/CrossmintWalletProvider.js +4 -4
  149. package/dist/providers/auth/AuthFormProvider.cjs +5 -5
  150. package/dist/providers/auth/AuthFormProvider.js +4 -4
  151. package/dist/providers/auth/web3/DynamicWeb3WalletConnect.cjs +6 -6
  152. package/dist/providers/auth/web3/DynamicWeb3WalletConnect.js +5 -5
  153. package/dist/providers/index.cjs +5 -5
  154. package/dist/providers/index.js +4 -4
  155. package/dist/utils/createCrossmintApiClient.cjs +3 -3
  156. package/dist/utils/createCrossmintApiClient.js +2 -2
  157. package/package.json +7 -6
  158. package/src/components/common/CrossmintLogoV2/CrossmintLogoV2.tsx +98 -0
  159. package/src/components/common/CrossmintLogoV2/consts.ts +28 -0
  160. package/src/components/common/CrossmintLogoV2/schemas.ts +34 -0
  161. package/src/components/embed/v3/EmbeddedCheckoutV3IFrame.tsx +3 -3
  162. package/src/components/hosted/index.ts +2 -0
  163. package/src/components/hosted/v3/CrossmintHostedCheckoutV3.tsx +74 -0
  164. package/src/components/hosted/v3/index.ts +1 -0
  165. package/dist/chunk-5EE2IAIP.js.map +0 -1
  166. package/dist/chunk-7SBZ6OIH.js +0 -1
  167. package/dist/chunk-BKVDVDKX.cjs +0 -1
  168. package/dist/chunk-LJA62EVT.cjs.map +0 -1
  169. /package/dist/{chunk-K5S6RUJ3.cjs.map → chunk-3PV5EK7P.cjs.map} +0 -0
  170. /package/dist/{chunk-QFZ6GZZR.cjs.map → chunk-4F4YOWCE.cjs.map} +0 -0
  171. /package/dist/{chunk-MCINXS2Y.cjs.map → chunk-4S3T65XY.cjs.map} +0 -0
  172. /package/dist/{chunk-HZ26XTTK.cjs.map → chunk-6HYESP6N.cjs.map} +0 -0
  173. /package/dist/{chunk-BURUD6IV.cjs.map → chunk-6JDOBNKD.cjs.map} +0 -0
  174. /package/dist/{chunk-6PPUWTTF.cjs.map → chunk-7GWCNJOK.cjs.map} +0 -0
  175. /package/dist/{chunk-7SBZ6OIH.js.map → chunk-7UXIFMNO.js.map} +0 -0
  176. /package/dist/{chunk-UGHW5HMB.cjs.map → chunk-E4SMHCKA.cjs.map} +0 -0
  177. /package/dist/{chunk-DCMLWFDK.js.map → chunk-J3UJX77B.js.map} +0 -0
  178. /package/dist/{chunk-DR67KSE7.js.map → chunk-KEF5UBVQ.js.map} +0 -0
  179. /package/dist/{chunk-BFTVVPCU.js.map → chunk-KPTRUNFA.js.map} +0 -0
  180. /package/dist/{chunk-O53ZB544.js.map → chunk-LBGALVRW.js.map} +0 -0
  181. /package/dist/{chunk-2ROLE4XU.cjs.map → chunk-M7QMNNHL.cjs.map} +0 -0
  182. /package/dist/{chunk-U7LXB3SM.js.map → chunk-MARIDIHZ.js.map} +0 -0
  183. /package/dist/{chunk-HOTEC5UH.js.map → chunk-NLGUTNQM.js.map} +0 -0
  184. /package/dist/{chunk-YNBGMNE6.cjs.map → chunk-ODL7X7KV.cjs.map} +0 -0
  185. /package/dist/{chunk-7BZSIPWM.js.map → chunk-QCOHQSZM.js.map} +0 -0
  186. /package/dist/{chunk-ZJC4OB5Z.cjs.map → chunk-QFVOIF7B.cjs.map} +0 -0
  187. /package/dist/{chunk-GMKTZIU2.cjs.map → chunk-QP2A7HRU.cjs.map} +0 -0
  188. /package/dist/{chunk-BKVDVDKX.cjs.map → chunk-RU4ZOZP5.cjs.map} +0 -0
  189. /package/dist/{chunk-6EX2VR7S.js.map → chunk-X4GDZRHJ.js.map} +0 -0
  190. /package/dist/{chunk-HW2Q6J4R.js.map → chunk-XQOEKZSB.js.map} +0 -0
  191. /package/dist/{chunk-TH42AO6J.js.map → chunk-XZPSXJOK.js.map} +0 -0
  192. /package/dist/{chunk-5UXGDXPR.js.map → chunk-ZAW535DG.js.map} +0 -0
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  DynamicWeb3WalletConnect
3
- } from "../../../chunk-BFTVVPCU.js";
3
+ } from "../../../chunk-KPTRUNFA.js";
4
4
  import "../../../chunk-6CPZDD6Y.js";
5
5
  import "../../../chunk-RZT2J42J.js";
6
- import "../../../chunk-O53ZB544.js";
6
+ import "../../../chunk-LBGALVRW.js";
7
7
  import "../../../chunk-A7J4DAE7.js";
8
8
  import "../../../chunk-XEZF7G64.js";
9
9
  import "../../../chunk-NMXFWIFA.js";
@@ -21,11 +21,11 @@ import "../../../chunk-I63FQCIV.js";
21
21
  import "../../../chunk-ZIHCLVCD.js";
22
22
  import "../../../chunk-H4F7UVPT.js";
23
23
  import "../../../chunk-YWVQCHQF.js";
24
- import "../../../chunk-U7LXB3SM.js";
25
- import "../../../chunk-HOTEC5UH.js";
24
+ import "../../../chunk-MARIDIHZ.js";
25
+ import "../../../chunk-NLGUTNQM.js";
26
26
  import "../../../chunk-3J6CUUWT.js";
27
27
  import "../../../chunk-AUEQQ4D3.js";
28
- import "../../../chunk-FGHABNQM.js";
28
+ import "../../../chunk-JD2M6AS5.js";
29
29
  import "../../../chunk-CRTRMMJ7.js";
30
30
  export {
31
31
  DynamicWeb3WalletConnect
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkMCINXS2Ycjs = require('../chunk-MCINXS2Y.cjs');
6
+ var _chunk4S3T65XYcjs = require('../chunk-4S3T65XY.cjs');
7
7
  require('../chunk-QQXBYOKA.cjs');
8
8
  require('../chunk-MJHLKJ6X.cjs');
9
9
  require('../chunk-QT7UEJZG.cjs');
@@ -21,16 +21,16 @@ require('../chunk-URKPLEPV.cjs');
21
21
  require('../chunk-HPOZ6I54.cjs');
22
22
  require('../chunk-YE55IKBP.cjs');
23
23
  require('../chunk-ENCR5SUW.cjs');
24
- require('../chunk-ZJC4OB5Z.cjs');
25
- require('../chunk-GMKTZIU2.cjs');
24
+ require('../chunk-QFVOIF7B.cjs');
25
+ require('../chunk-QP2A7HRU.cjs');
26
26
  require('../chunk-KEKBOJCF.cjs');
27
27
  require('../chunk-A2JCJ2OV.cjs');
28
- require('../chunk-Y3SUMTUI.cjs');
28
+ require('../chunk-W3P2I3UE.cjs');
29
29
  require('../chunk-4DAZAO6Y.cjs');
30
30
 
31
31
 
32
32
 
33
33
 
34
34
 
35
- exports.AuthContext = _chunkMCINXS2Ycjs.AuthContext; exports.CrossmintAuthProvider = _chunkMCINXS2Ycjs.CrossmintAuthProvider; exports.CrossmintWalletProvider = _chunkMCINXS2Ycjs.CrossmintWalletProvider; exports.WalletContext = _chunkMCINXS2Ycjs.WalletContext;
35
+ exports.AuthContext = _chunk4S3T65XYcjs.AuthContext; exports.CrossmintAuthProvider = _chunk4S3T65XYcjs.CrossmintAuthProvider; exports.CrossmintWalletProvider = _chunk4S3T65XYcjs.CrossmintWalletProvider; exports.WalletContext = _chunk4S3T65XYcjs.WalletContext;
36
36
  //# sourceMappingURL=index.cjs.map
@@ -3,7 +3,7 @@ import {
3
3
  CrossmintAuthProvider,
4
4
  CrossmintWalletProvider,
5
5
  WalletContext
6
- } from "../chunk-O53ZB544.js";
6
+ } from "../chunk-LBGALVRW.js";
7
7
  import "../chunk-A7J4DAE7.js";
8
8
  import "../chunk-XEZF7G64.js";
9
9
  import "../chunk-NMXFWIFA.js";
@@ -21,11 +21,11 @@ import "../chunk-I63FQCIV.js";
21
21
  import "../chunk-ZIHCLVCD.js";
22
22
  import "../chunk-H4F7UVPT.js";
23
23
  import "../chunk-YWVQCHQF.js";
24
- import "../chunk-U7LXB3SM.js";
25
- import "../chunk-HOTEC5UH.js";
24
+ import "../chunk-MARIDIHZ.js";
25
+ import "../chunk-NLGUTNQM.js";
26
26
  import "../chunk-3J6CUUWT.js";
27
27
  import "../chunk-AUEQQ4D3.js";
28
- import "../chunk-FGHABNQM.js";
28
+ import "../chunk-JD2M6AS5.js";
29
29
  import "../chunk-CRTRMMJ7.js";
30
30
  export {
31
31
  AuthContext,
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkGMKTZIU2cjs = require('../chunk-GMKTZIU2.cjs');
4
- require('../chunk-Y3SUMTUI.cjs');
3
+ var _chunkQP2A7HRUcjs = require('../chunk-QP2A7HRU.cjs');
4
+ require('../chunk-W3P2I3UE.cjs');
5
5
  require('../chunk-4DAZAO6Y.cjs');
6
6
 
7
7
 
8
- exports.createCrossmintApiClient = _chunkGMKTZIU2cjs.createCrossmintApiClient;
8
+ exports.createCrossmintApiClient = _chunkQP2A7HRUcjs.createCrossmintApiClient;
9
9
  //# sourceMappingURL=createCrossmintApiClient.cjs.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createCrossmintApiClient
3
- } from "../chunk-HOTEC5UH.js";
4
- import "../chunk-FGHABNQM.js";
3
+ } from "../chunk-NLGUTNQM.js";
4
+ import "../chunk-JD2M6AS5.js";
5
5
  import "../chunk-CRTRMMJ7.js";
6
6
  export {
7
7
  createCrossmintApiClient
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-react-ui",
3
- "version": "1.10.7",
3
+ "version": "1.11.0",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -40,14 +40,15 @@
40
40
  "tailwindcss": "3.4.10",
41
41
  "viem": "2.17.5",
42
42
  "zod": "3.22.4",
43
- "@crossmint/client-sdk-auth": "1.1.3",
44
- "@crossmint/client-sdk-base": "1.3.4",
45
- "@crossmint/client-sdk-smart-wallet": "0.1.24",
46
- "@crossmint/client-sdk-window": "0.1.0",
47
- "@crossmint/common-sdk-auth": "1.0.3",
43
+ "@crossmint/client-sdk-auth": "1.1.4",
44
+ "@crossmint/client-sdk-base": "1.4.0",
45
+ "@crossmint/client-sdk-smart-wallet": "0.1.25",
46
+ "@crossmint/client-sdk-window": "0.2.0",
47
+ "@crossmint/common-sdk-auth": "1.0.4",
48
48
  "@crossmint/common-sdk-base": "0.3.0"
49
49
  },
50
50
  "devDependencies": {
51
+ "pino-pretty": "^7.6.0",
51
52
  "@testing-library/react": "^16.0.1",
52
53
  "@types/color": "4.2.0",
53
54
  "@types/lodash.isequal": "4.5.6",
@@ -0,0 +1,98 @@
1
+ import type { z } from "zod";
2
+ import type { CrossmintLogoColorsAndDisplayType, crossmintLogoColorsAndDisplayTypeSchema } from "./schemas";
3
+ import { CROSSMINT_LOGO_DEFAULTS, CROSSMINT_LOGO_DEFAULT_COLORS, CROSSMINT_LOGO_VIEWBOXES } from "./consts";
4
+ import { useId, type JSX } from "react";
5
+
6
+ export type CrossmintLogoV2Props = Omit<JSX.IntrinsicElements["svg"], "viewBox"> &
7
+ z.input<typeof crossmintLogoColorsAndDisplayTypeSchema>;
8
+
9
+ export function CrossmintLogoV2({ colors, displayType = "icon-and-text", ...props }: CrossmintLogoV2Props) {
10
+ const { icon: iconColor, text: textColor } = {
11
+ icon: colors?.icon || CROSSMINT_LOGO_DEFAULTS.colors.icon,
12
+ text: colors?.text || CROSSMINT_LOGO_DEFAULT_COLORS.light.text,
13
+ };
14
+
15
+ const colorsAndDisplayType: CrossmintLogoColorsAndDisplayType = {
16
+ colors: { icon: iconColor, text: textColor },
17
+ displayType,
18
+ };
19
+
20
+ // We must only set a default width if both width and height are not provided
21
+ if (props.width == null && props.height == null) {
22
+ props.width = 144;
23
+ }
24
+
25
+ const gradientId = useId();
26
+
27
+ const Logo = (
28
+ <svg viewBox={CROSSMINT_LOGO_VIEWBOXES[displayType]} {...props}>
29
+ {getSvgGradientDefinition(colorsAndDisplayType, gradientId)}
30
+ <g>
31
+ <g>
32
+ {getSvgText(colorsAndDisplayType)}
33
+ {getSvgIcon(colorsAndDisplayType, gradientId)}
34
+ </g>
35
+ </g>
36
+ </svg>
37
+ );
38
+
39
+ return Logo;
40
+ }
41
+
42
+ function getSvgGradientDefinition(props: CrossmintLogoColorsAndDisplayType, gradientId: string) {
43
+ const { icon: iconColor } = props.colors;
44
+ if (iconColor.type !== "gradient") {
45
+ return null;
46
+ }
47
+ return (
48
+ <defs>
49
+ <linearGradient
50
+ id={`logoGradient-${gradientId}`}
51
+ className={`logoGradient`}
52
+ x1=".1"
53
+ y1=".1"
54
+ x2="85.8"
55
+ y2="85.8"
56
+ gradientUnits="userSpaceOnUse"
57
+ >
58
+ <stop className="stop-0" offset="0" stopColor={iconColor.from} />
59
+ <stop className="stop-1" offset="1" stopColor={iconColor.to} />
60
+ </linearGradient>
61
+ </defs>
62
+ );
63
+ }
64
+
65
+ function getSvgText({ colors, displayType }: CrossmintLogoColorsAndDisplayType) {
66
+ if (displayType === "icon-only") {
67
+ return null;
68
+ }
69
+ const { text: textColor } = colors;
70
+ return (
71
+ <>
72
+ <path
73
+ fill={textColor}
74
+ d="M372.7 9.5c0-3.4 2.7-6.1 6-6.1S385 6 385 9.5s-2.8 6-6.2 6-6-2.6-6-6m77.7 1.9V24h8.6v8.8h-8.6V52q-.1 5.4 5.3 5.2c1.3 0 3-.2 3.4-.3v8.2c-.6.2-2.5 1-6 1-7.7 0-12.5-4.7-12.5-12.5V33H433v-9h8.5V11.4zm-338 44.4q3 5 7.8 7.9 5 2.8 11.3 2.8 4.5 0 8.4-1.5 3.7-1.7 6.6-4.4 2.8-2.9 4-6.4l-8.9-4a10.5 10.5 0 0 1-10.1 7 11 11 0 0 1-6-1.5q-2.4-1.7-4-4.5-1.5-2.9-1.4-6.6a12 12 0 0 1 1.4-6.5q1.5-3 4-4.5a11 11 0 0 1 6-1.6q3.5 0 6.2 2 2.8 1.9 4 5l8.8-3.8q-1.2-3.9-4-6.5-2.9-2.8-6.7-4.3-3.9-1.6-8.3-1.6-6.3 0-11.3 2.8a21 21 0 0 0-7.8 7.8q-2.8 5-2.8 11.2c0 6.2 1 7.9 2.8 11.2m53-32.1h-9.4v41.9h10V42.3q0-4.8 2.7-7.4 2.5-2.7 6.9-2.7h3.6v-9H177q-4.5 0-7.6 1.9a10 10 0 0 0-3.8 4.5z"
75
+ />
76
+ <path
77
+ d="M202.9 22.8c12.4 0 21.6 9.3 21.6 22s-9.1 22-21.6 22-21.5-9.2-21.5-22 9.1-22 21.5-22m0 35.2c6.1 0 11.6-4.5 11.6-13.2s-5.5-13-11.6-13-11.6 4.4-11.6 13S196.8 58 203 58"
78
+ fillRule="evenodd"
79
+ fill={textColor}
80
+ />
81
+ <path
82
+ fill={textColor}
83
+ d="m236.4 52-8.6 2.4c.5 4.6 5 12.5 17.1 12.5 10.6 0 15.7-7 15.7-13.3s-4.1-11-12-12.6l-6.3-1.3q-4-1-4.1-4.4c0-2.5 2.4-4.7 6-4.7 5.5 0 7.3 3.8 7.6 6.2l8.4-2.4c-.7-4.1-4.5-11.6-16-11.6-8.7 0-15.3 6.1-15.3 13.4 0 5.7 3.8 10.5 11.1 12l6.2 1.4q4.9 1.2 4.8 4.6c0 2.6-2 4.8-6.2 4.8-5.3 0-8-3.3-8.4-7m27.6 2.4 8.5-2.4c.4 3.7 3.2 7 8.5 7 4 0 6.2-2.2 6.2-4.7q.1-3.6-4.9-4.6l-6.1-1.4c-7.3-1.6-11.2-6.4-11.2-12.1 0-7.2 6.7-13.4 15.3-13.4 11.6 0 15.3 7.5 16 11.6l-8.4 2.4c-.3-2.4-2-6.2-7.6-6.2-3.5 0-6 2.2-6 4.7q.2 3.5 4.2 4.4l6.3 1.3c7.8 1.7 12 6.5 12 12.6s-5.2 13.3-15.8 13.3c-12 0-16.6-7.8-17-12.5m48.6-30.7h-9.5v41.9h10.1V41q0-2.7 1-4.8a8 8 0 0 1 7-4.2 8 8 0 0 1 7.2 4.2q1 2.1 1 4.8v24.6h10.1V41q0-2.7 1-4.8a8 8 0 0 1 7-4.2q2.6 0 4.4 1.2 1.8 1 2.8 3 1 2.1 1 4.8v24.6h10v-27q0-4.5-2-8.2a14 14 0 0 0-5.5-5.6q-3.5-2-8-2-5 0-8.8 2.5-2.4 1.6-4.1 4.2-1.4-2.3-3.9-4a16 16 0 0 0-9-2.7q-4.8 0-8.3 2.2-2.2 1.5-3.5 4zm71.1 41.9h-9.8V24.1h9.8zm8.8-41.6v41.6h10V41.3q0-2.8 1.1-4.8a8 8 0 0 1 7.3-4.2 8 8 0 0 1 7.4 4.2q1 2 1 4.7v24.4h10V38.9q0-4.6-2-8.2a14 14 0 0 0-5.5-5.6q-3.4-2-8.1-2c-4.7 0-5.5.7-7.8 2q-2.5 1.6-4 4v-5z"
84
+ />
85
+ </>
86
+ );
87
+ }
88
+
89
+ function getSvgIcon(props: CrossmintLogoColorsAndDisplayType, gradientId: string) {
90
+ const { icon: iconColor } = props.colors;
91
+ return (
92
+ <path
93
+ d="M70 48.3A62 62 0 0 0 47.5 43c7.7-.6 22.8-2.7 29-10.4C86.6 25.2 86 .3 86 .3S62.3-2.4 52 9.4c-6.5 6.4-8.4 17.5-9 25.2-.6-7.7-2.6-18.8-9-25.2C23.7-2.4 0 .3 0 .3S-.3 15.8 4.4 26C6.8 31 11 35.1 16 37.6c7.2 3.7 16.8 5 22.4 5.4-5.6.4-15.2 1.7-22.4 5.3C11 51 6.8 55 4.4 60-.3 70.2 0 85.7 0 85.7s23.7 2.6 34-9.2c6.4-6.3 8.4-17.5 9-25.2.6 7.8 2.6 18.9 9 25.3 10.3 11.7 34 9.1 34 9.1s.3-15.6-4.5-25.7A25 25 0 0 0 70 48.3m.8 21.9c-.1 0-12.5-3.6-28.3-24.7A195 195 0 0 0 15 71.8l-.5.6.2-.8c0-.1 3.7-12.8 25.7-29C38.3 39.4 33.3 32.2 14 15l-.4-.4.6.1c.4 0 10.3 1.6 28.5 25l.6 1c2.6-1.8 10-7.1 26.7-26l.4-.4-.1.6c0 .4-1.6 10.3-24.9 28.4A193 193 0 0 0 71 69.9l.6.5z"
94
+ fill={iconColor.type === "gradient" ? `url(#logoGradient-${gradientId})` : iconColor.color}
95
+ fillRule="evenodd"
96
+ />
97
+ );
98
+ }
@@ -0,0 +1,28 @@
1
+ export const CROSSMINT_LOGO_DEFAULT_COLORS = {
2
+ light: {
3
+ icon: {
4
+ type: "gradient",
5
+ from: "#5edd4d",
6
+ to: "#05ce6c",
7
+ },
8
+ text: "#222",
9
+ },
10
+ dark: {
11
+ icon: {
12
+ type: "gradient",
13
+ from: "#5edd4d",
14
+ to: "#05ce6c",
15
+ },
16
+ text: "#fff",
17
+ },
18
+ } as const;
19
+
20
+ export const CROSSMINT_LOGO_DEFAULTS = {
21
+ colors: CROSSMINT_LOGO_DEFAULT_COLORS.light,
22
+ displayType: "icon-and-text",
23
+ } as const;
24
+
25
+ export const CROSSMINT_LOGO_VIEWBOXES = {
26
+ "icon-only": "0 0 86 86",
27
+ "icon-and-text": "0 0 459.2 86",
28
+ } as const;
@@ -0,0 +1,34 @@
1
+ import { z } from "zod";
2
+ import { CROSSMINT_LOGO_DEFAULTS } from "./consts";
3
+
4
+ const iconGradientColorSchema = z.object({
5
+ type: z.literal("gradient"),
6
+ from: z.string(),
7
+ to: z.string(),
8
+ });
9
+
10
+ const iconSolidColorSchema = z.object({
11
+ type: z.literal("solid"),
12
+ color: z.string(),
13
+ });
14
+ const iconColorSchema = z.discriminatedUnion("type", [iconGradientColorSchema, iconSolidColorSchema]);
15
+
16
+ export const crossmintLogoColorsSchema = z.object({
17
+ icon: iconColorSchema.optional().default(CROSSMINT_LOGO_DEFAULTS.colors.icon),
18
+ text: z.string().optional().default(CROSSMINT_LOGO_DEFAULTS.colors.text),
19
+ });
20
+
21
+ export const crossmintLogoDisplayTypeSchema = z
22
+ .enum(["icon-only", "icon-and-text"])
23
+ .default(CROSSMINT_LOGO_DEFAULTS.displayType);
24
+
25
+ export const crossmintLogoColorsAndDisplayTypeRawSchema = z.object({
26
+ colors: crossmintLogoColorsSchema.optional().default(CROSSMINT_LOGO_DEFAULTS.colors),
27
+ displayType: crossmintLogoDisplayTypeSchema.optional().default(CROSSMINT_LOGO_DEFAULTS.displayType),
28
+ });
29
+
30
+ export const crossmintLogoColorsAndDisplayTypeSchema = crossmintLogoColorsAndDisplayTypeRawSchema
31
+ .optional()
32
+ .default(CROSSMINT_LOGO_DEFAULTS);
33
+
34
+ export type CrossmintLogoColorsAndDisplayType = z.infer<typeof crossmintLogoColorsAndDisplayTypeSchema>;
@@ -24,7 +24,7 @@ export function EmbeddedCheckoutV3IFrame(props: CrossmintEmbeddedCheckoutV3Props
24
24
  const apiClient = createCrossmintApiClient(crossmint, {
25
25
  usageOrigin: "client",
26
26
  });
27
- const embedV3Service = crossmintEmbeddedCheckoutV3Service({ apiClient });
27
+ const embeddedCheckoutService = crossmintEmbeddedCheckoutV3Service({ apiClient });
28
28
 
29
29
  const ref = useRef<HTMLIFrameElement>(null);
30
30
 
@@ -33,7 +33,7 @@ export function EmbeddedCheckoutV3IFrame(props: CrossmintEmbeddedCheckoutV3Props
33
33
  if (!iframe || iframeClient) {
34
34
  return;
35
35
  }
36
- setIframeClient(embedV3Service.iframe.createClient(iframe));
36
+ setIframeClient(embeddedCheckoutService.iframe.createClient(iframe));
37
37
  }, [ref.current, iframeClient]);
38
38
 
39
39
  useEffect(() => {
@@ -51,7 +51,7 @@ export function EmbeddedCheckoutV3IFrame(props: CrossmintEmbeddedCheckoutV3Props
51
51
  <>
52
52
  <iframe
53
53
  ref={ref}
54
- src={embedV3Service.iframe.getUrl(props)}
54
+ src={embeddedCheckoutService.iframe.getUrl(props)}
55
55
  id="crossmint-embedded-checkout.iframe"
56
56
  role="crossmint-embedded-checkout.iframe"
57
57
  allow="payment *"
@@ -1 +1,3 @@
1
1
  export * from "./CrossmintPayButton";
2
+
3
+ export * from "./v3";
@@ -0,0 +1,74 @@
1
+ import { CrossmintLogoV2 } from "@/components/common/CrossmintLogoV2/CrossmintLogoV2";
2
+ import { useCrossmint } from "@/hooks/useCrossmint";
3
+ import { createCrossmintApiClient } from "@/utils/createCrossmintApiClient";
4
+ import {
5
+ crossmintHostedCheckoutV3Service,
6
+ crossmintHostedCheckoutV3StylesService,
7
+ type CrossmintHostedCheckoutV3Props,
8
+ } from "@crossmint/client-sdk-base";
9
+ import clsx from "clsx";
10
+ import { type MouseEvent, type JSX, useEffect, useState } from "react";
11
+
12
+ export type CrossmintHostedCheckoutV3ReactProps = CrossmintHostedCheckoutV3Props & JSX.IntrinsicElements["button"];
13
+
14
+ export function CrossmintHostedCheckout_Alpha(props: CrossmintHostedCheckoutV3ReactProps) {
15
+ const [didInjectCss, setDidInjectCss] = useState(false);
16
+
17
+ const { crossmint } = useCrossmint();
18
+ const apiClient = createCrossmintApiClient(crossmint);
19
+
20
+ // separate custom props from jsx button props
21
+ const { receipient, locale, webhookPassthroughData, lineItems, payment, appearance, ...buttonProps } = props;
22
+ const customProps: CrossmintHostedCheckoutV3Props = {
23
+ receipient,
24
+ locale,
25
+ webhookPassthroughData,
26
+ lineItems,
27
+ payment,
28
+ appearance,
29
+ };
30
+
31
+ const hostedCheckoutService = crossmintHostedCheckoutV3Service({ apiClient, hostedCheckoutProps: customProps });
32
+ const stylesService = crossmintHostedCheckoutV3StylesService(customProps);
33
+
34
+ const { onClick, className, children, ...restButtonProps } = buttonProps;
35
+
36
+ function _onClick(e: MouseEvent<HTMLButtonElement>) {
37
+ e.preventDefault();
38
+ e.stopPropagation();
39
+ hostedCheckoutService.createWindow();
40
+
41
+ if (onClick) {
42
+ onClick(e);
43
+ }
44
+ }
45
+
46
+ const css = stylesService.generateCss();
47
+
48
+ useEffect(() => {
49
+ const { cleanup } = stylesService.injectCss(css);
50
+ setDidInjectCss(true);
51
+ return cleanup;
52
+ }, [css]);
53
+
54
+ if (!didInjectCss) {
55
+ return null;
56
+ }
57
+
58
+ return (
59
+ <button
60
+ onClick={_onClick}
61
+ className={clsx(stylesService.identifiers.buttonClassNames, className)}
62
+ {...restButtonProps}
63
+ >
64
+ <CrossmintLogoV2
65
+ style={{ marginRight: "12px", flex: "none" }}
66
+ displayType="icon-only"
67
+ id={stylesService.identifiers.logoId}
68
+ height={16}
69
+ width={16}
70
+ />
71
+ {children ?? <p style={{ margin: 0 }}>{stylesService.getButtonText()}</p>}
72
+ </button>
73
+ );
74
+ }
@@ -0,0 +1 @@
1
+ export * from "./CrossmintHostedCheckoutV3";
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/embed/v3/EmbeddedCheckoutV3IFrame.tsx"],"sourcesContent":["import { useCrossmint } from \"@/hooks\";\nimport { lazy, useEffect, useRef, useState } from \"react\";\n\nimport {\n type CrossmintEmbeddedCheckoutV3Props,\n type EmbeddedCheckoutV3IFrameEmitter,\n crossmintEmbeddedCheckoutV3Service,\n} from \"@crossmint/client-sdk-base\";\n\nimport { createCrossmintApiClient } from \"@/utils/createCrossmintApiClient\";\n\nconst CryptoWalletConnectionHandler = lazy(() =>\n // @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n import(\"./crypto/CryptoWalletConnectionHandler\").then((mod) => ({\n default: mod.CryptoWalletConnectionHandler,\n }))\n);\n\nexport function EmbeddedCheckoutV3IFrame(props: CrossmintEmbeddedCheckoutV3Props) {\n const [iframeClient, setIframeClient] = useState<EmbeddedCheckoutV3IFrameEmitter | null>(null);\n const [height, setHeight] = useState(0);\n\n const { crossmint } = useCrossmint();\n const apiClient = createCrossmintApiClient(crossmint, {\n usageOrigin: \"client\",\n });\n const embedV3Service = crossmintEmbeddedCheckoutV3Service({ apiClient });\n\n const ref = useRef<HTMLIFrameElement>(null);\n\n useEffect(() => {\n const iframe = ref.current;\n if (!iframe || iframeClient) {\n return;\n }\n setIframeClient(embedV3Service.iframe.createClient(iframe));\n }, [ref.current, iframeClient]);\n\n useEffect(() => {\n if (iframeClient == null) {\n return;\n }\n iframeClient.on(\"ui:height.changed\", (data) => setHeight(data.height));\n\n return () => {\n iframeClient.off(\"ui:height.changed\");\n };\n }, [iframeClient]);\n\n return (\n <>\n <iframe\n ref={ref}\n src={embedV3Service.iframe.getUrl(props)}\n id=\"crossmint-embedded-checkout.iframe\"\n role=\"crossmint-embedded-checkout.iframe\"\n allow=\"payment *\"\n style={{\n boxShadow: \"none\",\n border: \"none\",\n padding: \"0px\",\n width: \"100%\",\n minWidth: \"100%\",\n overflow: \"hidden\",\n display: \"block\",\n userSelect: \"none\",\n transform: \"translate(0px)\",\n opacity: \"1\",\n transition: \"ease 0s, opacity 0.4s ease 0.1s\",\n height: `${height}px`,\n backgroundColor: \"transparent\",\n }}\n />\n {props.payment.crypto.enabled ? (\n <CryptoWalletConnectionHandler\n iframeClient={iframeClient}\n apiKeyEnvironment={apiClient[\"parsedAPIKey\"].environment}\n />\n ) : null}\n <span id=\"crossmint-focus-target\" tabIndex={-1} />\n </>\n );\n}\n"],"mappings":";;;;;;;;AACA,SAAS,MAAM,WAAW,QAAQ,gBAAgB;AAElD;AAAA,EAGI;AAAA,OACG;AA2CC,mBACI,KADJ;AAvCR,IAAM,gCAAgC;AAAA,EAAK;AAAA;AAAA,IAEvC,OAAO,+DAAwC,EAAE,KAAK,CAAC,SAAS;AAAA,MAC5D,SAAS,IAAI;AAAA,IACjB,EAAE;AAAA;AACN;AAEO,SAAS,yBAAyB,OAAyC;AAC9E,QAAM,CAAC,cAAc,eAAe,IAAI,SAAiD,IAAI;AAC7F,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,CAAC;AAEtC,QAAM,EAAE,UAAU,IAAI,aAAa;AACnC,QAAM,YAAY,yBAAyB,WAAW;AAAA,IAClD,aAAa;AAAA,EACjB,CAAC;AACD,QAAM,iBAAiB,mCAAmC,EAAE,UAAU,CAAC;AAEvE,QAAM,MAAM,OAA0B,IAAI;AAE1C,YAAU,MAAM;AACZ,UAAM,SAAS,IAAI;AACnB,QAAI,CAAC,UAAU,cAAc;AACzB;AAAA,IACJ;AACA,oBAAgB,eAAe,OAAO,aAAa,MAAM,CAAC;AAAA,EAC9D,GAAG,CAAC,IAAI,SAAS,YAAY,CAAC;AAE9B,YAAU,MAAM;AACZ,QAAI,gBAAgB,MAAM;AACtB;AAAA,IACJ;AACA,iBAAa,GAAG,qBAAqB,CAAC,SAAS,UAAU,KAAK,MAAM,CAAC;AAErE,WAAO,MAAM;AACT,mBAAa,IAAI,mBAAmB;AAAA,IACxC;AAAA,EACJ,GAAG,CAAC,YAAY,CAAC;AAEjB,SACI,iCACI;AAAA;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA,KAAK,eAAe,OAAO,OAAO,KAAK;AAAA,QACvC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,OAAM;AAAA,QACN,OAAO;AAAA,UACH,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,OAAO;AAAA,UACP,UAAU;AAAA,UACV,UAAU;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,GAAG,MAAM;AAAA,UACjB,iBAAiB;AAAA,QACrB;AAAA;AAAA,IACJ;AAAA,IACC,MAAM,QAAQ,OAAO,UAClB;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA,mBAAmB,UAAU,cAAc,EAAE;AAAA;AAAA,IACjD,IACA;AAAA,IACJ,oBAAC,UAAK,IAAG,0BAAyB,UAAU,IAAI;AAAA,KACpD;AAER;","names":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=chunk-7SBZ6OIH.js.map
@@ -1 +0,0 @@
1
- "use strict";//# sourceMappingURL=chunk-BKVDVDKX.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/embed/v3/EmbeddedCheckoutV3IFrame.tsx"],"names":[],"mappings":";;;;;;;;AACA,SAAS,MAAM,WAAW,QAAQ,gBAAgB;AAElD;AAAA,EAGI;AAAA,OACG;AA2CC,mBACI,KADJ;AAvCR,IAAM,gCAAgC;AAAA,EAAK;AAAA;AAAA,IAEvC,OAAO,gEAAwC,EAAE,KAAK,CAAC,SAAS;AAAA,MAC5D,SAAS,IAAI;AAAA,IACjB,EAAE;AAAA;AACN;AAEO,SAAS,yBAAyB,OAAyC;AAC9E,QAAM,CAAC,cAAc,eAAe,IAAI,SAAiD,IAAI;AAC7F,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,CAAC;AAEtC,QAAM,EAAE,UAAU,IAAI,aAAa;AACnC,QAAM,YAAY,yBAAyB,WAAW;AAAA,IAClD,aAAa;AAAA,EACjB,CAAC;AACD,QAAM,iBAAiB,mCAAmC,EAAE,UAAU,CAAC;AAEvE,QAAM,MAAM,OAA0B,IAAI;AAE1C,YAAU,MAAM;AACZ,UAAM,SAAS,IAAI;AACnB,QAAI,CAAC,UAAU,cAAc;AACzB;AAAA,IACJ;AACA,oBAAgB,eAAe,OAAO,aAAa,MAAM,CAAC;AAAA,EAC9D,GAAG,CAAC,IAAI,SAAS,YAAY,CAAC;AAE9B,YAAU,MAAM;AACZ,QAAI,gBAAgB,MAAM;AACtB;AAAA,IACJ;AACA,iBAAa,GAAG,qBAAqB,CAAC,SAAS,UAAU,KAAK,MAAM,CAAC;AAErE,WAAO,MAAM;AACT,mBAAa,IAAI,mBAAmB;AAAA,IACxC;AAAA,EACJ,GAAG,CAAC,YAAY,CAAC;AAEjB,SACI,iCACI;AAAA;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA,KAAK,eAAe,OAAO,OAAO,KAAK;AAAA,QACvC,IAAG;AAAA,QACH,MAAK;AAAA,QACL,OAAM;AAAA,QACN,OAAO;AAAA,UACH,WAAW;AAAA,UACX,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,OAAO;AAAA,UACP,UAAU;AAAA,UACV,UAAU;AAAA,UACV,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,WAAW;AAAA,UACX,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,QAAQ,GAAG,MAAM;AAAA,UACjB,iBAAiB;AAAA,QACrB;AAAA;AAAA,IACJ;AAAA,IACC,MAAM,QAAQ,OAAO,UAClB;AAAA,MAAC;AAAA;AAAA,QACG;AAAA,QACA,mBAAmB,UAAU,cAAc,EAAE;AAAA;AAAA,IACjD,IACA;AAAA,IACJ,oBAAC,UAAK,IAAG,0BAAyB,UAAU,IAAI;AAAA,KACpD;AAER","sourcesContent":["import { useCrossmint } from \"@/hooks\";\nimport { lazy, useEffect, useRef, useState } from \"react\";\n\nimport {\n type CrossmintEmbeddedCheckoutV3Props,\n type EmbeddedCheckoutV3IFrameEmitter,\n crossmintEmbeddedCheckoutV3Service,\n} from \"@crossmint/client-sdk-base\";\n\nimport { createCrossmintApiClient } from \"@/utils/createCrossmintApiClient\";\n\nconst CryptoWalletConnectionHandler = lazy(() =>\n // @ts-expect-error - Error because we dont use 'module' field in tsconfig, which is expected because we use tsup to compile\n import(\"./crypto/CryptoWalletConnectionHandler\").then((mod) => ({\n default: mod.CryptoWalletConnectionHandler,\n }))\n);\n\nexport function EmbeddedCheckoutV3IFrame(props: CrossmintEmbeddedCheckoutV3Props) {\n const [iframeClient, setIframeClient] = useState<EmbeddedCheckoutV3IFrameEmitter | null>(null);\n const [height, setHeight] = useState(0);\n\n const { crossmint } = useCrossmint();\n const apiClient = createCrossmintApiClient(crossmint, {\n usageOrigin: \"client\",\n });\n const embedV3Service = crossmintEmbeddedCheckoutV3Service({ apiClient });\n\n const ref = useRef<HTMLIFrameElement>(null);\n\n useEffect(() => {\n const iframe = ref.current;\n if (!iframe || iframeClient) {\n return;\n }\n setIframeClient(embedV3Service.iframe.createClient(iframe));\n }, [ref.current, iframeClient]);\n\n useEffect(() => {\n if (iframeClient == null) {\n return;\n }\n iframeClient.on(\"ui:height.changed\", (data) => setHeight(data.height));\n\n return () => {\n iframeClient.off(\"ui:height.changed\");\n };\n }, [iframeClient]);\n\n return (\n <>\n <iframe\n ref={ref}\n src={embedV3Service.iframe.getUrl(props)}\n id=\"crossmint-embedded-checkout.iframe\"\n role=\"crossmint-embedded-checkout.iframe\"\n allow=\"payment *\"\n style={{\n boxShadow: \"none\",\n border: \"none\",\n padding: \"0px\",\n width: \"100%\",\n minWidth: \"100%\",\n overflow: \"hidden\",\n display: \"block\",\n userSelect: \"none\",\n transform: \"translate(0px)\",\n opacity: \"1\",\n transition: \"ease 0s, opacity 0.4s ease 0.1s\",\n height: `${height}px`,\n backgroundColor: \"transparent\",\n }}\n />\n {props.payment.crypto.enabled ? (\n <CryptoWalletConnectionHandler\n iframeClient={iframeClient}\n apiKeyEnvironment={apiClient[\"parsedAPIKey\"].environment}\n />\n ) : null}\n <span id=\"crossmint-focus-target\" tabIndex={-1} />\n </>\n );\n}\n"]}