@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.
Files changed (169) 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/TurnkeyProvider.d.ts.map +1 -1
  120. package/dist/providers/TurnkeyProvider.js +2 -1
  121. package/dist/providers/TurnkeyProvider.js.map +1 -1
  122. package/dist/providers/TurnkeyProvider.mjs +4 -3
  123. package/dist/providers/TurnkeyProvider.mjs.map +1 -1
  124. package/dist/providers/WalletConnectProvider.d.ts +23 -0
  125. package/dist/providers/WalletConnectProvider.d.ts.map +1 -0
  126. package/dist/providers/WalletConnectProvider.js +72 -0
  127. package/dist/providers/WalletConnectProvider.js.map +1 -0
  128. package/dist/providers/WalletConnectProvider.mjs +93 -0
  129. package/dist/providers/WalletConnectProvider.mjs.map +1 -0
  130. package/dist/providers/client/Provider.d.ts.map +1 -1
  131. package/dist/providers/client/Provider.js +5 -2
  132. package/dist/providers/client/Provider.js.map +1 -1
  133. package/dist/providers/client/Provider.mjs +5 -2
  134. package/dist/providers/client/Provider.mjs.map +1 -1
  135. package/dist/providers/modal/Provider.d.ts +5 -1
  136. package/dist/providers/modal/Provider.d.ts.map +1 -1
  137. package/dist/providers/modal/Provider.js.map +1 -1
  138. package/dist/providers/modal/Provider.mjs.map +1 -1
  139. package/dist/providers/modal/Root.d.ts.map +1 -1
  140. package/dist/providers/modal/Root.js +2 -0
  141. package/dist/providers/modal/Root.js.map +1 -1
  142. package/dist/providers/modal/Root.mjs +2 -0
  143. package/dist/providers/modal/Root.mjs.map +1 -1
  144. package/dist/providers/theme/Overrides.d.ts +1 -0
  145. package/dist/providers/theme/Overrides.d.ts.map +1 -1
  146. package/dist/providers/theme/Overrides.js +3 -1
  147. package/dist/providers/theme/Overrides.js.map +1 -1
  148. package/dist/providers/theme/Overrides.mjs +3 -1
  149. package/dist/providers/theme/Overrides.mjs.map +1 -1
  150. package/dist/styles.css +1 -1
  151. package/dist/types/base.d.ts +8 -0
  152. package/dist/types/base.d.ts.map +1 -1
  153. package/dist/types/base.js +7 -0
  154. package/dist/types/base.js.map +1 -1
  155. package/dist/types/base.mjs +8 -1
  156. package/dist/types/base.mjs.map +1 -1
  157. package/dist/utils/utils.d.ts +2 -1
  158. package/dist/utils/utils.d.ts.map +1 -1
  159. package/dist/utils/utils.js +5 -0
  160. package/dist/utils/utils.js.map +1 -1
  161. package/dist/utils/utils.mjs +7 -1
  162. package/dist/utils/utils.mjs.map +1 -1
  163. package/package.json +5 -5
  164. package/dist/components/auth/Wallet.d.ts +0 -34
  165. package/dist/components/auth/Wallet.d.ts.map +0 -1
  166. package/dist/components/auth/Wallet.js +0 -514
  167. package/dist/components/auth/Wallet.js.map +0 -1
  168. package/dist/components/auth/Wallet.mjs +0 -615
  169. package/dist/components/auth/Wallet.mjs.map +0 -1
