signer-test-sdk-react 0.0.11 → 0.0.13
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/README.md +1 -1
- package/dist/src/AbstraxnProvider.d.ts +2 -5
- package/dist/src/AbstraxnProvider.js +550 -50
- package/dist/src/AbstraxnProvider.js.map +1 -1
- package/dist/src/WalletModal.css +1973 -23
- package/dist/src/WalletModal.d.ts +2 -1
- package/dist/src/WalletModal.js +200 -30
- package/dist/src/WalletModal.js.map +1 -1
- package/dist/src/chains.d.ts +55 -0
- package/dist/src/chains.js +221 -0
- package/dist/src/chains.js.map +1 -0
- package/dist/src/components/OnboardingUI/OnboardingUIReact.js +24 -3
- package/dist/src/components/OnboardingUI/OnboardingUIReact.js.map +1 -1
- package/dist/src/components/OnboardingUI/OnboardingUIWeb.d.ts +11 -2
- package/dist/src/components/OnboardingUI/OnboardingUIWeb.js +266 -36
- package/dist/src/components/OnboardingUI/OnboardingUIWeb.js.map +1 -1
- package/dist/src/components/OnboardingUI/components/PasskeyButton.js +1 -1
- package/dist/src/components/OnboardingUI/components/PasskeyButton.js.map +1 -1
- package/dist/src/components/QRCode.d.ts +13 -0
- package/dist/src/components/QRCode.js +6 -0
- package/dist/src/components/QRCode.js.map +1 -0
- package/dist/src/components/WalletModal/components/ChainSelector.css +180 -0
- package/dist/src/components/WalletModal/components/ChainSelector.d.ts +10 -0
- package/dist/src/components/WalletModal/components/ChainSelector.js +34 -0
- package/dist/src/components/WalletModal/components/ChainSelector.js.map +1 -0
- package/dist/src/components/WalletModal/components/ExportKeyModal.css +133 -0
- package/dist/src/components/WalletModal/components/ExportKeyModal.d.ts +9 -0
- package/dist/src/components/WalletModal/components/ExportKeyModal.js +31 -0
- package/dist/src/components/WalletModal/components/ExportKeyModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/ExportWarningModal.css +2 -0
- package/dist/src/components/WalletModal/components/ExportWarningModal.d.ts +11 -0
- package/dist/src/components/WalletModal/components/ExportWarningModal.js +18 -0
- package/dist/src/components/WalletModal/components/ExportWarningModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/ManageWalletModal.css +160 -0
- package/dist/src/components/WalletModal/components/ManageWalletModal.d.ts +12 -0
- package/dist/src/components/WalletModal/components/ManageWalletModal.js +21 -0
- package/dist/src/components/WalletModal/components/ManageWalletModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/PreviewTransactionModal.css +128 -0
- package/dist/src/components/WalletModal/components/PreviewTransactionModal.d.ts +17 -0
- package/dist/src/components/WalletModal/components/PreviewTransactionModal.js +10 -0
- package/dist/src/components/WalletModal/components/PreviewTransactionModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/ReceiveModal.css +101 -0
- package/dist/src/components/WalletModal/components/ReceiveModal.d.ts +8 -0
- package/dist/src/components/WalletModal/components/ReceiveModal.js +22 -0
- package/dist/src/components/WalletModal/components/ReceiveModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/SendModal.css +234 -0
- package/dist/src/components/WalletModal/components/SendModal.d.ts +18 -0
- package/dist/src/components/WalletModal/components/SendModal.js +127 -0
- package/dist/src/components/WalletModal/components/SendModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/SuccessModal.css +86 -0
- package/dist/src/components/WalletModal/components/SuccessModal.d.ts +13 -0
- package/dist/src/components/WalletModal/components/SuccessModal.js +8 -0
- package/dist/src/components/WalletModal/components/SuccessModal.js.map +1 -0
- package/dist/src/components/WalletModal/components/UserAvatar.d.ts +9 -0
- package/dist/src/components/WalletModal/components/UserAvatar.js +31 -0
- package/dist/src/components/WalletModal/components/UserAvatar.js.map +1 -0
- package/dist/src/components/WalletModal/components/index.d.ts +21 -0
- package/dist/src/components/WalletModal/components/index.js +13 -0
- package/dist/src/components/WalletModal/components/index.js.map +1 -0
- package/dist/src/components/WalletModal/hooks/index.d.ts +6 -0
- package/dist/src/components/WalletModal/hooks/index.js +7 -0
- package/dist/src/components/WalletModal/hooks/index.js.map +1 -0
- package/dist/src/components/WalletModal/hooks/useAddressValidation.d.ts +4 -0
- package/dist/src/components/WalletModal/hooks/useAddressValidation.js +17 -0
- package/dist/src/components/WalletModal/hooks/useAddressValidation.js.map +1 -0
- package/dist/src/components/WalletModal/hooks/useAmountValidation.d.ts +4 -0
- package/dist/src/components/WalletModal/hooks/useAmountValidation.js +29 -0
- package/dist/src/components/WalletModal/hooks/useAmountValidation.js.map +1 -0
- package/dist/src/components/WalletModal/hooks/useSendTransaction.d.ts +20 -0
- package/dist/src/components/WalletModal/hooks/useSendTransaction.js +55 -0
- package/dist/src/components/WalletModal/hooks/useSendTransaction.js.map +1 -0
- package/dist/src/components/WalletModal/index.d.ts +5 -0
- package/dist/src/components/WalletModal/index.js +7 -0
- package/dist/src/components/WalletModal/index.js.map +1 -0
- package/dist/src/components/WalletModal/utils/addressUtils.d.ts +19 -0
- package/dist/src/components/WalletModal/utils/addressUtils.js +62 -0
- package/dist/src/components/WalletModal/utils/addressUtils.js.map +1 -0
- package/dist/src/components/WalletModal/utils/formatUtils.d.ts +20 -0
- package/dist/src/components/WalletModal/utils/formatUtils.js +47 -0
- package/dist/src/components/WalletModal/utils/formatUtils.js.map +1 -0
- package/dist/src/components/WalletModal/utils/index.d.ts +5 -0
- package/dist/src/components/WalletModal/utils/index.js +6 -0
- package/dist/src/components/WalletModal/utils/index.js.map +1 -0
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +29 -0
- package/dist/src/wagmiConfig.js +6 -2
- package/dist/src/wagmiConfig.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Chain Selector Component
|
|
4
|
+
*/
|
|
5
|
+
import { useState, useEffect } from 'react';
|
|
6
|
+
import './ChainSelector.css';
|
|
7
|
+
export function ChainSelector({ currentChain, availableChains, onChainSelect, theme = 'dark', className = '', }) {
|
|
8
|
+
const [showDropdown, setShowDropdown] = useState(false);
|
|
9
|
+
const [selectedChainType, setSelectedChainType] = useState('evm');
|
|
10
|
+
// Close dropdown when clicking outside
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (!showDropdown)
|
|
13
|
+
return;
|
|
14
|
+
const handleClickOutside = (e) => {
|
|
15
|
+
if (e.target instanceof Element) {
|
|
16
|
+
const target = e.target;
|
|
17
|
+
if (!target.closest('.wallet-modal-chain-selector')) {
|
|
18
|
+
setShowDropdown(false);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
23
|
+
return () => document.removeEventListener('mousedown', handleClickOutside);
|
|
24
|
+
}, [showDropdown]);
|
|
25
|
+
const evmChains = availableChains.filter((c) => c.type === 'evm');
|
|
26
|
+
const solanaChains = availableChains.filter((c) => c.type === 'solana');
|
|
27
|
+
return (_jsxs("div", { className: `wallet-modal-chain-selector ${className}`, children: [_jsxs("button", { className: "wallet-modal-chain-selector-button", onClick: () => setShowDropdown(!showDropdown), children: [_jsxs("div", { className: "wallet-modal-chain-selector-info", children: [_jsx("div", { className: "wallet-modal-chain-icon", children: _jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("circle", { cx: "10", cy: "10", r: "8", stroke: "currentColor", strokeWidth: "2", fill: "none" }), _jsx("path", { d: "M10 2L10 6M10 14L10 18M2 10L6 10M14 10L18 10", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })] }) }), _jsx("span", { className: "wallet-modal-chain-name", children: currentChain?.displayName || 'Select Chain' })] }), _jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", className: showDropdown ? 'open' : '', style: { transform: showDropdown ? 'rotate(180deg)' : 'none', transition: 'transform 0.2s' }, children: _jsx("path", { d: "M4 6L8 10L12 6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) })] }), showDropdown && availableChains.length > 0 && (_jsxs("div", { className: `wallet-modal-chain-dropdown wallet-modal-theme-${theme}`, children: [_jsxs("div", { className: "wallet-modal-chain-tabs", children: [evmChains.length > 0 && (_jsx("button", { className: `wallet-modal-chain-tab ${selectedChainType === 'evm' ? 'active' : ''}`, onClick: () => setSelectedChainType('evm'), children: "EVM" })), solanaChains.length > 0 && (_jsx("button", { className: `wallet-modal-chain-tab ${selectedChainType === 'solana' ? 'active' : ''}`, onClick: () => setSelectedChainType('solana'), children: "Solana" }))] }), _jsx("div", { className: "wallet-modal-chain-list", children: availableChains
|
|
28
|
+
.filter((chain) => chain.type === selectedChainType)
|
|
29
|
+
.map((chain) => (_jsxs("button", { className: `wallet-modal-chain-item ${currentChain?.id === chain.id ? 'active' : ''}`, onClick: () => {
|
|
30
|
+
onChainSelect(chain.id);
|
|
31
|
+
setShowDropdown(false);
|
|
32
|
+
}, children: [_jsx("div", { className: "wallet-modal-chain-icon", children: _jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("circle", { cx: "10", cy: "10", r: "8", stroke: "currentColor", strokeWidth: "2", fill: "none" }), _jsx("path", { d: "M10 2L10 6M10 14L10 18M2 10L6 10M14 10L18 10", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })] }) }), _jsxs("div", { className: "wallet-modal-chain-info", children: [_jsx("span", { className: "wallet-modal-chain-name", children: chain.displayName }), chain.isTestnet && (_jsx("span", { className: "wallet-modal-chain-badge", children: "Testnet" }))] }), currentChain?.id === chain.id && (_jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: _jsx("path", { d: "M13.5 4L6 11.5L2.5 8", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }))] }, chain.id))) })] }))] }));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=ChainSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChainSelector.js","sourceRoot":"","sources":["../../../../../src/components/WalletModal/components/ChainSelector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/* Export Key Modal Styles - extracted from WalletModal.css */
|
|
2
|
+
.wallet-modal-export-header {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
margin-bottom: 24px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.wallet-modal-export-title {
|
|
10
|
+
font-size: 20px;
|
|
11
|
+
font-weight: 600;
|
|
12
|
+
margin: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.wallet-modal-theme-dark .wallet-modal-export-title {
|
|
16
|
+
color: #ffffff;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.wallet-modal-theme-light .wallet-modal-export-title {
|
|
20
|
+
color: #111827;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.wallet-modal-export-content {
|
|
24
|
+
display: flex;
|
|
25
|
+
flex-direction: column;
|
|
26
|
+
gap: 20px;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.wallet-modal-export-key-display {
|
|
30
|
+
padding: 16px;
|
|
31
|
+
border-radius: 12px;
|
|
32
|
+
border: 1px solid;
|
|
33
|
+
font-family: monospace;
|
|
34
|
+
font-size: 12px;
|
|
35
|
+
word-break: break-all;
|
|
36
|
+
min-height: 100px;
|
|
37
|
+
max-height: 200px;
|
|
38
|
+
overflow-y: auto;
|
|
39
|
+
transition: all 0.3s;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.wallet-modal-theme-dark .wallet-modal-export-key-display {
|
|
43
|
+
background: #2a2a2a;
|
|
44
|
+
border-color: #3a3a3a;
|
|
45
|
+
color: #ffffff;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.wallet-modal-theme-light .wallet-modal-export-key-display {
|
|
49
|
+
background: #f9fafb;
|
|
50
|
+
border-color: #e5e7eb;
|
|
51
|
+
color: #111827;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.wallet-modal-export-key-display.blurred {
|
|
55
|
+
filter: blur(8px);
|
|
56
|
+
user-select: none;
|
|
57
|
+
cursor: pointer;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.wallet-modal-export-key-hint {
|
|
61
|
+
font-size: 12px;
|
|
62
|
+
text-align: center;
|
|
63
|
+
opacity: 0.7;
|
|
64
|
+
margin: 0;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.wallet-modal-theme-dark .wallet-modal-export-key-hint {
|
|
68
|
+
color: #9ca3af;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.wallet-modal-theme-light .wallet-modal-export-key-hint {
|
|
72
|
+
color: #6b7280;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.wallet-modal-export-copy-btn {
|
|
76
|
+
width: 100%;
|
|
77
|
+
padding: 12px 24px;
|
|
78
|
+
border-radius: 10px;
|
|
79
|
+
border: 1px solid;
|
|
80
|
+
background: transparent;
|
|
81
|
+
cursor: pointer;
|
|
82
|
+
transition: all 0.2s;
|
|
83
|
+
display: flex;
|
|
84
|
+
align-items: center;
|
|
85
|
+
justify-content: center;
|
|
86
|
+
gap: 8px;
|
|
87
|
+
font-size: 14px;
|
|
88
|
+
font-weight: 500;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.wallet-modal-theme-dark .wallet-modal-export-copy-btn {
|
|
92
|
+
border-color: #3a3a3a;
|
|
93
|
+
color: #ffffff;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.wallet-modal-theme-light .wallet-modal-export-copy-btn {
|
|
97
|
+
border-color: #e5e7eb;
|
|
98
|
+
color: #111827;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.wallet-modal-theme-dark .wallet-modal-export-copy-btn:hover:not(:disabled) {
|
|
102
|
+
background: #2a2a2a;
|
|
103
|
+
border-color: #4a4a4a;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.wallet-modal-theme-light .wallet-modal-export-copy-btn:hover:not(:disabled) {
|
|
107
|
+
background: #f3f4f6;
|
|
108
|
+
border-color: #d1d5db;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.wallet-modal-export-copy-btn:disabled {
|
|
112
|
+
opacity: 0.5;
|
|
113
|
+
cursor: not-allowed;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.wallet-modal-export-done-btn {
|
|
117
|
+
width: 100%;
|
|
118
|
+
padding: 14px 24px;
|
|
119
|
+
border-radius: 12px;
|
|
120
|
+
border: none;
|
|
121
|
+
font-size: 16px;
|
|
122
|
+
font-weight: 600;
|
|
123
|
+
cursor: pointer;
|
|
124
|
+
transition: all 0.2s;
|
|
125
|
+
background: linear-gradient(135deg, #9333ea 0%, #7e22ce 100%);
|
|
126
|
+
color: #ffffff;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.wallet-modal-export-done-btn:hover {
|
|
130
|
+
background: linear-gradient(135deg, #a855f7 0%, #9333ea 100%);
|
|
131
|
+
transform: translateY(-1px);
|
|
132
|
+
box-shadow: 0 4px 12px rgba(147, 51, 234, 0.3);
|
|
133
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import './ExportKeyModal.css';
|
|
2
|
+
import '../../../WalletModal.css';
|
|
3
|
+
export interface ExportKeyModalProps {
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
privateKey: string;
|
|
7
|
+
theme?: 'light' | 'dark';
|
|
8
|
+
}
|
|
9
|
+
export declare function ExportKeyModal({ isOpen, onClose, privateKey, theme, }: ExportKeyModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Export Key Modal Component
|
|
4
|
+
*/
|
|
5
|
+
import { useState, useCallback } from 'react';
|
|
6
|
+
import './ExportKeyModal.css';
|
|
7
|
+
import '../../../WalletModal.css';
|
|
8
|
+
export function ExportKeyModal({ isOpen, onClose, privateKey, theme = 'dark', }) {
|
|
9
|
+
const [showPrivateKey, setShowPrivateKey] = useState(false);
|
|
10
|
+
const [copied, setCopied] = useState(false);
|
|
11
|
+
const handleCopy = useCallback(() => {
|
|
12
|
+
if (privateKey && showPrivateKey) {
|
|
13
|
+
navigator.clipboard.writeText(privateKey);
|
|
14
|
+
setCopied(true);
|
|
15
|
+
setTimeout(() => setCopied(false), 2000);
|
|
16
|
+
}
|
|
17
|
+
}, [privateKey, showPrivateKey]);
|
|
18
|
+
const handleClose = useCallback(() => {
|
|
19
|
+
setShowPrivateKey(false);
|
|
20
|
+
setCopied(false);
|
|
21
|
+
onClose();
|
|
22
|
+
}, [onClose]);
|
|
23
|
+
if (!isOpen)
|
|
24
|
+
return null;
|
|
25
|
+
return (_jsx("div", { className: `wallet-modal-overlay wallet-modal-theme-${theme}`, onClick: handleClose, children: _jsxs("div", { className: `wallet-modal-content wallet-modal-theme-${theme} wallet-modal-export-key`, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: "wallet-modal-export-header", children: [_jsx("h2", { className: "wallet-modal-export-title", children: "Export Key" }), _jsx("button", { className: "wallet-modal-close", onClick: handleClose, "aria-label": "Close", children: _jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M18 6L6 18M6 6L18 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) })] }), _jsxs("div", { className: "wallet-modal-export-content", children: [_jsx("div", { className: `wallet-modal-export-key-display ${!showPrivateKey ? 'blurred' : ''}`, onClick: () => {
|
|
26
|
+
if (!showPrivateKey) {
|
|
27
|
+
setShowPrivateKey(true);
|
|
28
|
+
}
|
|
29
|
+
}, style: { cursor: showPrivateKey ? 'text' : 'pointer' }, children: privateKey }), !showPrivateKey && (_jsx("p", { className: "wallet-modal-export-key-hint", children: "Click to reveal private key" })), _jsx("button", { className: "wallet-modal-export-copy-btn", onClick: handleCopy, disabled: !showPrivateKey, children: copied ? (_jsxs(_Fragment, { children: [_jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: _jsx("path", { d: "M13.5 4L6 11.5L2.5 8", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }), _jsx("span", { children: "Copied!" })] })) : (_jsxs(_Fragment, { children: [_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: [_jsx("path", { d: "M5.5 3.5H3.5C2.67157 3.5 2 4.17157 2 5V12.5C2 13.3284 2.67157 14 3.5 14H11C11.8284 14 12.5 13.3284 12.5 12.5V10.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M5.5 3.5C5.5 2.67157 6.17157 2 7 2H12.5C13.3284 2 14 2.67157 14 3.5V9C14 9.82843 13.3284 10.5 12.5 10.5H7C6.17157 10.5 5.5 9.82843 5.5 9V3.5Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }), _jsx("span", { children: "Copy" })] })) }), _jsx("button", { className: `wallet-modal-export-done-btn wallet-modal-theme-${theme}`, onClick: handleClose, children: "I'm Done" })] })] }) }));
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=ExportKeyModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportKeyModal.js","sourceRoot":"","sources":["../../../../../src/components/WalletModal/components/ExportKeyModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ChainData } from '../../../chains';
|
|
2
|
+
import '../../../WalletModal.css';
|
|
3
|
+
export interface ExportWarningModalProps {
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
onAcknowledge: (acknowledged: boolean) => void;
|
|
7
|
+
currentChain: ChainData | null;
|
|
8
|
+
isExporting: boolean;
|
|
9
|
+
theme?: 'light' | 'dark';
|
|
10
|
+
}
|
|
11
|
+
export declare function ExportWarningModal({ isOpen, onClose, onAcknowledge, currentChain, isExporting, theme, }: ExportWarningModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Export Warning Modal Component
|
|
4
|
+
*/
|
|
5
|
+
import { useState } from 'react';
|
|
6
|
+
import '../../../WalletModal.css';
|
|
7
|
+
export function ExportWarningModal({ isOpen, onClose, onAcknowledge, currentChain, isExporting, theme = 'dark', }) {
|
|
8
|
+
const [acknowledged, setAcknowledged] = useState(false);
|
|
9
|
+
const handleReveal = () => {
|
|
10
|
+
if (acknowledged && !isExporting) {
|
|
11
|
+
onAcknowledge(true);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
if (!isOpen)
|
|
15
|
+
return null;
|
|
16
|
+
return (_jsx("div", { className: `wallet-modal-overlay wallet-modal-theme-${theme}`, onClick: onClose, children: _jsxs("div", { className: `wallet-modal-content wallet-modal-theme-${theme} wallet-modal-export-warning`, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: "wallet-modal-receive-header", children: [_jsx("button", { className: "wallet-modal-back", onClick: onClose, disabled: isExporting, children: _jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: _jsx("path", { d: "M12.5 15L7.5 10L12.5 5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsx("h2", { className: "wallet-modal-receive-title", children: "Agree to continue" }), _jsx("button", { className: "wallet-modal-close", onClick: onClose, "aria-label": "Close", disabled: isExporting, children: _jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M18 6L6 18M6 6L18 18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) })] }), _jsxs("div", { className: "wallet-modal-export-warning-content", children: [_jsx("div", { className: "wallet-modal-export-warning-illustration", children: _jsx("div", { className: "wallet-modal-export-warning-icon-bg", children: _jsxs("svg", { width: "48", height: "48", viewBox: "0 0 48 48", fill: "none", children: [_jsx("path", { d: "M24 12L12 18L24 24L36 18L24 12Z", fill: "currentColor" }), _jsx("path", { d: "M12 30L24 36L36 30M12 24L24 30L36 24", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) }) }), _jsx("div", { className: "wallet-modal-export-warning-badge", children: "Sensitive information" }), _jsxs("h3", { className: "wallet-modal-export-warning-heading", children: ["Your ", currentChain?.type === 'solana' ? 'Solana' : 'EVM', " wallet is ready. Back up your key to protect your assets."] }), _jsxs("div", { className: "wallet-modal-export-warning-info-cards", children: [_jsxs("div", { className: "wallet-modal-export-warning-info-card", children: [_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("path", { d: "M3 6C3 4.89543 3.89543 4 5 4H15C16.1046 4 17 4.89543 17 6V16C17 17.1046 16.1046 18 15 18H5C3.89543 18 3 17.1046 3 16V6Z", stroke: "currentColor", strokeWidth: "2" }), _jsx("path", { d: "M7 8H13M7 12H13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" })] }), _jsx("span", { children: "Non-custodial wallet: You're always in control" })] }), _jsxs("div", { className: "wallet-modal-export-warning-info-card", children: [_jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("path", { d: "M10 2L2 6L10 10L18 6L10 2Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M2 14L10 18L18 14M2 10L10 14L18 10", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M10 10V18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }), _jsx("span", { children: "Keep your key private. It controls your account and assets." })] })] }), _jsxs("label", { className: "wallet-modal-export-warning-checkbox", children: [_jsx("input", { type: "checkbox", checked: acknowledged, onChange: (e) => setAcknowledged(e.target.checked), className: "wallet-modal-export-warning-checkbox-input" }), _jsx("span", { children: "I am responsible for safeguarding and using my wallet key information." })] }), _jsx("button", { className: `wallet-modal-export-warning-reveal ${!acknowledged || isExporting ? 'disabled' : ''}`, onClick: handleReveal, disabled: !acknowledged || isExporting, children: isExporting ? (_jsxs(_Fragment, { children: [_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", className: "wallet-modal-loading-spinner", children: [_jsx("circle", { cx: "8", cy: "8", r: "6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeDasharray: "37.7", strokeDashoffset: "37.7", fill: "none", opacity: "0.3" }), _jsx("circle", { cx: "8", cy: "8", r: "6", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeDasharray: "37.7", fill: "none", children: _jsx("animate", { attributeName: "stroke-dashoffset", from: "37.7", to: "0", dur: "1s", repeatCount: "indefinite" }) })] }), _jsx("span", { children: "Loading..." })] })) : ('Reveal') })] })] }) }));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=ExportWarningModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExportWarningModal.js","sourceRoot":"","sources":["../../../../../src/components/WalletModal/components/ExportWarningModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/* Manage Wallet Modal Styles - extracted from WalletModal.css */
|
|
2
|
+
.wallet-modal-manage-content {
|
|
3
|
+
padding: 20px 0;
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
gap: 24px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.wallet-modal-manage-section {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
gap: 16px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.wallet-modal-manage-section-title {
|
|
16
|
+
font-size: 16px;
|
|
17
|
+
font-weight: 600;
|
|
18
|
+
margin: 0;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.wallet-modal-theme-dark .wallet-modal-manage-section-title {
|
|
22
|
+
color: #ffffff;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.wallet-modal-theme-light .wallet-modal-manage-section-title {
|
|
26
|
+
color: #111827;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.wallet-modal-manage-item {
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-direction: column;
|
|
32
|
+
gap: 8px;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.wallet-modal-manage-label {
|
|
36
|
+
font-size: 12px;
|
|
37
|
+
opacity: 0.7;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.wallet-modal-theme-dark .wallet-modal-manage-label {
|
|
41
|
+
color: #9ca3af;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.wallet-modal-theme-light .wallet-modal-manage-label {
|
|
45
|
+
color: #6b7280;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.wallet-modal-manage-value {
|
|
49
|
+
font-size: 14px;
|
|
50
|
+
font-weight: 500;
|
|
51
|
+
display: flex;
|
|
52
|
+
align-items: center;
|
|
53
|
+
gap: 8px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.wallet-modal-theme-dark .wallet-modal-manage-value {
|
|
57
|
+
color: #ffffff;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.wallet-modal-theme-light .wallet-modal-manage-value {
|
|
61
|
+
color: #111827;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.wallet-modal-manage-address-text {
|
|
65
|
+
font-family: monospace;
|
|
66
|
+
flex: 1;
|
|
67
|
+
min-width: 0;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.wallet-modal-manage-copy-btn {
|
|
71
|
+
padding: 6px 12px;
|
|
72
|
+
border-radius: 6px;
|
|
73
|
+
border: none;
|
|
74
|
+
background: transparent;
|
|
75
|
+
cursor: pointer;
|
|
76
|
+
transition: all 0.2s;
|
|
77
|
+
display: flex;
|
|
78
|
+
align-items: center;
|
|
79
|
+
gap: 6px;
|
|
80
|
+
font-size: 12px;
|
|
81
|
+
flex-shrink: 0;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.wallet-modal-theme-dark .wallet-modal-manage-copy-btn {
|
|
85
|
+
color: #9ca3af;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.wallet-modal-theme-light .wallet-modal-manage-copy-btn {
|
|
89
|
+
color: #6b7280;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.wallet-modal-theme-dark .wallet-modal-manage-copy-btn:hover {
|
|
93
|
+
background: #2a2a2a;
|
|
94
|
+
color: #ffffff;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.wallet-modal-theme-light .wallet-modal-manage-copy-btn:hover {
|
|
98
|
+
background: #f3f4f6;
|
|
99
|
+
color: #111827;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.wallet-modal-manage-copy-btn.copied {
|
|
103
|
+
color: #10b981;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.wallet-modal-manage-action-item {
|
|
107
|
+
width: 100%;
|
|
108
|
+
padding: 14px 16px;
|
|
109
|
+
border-radius: 10px;
|
|
110
|
+
border: 1px solid;
|
|
111
|
+
background: transparent;
|
|
112
|
+
cursor: pointer;
|
|
113
|
+
transition: all 0.2s;
|
|
114
|
+
display: flex;
|
|
115
|
+
align-items: center;
|
|
116
|
+
gap: 12px;
|
|
117
|
+
text-align: left;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.wallet-modal-theme-dark .wallet-modal-manage-action-item {
|
|
121
|
+
border-color: #3a3a3a;
|
|
122
|
+
background: #2a2a2a;
|
|
123
|
+
color: #ffffff;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.wallet-modal-theme-light .wallet-modal-manage-action-item {
|
|
127
|
+
border-color: #e5e7eb;
|
|
128
|
+
background: #f9fafb;
|
|
129
|
+
color: #111827;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.wallet-modal-theme-dark .wallet-modal-manage-action-item:hover {
|
|
133
|
+
background: #3a3a3a;
|
|
134
|
+
border-color: #4a4a4a;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.wallet-modal-theme-light .wallet-modal-manage-action-item:hover {
|
|
138
|
+
background: #f3f4f6;
|
|
139
|
+
border-color: #d1d5db;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.wallet-modal-manage-action-icon {
|
|
143
|
+
width: 20px;
|
|
144
|
+
height: 20px;
|
|
145
|
+
flex-shrink: 0;
|
|
146
|
+
display: flex;
|
|
147
|
+
align-items: center;
|
|
148
|
+
justify-content: center;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.wallet-modal-manage-action-label {
|
|
152
|
+
flex: 1;
|
|
153
|
+
font-size: 14px;
|
|
154
|
+
font-weight: 500;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.wallet-modal-manage-action-arrow {
|
|
158
|
+
flex-shrink: 0;
|
|
159
|
+
opacity: 0.5;
|
|
160
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import './ManageWalletModal.css';
|
|
2
|
+
export interface ManageWalletModalProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
displayAddress: string | null;
|
|
6
|
+
userEmail?: string | null;
|
|
7
|
+
organizationName?: string | null;
|
|
8
|
+
isExternalWalletConnected: boolean;
|
|
9
|
+
onExportPrivateKey: () => void;
|
|
10
|
+
theme?: 'light' | 'dark';
|
|
11
|
+
}
|
|
12
|
+
export declare function ManageWalletModal({ isOpen, onClose, displayAddress, userEmail, organizationName, isExternalWalletConnected, onExportPrivateKey, theme, }: ManageWalletModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Manage Wallet Modal Component
|
|
4
|
+
*/
|
|
5
|
+
import { useState, useCallback } from 'react';
|
|
6
|
+
import { formatAddress } from '../utils/formatUtils';
|
|
7
|
+
import './ManageWalletModal.css';
|
|
8
|
+
export function ManageWalletModal({ isOpen, onClose, displayAddress, userEmail, organizationName, isExternalWalletConnected, onExportPrivateKey, theme = 'dark', }) {
|
|
9
|
+
const [copied, setCopied] = useState(false);
|
|
10
|
+
const handleCopy = useCallback(() => {
|
|
11
|
+
if (displayAddress) {
|
|
12
|
+
navigator.clipboard.writeText(displayAddress);
|
|
13
|
+
setCopied(true);
|
|
14
|
+
setTimeout(() => setCopied(false), 2000);
|
|
15
|
+
}
|
|
16
|
+
}, [displayAddress]);
|
|
17
|
+
if (!isOpen)
|
|
18
|
+
return null;
|
|
19
|
+
return (_jsx("div", { className: `wallet-modal-overlay wallet-modal-theme-${theme}`, onClick: onClose, children: _jsxs("div", { className: `wallet-modal-content wallet-modal-theme-${theme} wallet-modal-manage`, onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: "wallet-modal-receive-header", children: [_jsx("button", { className: "wallet-modal-back", onClick: onClose, children: _jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: _jsx("path", { d: "M12.5 15L7.5 10L12.5 5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsx("h2", { className: "wallet-modal-receive-title", children: "Account & Settings" }), _jsx("div", { style: { width: '40px' } })] }), _jsxs("div", { className: "wallet-modal-manage-content", children: [_jsxs("div", { className: "wallet-modal-manage-section", children: [_jsx("h3", { className: "wallet-modal-manage-section-title", children: "Wallet Information" }), _jsxs("div", { className: "wallet-modal-manage-item", children: [_jsx("span", { className: "wallet-modal-manage-label", children: "Address" }), _jsxs("div", { className: "wallet-modal-manage-value", children: [_jsx("span", { className: "wallet-modal-manage-address-text", children: formatAddress(displayAddress) }), _jsx("button", { className: `wallet-modal-manage-copy-btn ${copied ? 'copied' : ''}`, onClick: handleCopy, children: copied ? (_jsxs(_Fragment, { children: [_jsx("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", children: _jsx("path", { d: "M11.5 3.5L5.5 9.5L2.5 6.5", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }), _jsx("span", { children: "Copied!" })] })) : (_jsxs("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", children: [_jsx("path", { d: "M4.5 3H2.5C1.67157 3 1 3.67157 1 4.5V11C1 11.8284 1.67157 12.5 2.5 12.5H9C9.82843 12.5 10.5 11.8284 10.5 11V9", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M4.5 3C4.5 2.17157 5.17157 1.5 6 1.5H11.5C12.3284 1.5 13 2.17157 13 3V7.5C13 8.32843 12.3284 9 11.5 9H6C5.17157 9 4.5 8.32843 4.5 7.5V3Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] })) })] })] }), userEmail && (_jsxs("div", { className: "wallet-modal-manage-item", children: [_jsx("span", { className: "wallet-modal-manage-label", children: "Email" }), _jsx("span", { className: "wallet-modal-manage-value", children: userEmail })] })), organizationName && (_jsxs("div", { className: "wallet-modal-manage-item", children: [_jsx("span", { className: "wallet-modal-manage-label", children: "Organization" }), _jsx("span", { className: "wallet-modal-manage-value", children: organizationName })] }))] }), !isExternalWalletConnected && (_jsxs("div", { className: "wallet-modal-manage-section", children: [_jsx("h3", { className: "wallet-modal-manage-section-title", children: "Export & Backup" }), _jsxs("button", { className: "wallet-modal-manage-action-item", onClick: onExportPrivateKey, children: [_jsx("div", { className: "wallet-modal-manage-action-icon", children: _jsxs("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [_jsx("path", { d: "M10 2L2 6L10 10L18 6L10 2Z", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M2 14L10 18L18 14M2 10L10 14L18 10", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M10 10V18", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })] }) }), _jsx("span", { className: "wallet-modal-manage-action-label", children: "Export Private Key" }), _jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", className: "wallet-modal-manage-action-arrow", children: _jsx("path", { d: "M6 12L10 8L6 4", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) })] })] }))] })] }) }));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=ManageWalletModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ManageWalletModal.js","sourceRoot":"","sources":["../../../../../src/components/WalletModal/components/ManageWalletModal.tsx"],"names":[],"mappings":";AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,yBAAyB,CAAC;AAajC,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,OAAO,EACP,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,yBAAyB,EACzB,kBAAkB,EAClB,KAAK,GAAG,MAAM,GACS;IACvB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,cAAc,EAAE,CAAC;YACnB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YAC9C,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,OAAO,CACL,cACE,SAAS,EAAE,2CAA2C,KAAK,EAAE,EAC7D,OAAO,EAAE,OAAO,YAEhB,eACE,SAAS,EAAE,2CAA2C,KAAK,sBAAsB,EACjF,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,aAEnC,eAAK,SAAS,EAAC,6BAA6B,aAC1C,iBAAQ,SAAS,EAAC,mBAAmB,EAAC,OAAO,EAAE,OAAO,YACpD,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,YACzD,eACE,CAAC,EAAC,wBAAwB,EAC1B,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,GACE,GACC,EACT,aAAI,SAAS,EAAC,4BAA4B,mCAAwB,EAClE,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAQ,IACjC,EAEN,eAAK,SAAS,EAAC,6BAA6B,aAC1C,eAAK,SAAS,EAAC,6BAA6B,aAC1C,aAAI,SAAS,EAAC,mCAAmC,mCAAwB,EACzE,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAM,SAAS,EAAC,2BAA2B,wBAAe,EAC1D,eAAK,SAAS,EAAC,2BAA2B,aACxC,eAAM,SAAS,EAAC,kCAAkC,YAC/C,aAAa,CAAC,cAAc,CAAC,GACzB,EACP,iBACE,SAAS,EAAE,gCAAgC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EACnE,OAAO,EAAE,UAAU,YAElB,MAAM,CAAC,CAAC,CAAC,CACR,8BACE,cAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,YACzD,eACE,CAAC,EAAC,2BAA2B,EAC7B,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,GACE,EACN,qCAAoB,IACnB,CACJ,CAAC,CAAC,CAAC,CACF,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,aACzD,eACE,CAAC,EAAC,+GAA+G,EACjH,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,EACF,eACE,CAAC,EAAC,0IAA0I,EAC5I,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,IACE,CACP,GACM,IACL,IACF,EACL,SAAS,IAAI,CACZ,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAM,SAAS,EAAC,2BAA2B,sBAAa,EACxD,eAAM,SAAS,EAAC,2BAA2B,YAAE,SAAS,GAAQ,IAC1D,CACP,EACA,gBAAgB,IAAI,CACnB,eAAK,SAAS,EAAC,0BAA0B,aACvC,eAAM,SAAS,EAAC,2BAA2B,6BAAoB,EAC/D,eAAM,SAAS,EAAC,2BAA2B,YAAE,gBAAgB,GAAQ,IACjE,CACP,IACG,EAEL,CAAC,yBAAyB,IAAI,CAC7B,eAAK,SAAS,EAAC,6BAA6B,aAC1C,aAAI,SAAS,EAAC,mCAAmC,gCAAqB,EACtE,kBACE,SAAS,EAAC,iCAAiC,EAC3C,OAAO,EAAE,kBAAkB,aAE3B,cAAK,SAAS,EAAC,iCAAiC,YAC9C,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,aACzD,eACE,CAAC,EAAC,4BAA4B,EAC9B,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,EACF,eACE,CAAC,EAAC,oCAAoC,EACtC,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,EACF,eACE,CAAC,EAAC,WAAW,EACb,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,IACE,GACF,EACN,eAAM,SAAS,EAAC,kCAAkC,mCAA0B,EAC5E,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,kCAAkC,YAE5C,eACE,CAAC,EAAC,gBAAgB,EAClB,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,GACE,IACC,IACL,CACP,IAEG,IACF,GACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/* Preview Transaction Modal Styles */
|
|
2
|
+
.wallet-modal-preview-content {
|
|
3
|
+
padding: 20px 0;
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
gap: 24px;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.wallet-modal-preview-section {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
gap: 16px;
|
|
13
|
+
padding: 20px;
|
|
14
|
+
border-radius: 12px;
|
|
15
|
+
border: 1px solid;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.wallet-modal-theme-dark .wallet-modal-preview-section {
|
|
19
|
+
background: #2a2a2a;
|
|
20
|
+
border-color: #3a3a3a;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.wallet-modal-theme-light .wallet-modal-preview-section {
|
|
24
|
+
background: #f9fafb;
|
|
25
|
+
border-color: #e5e7eb;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.wallet-modal-preview-item {
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: column;
|
|
31
|
+
gap: 4px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.wallet-modal-preview-label {
|
|
35
|
+
font-size: 12px;
|
|
36
|
+
opacity: 0.7;
|
|
37
|
+
text-align: left;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.wallet-modal-preview-value {
|
|
41
|
+
font-size: 14px;
|
|
42
|
+
font-weight: 500;
|
|
43
|
+
word-break: break-all;
|
|
44
|
+
text-align: left;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.wallet-modal-theme-dark .wallet-modal-preview-label,
|
|
48
|
+
.wallet-modal-theme-dark .wallet-modal-preview-value {
|
|
49
|
+
color: #ffffff;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.wallet-modal-theme-light .wallet-modal-preview-label,
|
|
53
|
+
.wallet-modal-theme-light .wallet-modal-preview-value {
|
|
54
|
+
color: #111827;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.wallet-modal-preview-actions {
|
|
58
|
+
display: flex;
|
|
59
|
+
flex-direction: column;
|
|
60
|
+
gap: 12px;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.wallet-modal-preview-btn {
|
|
64
|
+
width: 100%;
|
|
65
|
+
padding: 14px 24px;
|
|
66
|
+
border-radius: 12px;
|
|
67
|
+
border: none;
|
|
68
|
+
font-size: 16px;
|
|
69
|
+
font-weight: 600;
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
transition: all 0.2s;
|
|
72
|
+
display: flex;
|
|
73
|
+
align-items: center;
|
|
74
|
+
justify-content: center;
|
|
75
|
+
gap: 8px;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.wallet-modal-preview-btn:disabled {
|
|
79
|
+
opacity: 0.5;
|
|
80
|
+
cursor: not-allowed;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.wallet-modal-preview-btn-primary {
|
|
84
|
+
background: linear-gradient(135deg, #9333ea 0%, #7e22ce 100%);
|
|
85
|
+
color: #ffffff;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.wallet-modal-preview-btn-primary:hover:not(:disabled) {
|
|
89
|
+
background: linear-gradient(135deg, #a855f7 0%, #9333ea 100%);
|
|
90
|
+
transform: translateY(-1px);
|
|
91
|
+
box-shadow: 0 4px 12px rgba(147, 51, 234, 0.3);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.wallet-modal-preview-btn-secondary {
|
|
95
|
+
background: transparent;
|
|
96
|
+
border: 1px solid;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.wallet-modal-theme-dark .wallet-modal-preview-btn-secondary {
|
|
100
|
+
border-color: #3a3a3a;
|
|
101
|
+
color: #ffffff;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.wallet-modal-theme-light .wallet-modal-preview-btn-secondary {
|
|
105
|
+
border-color: #e5e7eb;
|
|
106
|
+
color: #111827;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.wallet-modal-theme-dark .wallet-modal-preview-btn-secondary:hover:not(:disabled) {
|
|
110
|
+
background: #3a3a3a;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.wallet-modal-theme-light .wallet-modal-preview-btn-secondary:hover:not(:disabled) {
|
|
114
|
+
background: #f3f4f6;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.wallet-modal-loading-spinner {
|
|
118
|
+
animation: spin 1s linear infinite;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
@keyframes spin {
|
|
122
|
+
from {
|
|
123
|
+
transform: rotate(0deg);
|
|
124
|
+
}
|
|
125
|
+
to {
|
|
126
|
+
transform: rotate(360deg);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preview Transaction Modal Component
|
|
3
|
+
*/
|
|
4
|
+
import type { ChainData } from '../../../chains';
|
|
5
|
+
import './PreviewTransactionModal.css';
|
|
6
|
+
export interface PreviewTransactionModalProps {
|
|
7
|
+
isOpen: boolean;
|
|
8
|
+
onClose: () => void;
|
|
9
|
+
onConfirm: () => void;
|
|
10
|
+
recipientAddress: string;
|
|
11
|
+
amount: string;
|
|
12
|
+
displayAddress: string | null;
|
|
13
|
+
currentChain: ChainData | null;
|
|
14
|
+
isSending: boolean;
|
|
15
|
+
theme?: 'light' | 'dark';
|
|
16
|
+
}
|
|
17
|
+
export declare function PreviewTransactionModal({ isOpen, onClose, onConfirm, recipientAddress, amount, displayAddress, currentChain, isSending, theme, }: PreviewTransactionModalProps): import("react/jsx-runtime").JSX.Element | null;
|