@lifi/widget 3.7.0-beta.7 → 3.7.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 (328) hide show
  1. package/AppProvider.tsx +6 -4
  2. package/AppRoutes.tsx +14 -2
  3. package/CHANGELOG.md +22 -0
  4. package/_esm/AppProvider.js +3 -2
  5. package/_esm/AppProvider.js.map +1 -1
  6. package/_esm/AppRoutes.js +9 -2
  7. package/_esm/AppRoutes.js.map +1 -1
  8. package/_esm/components/ActiveTransactions/ActiveTransactions.style.js +1 -1
  9. package/_esm/components/ActiveTransactions/ActiveTransactions.style.js.map +1 -1
  10. package/_esm/components/AmountInput/AmountInputEndAdornment.js +3 -1
  11. package/_esm/components/AmountInput/AmountInputEndAdornment.js.map +1 -1
  12. package/_esm/components/AppContainer.js +10 -5
  13. package/_esm/components/AppContainer.js.map +1 -1
  14. package/_esm/components/Avatar/AccountAvatar.d.ts +1 -1
  15. package/_esm/components/Avatar/AccountAvatar.js +1 -1
  16. package/_esm/components/Avatar/AccountAvatar.js.map +1 -1
  17. package/_esm/components/Avatar/Avatar.d.ts +0 -1
  18. package/_esm/components/Avatar/Avatar.js +4 -7
  19. package/_esm/components/Avatar/Avatar.js.map +1 -1
  20. package/_esm/components/Avatar/Avatar.style.d.ts +3 -6
  21. package/_esm/components/Avatar/Avatar.style.js +6 -19
  22. package/_esm/components/Avatar/Avatar.style.js.map +1 -1
  23. package/_esm/components/Avatar/TokenAvatar.js +1 -1
  24. package/_esm/components/Avatar/TokenAvatar.js.map +1 -1
  25. package/_esm/components/BaseTransactionButton/BaseTransactionButton.js +5 -3
  26. package/_esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
  27. package/_esm/components/ChainSelect/useChainSelect.js +1 -5
  28. package/_esm/components/ChainSelect/useChainSelect.js.map +1 -1
  29. package/_esm/components/FeeBreakdownTooltip.js +1 -4
  30. package/_esm/components/FeeBreakdownTooltip.js.map +1 -1
  31. package/_esm/components/FullPageContainer.d.ts +2 -0
  32. package/_esm/components/FullPageContainer.js +9 -0
  33. package/_esm/components/FullPageContainer.js.map +1 -0
  34. package/_esm/components/Header/EVMDisconnectIconButton.d.ts +4 -0
  35. package/_esm/components/Header/EVMDisconnectIconButton.js +12 -0
  36. package/_esm/components/Header/EVMDisconnectIconButton.js.map +1 -0
  37. package/_esm/components/Header/Header.js +23 -3
  38. package/_esm/components/Header/Header.js.map +1 -1
  39. package/_esm/components/Header/NavigationHeader.js +1 -1
  40. package/_esm/components/Header/NavigationHeader.js.map +1 -1
  41. package/_esm/components/Header/SVMDisconnectIconButton.d.ts +1 -0
  42. package/_esm/components/Header/SVMDisconnectIconButton.js +12 -0
  43. package/_esm/components/Header/SVMDisconnectIconButton.js.map +1 -0
  44. package/_esm/components/Header/WalletHeader.js +9 -5
  45. package/_esm/components/Header/WalletHeader.js.map +1 -1
  46. package/_esm/components/Header/WalletMenu.js +18 -10
  47. package/_esm/components/Header/WalletMenu.js.map +1 -1
  48. package/_esm/components/Header/WalletMenu.style.js +1 -5
  49. package/_esm/components/Header/WalletMenu.style.js.map +1 -1
  50. package/_esm/components/PageContainer.d.ts +2 -1
  51. package/_esm/components/PageContainer.js.map +1 -1
  52. package/_esm/components/PageEntered.d.ts +1 -0
  53. package/_esm/components/PageEntered.js +13 -0
  54. package/_esm/components/PageEntered.js.map +1 -0
  55. package/_esm/components/Routes/RoutesExpanded.js +1 -1
  56. package/_esm/components/Routes/RoutesExpanded.js.map +1 -1
  57. package/_esm/components/Search/SearchInput.d.ts +11 -0
  58. package/_esm/components/Search/SearchInput.js +21 -0
  59. package/_esm/components/Search/SearchInput.js.map +1 -0
  60. package/_esm/components/Search/SearchInput.style.d.ts +12 -0
  61. package/_esm/components/Search/SearchInput.style.js +38 -0
  62. package/_esm/components/Search/SearchInput.style.js.map +1 -0
  63. package/_esm/components/Search/SearchNotFound.d.ts +6 -0
  64. package/_esm/components/Search/SearchNotFound.js +5 -0
  65. package/_esm/components/Search/SearchNotFound.js.map +1 -0
  66. package/_esm/components/Search/SearchNotFound.style.d.ts +14 -0
  67. package/_esm/components/Search/SearchNotFound.style.js +29 -0
  68. package/_esm/components/Search/SearchNotFound.style.js.map +1 -0
  69. package/_esm/components/SendToWallet/SendToWalletButton.js +1 -1
  70. package/_esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
  71. package/_esm/components/Skeleton/WidgetSkeleton.js +3 -4
  72. package/_esm/components/Skeleton/WidgetSkeleton.js.map +1 -1
  73. package/_esm/components/Skeleton/WidgetSkeleton.style.d.ts +3 -0
  74. package/_esm/components/Skeleton/WidgetSkeleton.style.js +20 -1
  75. package/_esm/components/Skeleton/WidgetSkeleton.style.js.map +1 -1
  76. package/_esm/components/SmallAvatar.d.ts +10 -0
  77. package/_esm/components/SmallAvatar.js +19 -0
  78. package/_esm/components/SmallAvatar.js.map +1 -0
  79. package/_esm/components/StepActions/StepActions.js +1 -1
  80. package/_esm/components/StepActions/StepActions.js.map +1 -1
  81. package/_esm/components/Tabs/Tabs.style.d.ts +1 -1
  82. package/_esm/components/Token/Token.js +1 -1
  83. package/_esm/components/Token/Token.js.map +1 -1
  84. package/_esm/components/TokenList/TokenList.js +2 -5
  85. package/_esm/components/TokenList/TokenList.js.map +1 -1
  86. package/_esm/components/TokenList/TokenListItem.js +5 -11
  87. package/_esm/components/TokenList/TokenListItem.js.map +1 -1
  88. package/_esm/components/TokenList/TokenNotFound.js +5 -13
  89. package/_esm/components/TokenList/TokenNotFound.js.map +1 -1
  90. package/_esm/components/TokenList/VirtualizedTokenList.js +1 -1
  91. package/_esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
  92. package/_esm/components/TokenList/types.d.ts +3 -3
  93. package/_esm/components/TokenRate/TokenRate.js +2 -2
  94. package/_esm/components/TokenRate/TokenRate.js.map +1 -1
  95. package/_esm/config/version.d.ts +1 -1
  96. package/_esm/config/version.js +1 -1
  97. package/_esm/config/version.js.map +1 -1
  98. package/_esm/hooks/useAccount.d.ts +45 -0
  99. package/_esm/hooks/useAccount.js +56 -0
  100. package/_esm/hooks/useAccount.js.map +1 -0
  101. package/_esm/hooks/useAvailableChains.d.ts +1 -2
  102. package/_esm/hooks/useAvailableChains.js +8 -9
  103. package/_esm/hooks/useAvailableChains.js.map +1 -1
  104. package/_esm/hooks/useChains.d.ts +3 -4
  105. package/_esm/hooks/useChains.js +3 -5
  106. package/_esm/hooks/useChains.js.map +1 -1
  107. package/_esm/hooks/useFromTokenSufficiency.js +1 -1
  108. package/_esm/hooks/useFromTokenSufficiency.js.map +1 -1
  109. package/_esm/hooks/useGasSufficiency.js +3 -3
  110. package/_esm/hooks/useGasSufficiency.js.map +1 -1
  111. package/_esm/hooks/useProcessMessage.js +0 -4
  112. package/_esm/hooks/useProcessMessage.js.map +1 -1
  113. package/_esm/hooks/useRouteExecution.js +1 -1
  114. package/_esm/hooks/useRouteExecution.js.map +1 -1
  115. package/_esm/hooks/useRoutes.js +3 -2
  116. package/_esm/hooks/useRoutes.js.map +1 -1
  117. package/_esm/hooks/useScrollableContainer.d.ts +0 -1
  118. package/_esm/hooks/useScrollableContainer.js +1 -2
  119. package/_esm/hooks/useScrollableContainer.js.map +1 -1
  120. package/_esm/hooks/useSetContentHeight.js +9 -6
  121. package/_esm/hooks/useSetContentHeight.js.map +1 -1
  122. package/_esm/hooks/useTokenBalance.js +1 -1
  123. package/_esm/hooks/useTokenBalance.js.map +1 -1
  124. package/_esm/hooks/useTokenBalances.js +1 -1
  125. package/_esm/hooks/useTokenBalances.js.map +1 -1
  126. package/_esm/hooks/useTokens.js +1 -1
  127. package/_esm/hooks/useTokens.js.map +1 -1
  128. package/_esm/hooks/useTransactionDetails.js +1 -1
  129. package/_esm/hooks/useTransactionDetails.js.map +1 -1
  130. package/_esm/hooks/useTransactionHistory.js +1 -1
  131. package/_esm/hooks/useTransactionHistory.js.map +1 -1
  132. package/_esm/hooks/useWallets.d.ts +6 -0
  133. package/_esm/hooks/useWallets.js +80 -0
  134. package/_esm/hooks/useWallets.js.map +1 -0
  135. package/_esm/i18n/en.json +11 -4
  136. package/_esm/index.d.ts +2 -0
  137. package/_esm/index.js +2 -0
  138. package/_esm/index.js.map +1 -1
  139. package/_esm/pages/RoutesPage/RoutesPage.js +1 -1
  140. package/_esm/pages/RoutesPage/RoutesPage.js.map +1 -1
  141. package/_esm/pages/SelectChainPage/SelectChainPage.js +27 -8
  142. package/_esm/pages/SelectChainPage/SelectChainPage.js.map +1 -1
  143. package/_esm/pages/SelectEnabledToolsPage.js +38 -16
  144. package/_esm/pages/SelectEnabledToolsPage.js.map +1 -1
  145. package/_esm/pages/SelectTokenPage/SearchTokenInput.js +2 -12
  146. package/_esm/pages/SelectTokenPage/SearchTokenInput.js.map +1 -1
  147. package/_esm/pages/SelectTokenPage/SelectTokenPage.js +2 -2
  148. package/_esm/pages/SelectTokenPage/SelectTokenPage.js.map +1 -1
  149. package/_esm/pages/SelectTokenPage/useTokenListHeight.js +8 -14
  150. package/_esm/pages/SelectTokenPage/useTokenListHeight.js.map +1 -1
  151. package/_esm/pages/SelectWalletPage/EVMListItemButton.d.ts +9 -0
  152. package/_esm/pages/SelectWalletPage/EVMListItemButton.js +39 -0
  153. package/_esm/pages/SelectWalletPage/EVMListItemButton.js.map +1 -0
  154. package/_esm/pages/SelectWalletPage/SVMListItemButton.d.ts +6 -0
  155. package/_esm/pages/SelectWalletPage/SVMListItemButton.js +32 -0
  156. package/_esm/pages/SelectWalletPage/SVMListItemButton.js.map +1 -0
  157. package/_esm/pages/SelectWalletPage/SelectWalletPage.d.ts +1 -0
  158. package/_esm/pages/SelectWalletPage/SelectWalletPage.js +41 -0
  159. package/_esm/pages/SelectWalletPage/SelectWalletPage.js.map +1 -0
  160. package/_esm/pages/SendToWallet/ConnectedWalletsPage.js +1 -1
  161. package/_esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -1
  162. package/_esm/pages/SendToWallet/SendToWalletPage.js +1 -1
  163. package/_esm/pages/SendToWallet/SendToWalletPage.js.map +1 -1
  164. package/_esm/pages/TransactionPage/StatusBottomSheet.js +5 -5
  165. package/_esm/pages/TransactionPage/StatusBottomSheet.js.map +1 -1
  166. package/_esm/providers/I18nProvider/types.d.ts +2 -2
  167. package/_esm/providers/WalletProvider/SDKProviders.js +7 -15
  168. package/_esm/providers/WalletProvider/SDKProviders.js.map +1 -1
  169. package/_esm/providers/WalletProvider/WalletProvider.d.ts +0 -1
  170. package/_esm/providers/WalletProvider/WalletProvider.js +1 -14
  171. package/_esm/providers/WalletProvider/WalletProvider.js.map +1 -1
  172. package/_esm/providers/WalletProvider/useHasExternalWalletProvider.d.ts +1 -1
  173. package/_esm/providers/WalletProvider/useHasExternalWalletProvider.js +3 -8
  174. package/_esm/providers/WalletProvider/useHasExternalWalletProvider.js.map +1 -1
  175. package/_esm/providers/WidgetProvider/WidgetProvider.js +1 -2
  176. package/_esm/providers/WidgetProvider/WidgetProvider.js.map +1 -1
  177. package/_esm/providers/WidgetProvider/types.d.ts +2 -0
  178. package/_esm/stores/form/FormUpdater.js +1 -1
  179. package/_esm/stores/form/FormUpdater.js.map +1 -1
  180. package/_esm/stores/form/types.d.ts +4 -4
  181. package/_esm/stores/header/types.d.ts +2 -0
  182. package/_esm/stores/header/useHeaderStore.d.ts +7 -1
  183. package/_esm/stores/header/useHeaderStore.js +26 -2
  184. package/_esm/stores/header/useHeaderStore.js.map +1 -1
  185. package/_esm/stores/routes/useExecutingRoutesIds.js +1 -1
  186. package/_esm/stores/routes/useExecutingRoutesIds.js.map +1 -1
  187. package/_esm/stores/settings/types.d.ts +1 -1
  188. package/_esm/stores/settings/useSettingsStore.js +22 -9
  189. package/_esm/stores/settings/useSettingsStore.js.map +1 -1
  190. package/_esm/themes/createTheme.js +1 -2
  191. package/_esm/themes/createTheme.js.map +1 -1
  192. package/_esm/types/events.d.ts +6 -6
  193. package/_esm/types/events.js +3 -2
  194. package/_esm/types/events.js.map +1 -1
  195. package/_esm/utils/chainType.js +3 -2
  196. package/_esm/utils/chainType.js.map +1 -1
  197. package/_esm/utils/converters.js +2 -1
  198. package/_esm/utils/converters.js.map +1 -1
  199. package/_esm/utils/elements.d.ts +5 -2
  200. package/_esm/utils/elements.js +6 -1
  201. package/_esm/utils/elements.js.map +1 -1
  202. package/_esm/utils/fees.js +5 -9
  203. package/_esm/utils/fees.js.map +1 -1
  204. package/_esm/utils/format.js +1 -1
  205. package/_esm/utils/format.js.map +1 -1
  206. package/_esm/utils/navigationRoutes.d.ts +3 -1
  207. package/_esm/utils/navigationRoutes.js +3 -0
  208. package/_esm/utils/navigationRoutes.js.map +1 -1
  209. package/_esm/utils/svm.d.ts +1 -0
  210. package/_esm/utils/svm.js +11 -0
  211. package/_esm/utils/svm.js.map +1 -0
  212. package/_esm/utils/wallet.js +1 -1
  213. package/components/ActiveTransactions/ActiveTransactions.style.ts +1 -1
  214. package/components/AmountInput/AmountInputEndAdornment.tsx +5 -1
  215. package/components/AppContainer.tsx +15 -10
  216. package/components/Avatar/AccountAvatar.tsx +2 -2
  217. package/components/Avatar/Avatar.style.tsx +7 -20
  218. package/components/Avatar/Avatar.tsx +4 -12
  219. package/components/Avatar/TokenAvatar.tsx +1 -1
  220. package/components/BaseTransactionButton/BaseTransactionButton.tsx +5 -3
  221. package/components/ChainSelect/useChainSelect.ts +1 -10
  222. package/components/FeeBreakdownTooltip.tsx +1 -4
  223. package/components/FullPageContainer.tsx +14 -0
  224. package/components/Header/EVMDisconnectIconButton.tsx +24 -0
  225. package/components/Header/Header.tsx +28 -3
  226. package/components/Header/NavigationHeader.tsx +1 -1
  227. package/components/Header/SVMDisconnectIconButton.tsx +19 -0
  228. package/components/Header/WalletHeader.tsx +12 -11
  229. package/components/Header/WalletMenu.style.tsx +1 -5
  230. package/components/Header/WalletMenu.tsx +32 -22
  231. package/components/PageContainer.ts +2 -1
  232. package/components/PageEntered.ts +14 -0
  233. package/components/Routes/RoutesExpanded.tsx +2 -1
  234. package/components/Search/SearchInput.style.tsx +46 -0
  235. package/components/Search/SearchInput.tsx +57 -0
  236. package/components/Search/SearchNotFound.style.tsx +36 -0
  237. package/components/Search/SearchNotFound.tsx +23 -0
  238. package/components/SendToWallet/SendToWalletButton.tsx +1 -1
  239. package/components/Skeleton/WidgetSkeleton.style.tsx +21 -1
  240. package/components/Skeleton/WidgetSkeleton.tsx +10 -9
  241. package/components/SmallAvatar.tsx +25 -0
  242. package/components/StepActions/StepActions.tsx +1 -1
  243. package/components/Token/Token.tsx +1 -1
  244. package/components/TokenList/TokenList.tsx +2 -9
  245. package/components/TokenList/TokenListItem.tsx +7 -15
  246. package/components/TokenList/TokenNotFound.tsx +7 -27
  247. package/components/TokenList/VirtualizedTokenList.tsx +1 -1
  248. package/components/TokenList/types.ts +3 -3
  249. package/components/TokenRate/TokenRate.tsx +2 -2
  250. package/config/version.ts +1 -1
  251. package/hooks/useAccount.ts +109 -0
  252. package/hooks/useAvailableChains.ts +10 -9
  253. package/hooks/useChains.ts +3 -6
  254. package/hooks/useFromTokenSufficiency.ts +1 -1
  255. package/hooks/useGasSufficiency.ts +3 -5
  256. package/hooks/useProcessMessage.ts +0 -4
  257. package/hooks/useRouteExecution.ts +1 -1
  258. package/hooks/useRoutes.ts +3 -2
  259. package/hooks/useScrollableContainer.ts +1 -6
  260. package/hooks/useSetContentHeight.ts +10 -6
  261. package/hooks/useTokenBalance.ts +1 -1
  262. package/hooks/useTokenBalances.ts +1 -1
  263. package/hooks/useTokens.ts +1 -2
  264. package/hooks/useTransactionDetails.ts +1 -1
  265. package/hooks/useTransactionHistory.ts +1 -1
  266. package/hooks/useWallets.ts +147 -0
  267. package/i18n/en.json +11 -4
  268. package/index.ts +2 -0
  269. package/package.json +4 -3
  270. package/pages/RoutesPage/RoutesPage.tsx +1 -1
  271. package/pages/SelectChainPage/SelectChainPage.tsx +62 -23
  272. package/pages/SelectEnabledToolsPage.tsx +94 -37
  273. package/pages/SelectTokenPage/SearchTokenInput.tsx +8 -26
  274. package/pages/SelectTokenPage/SelectTokenPage.tsx +3 -3
  275. package/pages/SelectTokenPage/useTokenListHeight.ts +14 -21
  276. package/pages/SelectWalletPage/EVMListItemButton.tsx +74 -0
  277. package/pages/SelectWalletPage/SVMListItemButton.tsx +47 -0
  278. package/pages/SelectWalletPage/SelectWalletPage.tsx +90 -0
  279. package/pages/SendToWallet/ConnectedWalletsPage.tsx +2 -2
  280. package/pages/SendToWallet/SendToWalletPage.tsx +1 -1
  281. package/pages/TransactionPage/StatusBottomSheet.tsx +6 -8
  282. package/providers/I18nProvider/types.ts +2 -2
  283. package/providers/WalletProvider/SDKProviders.tsx +7 -25
  284. package/providers/WalletProvider/WalletProvider.tsx +3 -24
  285. package/providers/WalletProvider/useHasExternalWalletProvider.ts +5 -11
  286. package/providers/WidgetProvider/WidgetProvider.tsx +1 -2
  287. package/providers/WidgetProvider/types.ts +2 -0
  288. package/stores/form/FormUpdater.tsx +1 -1
  289. package/stores/form/types.ts +4 -4
  290. package/stores/header/types.ts +2 -0
  291. package/stores/header/useHeaderStore.tsx +40 -2
  292. package/stores/routes/useExecutingRoutesIds.ts +1 -1
  293. package/stores/settings/types.ts +1 -1
  294. package/stores/settings/useSettingsStore.ts +30 -9
  295. package/themes/createTheme.ts +1 -3
  296. package/types/events.ts +5 -5
  297. package/utils/chainType.ts +3 -2
  298. package/utils/converters.ts +2 -1
  299. package/utils/elements.ts +21 -1
  300. package/utils/fees.ts +13 -15
  301. package/utils/format.ts +1 -1
  302. package/utils/navigationRoutes.ts +7 -1
  303. package/utils/svm.ts +10 -0
  304. package/utils/wallet.ts +1 -1
  305. package/_esm/components/Avatar/SmallAvatar.d.ts +0 -4
  306. package/_esm/components/Avatar/SmallAvatar.js +0 -12
  307. package/_esm/components/Avatar/SmallAvatar.js.map +0 -1
  308. package/_esm/components/Header/DisconnectIconButton.d.ts +0 -4
  309. package/_esm/components/Header/DisconnectIconButton.js +0 -12
  310. package/_esm/components/Header/DisconnectIconButton.js.map +0 -1
  311. package/_esm/hooks/useHeaderHeight.d.ts +0 -6
  312. package/_esm/hooks/useHeaderHeight.js +0 -23
  313. package/_esm/hooks/useHeaderHeight.js.map +0 -1
  314. package/_esm/providers/WalletProvider/UTXOBaseProvider.d.ts +0 -2
  315. package/_esm/providers/WalletProvider/UTXOBaseProvider.js +0 -17
  316. package/_esm/providers/WalletProvider/UTXOBaseProvider.js.map +0 -1
  317. package/_esm/providers/WalletProvider/UTXOExternalContext.d.ts +0 -1
  318. package/_esm/providers/WalletProvider/UTXOExternalContext.js +0 -3
  319. package/_esm/providers/WalletProvider/UTXOExternalContext.js.map +0 -1
  320. package/_esm/providers/WalletProvider/UTXOProvider.d.ts +0 -3
  321. package/_esm/providers/WalletProvider/UTXOProvider.js +0 -18
  322. package/_esm/providers/WalletProvider/UTXOProvider.js.map +0 -1
  323. package/components/Avatar/SmallAvatar.tsx +0 -16
  324. package/components/Header/DisconnectIconButton.tsx +0 -18
  325. package/hooks/useHeaderHeight.ts +0 -27
  326. package/providers/WalletProvider/UTXOBaseProvider.tsx +0 -28
  327. package/providers/WalletProvider/UTXOExternalContext.ts +0 -3
  328. package/providers/WalletProvider/UTXOProvider.tsx +0 -26
