@turnkey/react-wallet-kit 2.0.1 → 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.
Files changed (158) hide show
  1. package/dist/components/auth/index.d.ts.map +1 -1
  2. package/dist/components/auth/index.js +7 -57
  3. package/dist/components/auth/index.js.map +1 -1
  4. package/dist/components/auth/index.mjs +16 -132
  5. package/dist/components/auth/index.mjs.map +1 -1
  6. package/dist/components/auth/wallet/DesktopWalletConnectScreen.d.ts +10 -0
  7. package/dist/components/auth/wallet/DesktopWalletConnectScreen.d.ts.map +1 -0
  8. package/dist/components/auth/wallet/DesktopWalletConnectScreen.js +204 -0
  9. package/dist/components/auth/wallet/DesktopWalletConnectScreen.js.map +1 -0
  10. package/dist/components/auth/wallet/DesktopWalletConnectScreen.mjs +253 -0
  11. package/dist/components/auth/wallet/DesktopWalletConnectScreen.mjs.map +1 -0
  12. package/dist/components/auth/wallet/DisconnectWalletScreen.d.ts +8 -0
  13. package/dist/components/auth/wallet/DisconnectWalletScreen.d.ts.map +1 -0
  14. package/dist/components/auth/wallet/DisconnectWalletScreen.js +58 -0
  15. package/dist/components/auth/wallet/DisconnectWalletScreen.js.map +1 -0
  16. package/dist/components/auth/wallet/DisconnectWalletScreen.mjs +80 -0
  17. package/dist/components/auth/wallet/DisconnectWalletScreen.mjs.map +1 -0
  18. package/dist/components/auth/wallet/ExternalWalletChainSelector.d.ts +10 -0
  19. package/dist/components/auth/wallet/ExternalWalletChainSelector.d.ts.map +1 -0
  20. package/dist/components/auth/wallet/ExternalWalletChainSelector.js +115 -0
  21. package/dist/components/auth/wallet/ExternalWalletChainSelector.js.map +1 -0
  22. package/dist/components/auth/wallet/ExternalWalletChainSelector.mjs +149 -0
  23. package/dist/components/auth/wallet/ExternalWalletChainSelector.mjs.map +1 -0
  24. package/dist/components/auth/wallet/ExternalWalletSelector.d.ts +18 -0
  25. package/dist/components/auth/wallet/ExternalWalletSelector.d.ts.map +1 -0
  26. package/dist/components/auth/wallet/ExternalWalletSelector.js +233 -0
  27. package/dist/components/auth/wallet/ExternalWalletSelector.js.map +1 -0
  28. package/dist/components/auth/wallet/ExternalWalletSelector.mjs +323 -0
  29. package/dist/components/auth/wallet/ExternalWalletSelector.mjs.map +1 -0
  30. package/dist/components/auth/wallet/MobileWalletConnectScreen.d.ts +11 -0
  31. package/dist/components/auth/wallet/MobileWalletConnectScreen.d.ts.map +1 -0
  32. package/dist/components/auth/wallet/MobileWalletConnectScreen.js +200 -0
  33. package/dist/components/auth/wallet/MobileWalletConnectScreen.js.map +1 -0
  34. package/dist/components/auth/wallet/MobileWalletConnectScreen.mjs +251 -0
  35. package/dist/components/auth/wallet/MobileWalletConnectScreen.mjs.map +1 -0
  36. package/dist/components/auth/wallet/QRCodeDisplay.d.ts +8 -0
  37. package/dist/components/auth/wallet/QRCodeDisplay.d.ts.map +1 -0
  38. package/dist/components/auth/wallet/QRCodeDisplay.js +37 -0
  39. package/dist/components/auth/wallet/QRCodeDisplay.js.map +1 -0
  40. package/dist/components/auth/wallet/QRCodeDisplay.mjs +33 -0
  41. package/dist/components/auth/wallet/QRCodeDisplay.mjs.map +1 -0
  42. package/dist/components/auth/wallet/ShowAllWalletsScreen.d.ts +8 -0
  43. package/dist/components/auth/wallet/ShowAllWalletsScreen.d.ts.map +1 -0
  44. package/dist/components/auth/wallet/ShowAllWalletsScreen.js +253 -0
  45. package/dist/components/auth/wallet/ShowAllWalletsScreen.js.map +1 -0
  46. package/dist/components/auth/wallet/ShowAllWalletsScreen.mjs +299 -0
  47. package/dist/components/auth/wallet/ShowAllWalletsScreen.mjs.map +1 -0
  48. package/dist/components/auth/wallet/WalletAuthButton.d.ts +6 -0
  49. package/dist/components/auth/wallet/WalletAuthButton.d.ts.map +1 -0
  50. package/dist/components/auth/wallet/WalletAuthButton.js +33 -0
  51. package/dist/components/auth/wallet/WalletAuthButton.js.map +1 -0
  52. package/dist/components/auth/wallet/WalletAuthButton.mjs +47 -0
  53. package/dist/components/auth/wallet/WalletAuthButton.mjs.map +1 -0
  54. package/dist/components/auth/wallet/WalletButton.d.ts +16 -0
  55. package/dist/components/auth/wallet/WalletButton.d.ts.map +1 -0
  56. package/dist/components/auth/wallet/WalletButton.js +79 -0
  57. package/dist/components/auth/wallet/WalletButton.js.map +1 -0
  58. package/dist/components/auth/wallet/WalletButton.mjs +84 -0
  59. package/dist/components/auth/wallet/WalletButton.mjs.map +1 -0
  60. package/dist/components/auth/wallet/WalletButtonSkeleton.d.ts +2 -0
  61. package/dist/components/auth/wallet/WalletButtonSkeleton.d.ts.map +1 -0
  62. package/dist/components/auth/wallet/WalletButtonSkeleton.js +22 -0
  63. package/dist/components/auth/wallet/WalletButtonSkeleton.js.map +1 -0
  64. package/dist/components/auth/wallet/WalletButtonSkeleton.mjs +20 -0
  65. package/dist/components/auth/wallet/WalletButtonSkeleton.mjs.map +1 -0
  66. package/dist/components/auth/wallet/WalletConnectAppChainSelector.d.ts +12 -0
  67. package/dist/components/auth/wallet/WalletConnectAppChainSelector.d.ts.map +1 -0
  68. package/dist/components/auth/wallet/WalletConnectAppChainSelector.js +79 -0
  69. package/dist/components/auth/wallet/WalletConnectAppChainSelector.js.map +1 -0
  70. package/dist/components/auth/wallet/WalletConnectAppChainSelector.mjs +102 -0
  71. package/dist/components/auth/wallet/WalletConnectAppChainSelector.mjs.map +1 -0
  72. package/dist/components/auth/wallet/WalletConnectFlow.d.ts +21 -0
  73. package/dist/components/auth/wallet/WalletConnectFlow.d.ts.map +1 -0
  74. package/dist/components/auth/wallet/WalletConnectFlow.js +163 -0
  75. package/dist/components/auth/wallet/WalletConnectFlow.js.map +1 -0
  76. package/dist/components/auth/wallet/WalletConnectFlow.mjs +310 -0
  77. package/dist/components/auth/wallet/WalletConnectFlow.mjs.map +1 -0
  78. package/dist/components/auth/wallet/constants.d.ts +6 -0
  79. package/dist/components/auth/wallet/constants.d.ts.map +1 -0
  80. package/dist/components/auth/wallet/constants.js +14 -0
  81. package/dist/components/auth/wallet/constants.js.map +1 -0
  82. package/dist/components/auth/wallet/constants.mjs +8 -0
  83. package/dist/components/auth/wallet/constants.mjs.map +1 -0
  84. package/dist/components/auth/wallet/utils.d.ts +4 -0
  85. package/dist/components/auth/wallet/utils.d.ts.map +1 -0
  86. package/dist/components/auth/wallet/utils.js +9 -0
  87. package/dist/components/auth/wallet/utils.js.map +1 -0
  88. package/dist/components/auth/wallet/utils.mjs +7 -0
  89. package/dist/components/auth/wallet/utils.mjs.map +1 -0
  90. package/dist/components/design/Buttons.d.ts +1 -0
  91. package/dist/components/design/Buttons.d.ts.map +1 -1
  92. package/dist/components/design/Buttons.js +2 -0
  93. package/dist/components/design/Buttons.js.map +1 -1
  94. package/dist/components/design/Buttons.mjs +2 -0
  95. package/dist/components/design/Buttons.mjs.map +1 -1
  96. package/dist/components/design/ConnectedIndicator.d.ts +6 -0
  97. package/dist/components/design/ConnectedIndicator.d.ts.map +1 -0
  98. package/dist/components/design/ConnectedIndicator.js +20 -0
  99. package/dist/components/design/ConnectedIndicator.js.map +1 -0
  100. package/dist/components/design/ConnectedIndicator.mjs +17 -0
  101. package/dist/components/design/ConnectedIndicator.mjs.map +1 -0
  102. package/dist/components/design/Inputs.d.ts +7 -0
  103. package/dist/components/design/Inputs.d.ts.map +1 -1
  104. package/dist/components/design/Inputs.js +37 -0
  105. package/dist/components/design/Inputs.js.map +1 -1
  106. package/dist/components/design/Inputs.mjs +39 -2
  107. package/dist/components/design/Inputs.mjs.map +1 -1
  108. package/dist/components/design/Svg.d.ts +1 -0
  109. package/dist/components/design/Svg.d.ts.map +1 -1
  110. package/dist/components/user/ConnectWallet.d.ts +1 -1
  111. package/dist/components/user/ConnectWallet.d.ts.map +1 -1
  112. package/dist/components/user/ConnectWallet.js +6 -100
  113. package/dist/components/user/ConnectWallet.js.map +1 -1
  114. package/dist/components/user/ConnectWallet.mjs +5 -183
  115. package/dist/components/user/ConnectWallet.mjs.map +1 -1
  116. package/dist/index.js +4 -0
  117. package/dist/index.js.map +1 -1
  118. package/dist/index.mjs +1 -1
  119. package/dist/providers/WalletConnectProvider.d.ts +23 -0
  120. package/dist/providers/WalletConnectProvider.d.ts.map +1 -0
  121. package/dist/providers/WalletConnectProvider.js +72 -0
  122. package/dist/providers/WalletConnectProvider.js.map +1 -0
  123. package/dist/providers/WalletConnectProvider.mjs +93 -0
  124. package/dist/providers/WalletConnectProvider.mjs.map +1 -0
  125. package/dist/providers/client/Provider.d.ts.map +1 -1
  126. package/dist/providers/client/Provider.js +5 -2
  127. package/dist/providers/client/Provider.js.map +1 -1
  128. package/dist/providers/client/Provider.mjs +5 -2
  129. package/dist/providers/client/Provider.mjs.map +1 -1
  130. package/dist/providers/modal/Provider.d.ts +5 -1
  131. package/dist/providers/modal/Provider.d.ts.map +1 -1
  132. package/dist/providers/modal/Provider.js.map +1 -1
  133. package/dist/providers/modal/Provider.mjs.map +1 -1
  134. package/dist/providers/modal/Root.d.ts.map +1 -1
  135. package/dist/providers/modal/Root.js +2 -0
  136. package/dist/providers/modal/Root.js.map +1 -1
  137. package/dist/providers/modal/Root.mjs +2 -0
  138. package/dist/providers/modal/Root.mjs.map +1 -1
  139. package/dist/styles.css +1 -1
  140. package/dist/types/base.d.ts +6 -0
  141. package/dist/types/base.d.ts.map +1 -1
  142. package/dist/types/base.js +7 -0
  143. package/dist/types/base.js.map +1 -1
  144. package/dist/types/base.mjs +8 -1
  145. package/dist/types/base.mjs.map +1 -1
  146. package/dist/utils/utils.d.ts +2 -1
  147. package/dist/utils/utils.d.ts.map +1 -1
  148. package/dist/utils/utils.js +5 -0
  149. package/dist/utils/utils.js.map +1 -1
  150. package/dist/utils/utils.mjs +7 -1
  151. package/dist/utils/utils.mjs.map +1 -1
  152. package/package.json +3 -3
  153. package/dist/components/auth/Wallet.d.ts +0 -34
  154. package/dist/components/auth/Wallet.d.ts.map +0 -1
  155. package/dist/components/auth/Wallet.js +0 -514
  156. package/dist/components/auth/Wallet.js.map +0 -1
  157. package/dist/components/auth/Wallet.mjs +0 -615
  158. 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":"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"}
@@ -0,0 +1,6 @@
1
+ interface WalletAuthButtonProps {
2
+ onContinue: () => Promise<void>;
3
+ }
4
+ export declare function WalletAuthButton(props: WalletAuthButtonProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=WalletAuthButton.d.ts.map
@@ -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,2 @@
1
+ export declare function WalletButtonSkeleton(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=WalletButtonSkeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletButtonSkeleton.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/wallet/WalletButtonSkeleton.tsx"],"names":[],"mappings":"AAEA,wBAAgB,oBAAoB,4CAWnC"}