@turnkey/react-wallet-kit 2.0.0 → 2.1.0
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 +115 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.js.map +1 -0
- package/dist/components/auth/wallet/ExternalWalletChainSelector.mjs +149 -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/TurnkeyProvider.d.ts.map +1 -1
- package/dist/providers/TurnkeyProvider.js +2 -1
- package/dist/providers/TurnkeyProvider.js.map +1 -1
- package/dist/providers/TurnkeyProvider.mjs +4 -3
- package/dist/providers/TurnkeyProvider.mjs.map +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/providers/theme/Overrides.d.ts +1 -0
- package/dist/providers/theme/Overrides.d.ts.map +1 -1
- package/dist/providers/theme/Overrides.js +3 -1
- package/dist/providers/theme/Overrides.js.map +1 -1
- package/dist/providers/theme/Overrides.mjs +3 -1
- package/dist/providers/theme/Overrides.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/base.d.ts +8 -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 +5 -5
- 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,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;;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { ActionButton } from '../../design/Buttons.mjs';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
|
|
6
|
+
function WalletAuthButton(props) {
|
|
7
|
+
var onContinue = props.onContinue;
|
|
8
|
+
var _useState = useState(false),
|
|
9
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
10
|
+
isLoading = _useState2[0],
|
|
11
|
+
setIsLoading = _useState2[1];
|
|
12
|
+
var handleContinue = /*#__PURE__*/function () {
|
|
13
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
14
|
+
return _regenerator().w(function (_context) {
|
|
15
|
+
while (1) switch (_context.p = _context.n) {
|
|
16
|
+
case 0:
|
|
17
|
+
setIsLoading(true);
|
|
18
|
+
_context.p = 1;
|
|
19
|
+
_context.n = 2;
|
|
20
|
+
return Promise.resolve(onContinue());
|
|
21
|
+
case 2:
|
|
22
|
+
_context.p = 2;
|
|
23
|
+
setIsLoading(false);
|
|
24
|
+
return _context.f(2);
|
|
25
|
+
case 3:
|
|
26
|
+
return _context.a(2);
|
|
27
|
+
}
|
|
28
|
+
}, _callee, null, [[1,, 2, 3]]);
|
|
29
|
+
}));
|
|
30
|
+
return function handleContinue() {
|
|
31
|
+
return _ref.apply(this, arguments);
|
|
32
|
+
};
|
|
33
|
+
}();
|
|
34
|
+
return jsx("div", {
|
|
35
|
+
className: "flex flex-col w-full",
|
|
36
|
+
children: jsx(ActionButton, {
|
|
37
|
+
name: "wallet-auth-button",
|
|
38
|
+
onClick: handleContinue,
|
|
39
|
+
loading: isLoading,
|
|
40
|
+
className: "w-full text-inherit bg-button-light dark:bg-button-dark",
|
|
41
|
+
children: "Continue with wallet"
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export { WalletAuthButton };
|
|
47
|
+
//# sourceMappingURL=WalletAuthButton.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletAuthButton.mjs","sources":["../../../../src/components/auth/wallet/WalletAuthButton.tsx"],"sourcesContent":[null],"names":["WalletAuthButton","props","onContinue","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","handleContinue","_ref","_asyncToGenerator","_regenerator","m","_callee","w","_context","p","n","Promise","resolve","f","a","apply","arguments","_jsx","className","children","ActionButton","name","onClick","loading"],"mappings":";;;;;AAMM,SAAUA,gBAAgBA,CAACC,KAA4B,EAAA;AAC3D,EAAA,IAAQC,UAAU,GAAKD,KAAK,CAApBC,UAAU;AAClB,EAAA,IAAAC,SAAA,GAAkCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAA1CI,IAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,YAAY,GAAAH,UAAA,CAAA,CAAA,CAAA;AAE9B,EAAA,IAAMI,cAAc,gBAAA,YAAA;IAAA,IAAAC,IAAA,GAAAC,iBAAA,cAAAC,YAAA,EAAA,CAAAC,CAAA,CAAG,SAAAC,OAAAA,GAAA;AAAA,MAAA,OAAAF,YAAA,EAAA,CAAAG,CAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,CAAA,GAAAD,QAAA,CAAAE,CAAA;AAAA,UAAA,KAAA,CAAA;YACrBV,YAAY,CAAC,IAAI,CAAC;AAACQ,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;AAAAD,YAAAA,QAAA,CAAAE,CAAA,GAAA,CAAA;AAAA,YAAA,OAGXC,OAAO,CAACC,OAAO,CAAClB,UAAU,EAAE,CAAC;AAAA,UAAA,KAAA,CAAA;AAAAc,YAAAA,QAAA,CAAAC,CAAA,GAAA,CAAA;YAEnCT,YAAY,CAAC,KAAK,CAAC;YAAC,OAAAQ,QAAA,CAAAK,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAAA,OAAAL,QAAA,CAAAM,CAAA,CAAA,CAAA,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAR,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IAAA,CAEvB,CAAA,CAAA;AAAA,IAAA,OAAA,SARKL,cAAcA,GAAA;AAAA,MAAA,OAAAC,IAAA,CAAAa,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAQnB;EACD,OACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,sBAAsB;AAAAC,IAAAA,QAAA,EACnCF,GAAA,CAACG,YAAY,EAAA;AACXC,MAAAA,IAAI,EAAC,oBAAoB;AACzBC,MAAAA,OAAO,EAAErB,cAAc;AACvBsB,MAAAA,OAAO,EAAExB,SAAS;AAClBmB,MAAAA,SAAS,EAAC,yDAAyD;AAAAC,MAAAA,QAAA,EAAA;KAAA;AAGtD,GAAA,CACX;AAEV;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import type { Chain } from "@turnkey/core";
|
|
3
|
+
interface WalletButtonProps {
|
|
4
|
+
icon: string | ReactNode;
|
|
5
|
+
name: string;
|
|
6
|
+
chains: Array<{
|
|
7
|
+
namespace: Chain;
|
|
8
|
+
isConnected: boolean;
|
|
9
|
+
}>;
|
|
10
|
+
onClick: () => void;
|
|
11
|
+
shouldShowDisconnect?: boolean;
|
|
12
|
+
isMobile?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function WalletButton(props: WalletButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=WalletButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletButton.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/wallet/WalletButton.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAY,SAAS,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAG3C,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,KAAK,CAAC;QACZ,SAAS,EAAE,KAAK,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CA0FpD"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var Buttons = require('../../design/Buttons.js');
|
|
5
|
+
var Svg = require('../../design/Svg.js');
|
|
6
|
+
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
7
|
+
var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
|
|
8
|
+
var react = require('react');
|
|
9
|
+
var clsx = require('clsx');
|
|
10
|
+
var ConnectedIndicator = require('../../design/ConnectedIndicator.js');
|
|
11
|
+
var constants = require('./constants.js');
|
|
12
|
+
|
|
13
|
+
function WalletButton(props) {
|
|
14
|
+
const {
|
|
15
|
+
icon,
|
|
16
|
+
name,
|
|
17
|
+
chains,
|
|
18
|
+
onClick,
|
|
19
|
+
shouldShowDisconnect = false,
|
|
20
|
+
isMobile = false
|
|
21
|
+
} = props;
|
|
22
|
+
const [isHovering, setIsHovering] = react.useState(false);
|
|
23
|
+
return jsxRuntime.jsxs(Buttons.ActionButton, {
|
|
24
|
+
...(!isMobile && {
|
|
25
|
+
// This looks weird on mobile since there's no hover state
|
|
26
|
+
onMouseEnter: () => setIsHovering(true),
|
|
27
|
+
onMouseLeave: () => setIsHovering(false)
|
|
28
|
+
}),
|
|
29
|
+
onClick: onClick,
|
|
30
|
+
style: {
|
|
31
|
+
height: `${constants.WALLET_BUTTON_HEIGHT}px`
|
|
32
|
+
},
|
|
33
|
+
className: "relative flex items-center justify-between w-full text-inherit bg-button-light dark:bg-button-dark overflow-hidden",
|
|
34
|
+
children: [jsxRuntime.jsxs("div", {
|
|
35
|
+
className: "flex items-center gap-2 overflow-hidden w-3/4 ",
|
|
36
|
+
children: [typeof icon === "string" ? jsxRuntime.jsx("img", {
|
|
37
|
+
src: icon,
|
|
38
|
+
alt: name,
|
|
39
|
+
className: "size-6 rounded-full flex-shrink-0"
|
|
40
|
+
}) : icon, jsxRuntime.jsx("span", {
|
|
41
|
+
className: "text-ellipsis whitespace-nowrap overflow-hidden",
|
|
42
|
+
children: name
|
|
43
|
+
})]
|
|
44
|
+
}), jsxRuntime.jsx("div", {
|
|
45
|
+
className: clsx(`flex items-center transition-all gap-1`),
|
|
46
|
+
children: chains.map((c, idx) => {
|
|
47
|
+
let Logo;
|
|
48
|
+
if (c.namespace === "ethereum") {
|
|
49
|
+
Logo = Svg.EthereumLogo;
|
|
50
|
+
} else if (c.namespace === "solana") {
|
|
51
|
+
Logo = Svg.SolanaLogo;
|
|
52
|
+
} else {
|
|
53
|
+
// we should never reach here
|
|
54
|
+
// if we do then it means we forgot to update the auth component after adding a new chain
|
|
55
|
+
throw new Error(`Unsupported provider namespace. Expected Ethereum or Solana.`);
|
|
56
|
+
}
|
|
57
|
+
const delay = 50 + idx * 30; // Staggered delay: leftmost has largest
|
|
58
|
+
return jsxRuntime.jsxs("div", {
|
|
59
|
+
style: {
|
|
60
|
+
transitionDelay: `${delay}ms`
|
|
61
|
+
},
|
|
62
|
+
className: clsx("relative", "size-4", "transition-all duration-200", isHovering ? "-translate-x-8" : "translate-x-0"),
|
|
63
|
+
children: [jsxRuntime.jsx(Logo, {
|
|
64
|
+
className: "size-4"
|
|
65
|
+
}), c.isConnected && jsxRuntime.jsx(ConnectedIndicator.ConnectedIndicator, {
|
|
66
|
+
isPinging: isHovering
|
|
67
|
+
})]
|
|
68
|
+
}, c.namespace);
|
|
69
|
+
})
|
|
70
|
+
}), jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
|
|
71
|
+
className: clsx(`absolute transition-all duration-200`, isHovering ? "right-4" : "-right-4", chains.length === 1 && chains[0].isConnected && shouldShowDisconnect ? "text-danger-light dark:text-danger-dark" : "text-icon-text-light dark:text-icon-text-dark"),
|
|
72
|
+
size: chains.length === 1 && chains[0].isConnected && shouldShowDisconnect ? "lg" : "1x",
|
|
73
|
+
icon: chains.length === 1 && chains[0].isConnected && shouldShowDisconnect ? freeSolidSvgIcons.faClose : freeSolidSvgIcons.faChevronRight
|
|
74
|
+
})]
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
exports.WalletButton = WalletButton;
|
|
79
|
+
//# sourceMappingURL=WalletButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletButton.js","sources":["../../../../src/components/auth/wallet/WalletButton.tsx"],"sourcesContent":[null],"names":["WalletButton","props","icon","name","chains","onClick","shouldShowDisconnect","isMobile","isHovering","setIsHovering","useState","_jsxs","ActionButton","onMouseEnter","onMouseLeave","style","height","WALLET_BUTTON_HEIGHT","className","children","_jsx","src","alt","clsx","map","c","idx","Logo","namespace","EthereumLogo","SolanaLogo","Error","delay","transitionDelay","isConnected","ConnectedIndicator","isPinging","FontAwesomeIcon","length","size","faClose","faChevronRight"],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.mjs';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { ActionButton } from '../../design/Buttons.mjs';
|
|
4
|
+
import { EthereumLogo, SolanaLogo } from '../../design/Svg.mjs';
|
|
5
|
+
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
6
|
+
import { faClose, faChevronRight } from '@fortawesome/free-solid-svg-icons';
|
|
7
|
+
import { useState } from 'react';
|
|
8
|
+
import clsx from 'clsx';
|
|
9
|
+
import { ConnectedIndicator } from '../../design/ConnectedIndicator.mjs';
|
|
10
|
+
import { WALLET_BUTTON_HEIGHT } from './constants.mjs';
|
|
11
|
+
|
|
12
|
+
function WalletButton(props) {
|
|
13
|
+
var icon = props.icon,
|
|
14
|
+
name = props.name,
|
|
15
|
+
chains = props.chains,
|
|
16
|
+
onClick = props.onClick,
|
|
17
|
+
_props$shouldShowDisc = props.shouldShowDisconnect,
|
|
18
|
+
shouldShowDisconnect = _props$shouldShowDisc === void 0 ? false : _props$shouldShowDisc,
|
|
19
|
+
_props$isMobile = props.isMobile,
|
|
20
|
+
isMobile = _props$isMobile === void 0 ? false : _props$isMobile;
|
|
21
|
+
var _useState = useState(false),
|
|
22
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
23
|
+
isHovering = _useState2[0],
|
|
24
|
+
setIsHovering = _useState2[1];
|
|
25
|
+
return jsxs(ActionButton, _objectSpread2(_objectSpread2({}, !isMobile && {
|
|
26
|
+
// This looks weird on mobile since there's no hover state
|
|
27
|
+
onMouseEnter: function onMouseEnter() {
|
|
28
|
+
return setIsHovering(true);
|
|
29
|
+
},
|
|
30
|
+
onMouseLeave: function onMouseLeave() {
|
|
31
|
+
return setIsHovering(false);
|
|
32
|
+
}
|
|
33
|
+
}), {}, {
|
|
34
|
+
onClick: onClick,
|
|
35
|
+
style: {
|
|
36
|
+
height: "".concat(WALLET_BUTTON_HEIGHT, "px")
|
|
37
|
+
},
|
|
38
|
+
className: "relative flex items-center justify-between w-full text-inherit bg-button-light dark:bg-button-dark overflow-hidden",
|
|
39
|
+
children: [jsxs("div", {
|
|
40
|
+
className: "flex items-center gap-2 overflow-hidden w-3/4 ",
|
|
41
|
+
children: [typeof icon === "string" ? jsx("img", {
|
|
42
|
+
src: icon,
|
|
43
|
+
alt: name,
|
|
44
|
+
className: "size-6 rounded-full flex-shrink-0"
|
|
45
|
+
}) : icon, jsx("span", {
|
|
46
|
+
className: "text-ellipsis whitespace-nowrap overflow-hidden",
|
|
47
|
+
children: name
|
|
48
|
+
})]
|
|
49
|
+
}), jsx("div", {
|
|
50
|
+
className: clsx("flex items-center transition-all gap-1"),
|
|
51
|
+
children: chains.map(function (c, idx) {
|
|
52
|
+
var Logo;
|
|
53
|
+
if (c.namespace === "ethereum") {
|
|
54
|
+
Logo = EthereumLogo;
|
|
55
|
+
} else if (c.namespace === "solana") {
|
|
56
|
+
Logo = SolanaLogo;
|
|
57
|
+
} else {
|
|
58
|
+
// we should never reach here
|
|
59
|
+
// if we do then it means we forgot to update the auth component after adding a new chain
|
|
60
|
+
throw new Error("Unsupported provider namespace. Expected Ethereum or Solana.");
|
|
61
|
+
}
|
|
62
|
+
var delay = 50 + idx * 30; // Staggered delay: leftmost has largest
|
|
63
|
+
return jsxs("div", {
|
|
64
|
+
style: {
|
|
65
|
+
transitionDelay: "".concat(delay, "ms")
|
|
66
|
+
},
|
|
67
|
+
className: clsx("relative", "size-4", "transition-all duration-200", isHovering ? "-translate-x-8" : "translate-x-0"),
|
|
68
|
+
children: [jsx(Logo, {
|
|
69
|
+
className: "size-4"
|
|
70
|
+
}), c.isConnected && jsx(ConnectedIndicator, {
|
|
71
|
+
isPinging: isHovering
|
|
72
|
+
})]
|
|
73
|
+
}, c.namespace);
|
|
74
|
+
})
|
|
75
|
+
}), jsx(FontAwesomeIcon, {
|
|
76
|
+
className: clsx("absolute transition-all duration-200", isHovering ? "right-4" : "-right-4", chains.length === 1 && chains[0].isConnected && shouldShowDisconnect ? "text-danger-light dark:text-danger-dark" : "text-icon-text-light dark:text-icon-text-dark"),
|
|
77
|
+
size: chains.length === 1 && chains[0].isConnected && shouldShowDisconnect ? "lg" : "1x",
|
|
78
|
+
icon: chains.length === 1 && chains[0].isConnected && shouldShowDisconnect ? faClose : faChevronRight
|
|
79
|
+
})]
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export { WalletButton };
|
|
84
|
+
//# sourceMappingURL=WalletButton.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletButton.mjs","sources":["../../../../src/components/auth/wallet/WalletButton.tsx"],"sourcesContent":[null],"names":["WalletButton","props","icon","name","chains","onClick","_props$shouldShowDisc","shouldShowDisconnect","_props$isMobile","isMobile","_useState","useState","_useState2","_slicedToArray","isHovering","setIsHovering","_jsxs","ActionButton","_objectSpread","onMouseEnter","onMouseLeave","style","height","concat","WALLET_BUTTON_HEIGHT","className","children","_jsx","src","alt","clsx","map","c","idx","Logo","namespace","EthereumLogo","SolanaLogo","Error","delay","transitionDelay","isConnected","ConnectedIndicator","isPinging","FontAwesomeIcon","length","size","faClose","faChevronRight"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WalletButtonSkeleton.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/wallet/WalletButtonSkeleton.tsx"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,4CAWnC"}
|