@@ -0,0 +1,6 @@
1
+ import type { CreateConnectorFnExtended } from '@lifi/wallet-management';
2
+ import type { Wallet } from '@solana/wallet-adapter-react';
3
+ import type { Connector } from 'wagmi';
4
+ import type { WidgetChains, WidgetWalletConfig } from '../types/widget.js';
5
+ export declare const useWallets: (walletConfig?: WidgetWalletConfig, chains?: WidgetChains) => (Connector | Wallet | CreateConnectorFnExtended)[];
6
+ export declare const walletComparator: (a: CreateConnectorFnExtended | Connector | Wallet, b: CreateConnectorFnExtended | Connector | Wallet) => number;
@@ -0,0 +1,80 @@
1
+ import { ChainType } from '@lifi/sdk';
2
+ import { createCoinbaseConnector, createMetaMaskConnector, createWalletConnectConnector, getWalletPriority, isWalletInstalled, } from '@lifi/wallet-management';
3
+ import { useMediaQuery } from '@mui/material';
4
+ import { WalletReadyState } from '@solana/wallet-adapter-base';
5
+ import { useWallet } from '@solana/wallet-adapter-react';
6
+ import { useMemo } from 'react';
7
+ import { useConnect, useAccount as useWagmiAccount } from 'wagmi';
8
+ import { defaultCoinbaseConfig } from '../config/coinbase.js';
9
+ import { defaultMetaMaskConfig } from '../config/metaMask.js';
10
+ import { defaultWalletConnectConfig } from '../config/walletConnect.js';
11
+ import { isItemAllowed } from '../utils/item.js';
12
+ export const useWallets = (walletConfig, chains) => {
13
+ const account = useWagmiAccount();
14
+ const { connectors } = useConnect();
15
+ const { wallets: solanaWallets } = useWallet();
16
+ const isDesktopView = useMediaQuery((theme) => theme.breakpoints.up('sm'));
17
+ const wallets = useMemo(() => {
18
+ const evmConnectors = Array.from(connectors);
19
+ if (!connectors.some((connector) => connector.id.toLowerCase().includes('walletconnect'))) {
20
+ evmConnectors.unshift(createWalletConnectConnector(walletConfig?.walletConnect ?? defaultWalletConnectConfig));
21
+ }
22
+ if (!connectors.some((connector) => connector.id.toLowerCase().includes('coinbase')) &&
23
+ !isWalletInstalled('coinbase')) {
24
+ evmConnectors.unshift(createCoinbaseConnector(walletConfig?.coinbase ?? defaultCoinbaseConfig));
25
+ }
26
+ if (!connectors.some((connector) => connector.id.toLowerCase().includes('metamask')) &&
27
+ !isWalletInstalled('metaMask')) {
28
+ evmConnectors.unshift(createMetaMaskConnector(walletConfig?.metaMask ?? defaultMetaMaskConfig));
29
+ }
30
+ const evmInstalled = isItemAllowed(ChainType.EVM, chains?.types)
31
+ ? evmConnectors.filter((connector) => isWalletInstalled(connector.id) &&
32
+ // We should not show already connected connectors
33
+ account.connector?.id !== connector.id)
34
+ : [];
35
+ const evmNotDetected = isItemAllowed(ChainType.EVM, chains?.types)
36
+ ? evmConnectors.filter((connector) => !isWalletInstalled(connector.id))
37
+ : [];
38
+ const svmInstalled = isItemAllowed(ChainType.SVM, chains?.types)
39
+ ? solanaWallets?.filter((connector) => connector.adapter.readyState === WalletReadyState.Installed &&
40
+ // We should not show already connected connectors
41
+ !connector.adapter.connected)
42
+ : [];
43
+ const svmNotDetected = isItemAllowed(ChainType.SVM, chains?.types)
44
+ ? solanaWallets?.filter((connector) => connector.adapter.readyState !== WalletReadyState.Installed)
45
+ : [];
46
+ const installedWallets = [...evmInstalled, ...svmInstalled].sort(walletComparator);
47
+ if (isDesktopView) {
48
+ const notDetectedWallets = [...evmNotDetected, ...svmNotDetected].sort(walletComparator);
49
+ installedWallets.push(...notDetectedWallets);
50
+ }
51
+ return installedWallets;
52
+ }, [
53
+ account.connector?.id,
54
+ chains?.types,
55
+ connectors,
56
+ isDesktopView,
57
+ solanaWallets,
58
+ walletConfig?.coinbase,
59
+ walletConfig?.metaMask,
60
+ walletConfig?.walletConnect,
61
+ ]);
62
+ return wallets;
63
+ };
64
+ export const walletComparator = (a, b) => {
65
+ let aId = a.id || a.adapter?.name;
66
+ let bId = b.id || b.adapter?.name;
67
+ const priorityA = getWalletPriority(aId);
68
+ const priorityB = getWalletPriority(bId);
69
+ if (priorityA !== priorityB) {
70
+ return priorityA - priorityB;
71
+ }
72
+ if (aId < bId) {
73
+ return -1;
74
+ }
75
+ if (aId > bId) {
76
+ return 1;
77
+ }
78
+ return 0;
79
+ };
80
+ //# sourceMappingURL=useWallets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWallets.js","sourceRoot":"","sources":["../../hooks/useWallets.ts"],"names":[],"mappings":"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"}
package/_esm/i18n/en.json CHANGED
@@ -16,10 +16,10 @@
16
16
  "bridgeReview": "Review bridge",
