@daimo/sdk 1.0.0-rc.2 → 1.0.0-rc.3
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/common/api.d.ts.map +1 -1
- package/dist/common/api.js +3 -1
- package/dist/common/api.js.map +1 -1
- package/dist/common/legacy/assert.d.ts +6 -0
- package/dist/common/legacy/assert.d.ts.map +1 -0
- package/dist/common/legacy/assert.js +25 -0
- package/dist/common/legacy/assert.js.map +1 -0
- package/dist/common/legacy/client.d.ts +67 -0
- package/dist/common/legacy/client.d.ts.map +1 -0
- package/dist/common/legacy/client.js +55 -0
- package/dist/common/legacy/client.js.map +1 -0
- package/dist/common/legacy/debug.d.ts +5 -0
- package/dist/common/legacy/debug.d.ts.map +1 -0
- package/dist/common/legacy/debug.js +21 -0
- package/dist/common/legacy/debug.js.map +1 -0
- package/dist/common/legacy/format.d.ts +16 -0
- package/dist/common/legacy/format.d.ts.map +1 -0
- package/dist/common/legacy/format.js +34 -0
- package/dist/common/legacy/format.js.map +1 -0
- package/dist/common/legacy/index.d.ts +11 -0
- package/dist/common/legacy/index.d.ts.map +1 -0
- package/dist/common/legacy/index.js +11 -0
- package/dist/common/legacy/index.js.map +1 -0
- package/dist/common/legacy/primitiveTypes.d.ts +11 -0
- package/dist/common/legacy/primitiveTypes.d.ts.map +1 -0
- package/dist/common/legacy/primitiveTypes.js +14 -0
- package/dist/common/legacy/primitiveTypes.js.map +1 -0
- package/dist/common/legacy/session.d.ts +246 -0
- package/dist/common/legacy/session.d.ts.map +1 -0
- package/dist/common/legacy/session.js +124 -0
- package/dist/common/legacy/session.js.map +1 -0
- package/dist/common/legacy/try.d.ts +4 -0
- package/dist/common/legacy/try.d.ts.map +1 -0
- package/dist/common/legacy/try.js +26 -0
- package/dist/common/legacy/try.js.map +1 -0
- package/dist/common/primitives.d.ts +2 -2
- package/dist/common/primitives.d.ts.map +1 -1
- package/dist/common/primitives.js +13 -4
- package/dist/common/primitives.js.map +1 -1
- package/dist/common/session.d.ts +2 -0
- package/dist/common/session.d.ts.map +1 -1
- package/dist/common/session.js +4 -0
- package/dist/common/session.js.map +1 -1
- package/dist/hooks/DaimoClientContext.d.ts +7 -0
- package/dist/hooks/DaimoClientContext.d.ts.map +1 -0
- package/dist/hooks/DaimoClientContext.js +15 -0
- package/dist/hooks/DaimoClientContext.js.map +1 -0
- package/dist/hooks/formatUserError.d.ts +3 -0
- package/dist/hooks/formatUserError.d.ts.map +1 -0
- package/dist/hooks/formatUserError.js +30 -0
- package/dist/hooks/formatUserError.js.map +1 -0
- package/dist/hooks/index.d.ts +12 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +9 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/locale.d.ts +7 -0
- package/dist/hooks/locale.d.ts.map +1 -0
- package/dist/hooks/locale.js +15 -0
- package/dist/hooks/locale.js.map +1 -0
- package/dist/hooks/locales/en.d.ts +60 -0
- package/dist/hooks/locales/en.d.ts.map +1 -0
- package/dist/hooks/locales/en.js +76 -0
- package/dist/hooks/locales/en.js.map +1 -0
- package/dist/hooks/locales/es.d.ts +4 -0
- package/dist/hooks/locales/es.d.ts.map +1 -0
- package/dist/hooks/locales/es.js +60 -0
- package/dist/hooks/locales/es.js.map +1 -0
- package/dist/hooks/navEvent.d.ts +60 -0
- package/dist/hooks/navEvent.d.ts.map +1 -0
- package/dist/hooks/navEvent.js +16 -0
- package/dist/hooks/navEvent.js.map +1 -0
- package/dist/hooks/types.d.ts +71 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +14 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/hooks/usePaymentCallbacks.d.ts +15 -0
- package/dist/hooks/usePaymentCallbacks.d.ts.map +1 -0
- package/dist/hooks/usePaymentCallbacks.js +27 -0
- package/dist/hooks/usePaymentCallbacks.js.map +1 -0
- package/dist/hooks/useSessionNav.d.ts +31 -0
- package/dist/hooks/useSessionNav.d.ts.map +1 -0
- package/dist/hooks/useSessionNav.js +439 -0
- package/dist/hooks/useSessionNav.js.map +1 -0
- package/dist/hooks/useSessionPolling.d.ts +10 -0
- package/dist/hooks/useSessionPolling.d.ts.map +1 -0
- package/dist/hooks/useSessionPolling.js +61 -0
- package/dist/hooks/useSessionPolling.js.map +1 -0
- package/dist/web/ChooseOptionPage.d.ts +9 -0
- package/dist/web/ChooseOptionPage.d.ts.map +1 -0
- package/dist/web/ChooseOptionPage.js +51 -0
- package/dist/web/ChooseOptionPage.js.map +1 -0
- package/dist/web/ConfirmationPage.d.ts +32 -0
- package/dist/web/ConfirmationPage.d.ts.map +1 -0
- package/dist/web/ConfirmationPage.js +72 -0
- package/dist/web/ConfirmationPage.js.map +1 -0
- package/dist/web/ConfirmationSpinner.d.ts +7 -0
- package/dist/web/ConfirmationSpinner.d.ts.map +1 -0
- package/dist/web/ConfirmationSpinner.js +20 -0
- package/dist/web/ConfirmationSpinner.js.map +1 -0
- package/dist/web/DaimoModal.d.ts +15 -0
- package/dist/web/DaimoModal.d.ts.map +1 -0
- package/dist/web/DaimoModal.js +283 -0
- package/dist/web/DaimoModal.js.map +1 -0
- package/dist/web/DeeplinkPage.d.ts +8 -0
- package/dist/web/DeeplinkPage.d.ts.map +1 -0
- package/dist/web/DeeplinkPage.js +13 -0
- package/dist/web/DeeplinkPage.js.map +1 -0
- package/dist/web/ErrorPage.d.ts +28 -0
- package/dist/web/ErrorPage.d.ts.map +1 -0
- package/dist/web/ErrorPage.js +47 -0
- package/dist/web/ErrorPage.js.map +1 -0
- package/dist/web/ExchangePage.d.ts +11 -0
- package/dist/web/ExchangePage.d.ts.map +1 -0
- package/dist/web/ExchangePage.js +13 -0
- package/dist/web/ExchangePage.js.map +1 -0
- package/dist/web/ExpiredPage.d.ts +9 -0
- package/dist/web/ExpiredPage.d.ts.map +1 -0
- package/dist/web/ExpiredPage.js +12 -0
- package/dist/web/ExpiredPage.js.map +1 -0
- package/dist/web/ModalSkeleton.d.ts +7 -0
- package/dist/web/ModalSkeleton.d.ts.map +1 -0
- package/dist/web/ModalSkeleton.js +13 -0
- package/dist/web/ModalSkeleton.js.map +1 -0
- package/dist/web/ProgressDots.d.ts +16 -0
- package/dist/web/ProgressDots.d.ts.map +1 -0
- package/dist/web/ProgressDots.js +55 -0
- package/dist/web/ProgressDots.js.map +1 -0
- package/dist/web/QRCode.d.ts +7 -0
- package/dist/web/QRCode.d.ts.map +1 -0
- package/dist/web/QRCode.js +69 -0
- package/dist/web/QRCode.js.map +1 -0
- package/dist/web/SelectAmountPage.d.ts +21 -0
- package/dist/web/SelectAmountPage.d.ts.map +1 -0
- package/dist/web/SelectAmountPage.js +27 -0
- package/dist/web/SelectAmountPage.js.map +1 -0
- package/dist/web/SelectTokenPage.d.ts +14 -0
- package/dist/web/SelectTokenPage.d.ts.map +1 -0
- package/dist/web/SelectTokenPage.js +71 -0
- package/dist/web/SelectTokenPage.js.map +1 -0
- package/dist/web/WaitingDepositAddressPage.d.ts +14 -0
- package/dist/web/WaitingDepositAddressPage.d.ts.map +1 -0
- package/dist/web/WaitingDepositAddressPage.js +126 -0
- package/dist/web/WaitingDepositAddressPage.js.map +1 -0
- package/dist/web/WalletAmountPage.d.ts +10 -0
- package/dist/web/WalletAmountPage.d.ts.map +1 -0
- package/dist/web/WalletAmountPage.js +158 -0
- package/dist/web/WalletAmountPage.js.map +1 -0
- package/dist/web/api/navTree.d.ts +1 -0
- package/dist/web/api/navTree.d.ts.map +1 -1
- package/dist/web/buttons.d.ts +15 -0
- package/dist/web/buttons.d.ts.map +1 -0
- package/dist/web/buttons.js +24 -0
- package/dist/web/buttons.js.map +1 -0
- package/dist/web/components/ChooseChainPage.d.ts +9 -0
- package/dist/web/components/ChooseChainPage.d.ts.map +1 -0
- package/dist/web/components/ChooseChainPage.js +10 -0
- package/dist/web/components/ChooseChainPage.js.map +1 -0
- package/dist/web/components/ChooseOptionPage.d.ts.map +1 -1
- package/dist/web/components/ChooseOptionPage.js +2 -10
- package/dist/web/components/ChooseOptionPage.js.map +1 -1
- package/dist/web/components/ChooseWalletPage.d.ts +13 -0
- package/dist/web/components/ChooseWalletPage.d.ts.map +1 -0
- package/dist/web/components/ChooseWalletPage.js +15 -0
- package/dist/web/components/ChooseWalletPage.js.map +1 -0
- package/dist/web/components/ConfirmationPage.d.ts +3 -1
- package/dist/web/components/ConfirmationPage.d.ts.map +1 -1
- package/dist/web/components/ConfirmationPage.js +3 -2
- package/dist/web/components/ConfirmationPage.js.map +1 -1
- package/dist/web/components/DaimoModal.d.ts.map +1 -1
- package/dist/web/components/DaimoModal.js +72 -137
- package/dist/web/components/DaimoModal.js.map +1 -1
- package/dist/web/components/DeeplinkPage.d.ts +1 -0
- package/dist/web/components/DeeplinkPage.d.ts.map +1 -1
- package/dist/web/components/DeeplinkPage.js +13 -2
- package/dist/web/components/DeeplinkPage.js.map +1 -1
- package/dist/web/components/ExchangePage.js +2 -2
- package/dist/web/components/ExchangePage.js.map +1 -1
- package/dist/web/components/ExpiredPage.d.ts +2 -1
- package/dist/web/components/ExpiredPage.d.ts.map +1 -1
- package/dist/web/components/ExpiredPage.js +3 -3
- package/dist/web/components/ExpiredPage.js.map +1 -1
- package/dist/web/components/SelectTokenPage.d.ts +2 -1
- package/dist/web/components/SelectTokenPage.d.ts.map +1 -1
- package/dist/web/components/SelectTokenPage.js +5 -9
- package/dist/web/components/SelectTokenPage.js.map +1 -1
- package/dist/web/components/WalletAmountPage.js +1 -1
- package/dist/web/components/WalletAmountPage.js.map +1 -1
- package/dist/web/components/containers.d.ts.map +1 -1
- package/dist/web/components/containers.js +6 -2
- package/dist/web/components/containers.js.map +1 -1
- package/dist/web/components/shared.d.ts +9 -4
- package/dist/web/components/shared.d.ts.map +1 -1
- package/dist/web/components/shared.js +13 -4
- package/dist/web/components/shared.js.map +1 -1
- package/dist/web/containers.d.ts +19 -0
- package/dist/web/containers.d.ts.map +1 -0
- package/dist/web/containers.js +77 -0
- package/dist/web/containers.js.map +1 -0
- package/dist/web/hooks/locales/en.d.ts +2 -0
- package/dist/web/hooks/locales/en.d.ts.map +1 -1
- package/dist/web/hooks/locales/en.js +2 -0
- package/dist/web/hooks/locales/en.js.map +1 -1
- package/dist/web/hooks/locales/es.d.ts.map +1 -1
- package/dist/web/hooks/locales/es.js +2 -0
- package/dist/web/hooks/locales/es.js.map +1 -1
- package/dist/web/hooks/types.d.ts +8 -0
- package/dist/web/hooks/types.d.ts.map +1 -1
- package/dist/web/hooks/types.js.map +1 -1
- package/dist/web/hooks/useDepositAddress.d.ts +7 -0
- package/dist/web/hooks/useDepositAddress.d.ts.map +1 -0
- package/dist/web/hooks/useDepositAddress.js +36 -0
- package/dist/web/hooks/useDepositAddress.js.map +1 -0
- package/dist/web/hooks/useInjectedWallets.d.ts +14 -0
- package/dist/web/hooks/useInjectedWallets.d.ts.map +1 -0
- package/dist/web/hooks/useInjectedWallets.js +67 -0
- package/dist/web/hooks/useInjectedWallets.js.map +1 -0
- package/dist/web/hooks/usePaymentCallbacks.d.ts.map +1 -1
- package/dist/web/hooks/usePaymentCallbacks.js +2 -3
- package/dist/web/hooks/usePaymentCallbacks.js.map +1 -1
- package/dist/web/hooks/useSessionNav.d.ts +5 -3
- package/dist/web/hooks/useSessionNav.d.ts.map +1 -1
- package/dist/web/hooks/useSessionNav.js +111 -30
- package/dist/web/hooks/useSessionNav.js.map +1 -1
- package/dist/web/hooks/useSessionPolling.d.ts +1 -1
- package/dist/web/hooks/useSessionPolling.d.ts.map +1 -1
- package/dist/web/hooks/useSessionPolling.js +14 -19
- package/dist/web/hooks/useSessionPolling.js.map +1 -1
- package/dist/web/hooks/useWalletFlow.d.ts +4 -0
- package/dist/web/hooks/useWalletFlow.d.ts.map +1 -1
- package/dist/web/hooks/useWalletFlow.js +66 -11
- package/dist/web/hooks/useWalletFlow.js.map +1 -1
- package/dist/web/hooks/walletProvider.d.ts +2 -0
- package/dist/web/hooks/walletProvider.d.ts.map +1 -1
- package/dist/web/hooks/walletProvider.js +9 -0
- package/dist/web/hooks/walletProvider.js.map +1 -1
- package/dist/web/icons.d.ts +22 -0
- package/dist/web/icons.d.ts.map +1 -0
- package/dist/web/icons.js +33 -0
- package/dist/web/icons.js.map +1 -0
- package/dist/web/index.d.ts +3 -0
- package/dist/web/index.d.ts.map +1 -1
- package/dist/web/index.js +2 -0
- package/dist/web/index.js.map +1 -1
- package/dist/web/shared.d.ts +93 -0
- package/dist/web/shared.d.ts.map +1 -0
- package/dist/web/shared.js +202 -0
- package/dist/web/shared.js.map +1 -0
- package/dist/web/useCopyToClipboard.d.ts +6 -0
- package/dist/web/useCopyToClipboard.d.ts.map +1 -0
- package/dist/web/useCopyToClipboard.js +20 -0
- package/dist/web/useCopyToClipboard.js.map +1 -0
- package/dist/web/useWalletFlow.d.ts +23 -0
- package/dist/web/useWalletFlow.d.ts.map +1 -0
- package/dist/web/useWalletFlow.js +334 -0
- package/dist/web/useWalletFlow.js.map +1 -0
- package/dist/web/walletProvider.d.ts +34 -0
- package/dist/web/walletProvider.d.ts.map +1 -0
- package/dist/web/walletProvider.js +14 -0
- package/dist/web/walletProvider.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useState } from "react";
|
|
3
|
+
import { formatUnits } from "viem";
|
|
4
|
+
import { PrimaryButton } from "./buttons.js";
|
|
5
|
+
import { t } from "../hooks/locale.js";
|
|
6
|
+
import { PageHeader, TokenIconWithChainBadge } from "./shared.js";
|
|
7
|
+
/** Check if device supports touch (to avoid autofocus on mobile) */
|
|
8
|
+
function isTouchDevice() {
|
|
9
|
+
if (typeof window === "undefined")
|
|
10
|
+
return false;
|
|
11
|
+
return "ontouchstart" in window || navigator.maxTouchPoints > 0;
|
|
12
|
+
}
|
|
13
|
+
/** Amount entry page for wallet payment flow */
|
|
14
|
+
export function WalletAmountPage({ token, onBack, onContinue, }) {
|
|
15
|
+
const balanceToken = token.balance.token;
|
|
16
|
+
const minimumUsd = token.minimumRequired.usd;
|
|
17
|
+
const maximumUsd = token.balance.usd;
|
|
18
|
+
// Check if this is a USD stablecoin (fiatISO is set on base Token type)
|
|
19
|
+
const isUsdStablecoin = balanceToken.fiatISO === "USD";
|
|
20
|
+
// Input state
|
|
21
|
+
const [usdStr, setUsdStr] = useState("");
|
|
22
|
+
const [tokenStr, setTokenStr] = useState("");
|
|
23
|
+
const [isEditingUsd, setIsEditingUsd] = useState(true);
|
|
24
|
+
// Derived values - use rounded max for comparison to avoid floating point issues
|
|
25
|
+
const amountUsd = parseFloat(usdStr) || 0;
|
|
26
|
+
const roundedMaxUsd = parseFloat(roundUsd(maximumUsd));
|
|
27
|
+
const isValid = amountUsd >= minimumUsd && amountUsd <= roundedMaxUsd;
|
|
28
|
+
const showMinWarning = usdStr !== "" && amountUsd < minimumUsd;
|
|
29
|
+
const showMaxWarning = usdStr !== "" && amountUsd > roundedMaxUsd;
|
|
30
|
+
// Convert between USD and token amounts using token.usd (price of 1 token in USD)
|
|
31
|
+
const usdToTokenStr = useCallback((usd) => {
|
|
32
|
+
if (usd === 0)
|
|
33
|
+
return "";
|
|
34
|
+
// usd / token.usd = how many tokens for that USD amount
|
|
35
|
+
const tokenAmount = usd / balanceToken.usd;
|
|
36
|
+
return roundTokenAmountUnits(tokenAmount, balanceToken);
|
|
37
|
+
}, [balanceToken]);
|
|
38
|
+
const tokenToUsdStr = useCallback((tokenAmountUnits) => {
|
|
39
|
+
if (tokenAmountUnits === 0)
|
|
40
|
+
return "";
|
|
41
|
+
// tokenAmount * token.usd = USD value
|
|
42
|
+
const usd = tokenAmountUnits * balanceToken.usd;
|
|
43
|
+
return roundUsd(usd);
|
|
44
|
+
}, [balanceToken]);
|
|
45
|
+
// Update values when input changes
|
|
46
|
+
const updateValues = useCallback((newUsdStr, newTokenStr, editingUsd) => {
|
|
47
|
+
// When switching modes, format the non-edited value nicely
|
|
48
|
+
if (editingUsd) {
|
|
49
|
+
const tokenNum = parseFloat(newTokenStr) || 0;
|
|
50
|
+
const formattedToken = tokenNum > 0
|
|
51
|
+
? stripTrailingZeros(roundTokenAmountUnits(tokenNum, balanceToken))
|
|
52
|
+
: "";
|
|
53
|
+
setUsdStr(newUsdStr);
|
|
54
|
+
setTokenStr(formattedToken);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
const usdNum = parseFloat(newUsdStr) || 0;
|
|
58
|
+
const formattedUsd = usdNum > 0 ? roundUsd(usdNum) : "";
|
|
59
|
+
setUsdStr(formattedUsd);
|
|
60
|
+
setTokenStr(newTokenStr);
|
|
61
|
+
}
|
|
62
|
+
setIsEditingUsd(editingUsd);
|
|
63
|
+
}, [balanceToken]);
|
|
64
|
+
const handleInputChange = (e) => {
|
|
65
|
+
const value = e.target.value;
|
|
66
|
+
// Allow empty, or digits with up to appropriate decimal places
|
|
67
|
+
const maxDecimals = isEditingUsd ? 2 : balanceToken.displayDecimals;
|
|
68
|
+
const regex = new RegExp(`^\\d*\\.?\\d{0,${maxDecimals}}$`);
|
|
69
|
+
if (value !== "" && !regex.test(value))
|
|
70
|
+
return;
|
|
71
|
+
if (isEditingUsd) {
|
|
72
|
+
const newUsd = parseFloat(value) || 0;
|
|
73
|
+
setUsdStr(value);
|
|
74
|
+
setTokenStr(usdToTokenStr(newUsd));
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
const newToken = parseFloat(value) || 0;
|
|
78
|
+
setTokenStr(value);
|
|
79
|
+
setUsdStr(tokenToUsdStr(newToken));
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
const handleKeyDown = (e) => {
|
|
83
|
+
if (e.key === "Enter" && isValid) {
|
|
84
|
+
onContinue(amountUsd);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
const handleMax = () => {
|
|
88
|
+
const maxTokenAmountUnits = Number(formatUnits(BigInt(token.balance.amount), balanceToken.decimals));
|
|
89
|
+
const maxUsdStr = roundUsd(maximumUsd);
|
|
90
|
+
const maxTokenStr = roundTokenAmountUnits(maxTokenAmountUnits, balanceToken);
|
|
91
|
+
setUsdStr(maxUsdStr);
|
|
92
|
+
setTokenStr(maxTokenStr);
|
|
93
|
+
};
|
|
94
|
+
const handleSwitchCurrency = () => {
|
|
95
|
+
updateValues(usdStr, tokenStr, !isEditingUsd);
|
|
96
|
+
};
|
|
97
|
+
// Autofocus only on non-touch devices to avoid keyboard popup
|
|
98
|
+
const [shouldAutoFocus, setShouldAutoFocus] = useState(false);
|
|
99
|
+
useEffect(() => {
|
|
100
|
+
setShouldAutoFocus(!isTouchDevice());
|
|
101
|
+
}, []);
|
|
102
|
+
// Dynamic input width
|
|
103
|
+
const currentValue = isEditingUsd ? usdStr : tokenStr;
|
|
104
|
+
const inputWidth = currentValue.length === 0
|
|
105
|
+
? "3.55ch"
|
|
106
|
+
: `${Math.min(currentValue.length - (currentValue.match(/\./g) || []).length * 0.45, 10)}ch`;
|
|
107
|
+
// Balance/warning message
|
|
108
|
+
const maxTokenAmountUnits = Number(formatUnits(BigInt(token.balance.amount), balanceToken.decimals));
|
|
109
|
+
const getBalanceMessage = () => {
|
|
110
|
+
if (isEditingUsd) {
|
|
111
|
+
return isUsdStablecoin
|
|
112
|
+
? `${t.balance} $${roundUsd(maximumUsd)}`
|
|
113
|
+
: `${t.balance} $${roundUsd(maximumUsd)} ${balanceToken.symbol}`;
|
|
114
|
+
}
|
|
115
|
+
return `${t.balance} ${roundTokenAmountUnits(maxTokenAmountUnits, balanceToken)} ${balanceToken.symbol}`;
|
|
116
|
+
};
|
|
117
|
+
const getMessage = () => {
|
|
118
|
+
const formatAmount = (usd) => isEditingUsd
|
|
119
|
+
? `$${roundUsd(usd)}`
|
|
120
|
+
: `${usdToTokenStr(usd)} ${balanceToken.symbol}`;
|
|
121
|
+
if (showMaxWarning)
|
|
122
|
+
return `${t.maximum} ${formatAmount(maximumUsd)}`;
|
|
123
|
+
if (showMinWarning)
|
|
124
|
+
return `${t.minimum} ${formatAmount(minimumUsd)}`;
|
|
125
|
+
return getBalanceMessage();
|
|
126
|
+
};
|
|
127
|
+
const messageClass = showMinWarning || showMaxWarning
|
|
128
|
+
? "text-sm text-[var(--daimo-text)]"
|
|
129
|
+
: "text-sm text-[var(--daimo-text-secondary)]";
|
|
130
|
+
// Secondary amount for switch button
|
|
131
|
+
const secondaryAmount = isEditingUsd
|
|
132
|
+
? `${tokenStr || "0"} ${balanceToken.symbol}`
|
|
133
|
+
: `$${usdStr || roundUsd(0)}`;
|
|
134
|
+
return (_jsxs("div", { className: "flex flex-col flex-1", children: [_jsx(PageHeader, { title: t.enterAmount, onBack: onBack }), _jsxs("div", { className: "flex-1 flex flex-col items-center justify-center p-6 gap-6", children: [_jsx(TokenIconWithChainBadge, { token: balanceToken, size: "lg" }), _jsxs("div", { className: "flex items-center justify-center gap-2", children: [_jsx("button", { className: "invisible px-3 py-1 text-sm min-h-[44px]", children: t.max }), _jsxs("div", { className: "flex items-center justify-center gap-1", children: [isEditingUsd && (_jsx("span", { className: `text-3xl font-semibold tabular-nums ${usdStr ? "text-[var(--daimo-text)]" : "text-[var(--daimo-placeholder)]"}`, children: "$" })), _jsx("input", { type: "text", inputMode: "decimal", value: currentValue, onChange: handleInputChange, onKeyDown: handleKeyDown, placeholder: "0.00", className: "bg-transparent text-5xl font-semibold text-[var(--daimo-text)] placeholder-[var(--daimo-placeholder)] outline-none caret-[var(--daimo-text-muted)] tabular-nums", style: {
|
|
135
|
+
width: inputWidth,
|
|
136
|
+
minWidth: "1ch",
|
|
137
|
+
maxWidth: "10ch",
|
|
138
|
+
fontSize: "clamp(16px, 3rem, 3rem)", // Ensure 16px minimum for iOS
|
|
139
|
+
}, autoFocus: shouldAutoFocus }), !isEditingUsd && (_jsx("span", { className: "text-xl font-semibold text-[var(--daimo-text-muted)]", children: balanceToken.symbol }))] }), _jsx("button", { onClick: handleMax, className: "px-3 py-1 min-h-[44px] min-w-[44px] text-sm font-normal rounded-full bg-[var(--daimo-surface-secondary)] text-[var(--daimo-text-secondary)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)] active:scale-[0.95] touch-action-manipulation transition-[background-color,transform] duration-150 ease-out", children: t.max })] }), !isUsdStablecoin && (_jsxs("button", { onClick: handleSwitchCurrency, className: "flex items-center gap-1 min-h-[44px] px-4 hover:[@media(hover:hover)]:opacity-70 active:opacity-50 touch-action-manipulation transition-opacity duration-150 ease", children: [_jsx(SwitchIcon, {}), _jsx("span", { className: "text-base text-[var(--daimo-text-secondary)] tabular-nums", children: secondaryAmount })] })), _jsx("p", { className: `${messageClass} tabular-nums`, children: getMessage() }), _jsx(PrimaryButton, { onClick: () => isValid && onContinue(amountUsd), disabled: !isValid, children: t.continue })] })] }));
|
|
140
|
+
}
|
|
141
|
+
// --- Helpers ---
|
|
142
|
+
const USD_DECIMALS = 2;
|
|
143
|
+
function roundUsd(usd) {
|
|
144
|
+
return usd.toFixed(USD_DECIMALS);
|
|
145
|
+
}
|
|
146
|
+
function roundTokenAmountUnits(amountUnits, token) {
|
|
147
|
+
if (amountUnits === 0)
|
|
148
|
+
return "0";
|
|
149
|
+
const decimals = token.displayDecimals;
|
|
150
|
+
return amountUnits.toFixed(decimals);
|
|
151
|
+
}
|
|
152
|
+
function stripTrailingZeros(val) {
|
|
153
|
+
return val.includes(".") ? val.replace(/\.?0+$/, "") : val;
|
|
154
|
+
}
|
|
155
|
+
function SwitchIcon() {
|
|
156
|
+
return (_jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", className: "text-[var(--daimo-text-muted)]", children: _jsx("path", { d: "M7 10L12 5L17 10M17 14L12 19L7 14", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=WalletAmountPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletAmountPage.js","sourceRoot":"","sources":["../../src/web/WalletAmountPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ export type NavNodeDepositAddress = NavNodeCommon & {
|
|
|
25
25
|
expiresAt: number;
|
|
26
26
|
tokenSuffix: string;
|
|
27
27
|
};
|
|
28
|
+
/** Mobile wallet deeplink. Opens directly on mobile; shows as QR code on desktop. */
|
|
28
29
|
export type NavNodeDeeplink = NavNodeCommon & {
|
|
29
30
|
type: "Deeplink";
|
|
30
31
|
url: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navTree.d.ts","sourceRoot":"","sources":["../../../src/web/api/navTree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD,qDAAqD;AACrD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAE9D,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAClD,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,mBAAmB,GACnB,qBAAqB,GACrB,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"navTree.d.ts","sourceRoot":"","sources":["../../../src/web/api/navTree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD,qDAAqD;AACrD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAE9D,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG;IAClD,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG;IAC5C,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG;IACnD,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,OAAO,GACf,mBAAmB,GACnB,qBAAqB,GACrB,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { ExternalLinkIcon } from "./icons.js";
|
|
3
|
+
export { ExternalLinkIcon };
|
|
4
|
+
type ButtonProps = {
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
onClick?: () => void;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
icon?: ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
};
|
|
11
|
+
/** Primary action button - full width, prominent styling */
|
|
12
|
+
export declare function PrimaryButton({ children, onClick, disabled, icon, className, }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
/** Secondary action button - for less prominent actions like "Done", "Close" */
|
|
14
|
+
export declare function SecondaryButton({ children, onClick, disabled, icon, className, }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=buttons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buttons.d.ts","sourceRoot":"","sources":["../../src/web/buttons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAE5B,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,IAAI,EACJ,SAAc,GACf,EAAE,WAAW,2CAqBb;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,IAAI,EACJ,SAAc,GACf,EAAE,WAAW,2CAqBb"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ExternalLinkIcon } from "./icons.js";
|
|
3
|
+
export { ExternalLinkIcon };
|
|
4
|
+
/** Primary action button - full width, prominent styling */
|
|
5
|
+
export function PrimaryButton({ children, onClick, disabled = false, icon, className = "", }) {
|
|
6
|
+
// Base: min 44px tap target, prevent double-tap zoom
|
|
7
|
+
const baseStyles = "w-full max-w-xs min-h-[44px] py-4 px-6 rounded-[var(--daimo-radius-lg)] font-semibold flex items-center justify-center gap-2 touch-action-manipulation transition-[background-color,transform] duration-150 ease-out";
|
|
8
|
+
// Active press effect for responsive feel
|
|
9
|
+
const activeStyles = "active:scale-[0.97]";
|
|
10
|
+
const enabledStyles = "bg-[var(--daimo-surface-secondary)] text-[var(--daimo-text)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)]";
|
|
11
|
+
const disabledStyles = "bg-[var(--daimo-surface-secondary)] text-[var(--daimo-text-muted)] cursor-not-allowed";
|
|
12
|
+
return (_jsxs("button", { onClick: onClick, disabled: disabled, className: `${baseStyles} ${disabled ? disabledStyles : `${enabledStyles} ${activeStyles}`} ${className}`, children: [icon, children] }));
|
|
13
|
+
}
|
|
14
|
+
/** Secondary action button - for less prominent actions like "Done", "Close" */
|
|
15
|
+
export function SecondaryButton({ children, onClick, disabled = false, icon, className = "", }) {
|
|
16
|
+
// Base: min 44px tap target, prevent double-tap zoom
|
|
17
|
+
const baseStyles = "min-h-[44px] py-3 px-8 rounded-[var(--daimo-radius-md)] font-medium flex items-center justify-center gap-2 touch-action-manipulation transition-[background-color,transform] duration-150 ease-out";
|
|
18
|
+
// Active press effect for responsive feel
|
|
19
|
+
const activeStyles = "active:scale-[0.97]";
|
|
20
|
+
const enabledStyles = "bg-[var(--daimo-surface-secondary)] text-[var(--daimo-text)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)]";
|
|
21
|
+
const disabledStyles = "bg-[var(--daimo-surface-secondary)] text-[var(--daimo-text-muted)] cursor-not-allowed";
|
|
22
|
+
return (_jsxs("button", { onClick: onClick, disabled: disabled, className: `${baseStyles} ${disabled ? disabledStyles : `${enabledStyles} ${activeStyles}`} ${className}`, children: [icon, children] }));
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=buttons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buttons.js","sourceRoot":"","sources":["../../src/web/buttons.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAU5B,4DAA4D;AAC5D,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,IAAI,EACJ,SAAS,GAAG,EAAE,GACF;IACZ,qDAAqD;IACrD,MAAM,UAAU,GACd,sNAAsN,CAAC;IACzN,0CAA0C;IAC1C,MAAM,YAAY,GAAG,qBAAqB,CAAC;IAC3C,MAAM,aAAa,GACjB,0HAA0H,CAAC;IAC7H,MAAM,cAAc,GAClB,uFAAuF,CAAC;IAE1F,OAAO,CACL,kBACE,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,aAAa,IAAI,YAAY,EAAE,IAAI,SAAS,EAAE,aAExG,IAAI,EACJ,QAAQ,IACF,CACV,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,IAAI,EACJ,SAAS,GAAG,EAAE,GACF;IACZ,qDAAqD;IACrD,MAAM,UAAU,GACd,oMAAoM,CAAC;IACvM,0CAA0C;IAC1C,MAAM,YAAY,GAAG,qBAAqB,CAAC;IAC3C,MAAM,aAAa,GACjB,0HAA0H,CAAC;IAC7H,MAAM,cAAc,GAClB,uFAAuF,CAAC;IAE1F,OAAO,CACL,kBACE,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,GAAG,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,aAAa,IAAI,YAAY,EAAE,IAAI,SAAS,EAAE,aAExG,IAAI,EACJ,QAAQ,IACF,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type ChooseChainPageProps = {
|
|
2
|
+
walletName: string;
|
|
3
|
+
walletIcon: string;
|
|
4
|
+
onSelectChain: (chain: "evm" | "solana") => void;
|
|
5
|
+
onBack: (() => void) | null;
|
|
6
|
+
};
|
|
7
|
+
export declare function ChooseChainPage({ walletName, walletIcon, onSelectChain, onBack, }: ChooseChainPageProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=ChooseChainPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChooseChainPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ChooseChainPage.tsx"],"names":[],"mappings":"AAIA,KAAK,oBAAoB,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,UAAU,EACV,aAAa,EACb,MAAM,GACP,EAAE,oBAAoB,2CA6BtB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ethereum, solana } from "../../common/chain.js";
|
|
3
|
+
import { PageHeader, getChainLogoUrl } from "./shared.js";
|
|
4
|
+
export function ChooseChainPage({ walletName, walletIcon, onSelectChain, onBack, }) {
|
|
5
|
+
return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: walletName, onBack: onBack }), _jsxs("div", { className: "flex flex-col items-center gap-6 px-6 py-4", children: [walletIcon && (_jsx("img", { src: walletIcon, alt: walletName, className: "w-16 h-16 object-contain rounded-[25%]" })), _jsxs("div", { className: "flex flex-col gap-3 w-full", children: [_jsx(ChainRow, { label: "Ethereum", icon: getChainLogoUrl(ethereum.chainId), onClick: () => onSelectChain("evm") }), _jsx(ChainRow, { label: "Solana", icon: getChainLogoUrl(solana.chainId), onClick: () => onSelectChain("solana") })] })] })] }));
|
|
6
|
+
}
|
|
7
|
+
function ChainRow({ label, icon, onClick, }) {
|
|
8
|
+
return (_jsxs("button", { onClick: onClick, className: "w-full h-16 shrink-0 flex items-center justify-between px-5 rounded-[var(--daimo-radius-lg)] bg-[var(--daimo-surface-secondary)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)] transition-colors text-left", children: [_jsx("span", { className: "text-[var(--daimo-text)] font-semibold", children: label }), _jsx("img", { src: icon, alt: label, className: "w-8 h-8 object-contain rounded-full" })] }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ChooseChainPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChooseChainPage.js","sourceRoot":"","sources":["../../../src/web/components/ChooseChainPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAS1D,MAAM,UAAU,eAAe,CAAC,EAC9B,UAAU,EACV,UAAU,EACV,aAAa,EACb,MAAM,GACe;IACrB,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,UAAU,IAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAI,EAEjD,eAAK,SAAS,EAAC,4CAA4C,aACxD,UAAU,IAAI,CACb,cACE,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,UAAU,EACf,SAAS,EAAC,wCAAwC,GAClD,CACH,EAED,eAAK,SAAS,EAAC,4BAA4B,aACzC,KAAC,QAAQ,IACP,KAAK,EAAC,UAAU,EAChB,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EACvC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GACnC,EACF,KAAC,QAAQ,IACP,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EACrC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,GACtC,IACE,IACF,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAChB,KAAK,EACL,IAAI,EACJ,OAAO,GAKR;IACC,OAAO,CACL,kBACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,0NAA0N,aAEpO,eAAM,SAAS,EAAC,wCAAwC,YAAE,KAAK,GAAQ,EACvE,cACE,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,KAAK,EACV,SAAS,EAAC,qCAAqC,GAC/C,IACK,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChooseOptionPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ChooseOptionPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAKtE,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7B,CAAC;
|
|
1
|
+
{"version":3,"file":"ChooseOptionPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ChooseOptionPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAKtE,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,UAAU,EACV,MAAM,GACP,EAAE,qBAAqB,2CAyCvB"}
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { t } from "../hooks/locale.js";
|
|
3
|
-
import { PageHeader, resolveIconUrl } from "./shared.js";
|
|
4
|
-
/** Max visible rows before scrolling */
|
|
5
|
-
const MAX_VISIBLE_ROWS = 4;
|
|
6
|
-
/** Row height (h-16 = 64px) + gap (gap-3 = 12px) */
|
|
7
|
-
const ROW_HEIGHT = 64;
|
|
8
|
-
const ROW_GAP = 12;
|
|
3
|
+
import { PageHeader, ScrollContent, resolveIconUrl } from "./shared.js";
|
|
9
4
|
export function ChooseOptionPage({ node, onNavigate, onBack, }) {
|
|
10
5
|
const useGridLayout = node.layout === "grid";
|
|
11
6
|
const isRootPage = onBack === null;
|
|
12
|
-
|
|
13
|
-
const needsScroll = !useGridLayout && node.options.length > MAX_VISIBLE_ROWS;
|
|
14
|
-
const maxListHeight = MAX_VISIBLE_ROWS * ROW_HEIGHT + (MAX_VISIBLE_ROWS - 1) * ROW_GAP;
|
|
15
|
-
return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: onBack }), useGridLayout ? (_jsx("div", { className: "flex-1 overflow-y-auto scroll-fade px-6 pb-4", children: _jsx("div", { className: "grid grid-cols-4 gap-2", children: node.options.map((option) => (_jsx(GridOptionCell, { option: option, onClick: () => onNavigate(option.id) }, option.id))) }) })) : (_jsx("div", { className: "px-6 pb-4", children: _jsx("div", { className: `flex flex-col gap-3 ${needsScroll ? "overflow-y-auto scroll-fade" : ""}`, style: needsScroll ? { maxHeight: maxListHeight } : undefined, children: node.options.map((option) => (_jsx(OptionRow, { option: option, onClick: () => onNavigate(option.id) }, option.id))) }) })), isRootPage && (_jsx("div", { className: "py-4 text-center", children: _jsx("span", { className: "text-sm text-[var(--daimo-text-muted)]", children: t.poweredByDaimo }) }))] }));
|
|
7
|
+
return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: onBack }), _jsx(ScrollContent, { children: useGridLayout ? (_jsx("div", { className: "grid grid-cols-4 gap-2", children: node.options.map((option) => (_jsx(GridOptionCell, { option: option, onClick: () => onNavigate(option.id) }, option.id))) })) : (_jsx("div", { className: "flex flex-col gap-3", children: node.options.map((option) => (_jsx(OptionRow, { option: option, onClick: () => onNavigate(option.id) }, option.id))) })) }), isRootPage && (_jsx("div", { className: "py-4 text-center", children: _jsx("span", { className: "text-sm text-[var(--daimo-text-muted)]", children: t.poweredByDaimo }) }))] }));
|
|
16
8
|
}
|
|
17
9
|
function GridOptionCell({ option, onClick, }) {
|
|
18
10
|
const icons = getOptionIcons(option);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChooseOptionPage.js","sourceRoot":"","sources":["../../../src/web/components/ChooseOptionPage.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"ChooseOptionPage.js","sourceRoot":"","sources":["../../../src/web/components/ChooseOptionPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { NavNodeChooseOption } from "../api/navTree.js";
|
|
2
|
+
import type { InjectedWallet } from "../hooks/useInjectedWallets.js";
|
|
3
|
+
type ChooseWalletPageProps = {
|
|
4
|
+
node: NavNodeChooseOption;
|
|
5
|
+
injectedWallets: InjectedWallet[];
|
|
6
|
+
onInjectedWalletSelect: (wallet: InjectedWallet) => void;
|
|
7
|
+
onNavigate: (nodeId: string) => void;
|
|
8
|
+
onBack: (() => void) | null;
|
|
9
|
+
};
|
|
10
|
+
/** Wallet selection page: EIP-6963 browser wallets at top, deeplink wallets below. */
|
|
11
|
+
export declare function ChooseWalletPage({ node, injectedWallets, onInjectedWalletSelect, onNavigate, onBack, }: ChooseWalletPageProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=ChooseWalletPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChooseWalletPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ChooseWalletPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIrE,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,sBAAsB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,sFAAsF;AACtF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,MAAM,GACP,EAAE,qBAAqB,2CA0BvB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { PageHeader, ScrollContent, resolveIconUrl } from "./shared.js";
|
|
3
|
+
/** Wallet selection page: EIP-6963 browser wallets at top, deeplink wallets below. */
|
|
4
|
+
export function ChooseWalletPage({ node, injectedWallets, onInjectedWalletSelect, onNavigate, onBack, }) {
|
|
5
|
+
return (_jsxs("div", { className: "flex flex-col flex-1 min-h-0", children: [_jsx(PageHeader, { title: node.title, onBack: onBack }), _jsx(ScrollContent, { children: _jsxs("div", { className: "flex flex-col gap-3", children: [injectedWallets.map((w) => (_jsx(InjectedWalletRow, { wallet: w, onClick: () => onInjectedWalletSelect(w) }, w.info.rdns))), node.options.map((option) => (_jsx(DeeplinkWalletRow, { option: option, onClick: () => onNavigate(option.id) }, option.id)))] }) })] }));
|
|
6
|
+
}
|
|
7
|
+
function InjectedWalletRow({ wallet, onClick, }) {
|
|
8
|
+
return (_jsxs("button", { onClick: onClick, className: "w-full h-16 shrink-0 flex items-center justify-between px-5 rounded-[var(--daimo-radius-lg)] bg-[var(--daimo-surface-secondary)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)] transition-colors text-left", children: [_jsx("span", { className: "text-[var(--daimo-text)] font-semibold", children: wallet.info.name }), _jsx("img", { src: wallet.info.icon, alt: wallet.info.name, className: "w-8 h-8 object-contain rounded-[25%]" })] }));
|
|
9
|
+
}
|
|
10
|
+
function DeeplinkWalletRow({ option, onClick, }) {
|
|
11
|
+
const label = option.label ?? option.title;
|
|
12
|
+
const icon = "icon" in option && option.icon ? option.icon : null;
|
|
13
|
+
return (_jsxs("button", { onClick: onClick, className: "w-full h-16 shrink-0 flex items-center justify-between px-5 rounded-[var(--daimo-radius-lg)] bg-[var(--daimo-surface-secondary)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)] transition-colors text-left", children: [_jsx("span", { className: "text-[var(--daimo-text)] font-semibold", children: label }), icon && (_jsx("img", { src: resolveIconUrl(icon), alt: label, className: "w-8 h-8 object-contain rounded-[25%]" }))] }));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=ChooseWalletPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChooseWalletPage.js","sourceRoot":"","sources":["../../../src/web/components/ChooseWalletPage.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUxE,sFAAsF;AACtF,MAAM,UAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,eAAe,EACf,sBAAsB,EACtB,UAAU,EACV,MAAM,GACgB;IACtB,OAAO,CACL,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,UAAU,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAI,EAEjD,KAAC,aAAa,cACZ,eAAK,SAAS,EAAC,qBAAqB,aACjC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1B,KAAC,iBAAiB,IAEhB,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAFnC,CAAC,CAAC,IAAI,CAAC,IAAI,CAGhB,CACH,CAAC,EAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC5B,KAAC,iBAAiB,IAEhB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,IAF/B,MAAM,CAAC,EAAE,CAGd,CACH,CAAC,IACE,GACQ,IACZ,CACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,MAAM,EACN,OAAO,GAIR;IACC,OAAO,CACL,kBACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,0NAA0N,aAEpO,eAAM,SAAS,EAAC,wCAAwC,YACrD,MAAM,CAAC,IAAI,CAAC,IAAI,GACZ,EACP,cACE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EACrB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EACrB,SAAS,EAAC,sCAAsC,GAChD,IACK,CACV,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,MAAM,EACN,OAAO,GAIR;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAElE,OAAO,CACL,kBACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,0NAA0N,aAEpO,eAAM,SAAS,EAAC,wCAAwC,YAAE,KAAK,GAAQ,EACtE,IAAI,IAAI,CACP,cACE,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EACzB,GAAG,EAAE,KAAK,EACV,SAAS,EAAC,sCAAsC,GAChD,CACH,IACM,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -18,6 +18,8 @@ type ConfirmationPageProps = {
|
|
|
18
18
|
returnLabel?: string;
|
|
19
19
|
/** Back handler - only shown during "confirming" state */
|
|
20
20
|
onBack?: () => void;
|
|
21
|
+
/** Verb for the CTA button during confirming state (e.g. "Deposit", "Pay") */
|
|
22
|
+
actionVerb?: string;
|
|
21
23
|
};
|
|
22
24
|
/**
|
|
23
25
|
* Confirmation page showing payment progress.
|
|
@@ -27,6 +29,6 @@ type ConfirmationPageProps = {
|
|
|
27
29
|
* - done: Fulfillment COMPLETED, show green checkmark
|
|
28
30
|
* - refunding: Payment bounced, show spinner (future use)
|
|
29
31
|
*/
|
|
30
|
-
export declare function ConfirmationPage({ sessionId, sessionState, sourceChainId, sourceTokenSymbol, sourceTokenLogoURI, sourceAmountUsd, pendingTxHash, returnUrl, returnLabel, onBack, }: ConfirmationPageProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export declare function ConfirmationPage({ sessionId, sessionState, sourceChainId, sourceTokenSymbol, sourceTokenLogoURI, sourceAmountUsd, pendingTxHash, returnUrl, returnLabel, onBack, actionVerb, }: ConfirmationPageProps): import("react/jsx-runtime").JSX.Element;
|
|
31
33
|
export {};
|
|
32
34
|
//# sourceMappingURL=ConfirmationPage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmationPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ConfirmationPage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConfirmationPage.d.ts","sourceRoot":"","sources":["../../../src/web/components/ConfirmationPage.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAmB7D,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4BAA4B;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,SAAS,EACT,WAAW,EACX,MAAM,EACN,UAAU,GACX,EAAE,qBAAqB,2CA+FvB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { getChainName } from "../../common/chain.js";
|
|
3
3
|
import { useEffect, useState } from "react";
|
|
4
|
+
import { PrimaryButton } from "./buttons.js";
|
|
4
5
|
import { ConfirmationSpinner } from "./ConfirmationSpinner.js";
|
|
5
6
|
import { t } from "../hooks/locale.js";
|
|
6
7
|
import { PageHeader, ShowReceiptButton, TokenIconWithChainBadge, } from "./shared.js";
|
|
@@ -12,7 +13,7 @@ import { PageHeader, ShowReceiptButton, TokenIconWithChainBadge, } from "./share
|
|
|
12
13
|
* - done: Fulfillment COMPLETED, show green checkmark
|
|
13
14
|
* - refunding: Payment bounced, show spinner (future use)
|
|
14
15
|
*/
|
|
15
|
-
export function ConfirmationPage({ sessionId, sessionState, sourceChainId, sourceTokenSymbol, sourceTokenLogoURI, sourceAmountUsd, pendingTxHash, returnUrl, returnLabel, onBack, }) {
|
|
16
|
+
export function ConfirmationPage({ sessionId, sessionState, sourceChainId, sourceTokenSymbol, sourceTokenLogoURI, sourceAmountUsd, pendingTxHash, returnUrl, returnLabel, onBack, actionVerb, }) {
|
|
16
17
|
const status = getConfirmationStatus(pendingTxHash, sessionState);
|
|
17
18
|
// For processing status: show "Payment received" then change after 2s
|
|
18
19
|
const [processingMessage, setProcessingMessage] = useState(t.paymentReceived);
|
|
@@ -40,7 +41,7 @@ export function ConfirmationPage({ sessionId, sessionState, sourceChainId, sourc
|
|
|
40
41
|
? `$${sourceAmountUsd.toFixed(2)} ${sourceTokenSymbol}`
|
|
41
42
|
: sourceTokenSymbol }), _jsxs("p", { className: "text-lg text-[var(--daimo-text-secondary)]", children: [t.onChain, " ", chainName] })] })), status === "done" && returnUrl && (_jsx("a", { href: returnUrl, className: "w-full max-w-xs min-h-[44px] py-4 px-6 rounded-[var(--daimo-radius-lg)] font-semibold bg-[var(--daimo-surface-secondary)] text-[var(--daimo-text)] hover:[@media(hover:hover)]:bg-[var(--daimo-surface-hover)] active:scale-[0.97] touch-action-manipulation transition-[background-color,transform] duration-150 ease-out text-center flex items-center justify-center", children: t.returnToApp })), status === "done" && !returnUrl && returnLabel && (_jsx("p", { className: "text-center text-[var(--daimo-text-secondary)] px-8 whitespace-pre-line", children: returnLabel })), (status === "waiting" ||
|
|
42
43
|
status === "processing" ||
|
|
43
|
-
status === "done") && _jsx(ShowReceiptButton, { sessionId: sessionId })] })] }));
|
|
44
|
+
status === "done") && _jsx(ShowReceiptButton, { sessionId: sessionId })] }), status === "confirming" && actionVerb && (_jsx("div", { className: "px-6 pb-6 flex flex-col items-center gap-3", children: _jsx(PrimaryButton, { disabled: true, children: actionVerb }) }))] }));
|
|
44
45
|
}
|
|
45
46
|
/** Derive UI status from session state and pending tx hash */
|
|
46
47
|
function getConfirmationStatus(pendingTxHash, sessionState) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmationPage.js","sourceRoot":"","sources":["../../../src/web/components/ConfirmationPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ConfirmationPage.js","sourceRoot":"","sources":["../../../src/web/components/ConfirmationPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DaimoModal.d.ts","sourceRoot":"","sources":["../../../src/web/components/DaimoModal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DaimoModal.d.ts","sourceRoot":"","sources":["../../../src/web/components/DaimoModal.tsx"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,uBAAuB,EAG7B,MAAM,mBAAmB,CAAC;AA2B3B,MAAM,MAAM,eAAe,GAAG,uBAAuB,GAAG;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AA6BF,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,kDA8DhD"}
|