@turnkey/react-wallet-kit 2.7.1 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.mjs +10 -1
  2. package/dist/_virtual/_rollupPluginBabelHelpers.mjs.map +1 -1
  3. package/dist/components/auth/Action.d.ts +1 -0
  4. package/dist/components/auth/Action.d.ts.map +1 -1
  5. package/dist/components/auth/Action.js +10 -3
  6. package/dist/components/auth/Action.js.map +1 -1
  7. package/dist/components/auth/Action.mjs +10 -3
  8. package/dist/components/auth/Action.mjs.map +1 -1
  9. package/dist/components/auth/wallet/DesktopWalletConnectScreen.d.ts +2 -0
  10. package/dist/components/auth/wallet/DesktopWalletConnectScreen.d.ts.map +1 -1
  11. package/dist/components/auth/wallet/DesktopWalletConnectScreen.js +7 -4
  12. package/dist/components/auth/wallet/DesktopWalletConnectScreen.js.map +1 -1
  13. package/dist/components/auth/wallet/DesktopWalletConnectScreen.mjs +22 -12
  14. package/dist/components/auth/wallet/DesktopWalletConnectScreen.mjs.map +1 -1
  15. package/dist/components/auth/wallet/ExternalWalletChainSelector.d.ts.map +1 -1
  16. package/dist/components/auth/wallet/ExternalWalletChainSelector.js +2 -1
  17. package/dist/components/auth/wallet/ExternalWalletChainSelector.js.map +1 -1
  18. package/dist/components/auth/wallet/ExternalWalletChainSelector.mjs +2 -2
  19. package/dist/components/auth/wallet/ExternalWalletChainSelector.mjs.map +1 -1
  20. package/dist/components/auth/wallet/MobileWalletConnectScreen.d.ts +1 -0
  21. package/dist/components/auth/wallet/MobileWalletConnectScreen.d.ts.map +1 -1
  22. package/dist/components/auth/wallet/MobileWalletConnectScreen.js +3 -1
  23. package/dist/components/auth/wallet/MobileWalletConnectScreen.js.map +1 -1
  24. package/dist/components/auth/wallet/MobileWalletConnectScreen.mjs +16 -8
  25. package/dist/components/auth/wallet/MobileWalletConnectScreen.mjs.map +1 -1
  26. package/dist/components/auth/wallet/ShowAllWalletsScreen.d.ts +2 -1
  27. package/dist/components/auth/wallet/ShowAllWalletsScreen.d.ts.map +1 -1
  28. package/dist/components/auth/wallet/ShowAllWalletsScreen.js +8 -3
  29. package/dist/components/auth/wallet/ShowAllWalletsScreen.js.map +1 -1
  30. package/dist/components/auth/wallet/ShowAllWalletsScreen.mjs +8 -3
  31. package/dist/components/auth/wallet/ShowAllWalletsScreen.mjs.map +1 -1
  32. package/dist/components/design/Success.d.ts +1 -1
  33. package/dist/components/design/Success.d.ts.map +1 -1
  34. package/dist/components/design/Success.js +2 -2
  35. package/dist/components/design/Success.js.map +1 -1
  36. package/dist/components/design/Success.mjs +2 -2
  37. package/dist/components/design/Success.mjs.map +1 -1
  38. package/dist/components/design/Svg.d.ts +1 -0
  39. package/dist/components/design/Svg.d.ts.map +1 -1
  40. package/dist/components/design/Svg.js +32 -12
  41. package/dist/components/design/Svg.js.map +1 -1
  42. package/dist/components/design/Svg.mjs +32 -13
  43. package/dist/components/design/Svg.mjs.map +1 -1
  44. package/dist/components/design/TabNav.d.ts +13 -0
  45. package/dist/components/design/TabNav.d.ts.map +1 -0
  46. package/dist/components/design/TabNav.js +64 -0
  47. package/dist/components/design/TabNav.js.map +1 -0
  48. package/dist/components/design/TabNav.mjs +81 -0
  49. package/dist/components/design/TabNav.mjs.map +1 -0
  50. package/dist/components/funding/CryptoAmountInput.d.ts +11 -0
  51. package/dist/components/funding/CryptoAmountInput.d.ts.map +1 -0
  52. package/dist/components/funding/CryptoAmountInput.js +82 -0
  53. package/dist/components/funding/CryptoAmountInput.js.map +1 -0
  54. package/dist/components/funding/CryptoAmountInput.mjs +87 -0
  55. package/dist/components/funding/CryptoAmountInput.mjs.map +1 -0
  56. package/dist/components/funding/CurrencyDropdown.d.ts +8 -0
  57. package/dist/components/funding/CurrencyDropdown.d.ts.map +1 -0
  58. package/dist/components/funding/CurrencyDropdown.js +132 -0
  59. package/dist/components/funding/CurrencyDropdown.js.map +1 -0
  60. package/dist/components/funding/CurrencyDropdown.mjs +132 -0
  61. package/dist/components/funding/CurrencyDropdown.mjs.map +1 -0
  62. package/dist/components/funding/FiatAmountInput.d.ts +11 -0
  63. package/dist/components/funding/FiatAmountInput.d.ts.map +1 -0
  64. package/dist/components/funding/FiatAmountInput.js +94 -0
  65. package/dist/components/funding/FiatAmountInput.js.map +1 -0
  66. package/dist/components/funding/FiatAmountInput.mjs +105 -0
  67. package/dist/components/funding/FiatAmountInput.mjs.map +1 -0
  68. package/dist/components/funding/OffRamp.d.ts +3 -0
  69. package/dist/components/funding/OffRamp.d.ts.map +1 -0
  70. package/dist/components/funding/OffRamp.js +31 -0
  71. package/dist/components/funding/OffRamp.js.map +1 -0
  72. package/dist/components/funding/OffRamp.mjs +30 -0
  73. package/dist/components/funding/OffRamp.mjs.map +1 -0
  74. package/dist/components/funding/OffRampAmount.d.ts +22 -0
  75. package/dist/components/funding/OffRampAmount.d.ts.map +1 -0
  76. package/dist/components/funding/OffRampAmount.js +304 -0
  77. package/dist/components/funding/OffRampAmount.js.map +1 -0
  78. package/dist/components/funding/OffRampAmount.mjs +376 -0
  79. package/dist/components/funding/OffRampAmount.mjs.map +1 -0
  80. package/dist/components/funding/OffRampDeposit.d.ts +22 -0
  81. package/dist/components/funding/OffRampDeposit.d.ts.map +1 -0
  82. package/dist/components/funding/OffRampDeposit.js +455 -0
  83. package/dist/components/funding/OffRampDeposit.js.map +1 -0
  84. package/dist/components/funding/OffRampDeposit.mjs +551 -0
  85. package/dist/components/funding/OffRampDeposit.mjs.map +1 -0
  86. package/dist/components/funding/OffRampReturn.d.ts +2 -0
  87. package/dist/components/funding/OffRampReturn.d.ts.map +1 -0
  88. package/dist/components/funding/OffRampReturn.js +144 -0
  89. package/dist/components/funding/OffRampReturn.js.map +1 -0
  90. package/dist/components/funding/OffRampReturn.mjs +146 -0
  91. package/dist/components/funding/OffRampReturn.mjs.map +1 -0
  92. package/dist/components/funding/OnRamp.d.ts +7 -0
  93. package/dist/components/funding/OnRamp.d.ts.map +1 -0
  94. package/dist/components/funding/OnRamp.js +64 -0
  95. package/dist/components/funding/OnRamp.js.map +1 -0
  96. package/dist/components/funding/OnRamp.mjs +58 -0
  97. package/dist/components/funding/OnRamp.mjs.map +1 -0
  98. package/dist/components/funding/OnRampAmount.d.ts +21 -0
  99. package/dist/components/funding/OnRampAmount.d.ts.map +1 -0
  100. package/dist/components/funding/OnRampAmount.js +229 -0
  101. package/dist/components/funding/OnRampAmount.js.map +1 -0
  102. package/dist/components/funding/OnRampAmount.mjs +312 -0
  103. package/dist/components/funding/OnRampAmount.mjs.map +1 -0
  104. package/dist/components/funding/OnRampCash.d.ts +3 -0
  105. package/dist/components/funding/OnRampCash.d.ts.map +1 -0
  106. package/dist/components/funding/OnRampCash.js +26 -0
  107. package/dist/components/funding/OnRampCash.js.map +1 -0
  108. package/dist/components/funding/OnRampCash.mjs +25 -0
  109. package/dist/components/funding/OnRampCash.mjs.map +1 -0
  110. package/dist/components/funding/OnRampCrypto.d.ts +11 -0
  111. package/dist/components/funding/OnRampCrypto.d.ts.map +1 -0
  112. package/dist/components/funding/OnRampCrypto.js +126 -0
  113. package/dist/components/funding/OnRampCrypto.js.map +1 -0
  114. package/dist/components/funding/OnRampCrypto.mjs +148 -0
  115. package/dist/components/funding/OnRampCrypto.mjs.map +1 -0
  116. package/dist/components/funding/OnRampCryptoSend.d.ts +15 -0
  117. package/dist/components/funding/OnRampCryptoSend.d.ts.map +1 -0
  118. package/dist/components/funding/OnRampCryptoSend.js +251 -0
  119. package/dist/components/funding/OnRampCryptoSend.js.map +1 -0
  120. package/dist/components/funding/OnRampCryptoSend.mjs +323 -0
  121. package/dist/components/funding/OnRampCryptoSend.mjs.map +1 -0
  122. package/dist/components/funding/OnRampCryptoStatus.d.ts +14 -0
  123. package/dist/components/funding/OnRampCryptoStatus.d.ts.map +1 -0
  124. package/dist/components/funding/OnRampCryptoStatus.js +153 -0
  125. package/dist/components/funding/OnRampCryptoStatus.js.map +1 -0
  126. package/dist/components/funding/OnRampCryptoStatus.mjs +272 -0
  127. package/dist/components/funding/OnRampCryptoStatus.mjs.map +1 -0
  128. package/dist/components/funding/OnRampExternalAccountSelector.d.ts +11 -0
  129. package/dist/components/funding/OnRampExternalAccountSelector.d.ts.map +1 -0
  130. package/dist/components/funding/OnRampExternalAccountSelector.js +95 -0
  131. package/dist/components/funding/OnRampExternalAccountSelector.js.map +1 -0
  132. package/dist/components/funding/OnRampExternalAccountSelector.mjs +109 -0
  133. package/dist/components/funding/OnRampExternalAccountSelector.mjs.map +1 -0
  134. package/dist/components/funding/OnRampExternalWallet.d.ts +12 -0
  135. package/dist/components/funding/OnRampExternalWallet.d.ts.map +1 -0
  136. package/dist/components/funding/OnRampExternalWallet.js +218 -0
  137. package/dist/components/funding/OnRampExternalWallet.js.map +1 -0
  138. package/dist/components/funding/OnRampExternalWallet.mjs +303 -0
  139. package/dist/components/funding/OnRampExternalWallet.mjs.map +1 -0
  140. package/dist/components/funding/OnRampStatus.d.ts +15 -0
  141. package/dist/components/funding/OnRampStatus.d.ts.map +1 -0
  142. package/dist/components/funding/OnRampStatus.js +114 -0
  143. package/dist/components/funding/OnRampStatus.js.map +1 -0
  144. package/dist/components/funding/OnRampStatus.mjs +166 -0
  145. package/dist/components/funding/OnRampStatus.mjs.map +1 -0
  146. package/dist/components/funding/PaymentMethods.d.ts +35 -0
  147. package/dist/components/funding/PaymentMethods.d.ts.map +1 -0
  148. package/dist/components/funding/PaymentMethods.js +173 -0
  149. package/dist/components/funding/PaymentMethods.js.map +1 -0
  150. package/dist/components/funding/PaymentMethods.mjs +180 -0
  151. package/dist/components/funding/PaymentMethods.mjs.map +1 -0
  152. package/dist/components/funding/QuoteDetails.d.ts +13 -0
  153. package/dist/components/funding/QuoteDetails.d.ts.map +1 -0
  154. package/dist/components/funding/QuoteDetails.js +124 -0
  155. package/dist/components/funding/QuoteDetails.js.map +1 -0
  156. package/dist/components/funding/QuoteDetails.mjs +121 -0
  157. package/dist/components/funding/QuoteDetails.mjs.map +1 -0
  158. package/dist/components/funding/QuoteOption.d.ts +23 -0
  159. package/dist/components/funding/QuoteOption.d.ts.map +1 -0
  160. package/dist/components/funding/QuoteOption.js +153 -0
  161. package/dist/components/funding/QuoteOption.js.map +1 -0
  162. package/dist/components/funding/QuoteOption.mjs +150 -0
  163. package/dist/components/funding/QuoteOption.mjs.map +1 -0
  164. package/dist/components/funding/QuotePicker.d.ts +13 -0
  165. package/dist/components/funding/QuotePicker.d.ts.map +1 -0
  166. package/dist/components/funding/QuotePicker.js +49 -0
  167. package/dist/components/funding/QuotePicker.js.map +1 -0
  168. package/dist/components/funding/QuotePicker.mjs +48 -0
  169. package/dist/components/funding/QuotePicker.mjs.map +1 -0
  170. package/dist/components/funding/TokenSelect.d.ts +18 -0
  171. package/dist/components/funding/TokenSelect.d.ts.map +1 -0
  172. package/dist/components/funding/TokenSelect.js +198 -0
  173. package/dist/components/funding/TokenSelect.js.map +1 -0
  174. package/dist/components/funding/TokenSelect.mjs +210 -0
  175. package/dist/components/funding/TokenSelect.mjs.map +1 -0
  176. package/dist/components/funding/offRampRedirect.d.ts +61 -0
  177. package/dist/components/funding/offRampRedirect.d.ts.map +1 -0
  178. package/dist/components/funding/offRampRedirect.js +282 -0
  179. package/dist/components/funding/offRampRedirect.js.map +1 -0
  180. package/dist/components/funding/offRampRedirect.mjs +274 -0
  181. package/dist/components/funding/offRampRedirect.mjs.map +1 -0
  182. package/dist/components/send-transaction/SendTransaction.d.ts.map +1 -1
  183. package/dist/components/send-transaction/SendTransaction.js +8 -6
  184. package/dist/components/send-transaction/SendTransaction.js.map +1 -1
  185. package/dist/components/send-transaction/SendTransaction.mjs +8 -6
  186. package/dist/components/send-transaction/SendTransaction.mjs.map +1 -1
  187. package/dist/components/send-transaction/helpers.d.ts.map +1 -1
  188. package/dist/components/send-transaction/helpers.js +4 -0
  189. package/dist/components/send-transaction/helpers.js.map +1 -1
  190. package/dist/components/send-transaction/helpers.mjs +4 -0
  191. package/dist/components/send-transaction/helpers.mjs.map +1 -1
  192. package/dist/components/sign/Message.d.ts.map +1 -1
  193. package/dist/components/sign/Message.js +2 -1
  194. package/dist/components/sign/Message.js.map +1 -1
  195. package/dist/components/sign/Message.mjs +2 -2
  196. package/dist/components/sign/Message.mjs.map +1 -1
  197. package/dist/providers/SupportedAssetsProvider.d.ts +18 -0
  198. package/dist/providers/SupportedAssetsProvider.d.ts.map +1 -0
  199. package/dist/providers/SupportedAssetsProvider.js +71 -0
  200. package/dist/providers/SupportedAssetsProvider.js.map +1 -0
  201. package/dist/providers/SupportedAssetsProvider.mjs +114 -0
  202. package/dist/providers/SupportedAssetsProvider.mjs.map +1 -0
  203. package/dist/providers/TurnkeyProvider.d.ts.map +1 -1
  204. package/dist/providers/TurnkeyProvider.js +2 -1
  205. package/dist/providers/TurnkeyProvider.js.map +1 -1
  206. package/dist/providers/TurnkeyProvider.mjs +2 -1
  207. package/dist/providers/TurnkeyProvider.mjs.map +1 -1
  208. package/dist/providers/client/Provider.d.ts.map +1 -1
  209. package/dist/providers/client/Provider.js +98 -153
  210. package/dist/providers/client/Provider.js.map +1 -1
  211. package/dist/providers/client/Provider.mjs +214 -328
  212. package/dist/providers/client/Provider.mjs.map +1 -1
  213. package/dist/providers/client/Types.d.ts +37 -12
  214. package/dist/providers/client/Types.d.ts.map +1 -1
  215. package/dist/providers/client/Types.js.map +1 -1
  216. package/dist/providers/client/Types.mjs.map +1 -1
  217. package/dist/providers/modal/Provider.d.ts +1 -0
  218. package/dist/providers/modal/Provider.d.ts.map +1 -1
  219. package/dist/providers/modal/Provider.js +12 -0
  220. package/dist/providers/modal/Provider.js.map +1 -1
  221. package/dist/providers/modal/Provider.mjs +15 -0
  222. package/dist/providers/modal/Provider.mjs.map +1 -1
  223. package/dist/providers/modal/Root.d.ts.map +1 -1
  224. package/dist/providers/modal/Root.js +16 -14
  225. package/dist/providers/modal/Root.js.map +1 -1
  226. package/dist/providers/modal/Root.mjs +16 -14
  227. package/dist/providers/modal/Root.mjs.map +1 -1
  228. package/dist/styles.css +1 -1
  229. package/dist/types/method-types.d.ts +21 -9
  230. package/dist/types/method-types.d.ts.map +1 -1
  231. package/dist/utils/funding/buildCryptoTransfer.d.ts +41 -0
  232. package/dist/utils/funding/buildCryptoTransfer.d.ts.map +1 -0
  233. package/dist/utils/funding/buildCryptoTransfer.js +134 -0
  234. package/dist/utils/funding/buildCryptoTransfer.js.map +1 -0
  235. package/dist/utils/funding/buildCryptoTransfer.mjs +128 -0
  236. package/dist/utils/funding/buildCryptoTransfer.mjs.map +1 -0
  237. package/dist/utils/funding/chainLabel.d.ts +2 -0
  238. package/dist/utils/funding/chainLabel.d.ts.map +1 -0
  239. package/dist/utils/funding/chainLabel.js +19 -0
  240. package/dist/utils/funding/chainLabel.js.map +1 -0
  241. package/dist/utils/funding/chainLabel.mjs +18 -0
  242. package/dist/utils/funding/chainLabel.mjs.map +1 -0
  243. package/dist/utils/funding/depositPlan.d.ts +28 -0
  244. package/dist/utils/funding/depositPlan.d.ts.map +1 -0
  245. package/dist/utils/funding/depositPlan.js +127 -0
  246. package/dist/utils/funding/depositPlan.js.map +1 -0
  247. package/dist/utils/funding/depositPlan.mjs +120 -0
  248. package/dist/utils/funding/depositPlan.mjs.map +1 -0
  249. package/dist/utils/funding/index.d.ts +8 -0
  250. package/dist/utils/funding/index.d.ts.map +1 -0
  251. package/dist/utils/funding/onRampTokens.d.ts +6 -0
  252. package/dist/utils/funding/onRampTokens.d.ts.map +1 -0
  253. package/dist/utils/funding/onRampTokens.js +21 -0
  254. package/dist/utils/funding/onRampTokens.js.map +1 -0
  255. package/dist/utils/funding/onRampTokens.mjs +26 -0
  256. package/dist/utils/funding/onRampTokens.mjs.map +1 -0
  257. package/dist/utils/funding/rankQuotes.d.ts +7 -0
  258. package/dist/utils/funding/rankQuotes.d.ts.map +1 -0
  259. package/dist/utils/funding/rankQuotes.js +37 -0
  260. package/dist/utils/funding/rankQuotes.js.map +1 -0
  261. package/dist/utils/funding/rankQuotes.mjs +50 -0
  262. package/dist/utils/funding/rankQuotes.mjs.map +1 -0
  263. package/dist/utils/funding/sendCryptoTransfer.d.ts +26 -0
  264. package/dist/utils/funding/sendCryptoTransfer.d.ts.map +1 -0
  265. package/dist/utils/funding/sendCryptoTransfer.js +281 -0
  266. package/dist/utils/funding/sendCryptoTransfer.js.map +1 -0
  267. package/dist/utils/funding/sendCryptoTransfer.mjs +405 -0
  268. package/dist/utils/funding/sendCryptoTransfer.mjs.map +1 -0
  269. package/dist/utils/funding/tokenSymbol.d.ts +7 -0
  270. package/dist/utils/funding/tokenSymbol.d.ts.map +1 -0
  271. package/dist/utils/funding/tokenSymbol.js +32 -0
  272. package/dist/utils/funding/tokenSymbol.js.map +1 -0
  273. package/dist/utils/funding/tokenSymbol.mjs +31 -0
  274. package/dist/utils/funding/tokenSymbol.mjs.map +1 -0
  275. package/dist/utils/utils.d.ts +1 -0
  276. package/dist/utils/utils.d.ts.map +1 -1
  277. package/dist/utils/utils.js +5 -0
  278. package/dist/utils/utils.js.map +1 -1
  279. package/dist/utils/utils.mjs +7 -1
  280. package/dist/utils/utils.mjs.map +1 -1
  281. package/package.json +7 -3
  282. package/dist/components/onramp/OnRamp.d.ts +0 -14
  283. package/dist/components/onramp/OnRamp.d.ts.map +0 -1
  284. package/dist/components/onramp/OnRamp.js +0 -61
  285. package/dist/components/onramp/OnRamp.js.map +0 -1
  286. package/dist/components/onramp/OnRamp.mjs +0 -79
  287. package/dist/components/onramp/OnRamp.mjs.map +0 -1