17
17
  "buy": "Buy",
18
18
  "cancel": "Cancel",
19
+ "changeWallet": "Change wallet",
19
20
  "checkoutReview": "Review purchase",
20
21
  "close": "Close",
21
22
  "confirm": "Confirm",
22
- "connectAnotherWallet": "Connect another wallet",
23
23
  "connectWallet": "Connect wallet",
24
24
  "contactSupport": "Contact support",
25
25
  "continue": "Continue",
@@ -82,6 +82,9 @@
82
82
  "autoRefuel": "You're low on {{chainName}} gas. By continuing, you'll get enough gas to complete the transaction.",
83
83
  "emptyActiveTransactions": "Transactions in progress will appear here. Once completed, find them in transaction history.",
84
84
  "emptyTokenList": "We couldn't find tokens on {{chainName}} chain or you don't have any. Please search by contract address if your token doesn't appear or choose another chain.",
85
+ "emptyChainList": "We couldn't find any chains that match your search",
86
+ "emptyBridgesList": "We couldn't find any bridges that match your search",
87
+ "emptyExchangesList": "We couldn't find any exchanges that match your search",
85
88
  "emptyTransactionHistory": "Transaction history is only stored locally and will be deleted if you clear your browser data.",
86
89
  "fundsToExchange": "Funds sent to an exchange may be lost",
