@turnkey/react-wallet-kit 2.0.1 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/index.d.ts.map +1 -1
- package/dist/components/auth/index.js +7 -57
- package/dist/components/auth/index.js.map +1 -1
- package/dist/components/auth/index.mjs +16 -132
- package/dist/components/auth/index.mjs.map +1 -1
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.d.ts +10 -0
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.d.ts.map +1 -0
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.js +204 -0
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.js.map +1 -0
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.mjs +253 -0
- package/dist/components/auth/wallet/DesktopWalletConnectScreen.mjs.map +1 -0
- package/dist/components/auth/wallet/DisconnectWalletScreen.d.ts +8 -0
- package/dist/components/auth/wallet/DisconnectWalletScreen.d.ts.map +1 -0
- package/dist/components/auth/wallet/DisconnectWalletScreen.js +58 -0
- package/dist/components/auth/wallet/DisconnectWalletScreen.js.map +1 -0
- package/dist/components/auth/wallet/DisconnectWalletScreen.mjs +80 -0
- package/dist/components/auth/wallet/DisconnectWalletScreen.mjs.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.d.ts +10 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.d.ts.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.js +117 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.js.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.mjs +151 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.mjs.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletSelector.d.ts +18 -0
- package/dist/components/auth/wallet/ExternalWalletSelector.d.ts.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletSelector.js +233 -0
- package/dist/components/auth/wallet/ExternalWalletSelector.js.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletSelector.mjs +323 -0
- package/dist/components/auth/wallet/ExternalWalletSelector.mjs.map +1 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.d.ts +11 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.d.ts.map +1 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.js +200 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.js.map +1 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.mjs +251 -0
- package/dist/components/auth/wallet/MobileWalletConnectScreen.mjs.map +1 -0
- package/dist/components/auth/wallet/QRCodeDisplay.d.ts +8 -0
- package/dist/components/auth/wallet/QRCodeDisplay.d.ts.map +1 -0
- package/dist/components/auth/wallet/QRCodeDisplay.js +37 -0
- package/dist/components/auth/wallet/QRCodeDisplay.js.map +1 -0
- package/dist/components/auth/wallet/QRCodeDisplay.mjs +33 -0
- package/dist/components/auth/wallet/QRCodeDisplay.mjs.map +1 -0
- package/dist/components/auth/wallet/ShowAllWalletsScreen.d.ts +8 -0
- package/dist/components/auth/wallet/ShowAllWalletsScreen.d.ts.map +1 -0
- package/dist/components/auth/wallet/ShowAllWalletsScreen.js +253 -0
- package/dist/components/auth/wallet/ShowAllWalletsScreen.js.map +1 -0
- package/dist/components/auth/wallet/ShowAllWalletsScreen.mjs +299 -0
- package/dist/components/auth/wallet/ShowAllWalletsScreen.mjs.map +1 -0
- package/dist/components/auth/wallet/WalletAuthButton.d.ts +6 -0
- package/dist/components/auth/wallet/WalletAuthButton.d.ts.map +1 -0
- package/dist/components/auth/wallet/WalletAuthButton.js +33 -0
- package/dist/components/auth/wallet/WalletAuthButton.js.map +1 -0
- package/dist/components/auth/wallet/WalletAuthButton.mjs +47 -0
- package/dist/components/auth/wallet/WalletAuthButton.mjs.map +1 -0
- package/dist/components/auth/wallet/WalletButton.d.ts +16 -0
- package/dist/components/auth/wallet/WalletButton.d.ts.map +1 -0
- package/dist/components/auth/wallet/WalletButton.js +79 -0
- package/dist/components/auth/wallet/WalletButton.js.map +1 -0
- package/dist/components/auth/wallet/WalletButton.mjs +84 -0
- package/dist/components/auth/wallet/WalletButton.mjs.map +1 -0
- package/dist/components/auth/wallet/WalletButtonSkeleton.d.ts +2 -0
- package/dist/components/auth/wallet/WalletButtonSkeleton.d.ts.map +1 -0
- package/dist/components/auth/wallet/WalletButtonSkeleton.js +22 -0
- package/dist/components/auth/wallet/WalletButtonSkeleton.js.map +1 -0
- package/dist/components/auth/wallet/WalletButtonSkeleton.mjs +20 -0
- package/dist/components/auth/wallet/WalletButtonSkeleton.mjs.map +1 -0
- package/dist/components/auth/wallet/WalletConnectAppChainSelector.d.ts +12 -0
- package/dist/components/auth/wallet/WalletConnectAppChainSelector.d.ts.map +1 -0
- package/dist/components/auth/wallet/WalletConnectAppChainSelector.js +79 -0
- package/dist/components/auth/wallet/WalletConnectAppChainSelector.js.map +1 -0
- package/dist/components/auth/wallet/WalletConnectAppChainSelector.mjs +102 -0
- package/dist/components/auth/wallet/WalletConnectAppChainSelector.mjs.map +1 -0
- package/dist/components/auth/wallet/WalletConnectFlow.d.ts +21 -0
- package/dist/components/auth/wallet/WalletConnectFlow.d.ts.map +1 -0
- package/dist/components/auth/wallet/WalletConnectFlow.js +163 -0
- package/dist/components/auth/wallet/WalletConnectFlow.js.map +1 -0
- package/dist/components/auth/wallet/WalletConnectFlow.mjs +310 -0
- package/dist/components/auth/wallet/WalletConnectFlow.mjs.map +1 -0
- package/dist/components/auth/wallet/constants.d.ts +6 -0
- package/dist/components/auth/wallet/constants.d.ts.map +1 -0
- package/dist/components/auth/wallet/constants.js +14 -0
- package/dist/components/auth/wallet/constants.js.map +1 -0
- package/dist/components/auth/wallet/constants.mjs +8 -0
- package/dist/components/auth/wallet/constants.mjs.map +1 -0
- package/dist/components/auth/wallet/utils.d.ts +4 -0
- package/dist/components/auth/wallet/utils.d.ts.map +1 -0
- package/dist/components/auth/wallet/utils.js +9 -0
- package/dist/components/auth/wallet/utils.js.map +1 -0
- package/dist/components/auth/wallet/utils.mjs +7 -0
- package/dist/components/auth/wallet/utils.mjs.map +1 -0
- package/dist/components/design/Buttons.d.ts +1 -0
- package/dist/components/design/Buttons.d.ts.map +1 -1
- package/dist/components/design/Buttons.js +2 -0
- package/dist/components/design/Buttons.js.map +1 -1
- package/dist/components/design/Buttons.mjs +2 -0
- package/dist/components/design/Buttons.mjs.map +1 -1
- package/dist/components/design/ConnectedIndicator.d.ts +6 -0
- package/dist/components/design/ConnectedIndicator.d.ts.map +1 -0
- package/dist/components/design/ConnectedIndicator.js +20 -0
- package/dist/components/design/ConnectedIndicator.js.map +1 -0
- package/dist/components/design/ConnectedIndicator.mjs +17 -0
- package/dist/components/design/ConnectedIndicator.mjs.map +1 -0
- package/dist/components/design/Inputs.d.ts +7 -0
- package/dist/components/design/Inputs.d.ts.map +1 -1
- package/dist/components/design/Inputs.js +37 -0
- package/dist/components/design/Inputs.js.map +1 -1
- package/dist/components/design/Inputs.mjs +39 -2
- package/dist/components/design/Inputs.mjs.map +1 -1
- package/dist/components/design/Svg.d.ts +1 -0
- package/dist/components/design/Svg.d.ts.map +1 -1
- package/dist/components/user/ConnectWallet.d.ts +1 -1
- package/dist/components/user/ConnectWallet.d.ts.map +1 -1
- package/dist/components/user/ConnectWallet.js +6 -100
- package/dist/components/user/ConnectWallet.js.map +1 -1
- package/dist/components/user/ConnectWallet.mjs +5 -183
- package/dist/components/user/ConnectWallet.mjs.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/providers/WalletConnectProvider.d.ts +23 -0
- package/dist/providers/WalletConnectProvider.d.ts.map +1 -0
- package/dist/providers/WalletConnectProvider.js +72 -0
- package/dist/providers/WalletConnectProvider.js.map +1 -0
- package/dist/providers/WalletConnectProvider.mjs +93 -0
- package/dist/providers/WalletConnectProvider.mjs.map +1 -0
- package/dist/providers/client/Provider.d.ts.map +1 -1
- package/dist/providers/client/Provider.js +5 -2
- package/dist/providers/client/Provider.js.map +1 -1
- package/dist/providers/client/Provider.mjs +5 -2
- package/dist/providers/client/Provider.mjs.map +1 -1
- package/dist/providers/modal/Provider.d.ts +5 -1
- package/dist/providers/modal/Provider.d.ts.map +1 -1
- package/dist/providers/modal/Provider.js.map +1 -1
- package/dist/providers/modal/Provider.mjs.map +1 -1
- package/dist/providers/modal/Root.d.ts.map +1 -1
- package/dist/providers/modal/Root.js +2 -0
- package/dist/providers/modal/Root.js.map +1 -1
- package/dist/providers/modal/Root.mjs +2 -0
- package/dist/providers/modal/Root.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/base.d.ts +6 -0
- package/dist/types/base.d.ts.map +1 -1
- package/dist/types/base.js +7 -0
- package/dist/types/base.js.map +1 -1
- package/dist/types/base.mjs +8 -1
- package/dist/types/base.mjs.map +1 -1
- package/dist/utils/utils.d.ts +2 -1
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +5 -0
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/utils.mjs +7 -1
- package/dist/utils/utils.mjs.map +1 -1
- package/package.json +3 -3
- package/dist/components/auth/Wallet.d.ts +0 -34
- package/dist/components/auth/Wallet.d.ts.map +0 -1
- package/dist/components/auth/Wallet.js +0 -514
- package/dist/components/auth/Wallet.js.map +0 -1
- package/dist/components/auth/Wallet.mjs +0 -615
- package/dist/components/auth/Wallet.mjs.map +0 -1
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
5
|
+
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
var core = require('@turnkey/core');
|
|
9
|
+
var Hook$1 = require('../../../providers/modal/Hook.js');
|
|
10
|
+
var Hook = require('../../../providers/client/Hook.js');
|
|
11
|
+
var WalletConnectProvider = require('../../../providers/WalletConnectProvider.js');
|
|
12
|
+
var utils = require('../../../utils/utils.js');
|
|
13
|
+
var WalletButton = require('./WalletButton.js');
|
|
14
|
+
var WalletConnectAppChainSelector = require('./WalletConnectAppChainSelector.js');
|
|
15
|
+
var Inputs = require('../../design/Inputs.js');
|
|
16
|
+
var Spinners = require('../../design/Spinners.js');
|
|
17
|
+
var constants = require('./constants.js');
|
|
18
|
+
var WalletButtonSkeleton = require('./WalletButtonSkeleton.js');
|
|
19
|
+
|
|
20
|
+
const sameRange = (a, b) => a.start === b.start && a.end === b.end;
|
|
21
|
+
function ShowAllWalletsScreen(props) {
|
|
22
|
+
const {
|
|
23
|
+
onSelect,
|
|
24
|
+
onSelectQRCode
|
|
25
|
+
} = props;
|
|
26
|
+
const {
|
|
27
|
+
walletProviders,
|
|
28
|
+
disconnectWalletAccount
|
|
29
|
+
} = Hook.useTurnkey();
|
|
30
|
+
const {
|
|
31
|
+
walletConnectApps,
|
|
32
|
+
isLoadingApps
|
|
33
|
+
} = WalletConnectProvider.useWalletConnect();
|
|
34
|
+
const {
|
|
35
|
+
isMobile,
|
|
36
|
+
pushPage,
|
|
37
|
+
popPage
|
|
38
|
+
} = Hook$1.useModal();
|
|
39
|
+
const [searchQuery, setSearchQuery] = react.useState("");
|
|
40
|
+
// renderRange (buffered, debounced) governs which real WalletButtons are mounted.
|
|
41
|
+
// viewportRange (unbuffered, rAF-synchronous) governs the skeleton layer behind them.
|
|
42
|
+
const [renderRange, setRenderRange] = react.useState({
|
|
43
|
+
start: 0,
|
|
44
|
+
end: constants.INITIAL_VISIBLE_ROWS
|
|
45
|
+
});
|
|
46
|
+
const [viewportRange, setViewportRange] = react.useState({
|
|
47
|
+
start: 0,
|
|
48
|
+
end: constants.INITIAL_VISIBLE_ROWS
|
|
49
|
+
});
|
|
50
|
+
const scrollContainerRef = react.useRef(null);
|
|
51
|
+
const rafIdRef = react.useRef(null);
|
|
52
|
+
// Group wallet apps by id (same wallet across different chains)
|
|
53
|
+
const grouped = react.useMemo(() => walletConnectApps.reduce((acc, app) => {
|
|
54
|
+
if (!acc[app.id]) acc[app.id] = [];
|
|
55
|
+
acc[app.id].push(app);
|
|
56
|
+
return acc;
|
|
57
|
+
}, {}), [walletConnectApps]);
|
|
58
|
+
// Filter by search query
|
|
59
|
+
const walletEntries = react.useMemo(() => {
|
|
60
|
+
const entries = Object.entries(grouped);
|
|
61
|
+
if (!searchQuery.trim()) return entries;
|
|
62
|
+
const query = searchQuery.toLowerCase();
|
|
63
|
+
return entries.filter(([_, group]) => {
|
|
64
|
+
const walletName = group[0]?.name?.toLowerCase() ?? "";
|
|
65
|
+
return walletName.includes(query);
|
|
66
|
+
});
|
|
67
|
+
}, [grouped, searchQuery]);
|
|
68
|
+
// The QR-code row takes the slot at global row 0 when not searching.
|
|
69
|
+
// renderRange/viewportRange are in *global* row indices, so wallet entry i
|
|
70
|
+
// lives at global row (qrRowCount + i).
|
|
71
|
+
const qrRowCount = searchQuery ? 0 : 1;
|
|
72
|
+
const totalRows = walletEntries.length + qrRowCount;
|
|
73
|
+
/**
|
|
74
|
+
* Merges WalletConnectAppEntry (display info) with the actual WalletProvider
|
|
75
|
+
* and triggers selection. Disconnects any existing session first.
|
|
76
|
+
*/
|
|
77
|
+
const selectApp = react.useCallback(async targetApp => {
|
|
78
|
+
const provider = utils.findWalletConnectProvider(walletProviders, targetApp.chain);
|
|
79
|
+
if (!provider) {
|
|
80
|
+
// WalletConnect provider not ready - go back
|
|
81
|
+
popPage();
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
// Disconnect existing session to avoid confusion
|
|
85
|
+
if (provider.connectedAddresses.length > 0) {
|
|
86
|
+
await disconnectWalletAccount(provider);
|
|
87
|
+
}
|
|
88
|
+
// Merge app display info with the actual provider
|
|
89
|
+
const mergedProvider = {
|
|
90
|
+
...provider,
|
|
91
|
+
uri: targetApp.uri,
|
|
92
|
+
info: {
|
|
93
|
+
...provider.info,
|
|
94
|
+
name: targetApp.name,
|
|
95
|
+
icon: targetApp.icon
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
await onSelect(mergedProvider);
|
|
99
|
+
}, [walletProviders, disconnectWalletAccount, onSelect, popPage]);
|
|
100
|
+
const handleSelectGroup = react.useCallback(group => {
|
|
101
|
+
if (group.length === 1) {
|
|
102
|
+
selectApp(group[0]);
|
|
103
|
+
} else {
|
|
104
|
+
pushPage({
|
|
105
|
+
key: `Select chain`,
|
|
106
|
+
content: jsxRuntime.jsx(WalletConnectAppChainSelector.WalletConnectAppChainSelector, {
|
|
107
|
+
apps: group,
|
|
108
|
+
onSelect: selectApp
|
|
109
|
+
})
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
}, [selectApp, pushPage]);
|
|
113
|
+
const computeRange = react.useCallback(buffer => {
|
|
114
|
+
if (!scrollContainerRef.current) return null;
|
|
115
|
+
const {
|
|
116
|
+
scrollTop,
|
|
117
|
+
clientHeight
|
|
118
|
+
} = scrollContainerRef.current;
|
|
119
|
+
return {
|
|
120
|
+
start: Math.max(0, Math.floor(scrollTop / constants.ROW_STRIDE) - buffer),
|
|
121
|
+
end: Math.min(totalRows, Math.ceil((scrollTop + clientHeight) / constants.ROW_STRIDE) + buffer)
|
|
122
|
+
};
|
|
123
|
+
}, [totalRows]);
|
|
124
|
+
const handleScroll = utils.useDebouncedCallback(() => {
|
|
125
|
+
const next = computeRange(constants.BUFFER_SIZE);
|
|
126
|
+
if (next) setRenderRange(prev => sameRange(prev, next) ? prev : next);
|
|
127
|
+
}, 50);
|
|
128
|
+
const onScroll = react.useCallback(() => {
|
|
129
|
+
if (rafIdRef.current === null) {
|
|
130
|
+
rafIdRef.current = requestAnimationFrame(() => {
|
|
131
|
+
rafIdRef.current = null;
|
|
132
|
+
const next = computeRange(0);
|
|
133
|
+
if (next) setViewportRange(prev => sameRange(prev, next) ? prev : next);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
handleScroll();
|
|
137
|
+
}, [computeRange, handleScroll]);
|
|
138
|
+
react.useEffect(() => {
|
|
139
|
+
return () => {
|
|
140
|
+
if (rafIdRef.current !== null) {
|
|
141
|
+
cancelAnimationFrame(rafIdRef.current);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
}, []);
|
|
145
|
+
// Reset scroll when search results change (or QR row toggles)
|
|
146
|
+
react.useEffect(() => {
|
|
147
|
+
const initial = {
|
|
148
|
+
start: 0,
|
|
149
|
+
end: Math.min(constants.INITIAL_VISIBLE_ROWS, totalRows)
|
|
150
|
+
};
|
|
151
|
+
setRenderRange(initial);
|
|
152
|
+
setViewportRange(initial);
|
|
153
|
+
if (scrollContainerRef.current) {
|
|
154
|
+
scrollContainerRef.current.scrollTop = 0;
|
|
155
|
+
}
|
|
156
|
+
}, [totalRows]);
|
|
157
|
+
const debouncedSetSearch = utils.useDebouncedCallback(value => setSearchQuery(value), 300);
|
|
158
|
+
// renderRange is in global row indices; subtract qrRowCount to slice walletEntries
|
|
159
|
+
const visibleItems = react.useMemo(() => {
|
|
160
|
+
const sliceStart = Math.max(0, renderRange.start - qrRowCount);
|
|
161
|
+
const sliceEnd = Math.max(0, renderRange.end - qrRowCount);
|
|
162
|
+
return walletEntries.slice(sliceStart, sliceEnd);
|
|
163
|
+
}, [walletEntries, renderRange, qrRowCount]);
|
|
164
|
+
const totalHeight = totalRows * constants.ROW_STRIDE;
|
|
165
|
+
const offsetY = renderRange.start * constants.ROW_STRIDE;
|
|
166
|
+
if (isLoadingApps) {
|
|
167
|
+
return jsxRuntime.jsx("div", {
|
|
168
|
+
className: "flex flex-col items-center py-5",
|
|
169
|
+
children: jsxRuntime.jsx(Spinners.Spinner, {
|
|
170
|
+
strokeWidth: 2,
|
|
171
|
+
className: "w-12 h-12"
|
|
172
|
+
})
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
return jsxRuntime.jsxs("div", {
|
|
176
|
+
className: clsx("flex flex-col mt-10 gap-3", isMobile ? "w-full" : "w-80"),
|
|
177
|
+
children: [jsxRuntime.jsx(Inputs.SearchInputBox, {
|
|
178
|
+
value: searchQuery,
|
|
179
|
+
onChange: debouncedSetSearch,
|
|
180
|
+
onClear: () => setSearchQuery(""),
|
|
181
|
+
placeholder: "Search wallets..."
|
|
182
|
+
}), jsxRuntime.jsxs("div", {
|
|
183
|
+
ref: scrollContainerRef,
|
|
184
|
+
onScroll: onScroll,
|
|
185
|
+
className: clsx("min-h-42 overflow-y-auto tk-scrollbar p-0.5", isMobile ? "max-h-80" : "max-h-72"),
|
|
186
|
+
children: [jsxRuntime.jsxs("div", {
|
|
187
|
+
style: {
|
|
188
|
+
height: totalHeight,
|
|
189
|
+
position: "relative"
|
|
190
|
+
},
|
|
191
|
+
children: [jsxRuntime.jsx("div", {
|
|
192
|
+
style: {
|
|
193
|
+
transform: `translateY(${viewportRange.start * constants.ROW_STRIDE}px)`,
|
|
194
|
+
position: "absolute",
|
|
195
|
+
width: "100%"
|
|
196
|
+
},
|
|
197
|
+
className: "flex flex-col gap-2",
|
|
198
|
+
"aria-hidden": "true",
|
|
199
|
+
children: Array.from({
|
|
200
|
+
length: Math.max(0, viewportRange.end - viewportRange.start)
|
|
201
|
+
}).map((_, i) => jsxRuntime.jsx(WalletButtonSkeleton.WalletButtonSkeleton, {}, `skeleton-${viewportRange.start + i}`))
|
|
202
|
+
}), jsxRuntime.jsxs("div", {
|
|
203
|
+
style: {
|
|
204
|
+
transform: `translateY(${offsetY}px)`,
|
|
205
|
+
position: "absolute",
|
|
206
|
+
width: "100%"
|
|
207
|
+
},
|
|
208
|
+
className: "flex flex-col gap-2",
|
|
209
|
+
children: [qrRowCount > 0 && renderRange.start === 0 && jsxRuntime.jsx(WalletButton.WalletButton, {
|
|
210
|
+
icon: jsxRuntime.jsx("div", {
|
|
211
|
+
className: "flex items-center justify-center size-6 rounded-full text-icon-text-light dark:text-icon-text-dark bg-icon-background-light dark:bg-icon-background-dark",
|
|
212
|
+
children: jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
213
|
+
icon: freeSolidSvgIcons.faQrcode
|
|
214
|
+
})
|
|
215
|
+
}),
|
|
216
|
+
name: "Scan QR Code",
|
|
217
|
+
chains: [{
|
|
218
|
+
namespace: core.Chain.Ethereum,
|
|
219
|
+
isConnected: false
|
|
220
|
+
}, {
|
|
221
|
+
namespace: core.Chain.Solana,
|
|
222
|
+
isConnected: false
|
|
223
|
+
}],
|
|
224
|
+
onClick: onSelectQRCode,
|
|
225
|
+
isMobile: isMobile
|
|
226
|
+
}, "qr-code-walletconnect"), visibleItems.map(([id, group]) => {
|
|
227
|
+
const first = group[0];
|
|
228
|
+
return jsxRuntime.jsx(WalletButton.WalletButton, {
|
|
229
|
+
icon: first?.icon ?? "",
|
|
230
|
+
name: first?.name ?? "",
|
|
231
|
+
chains: group.map(app => ({
|
|
232
|
+
namespace: app.chain,
|
|
233
|
+
isConnected: false
|
|
234
|
+
})),
|
|
235
|
+
onClick: () => handleSelectGroup(group),
|
|
236
|
+
shouldShowDisconnect: false,
|
|
237
|
+
isMobile: isMobile
|
|
238
|
+
}, id);
|
|
239
|
+
})]
|
|
240
|
+
})]
|
|
241
|
+
}), searchQuery && walletEntries.length === 0 && jsxRuntime.jsxs("div", {
|
|
242
|
+
className: "flex items-center justify-center w-full h-40 text-center text-icon-text-light dark:text-icon-text-dark",
|
|
243
|
+
children: ["No wallets found matching \"", searchQuery, "\""]
|
|
244
|
+
})]
|
|
245
|
+
}), searchQuery && walletEntries.length > 0 && jsxRuntime.jsxs("div", {
|
|
246
|
+
className: "text-xs text-center text-icon-text-light dark:text-icon-text-dark",
|
|
247
|
+
children: ["Showing ", walletEntries.length, " wallet", walletEntries.length !== 1 ? "s" : ""]
|
|
248
|
+
})]
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
exports.ShowAllWalletsScreen = ShowAllWalletsScreen;
|
|
253
|
+
//# sourceMappingURL=ShowAllWalletsScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShowAllWalletsScreen.js","sources":["../../../../src/components/auth/wallet/ShowAllWalletsScreen.tsx"],"sourcesContent":[null],"names":["sameRange","a","b","start","end","ShowAllWalletsScreen","props","onSelect","onSelectQRCode","walletProviders","disconnectWalletAccount","useTurnkey","walletConnectApps","isLoadingApps","useWalletConnect","isMobile","pushPage","popPage","useModal","searchQuery","setSearchQuery","useState","renderRange","setRenderRange","INITIAL_VISIBLE_ROWS","viewportRange","setViewportRange","scrollContainerRef","useRef","rafIdRef","grouped","useMemo","reduce","acc","app","id","push","walletEntries","entries","Object","trim","query","toLowerCase","filter","_","group","walletName","name","includes","qrRowCount","totalRows","length","selectApp","useCallback","targetApp","provider","findWalletConnectProvider","chain","connectedAddresses","mergedProvider","uri","info","icon","handleSelectGroup","key","content","_jsx","WalletConnectAppChainSelector","apps","computeRange","buffer","current","scrollTop","clientHeight","Math","max","floor","ROW_STRIDE","min","ceil","handleScroll","useDebouncedCallback","next","BUFFER_SIZE","prev","onScroll","requestAnimationFrame","useEffect","cancelAnimationFrame","initial","debouncedSetSearch","value","visibleItems","sliceStart","sliceEnd","slice","totalHeight","offsetY","className","children","Spinner","strokeWidth","_jsxs","clsx","SearchInputBox","onChange","onClear","placeholder","ref","style","height","position","transform","width","Array","from","map","i","WalletButtonSkeleton","WalletButton","FontAwesomeIcon","faQrcode","chains","namespace","Chain","Ethereum","isConnected","Solana","onClick","first","shouldShowDisconnect"],"mappings":"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"}
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
4
|
+
import { faQrcode } from '@fortawesome/free-solid-svg-icons';
|
|
5
|
+
import { useState, useRef, useMemo, useCallback, useEffect } from 'react';
|
|
6
|
+
import clsx from 'clsx';
|
|
7
|
+
import { Chain } from '@turnkey/core';
|
|
8
|
+
import { useModal } from '../../../providers/modal/Hook.mjs';
|
|
9
|
+
import { useTurnkey } from '../../../providers/client/Hook.mjs';
|
|
10
|
+
import { useWalletConnect } from '../../../providers/WalletConnectProvider.mjs';
|
|
11
|
+
import { useDebouncedCallback, findWalletConnectProvider } from '../../../utils/utils.mjs';
|
|
12
|
+
import { WalletButton } from './WalletButton.mjs';
|
|
13
|
+
import { WalletConnectAppChainSelector } from './WalletConnectAppChainSelector.mjs';
|
|
14
|
+
import { SearchInputBox } from '../../design/Inputs.mjs';
|
|
15
|
+
import { Spinner } from '../../design/Spinners.mjs';
|
|
16
|
+
import { INITIAL_VISIBLE_ROWS, ROW_STRIDE, BUFFER_SIZE } from './constants.mjs';
|
|
17
|
+
import { WalletButtonSkeleton } from './WalletButtonSkeleton.mjs';
|
|
18
|
+
|
|
19
|
+
var sameRange = function sameRange(a, b) {
|
|
20
|
+
return a.start === b.start && a.end === b.end;
|
|
21
|
+
};
|
|
22
|
+
function ShowAllWalletsScreen(props) {
|
|
23
|
+
var onSelect = props.onSelect,
|
|
24
|
+
onSelectQRCode = props.onSelectQRCode;
|
|
25
|
+
var _useTurnkey = useTurnkey(),
|
|
26
|
+
walletProviders = _useTurnkey.walletProviders,
|
|
27
|
+
disconnectWalletAccount = _useTurnkey.disconnectWalletAccount;
|
|
28
|
+
var _useWalletConnect = useWalletConnect(),
|
|
29
|
+
walletConnectApps = _useWalletConnect.walletConnectApps,
|
|
30
|
+
isLoadingApps = _useWalletConnect.isLoadingApps;
|
|
31
|
+
var _useModal = useModal(),
|
|
32
|
+
isMobile = _useModal.isMobile,
|
|
33
|
+
pushPage = _useModal.pushPage,
|
|
34
|
+
popPage = _useModal.popPage;
|
|
35
|
+
var _useState = useState(""),
|
|
36
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
37
|
+
searchQuery = _useState2[0],
|
|
38
|
+
setSearchQuery = _useState2[1];
|
|
39
|
+
// renderRange (buffered, debounced) governs which real WalletButtons are mounted.
|
|
40
|
+
// viewportRange (unbuffered, rAF-synchronous) governs the skeleton layer behind them.
|
|
41
|
+
var _useState3 = useState({
|
|
42
|
+
start: 0,
|
|
43
|
+
end: INITIAL_VISIBLE_ROWS
|
|
44
|
+
}),
|
|
45
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
46
|
+
renderRange = _useState4[0],
|
|
47
|
+
setRenderRange = _useState4[1];
|
|
48
|
+
var _useState5 = useState({
|
|
49
|
+
start: 0,
|
|
50
|
+
end: INITIAL_VISIBLE_ROWS
|
|
51
|
+
}),
|
|
52
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
53
|
+
viewportRange = _useState6[0],
|
|
54
|
+
setViewportRange = _useState6[1];
|
|
55
|
+
var scrollContainerRef = useRef(null);
|
|
56
|
+
var rafIdRef = useRef(null);
|
|
57
|
+
// Group wallet apps by id (same wallet across different chains)
|
|
58
|
+
var grouped = useMemo(function () {
|
|
59
|
+
return walletConnectApps.reduce(function (acc, app) {
|
|
60
|
+
if (!acc[app.id]) acc[app.id] = [];
|
|
61
|
+
acc[app.id].push(app);
|
|
62
|
+
return acc;
|
|
63
|
+
}, {});
|
|
64
|
+
}, [walletConnectApps]);
|
|
65
|
+
// Filter by search query
|
|
66
|
+
var walletEntries = useMemo(function () {
|
|
67
|
+
var entries = Object.entries(grouped);
|
|
68
|
+
if (!searchQuery.trim()) return entries;
|
|
69
|
+
var query = searchQuery.toLowerCase();
|
|
70
|
+
return entries.filter(function (_ref) {
|
|
71
|
+
var _group$0$name$toLower, _group$, _group$$name;
|
|
72
|
+
var _ref2 = _slicedToArray(_ref, 2);
|
|
73
|
+
_ref2[0];
|
|
74
|
+
var group = _ref2[1];
|
|
75
|
+
var walletName = (_group$0$name$toLower = (_group$ = group[0]) === null || _group$ === void 0 ? void 0 : (_group$$name = _group$.name) === null || _group$$name === void 0 ? void 0 : _group$$name.toLowerCase()) !== null && _group$0$name$toLower !== void 0 ? _group$0$name$toLower : "";
|
|
76
|
+
return walletName.includes(query);
|
|
77
|
+
});
|
|
78
|
+
}, [grouped, searchQuery]);
|
|
79
|
+
// The QR-code row takes the slot at global row 0 when not searching.
|
|
80
|
+
// renderRange/viewportRange are in *global* row indices, so wallet entry i
|
|
81
|
+
// lives at global row (qrRowCount + i).
|
|
82
|
+
var qrRowCount = searchQuery ? 0 : 1;
|
|
83
|
+
var totalRows = walletEntries.length + qrRowCount;
|
|
84
|
+
/**
|
|
85
|
+
* Merges WalletConnectAppEntry (display info) with the actual WalletProvider
|
|
86
|
+
* and triggers selection. Disconnects any existing session first.
|
|
87
|
+
*/
|
|
88
|
+
var selectApp = useCallback(/*#__PURE__*/function () {
|
|
89
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(targetApp) {
|
|
90
|
+
var provider, mergedProvider;
|
|
91
|
+
return _regenerator().w(function (_context) {
|
|
92
|
+
while (1) switch (_context.n) {
|
|
93
|
+
case 0:
|
|
94
|
+
provider = findWalletConnectProvider(walletProviders, targetApp.chain);
|
|
95
|
+
if (provider) {
|
|
96
|
+
_context.n = 1;
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
99
|
+
// WalletConnect provider not ready - go back
|
|
100
|
+
popPage();
|
|
101
|
+
return _context.a(2);
|
|
102
|
+
case 1:
|
|
103
|
+
if (!(provider.connectedAddresses.length > 0)) {
|
|
104
|
+
_context.n = 2;
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
_context.n = 2;
|
|
108
|
+
return disconnectWalletAccount(provider);
|
|
109
|
+
case 2:
|
|
110
|
+
// Merge app display info with the actual provider
|
|
111
|
+
mergedProvider = _objectSpread2(_objectSpread2({}, provider), {}, {
|
|
112
|
+
uri: targetApp.uri,
|
|
113
|
+
info: _objectSpread2(_objectSpread2({}, provider.info), {}, {
|
|
114
|
+
name: targetApp.name,
|
|
115
|
+
icon: targetApp.icon
|
|
116
|
+
})
|
|
117
|
+
});
|
|
118
|
+
_context.n = 3;
|
|
119
|
+
return onSelect(mergedProvider);
|
|
120
|
+
case 3:
|
|
121
|
+
return _context.a(2);
|
|
122
|
+
}
|
|
123
|
+
}, _callee);
|
|
124
|
+
}));
|
|
125
|
+
return function (_x) {
|
|
126
|
+
return _ref3.apply(this, arguments);
|
|
127
|
+
};
|
|
128
|
+
}(), [walletProviders, disconnectWalletAccount, onSelect, popPage]);
|
|
129
|
+
var handleSelectGroup = useCallback(function (group) {
|
|
130
|
+
if (group.length === 1) {
|
|
131
|
+
selectApp(group[0]);
|
|
132
|
+
} else {
|
|
133
|
+
pushPage({
|
|
134
|
+
key: "Select chain",
|
|
135
|
+
content: jsx(WalletConnectAppChainSelector, {
|
|
136
|
+
apps: group,
|
|
137
|
+
onSelect: selectApp
|
|
138
|
+
})
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
}, [selectApp, pushPage]);
|
|
142
|
+
var computeRange = useCallback(function (buffer) {
|
|
143
|
+
if (!scrollContainerRef.current) return null;
|
|
144
|
+
var _scrollContainerRef$c = scrollContainerRef.current,
|
|
145
|
+
scrollTop = _scrollContainerRef$c.scrollTop,
|
|
146
|
+
clientHeight = _scrollContainerRef$c.clientHeight;
|
|
147
|
+
return {
|
|
148
|
+
start: Math.max(0, Math.floor(scrollTop / ROW_STRIDE) - buffer),
|
|
149
|
+
end: Math.min(totalRows, Math.ceil((scrollTop + clientHeight) / ROW_STRIDE) + buffer)
|
|
150
|
+
};
|
|
151
|
+
}, [totalRows]);
|
|
152
|
+
var handleScroll = useDebouncedCallback(function () {
|
|
153
|
+
var next = computeRange(BUFFER_SIZE);
|
|
154
|
+
if (next) setRenderRange(function (prev) {
|
|
155
|
+
return sameRange(prev, next) ? prev : next;
|
|
156
|
+
});
|
|
157
|
+
}, 50);
|
|
158
|
+
var onScroll = useCallback(function () {
|
|
159
|
+
if (rafIdRef.current === null) {
|
|
160
|
+
rafIdRef.current = requestAnimationFrame(function () {
|
|
161
|
+
rafIdRef.current = null;
|
|
162
|
+
var next = computeRange(0);
|
|
163
|
+
if (next) setViewportRange(function (prev) {
|
|
164
|
+
return sameRange(prev, next) ? prev : next;
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
handleScroll();
|
|
169
|
+
}, [computeRange, handleScroll]);
|
|
170
|
+
useEffect(function () {
|
|
171
|
+
return function () {
|
|
172
|
+
if (rafIdRef.current !== null) {
|
|
173
|
+
cancelAnimationFrame(rafIdRef.current);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
}, []);
|
|
177
|
+
// Reset scroll when search results change (or QR row toggles)
|
|
178
|
+
useEffect(function () {
|
|
179
|
+
var initial = {
|
|
180
|
+
start: 0,
|
|
181
|
+
end: Math.min(INITIAL_VISIBLE_ROWS, totalRows)
|
|
182
|
+
};
|
|
183
|
+
setRenderRange(initial);
|
|
184
|
+
setViewportRange(initial);
|
|
185
|
+
if (scrollContainerRef.current) {
|
|
186
|
+
scrollContainerRef.current.scrollTop = 0;
|
|
187
|
+
}
|
|
188
|
+
}, [totalRows]);
|
|
189
|
+
var debouncedSetSearch = useDebouncedCallback(function (value) {
|
|
190
|
+
return setSearchQuery(value);
|
|
191
|
+
}, 300);
|
|
192
|
+
// renderRange is in global row indices; subtract qrRowCount to slice walletEntries
|
|
193
|
+
var visibleItems = useMemo(function () {
|
|
194
|
+
var sliceStart = Math.max(0, renderRange.start - qrRowCount);
|
|
195
|
+
var sliceEnd = Math.max(0, renderRange.end - qrRowCount);
|
|
196
|
+
return walletEntries.slice(sliceStart, sliceEnd);
|
|
197
|
+
}, [walletEntries, renderRange, qrRowCount]);
|
|
198
|
+
var totalHeight = totalRows * ROW_STRIDE;
|
|
199
|
+
var offsetY = renderRange.start * ROW_STRIDE;
|
|
200
|
+
if (isLoadingApps) {
|
|
201
|
+
return jsx("div", {
|
|
202
|
+
className: "flex flex-col items-center py-5",
|
|
203
|
+
children: jsx(Spinner, {
|
|
204
|
+
strokeWidth: 2,
|
|
205
|
+
className: "w-12 h-12"
|
|
206
|
+
})
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
return jsxs("div", {
|
|
210
|
+
className: clsx("flex flex-col mt-10 gap-3", isMobile ? "w-full" : "w-80"),
|
|
211
|
+
children: [jsx(SearchInputBox, {
|
|
212
|
+
value: searchQuery,
|
|
213
|
+
onChange: debouncedSetSearch,
|
|
214
|
+
onClear: function onClear() {
|
|
215
|
+
return setSearchQuery("");
|
|
216
|
+
},
|
|
217
|
+
placeholder: "Search wallets..."
|
|
218
|
+
}), jsxs("div", {
|
|
219
|
+
ref: scrollContainerRef,
|
|
220
|
+
onScroll: onScroll,
|
|
221
|
+
className: clsx("min-h-42 overflow-y-auto tk-scrollbar p-0.5", isMobile ? "max-h-80" : "max-h-72"),
|
|
222
|
+
children: [jsxs("div", {
|
|
223
|
+
style: {
|
|
224
|
+
height: totalHeight,
|
|
225
|
+
position: "relative"
|
|
226
|
+
},
|
|
227
|
+
children: [jsx("div", {
|
|
228
|
+
style: {
|
|
229
|
+
transform: "translateY(".concat(viewportRange.start * ROW_STRIDE, "px)"),
|
|
230
|
+
position: "absolute",
|
|
231
|
+
width: "100%"
|
|
232
|
+
},
|
|
233
|
+
className: "flex flex-col gap-2",
|
|
234
|
+
"aria-hidden": "true",
|
|
235
|
+
children: Array.from({
|
|
236
|
+
length: Math.max(0, viewportRange.end - viewportRange.start)
|
|
237
|
+
}).map(function (_, i) {
|
|
238
|
+
return jsx(WalletButtonSkeleton, {}, "skeleton-".concat(viewportRange.start + i));
|
|
239
|
+
})
|
|
240
|
+
}), jsxs("div", {
|
|
241
|
+
style: {
|
|
242
|
+
transform: "translateY(".concat(offsetY, "px)"),
|
|
243
|
+
position: "absolute",
|
|
244
|
+
width: "100%"
|
|
245
|
+
},
|
|
246
|
+
className: "flex flex-col gap-2",
|
|
247
|
+
children: [qrRowCount > 0 && renderRange.start === 0 && jsx(WalletButton, {
|
|
248
|
+
icon: jsx("div", {
|
|
249
|
+
className: "flex items-center justify-center size-6 rounded-full text-icon-text-light dark:text-icon-text-dark bg-icon-background-light dark:bg-icon-background-dark",
|
|
250
|
+
children: jsx(FontAwesomeIcon, {
|
|
251
|
+
icon: faQrcode
|
|
252
|
+
})
|
|
253
|
+
}),
|
|
254
|
+
name: "Scan QR Code",
|
|
255
|
+
chains: [{
|
|
256
|
+
namespace: Chain.Ethereum,
|
|
257
|
+
isConnected: false
|
|
258
|
+
}, {
|
|
259
|
+
namespace: Chain.Solana,
|
|
260
|
+
isConnected: false
|
|
261
|
+
}],
|
|
262
|
+
onClick: onSelectQRCode,
|
|
263
|
+
isMobile: isMobile
|
|
264
|
+
}, "qr-code-walletconnect"), visibleItems.map(function (_ref4) {
|
|
265
|
+
var _first$icon, _first$name;
|
|
266
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
267
|
+
id = _ref5[0],
|
|
268
|
+
group = _ref5[1];
|
|
269
|
+
var first = group[0];
|
|
270
|
+
return jsx(WalletButton, {
|
|
271
|
+
icon: (_first$icon = first === null || first === void 0 ? void 0 : first.icon) !== null && _first$icon !== void 0 ? _first$icon : "",
|
|
272
|
+
name: (_first$name = first === null || first === void 0 ? void 0 : first.name) !== null && _first$name !== void 0 ? _first$name : "",
|
|
273
|
+
chains: group.map(function (app) {
|
|
274
|
+
return {
|
|
275
|
+
namespace: app.chain,
|
|
276
|
+
isConnected: false
|
|
277
|
+
};
|
|
278
|
+
}),
|
|
279
|
+
onClick: function onClick() {
|
|
280
|
+
return handleSelectGroup(group);
|
|
281
|
+
},
|
|
282
|
+
shouldShowDisconnect: false,
|
|
283
|
+
isMobile: isMobile
|
|
284
|
+
}, id);
|
|
285
|
+
})]
|
|
286
|
+
})]
|
|
287
|
+
}), searchQuery && walletEntries.length === 0 && jsxs("div", {
|
|
288
|
+
className: "flex items-center justify-center w-full h-40 text-center text-icon-text-light dark:text-icon-text-dark",
|
|
289
|
+
children: ["No wallets found matching \"", searchQuery, "\""]
|
|
290
|
+
})]
|
|
291
|
+
}), searchQuery && walletEntries.length > 0 && jsxs("div", {
|
|
292
|
+
className: "text-xs text-center text-icon-text-light dark:text-icon-text-dark",
|
|
293
|
+
children: ["Showing ", walletEntries.length, " wallet", walletEntries.length !== 1 ? "s" : ""]
|
|
294
|
+
})]
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
export { ShowAllWalletsScreen };
|
|
299
|
+
//# sourceMappingURL=ShowAllWalletsScreen.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShowAllWalletsScreen.mjs","sources":["../../../../src/components/auth/wallet/ShowAllWalletsScreen.tsx"],"sourcesContent":[null],"names":["sameRange","a","b","start","end","ShowAllWalletsScreen","props","onSelect","onSelectQRCode","_useTurnkey","useTurnkey","walletProviders","disconnectWalletAccount","_useWalletConnect","useWalletConnect","walletConnectApps","isLoadingApps","_useModal","useModal","isMobile","pushPage","popPage","_useState","useState","_useState2","_slicedToArray","searchQuery","setSearchQuery","_useState3","INITIAL_VISIBLE_ROWS","_useState4","renderRange","setRenderRange","_useState5","_useState6","viewportRange","setViewportRange","scrollContainerRef","useRef","rafIdRef","grouped","useMemo","reduce","acc","app","id","push","walletEntries","entries","Object","trim","query","toLowerCase","filter","_ref","_group$0$name$toLower","_group$","_group$$name","_ref2","_","group","walletName","name","includes","qrRowCount","totalRows","length","selectApp","useCallback","_ref3","_asyncToGenerator","_regenerator","m","_callee","targetApp","provider","mergedProvider","w","_context","n","findWalletConnectProvider","chain","connectedAddresses","_objectSpread","uri","info","icon","_x","apply","arguments","handleSelectGroup","key","content","_jsx","WalletConnectAppChainSelector","apps","computeRange","buffer","current","_scrollContainerRef$c","scrollTop","clientHeight","Math","max","floor","ROW_STRIDE","min","ceil","handleScroll","useDebouncedCallback","next","BUFFER_SIZE","prev","onScroll","requestAnimationFrame","useEffect","cancelAnimationFrame","initial","debouncedSetSearch","value","visibleItems","sliceStart","sliceEnd","slice","totalHeight","offsetY","className","children","Spinner","strokeWidth","_jsxs","clsx","SearchInputBox","onChange","onClear","placeholder","ref","style","height","position","transform","concat","width","Array","from","map","i","WalletButtonSkeleton","WalletButton","FontAwesomeIcon","faQrcode","chains","namespace","Chain","Ethereum","isConnected","Solana","onClick","_ref4","_first$icon","_first$name","_ref5","first","shouldShowDisconnect"],"mappings":";;;;;;;;;;;;;;;;;;AAyBA,IAAMA,SAAS,GAAG,SAAZA,SAASA,CAAIC,CAAW,EAAEC,CAAW,EAAA;AAAA,EAAA,OACzCD,CAAC,CAACE,KAAK,KAAKD,CAAC,CAACC,KAAK,IAAIF,CAAC,CAACG,GAAG,KAAKF,CAAC,CAACE,GAAG;AAAA,CAAA;AAOlC,SAAUC,oBAAoBA,CAACC,KAAgC,EAAA;AACnE,EAAA,IAAQC,QAAQ,GAAqBD,KAAK,CAAlCC,QAAQ;IAAEC,cAAc,GAAKF,KAAK,CAAxBE,cAAc;AAChC,EAAA,IAAAC,WAAA,GAAqDC,UAAU,EAAE;IAAzDC,eAAe,GAAAF,WAAA,CAAfE,eAAe;IAAEC,uBAAuB,GAAAH,WAAA,CAAvBG,uBAAuB;AAChD,EAAA,IAAAC,iBAAA,GAA6CC,gBAAgB,EAAE;IAAvDC,iBAAiB,GAAAF,iBAAA,CAAjBE,iBAAiB;IAAEC,aAAa,GAAAH,iBAAA,CAAbG,aAAa;AACxC,EAAA,IAAAC,SAAA,GAAwCC,QAAQ,EAAE;IAA1CC,QAAQ,GAAAF,SAAA,CAARE,QAAQ;IAAEC,QAAQ,GAAAH,SAAA,CAARG,QAAQ;IAAEC,OAAO,GAAAJ,SAAA,CAAPI,OAAO;AAEnC,EAAA,IAAAC,SAAA,GAAsCC,QAAQ,CAAC,EAAE,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA3CI,IAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,cAAc,GAAAH,UAAA,CAAA,CAAA,CAAA;AAClC;AACA;EACA,IAAAI,UAAA,GAAsCL,QAAQ,CAAW;AACvDpB,MAAAA,KAAK,EAAE,CAAC;AACRC,MAAAA,GAAG,EAAEyB;AACN,KAAA,CAAC;IAAAC,UAAA,GAAAL,cAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAHKG,IAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA;EAIlC,IAAAG,UAAA,GAA0CV,QAAQ,CAAW;AAC3DpB,MAAAA,KAAK,EAAE,CAAC;AACRC,MAAAA,GAAG,EAAEyB;AACN,KAAA,CAAC;IAAAK,UAAA,GAAAT,cAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAHKE,IAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAItC,EAAA,IAAMG,kBAAkB,GAAGC,MAAM,CAAiB,IAAI,CAAC;AACvD,EAAA,IAAMC,QAAQ,GAAGD,MAAM,CAAgB,IAAI,CAAC;AAE5C;EACA,IAAME,OAAO,GAAGC,OAAO,CACrB,YAAA;IAAA,OACE1B,iBAAiB,CAAC2B,MAAM,CACtB,UAACC,GAAG,EAAEC,GAAG,EAAI;AACX,MAAA,IAAI,CAACD,GAAG,CAACC,GAAG,CAACC,EAAE,CAAC,EAAEF,GAAG,CAACC,GAAG,CAACC,EAAE,CAAC,GAAG,EAAE;MAClCF,GAAG,CAACC,GAAG,CAACC,EAAE,CAAE,CAACC,IAAI,CAACF,GAAG,CAAC;AACtB,MAAA,OAAOD,GAAG;IACZ,CAAC,EACD,EAAE,CACH;EAAA,CAAA,EACH,CAAC5B,iBAAiB,CAAC,CACpB;AAED;AACA,EAAA,IAAMgC,aAAa,GAAGN,OAAO,CAAC,YAAK;AACjC,IAAA,IAAMO,OAAO,GAAGC,MAAM,CAACD,OAAO,CAACR,OAAO,CAAC;IACvC,IAAI,CAACd,WAAW,CAACwB,IAAI,EAAE,EAAE,OAAOF,OAAO;AAEvC,IAAA,IAAMG,KAAK,GAAGzB,WAAW,CAAC0B,WAAW,EAAE;AACvC,IAAA,OAAOJ,OAAO,CAACK,MAAM,CAAC,UAAAC,IAAA,EAAe;AAAA,MAAA,IAAAC,qBAAA,EAAAC,OAAA,EAAAC,YAAA;AAAA,MAAA,IAAAC,KAAA,GAAAjC,cAAA,CAAA6B,IAAA,EAAA,CAAA,CAAA;AAAbK,QAACD,KAAA,CAAA,CAAA,CAAA;AAAEE,YAAAA,KAAK,GAAAF,KAAA,CAAA,CAAA;AAC9B,MAAA,IAAMG,UAAU,GAAA,CAAAN,qBAAA,GAAA,CAAAC,OAAA,GAAGI,KAAK,CAAC,CAAC,CAAC,MAAA,IAAA,IAAAJ,OAAA,wBAAAC,YAAA,GAARD,OAAA,CAAUM,IAAI,MAAA,IAAA,IAAAL,YAAA,KAAA,MAAA,GAAA,MAAA,GAAdA,YAAA,CAAgBL,WAAW,EAAE,MAAA,IAAA,IAAAG,qBAAA,KAAA,MAAA,GAAAA,qBAAA,GAAI,EAAE;AACtD,MAAA,OAAOM,UAAU,CAACE,QAAQ,CAACZ,KAAK,CAAC;AACnC,IAAA,CAAC,CAAC;AACJ,EAAA,CAAC,EAAE,CAACX,OAAO,EAAEd,WAAW,CAAC,CAAC;AAE1B;AACA;AACA;AACA,EAAA,IAAMsC,UAAU,GAAGtC,WAAW,GAAG,CAAC,GAAG,CAAC;AACtC,EAAA,IAAMuC,SAAS,GAAGlB,aAAa,CAACmB,MAAM,GAAGF,UAAU;AAEnD;;;AAGG;EACH,IAAMG,SAAS,GAAGC,WAAW,cAAA,YAAA;IAAA,IAAAC,KAAA,GAAAC,iBAAA,cAAAC,YAAA,GAAAC,CAAA,CAC3B,SAAAC,OAAAA,CAAOC,SAAgC,EAAA;MAAA,IAAAC,QAAA,EAAAC,cAAA;AAAA,MAAA,OAAAL,YAAA,EAAA,CAAAM,CAAA,CAAA,UAAAC,QAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAC/BJ,QAAQ,GAAGK,yBAAyB,CACxCrE,eAAe,EACf+D,SAAS,CAACO,KAAK,CAChB;AAAA,YAAA,IAEIN,QAAQ,EAAA;AAAAG,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;AACX;AACA1D,YAAAA,OAAO,EAAE;YAAC,OAAAyD,QAAA,CAAA7E,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAA,EAKR0E,QAAQ,CAACO,kBAAkB,CAAChB,MAAM,GAAG,CAAC,CAAA,EAAA;AAAAY,cAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;AAAAD,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;YAAA,OAClCnE,uBAAuB,CAAC+D,QAAQ,CAAC;AAAA,UAAA,KAAA,CAAA;AAGzC;AACMC,YAAAA,cAAc,GAAAO,cAAA,CAAAA,cAAA,KACfR,QAAQ,CAAA,EAAA,EAAA,EAAA;cACXS,GAAG,EAAEV,SAAS,CAACU,GAAG;AAClBC,cAAAA,IAAI,EAAAF,cAAA,CAAAA,cAAA,CAAA,EAAA,EACCR,QAAQ,CAACU,IAAI,CAAA,EAAA,EAAA,EAAA;gBAChBvB,IAAI,EAAEY,SAAS,CAACZ,IAAI;gBACpBwB,IAAI,EAAEZ,SAAS,CAACY;AAAI,eAAA;AACrB,aAAA,CAAA;AAAAR,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;YAAA,OAGGxE,QAAQ,CAACqE,cAAc,CAAC;AAAA,UAAA,KAAA,CAAA;YAAA,OAAAE,QAAA,CAAA7E,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAwE,OAAA,CAAA;IAAA,CAC/B,CAAA,CAAA;AAAA,IAAA,OAAA,UAAAc,EAAA,EAAA;AAAA,MAAA,OAAAlB,KAAA,CAAAmB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAAA,EACD,CAAC9E,eAAe,EAAEC,uBAAuB,EAAEL,QAAQ,EAAEc,OAAO,CAAC,CAC9D;AAED,EAAA,IAAMqE,iBAAiB,GAAGtB,WAAW,CACnC,UAACR,KAA8B,EAAI;AACjC,IAAA,IAAIA,KAAK,CAACM,MAAM,KAAK,CAAC,EAAE;AACtBC,MAAAA,SAAS,CAACP,KAAK,CAAC,CAAC,CAAE,CAAC;AACtB,IAAA,CAAC,MAAM;AACLxC,MAAAA,QAAQ,CAAC;AACPuE,QAAAA,GAAG,EAAA,cAAgB;AACnBC,QAAAA,OAAO,EACLC,GAAA,CAACC,6BAA6B,EAAA;AAACC,UAAAA,IAAI,EAAEnC,KAAK;AAAErD,UAAAA,QAAQ,EAAE4D;;AAEzD,OAAA,CAAC;AACJ,IAAA;AACF,EAAA,CAAC,EACD,CAACA,SAAS,EAAE/C,QAAQ,CAAC,CACtB;AAED,EAAA,IAAM4E,YAAY,GAAG5B,WAAW,CAC9B,UAAC6B,MAAc,EAAqB;AAClC,IAAA,IAAI,CAAC5D,kBAAkB,CAAC6D,OAAO,EAAE,OAAO,IAAI;AAC5C,IAAA,IAAAC,qBAAA,GAAoC9D,kBAAkB,CAAC6D,OAAO;MAAtDE,SAAS,GAAAD,qBAAA,CAATC,SAAS;MAAEC,YAAY,GAAAF,qBAAA,CAAZE,YAAY;IAC/B,OAAO;AACLlG,MAAAA,KAAK,EAAEmG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACJ,SAAS,GAAGK,UAAU,CAAC,GAAGR,MAAM,CAAC;AAC/D7F,MAAAA,GAAG,EAAEkG,IAAI,CAACI,GAAG,CACXzC,SAAS,EACTqC,IAAI,CAACK,IAAI,CAAC,CAACP,SAAS,GAAGC,YAAY,IAAII,UAAU,CAAC,GAAGR,MAAM;KAE9D;AACH,EAAA,CAAC,EACD,CAAChC,SAAS,CAAC,CACZ;AAED,EAAA,IAAM2C,YAAY,GAAGC,oBAAoB,CAAC,YAAK;AAC7C,IAAA,IAAMC,IAAI,GAAGd,YAAY,CAACe,WAAW,CAAC;AACtC,IAAA,IAAID,IAAI,EAAE9E,cAAc,CAAC,UAACgF,IAAI,EAAA;MAAA,OAAMhH,SAAS,CAACgH,IAAI,EAAEF,IAAI,CAAC,GAAGE,IAAI,GAAGF,IAAI;AAAA,IAAA,CAAC,CAAC;EAC3E,CAAC,EAAE,EAAE,CAAC;AAEN,EAAA,IAAMG,QAAQ,GAAG7C,WAAW,CAAC,YAAK;AAChC,IAAA,IAAI7B,QAAQ,CAAC2D,OAAO,KAAK,IAAI,EAAE;AAC7B3D,MAAAA,QAAQ,CAAC2D,OAAO,GAAGgB,qBAAqB,CAAC,YAAK;QAC5C3E,QAAQ,CAAC2D,OAAO,GAAG,IAAI;AACvB,QAAA,IAAMY,IAAI,GAAGd,YAAY,CAAC,CAAC,CAAC;AAC5B,QAAA,IAAIc,IAAI,EACN1E,gBAAgB,CAAC,UAAC4E,IAAI,EAAA;UAAA,OAAMhH,SAAS,CAACgH,IAAI,EAAEF,IAAI,CAAC,GAAGE,IAAI,GAAGF,IAAI;AAAA,QAAA,CAAC,CAAC;AACrE,MAAA,CAAC,CAAC;AACJ,IAAA;AACAF,IAAAA,YAAY,EAAE;AAChB,EAAA,CAAC,EAAE,CAACZ,YAAY,EAAEY,YAAY,CAAC,CAAC;AAEhCO,EAAAA,SAAS,CAAC,YAAK;AACb,IAAA,OAAO,YAAK;AACV,MAAA,IAAI5E,QAAQ,CAAC2D,OAAO,KAAK,IAAI,EAAE;AAC7BkB,QAAAA,oBAAoB,CAAC7E,QAAQ,CAAC2D,OAAO,CAAC;AACxC,MAAA;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AAEN;AACAiB,EAAAA,SAAS,CAAC,YAAK;AACb,IAAA,IAAME,OAAO,GAAa;AACxBlH,MAAAA,KAAK,EAAE,CAAC;AACRC,MAAAA,GAAG,EAAEkG,IAAI,CAACI,GAAG,CAAC7E,oBAAoB,EAAEoC,SAAS;KAC9C;IACDjC,cAAc,CAACqF,OAAO,CAAC;IACvBjF,gBAAgB,CAACiF,OAAO,CAAC;IACzB,IAAIhF,kBAAkB,CAAC6D,OAAO,EAAE;AAC9B7D,MAAAA,kBAAkB,CAAC6D,OAAO,CAACE,SAAS,GAAG,CAAC;AAC1C,IAAA;AACF,EAAA,CAAC,EAAE,CAACnC,SAAS,CAAC,CAAC;AAEf,EAAA,IAAMqD,kBAAkB,GAAGT,oBAAoB,CAC7C,UAACU,KAAa,EAAA;IAAA,OAAK5F,cAAc,CAAC4F,KAAK,CAAC;AAAA,EAAA,CAAA,EACxC,GAAG,CACJ;AAED;AACA,EAAA,IAAMC,YAAY,GAAG/E,OAAO,CAAC,YAAK;AAChC,IAAA,IAAMgF,UAAU,GAAGnB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAExE,WAAW,CAAC5B,KAAK,GAAG6D,UAAU,CAAC;AAC9D,IAAA,IAAM0D,QAAQ,GAAGpB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAExE,WAAW,CAAC3B,GAAG,GAAG4D,UAAU,CAAC;AAC1D,IAAA,OAAOjB,aAAa,CAAC4E,KAAK,CAACF,UAAU,EAAEC,QAAQ,CAAC;EAClD,CAAC,EAAE,CAAC3E,aAAa,EAAEhB,WAAW,EAAEiC,UAAU,CAAC,CAAC;AAE5C,EAAA,IAAM4D,WAAW,GAAG3D,SAAS,GAAGwC,UAAU;AAC1C,EAAA,IAAMoB,OAAO,GAAG9F,WAAW,CAAC5B,KAAK,GAAGsG,UAAU;AAE9C,EAAA,IAAIzF,aAAa,EAAE;IACjB,OACE6E,GAAA,CAAA,KAAA,EAAA;AAAKiC,MAAAA,SAAS,EAAC,iCAAiC;AAAAC,MAAAA,QAAA,EAC9ClC,IAACmC,OAAO,EAAA;AAACC,QAAAA,WAAW,EAAE,CAAC;AAAEH,QAAAA,SAAS,EAAC;OAAW;AAAG,KAAA,CAC7C;AAEV,EAAA;EAEA,OACEI,IAAA,CAAA,KAAA,EAAA;IACEJ,SAAS,EAAEK,IAAI,CACb,2BAA2B,EAC3BhH,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAC7B;AAAA4G,IAAAA,QAAA,EAAA,CAEDlC,GAAA,CAACuC,cAAc,EAAA;AACbb,MAAAA,KAAK,EAAE7F,WAAW;AAClB2G,MAAAA,QAAQ,EAAEf,kBAAkB;MAC5BgB,OAAO,EAAE,SAATA,OAAOA,GAAA;QAAA,OAAQ3G,cAAc,CAAC,EAAE,CAAC;AAAA,MAAA,CAAA;AACjC4G,MAAAA,WAAW,EAAC;AAAmB,KAAA,CAC/B,EAGFL;AACEM,MAAAA,GAAG,EAAEnG,kBAAkB;AACvB4E,MAAAA,QAAQ,EAAEA,QAAQ;MAClBa,SAAS,EAAEK,IAAI,CACb,6CAA6C,EAC7ChH,QAAQ,GAAG,UAAU,GAAG,UAAU,CACnC;iBAED+G,IAAA,CAAA,KAAA,EAAA;AAAKO,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAEd,WAAW;AAAEe,UAAAA,QAAQ,EAAE;SAAY;AAAAZ,QAAAA,QAAA,EAAA,CAEvDlC,GAAA,CAAA,KAAA,EAAA;AACE4C,UAAAA,KAAK,EAAE;YACLG,SAAS,EAAA,aAAA,CAAAC,MAAA,CAAgB1G,aAAa,CAAChC,KAAK,GAAGsG,UAAU,EAAA,KAAA,CAAK;AAC9DkC,YAAAA,QAAQ,EAAE,UAAU;AACpBG,YAAAA,KAAK,EAAE;WACR;AACDhB,UAAAA,SAAS,EAAC,qBAAqB;AAAA,UAAA,aAAA,EACnB,MAAM;AAAAC,UAAAA,QAAA,EAEjBgB,KAAK,CAACC,IAAI,CAAC;AACV9E,YAAAA,MAAM,EAAEoC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEpE,aAAa,CAAC/B,GAAG,GAAG+B,aAAa,CAAChC,KAAK;AAC5D,WAAA,CAAC,CAAC8I,GAAG,CAAC,UAACtF,CAAC,EAAEuF,CAAC,EAAA;AAAA,YAAA,OACVrD,GAAA,CAACsD,oBAAoB,EAAA,EAAA,EAAA,WAAA,CAAAN,MAAA,CACF1G,aAAa,CAAChC,KAAK,GAAG+I,CAAC,CAAE,CAC1C;UAAA,CACH;AAAC,SAAA,CACE,EACNhB,IAAA,CAAA,KAAA,EAAA;AACEO,UAAAA,KAAK,EAAE;AACLG,YAAAA,SAAS,EAAA,aAAA,CAAAC,MAAA,CAAgBhB,OAAO,EAAA,KAAA,CAAK;AACrCc,YAAAA,QAAQ,EAAE,UAAU;AACpBG,YAAAA,KAAK,EAAE;WACR;AACDhB,UAAAA,SAAS,EAAC,qBAAqB;AAAAC,UAAAA,QAAA,EAAA,CAG9B/D,UAAU,GAAG,CAAC,IAAIjC,WAAW,CAAC5B,KAAK,KAAK,CAAC,IACxC0F,GAAA,CAACuD,YAAY,EAAA;AAEX9D,YAAAA,IAAI,EACFO,GAAA,CAAA,KAAA,EAAA;AAAKiC,cAAAA,SAAS,EAAC,0JAA0J;wBACvKjC,GAAA,CAACwD,eAAe;AAAC/D,gBAAAA,IAAI,EAAEgE;eAAQ;cAC3B;AAERxF,YAAAA,IAAI,EAAC,cAAc;AACnByF,YAAAA,MAAM,EAAE,CACN;cAAEC,SAAS,EAAEC,KAAK,CAACC,QAAQ;AAAEC,cAAAA,WAAW,EAAE;AAAK,aAAE,EACjD;cAAEH,SAAS,EAAEC,KAAK,CAACG,MAAM;AAAED,cAAAA,WAAW,EAAE;AAAK,aAAE,CAChD;AACDE,YAAAA,OAAO,EAAErJ,cAAc;AACvBW,YAAAA,QAAQ,EAAEA;WAAQ,EAZd,uBAAuB,CAc9B,EAGAqG,YAAY,CAACyB,GAAG,CACf,UAAAa,KAAA,EAAmD;YAAA,IAAAC,WAAA,EAAAC,WAAA;AAAA,YAAA,IAAAC,KAAA,GAAAxI,cAAA,CAAAqI,KAAA,EAAA,CAAA,CAAA;AAAjDjH,cAAAA,EAAE,GAAAoH,KAAA,CAAA,CAAA,CAAA;AAAErG,cAAAA,KAAK,GAAAqG,KAAA,CAAA,CAAA,CAAA;AACT,YAAA,IAAMC,KAAK,GAAGtG,KAAK,CAAC,CAAC,CAAC;YAEtB,OACEiC,GAAA,CAACuD,YAAY,EAAA;AAEX9D,cAAAA,IAAI,EAAA,CAAAyE,WAAA,GAAEG,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAE5E,IAAI,MAAA,IAAA,IAAAyE,WAAA,KAAA,MAAA,GAAAA,WAAA,GAAI,EAAE;AACvBjG,cAAAA,IAAI,EAAA,CAAAkG,WAAA,GAAEE,KAAK,aAALA,KAAK,KAAA,MAAA,GAAA,MAAA,GAALA,KAAK,CAAEpG,IAAI,MAAA,IAAA,IAAAkG,WAAA,KAAA,MAAA,GAAAA,WAAA,GAAI,EAAE;AACvBT,cAAAA,MAAM,EAAE3F,KAAK,CAACqF,GAAG,CAAC,UAACrG,GAAG,EAAA;gBAAA,OAAM;kBAC1B4G,SAAS,EAAE5G,GAAG,CAACqC,KAAK;AACpB0E,kBAAAA,WAAW,EAAE;iBACd;AAAA,cAAA,CAAC,CAAC;cACHE,OAAO,EAAE,SAATA,OAAOA,GAAA;gBAAA,OAAQnE,iBAAiB,CAAC9B,KAAK,CAAC;AAAA,cAAA,CAAA;AACvCuG,cAAAA,oBAAoB,EAAE,KAAK;AAC3BhJ,cAAAA,QAAQ,EAAEA;aAAQ,EATb0B,EAAE,CAUP;AAEN,UAAA,CAAC,CACF;AAAA,SAAA,CACG;AAAA,OAAA,CACF,EAGLnB,WAAW,IAAIqB,aAAa,CAACmB,MAAM,KAAK,CAAC,IACxCgE,IAAA,CAAA,KAAA,EAAA;AAAKJ,QAAAA,SAAS,EAAC,wGAAwG;AAAAC,QAAAA,QAAA,EAAA,CAAA,8BAAA,EACzFrG,WAAW,EAAA,IAAA;AAAA,OAAA,CAE1C;AAAA,KAAA,CACG,EAGLA,WAAW,IAAIqB,aAAa,CAACmB,MAAM,GAAG,CAAC,IACtCgE,IAAA,CAAA,KAAA,EAAA;AAAKJ,MAAAA,SAAS,EAAC,mEAAmE;AAAAC,MAAAA,QAAA,EAAA,CAAA,UAAA,EACvEhF,aAAa,CAACmB,MAAM,EAAA,SAAA,EAC5BnB,aAAa,CAACmB,MAAM,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE;AAAA,KAAA,CAEzC;AAAA,GAAA,CACG;AAEV;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletAuthButton.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/wallet/WalletAuthButton.tsx"],"names":[],"mappings":"AAGA,UAAU,qBAAqB;IAC7B,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AACD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAyB5D"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var Buttons = require('../../design/Buttons.js');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
|
|
7
|
+
function WalletAuthButton(props) {
|
|
8
|
+
const {
|
|
9
|
+
onContinue
|
|
10
|
+
} = props;
|
|
11
|
+
const [isLoading, setIsLoading] = react.useState(false);
|
|
12
|
+
const handleContinue = async () => {
|
|
13
|
+
setIsLoading(true);
|
|
14
|
+
try {
|
|
15
|
+
await Promise.resolve(onContinue());
|
|
16
|
+
} finally {
|
|
17
|
+
setIsLoading(false);
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
return jsxRuntime.jsx("div", {
|
|
21
|
+
className: "flex flex-col w-full",
|
|
22
|
+
children: jsxRuntime.jsx(Buttons.ActionButton, {
|
|
23
|
+
name: "wallet-auth-button",
|
|
24
|
+
onClick: handleContinue,
|
|
25
|
+
loading: isLoading,
|
|
26
|
+
className: "w-full text-inherit bg-button-light dark:bg-button-dark",
|
|
27
|
+
children: "Continue with wallet"
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
exports.WalletAuthButton = WalletAuthButton;
|
|
33
|
+
//# sourceMappingURL=WalletAuthButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletAuthButton.js","sources":["../../../../src/components/auth/wallet/WalletAuthButton.tsx"],"sourcesContent":[null],"names":["WalletAuthButton","props","onContinue","isLoading","setIsLoading","useState","handleContinue","Promise","resolve","_jsx","className","children","ActionButton","name","onClick","loading"],"mappings":";;;;;;AAMM,SAAUA,gBAAgBA,CAACC,KAA4B,EAAA;EAC3D,MAAM;AAAEC,IAAAA;AAAU,GAAE,GAAGD,KAAK;EAC5B,MAAM,CAACE,SAAS,EAAEC,YAAY,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC;AAEjD,EAAA,MAAMC,cAAc,GAAG,YAAW;IAChCF,YAAY,CAAC,IAAI,CAAC;IAElB,IAAI;AACF,MAAA,MAAMG,OAAO,CAACC,OAAO,CAACN,UAAU,EAAE,CAAC;AACrC,IAAA,CAAC,SAAS;MACRE,YAAY,CAAC,KAAK,CAAC;AACrB,IAAA;EACF,CAAC;EACD,OACEK,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,sBAAsB;AAAAC,IAAAA,QAAA,EACnCF,cAAA,CAACG,oBAAY,EAAA;AACXC,MAAAA,IAAI,EAAC,oBAAoB;AACzBC,MAAAA,OAAO,EAAER,cAAc;AACvBS,MAAAA,OAAO,EAAEZ,SAAS;AAClBO,MAAAA,SAAS,EAAC,yDAAyD;AAAAC,MAAAA,QAAA,EAAA;KAAA;AAGtD,GAAA,CACX;AAEV;;;;"}
|