@@ -0,0 +1,251 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../../_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { jsx, jsxs } from 'react/jsx-runtime';
3
+ import { ActionButton } from '../../design/Buttons.mjs';
4
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
5
+ import { faQrcode, faArrowUpRightFromSquare } from '@fortawesome/free-solid-svg-icons';
6
+ import { useRef, useState, useEffect } from 'react';
7
+ import clsx from 'clsx';
8
+ import { SuccessPage } from '../../design/Success.mjs';
9
+ import { useModal } from '../../../providers/modal/Hook.mjs';
10
+ import { useTurnkey } from '../../../providers/client/Hook.mjs';
11
+ import { findWalletConnectProvider, useDebouncedCallback } from '../../../utils/utils.mjs';
12
+ import { ActionPage } from '../Action.mjs';
13
+
14
+ function MobileWalletConnectScreen(props) {
15
+ var _targetApp$info$name, _targetApp$info$name2;
16
+ var targetApp = props.provider,
17
+ onConnect = props.onConnect,
18
+ onSign = props.onSign,
19
+ onSelectQRCode = props.onSelectQRCode,
20
+ successPageDuration = props.successPageDuration;
21
+ var _useModal = useModal(),
22
+ pushPage = _useModal.pushPage,
23
+ popPages = _useModal.popPages,
24
+ closeModal = _useModal.closeModal,
25
+ isMobile = _useModal.isMobile;
26
+ var _useTurnkey = useTurnkey(),
27
+ walletProviders = _useTurnkey.walletProviders;
28
+ var latestProviderRef = useRef(null);
29
+ var _useState = useState(false),
30
+ _useState2 = _slicedToArray(_useState, 2),
31
+ isConnecting = _useState2[0],
32
+ setIsConnecting = _useState2[1];
33
+ var _useState3 = useState(false),
34
+ _useState4 = _slicedToArray(_useState3, 2),
35
+ canSign = _useState4[0],
36
+ setCanSign = _useState4[1];
37
+ var _useState5 = useState(false),
38
+ _useState6 = _slicedToArray(_useState5, 2),
39
+ completed = _useState6[0],
40
+ setCompleted = _useState6[1];
41
+ var _useState7 = useState(isMobile),
42
+ _useState8 = _slicedToArray(_useState7, 2),
43
+ shouldStartConnecting = _useState8[0],
44
+ setShouldStartConnecting = _useState8[1];
45
+ // Find the current WalletConnect provider state
46
+ var walletConnectProvider = findWalletConnectProvider(walletProviders, targetApp.chainInfo.namespace);
47
+ // if provider is not found then that means that the user entered this screen
48
+ // while WalletConnect was still initializing, and then it failed to initialize
49
+ useEffect(function () {
50
+ if (!walletConnectProvider) {
51
+ // we have to go back two pages here since thats the screen
52
+ // we get wallet providers from state
53
+ popPages(2);
54
+ }
55
+ }, [walletConnectProvider, popPages]);
56
+ // Initial connection effect
57
+ useEffect(function () {
58
+ if (!shouldStartConnecting) return;
59
+ if (walletConnectProvider) {
60
+ latestProviderRef.current = walletConnectProvider;
61
+ // we don't try to connect if WalletConnect is still initializing or we are already connecting
62
+ if (!isConnecting && !walletConnectProvider.isLoading) {
63
+ if (walletConnectProvider.connectedAddresses.length > 0) {
64
+ // Connection already established. Try to connect if possible
65
+ if (onSign) {
66
+ setCanSign(true);
67
+ } else {
68
+ setCompleted(true);
69
+ }
70
+ } else {
71
+ var _latestProviderRef$cu, _latestProviderRef$cu2;
72
+ // Start connection flow
73
+ setCanSign(false);
74
+ handleOpenApp("wc?uri=".concat(encodeURIComponent((_latestProviderRef$cu = latestProviderRef === null || latestProviderRef === void 0 ? void 0 : (_latestProviderRef$cu2 = latestProviderRef.current) === null || _latestProviderRef$cu2 === void 0 ? void 0 : _latestProviderRef$cu2.uri) !== null && _latestProviderRef$cu !== void 0 ? _latestProviderRef$cu : "")));
75
+ runConnectAction(walletConnectProvider);
76
+ }
77
+ }
78
+ }
79
+ }, [walletConnectProvider, shouldStartConnecting]);
80
+ // Handle the connection action - uses the ref to get latest provider
81
+ var runConnectAction = useDebouncedCallback(/*#__PURE__*/function () {
82
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(targetProvider) {
83
+ return _regenerator().w(function (_context) {
84
+ while (1) switch (_context.p = _context.n) {
85
+ case 0:
86
+ setIsConnecting(true);
87
+ _context.p = 1;
88
+ _context.n = 2;
89
+ return onConnect(targetProvider);
90
+ case 2:
91
+ if (onSign) {
92
+ setCanSign(true);
93
+ } else {
94
+ // Skip signing step if no signature is required (Connect only, not signup/login)
95
+ setCompleted(true);
96
+ }
97
+ _context.n = 4;
98
+ break;
99
+ case 3:
100
+ _context.p = 3;
101
+ _context.v;
102
+ case 4:
103
+ _context.p = 4;
104
+ setIsConnecting(false);
105
+ return _context.f(4);
106
+ case 5:
107
+ return _context.a(2);
108
+ }
109
+ }, _callee, null, [[1, 3, 4, 5]]);
110
+ }));
111
+ return function (_x) {
112
+ return _ref.apply(this, arguments);
113
+ };
114
+ }(), 100);
115
+ // Handle the sign action - uses the ref to get latest provider
116
+ var runSignAction = useDebouncedCallback(/*#__PURE__*/function () {
117
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(targetProvider) {
118
+ return _regenerator().w(function (_context2) {
119
+ while (1) switch (_context2.p = _context2.n) {
120
+ case 0:
121
+ setIsConnecting(true);
122
+ _context2.p = 1;
123
+ _context2.n = 2;
124
+ return onSign(targetProvider);
125
+ case 2:
126
+ setCompleted(true);
127
+ _context2.n = 4;
128
+ break;
129
+ case 3:
130
+ _context2.p = 3;
131
+ _context2.v;
132
+ case 4:
133
+ _context2.p = 4;
134
+ setIsConnecting(false);
135
+ return _context2.f(4);
136
+ case 5:
137
+ return _context2.a(2);
138
+ }
139
+ }, _callee2, null, [[1, 3, 4, 5]]);
140
+ }));
141
+ return function (_x2) {
142
+ return _ref2.apply(this, arguments);
143
+ };
144
+ }(), 100);
145
+ var handleOpenApp = function handleOpenApp(linkParams) {
146
+ var link = "".concat(targetApp.uri).concat(linkParams ? "".concat(linkParams) : "");
147
+ window.location.href = link;
148
+ };
149
+ useEffect(function () {
150
+ if (completed) {
151
+ pushPage({
152
+ key: "Connect Success",
153
+ content: jsx(SuccessPage, {
154
+ text: "Successfully connected to WalletConnect!",
155
+ onComplete: closeModal,
156
+ duration: successPageDuration
157
+ }),
158
+ preventBack: true,
159
+ showTitle: false
160
+ });
161
+ }
162
+ }, [completed]);
163
+ return jsx("div", {
164
+ className: clsx("flex flex-col items-center justify-center py-5 text-center", isMobile ? "w-full" : "w-auto"),
165
+ children: !shouldStartConnecting ? jsxs("div", {
166
+ className: clsx("flex flex-col gap-4 mt-6 items-center justify-center", isMobile ? "w-full" : "w-96"),
167
+ children: [jsx("img", {
168
+ src: targetApp.info.icon,
169
+ className: "size-14 rounded-full"
170
+ }), jsxs("span", {
171
+ className: "text-sm text-center text-icon-text-light dark:text-icon-text-dark",
172
+ children: ["You can connect", " ", (_targetApp$info$name = targetApp.info.name) !== null && _targetApp$info$name !== void 0 ? _targetApp$info$name : "this wallet provider", " using your mobile device. Open this page on your mobile device to continue or scan the QR code with your wallet app."]
173
+ }), jsxs("span", {
174
+ className: "text-sm text-center text-icon-text-light dark:text-icon-text-dark",
175
+ children: ["Already on mobile?", " ", jsxs("span", {
176
+ className: "text-primary-light dark:text-primary-dark cursor-pointer underline",
177
+ onClick: function onClick() {
178
+ return setShouldStartConnecting(true);
179
+ },
180
+ children: ["Try opening ", targetApp.info.name, " anyways."]
181
+ })]
182
+ }), jsx(ActionButton, {
183
+ onClick: function onClick() {
184
+ return (
185
+ // At this point, the user already selected the chian. So we can pass it in to redirect directly to the QR code for that chain
186
+ onSelectQRCode(targetApp.chainInfo.namespace)
187
+ );
188
+ },
189
+ className: "w-full text-inherit bg-button-light dark:bg-button-dark",
190
+ children: jsxs("div", {
191
+ className: "flex flex-row w-full justify-center items-center gap-2",
192
+ children: ["Scan QR code", jsx(FontAwesomeIcon, {
193
+ icon: faQrcode,
194
+ size: "lg",
195
+ className: "text-icon-text-light dark:text-icon-text-dark"
196
+ })]
197
+ })
198
+ })]
199
+ }) : canSign ? jsxs("div", {
200
+ className: clsx("flex flex-col gap-4 mt-6 items-center justify-center", isMobile ? "w-full" : "w-72"),
201
+ children: [jsx("img", {
202
+ src: targetApp.info.icon,
203
+ className: "size-14 rounded-full"
204
+ }), jsxs("span", {
205
+ className: "text-sm text-center text-icon-text-light dark:text-icon-text-dark",
206
+ children: [(_targetApp$info$name2 = targetApp.info.name) !== null && _targetApp$info$name2 !== void 0 ? _targetApp$info$name2 : "This wallet provider", " is connected! Please sign the login request using the app to continue."]
207
+ }), jsx(ActionButton, {
208
+ onClick: function onClick() {
209
+ handleOpenApp();
210
+ runSignAction(latestProviderRef.current);
211
+ },
212
+ loading: isConnecting,
213
+ loadingText: "Check the app...",
214
+ className: "w-full text-inherit bg-button-light dark:bg-button-dark",
215
+ children: jsxs("div", {
216
+ className: "flex flex-row w-full justify-center items-center gap-1.5",
217
+ children: ["Sign login request", jsx(FontAwesomeIcon, {
218
+ icon: faArrowUpRightFromSquare,
219
+ size: "sm",
220
+ className: "text-icon-text-light dark:text-icon-text-dark"
221
+ })]
222
+ })
223
+ })]
224
+ }) : jsxs("div", {
225
+ className: "flex flex-col",
226
+ children: [jsx(ActionPage
227
+ // Run the action from a separate useEffect. No need to pass it here
228
+ , {
229
+ // Run the action from a separate useEffect. No need to pass it here
230
+ title: "Connecting to ".concat(targetApp.info.name),
231
+ icon: jsx("img", {
232
+ className: "size-11 rounded-full",
233
+ src: targetApp.info.icon || ""
234
+ })
235
+ }), jsxs("div", {
236
+ className: "text-icon-text-light text-sm dark:text-icon-text-dark text-center !p-0",
237
+ children: ["App not opening? Please ensure you have ", targetApp.info.name, " ", "installed or", " ", jsxs("span", {
238
+ className: "text-primary-light dark:text-primary-dark cursor-pointer underline",
239
+ onClick: function onClick() {
240
+ var _latestProviderRef$cu3, _latestProviderRef$cu4;
241
+ handleOpenApp("wc?uri=".concat(encodeURIComponent((_latestProviderRef$cu3 = latestProviderRef === null || latestProviderRef === void 0 ? void 0 : (_latestProviderRef$cu4 = latestProviderRef.current) === null || _latestProviderRef$cu4 === void 0 ? void 0 : _latestProviderRef$cu4.uri) !== null && _latestProviderRef$cu3 !== void 0 ? _latestProviderRef$cu3 : "")));
242
+ },
243
+ children: ["try opening ", targetApp.info.name, " again."]
244
+ })]
245
+ })]
246
+ })
247
+ });
248
+ }
249
+
250
+ export { MobileWalletConnectScreen };
251
+ //# sourceMappingURL=MobileWalletConnectScreen.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MobileWalletConnectScreen.mjs","sources":["../../../../src/components/auth/wallet/MobileWalletConnectScreen.tsx"],"sourcesContent":[null],"names":["MobileWalletConnectScreen","props","_targetApp$info$name","_targetApp$info$name2","targetApp","provider","onConnect","onSign","onSelectQRCode","successPageDuration","_useModal","useModal","pushPage","popPages","closeModal","isMobile","_useTurnkey","useTurnkey","walletProviders","latestProviderRef","useRef","_useState","useState","_useState2","_slicedToArray","isConnecting","setIsConnecting","_useState3","_useState4","canSign","setCanSign","_useState5","_useState6","completed","setCompleted","_useState7","_useState8","shouldStartConnecting","setShouldStartConnecting","walletConnectProvider","findWalletConnectProvider","chainInfo","namespace","useEffect","current","isLoading","connectedAddresses","length","_latestProviderRef$cu","_latestProviderRef$cu2","handleOpenApp","concat","encodeURIComponent","uri","runConnectAction","useDebouncedCallback","_ref","_asyncToGenerator","_regenerator","m","_callee","targetProvider","w","_context","p","n","v","f","a","_x","apply","arguments","runSignAction","_ref2","_callee2","_context2","_x2","linkParams","link","window","location","href","key","content","_jsx","SuccessPage","text","onComplete","duration","preventBack","showTitle","className","clsx","children","_jsxs","src","info","icon","name","onClick","ActionButton","FontAwesomeIcon","faQrcode","size","loading","loadingText","faArrowUpRightFromSquare","ActionPage","title","_latestProviderRef$cu3","_latestProviderRef$cu4"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface QRCodeDisplayProps {
2
+ uri: string;
3
+ icon: string;
4
+ isLoading?: boolean;
5
+ }
6
+ export declare function QRCodeDisplay(props: QRCodeDisplayProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=QRCodeDisplay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QRCodeDisplay.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/wallet/QRCodeDisplay.tsx"],"names":[],"mappings":"AAIA,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CA4BtD"}
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var Spinners = require('../../design/Spinners.js');
5
+ var clsx = require('clsx');
6
+ var qrcode_react = require('qrcode.react');
7
+
8
+ function QRCodeDisplay(props) {
9
+ const {
10
+ uri,
11
+ icon,
12
+ isLoading
13
+ } = props;
14
+ return jsxRuntime.jsxs("div", {
15
+ className: "relative inline-block",
16
+ children: [jsxRuntime.jsx(qrcode_react.QRCodeSVG, {
17
+ className: clsx("block border border-modal-background-dark/20 dark:border-modal-background-light/20", "shadow-[0_0_42px] shadow-primary-light/50 dark:shadow-[0_0_42px] dark:shadow-primary-dark/50", isLoading && "blur-sm"),
18
+ value: uri,
19
+ imageSettings: {
20
+ src: icon,
21
+ width: 24,
22
+ height: 24,
23
+ excavate: true
24
+ },
25
+ size: 200
26
+ }), isLoading && jsxRuntime.jsx("div", {
27
+ className: "absolute inset-0 flex items-center justify-center",
28
+ children: jsxRuntime.jsx(Spinners.Spinner, {
29
+ className: "size-12",
30
+ strokeWidth: 2
31
+ })
32
+ })]
33
+ });
34
+ }
35
+
36
+ exports.QRCodeDisplay = QRCodeDisplay;
37
+ //# sourceMappingURL=QRCodeDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QRCodeDisplay.js","sources":["../../../../src/components/auth/wallet/QRCodeDisplay.tsx"],"sourcesContent":[null],"names":["QRCodeDisplay","props","uri","icon","isLoading","_jsxs","className","children","_jsx","QRCode","clsx","value","imageSettings","src","width","height","excavate","size","Spinner","strokeWidth"],"mappings":";;;;;;;AAUM,SAAUA,aAAaA,CAACC,KAAyB,EAAA;EACrD,MAAM;IAAEC,GAAG;IAAEC,IAAI;AAAEC,IAAAA;AAAS,GAAE,GAAGH,KAAK;EAEtC,OACEI,eAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,uBAAuB;AAAAC,IAAAA,QAAA,EAAA,CAEpCC,cAAA,CAACC,sBAAM,EAAA;MACLH,SAAS,EAAEI,IAAI,CACb,oFAAoF,EACpF,8FAA8F,EAC9FN,SAAS,IAAI,SAAS,CACvB;AACDO,MAAAA,KAAK,EAAET,GAAG;AACVU,MAAAA,aAAa,EAAE;AACbC,QAAAA,GAAG,EAAEV,IAAI;AACTW,QAAAA,KAAK,EAAE,EAAE;AACTC,QAAAA,MAAM,EAAE,EAAE;AACVC,QAAAA,QAAQ,EAAE;OACX;AACDC,MAAAA,IAAI,EAAE;AAAG,KAAA,CACT,EACDb,SAAS,IACRI,cAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,mDAAmD;AAAAC,MAAAA,QAAA,EAChEC,cAAA,CAACU,gBAAO,EAAA;AAACZ,QAAAA,SAAS,EAAC,SAAS;AAACa,QAAAA,WAAW,EAAE;OAAC;AAAI,KAAA,CAElD;AAAA,GAAA,CACG;AAEV;;;;"}
@@ -0,0 +1,33 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { Spinner } from '../../design/Spinners.mjs';
3
+ import clsx from 'clsx';
4
+ import { QRCodeSVG } from 'qrcode.react';
5
+
6
+ function QRCodeDisplay(props) {
7
+ var uri = props.uri,
8
+ icon = props.icon,
9
+ isLoading = props.isLoading;
10
+ return jsxs("div", {
11
+ className: "relative inline-block",
12
+ children: [jsx(QRCodeSVG, {
13
+ className: clsx("block border border-modal-background-dark/20 dark:border-modal-background-light/20", "shadow-[0_0_42px] shadow-primary-light/50 dark:shadow-[0_0_42px] dark:shadow-primary-dark/50", isLoading && "blur-sm"),
14
+ value: uri,
15
+ imageSettings: {
16
+ src: icon,
17
+ width: 24,
18
+ height: 24,
19
+ excavate: true
20
+ },
21
+ size: 200
22
+ }), isLoading && jsx("div", {
23
+ className: "absolute inset-0 flex items-center justify-center",
24
+ children: jsx(Spinner, {
25
+ className: "size-12",
26
+ strokeWidth: 2
27
+ })
28
+ })]
29
+ });
30
+ }
31
+
32
+ export { QRCodeDisplay };
33
+ //# sourceMappingURL=QRCodeDisplay.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QRCodeDisplay.mjs","sources":["../../../../src/components/auth/wallet/QRCodeDisplay.tsx"],"sourcesContent":[null],"names":["QRCodeDisplay","props","uri","icon","isLoading","_jsxs","className","children","_jsx","QRCode","clsx","value","imageSettings","src","width","height","excavate","size","Spinner","strokeWidth"],"mappings":";;;;;AAUM,SAAUA,aAAaA,CAACC,KAAyB,EAAA;AACrD,EAAA,IAAQC,GAAG,GAAsBD,KAAK,CAA9BC,GAAG;IAAEC,IAAI,GAAgBF,KAAK,CAAzBE,IAAI;IAAEC,SAAS,GAAKH,KAAK,CAAnBG,SAAS;EAE5B,OACEC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,uBAAuB;AAAAC,IAAAA,QAAA,EAAA,CAEpCC,GAAA,CAACC,SAAM,EAAA;MACLH,SAAS,EAAEI,IAAI,CACb,oFAAoF,EACpF,8FAA8F,EAC9FN,SAAS,IAAI,SAAS,CACvB;AACDO,MAAAA,KAAK,EAAET,GAAG;AACVU,MAAAA,aAAa,EAAE;AACbC,QAAAA,GAAG,EAAEV,IAAI;AACTW,QAAAA,KAAK,EAAE,EAAE;AACTC,QAAAA,MAAM,EAAE,EAAE;AACVC,QAAAA,QAAQ,EAAE;OACX;AACDC,MAAAA,IAAI,EAAE;AAAG,KAAA,CACT,EACDb,SAAS,IACRI,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,mDAAmD;AAAAC,MAAAA,QAAA,EAChEC,GAAA,CAACU,OAAO,EAAA;AAACZ,QAAAA,SAAS,EAAC,SAAS;AAACa,QAAAA,WAAW,EAAE;OAAC;AAAI,KAAA,CAElD;AAAA,GAAA,CACG;AAEV;;;;"}
@@ -0,0 +1,8 @@
1
+ import { type WalletProvider } from "@turnkey/core";
2
+ interface ShowAllWalletsScreenProps {
3
+ onSelect: (provider: WalletProvider) => Promise<void>;
4
+ onSelectQRCode: () => Promise<void>;
5
+ }
6
+ export declare function ShowAllWalletsScreen(props: ShowAllWalletsScreenProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=ShowAllWalletsScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShowAllWalletsScreen.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/wallet/ShowAllWalletsScreen.tsx"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAoBvB,UAAU,yBAAyB;IACjC,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,2CAoSpE"}
@@ -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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"}