87
90
  "toAddressIsRequired": "Please provide the destination wallet address to which the funds will be transferred.",
@@ -139,7 +142,6 @@
139
142
  "signatureRejected": "Your signature is required to complete the transaction. {{amount, number(maximumFractionDigits: 9)}} {{tokenSymbol}} on {{chainName}} remain in your wallet.",
140
143
  "slippageThreshold": "The slippage is larger than the defined threshold. Please request a new quote.",
141
144
  "transactionCanceled": "Transaction was canceled.",
142
- "transactionConflict": "Transaction couldn't be processed because it's conflicting with another pending transaction using the same funds. Please wait for the pending transaction to be confirmed or check your transaction history before trying again.",
143
145
  "transactionExpired": "The block height has exceeded the maximum allowed limit or blockhash is no longer recent enough.",
144
146
  "transactionFailed": "Please check the block explorer for more information.",
145
147
  "transactionNotSent": "Transaction was not sent.",
@@ -159,7 +161,6 @@
159
161
  "signatureRejected": "Signature required",
160
162
  "slippageNotMet": "Slippage conditions not met",
161
163
  "transactionCanceled": "Transaction canceled",
162
- "transactionConflict": "Transaction conflict",
163
164
  "transactionExpired": "Transaction expired",
164
165
  "transactionFailed": "Transaction failed",
