@turnkey/react-wallet-kit 2.0.1 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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 +117 -0
  21. package/dist/components/auth/wallet/ExternalWalletChainSelector.js.map +1 -0
  22. package/dist/components/auth/wallet/ExternalWalletChainSelector.mjs +151 -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,253 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var reactFontawesome = require('@fortawesome/react-fontawesome');
5
+ var freeSolidSvgIcons = require('@fortawesome/free-solid-svg-icons');
6
+ var react = require('react');
7
+ var clsx = require('clsx');
8
+ var core = require('@turnkey/core');
9
+ var Hook$1 = require('../../../providers/modal/Hook.js');
10
+ var Hook = require('../../../providers/client/Hook.js');
11
+ var WalletConnectProvider = require('../../../providers/WalletConnectProvider.js');
12
+ var utils = require('../../../utils/utils.js');
13
+ var WalletButton = require('./WalletButton.js');
14
+ var WalletConnectAppChainSelector = require('./WalletConnectAppChainSelector.js');
15
+ var Inputs = require('../../design/Inputs.js');
16
+ var Spinners = require('../../design/Spinners.js');
17
+ var constants = require('./constants.js');
18
+ var WalletButtonSkeleton = require('./WalletButtonSkeleton.js');
19
+
20
+ const sameRange = (a, b) => a.start === b.start && a.end === b.end;
21
+ function ShowAllWalletsScreen(props) {
22
+ const {
23
+ onSelect,
24
+ onSelectQRCode
25
+ } = props;
26
+ const {
27
+ walletProviders,
28
+ disconnectWalletAccount
29
+ } = Hook.useTurnkey();
30
+ const {
31
+ walletConnectApps,
32
+ isLoadingApps
33
+ } = WalletConnectProvider.useWalletConnect();
34
+ const {
35
+ isMobile,
36
+ pushPage,
37
+ popPage
38
+ } = Hook$1.useModal();
39
+ const [searchQuery, setSearchQuery] = react.useState("");
40
+ // renderRange (buffered, debounced) governs which real WalletButtons are mounted.
41
+ // viewportRange (unbuffered, rAF-synchronous) governs the skeleton layer behind them.
42
+ const [renderRange, setRenderRange] = react.useState({
43
+ start: 0,
44
+ end: constants.INITIAL_VISIBLE_ROWS
45
+ });
46
+ const [viewportRange, setViewportRange] = react.useState({
47
+ start: 0,
48
+ end: constants.INITIAL_VISIBLE_ROWS
49
+ });
50
+ const scrollContainerRef = react.useRef(null);
51
+ const rafIdRef = react.useRef(null);
52
+ // Group wallet apps by id (same wallet across different chains)
53
+ const grouped = react.useMemo(() => walletConnectApps.reduce((acc, app) => {
54
+ if (!acc[app.id]) acc[app.id] = [];
55
+ acc[app.id].push(app);
56
+ return acc;
57
+ }, {}), [walletConnectApps]);
58
+ // Filter by search query
59
+ const walletEntries = react.useMemo(() => {
60
+ const entries = Object.entries(grouped);
61
+ if (!searchQuery.trim()) return entries;
62
+ const query = searchQuery.toLowerCase();
63
+ return entries.filter(([_, group]) => {
64
+ const walletName = group[0]?.name?.toLowerCase() ?? "";
65
+ return walletName.includes(query);
66
+ });
67
+ }, [grouped, searchQuery]);
68
+ // The QR-code row takes the slot at global row 0 when not searching.
69
+ // renderRange/viewportRange are in *global* row indices, so wallet entry i
70
+ // lives at global row (qrRowCount + i).
71
+ const qrRowCount = searchQuery ? 0 : 1;
72
+ const totalRows = walletEntries.length + qrRowCount;
73
+ /**
74
+ * Merges WalletConnectAppEntry (display info) with the actual WalletProvider
75
+ * and triggers selection. Disconnects any existing session first.
76
+ */
77
+ const selectApp = react.useCallback(async targetApp => {
78
+ const provider = utils.findWalletConnectProvider(walletProviders, targetApp.chain);
79
+ if (!provider) {
80
+ // WalletConnect provider not ready - go back
81
+ popPage();
82
+ return;
83
+ }
84
+ // Disconnect existing session to avoid confusion
85
+ if (provider.connectedAddresses.length > 0) {
86
+ await disconnectWalletAccount(provider);
87
+ }
88
+ // Merge app display info with the actual provider
89
+ const mergedProvider = {
90
+ ...provider,
91
+ uri: targetApp.uri,
92
+ info: {
93
+ ...provider.info,
94
+ name: targetApp.name,
95
+ icon: targetApp.icon
96
+ }
97
+ };
98
+ await onSelect(mergedProvider);
99
+ }, [walletProviders, disconnectWalletAccount, onSelect, popPage]);
100
+ const handleSelectGroup = react.useCallback(group => {
101
+ if (group.length === 1) {
102
+ selectApp(group[0]);
103
+ } else {
104
+ pushPage({
105
+ key: `Select chain`,
106
+ content: jsxRuntime.jsx(WalletConnectAppChainSelector.WalletConnectAppChainSelector, {
107
+ apps: group,
108
+ onSelect: selectApp
109
+ })
110
+ });
111
+ }
112
+ }, [selectApp, pushPage]);
113
+ const computeRange = react.useCallback(buffer => {
114
+ if (!scrollContainerRef.current) return null;
115
+ const {
116
+ scrollTop,
117
+ clientHeight
118
+ } = scrollContainerRef.current;
119
+ return {
120
+ start: Math.max(0, Math.floor(scrollTop / constants.ROW_STRIDE) - buffer),
121
+ end: Math.min(totalRows, Math.ceil((scrollTop + clientHeight) / constants.ROW_STRIDE) + buffer)
122
+ };
123
+ }, [totalRows]);
124
+ const handleScroll = utils.useDebouncedCallback(() => {
125
+ const next = computeRange(constants.BUFFER_SIZE);
126
+ if (next) setRenderRange(prev => sameRange(prev, next) ? prev : next);
127
+ }, 50);
128
+ const onScroll = react.useCallback(() => {
129
+ if (rafIdRef.current === null) {
130
+ rafIdRef.current = requestAnimationFrame(() => {
131
+ rafIdRef.current = null;
132
+ const next = computeRange(0);
133
+ if (next) setViewportRange(prev => sameRange(prev, next) ? prev : next);
134
+ });
135
+ }
136
+ handleScroll();
137
+ }, [computeRange, handleScroll]);
138
+ react.useEffect(() => {
139
+ return () => {
140
+ if (rafIdRef.current !== null) {
141
+ cancelAnimationFrame(rafIdRef.current);
142
+ }
143
+ };
144
+ }, []);
145
+ // Reset scroll when search results change (or QR row toggles)
146
+ react.useEffect(() => {
147
+ const initial = {
148
+ start: 0,
149
+ end: Math.min(constants.INITIAL_VISIBLE_ROWS, totalRows)
150
+ };
151
+ setRenderRange(initial);
152
+ setViewportRange(initial);
153
+ if (scrollContainerRef.current) {
154
+ scrollContainerRef.current.scrollTop = 0;
155
+ }
156
+ }, [totalRows]);
157
+ const debouncedSetSearch = utils.useDebouncedCallback(value => setSearchQuery(value), 300);
158
+ // renderRange is in global row indices; subtract qrRowCount to slice walletEntries
159
+ const visibleItems = react.useMemo(() => {
160
+ const sliceStart = Math.max(0, renderRange.start - qrRowCount);
161
+ const sliceEnd = Math.max(0, renderRange.end - qrRowCount);
162
+ return walletEntries.slice(sliceStart, sliceEnd);
163
+ }, [walletEntries, renderRange, qrRowCount]);
164
+ const totalHeight = totalRows * constants.ROW_STRIDE;
165
+ const offsetY = renderRange.start * constants.ROW_STRIDE;
166
+ if (isLoadingApps) {
167
+ return jsxRuntime.jsx("div", {
168
+ className: "flex flex-col items-center py-5",
169
+ children: jsxRuntime.jsx(Spinners.Spinner, {
170
+ strokeWidth: 2,
171
+ className: "w-12 h-12"
172
+ })
173
+ });
174
+ }
175
+ return jsxRuntime.jsxs("div", {
176
+ className: clsx("flex flex-col mt-10 gap-3", isMobile ? "w-full" : "w-80"),
177
+ children: [jsxRuntime.jsx(Inputs.SearchInputBox, {
178
+ value: searchQuery,
179
+ onChange: debouncedSetSearch,
180
+ onClear: () => setSearchQuery(""),
181
+ placeholder: "Search wallets..."
182
+ }), jsxRuntime.jsxs("div", {
183
+ ref: scrollContainerRef,
184
+ onScroll: onScroll,
185
+ className: clsx("min-h-42 overflow-y-auto tk-scrollbar p-0.5", isMobile ? "max-h-80" : "max-h-72"),
186
+ children: [jsxRuntime.jsxs("div", {
187
+ style: {
188
+ height: totalHeight,
189
+ position: "relative"
190
+ },
191
+ children: [jsxRuntime.jsx("div", {
192
+ style: {
193
+ transform: `translateY(${viewportRange.start * constants.ROW_STRIDE}px)`,
194
+ position: "absolute",
195
+ width: "100%"
196
+ },
197
+ className: "flex flex-col gap-2",
198
+ "aria-hidden": "true",
199
+ children: Array.from({
200
+ length: Math.max(0, viewportRange.end - viewportRange.start)
201
+ }).map((_, i) => jsxRuntime.jsx(WalletButtonSkeleton.WalletButtonSkeleton, {}, `skeleton-${viewportRange.start + i}`))
202
+ }), jsxRuntime.jsxs("div", {
203
+ style: {
204
+ transform: `translateY(${offsetY}px)`,
205
+ position: "absolute",
206
+ width: "100%"
207
+ },
208
+ className: "flex flex-col gap-2",
209
+ children: [qrRowCount > 0 && renderRange.start === 0 && jsxRuntime.jsx(WalletButton.WalletButton, {
210
+ icon: jsxRuntime.jsx("div", {
211
+ className: "flex items-center justify-center size-6 rounded-full text-icon-text-light dark:text-icon-text-dark bg-icon-background-light dark:bg-icon-background-dark",
212
+ children: jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, {
213
+ icon: freeSolidSvgIcons.faQrcode
214
+ })
215
+ }),
216
+ name: "Scan QR Code",
217
+ chains: [{
218
+ namespace: core.Chain.Ethereum,
219
+ isConnected: false
220
+ }, {
221
+ namespace: core.Chain.Solana,
222
+ isConnected: false
223
+ }],
224
+ onClick: onSelectQRCode,
225
+ isMobile: isMobile
226
+ }, "qr-code-walletconnect"), visibleItems.map(([id, group]) => {
227
+ const first = group[0];
228
+ return jsxRuntime.jsx(WalletButton.WalletButton, {
229
+ icon: first?.icon ?? "",
230
+ name: first?.name ?? "",
231
+ chains: group.map(app => ({
232
+ namespace: app.chain,
233
+ isConnected: false
234
+ })),
235
+ onClick: () => handleSelectGroup(group),
236
+ shouldShowDisconnect: false,
237
+ isMobile: isMobile
238
+ }, id);
239
+ })]
240
+ })]
241
+ }), searchQuery && walletEntries.length === 0 && jsxRuntime.jsxs("div", {
242
+ className: "flex items-center justify-center w-full h-40 text-center text-icon-text-light dark:text-icon-text-dark",
243
+ children: ["No wallets found matching \"", searchQuery, "\""]
244
+ })]
245
+ }), searchQuery && walletEntries.length > 0 && jsxRuntime.jsxs("div", {
246
+ className: "text-xs text-center text-icon-text-light dark:text-icon-text-dark",
247
+ children: ["Showing ", walletEntries.length, " wallet", walletEntries.length !== 1 ? "s" : ""]
248
+ })]
249
+ });
250
+ }
251
+
252
+ exports.ShowAllWalletsScreen = ShowAllWalletsScreen;
253
+ //# sourceMappingURL=ShowAllWalletsScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowAllWalletsScreen.js","sources":["../../../../src/components/auth/wallet/ShowAllWalletsScreen.tsx"],"sourcesContent":[null],"names":["sameRange","a","b","start","end","ShowAllWalletsScreen","props","onSelect","onSelectQRCode","walletProviders","disconnectWalletAccount","useTurnkey","walletConnectApps","isLoadingApps","useWalletConnect","isMobile","pushPage","popPage","useModal","searchQuery","setSearchQuery","useState","renderRange","setRenderRange","INITIAL_VISIBLE_ROWS","viewportRange","setViewportRange","scrollContainerRef","useRef","rafIdRef","grouped","useMemo","reduce","acc","app","id","push","walletEntries","entries","Object","trim","query","toLowerCase","filter","_","group","walletName","name","includes","qrRowCount","totalRows","length","selectApp","useCallback","targetApp","provider","findWalletConnectProvider","chain","connectedAddresses","mergedProvider","uri","info","icon","handleSelectGroup","key","content","_jsx","WalletConnectAppChainSelector","apps","computeRange","buffer","current","scrollTop","clientHeight","Math","max","floor","ROW_STRIDE","min","ceil","handleScroll","useDebouncedCallback","next","BUFFER_SIZE","prev","onScroll","requestAnimationFrame","useEffect","cancelAnimationFrame","initial","debouncedSetSearch","value","visibleItems","sliceStart","sliceEnd","slice","totalHeight","offsetY","className","children","Spinner","strokeWidth","_jsxs","clsx","SearchInputBox","onChange","onClear","placeholder","ref","style","height","position","transform","width","Array","from","map","i","WalletButtonSkeleton","WalletButton","FontAwesomeIcon","faQrcode","chains","namespace","Chain","Ethereum","isConnected","Solana","onClick","first","shouldShowDisconnect"],"mappings":"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"}
@@ -0,0 +1,299 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
+ import { faQrcode } from '@fortawesome/free-solid-svg-icons';
5
+ import { useState, useRef, useMemo, useCallback, useEffect } from 'react';
6
+ import clsx from 'clsx';
7
+ import { Chain } from '@turnkey/core';
8
+ import { useModal } from '../../../providers/modal/Hook.mjs';
9
+ import { useTurnkey } from '../../../providers/client/Hook.mjs';
10
+ import { useWalletConnect } from '../../../providers/WalletConnectProvider.mjs';
11
+ import { useDebouncedCallback, findWalletConnectProvider } from '../../../utils/utils.mjs';
12
+ import { WalletButton } from './WalletButton.mjs';
13
+ import { WalletConnectAppChainSelector } from './WalletConnectAppChainSelector.mjs';
14
+ import { SearchInputBox } from '../../design/Inputs.mjs';
15
+ import { Spinner } from '../../design/Spinners.mjs';
16
+ import { INITIAL_VISIBLE_ROWS, ROW_STRIDE, BUFFER_SIZE } from './constants.mjs';
17
+ import { WalletButtonSkeleton } from './WalletButtonSkeleton.mjs';
18
+
19
+ var sameRange = function sameRange(a, b) {
20
+ return a.start === b.start && a.end === b.end;
21
+ };
22
+ function ShowAllWalletsScreen(props) {
23
+ var onSelect = props.onSelect,
24
+ onSelectQRCode = props.onSelectQRCode;
25
+ var _useTurnkey = useTurnkey(),
26
+ walletProviders = _useTurnkey.walletProviders,
27
+ disconnectWalletAccount = _useTurnkey.disconnectWalletAccount;
28
+ var _useWalletConnect = useWalletConnect(),
29
+ walletConnectApps = _useWalletConnect.walletConnectApps,
30
+ isLoadingApps = _useWalletConnect.isLoadingApps;
31
+ var _useModal = useModal(),
32
+ isMobile = _useModal.isMobile,
33
+ pushPage = _useModal.pushPage,
34
+ popPage = _useModal.popPage;
35
+ var _useState = useState(""),
36
+ _useState2 = _slicedToArray(_useState, 2),
37
+ searchQuery = _useState2[0],
38
+ setSearchQuery = _useState2[1];
39
+ // renderRange (buffered, debounced) governs which real WalletButtons are mounted.
40
+ // viewportRange (unbuffered, rAF-synchronous) governs the skeleton layer behind them.
41
+ var _useState3 = useState({
42
+ start: 0,
43
+ end: INITIAL_VISIBLE_ROWS
44
+ }),
45
+ _useState4 = _slicedToArray(_useState3, 2),
46
+ renderRange = _useState4[0],
47
+ setRenderRange = _useState4[1];
48
+ var _useState5 = useState({
49
+ start: 0,
50
+ end: INITIAL_VISIBLE_ROWS
51
+ }),
52
+ _useState6 = _slicedToArray(_useState5, 2),
53
+ viewportRange = _useState6[0],
54
+ setViewportRange = _useState6[1];
55
+ var scrollContainerRef = useRef(null);
56
+ var rafIdRef = useRef(null);
57
+ // Group wallet apps by id (same wallet across different chains)
58
+ var grouped = useMemo(function () {
59
+ return walletConnectApps.reduce(function (acc, app) {
60
+ if (!acc[app.id]) acc[app.id] = [];
61
+ acc[app.id].push(app);
62
+ return acc;
63
+ }, {});
64
+ }, [walletConnectApps]);
65
+ // Filter by search query
66
+ var walletEntries = useMemo(function () {
67
+ var entries = Object.entries(grouped);
68
+ if (!searchQuery.trim()) return entries;
69
+ var query = searchQuery.toLowerCase();
70
+ return entries.filter(function (_ref) {
71
+ var _group$0$name$toLower, _group$, _group$$name;
72
+ var _ref2 = _slicedToArray(_ref, 2);
73
+ _ref2[0];
74
+ var group = _ref2[1];
75
+ var walletName = (_group$0$name$toLower = (_group$ = group[0]) === null || _group$ === void 0 ? void 0 : (_group$$name = _group$.name) === null || _group$$name === void 0 ? void 0 : _group$$name.toLowerCase()) !== null && _group$0$name$toLower !== void 0 ? _group$0$name$toLower : "";
76
+ return walletName.includes(query);
77
+ });
78
+ }, [grouped, searchQuery]);
79
+ // The QR-code row takes the slot at global row 0 when not searching.
80
+ // renderRange/viewportRange are in *global* row indices, so wallet entry i
81
+ // lives at global row (qrRowCount + i).
82
+ var qrRowCount = searchQuery ? 0 : 1;
83
+ var totalRows = walletEntries.length + qrRowCount;
84
+ /**
85
+ * Merges WalletConnectAppEntry (display info) with the actual WalletProvider
86
+ * and triggers selection. Disconnects any existing session first.
87
+ */
88
+ var selectApp = useCallback(/*#__PURE__*/function () {
89
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(targetApp) {
90
+ var provider, mergedProvider;
91
+ return _regenerator().w(function (_context) {
92
+ while (1) switch (_context.n) {
93
+ case 0:
94
+ provider = findWalletConnectProvider(walletProviders, targetApp.chain);
95
+ if (provider) {
96
+ _context.n = 1;
97
+ break;
98
+ }
99
+ // WalletConnect provider not ready - go back
100
+ popPage();
101
+ return _context.a(2);
102
+ case 1:
103
+ if (!(provider.connectedAddresses.length > 0)) {
104
+ _context.n = 2;
105
+ break;
106
+ }
107
+ _context.n = 2;
108
+ return disconnectWalletAccount(provider);
109
+ case 2:
110
+ // Merge app display info with the actual provider
111
+ mergedProvider = _objectSpread2(_objectSpread2({}, provider), {}, {
112
+ uri: targetApp.uri,
113
+ info: _objectSpread2(_objectSpread2({}, provider.info), {}, {
114
+ name: targetApp.name,
115
+ icon: targetApp.icon
116
+ })
117
+ });
118
+ _context.n = 3;
119
+ return onSelect(mergedProvider);
120
+ case 3:
121
+ return _context.a(2);
122
+ }
123
+ }, _callee);
124
+ }));
125
+ return function (_x) {
126
+ return _ref3.apply(this, arguments);
127
+ };
128
+ }(), [walletProviders, disconnectWalletAccount, onSelect, popPage]);
129
+ var handleSelectGroup = useCallback(function (group) {
130
+ if (group.length === 1) {
131
+ selectApp(group[0]);
132
+ } else {
133
+ pushPage({
134
+ key: "Select chain",
135
+ content: jsx(WalletConnectAppChainSelector, {
136
+ apps: group,
137
+ onSelect: selectApp
138
+ })
139
+ });
140
+ }
141
+ }, [selectApp, pushPage]);
142
+ var computeRange = useCallback(function (buffer) {
143
+ if (!scrollContainerRef.current) return null;
144
+ var _scrollContainerRef$c = scrollContainerRef.current,
145
+ scrollTop = _scrollContainerRef$c.scrollTop,
146
+ clientHeight = _scrollContainerRef$c.clientHeight;
147
+ return {
148
+ start: Math.max(0, Math.floor(scrollTop / ROW_STRIDE) - buffer),
149
+ end: Math.min(totalRows, Math.ceil((scrollTop + clientHeight) / ROW_STRIDE) + buffer)
150
+ };
151
+ }, [totalRows]);
152
+ var handleScroll = useDebouncedCallback(function () {
153
+ var next = computeRange(BUFFER_SIZE);
154
+ if (next) setRenderRange(function (prev) {
155
+ return sameRange(prev, next) ? prev : next;
156
+ });
157
+ }, 50);
158
+ var onScroll = useCallback(function () {
159
+ if (rafIdRef.current === null) {
160
+ rafIdRef.current = requestAnimationFrame(function () {
161
+ rafIdRef.current = null;
162
+ var next = computeRange(0);
163
+ if (next) setViewportRange(function (prev) {
164
+ return sameRange(prev, next) ? prev : next;
165
+ });
166
+ });
167
+ }
168
+ handleScroll();
169
+ }, [computeRange, handleScroll]);
170
+ useEffect(function () {
171
+ return function () {
172
+ if (rafIdRef.current !== null) {
173
+ cancelAnimationFrame(rafIdRef.current);
174
+ }
175
+ };
176
+ }, []);
177
+ // Reset scroll when search results change (or QR row toggles)
178
+ useEffect(function () {
179
+ var initial = {
180
+ start: 0,
181
+ end: Math.min(INITIAL_VISIBLE_ROWS, totalRows)
182
+ };
183
+ setRenderRange(initial);
184
+ setViewportRange(initial);
185
+ if (scrollContainerRef.current) {
186
+ scrollContainerRef.current.scrollTop = 0;
187
+ }
188
+ }, [totalRows]);
189
+ var debouncedSetSearch = useDebouncedCallback(function (value) {
190
+ return setSearchQuery(value);
191
+ }, 300);
192
+ // renderRange is in global row indices; subtract qrRowCount to slice walletEntries
193
+ var visibleItems = useMemo(function () {
194
+ var sliceStart = Math.max(0, renderRange.start - qrRowCount);
195
+ var sliceEnd = Math.max(0, renderRange.end - qrRowCount);
196
+ return walletEntries.slice(sliceStart, sliceEnd);
197
+ }, [walletEntries, renderRange, qrRowCount]);
198
+ var totalHeight = totalRows * ROW_STRIDE;
199
+ var offsetY = renderRange.start * ROW_STRIDE;
200
+ if (isLoadingApps) {
201
+ return jsx("div", {
202
+ className: "flex flex-col items-center py-5",
203
+ children: jsx(Spinner, {
204
+ strokeWidth: 2,
205
+ className: "w-12 h-12"
206
+ })
207
+ });
208
+ }
209
+ return jsxs("div", {
210
+ className: clsx("flex flex-col mt-10 gap-3", isMobile ? "w-full" : "w-80"),
211
+ children: [jsx(SearchInputBox, {
212
+ value: searchQuery,
213
+ onChange: debouncedSetSearch,
214
+ onClear: function onClear() {
215
+ return setSearchQuery("");
216
+ },
217
+ placeholder: "Search wallets..."
218
+ }), jsxs("div", {
219
+ ref: scrollContainerRef,
220
+ onScroll: onScroll,
221
+ className: clsx("min-h-42 overflow-y-auto tk-scrollbar p-0.5", isMobile ? "max-h-80" : "max-h-72"),
222
+ children: [jsxs("div", {
223
+ style: {
224
+ height: totalHeight,
225
+ position: "relative"
226
+ },
227
+ children: [jsx("div", {
228
+ style: {
229
+ transform: "translateY(".concat(viewportRange.start * ROW_STRIDE, "px)"),
230
+ position: "absolute",
231
+ width: "100%"
232
+ },
233
+ className: "flex flex-col gap-2",
234
+ "aria-hidden": "true",
235
+ children: Array.from({
236
+ length: Math.max(0, viewportRange.end - viewportRange.start)
237
+ }).map(function (_, i) {
238
+ return jsx(WalletButtonSkeleton, {}, "skeleton-".concat(viewportRange.start + i));
239
+ })
240
+ }), jsxs("div", {
241
+ style: {
242
+ transform: "translateY(".concat(offsetY, "px)"),
243
+ position: "absolute",
244
+ width: "100%"
245
+ },
246
+ className: "flex flex-col gap-2",
247
+ children: [qrRowCount > 0 && renderRange.start === 0 && jsx(WalletButton, {
248
+ icon: jsx("div", {
249
+ className: "flex items-center justify-center size-6 rounded-full text-icon-text-light dark:text-icon-text-dark bg-icon-background-light dark:bg-icon-background-dark",
250
+ children: jsx(FontAwesomeIcon, {
251
+ icon: faQrcode
252
+ })
253
+ }),
254
+ name: "Scan QR Code",
255
+ chains: [{
256
+ namespace: Chain.Ethereum,
257
+ isConnected: false
258
+ }, {
259
+ namespace: Chain.Solana,
260
+ isConnected: false
261
+ }],
262
+ onClick: onSelectQRCode,
263
+ isMobile: isMobile
264
+ }, "qr-code-walletconnect"), visibleItems.map(function (_ref4) {
265
+ var _first$icon, _first$name;
266
+ var _ref5 = _slicedToArray(_ref4, 2),
267
+ id = _ref5[0],
268
+ group = _ref5[1];
269
+ var first = group[0];
270
+ return jsx(WalletButton, {
271
+ icon: (_first$icon = first === null || first === void 0 ? void 0 : first.icon) !== null && _first$icon !== void 0 ? _first$icon : "",
272
+ name: (_first$name = first === null || first === void 0 ? void 0 : first.name) !== null && _first$name !== void 0 ? _first$name : "",
273
+ chains: group.map(function (app) {
274
+ return {
275
+ namespace: app.chain,
276
+ isConnected: false
277
+ };
278
+ }),
279
+ onClick: function onClick() {
280
+ return handleSelectGroup(group);
281
+ },
282
+ shouldShowDisconnect: false,
283
+ isMobile: isMobile
284
+ }, id);
285
+ })]
286
+ })]
287
+ }), searchQuery && walletEntries.length === 0 && jsxs("div", {
288
+ className: "flex items-center justify-center w-full h-40 text-center text-icon-text-light dark:text-icon-text-dark",
289
+ children: ["No wallets found matching \"", searchQuery, "\""]
290
+ })]
291
+ }), searchQuery && walletEntries.length > 0 && jsxs("div", {
292
+ className: "text-xs text-center text-icon-text-light dark:text-icon-text-dark",
293
+ children: ["Showing ", walletEntries.length, " wallet", walletEntries.length !== 1 ? "s" : ""]
294
+ })]
295
+ });
296
+ }
297
+
298
+ export { ShowAllWalletsScreen };
299
+ //# sourceMappingURL=ShowAllWalletsScreen.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowAllWalletsScreen.mjs","sources":["../../../../src/components/auth/wallet/ShowAllWalletsScreen.tsx"],"sourcesContent":[null],"names":["sameRange","a","b","start","end","ShowAllWalletsScreen","props","onSelect","onSelectQRCode","_useTurnkey","useTurnkey","walletProviders","disconnectWalletAccount","_useWalletConnect","useWalletConnect","walletConnectApps","isLoadingApps","_useModal","useModal","isMobile","pushPage","popPage","_useState","useState","_useState2","_slicedToArray","searchQuery","setSearchQuery","_useState3","INITIAL_VISIBLE_ROWS","_useState4","renderRange","setRenderRange","_useState5","_useState6","viewportRange","setViewportRange","scrollContainerRef","useRef","rafIdRef","grouped","useMemo","reduce","acc","app","id","push","walletEntries","entries","Object","trim","query","toLowerCase","filter","_ref","_group$0$name$toLower","_group$","_group$$name","_ref2","_","group","walletName","name","includes","qrRowCount","totalRows","length","selectApp","useCallback","_ref3","_asyncToGenerator","_regenerator","m","_callee","targetApp","provider","mergedProvider","w","_context","n","findWalletConnectProvider","chain","connectedAddresses","_objectSpread","uri","info","icon","_x","apply","arguments","handleSelectGroup","key","content","_jsx","WalletConnectAppChainSelector","apps","computeRange","buffer","current","_scrollContainerRef$c","scrollTop","clientHeight","Math","max","floor","ROW_STRIDE","min","ceil","handleScroll","useDebouncedCallback","next","BUFFER_SIZE","prev","onScroll","requestAnimationFrame","useEffect","cancelAnimationFrame","initial","debouncedSetSearch","value","visibleItems","sliceStart","sliceEnd","slice","totalHeight","offsetY","className","children","Spinner","strokeWidth","_jsxs","clsx","SearchInputBox","onChange","onClear","placeholder","ref","style","height","position","transform","concat","width","Array","from","map","i","WalletButtonSkeleton","WalletButton","FontAwesomeIcon","faQrcode","chains","namespace","Chain","Ethereum","isConnected","Solana","onClick","_ref4","_first$icon","_first$name","_ref5","first","shouldShowDisconnect"],"mappings":"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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;;;;"}