@mintmoney/react 0.1.0-alpha.30 → 0.1.0-alpha.31
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.
- package/dist/esm/api/checkouts.js +3 -10
- package/dist/esm/api/checkouts.js.map +1 -1
- package/dist/esm/api/generated.js +16 -500
- package/dist/esm/api/generated.js.map +1 -1
- package/dist/esm/api/payments.js +28 -29
- package/dist/esm/api/payments.js.map +1 -1
- package/dist/esm/api/types.js.map +1 -1
- package/dist/esm/checkout/modal.js +7 -7
- package/dist/esm/checkout/modal.js.map +1 -1
- package/dist/esm/checkout/views/crypto-intent/direct-details.js +135 -16
- package/dist/esm/checkout/views/crypto-intent/direct-details.js.map +1 -1
- package/dist/esm/checkout/views/crypto-intent/methods.js +5 -5
- package/dist/esm/checkout/views/crypto-intent/methods.js.map +1 -1
- package/dist/esm/checkout/views/crypto-intent/wallet-payment-confirmation-amount.js +30 -0
- package/dist/esm/checkout/views/crypto-intent/wallet-payment-confirmation-amount.js.map +1 -0
- package/dist/esm/checkout/views/crypto-intent/wallet-payment-options.js +680 -0
- package/dist/esm/checkout/views/crypto-intent/wallet-payment-options.js.map +1 -0
- package/dist/esm/checkout/views/crypto-intent/wallet-select.js +3 -31
- package/dist/esm/checkout/views/crypto-intent/wallet-select.js.map +1 -1
- package/dist/esm/checkout/views/initial.js +1 -4
- package/dist/esm/checkout/views/initial.js.map +1 -1
- package/dist/esm/components/wallet-selector/wallets/wagmi/index.js +8 -1
- package/dist/esm/components/wallet-selector/wallets/wagmi/index.js.map +1 -1
- package/dist/esm/config.js +1 -1
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/integrations/evm-chain.js +22 -0
- package/dist/esm/integrations/evm-chain.js.map +1 -0
- package/dist/esm/integrations/index.js +1 -0
- package/dist/esm/integrations/index.js.map +1 -1
- package/dist/esm/integrations/lifi.js +200 -0
- package/dist/esm/integrations/lifi.js.map +1 -0
- package/dist/esm/state/checkout/payment-attempt.js +43 -0
- package/dist/esm/state/checkout/payment-attempt.js.map +1 -0
- package/dist/esm/state/checkout/store.js +120 -30
- package/dist/esm/state/checkout/store.js.map +1 -1
- package/dist/types/api/checkouts.d.ts +0 -1
- package/dist/types/api/checkouts.d.ts.map +1 -1
- package/dist/types/api/generated.d.ts +162 -1406
- package/dist/types/api/generated.d.ts.map +1 -1
- package/dist/types/api/payments.d.ts +18 -8
- package/dist/types/api/payments.d.ts.map +1 -1
- package/dist/types/api/types.d.ts +6 -8
- package/dist/types/api/types.d.ts.map +1 -1
- package/dist/types/checkout/views/crypto-intent/direct-details.d.ts.map +1 -1
- package/dist/types/checkout/views/crypto-intent/wallet-payment-confirmation-amount.d.ts +13 -0
- package/dist/types/checkout/views/crypto-intent/wallet-payment-confirmation-amount.d.ts.map +1 -0
- package/dist/types/checkout/views/crypto-intent/wallet-payment-options.d.ts +3 -0
- package/dist/types/checkout/views/crypto-intent/wallet-payment-options.d.ts.map +1 -0
- package/dist/types/checkout/views/crypto-intent/wallet-select.d.ts.map +1 -1
- package/dist/types/checkout/views/initial.d.ts.map +1 -1
- package/dist/types/components/wallet-selector/domain.d.ts +9 -0
- package/dist/types/components/wallet-selector/domain.d.ts.map +1 -1
- package/dist/types/components/wallet-selector/wallets/wagmi/index.d.ts +449 -0
- package/dist/types/components/wallet-selector/wallets/wagmi/index.d.ts.map +1 -1
- package/dist/types/config.d.ts +64 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/integrations/evm-chain.d.ts +3 -0
- package/dist/types/integrations/evm-chain.d.ts.map +1 -0
- package/dist/types/integrations/index.d.ts +1 -0
- package/dist/types/integrations/index.d.ts.map +1 -1
- package/dist/types/integrations/lifi.d.ts +14 -0
- package/dist/types/integrations/lifi.d.ts.map +1 -0
- package/dist/types/state/checkout/payment-attempt.d.ts +9 -0
- package/dist/types/state/checkout/payment-attempt.d.ts.map +1 -0
- package/dist/types/state/checkout/store.d.ts +12 -86
- package/dist/types/state/checkout/store.d.ts.map +1 -1
- package/package.json +4 -2
- package/dist/esm/checkout/views/crypto-intent/currency-select.js +0 -44
- package/dist/esm/checkout/views/crypto-intent/currency-select.js.map +0 -1
- package/dist/esm/components/crypto/default-currency-selector.js +0 -62
- package/dist/esm/components/crypto/default-currency-selector.js.map +0 -1
- package/dist/types/checkout/views/crypto-intent/currency-select.d.ts +0 -3
- package/dist/types/checkout/views/crypto-intent/currency-select.d.ts.map +0 -1
- package/dist/types/components/crypto/default-currency-selector.d.ts +0 -9
- package/dist/types/components/crypto/default-currency-selector.d.ts.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FiatPaymentMethod } from "../../api/payments.js";
|
|
1
|
+
import { FiatPaymentMethod, FiatPaymentAttempt } from "../../api/payments.js";
|
|
3
2
|
import { Checkout, CheckoutMethod, CryptoCurrency, Payment, CryptoPaymentAttempt, PaymentStatus } from "../../api/types.js";
|
|
4
3
|
import { WalletInterface, Transfer } from "../../components/wallet-selector/domain.js";
|
|
4
|
+
import { WalletPaymentOption, WalletPaymentQuote, WalletPaymentState } from "../../config.js";
|
|
5
5
|
export declare enum ACTIONS {
|
|
6
6
|
GET_CHECKOUT_CONFIG = "GET_CHECKOUT_CONFIG",
|
|
7
7
|
GET_CRYPTO_CURRENCIES = "GET_CRYPTO_CURRENCIES",
|
|
@@ -32,7 +32,7 @@ interface CheckoutState {
|
|
|
32
32
|
checkout: Checkout | null;
|
|
33
33
|
payment: Payment | null;
|
|
34
34
|
cryptoPaymentAttempt: CryptoPaymentAttempt | null;
|
|
35
|
-
fiatPaymentAttempt:
|
|
35
|
+
fiatPaymentAttempt: FiatPaymentAttempt | null;
|
|
36
36
|
methods: CheckoutMethod[] | null;
|
|
37
37
|
cryptoCurrency: CryptoCurrency | null;
|
|
38
38
|
loading: Record<ACTIONS, boolean>;
|
|
@@ -40,6 +40,7 @@ interface CheckoutState {
|
|
|
40
40
|
processing: boolean;
|
|
41
41
|
transfer: TransferState;
|
|
42
42
|
polling: PollingState;
|
|
43
|
+
walletPayment: WalletPaymentState;
|
|
43
44
|
}
|
|
44
45
|
export declare const useCheckoutStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<CheckoutState>, "setState"> & {
|
|
45
46
|
setState(nextStateOrUpdater: CheckoutState | Partial<CheckoutState> | ((state: import("immer").WritableDraft<CheckoutState>) => void), shouldReplace?: false): void;
|
|
@@ -47,100 +48,23 @@ export declare const useCheckoutStore: import("zustand").UseBoundStore<Omit<impo
|
|
|
47
48
|
}>;
|
|
48
49
|
export declare const clearErrors: () => void;
|
|
49
50
|
export declare const initialiseStore: (payment: Payment) => Promise<void>;
|
|
50
|
-
export declare const
|
|
51
|
+
export declare const createWalletOptionPaymentAttempt: (option: WalletPaymentOption, sendingAddress: string, quote?: WalletPaymentQuote | null) => Promise<CryptoPaymentAttempt>;
|
|
52
|
+
export declare const createManualDirectPaymentAttempt: (sendingAddress?: string, confirmations?: number) => Promise<CryptoPaymentAttempt>;
|
|
51
53
|
export declare const createSuccessfulTestPaymentAttempt: () => Promise<void>;
|
|
52
54
|
export declare const createFailedTestPaymentAttempt: () => Promise<void>;
|
|
53
55
|
export declare const createCheckoutFiatPaymentAttempt: (method: FiatPaymentMethod) => Promise<void>;
|
|
54
56
|
export declare function getAvailableCheckoutMethods(checkout: Checkout): CheckoutMethod[];
|
|
55
|
-
export declare const
|
|
56
|
-
export declare const getPayment: () => Promise<
|
|
57
|
-
id: string;
|
|
58
|
-
currency: string;
|
|
59
|
-
created_at: string;
|
|
60
|
-
updated_at: string;
|
|
61
|
-
checkout_id: string;
|
|
62
|
-
checkout: {
|
|
63
|
-
id: string;
|
|
64
|
-
organization_id: string;
|
|
65
|
-
name: string;
|
|
66
|
-
created_at: string;
|
|
67
|
-
updated_at: string;
|
|
68
|
-
checkout_config: {
|
|
69
|
-
crypto?: {
|
|
70
|
-
enabled?: boolean;
|
|
71
|
-
settlementConfig?: {
|
|
72
|
-
chain: string;
|
|
73
|
-
asset: string;
|
|
74
|
-
asset_name: string;
|
|
75
|
-
chain_name: string;
|
|
76
|
-
asset_id: string;
|
|
77
|
-
display_name?: string;
|
|
78
|
-
};
|
|
79
|
-
withdrawAddress?: {
|
|
80
|
-
chain: string;
|
|
81
|
-
address: string;
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
card?: {
|
|
85
|
-
enabled?: boolean;
|
|
86
|
-
};
|
|
87
|
-
bank?: {
|
|
88
|
-
enabled?: boolean;
|
|
89
|
-
};
|
|
90
|
-
};
|
|
91
|
-
withdraw_address_config?: {
|
|
92
|
-
chain: string;
|
|
93
|
-
address: string;
|
|
94
|
-
};
|
|
95
|
-
is_live: boolean;
|
|
96
|
-
logo_url?: string;
|
|
97
|
-
};
|
|
98
|
-
organization_id: string;
|
|
99
|
-
status: "pending" | "confirming_payment" | "paid" | "failed";
|
|
100
|
-
is_test: boolean;
|
|
101
|
-
payment_attempt?: {
|
|
102
|
-
payment_id: string;
|
|
103
|
-
from_token: string;
|
|
104
|
-
amount: number;
|
|
105
|
-
amount_formatted: number;
|
|
106
|
-
from_chain: string;
|
|
107
|
-
settlement_token_address: string;
|
|
108
|
-
destination_address: string;
|
|
109
|
-
created_at: string;
|
|
110
|
-
updated_at: string;
|
|
111
|
-
required_confirmations: number;
|
|
112
|
-
is_bridge: boolean;
|
|
113
|
-
};
|
|
114
|
-
fiat_payment_attempt?: {
|
|
115
|
-
payment_id: string;
|
|
116
|
-
provider: string;
|
|
117
|
-
provider_attempt_id: string;
|
|
118
|
-
provider_payment_id?: string | null;
|
|
119
|
-
error_code?: string | null;
|
|
120
|
-
error_message?: string | null;
|
|
121
|
-
client_params: Record<string, any>;
|
|
122
|
-
raw_provider_payload?: Record<string, any>;
|
|
123
|
-
created_at: string;
|
|
124
|
-
updated_at: string;
|
|
125
|
-
};
|
|
126
|
-
order_id?: string | null;
|
|
127
|
-
customer_id?: string;
|
|
128
|
-
metadata?: Record<string, string | number>;
|
|
129
|
-
line_items?: {
|
|
130
|
-
name: string;
|
|
131
|
-
quantity: number;
|
|
132
|
-
image_url: string;
|
|
133
|
-
price: number;
|
|
134
|
-
}[];
|
|
135
|
-
amount: number;
|
|
136
|
-
} | null>;
|
|
57
|
+
export declare const hydrateCheckoutFromPayment: (payment: Payment) => void;
|
|
58
|
+
export declare const getPayment: () => Promise<Payment | null>;
|
|
137
59
|
interface TransferWalletInterface {
|
|
138
60
|
getAddress(): Promise<string | null>;
|
|
139
61
|
executeTransfer(config: Transfer): Promise<string | null>;
|
|
62
|
+
switchChain?(chainId: number): Promise<void>;
|
|
140
63
|
}
|
|
141
64
|
export declare const executeTransfer: (wallet: TransferWalletInterface) => Promise<string>;
|
|
142
65
|
export declare const checkChainStatus: (wallet: WalletInterface) => Promise<void>;
|
|
143
66
|
export declare const resetTransfer: () => void;
|
|
67
|
+
export declare const executeConnectedWalletPayment: (wallet: WalletInterface) => Promise<void>;
|
|
144
68
|
export declare const startPaymentPolling: (onPaymentStatusChange: (status: PaymentStatus) => void, confirmationStatus?: PaymentStatus) => {
|
|
145
69
|
stop: () => void;
|
|
146
70
|
};
|
|
@@ -151,5 +75,7 @@ export declare const setProcessing: (processing: boolean) => void;
|
|
|
151
75
|
export declare const getProcessing: () => boolean;
|
|
152
76
|
export declare const setSelectedCurrency: (currency: CryptoCurrency | null) => void;
|
|
153
77
|
export declare const isTestMode: () => boolean;
|
|
78
|
+
export declare const setWalletPaymentState: (update: Partial<WalletPaymentState>) => void;
|
|
79
|
+
export declare const resetWalletPaymentState: () => void;
|
|
154
80
|
export {};
|
|
155
81
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/state/checkout/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/state/checkout/store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mintmoney/react",
|
|
3
3
|
"description": "React SDK library for the MintMoney payments network",
|
|
4
|
-
"version": "0.1.0-alpha.
|
|
4
|
+
"version": "0.1.0-alpha.31",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -68,6 +68,7 @@
|
|
|
68
68
|
"react-dom": ">=18 <20"
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
+
"@lifi/sdk": "^3.16.3",
|
|
71
72
|
"@radix-ui/react-dialog": "^1.1.6",
|
|
72
73
|
"@radix-ui/react-visually-hidden": "^1.1.2",
|
|
73
74
|
"@tanstack/react-query": "^5.76.1",
|
|
@@ -100,7 +101,8 @@
|
|
|
100
101
|
"lint-staged": "^15.2.7",
|
|
101
102
|
"prettier": "^3.3.3",
|
|
102
103
|
"typescript": "^5.8.2",
|
|
103
|
-
"typescript-eslint": "^8.10.0"
|
|
104
|
+
"typescript-eslint": "^8.10.0",
|
|
105
|
+
"vitest": "^4.1.4"
|
|
104
106
|
},
|
|
105
107
|
"scripts": {
|
|
106
108
|
"build": "pnpm run clean && tsc --project tsconfig.build.json && pnpm run copy-css",
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useRef, useContext, useEffect } from "react";
|
|
3
|
-
import { DefaultCurrencySelector } from "../../../components/crypto/default-currency-selector.js";
|
|
4
|
-
import { useModalWithView, Text } from "../../../components/index.js";
|
|
5
|
-
import { WalletContext } from "../../../components/wallet-selector/provider.js";
|
|
6
|
-
import { useWalletActions, useWalletBalances, } from "../../../components/wallet-selector/store.js";
|
|
7
|
-
import { useMintMoneyConfig } from "../../../context.js";
|
|
8
|
-
import { useCheckoutStore } from "../../../state/checkout/store.js";
|
|
9
|
-
import { ModalViewContainer } from "../../container.js";
|
|
10
|
-
import { ModalBackButton } from "../back.js";
|
|
11
|
-
const getDefaultCurrency = (cryptoCurrency, checkout) => {
|
|
12
|
-
if (!cryptoCurrency || !checkout?.checkout_config?.crypto?.settlementConfig)
|
|
13
|
-
return null;
|
|
14
|
-
// Check if the crypto currency matches the configured settlement asset
|
|
15
|
-
const settlementConfig = checkout.checkout_config.crypto.settlementConfig;
|
|
16
|
-
return cryptoCurrency.chain === settlementConfig.chain &&
|
|
17
|
-
cryptoCurrency.asset === settlementConfig.asset
|
|
18
|
-
? cryptoCurrency
|
|
19
|
-
: null;
|
|
20
|
-
};
|
|
21
|
-
const CryptoIntentSelectCurrencyViewContent = () => {
|
|
22
|
-
const modalRef = useRef(null);
|
|
23
|
-
const { goToView } = useModalWithView();
|
|
24
|
-
const { checkout, cryptoCurrency } = useCheckoutStore();
|
|
25
|
-
const config = useMintMoneyConfig();
|
|
26
|
-
const { fetchBalances } = useWalletActions();
|
|
27
|
-
const { wallet } = useContext(WalletContext);
|
|
28
|
-
const balances = useWalletBalances();
|
|
29
|
-
const processing = useCheckoutStore((state) => state.processing);
|
|
30
|
-
// If crypto is not enabled for this checkout, redirect to failed view
|
|
31
|
-
if (checkout && !checkout.checkout_config.crypto?.enabled) {
|
|
32
|
-
goToView("failed", { reason: "crypto_not_enabled" });
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
useEffect(() => {
|
|
36
|
-
if (!wallet || !cryptoCurrency)
|
|
37
|
-
return;
|
|
38
|
-
void fetchBalances([cryptoCurrency]);
|
|
39
|
-
}, [wallet, cryptoCurrency, fetchBalances]);
|
|
40
|
-
const defaultCurrency = getDefaultCurrency(cryptoCurrency, checkout);
|
|
41
|
-
return (_jsxs(ModalViewContainer, { ref: modalRef, children: [_jsx(Text, { size: "base", color: config.theme.font.color.secondary, weight: "normal", children: "Select a currency to complete payment with" }), defaultCurrency && (_jsx(DefaultCurrencySelector, { currency: defaultCurrency, balance: balances[`${defaultCurrency.chain}-${defaultCurrency.asset}`] ?? "-", buttonVariant: "primary" })), _jsx(ModalBackButton, { view: "cryptoIntent", disabled: processing })] }));
|
|
42
|
-
};
|
|
43
|
-
export { CryptoIntentSelectCurrencyViewContent };
|
|
44
|
-
//# sourceMappingURL=currency-select.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"currency-select.js","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/currency-select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useContext } from "react";
|
|
3
|
-
import { confirmPayment } from "../../api/payments.js";
|
|
4
|
-
import { useCheckoutStore, createCheckoutCryptoPaymentAttempt, setProcessing, executeTransfer, setSelectedCurrency, checkChainStatus, } from "../../state/checkout/store.js";
|
|
5
|
-
import { useModalWithView } from "../index.js";
|
|
6
|
-
import { WalletContext } from "../wallet-selector/provider.js";
|
|
7
|
-
import { CurrencySelector } from "./currency-selector.js";
|
|
8
|
-
function waitForTransferSuccess() {
|
|
9
|
-
return new Promise((resolve, reject) => {
|
|
10
|
-
const unsubscribe = useCheckoutStore.subscribe((state) => {
|
|
11
|
-
if (state.transfer.chainStatus === "confirmed") {
|
|
12
|
-
unsubscribe();
|
|
13
|
-
resolve();
|
|
14
|
-
}
|
|
15
|
-
else if (state.transfer.chainStatus === "failed") {
|
|
16
|
-
unsubscribe();
|
|
17
|
-
reject(new Error(state.transfer.error || "Transaction failed on chain"));
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
const DefaultCurrencySelector = ({ currency, balance, buttonVariant = "primary", }) => {
|
|
23
|
-
const { goToView } = useModalWithView();
|
|
24
|
-
const { wallet } = useContext(WalletContext);
|
|
25
|
-
const processing = useCheckoutStore((state) => state.processing);
|
|
26
|
-
const handleSelectCurrency = async (currency) => {
|
|
27
|
-
setProcessing(true);
|
|
28
|
-
setSelectedCurrency(currency);
|
|
29
|
-
try {
|
|
30
|
-
await createCheckoutCryptoPaymentAttempt(currency);
|
|
31
|
-
if (!wallet) {
|
|
32
|
-
goToView("cryptoIntentSelectWallet");
|
|
33
|
-
setProcessing(false);
|
|
34
|
-
setSelectedCurrency(null);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
await executeTransfer(wallet);
|
|
38
|
-
if (wallet) {
|
|
39
|
-
void checkChainStatus(wallet);
|
|
40
|
-
}
|
|
41
|
-
await waitForTransferSuccess();
|
|
42
|
-
const payment = useCheckoutStore.getState().payment;
|
|
43
|
-
if (payment?.id) {
|
|
44
|
-
await confirmPayment(payment.id);
|
|
45
|
-
}
|
|
46
|
-
goToView("paymentStatus");
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
setProcessing(false);
|
|
50
|
-
setSelectedCurrency(null);
|
|
51
|
-
if (error instanceof Error) {
|
|
52
|
-
goToView("failed", { reason: error.message });
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
goToView("failed", { reason: "payment_failed" });
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
return (_jsx(CurrencySelector, { currency: currency, balance: balance, onSelect: handleSelectCurrency, buttonVariant: buttonVariant, buttonDisabled: processing }));
|
|
60
|
-
};
|
|
61
|
-
export { DefaultCurrencySelector };
|
|
62
|
-
//# sourceMappingURL=default-currency-selector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-currency-selector.js","sourceRoot":"","sources":["../../../../src/components/crypto/default-currency-selector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"currency-select.d.ts","sourceRoot":"","sources":["../../../../../src/checkout/views/crypto-intent/currency-select.tsx"],"names":[],"mappings":"AA6BA,QAAA,MAAM,qCAAqC,sDA8C1C,CAAC;AAEF,OAAO,EAAE,qCAAqC,EAAE,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { CryptoCurrency } from "../../api/types.js";
|
|
2
|
-
type DefaultCurrencyRowProps = {
|
|
3
|
-
currency: CryptoCurrency;
|
|
4
|
-
balance: string;
|
|
5
|
-
buttonVariant?: "primary" | "secondary";
|
|
6
|
-
};
|
|
7
|
-
declare const DefaultCurrencySelector: ({ currency, balance, buttonVariant, }: DefaultCurrencyRowProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
export { DefaultCurrencySelector };
|
|
9
|
-
//# sourceMappingURL=default-currency-selector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-currency-selector.d.ts","sourceRoot":"","sources":["../../../../src/components/crypto/default-currency-selector.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA8BpD,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACzC,CAAC;AAEF,QAAA,MAAM,uBAAuB,GAAI,uCAI9B,uBAAuB,4CA8CzB,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|