165
166
  "transactionSimulationFailed": "Transaction simulation failed",
@@ -277,7 +278,10 @@
277
278
  "tokenOnChain": "{{tokenSymbol}} on {{chainName}}",
278
279
  "tokenOnChainAmount": "{{amount, number(maximumFractionDigits: 9)}} {{tokenSymbol}} on {{chainName}}",
279
280
  "tokenSearch": "Search by token name or address",
280
- "valueLoss": "Value loss"
281
+ "valueLoss": "Value loss",
282
+ "searchChains": "Search by chain name",
283
+ "searchBridges": "Search by bridge name",
284
+ "searchExchanges": "Search by exchange name"
281
285
  },
282
286
  "settings": {
283
287
  "theme": "Theme",
@@ -305,5 +309,8 @@
305
309
  "noBookmarkedWallets": "No bookmarked wallets",
306
310
  "noConnectedWallets": "No connected wallets",
307
311
  "noRecentWallets": "No recent wallets"
312
+ },
313
+ "wallet": {
314
+ "extensionNotFound": "Please make sure that only the {{name}} browser extension is active before choosing this wallet."
308
315
  }
309
316
  }
package/_esm/index.d.ts CHANGED
@@ -8,7 +8,9 @@ export * from './components/ContractComponent/NFT/types.js';
8
8
  export * from './components/Skeleton/WidgetSkeleton.js';
9
9
  export { defaultMaxHeight } from './config/constants.js';
10
10
  export * from './config/version.js';
11
+ export { useAccount } from './hooks/useAccount.js';
11
12
  export { useAvailableChains } from './hooks/useAvailableChains.js';
13
+ export { useWallets, walletComparator } from './hooks/useWallets.js';
12
14
  export { useWidgetEvents, widgetEvents } from './hooks/useWidgetEvents.js';
13
15
  export * from './stores/form/types.js';
14
16
  export { useFieldActions } from './stores/form/useFieldActions.js';
package/_esm/index.js CHANGED
@@ -7,7 +7,9 @@ export * from './components/ContractComponent/NFT/types.js';
7
7
  export * from './components/Skeleton/WidgetSkeleton.js';
8
8
  export { defaultMaxHeight } from './config/constants.js';
9
9
  export * from './config/version.js';
10
+ export { useAccount } from './hooks/useAccount.js';
10
11
  export { useAvailableChains } from './hooks/useAvailableChains.js';
12
+ export { useWallets, walletComparator } from './hooks/useWallets.js';
11
13
  export { useWidgetEvents, widgetEvents } from './hooks/useWidgetEvents.js';
12
14
  export * from './stores/form/types.js';
13
15
  export { useFieldActions } from './stores/form/useFieldActions.js';
package/_esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yCAAyC,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC3E,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,cAAc,mBAAmB,CAAC;AAElC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7C,cAAc,6CAA6C,CAAC;AAC5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,yCAAyC,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC3E,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,cAAc,mBAAmB,CAAC;AAElC,cAAc,mBAAmB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useAccount } from '@lifi/wallet-management';
3
2
  import { useMemo } from 'react';
4
3
  import { useTranslation } from 'react-i18next';
5
4
  import { ProgressToNextUpdate } from '../../components/ProgressToNextUpdate.js';
6
5
  import { RouteCard } from '../../components/RouteCard/RouteCard.js';
7
6
  import { RouteCardSkeleton } from '../../components/RouteCard/RouteCardSkeleton.js';
8
7
  import { RouteNotFoundCard } from '../../components/RouteCard/RouteNotFoundCard.js';
8
+ import { useAccount } from '../../hooks/useAccount.js';
9
9
  import { useHeader } from '../../hooks/useHeader.js';
10
10
  import { useNavigateBack } from '../../hooks/useNavigateBack.js';
11
11
  import { useRoutes } from '../../hooks/useRoutes.js';
@@ -1 +1 @@
1
- {"version":3,"file":"RoutesPage.js","sourceRoot":"","sources":["../../../pages/RoutesPage/RoutesPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoutesPage.js","sourceRoot":"","sources":["../../../pages/RoutesPage/RoutesPage.tsx"],"names":[],"mappings":"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"}
@@ -1,17 +1,25 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Avatar, List, ListItemAvatar } from '@mui/material';
2
+ import { Avatar, debounce, ListItemAvatar } from '@mui/material';
3
+ import { useState } from 'react';
3
4
  import { useTranslation } from 'react-i18next';
4
5
  import { useChainSelect } from '../../components/ChainSelect/useChainSelect.js';
6
+ import { FullPageContainer } from '../../components/FullPageContainer.js';
5
7
  import { ListItemButton } from '../../components/ListItemButton.js';
6
8
  import { ListItemText } from '../../components/ListItemText.js';
7
- import { PageContainer } from '../../components/PageContainer.js';
9
+ import { StickySearchInput } from '../../components/Search/SearchInput.js';
10
+ import { SearchList } from '../../components/Search/SearchInput.style.js';
11
+ import { SearchNotFound } from '../../components/Search/SearchNotFound.js';
8
12
  import { useTokenSelect } from '../../components/TokenList/useTokenSelect.js';
13
+ import { useDefaultElementId } from '../../hooks/useDefaultElementId.js';
9
14
  import { useHeader } from '../../hooks/useHeader.js';
10
15
  import { useNavigateBack } from '../../hooks/useNavigateBack.js';
16
+ import { useScrollableContainer } from '../../hooks/useScrollableContainer.js';
11
17
  export const SelectChainPage = ({ formType, selectNativeToken, }) => {
12
18
  const { navigateBack } = useNavigateBack();
13
19
  const { chains, setCurrentChain } = useChainSelect(formType);
14
20
  const selectToken = useTokenSelect(formType, navigateBack);
21
+ const elementId = useDefaultElementId();
22
+ const scrollableContainer = useScrollableContainer(elementId);
15
23
  const { t } = useTranslation();
16
24
  useHeader(t('header.selectChain'));
17
25
  const handleClick = async (chain) => {
@@ -23,11 +31,22 @@ export const SelectChainPage = ({ formType, selectNativeToken, }) => {
23
31
  navigateBack();
24
32
  }
25
33
  };
26
- return (_jsx(PageContainer, { disableGutters: true, children: _jsx(List, { sx: {
27
- paddingTop: 0,
28
- paddingLeft: 1.5,
29
- paddingRight: 1.5,
30
- paddingBottom: 1.5,
31
- }, children: chains?.map((chain) => (_jsxs(ListItemButton, { onClick: () => handleClick(chain), children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: chain.logoURI, alt: chain.name, children: chain.name[0] }) }), _jsx(ListItemText, { primary: chain.name })] }, chain.id))) }) }));
34
+ const [filteredChains, setFilteredChains] = useState(chains ?? []);
35
+ const handleSearchInputChange = (e) => {
36
+ const value = e.target.value;
37
+ if (!value) {
38
+ setFilteredChains(chains ?? []);
39
+ }
40
+ else {
41
+ setFilteredChains(chains
42
+ ? chains.filter((chain) => chain.name.toLowerCase().includes(value.toLowerCase()))
43
+ : []);
44
+ }
45
+ if (scrollableContainer) {
46
+ scrollableContainer.scrollTop = 0;
47
+ }
48
+ };
49
+ const debouncedSearchInputChange = debounce(handleSearchInputChange, 250);
50
+ return (_jsxs(FullPageContainer, { disableGutters: true, children: [_jsx(StickySearchInput, { onChange: debouncedSearchInputChange, placeholder: t('main.searchChains') }), filteredChains.length ? (_jsx(SearchList, { children: filteredChains.map((chain) => (_jsxs(ListItemButton, { onClick: () => handleClick(chain), children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: chain.logoURI, alt: chain.name, children: chain.name[0] }) }), _jsx(ListItemText, { primary: chain.name })] }, chain.id))) })) : (_jsx(SearchNotFound, { message: t('info.message.emptyChainList'), adjustForStickySearchInput: true }))] }));
32
51
  };