@@ -0,0 +1,114 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ var core = require('@turnkey/core');
6
+ var Hook = require('../../providers/client/Hook.js');
7
+ var Hook$1 = require('../../providers/modal/Hook.js');
8
+ var Action = require('../auth/Action.js');
9
+ var Svg = require('../design/Svg.js');
10
+ var Success = require('../design/Success.js');
11
+ var QuoteOption = require('./QuoteOption.js');
12
+
13
+ const POLL_INTERVAL_MS = 1000;
14
+ const providerLogos = {
15
+ FIAT_RAMP_PROVIDER_COINBASE: Svg.CoinbaseLogo,
16
+ FIAT_RAMP_PROVIDER_MOONPAY: Svg.MoonPayLogo,
17
+ FIAT_RAMP_PROVIDER_MELD: Svg.MeldLogo
18
+ };
19
+ function OnRampStatusPage(props) {
20
+ const {
21
+ transactionId,
22
+ organizationId,
23
+ stampWith,
24
+ provider,
25
+ openedInNewTab,
26
+ successPageDuration = 2000,
27
+ successText = "Purchase complete",
28
+ statusLabel = "Onramp",
29
+ onSuccess,
30
+ onError
31
+ } = props;
32
+ const {
33
+ httpClient
34
+ } = Hook.useTurnkey();
35
+ const {
36
+ closeModal
37
+ } = Hook$1.useModal();
38
+ const [completed, setCompleted] = react.useState(false);
39
+ const ProviderLogo = providerLogos[provider];
40
+ react.useEffect(() => {
41
+ if (!httpClient || completed) return;
42
+ let active = true;
43
+ let polling = false;
44
+ let interval;
45
+ const finish = callback => {
46
+ if (!active) return;
47
+ active = false;
48
+ clearInterval(interval);
49
+ callback();
50
+ };
51
+ const poll = async () => {
52
+ if (!active || polling) return;
53
+ polling = true;
54
+ try {
55
+ const request = {
56
+ transactionId,
57
+ refresh: true,
58
+ ...(organizationId ? {
59
+ organizationId
60
+ } : {})
61
+ };
62
+ const response = stampWith ? await httpClient.getOnRampTransactionStatus(request, stampWith) : await httpClient.getOnRampTransactionStatus(request);
63
+ if (!active) return;
64
+ const status = response.transactionStatus.toUpperCase();
65
+ if (isCompletedStatus(status)) {
66
+ finish(() => setCompleted(true));
67
+ return;
68
+ }
69
+ if (isFailedStatus(status)) {
70
+ finish(() => {
71
+ onError(new core.TurnkeyError(`${statusLabel} transaction ${response.transactionStatus}.`, core.TurnkeyErrorCodes.POLL_TRANSACTION_STATUS_ERROR));
72
+ closeModal();
73
+ });
74
+ }
75
+ } catch {
76
+ // Keep polling. A single failed status request is not a failed purchase.
77
+ } finally {
78
+ polling = false;
79
+ }
80
+ };
81
+ void poll();
82
+ interval = setInterval(() => void poll(), POLL_INTERVAL_MS);
83
+ return () => {
84
+ active = false;
85
+ clearInterval(interval);
86
+ };
87
+ }, [closeModal, completed, httpClient, onError, organizationId, stampWith, statusLabel, transactionId]);
88
+ if (completed) {
89
+ return jsxRuntime.jsx(Success.SuccessPage, {
90
+ text: successText,
91
+ duration: successPageDuration,
92
+ onComplete: () => {
93
+ onSuccess();
94
+ closeModal();
95
+ }
96
+ });
97
+ }
98
+ return jsxRuntime.jsx(Action.ActionPage, {
99
+ title: "Completing Payment",
100
+ subtitle: `Use the ${QuoteOption.providerName(provider)} ${openedInNewTab ? "tab" : "popup"} to complete the payment.`,
101
+ icon: ProviderLogo ? jsxRuntime.jsx(ProviderLogo, {
102
+ className: "size-10"
103
+ }) : undefined
104
+ });
105
+ }
106
+ function isCompletedStatus(status) {
107
+ return status.includes("COMPLETED");
108
+ }
109
+ function isFailedStatus(status) {
110
+ return ["FAILED", "CANCELLED", "CANCELED"].some(value => status.includes(value));
111
+ }
112
+
113
+ exports.OnRampStatusPage = OnRampStatusPage;
114
+ //# sourceMappingURL=OnRampStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnRampStatus.js","sources":["../../../src/components/funding/OnRampStatus.tsx"],"sourcesContent":[null],"names":["POLL_INTERVAL_MS","providerLogos","FIAT_RAMP_PROVIDER_COINBASE","CoinbaseLogo","FIAT_RAMP_PROVIDER_MOONPAY","MoonPayLogo","FIAT_RAMP_PROVIDER_MELD","MeldLogo","OnRampStatusPage","props","transactionId","organizationId","stampWith","provider","openedInNewTab","successPageDuration","successText","statusLabel","onSuccess","onError","httpClient","useTurnkey","closeModal","useModal","completed","setCompleted","useState","ProviderLogo","useEffect","active","polling","interval","finish","callback","clearInterval","poll","request","refresh","response","getOnRampTransactionStatus","status","transactionStatus","toUpperCase","isCompletedStatus","isFailedStatus","TurnkeyError","TurnkeyErrorCodes","POLL_TRANSACTION_STATUS_ERROR","setInterval","_jsx","SuccessPage","text","duration","onComplete","ActionPage","title","subtitle","providerName","icon","className","undefined","includes","some","value"],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useState, useEffect } from 'react';
4
+ import { TurnkeyError, TurnkeyErrorCodes } from '@turnkey/core';
5
+ import { useTurnkey } from '../../providers/client/Hook.mjs';
6
+ import { useModal } from '../../providers/modal/Hook.mjs';
7
+ import { ActionPage } from '../auth/Action.mjs';
8
+ import { MeldLogo, MoonPayLogo, CoinbaseLogo } from '../design/Svg.mjs';
9
+ import { SuccessPage } from '../design/Success.mjs';
10
+ import { providerName } from './QuoteOption.mjs';
11
+
12
+ var POLL_INTERVAL_MS = 1000;
13
+ var providerLogos = {
14
+ FIAT_RAMP_PROVIDER_COINBASE: CoinbaseLogo,
15
+ FIAT_RAMP_PROVIDER_MOONPAY: MoonPayLogo,
16
+ FIAT_RAMP_PROVIDER_MELD: MeldLogo
17
+ };
18
+ function OnRampStatusPage(props) {
19
+ var transactionId = props.transactionId,
20
+ organizationId = props.organizationId,
21
+ stampWith = props.stampWith,
22
+ provider = props.provider,
23
+ openedInNewTab = props.openedInNewTab,
24
+ _props$successPageDur = props.successPageDuration,
25
+ successPageDuration = _props$successPageDur === void 0 ? 2000 : _props$successPageDur,
26
+ _props$successText = props.successText,
27
+ successText = _props$successText === void 0 ? "Purchase complete" : _props$successText,
28
+ _props$statusLabel = props.statusLabel,
29
+ statusLabel = _props$statusLabel === void 0 ? "Onramp" : _props$statusLabel,
30
+ onSuccess = props.onSuccess,
31
+ onError = props.onError;
32
+ var _useTurnkey = useTurnkey(),
33
+ httpClient = _useTurnkey.httpClient;
34
+ var _useModal = useModal(),
35
+ closeModal = _useModal.closeModal;
36
+ var _useState = useState(false),
37
+ _useState2 = _slicedToArray(_useState, 2),
38
+ completed = _useState2[0],
39
+ setCompleted = _useState2[1];
40
+ var ProviderLogo = providerLogos[provider];
41
+ useEffect(function () {
42
+ if (!httpClient || completed) return;
43
+ var active = true;
44
+ var polling = false;
45
+ var interval;
46
+ var finish = function finish(callback) {
47
+ if (!active) return;
48
+ active = false;
49
+ clearInterval(interval);
50
+ callback();
51
+ };
52
+ var poll = /*#__PURE__*/function () {
53
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
54
+ var request, response, status, _t;
55
+ return _regenerator().w(function (_context) {
56
+ while (1) switch (_context.p = _context.n) {
57
+ case 0:
58
+ if (!(!active || polling)) {
59
+ _context.n = 1;
60
+ break;
61
+ }
62
+ return _context.a(2);
63
+ case 1:
64
+ polling = true;
65
+ _context.p = 2;
66
+ request = _objectSpread2({
67
+ transactionId: transactionId,
68
+ refresh: true
69
+ }, organizationId ? {
70
+ organizationId: organizationId
71
+ } : {});
72
+ if (!stampWith) {
73
+ _context.n = 4;
74
+ break;
75
+ }
76
+ _context.n = 3;
77
+ return httpClient.getOnRampTransactionStatus(request, stampWith);
78
+ case 3:
79
+ _t = _context.v;
80
+ _context.n = 6;
81
+ break;
82
+ case 4:
83
+ _context.n = 5;
84
+ return httpClient.getOnRampTransactionStatus(request);
85
+ case 5:
86
+ _t = _context.v;
87
+ case 6:
88
+ response = _t;
89
+ if (active) {
90
+ _context.n = 7;
91
+ break;
92
+ }
93
+ return _context.a(2);
94
+ case 7:
95
+ status = response.transactionStatus.toUpperCase();
96
+ if (!isCompletedStatus(status)) {
97
+ _context.n = 8;
98
+ break;
99
+ }
100
+ finish(function () {
101
+ return setCompleted(true);
102
+ });
103
+ return _context.a(2);
104
+ case 8:
105
+ if (isFailedStatus(status)) {
106
+ finish(function () {
107
+ onError(new TurnkeyError("".concat(statusLabel, " transaction ").concat(response.transactionStatus, "."), TurnkeyErrorCodes.POLL_TRANSACTION_STATUS_ERROR));
108
+ closeModal();
109
+ });
110
+ }
111
+ _context.n = 10;
112
+ break;
113
+ case 9:
114
+ _context.p = 9;
115
+ _context.v;
116
+ case 10:
117
+ _context.p = 10;
118
+ polling = false;
119
+ return _context.f(10);
120
+ case 11:
121
+ return _context.a(2);
122
+ }
123
+ }, _callee, null, [[2, 9, 10, 11]]);
124
+ }));
125
+ return function poll() {
126
+ return _ref.apply(this, arguments);
127
+ };
128
+ }();
129
+ void poll();
130
+ interval = setInterval(function () {
131
+ return void poll();
132
+ }, POLL_INTERVAL_MS);
133
+ return function () {
134
+ active = false;
135
+ clearInterval(interval);
136
+ };
137
+ }, [closeModal, completed, httpClient, onError, organizationId, stampWith, statusLabel, transactionId]);
138
+ if (completed) {
139
+ return jsx(SuccessPage, {
140
+ text: successText,
141
+ duration: successPageDuration,
142
+ onComplete: function onComplete() {
143
+ onSuccess();
144
+ closeModal();
145
+ }
146
+ });
147
+ }
148
+ return jsx(ActionPage, {
149
+ title: "Completing Payment",
150
+ subtitle: "Use the ".concat(providerName(provider), " ").concat(openedInNewTab ? "tab" : "popup", " to complete the payment."),
151
+ icon: ProviderLogo ? jsx(ProviderLogo, {
152
+ className: "size-10"
153
+ }) : undefined
154
+ });
155
+ }
156
+ function isCompletedStatus(status) {
157
+ return status.includes("COMPLETED");
158
+ }
159
+ function isFailedStatus(status) {
160
+ return ["FAILED", "CANCELLED", "CANCELED"].some(function (value) {
161
+ return status.includes(value);
162
+ });
163
+ }
164
+
165
+ export { OnRampStatusPage };
166
+ //# sourceMappingURL=OnRampStatus.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OnRampStatus.mjs","sources":["../../../src/components/funding/OnRampStatus.tsx"],"sourcesContent":[null],"names":["POLL_INTERVAL_MS","providerLogos","FIAT_RAMP_PROVIDER_COINBASE","CoinbaseLogo","FIAT_RAMP_PROVIDER_MOONPAY","MoonPayLogo","FIAT_RAMP_PROVIDER_MELD","MeldLogo","OnRampStatusPage","props","transactionId","organizationId","stampWith","provider","openedInNewTab","_props$successPageDur","successPageDuration","_props$successText","successText","_props$statusLabel","statusLabel","onSuccess","onError","_useTurnkey","useTurnkey","httpClient","_useModal","useModal","closeModal","_useState","useState","_useState2","_slicedToArray","completed","setCompleted","ProviderLogo","useEffect","active","polling","interval","finish","callback","clearInterval","poll","_ref","_asyncToGenerator","_regenerator","m","_callee","request","response","status","_t","w","_context","p","n","a","_objectSpread","refresh","getOnRampTransactionStatus","v","transactionStatus","toUpperCase","isCompletedStatus","isFailedStatus","TurnkeyError","concat","TurnkeyErrorCodes","POLL_TRANSACTION_STATUS_ERROR","f","apply","arguments","setInterval","_jsx","SuccessPage","text","duration","onComplete","ActionPage","title","subtitle","providerName","icon","className","undefined","includes","some","value"],"mappings":";;;;;;;;;;;AAcA,IAAMA,gBAAgB,GAAG,IAAI;AAE7B,IAAMC,aAAa,GAAG;AACpBC,EAAAA,2BAA2B,EAAEC,YAAY;AACzCC,EAAAA,0BAA0B,EAAEC,WAAW;AACvCC,EAAAA,uBAAuB,EAAEC;CACyC;AAe9D,SAAUC,gBAAgBA,CAACC,KAA4B,EAAA;AAC3D,EAAA,IACEC,aAAa,GAUXD,KAAK,CAVPC,aAAa;IACbC,cAAc,GASZF,KAAK,CATPE,cAAc;IACdC,SAAS,GAQPH,KAAK,CARPG,SAAS;IACTC,QAAQ,GAONJ,KAAK,CAPPI,QAAQ;IACRC,cAAc,GAMZL,KAAK,CANPK,cAAc;IAAAC,qBAAA,GAMZN,KAAK,CALPO,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,qBAAA;IAAAE,kBAAA,GAKxBR,KAAK,CAJPS,WAAW;AAAXA,IAAAA,WAAW,GAAAD,kBAAA,KAAA,MAAA,GAAG,mBAAmB,GAAAA,kBAAA;IAAAE,kBAAA,GAI/BV,KAAK,CAHPW,WAAW;AAAXA,IAAAA,WAAW,GAAAD,kBAAA,KAAA,MAAA,GAAG,QAAQ,GAAAA,kBAAA;IACtBE,SAAS,GAEPZ,KAAK,CAFPY,SAAS;IACTC,OAAO,GACLb,KAAK,CADPa,OAAO;AAET,EAAA,IAAAC,WAAA,GAAuBC,UAAU,EAAE;IAA3BC,UAAU,GAAAF,WAAA,CAAVE,UAAU;AAClB,EAAA,IAAAC,SAAA,GAAuBC,QAAQ,EAAE;IAAzBC,UAAU,GAAAF,SAAA,CAAVE,UAAU;AAClB,EAAA,IAAAC,SAAA,GAAkCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA1CI,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAMI,YAAY,GAAGlC,aAAa,CAACY,QAAQ,CAAC;AAE5CuB,EAAAA,SAAS,CAAC,YAAK;AACb,IAAA,IAAI,CAACX,UAAU,IAAIQ,SAAS,EAAE;IAE9B,IAAII,MAAM,GAAG,IAAI;IACjB,IAAIC,OAAO,GAAG,KAAK;AACnB,IAAA,IAAIC,QAAoD;AAExD,IAAA,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAIC,QAAoB,EAAI;MACtC,IAAI,CAACJ,MAAM,EAAE;AACbA,MAAAA,MAAM,GAAG,KAAK;MACdK,aAAa,CAACH,QAAQ,CAAC;AACvBE,MAAAA,QAAQ,EAAE;IACZ,CAAC;AAED,IAAA,IAAME,IAAI,gBAAA,YAAA;MAAA,IAAAC,IAAA,GAAAC,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAG,SAAAC,OAAAA,GAAA;QAAA,IAAAC,OAAA,EAAAC,QAAA,CAAA,CAAAC,MAAA,CAAA,CAAAC,EAAA;AAAA,QAAA,OAAAN,YAAA,EAAA,CAAAO,CAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,UAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;AAAA,YAAA,KAAA,CAAA;cAAA,IAAA,EACP,CAACnB,MAAM,IAAIC,OAAO,CAAA,EAAA;AAAAgB,gBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;cAAA,OAAAF,QAAA,CAAAG,CAAA,CAAA,CAAA,CAAA;AAAA,YAAA,KAAA,CAAA;AACtBnB,cAAAA,OAAO,GAAG,IAAI;AAACgB,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAEPN,cAAAA,OAAO,GAAAS,cAAA,CAAA;AACXhD,gBAAAA,aAAa,EAAbA,aAAa;AACbiD,gBAAAA,OAAO,EAAE;AAAI,eAAA,EACThD,cAAc,GAAG;AAAEA,gBAAAA,cAAc,EAAdA;eAAgB,GAAG,EAAE,CAAA;AAAA,cAAA,IAAA,CAE7BC,SAAS,EAAA;AAAA0C,gBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;AAAAF,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA,OAChB/B,UAAU,CAACmC,0BAA0B,CAACX,OAAO,EAAErC,SAAS,CAAC;AAAA,YAAA,KAAA,CAAA;cAAAwC,EAAA,GAAAE,QAAA,CAAAO,CAAA;AAAAP,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAAF,cAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,cAAA,OACzD/B,UAAU,CAACmC,0BAA0B,CAACX,OAAO,CAAC;AAAA,YAAA,KAAA,CAAA;cAAAG,EAAA,GAAAE,QAAA,CAAAO,CAAA;AAAA,YAAA,KAAA,CAAA;AAFlDX,cAAAA,QAAQ,GAAAE,EAAA;AAAA,cAAA,IAGTf,MAAM,EAAA;AAAAiB,gBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;cAAA,OAAAF,QAAA,CAAAG,CAAA,CAAA,CAAA,CAAA;AAAA,YAAA,KAAA,CAAA;AAELN,cAAAA,MAAM,GAAGD,QAAQ,CAACY,iBAAiB,CAACC,WAAW,EAAE;cAAA,IAAA,CACnDC,iBAAiB,CAACb,MAAM,CAAC,EAAA;AAAAG,gBAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,gBAAA;AAAA,cAAA;AAC3BhB,cAAAA,MAAM,CAAC,YAAA;gBAAA,OAAMN,YAAY,CAAC,IAAI,CAAC;cAAA,CAAA,CAAC;cAAC,OAAAoB,QAAA,CAAAG,CAAA,CAAA,CAAA,CAAA;AAAA,YAAA,KAAA,CAAA;AAGnC,cAAA,IAAIQ,cAAc,CAACd,MAAM,CAAC,EAAE;AAC1BX,gBAAAA,MAAM,CAAC,YAAK;AACVlB,kBAAAA,OAAO,CACL,IAAI4C,YAAY,IAAAC,MAAA,CACX/C,WAAW,EAAA,eAAA,CAAA,CAAA+C,MAAA,CAAgBjB,QAAQ,CAACY,iBAAiB,EAAA,GAAA,CAAA,EACxDM,iBAAiB,CAACC,6BAA6B,CAChD,CACF;AACDzC,kBAAAA,UAAU,EAAE;AACd,gBAAA,CAAC,CAAC;AACJ,cAAA;AAAC0B,cAAAA,QAAA,CAAAE,CAAA,GAAA,EAAA;AAAA,cAAA;AAAA,YAAA,KAAA,CAAA;AAAAF,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;cAAAD,QAAA,CAAAO,CAAA;AAAA,YAAA,KAAA,EAAA;AAAAP,cAAAA,QAAA,CAAAC,CAAA,GAAA,EAAA;AAIDjB,cAAAA,OAAO,GAAG,KAAK;cAAC,OAAAgB,QAAA,CAAAgB,CAAA,CAAA,EAAA,CAAA;AAAA,YAAA,KAAA,EAAA;cAAA,OAAAhB,QAAA,CAAAG,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,QAAA,CAAA,EAAAT,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA;MAAA,CAEnB,CAAA,CAAA;AAAA,MAAA,OAAA,SAnCKL,IAAIA,GAAA;AAAA,QAAA,OAAAC,IAAA,CAAA2B,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,MAAA,CAAA;IAAA,CAAA,EAmCT;IAED,KAAK7B,IAAI,EAAE;IACXJ,QAAQ,GAAGkC,WAAW,CAAC,YAAA;MAAA,OAAM,KAAK9B,IAAI,EAAE;AAAA,IAAA,CAAA,EAAE3C,gBAAgB,CAAC;AAC3D,IAAA,OAAO,YAAK;AACVqC,MAAAA,MAAM,GAAG,KAAK;MACdK,aAAa,CAACH,QAAQ,CAAC;IACzB,CAAC;AACH,EAAA,CAAC,EAAE,CACDX,UAAU,EACVK,SAAS,EACTR,UAAU,EACVH,OAAO,EACPX,cAAc,EACdC,SAAS,EACTQ,WAAW,EACXV,aAAa,CACd,CAAC;AAEF,EAAA,IAAIuB,SAAS,EAAE;IACb,OACEyC,GAAA,CAACC,WAAW,EAAA;AACVC,MAAAA,IAAI,EAAE1D,WAAW;AACjB2D,MAAAA,QAAQ,EAAE7D,mBAAmB;AAC7B8D,MAAAA,UAAU,EAAE,SAAZA,UAAUA,GAAO;AACfzD,QAAAA,SAAS,EAAE;AACXO,QAAAA,UAAU,EAAE;AACd,MAAA;AAAC,KAAA,CACD;AAEN,EAAA;EAEA,OACE8C,IAACK,UAAU,EAAA;AACTC,IAAAA,KAAK,EAAC,oBAAoB;AAC1BC,IAAAA,QAAQ,EAAA,UAAA,CAAAd,MAAA,CAAae,YAAY,CAACrE,QAAQ,CAAC,EAAA,GAAA,CAAA,CAAAsD,MAAA,CAAIrD,cAAc,GAAG,KAAK,GAAG,OAAO,EAAA,2BAAA,CAA2B;AAC1GqE,IAAAA,IAAI,EAAEhD,YAAY,GAAGuC,GAAA,CAACvC,YAAY;AAACiD,MAAAA,SAAS,EAAC;AAAS,KAAA,CAAG,GAAGC;AAAS,GAAA,CACrE;AAEN;AAEA,SAASrB,iBAAiBA,CAACb,MAAc,EAAA;AACvC,EAAA,OAAOA,MAAM,CAACmC,QAAQ,CAAC,WAAW,CAAC;AACrC;AAEA,SAASrB,cAAcA,CAACd,MAAc,EAAA;EACpC,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAACoC,IAAI,CAAC,UAACC,KAAK,EAAA;AAAA,IAAA,OACpDrC,MAAM,CAACmC,QAAQ,CAACE,KAAK,CAAC;EAAA,CAAA,CACvB;AACH;;;;"}
@@ -0,0 +1,35 @@
1
+ /// <reference types="react" />
2
+ import type { IconDefinition } from "@fortawesome/fontawesome-svg-core";
3
+ import type { v1FiatRampPaymentMethod } from "@turnkey/core";
4
+ type PayoutOption = {
5
+ id: string;
6
+ label: string;
7
+ description: string;
8
+ icon: IconDefinition;
9
+ };
10
+ export type PaymentMethodListProps = {
11
+ onSelect: (method: v1FiatRampPaymentMethod) => void;
12
+ className?: string;
13
+ };
14
+ export declare const PaymentMethodList: import("react").ForwardRefExoticComponent<PaymentMethodListProps & import("react").RefAttributes<HTMLDivElement>>;
15
+ export declare function PaymentMethodSelect(props: {
16
+ value?: v1FiatRampPaymentMethod | undefined;
17
+ onChange: (method: v1FiatRampPaymentMethod) => void;
18
+ }): import("react/jsx-runtime").JSX.Element | null;
19
+ export type OffRampPayoutId = "card" | "ach" | "fiat-account";
20
+ export declare const offRampPayouts: (PayoutOption & {
21
+ id: OffRampPayoutId;
22
+ methods: v1FiatRampPaymentMethod[];
23
+ })[];
24
+ export declare function offRampPayoutMethods(payout: OffRampPayoutId | undefined): v1FiatRampPaymentMethod[] | undefined;
25
+ export type OffRampPayoutListProps = {
26
+ onSelect: (payout: OffRampPayoutId) => void;
27
+ className?: string;
28
+ };
29
+ export declare const OffRampPayoutList: import("react").ForwardRefExoticComponent<OffRampPayoutListProps & import("react").RefAttributes<HTMLDivElement>>;
30
+ export declare function OffRampPayoutSelect(props: {
31
+ value?: OffRampPayoutId | undefined;
32
+ onChange: (payout: OffRampPayoutId) => void;
33
+ }): import("react/jsx-runtime").JSX.Element | null;
34
+ export {};
35
+ //# sourceMappingURL=PaymentMethods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentMethods.d.ts","sourceRoot":"","sources":["../../../src/components/funding/PaymentMethods.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAM7D,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;CACtB,CAAC;AAmEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,mHAiB5B,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,KAAK,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IAC5C,QAAQ,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;CACrD,kDAwBA;AAID,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,cAAc,CAAC;AAE9D,eAAO,MAAM,cAAc,EAAE,CAAC,YAAY,GAAG;IAC3C,EAAE,EAAE,eAAe,CAAC;IACpB,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACpC,CAAC,EAyBD,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,yCAEvE;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,mHAiB5B,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,KAAK,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;CAC7C,kDAwBA"}
@@ -0,0 +1,173 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
5
+ var freeBrandsSvgIcons = require('@fortawesome/free-brands-svg-icons');
6
+ var reactFontawesome = require('@fortawesome/react-fontawesome');
7
+ var clsx = require('clsx');
8
+ var react = require('react');
9
+ var Hook = require('../../providers/modal/Hook.js');
10
+ var Buttons = require('../design/Buttons.js');
11
+
12
+ const paymentMethods = [{
13
+ id: "FIAT_RAMP_PAYMENT_METHOD_CREDIT_DEBIT_CARD",
14
+ method: "FIAT_RAMP_PAYMENT_METHOD_CREDIT_DEBIT_CARD",
15
+ label: "Card",
16
+ description: "Directly enter your debit or credit card details",
17
+ icon: freeSolidSvgIcons.faCreditCard
18
+ }, {
19
+ id: "FIAT_RAMP_PAYMENT_METHOD_APPLE_PAY",
20
+ method: "FIAT_RAMP_PAYMENT_METHOD_APPLE_PAY",
21
+ label: "Apple Pay",
22
+ description: "Use your Apple Wallet to pay",
23
+ icon: freeBrandsSvgIcons.faApple
24
+ }, {
25
+ id: "FIAT_RAMP_PAYMENT_METHOD_GOOGLE_PAY",
26
+ method: "FIAT_RAMP_PAYMENT_METHOD_GOOGLE_PAY",
27
+ label: "Google Pay",
28
+ description: "Use your Google Wallet to pay",
29
+ icon: freeBrandsSvgIcons.faGoogle
30
+ }];
31
+ function PaymentMethodButton(props) {
32
+ const {
33
+ option,
34
+ onSelect
35
+ } = props;
36
+ const {
37
+ isMobile
38
+ } = Hook.useModal();
39
+ const [isHovering, setIsHovering] = react.useState(false);
40
+ return jsxRuntime.jsxs(Buttons.ActionButton, {
41
+ name: `onramp-${option.id}`,
42
+ onClick: onSelect,
43
+ ...(!isMobile && {
44
+ onMouseEnter: () => setIsHovering(true),
45
+ onMouseLeave: () => setIsHovering(false)
46
+ }),
47
+ className: "relative flex w-full items-center gap-2 overflow-hidden bg-button-light text-inherit dark:bg-button-dark",
48
+ children: [jsxRuntime.jsx("span", {
49
+ className: "flex size-6 shrink-0 items-center justify-center",
50
+ children: jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
51
+ icon: option.icon,
52
+ className: "size-4 text-xl"
53
+ })
54
+ }), jsxRuntime.jsxs("span", {
55
+ className: "flex flex-col items-start",
56
+ children: [jsxRuntime.jsx("span", {
57
+ children: option.label
58
+ }), jsxRuntime.jsx("span", {
59
+ className: "text-xs text-icon-text-light dark:text-icon-text-dark",
60
+ children: option.description
61
+ })]
62
+ }), jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
63
+ className: clsx("absolute transition-all duration-200 text-icon-text-light dark:text-icon-text-dark", isHovering ? "right-4" : "-right-4"),
64
+ icon: freeSolidSvgIcons.faChevronRight
65
+ })]
66
+ });
67
+ }
68
+ const PaymentMethodList = /*#__PURE__*/react.forwardRef(function PaymentMethodList(props, ref) {
69
+ const {
70
+ onSelect,
71
+ className
72
+ } = props;
73
+ return jsxRuntime.jsx("div", {
74
+ ref: ref,
75
+ className: clsx("flex w-full flex-col gap-2", className),
76
+ children: paymentMethods.map(option => jsxRuntime.jsx(PaymentMethodButton, {
77
+ option: option,
78
+ onSelect: () => onSelect(option.method)
79
+ }, option.id))
80
+ });
81
+ });
82
+ function PaymentMethodSelect(props) {
83
+ const {
84
+ value,
85
+ onChange
86
+ } = props;
87
+ const {
88
+ openSheet,
89
+ closeSheet
90
+ } = Hook.useModal();
91
+ const option = paymentMethods.find(item => item.id === value);
92
+ if (!option) return null;
93
+ return jsxRuntime.jsx(PaymentMethodButton, {
94
+ option: option,
95
+ onSelect: () => openSheet({
96
+ key: "Payment method",
97
+ content: jsxRuntime.jsx(PaymentMethodList, {
98
+ onSelect: method => {
99
+ onChange(method);
100
+ closeSheet();
101
+ }
102
+ })
103
+ })
104
+ });
105
+ }
106
+ const offRampPayouts = [{
107
+ id: "card",
108
+ label: "Card",
109
+ description: "Receive the sale on a debit card",
110
+ icon: freeSolidSvgIcons.faCreditCard,
111
+ methods: ["FIAT_RAMP_PAYMENT_METHOD_CREDIT_DEBIT_CARD"]
112
+ }, {
113
+ id: "ach",
114
+ label: "ACH transfer",
115
+ description: "Receive the sale in a US bank account",
116
+ icon: freeSolidSvgIcons.faBuildingColumns,
117
+ methods: ["FIAT_RAMP_PAYMENT_METHOD_ACH_BANK_ACCOUNT"]
118
+ }, {
119
+ id: "fiat-account",
120
+ label: "Fiat account",
121
+ description: "Receive the sale in a fiat balance",
122
+ icon: freeSolidSvgIcons.faWallet,
123
+ methods: ["FIAT_RAMP_PAYMENT_METHOD_FIAT_WALLET", "FIAT_RAMP_PAYMENT_METHOD_MOONPAY_BALANCE"]
124
+ }];
125
+ function offRampPayoutMethods(payout) {
126
+ return offRampPayouts.find(item => item.id === payout)?.methods;
127
+ }
128
+ const OffRampPayoutList = /*#__PURE__*/react.forwardRef(function OffRampPayoutList(props, ref) {
129
+ const {
130
+ onSelect,
131
+ className
132
+ } = props;
133
+ return jsxRuntime.jsx("div", {
134
+ ref: ref,
135
+ className: clsx("flex w-full flex-col gap-2", className),
136
+ children: offRampPayouts.map(option => jsxRuntime.jsx(PaymentMethodButton, {
137
+ option: option,
138
+ onSelect: () => onSelect(option.id)
139
+ }, option.id))
140
+ });
141
+ });
142
+ function OffRampPayoutSelect(props) {
143
+ const {
144
+ value,
145
+ onChange
146
+ } = props;
147
+ const {
148
+ openSheet,
149
+ closeSheet
150
+ } = Hook.useModal();
151
+ const option = offRampPayouts.find(item => item.id === value);
152
+ if (!option) return null;
153
+ return jsxRuntime.jsx(PaymentMethodButton, {
154
+ option: option,
155
+ onSelect: () => openSheet({
156
+ key: "Payout method",
157
+ content: jsxRuntime.jsx(OffRampPayoutList, {
158
+ onSelect: payout => {
159
+ onChange(payout);
160
+ closeSheet();
161
+ }
162
+ })
163
+ })
164
+ });
165
+ }
166
+
167
+ exports.OffRampPayoutList = OffRampPayoutList;
168
+ exports.OffRampPayoutSelect = OffRampPayoutSelect;
169
+ exports.PaymentMethodList = PaymentMethodList;
170
+ exports.PaymentMethodSelect = PaymentMethodSelect;
171
+ exports.offRampPayoutMethods = offRampPayoutMethods;
172
+ exports.offRampPayouts = offRampPayouts;
173
+ //# sourceMappingURL=PaymentMethods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentMethods.js","sources":["../../../src/components/funding/PaymentMethods.tsx"],"sourcesContent":[null],"names":["paymentMethods","id","method","label","description","icon","faCreditCard","faApple","faGoogle","PaymentMethodButton","props","option","onSelect","isMobile","useModal","isHovering","setIsHovering","useState","_jsxs","ActionButton","name","onClick","onMouseEnter","onMouseLeave","className","_jsx","FontAwesomeIcon","children","clsx","faChevronRight","PaymentMethodList","forwardRef","ref","map","PaymentMethodSelect","value","onChange","openSheet","closeSheet","find","item","key","content","offRampPayouts","methods","faBuildingColumns","faWallet","offRampPayoutMethods","payout","OffRampPayoutList","OffRampPayoutSelect"],"mappings":"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"}