33
52
  //# sourceMappingURL=SelectChainPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectChainPage.js","sourceRoot":"","sources":["../../../pages/SelectChainPage/SelectChainPage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGjE,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC9D,QAAQ,EACR,iBAAiB,GAClB,EAAE,EAAE;IACH,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IAC3C,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAE3D,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAEnC,MAAM,WAAW,GAAG,KAAK,EAAE,KAAoB,EAAE,EAAE;QACjD,IAAI,iBAAiB,EAAE,CAAC;YACtB,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1B,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,aAAa,IAAC,cAAc,kBAC3B,KAAC,IAAI,IACH,EAAE,EAAE;gBACF,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,GAAG;gBAChB,YAAY,EAAE,GAAG;gBACjB,aAAa,EAAE,GAAG;aACnB,YAEA,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,MAAC,cAAc,IAAgB,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,aAC9D,KAAC,cAAc,cACb,KAAC,MAAM,IAAC,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,YACxC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GACP,GACM,EACjB,KAAC,YAAY,IAAC,OAAO,EAAE,KAAK,CAAC,IAAI,GAAI,KANlB,KAAK,CAAC,EAAE,CAOZ,CAClB,CAAC,GACG,GACO,CACjB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"SelectChainPage.js","sourceRoot":"","sources":["../../../pages/SelectChainPage/SelectChainPage.tsx"],"names":[],"mappings":"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"}
@@ -1,43 +1,65 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Check, CheckBoxOutlineBlankOutlined, CheckBoxOutlined, IndeterminateCheckBoxOutlined, } from '@mui/icons-material';
3
- import { Avatar, IconButton, List, ListItemAvatar, Tooltip, useTheme, } from '@mui/material';
4
- import { useMemo } from 'react';
3
+ import { Avatar, debounce, IconButton, ListItemAvatar, Tooltip, useTheme, } from '@mui/material';
4
+ import { useMemo, useState } from 'react';
5
5
  import { useTranslation } from 'react-i18next';
6
6
  import { shallow } from 'zustand/shallow';
7
+ import { FullPageContainer } from '../components/FullPageContainer.js';
7
8
  import { ListItemText } from '../components/ListItemText.js';
8
- import { PageContainer } from '../components/PageContainer.js';
9
+ import { StickySearchInput } from '../components/Search/SearchInput.js';
10
+ import { SearchList } from '../components/Search/SearchInput.style.js';
11
+ import { SearchNotFound } from '../components/Search/SearchNotFound.js';
9
12
  import { SettingsListItemButton } from '../components/SettingsListItemButton.js';
13
+ import { useDefaultElementId } from '../hooks/useDefaultElementId.js';
10
14
  import { useHeader } from '../hooks/useHeader.js';
15
+ import { useScrollableContainer } from '../hooks/useScrollableContainer.js';
11
16
  import { useTools } from '../hooks/useTools.js';
12
17
  import { useSettingsStore } from '../stores/settings/useSettingsStore.js';
13
- const SelectAllCheckbox = ({ allCheckboxesSelected, anyCheckboxesSelected, onClick, }) => {
18
+ const SelectAllCheckbox = ({ allCheckboxesSelected, anyCheckboxesSelected, noCheckboxesAvailable, onClick, }) => {
14
19
  const { t } = useTranslation();
15
20
  const theme = useTheme();
16
- const tooltipTitle = allCheckboxesSelected
17
- ? t('tooltip.deselectAll')
18
- : t('tooltip.selectAll');
21
+ const tooltipTitle = noCheckboxesAvailable
22
+ ? undefined
23
+ : allCheckboxesSelected
24
+ ? t('tooltip.deselectAll')
25
+ : t('tooltip.selectAll');
19
26
  return (_jsx(Tooltip, { title: tooltipTitle, children: _jsx(IconButton, { size: "medium", edge: theme?.navigation?.edge ? 'end' : false, onClick: onClick, children: allCheckboxesSelected ? (_jsx(CheckBoxOutlined, {})) : anyCheckboxesSelected ? (_jsx(IndeterminateCheckBoxOutlined, {})) : (_jsx(CheckBoxOutlineBlankOutlined, {})) }) }));
20
27
  };
21
28
  export const SelectEnabledToolsPage = ({ type }) => {
22
29
  const typeKey = type.toLowerCase();
23
30
  const { tools } = useTools();
24
- const [enabledTools, disabledTools, setToolValue, toggleTools] = useSettingsStore((state) => [
31
+ const [enabledTools, disabledTools, setToolValue, toggleToolKeys] = useSettingsStore((state) => [
25
32
  state[`_enabled${type}`],
26
33
  state[`disabled${type}`],
27
34
  state.setToolValue,
28
- state.toggleTools,
35
+ state.toggleToolKeys,
29
36
  ], shallow);
30
37
  const { t } = useTranslation();
31
- const headerAction = useMemo(() => (_jsx(SelectAllCheckbox, { allCheckboxesSelected: !disabledTools.length, anyCheckboxesSelected: Boolean(disabledTools.length), onClick: () => toggleTools(type) })), [disabledTools.length, toggleTools, type]);
38
+ const elementId = useDefaultElementId();
39
+ const scrollableContainer = useScrollableContainer(elementId);
40
+ const [filteredTools, setFilteredTools] = useState(tools?.[typeKey] ?? []);
41
+ const headerAction = useMemo(() => (_jsx(SelectAllCheckbox, { allCheckboxesSelected: !!filteredTools.length &&
42
+ filteredTools.every((tool) => !disabledTools.includes(tool.key)), anyCheckboxesSelected: !!filteredTools.length &&
43
+ filteredTools.some((tool) => disabledTools.includes(tool.key)), noCheckboxesAvailable: !filteredTools.length, onClick: () => toggleToolKeys(type, filteredTools.map((tool) => tool.key)) })), [disabledTools, toggleToolKeys, type, filteredTools]);
32
44
  useHeader(t(`settings.enabled${type}`), headerAction);
33
45
  const handleClick = (key) => {
34
46
  setToolValue(type, key, !enabledTools[key]);
35
47
  };
36
- return (_jsx(PageContainer, { disableGutters: true, children: _jsx(List, { sx: {
37
- paddingTop: 0,
38
- paddingLeft: 1.5,
39
- paddingRight: 1.5,
40
- paddingBottom: 1.5,
41
- }, children: tools?.[typeKey].map((tool) => (_jsxs(SettingsListItemButton, { onClick: () => handleClick(tool.key), children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: tool.logoURI, alt: tool.name, children: tool.name[0] }) }), _jsx(ListItemText, { primary: tool.name }), enabledTools[tool.key] && _jsx(Check, { color: "primary" })] }, tool.name))) }) }));
48
+ const handleSearchInputChange = (e) => {
49
+ const value = e.target.value;
50
+ if (!value) {
51
+ setFilteredTools(tools?.[typeKey] ?? []);
52
+ }
53
+ else {
54
+ setFilteredTools((tools?.[typeKey]
55
+ ? tools[typeKey].filter((tool) => tool.name.toLowerCase().includes(value.toLowerCase()))
56
+ : []));
57
+ }
58
+ if (scrollableContainer) {
59
+ scrollableContainer.scrollTop = 0;
60
+ }
61
+ };
62
+ const debouncedSearchInputChange = debounce(handleSearchInputChange, 250);
63
+ return (_jsxs(FullPageContainer, { disableGutters: true, children: [_jsx(StickySearchInput, { onChange: debouncedSearchInputChange, placeholder: t(`main.search${type}`) }), filteredTools.length ? (_jsx(SearchList, { children: filteredTools.map((tool) => (_jsxs(SettingsListItemButton, { onClick: () => handleClick(tool.key), children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: tool.logoURI, alt: tool.name, children: tool.name[0] }) }), _jsx(ListItemText, { primary: tool.name }), enabledTools[tool.key] && _jsx(Check, { color: "primary" })] }, tool.name))) })) : (_jsx(SearchNotFound, { message: t(`info.message.empty${type}List`), adjustForStickySearchInput: true }))] }));
42
64
  };
43
65
  //# sourceMappingURL=SelectEnabledToolsPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectEnabledToolsPage.js","sourceRoot":"","sources":["../../pages/SelectEnabledToolsPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SelectEnabledToolsPage.js","sourceRoot":"","sources":["../../pages/SelectEnabledToolsPage.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Search } from '@mui/icons-material';
3
- import { FormControl, InputAdornment } from '@mui/material';
4
2
  import { useEffect } from 'react';
5
3
  import { useTranslation } from 'react-i18next';
6
- import { InputCard } from '../../components/Card/InputCard.js';
4
+ import { SearchInput } from '../../components/Search/SearchInput.js';
7
5
  import { useFieldActions } from '../../stores/form/useFieldActions.js';
8
6
  import { useFieldController } from '../../stores/form/useFieldController.js';
9
- import { Input } from './SearchTokenInput.style.js';
10
7
  export const SearchTokenInput = () => {
11
8
  const { t } = useTranslation();
12
9
  const { setFieldValue } = useFieldActions();
@@ -16,13 +13,6 @@ export const SearchTokenInput = () => {
16
13
  useEffect(() => () => {
17
14
  setFieldValue('tokenSearchFilter', '');
18
15
  }, [setFieldValue]);
19
- return (_jsx(InputCard, { children: _jsx(FormControl, { fullWidth: true, children: _jsx(Input, { size: "small", placeholder: t(`main.tokenSearch`), endAdornment: _jsx(InputAdornment, { position: "end", children: _jsx(Search, {}) }), inputProps: {
20
- inputMode: 'search',
21
- onChange: (e) => onChange(e.target.value),
22
- onBlur,
23
- name,
24
- value,
25
- maxLength: 128,
26
- }, autoComplete: "off" }) }) }));
16
+ return (_jsx(SearchInput, { name: name, placeholder: t(`main.tokenSearch`), onChange: (e) => onChange(e.target.value), onBlur: onBlur, value: value }));
27
17
  };
28
18
  //# sourceMappingURL=SearchTokenInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchTokenInput.js","sourceRoot":"","sources":["../../../pages/SelectTokenPage/SearchTokenInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,CAAC;IAC5C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC;QAC3D,IAAI,EAAE,mBAAmB;KAC1B,CAAC,CAAC;IAEH,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,cACR,KAAC,WAAW,IAAC,SAAS,kBACpB,KAAC,KAAK,IACJ,IAAI,EAAC,OAAO,EACZ,WAAW,EAAE,CAAC,CAAC,kBAAkB,CAAW,EAC5C,YAAY,EACV,KAAC,cAAc,IAAC,QAAQ,EAAC,KAAK,YAC5B,KAAC,MAAM,KAAG,GACK,EAEnB,UAAU,EAAE;oBACV,SAAS,EAAE,QAAQ;oBACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;oBAC/D,MAAM;oBACN,IAAI;oBACJ,KAAK;oBACL,SAAS,EAAE,GAAG;iBACf,EACD,YAAY,EAAC,KAAK,GAClB,GACU,GACJ,CACb,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"SearchTokenInput.js","sourceRoot":"","sources":["../../../pages/SelectTokenPage/SearchTokenInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,EAAE,aAAa,EAAE,GAAG,eAAe,EAAE,CAAC;IAC5C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC;QAC3D,IAAI,EAAE,mBAAmB;KAC1B,CAAC,CAAC;IAEH,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,KAAC,WAAW,IACV,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAClC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,EAC/D,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAA2B,GAClC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -3,7 +3,7 @@ import { Box } from '@mui/material';
3
3
  import { useRef } from 'react';
4
4
  import { useTranslation } from 'react-i18next';
5
5
  import { ChainSelect } from '../../components/ChainSelect/ChainSelect.js';
6
- import { PageContainer } from '../../components/PageContainer.js';
6
+ import { FullPageContainer } from '../../components/FullPageContainer.js';
7
7
  import { TokenList } from '../../components/TokenList/TokenList.js';
8
8
  import { useHeader } from '../../hooks/useHeader.js';
9
9
  import { useNavigateBack } from '../../hooks/useNavigateBack.js';
@@ -31,6 +31,6 @@ export const SelectTokenPage = ({ formType }) => {
31
31
  : t(`header.to`);
32
32
  useHeader(title);
33
33
  const hideChainSelect = swapOnly && formType === 'to';
34
- return (_jsxs(PageContainer, { disableGutters: true, children: [_jsxs(Box, { pb: 2, px: 3, ref: headerRef, children: [!hideChainSelect ? _jsx(ChainSelect, { formType: formType }) : null, _jsx(Box, { mt: !hideChainSelect ? 2 : 0, children: _jsx(SearchTokenInput, {}) })] }), _jsx(Box, { height: minListHeight, children: _jsx(TokenList, { parentRef: listParentRef, height: tokenListHeight, onClick: navigateBack, formType: formType }) })] }));
34
+ return (_jsxs(FullPageContainer, { disableGutters: true, children: [_jsxs(Box, { pb: 2, px: 3, ref: headerRef, children: [!hideChainSelect ? _jsx(ChainSelect, { formType: formType }) : null, _jsx(Box, { mt: !hideChainSelect ? 2 : 0, children: _jsx(SearchTokenInput, {}) })] }), _jsx(Box, { height: minListHeight, children: _jsx(TokenList, { parentRef: listParentRef, height: tokenListHeight, onClick: navigateBack, formType: formType }) })] }));
35
35
  };
36
36
  //# sourceMappingURL=SelectTokenPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectTokenPage.js","sourceRoot":"","sources":["../../../pages/SelectTokenPage/SelectTokenPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACjE,2BAA2B,EAAE,CAAC;IAC9B,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IAC5D,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAAC;QAC5D,aAAa;QACb,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACzC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GACT,QAAQ,KAAK,MAAM;QACjB,CAAC,CAAC,UAAU,KAAK,QAAQ;YACvB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACrB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAErB,SAAS,CAAC,KAAK,CAAC,CAAC;IAEjB,MAAM,eAAe,GAAG,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC;IAEtD,OAAO,CACL,MAAC,aAAa,IAAC,cAAc,mBAC3B,MAAC,GAAG,IAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,aAC9B,CAAC,eAAe,CAAC,CAAC,CAAC,KAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,IAAI,EAC9D,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAC/B,KAAC,gBAAgB,KAAG,GAChB,IACF,EACN,KAAC,GAAG,IAAC,MAAM,EAAE,aAAa,YACxB,KAAC,SAAS,IACR,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,GAClB,GACE,IACQ,CACjB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"SelectTokenPage.js","sourceRoot":"","sources":["../../../pages/SelectTokenPage/SelectTokenPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACjE,2BAA2B,EAAE,CAAC;IAC9B,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IAC5D,MAAM,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAAC;QAC5D,aAAa;QACb,SAAS;KACV,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACzC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,KAAK,GACT,QAAQ,KAAK,MAAM;QACjB,CAAC,CAAC,UAAU,KAAK,QAAQ;YACvB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;YACrB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACpB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAErB,SAAS,CAAC,KAAK,CAAC,CAAC;IAEjB,MAAM,eAAe,GAAG,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC;IAEtD,OAAO,CACL,MAAC,iBAAiB,IAAC,cAAc,mBAC/B,MAAC,GAAG,IAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,aAC9B,CAAC,eAAe,CAAC,CAAC,CAAC,KAAC,WAAW,IAAC,QAAQ,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,IAAI,EAC9D,KAAC,GAAG,IAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAC/B,KAAC,gBAAgB,KAAG,GAChB,IACF,EACN,KAAC,GAAG,IAAC,MAAM,EAAE,aAAa,YACxB,KAAC,SAAS,IACR,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,GAClB,GACE,IACY,CACrB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,19 +1,10 @@
1
- import { useTheme } from '@mui/material';
1
+ import { debounce, useTheme } from '@mui/material';
2
2
  import { useLayoutEffect, useState } from 'react';
3
3
  import { useDefaultElementId } from '../../hooks/useDefaultElementId.js';
4
- import { ElementId, createElementId } from '../../utils/elements.js';
5
- const debounce = (func, timeout = 300) => {
6
- let timer;
7
- return (...args) => {
8
- clearTimeout(timer);
9
- timer = setTimeout(() => {
10
- func.apply(this, args);
11
- }, timeout);
12
- };
13
- };
4
+ import { ElementId, getAppContainer, getHeaderElement, getScrollableContainer, } from '../../utils/elements.js';
14
5
  const getContentHeight = (elementId, listParentRef) => {
15
- const containerElement = document.getElementById(createElementId(ElementId.ScrollableContainer, elementId));
16
- const headerElement = document.getElementById(createElementId(ElementId.Header, elementId));
6
+ const containerElement = getScrollableContainer(elementId);
7
+ const headerElement = getHeaderElement(elementId);
17
8
  const listParentElement = listParentRef?.current;
18
9
  let oldHeight;
19
10
  // This covers the case where in full height flex mode when the browser height is reduced
@@ -37,6 +28,9 @@ const getContentHeight = (elementId, listParentRef) => {
37
28
  };
38
29
  export const minTokenListHeight = 360;
39
30
  export const minMobileTokenListHeight = 160;
31
+ // NOTE: this hook is implicitly tied to the widget height functionality in the
32
+ // AppExpandedContainer, RelativeContainer and CssBaselineContainer components as defined in AppContainer.ts
33
+ // CSS changes in those components can have implications for the functionality in this hook
40
34
  export const useTokenListHeight = ({ listParentRef, headerRef, }) => {
41
35
  const elementId = useDefaultElementId();
42
36
  const [contentHeight, setContentHeight] = useState(0);
@@ -48,7 +42,7 @@ export const useTokenListHeight = ({ listParentRef, headerRef, }) => {
48
42
  const processResize = debounce(() => handleResize(), 40);
49
43
  // calling this on initial mount prevents the lists resizing appearing glitchy
50
44
  handleResize();
51
- const appContainer = document.getElementById(createElementId(ElementId.AppExpandedContainer, elementId));
45
+ const appContainer = getAppContainer(elementId);
52
46
  let resizeObserver;
53
47
  if (appContainer) {
54
48
  resizeObserver = new ResizeObserver(processResize);
@@ -1 +1 @@
1
- {"version":3,"file":"useTokenListHeight.js","sourceRoot":"","sources":["../../../pages/SelectTokenPage/useTokenListHeight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useTokenListHeight.js","sourceRoot":"","sources":["../../../pages/SelectTokenPage/useTokenListHeight.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { CreateConnectorFnExtended } from '@lifi/wallet-management';
2
+ import type { Connector } from 'wagmi';
3
+ interface EVMListItemButtonProps {
4
+ connectedConnector?: Connector;
5
+ connector: CreateConnectorFnExtended | Connector;
6
+ onNotInstalled(connector: Connector): void;
7
+ }
8
+ export declare const EVMListItemButton: ({ connectedConnector, connector, onNotInstalled, }: EVMListItemButtonProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ChainType } from '@lifi/sdk';
3
+ import { getConnectorIcon, isWalletInstalledAsync, } from '@lifi/wallet-management';
4
+ import { Avatar, ListItemAvatar } from '@mui/material';
5
+ import { useConnect, useDisconnect } from 'wagmi';
6
+ import { ListItemButton } from '../../components/ListItemButton.js';
7
+ import { ListItemText } from '../../components/ListItemText.js';
8
+ import { useNavigateBack } from '../../hooks/useNavigateBack.js';
9
+ import { useWidgetEvents } from '../../hooks/useWidgetEvents.js';
10
+ import { WidgetEvent } from '../../types/events.js';
11
+ export const EVMListItemButton = ({ connectedConnector, connector, onNotInstalled, }) => {
12
+ const { navigateBack } = useNavigateBack();
13
+ const emitter = useWidgetEvents();
14
+ const { connectAsync } = useConnect();
15
+ const { disconnectAsync } = useDisconnect();
16
+ const handleEVMConnect = async () => {
17
+ const identityCheckPassed = await isWalletInstalledAsync(connector.id);
18
+ if (!identityCheckPassed) {
19
+ onNotInstalled(connector);
20
+ return;
21
+ }
22
+ if (connectedConnector) {
23
+ await disconnectAsync({ connector: connectedConnector });
24
+ }
25
+ await connectAsync({ connector }, {
26
+ onSuccess(data) {
27
+ emitter.emit(WidgetEvent.WalletConnected, {
28
+ address: data.accounts[0],
29
+ chainId: data.chainId,
30
+ chainType: ChainType.EVM,
31
+ });
32
+ },
33
+ });
34
+ navigateBack();
35
+ };
36
+ const connectorName = connector.displayName || connector.name;
37
+ return (_jsxs(ListItemButton, { onClick: handleEVMConnect, children: [_jsx(ListItemAvatar, { children: _jsx(Avatar, { src: getConnectorIcon(connector), alt: connectorName, children: connectorName?.[0] }) }), _jsx(ListItemText, { primary: connectorName })] }, connector.id));
38
+ };
39
+ //# sourceMappingURL=EVMListItemButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EVMListItemButton.js","sourceRoot":"","sources":["../../../pages/SelectWalletPage/EVMListItemButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAQpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAChC,kBAAkB,EAClB,SAAS,EACT,cAAc,GACS,EAAE,EAAE;IAC3B,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;IAClC,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;IACtC,MAAM,EAAE,eAAe,EAAE,GAAG,aAAa,EAAE,CAAC;IAE5C,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;QAClC,MAAM,mBAAmB,GAAG,MAAM,sBAAsB,CACrD,SAAuB,CAAC,EAAE,CAC5B,CAAC;QACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,cAAc,CAAC,SAAsB,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,eAAe,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,YAAY,CAChB,EAAE,SAAS,EAAE,EACb;YACE,SAAS,CAAC,IAAI;gBACZ,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;oBACxC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,SAAS,EAAE,SAAS,CAAC,GAAG;iBACzB,CAAC,CAAC;YACL,CAAC;SACF,CACF,CAAC;QACF,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,aAAa,GAChB,SAAuC,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,CAAC;IAEzE,OAAO,CACL,MAAC,cAAc,IAAoB,OAAO,EAAE,gBAAgB,aAC1D,KAAC,cAAc,cACb,KAAC,MAAM,IACL,GAAG,EAAE,gBAAgB,CAAC,SAAsB,CAAC,EAC7C,GAAG,EAAE,aAAa,YAEjB,aAAa,EAAE,CAAC,CAAC,CAAC,GACZ,GACM,EACjB,KAAC,YAAY,IAAC,OAAO,EAAE,aAAa,GAAI,KATrB,SAAS,CAAC,EAAE,CAUhB,CAClB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Wallet } from '@solana/wallet-adapter-react';
2
+ interface SVMListItemButtonProps {
3
+ wallet: Wallet;
4
+ }
5
+ export declare const SVMListItemButton: ({ wallet }: SVMListItemButtonProps) => import("react/jsx-runtime").JSX.Element;
6
+ export {};