@relayprotocol/relay-kit-ui 5.1.2 → 6.0.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 (220) hide show
  1. package/_cjs/src/components/common/BalanceDisplay.js +4 -3
  2. package/_cjs/src/components/common/BalanceDisplay.js.map +1 -1
  3. package/_cjs/src/components/common/MultiWalletDropdown.js +5 -4
  4. package/_cjs/src/components/common/MultiWalletDropdown.js.map +1 -1
  5. package/_cjs/src/components/common/PercentageButtons.js +9 -9
  6. package/_cjs/src/components/common/PercentageButtons.js.map +1 -1
  7. package/_cjs/src/components/common/SlippageToleranceConfig.js +30 -17
  8. package/_cjs/src/components/common/SlippageToleranceConfig.js.map +1 -1
  9. package/_cjs/src/components/common/TokenSelector/ChainFilter.js +21 -19
  10. package/_cjs/src/components/common/TokenSelector/ChainFilter.js.map +1 -1
  11. package/_cjs/src/components/common/TokenSelector/ChainFilterRow.js +117 -0
  12. package/_cjs/src/components/common/TokenSelector/ChainFilterRow.js.map +1 -0
  13. package/_cjs/src/components/common/TokenSelector/ChainFilterSidebar.js +2 -13
  14. package/_cjs/src/components/common/TokenSelector/ChainFilterSidebar.js.map +1 -1
  15. package/_cjs/src/components/common/TokenSelector/CompactChainFilter.js +180 -0
  16. package/_cjs/src/components/common/TokenSelector/CompactChainFilter.js.map +1 -0
  17. package/_cjs/src/components/common/TokenSelector/PaymentMethod.js +456 -0
  18. package/_cjs/src/components/common/TokenSelector/PaymentMethod.js.map +1 -0
  19. package/_cjs/src/components/common/TokenSelector/PaymentTokenList.js +83 -0
  20. package/_cjs/src/components/common/TokenSelector/PaymentTokenList.js.map +1 -0
  21. package/_cjs/src/components/common/TokenSelector/triggers/PaymentMethodTrigger.js +77 -0
  22. package/_cjs/src/components/common/TokenSelector/triggers/PaymentMethodTrigger.js.map +1 -0
  23. package/_cjs/src/components/primitives/ChainTokenIcon.js +3 -2
  24. package/_cjs/src/components/primitives/ChainTokenIcon.js.map +1 -1
  25. package/_cjs/src/components/primitives/SlippageButton.js +40 -0
  26. package/_cjs/src/components/primitives/SlippageButton.js.map +1 -0
  27. package/_cjs/src/components/primitives/Tabs.js +4 -2
  28. package/_cjs/src/components/primitives/Tabs.js.map +1 -1
  29. package/_cjs/src/components/widgets/SwapButton.js +35 -7
  30. package/_cjs/src/components/widgets/SwapButton.js.map +1 -1
  31. package/_cjs/src/components/widgets/TokenWidget/AmountModeToggle.js +31 -0
  32. package/_cjs/src/components/widgets/TokenWidget/AmountModeToggle.js.map +1 -0
  33. package/_cjs/src/components/widgets/TokenWidget/AmountSectionHeader.js +8 -0
  34. package/_cjs/src/components/widgets/TokenWidget/AmountSectionHeader.js.map +1 -0
  35. package/_cjs/src/components/widgets/TokenWidget/BuyTabContent.js +218 -0
  36. package/_cjs/src/components/widgets/TokenWidget/BuyTabContent.js.map +1 -0
  37. package/_cjs/src/components/widgets/TokenWidget/DestinationWalletSelector.js +20 -0
  38. package/_cjs/src/components/widgets/TokenWidget/DestinationWalletSelector.js.map +1 -0
  39. package/_cjs/src/components/widgets/TokenWidget/FeeBreakdownInfo.js +26 -0
  40. package/_cjs/src/components/widgets/TokenWidget/FeeBreakdownInfo.js.map +1 -0
  41. package/_cjs/src/components/widgets/TokenWidget/FeeBreakdownTooltip.js +40 -0
  42. package/_cjs/src/components/widgets/TokenWidget/FeeBreakdownTooltip.js.map +1 -0
  43. package/_cjs/src/components/widgets/TokenWidget/SectionContainer.js +22 -0
  44. package/_cjs/src/components/widgets/TokenWidget/SectionContainer.js.map +1 -0
  45. package/_cjs/src/components/widgets/TokenWidget/SellTabContent.js +280 -0
  46. package/_cjs/src/components/widgets/TokenWidget/SellTabContent.js.map +1 -0
  47. package/_cjs/src/components/widgets/TokenWidget/TransactionDetailsFooter.js +28 -0
  48. package/_cjs/src/components/widgets/TokenWidget/TransactionDetailsFooter.js.map +1 -0
  49. package/_cjs/src/components/widgets/TokenWidget/hooks/useWalletGuards.js +108 -0
  50. package/_cjs/src/components/widgets/TokenWidget/hooks/useWalletGuards.js.map +1 -0
  51. package/_cjs/src/components/widgets/TokenWidget/index.js +9 -0
  52. package/_cjs/src/components/widgets/TokenWidget/index.js.map +1 -0
  53. package/_cjs/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.js +770 -0
  54. package/_cjs/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.js.map +1 -0
  55. package/_cjs/src/components/widgets/TokenWidget/widget/index.js +1005 -0
  56. package/_cjs/src/components/widgets/TokenWidget/widget/index.js.map +1 -0
  57. package/_cjs/src/hooks/index.js +3 -1
  58. package/_cjs/src/hooks/index.js.map +1 -1
  59. package/_cjs/src/hooks/useDuneBalances.js +2 -1
  60. package/_cjs/src/hooks/useDuneBalances.js.map +1 -1
  61. package/_cjs/src/hooks/useEOADetection.js +3 -0
  62. package/_cjs/src/hooks/useEOADetection.js.map +1 -1
  63. package/_cjs/src/hooks/useMultiWalletBalances.js +119 -0
  64. package/_cjs/src/hooks/useMultiWalletBalances.js.map +1 -0
  65. package/_cjs/src/index.js.map +1 -1
  66. package/_cjs/src/styles.css +251 -88
  67. package/_cjs/src/utils/numbers.js +39 -1
  68. package/_cjs/src/utils/numbers.js.map +1 -1
  69. package/_cjs/src/utils/tokenSelector.js +4 -1
  70. package/_cjs/src/utils/tokenSelector.js.map +1 -1
  71. package/_cjs/src/utils/tokens.js +20 -1
  72. package/_cjs/src/utils/tokens.js.map +1 -1
  73. package/_cjs/src/version.js +1 -1
  74. package/_cjs/tsconfig.build.tsbuildinfo +1 -1
  75. package/_esm/src/components/common/BalanceDisplay.js +4 -3
  76. package/_esm/src/components/common/BalanceDisplay.js.map +1 -1
  77. package/_esm/src/components/common/MultiWalletDropdown.js +5 -4
  78. package/_esm/src/components/common/MultiWalletDropdown.js.map +1 -1
  79. package/_esm/src/components/common/PercentageButtons.js +10 -10
  80. package/_esm/src/components/common/PercentageButtons.js.map +1 -1
  81. package/_esm/src/components/common/SlippageToleranceConfig.js +31 -23
  82. package/_esm/src/components/common/SlippageToleranceConfig.js.map +1 -1
  83. package/_esm/src/components/common/TokenSelector/ChainFilter.js +25 -23
  84. package/_esm/src/components/common/TokenSelector/ChainFilter.js.map +1 -1
  85. package/_esm/src/components/common/TokenSelector/ChainFilterRow.js +112 -0
  86. package/_esm/src/components/common/TokenSelector/ChainFilterRow.js.map +1 -0
  87. package/_esm/src/components/common/TokenSelector/ChainFilterSidebar.js +4 -15
  88. package/_esm/src/components/common/TokenSelector/ChainFilterSidebar.js.map +1 -1
  89. package/_esm/src/components/common/TokenSelector/CompactChainFilter.js +176 -0
  90. package/_esm/src/components/common/TokenSelector/CompactChainFilter.js.map +1 -0
  91. package/_esm/src/components/common/TokenSelector/PaymentMethod.js +461 -0
  92. package/_esm/src/components/common/TokenSelector/PaymentMethod.js.map +1 -0
  93. package/_esm/src/components/common/TokenSelector/PaymentTokenList.js +79 -0
  94. package/_esm/src/components/common/TokenSelector/PaymentTokenList.js.map +1 -0
  95. package/_esm/src/components/common/TokenSelector/triggers/PaymentMethodTrigger.js +72 -0
  96. package/_esm/src/components/common/TokenSelector/triggers/PaymentMethodTrigger.js.map +1 -0
  97. package/_esm/src/components/primitives/ChainTokenIcon.js +3 -2
  98. package/_esm/src/components/primitives/ChainTokenIcon.js.map +1 -1
  99. package/_esm/src/components/primitives/SlippageButton.js +36 -0
  100. package/_esm/src/components/primitives/SlippageButton.js.map +1 -0
  101. package/_esm/src/components/primitives/Tabs.js +4 -2
  102. package/_esm/src/components/primitives/Tabs.js.map +1 -1
  103. package/_esm/src/components/widgets/SwapButton.js +35 -7
  104. package/_esm/src/components/widgets/SwapButton.js.map +1 -1
  105. package/_esm/src/components/widgets/TokenWidget/AmountModeToggle.js +30 -0
  106. package/_esm/src/components/widgets/TokenWidget/AmountModeToggle.js.map +1 -0
  107. package/_esm/src/components/widgets/TokenWidget/AmountSectionHeader.js +7 -0
  108. package/_esm/src/components/widgets/TokenWidget/AmountSectionHeader.js.map +1 -0
  109. package/_esm/src/components/widgets/TokenWidget/BuyTabContent.js +215 -0
  110. package/_esm/src/components/widgets/TokenWidget/BuyTabContent.js.map +1 -0
  111. package/_esm/src/components/widgets/TokenWidget/DestinationWalletSelector.js +16 -0
  112. package/_esm/src/components/widgets/TokenWidget/DestinationWalletSelector.js.map +1 -0
  113. package/_esm/src/components/widgets/TokenWidget/FeeBreakdownInfo.js +21 -0
  114. package/_esm/src/components/widgets/TokenWidget/FeeBreakdownInfo.js.map +1 -0
  115. package/_esm/src/components/widgets/TokenWidget/FeeBreakdownTooltip.js +39 -0
  116. package/_esm/src/components/widgets/TokenWidget/FeeBreakdownTooltip.js.map +1 -0
  117. package/_esm/src/components/widgets/TokenWidget/SectionContainer.js +22 -0
  118. package/_esm/src/components/widgets/TokenWidget/SectionContainer.js.map +1 -0
  119. package/_esm/src/components/widgets/TokenWidget/SellTabContent.js +283 -0
  120. package/_esm/src/components/widgets/TokenWidget/SellTabContent.js.map +1 -0
  121. package/_esm/src/components/widgets/TokenWidget/TransactionDetailsFooter.js +27 -0
  122. package/_esm/src/components/widgets/TokenWidget/TransactionDetailsFooter.js.map +1 -0
  123. package/_esm/src/components/widgets/TokenWidget/hooks/useWalletGuards.js +104 -0
  124. package/_esm/src/components/widgets/TokenWidget/hooks/useWalletGuards.js.map +1 -0
  125. package/_esm/src/components/widgets/TokenWidget/index.js +2 -0
  126. package/_esm/src/components/widgets/TokenWidget/index.js.map +1 -0
  127. package/_esm/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.js +795 -0
  128. package/_esm/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.js.map +1 -0
  129. package/_esm/src/components/widgets/TokenWidget/widget/index.js +1073 -0
  130. package/_esm/src/components/widgets/TokenWidget/widget/index.js.map +1 -0
  131. package/_esm/src/hooks/index.js +2 -1
  132. package/_esm/src/hooks/index.js.map +1 -1
  133. package/_esm/src/hooks/useDuneBalances.js +2 -1
  134. package/_esm/src/hooks/useDuneBalances.js.map +1 -1
  135. package/_esm/src/hooks/useEOADetection.js +3 -0
  136. package/_esm/src/hooks/useEOADetection.js.map +1 -1
  137. package/_esm/src/hooks/useMultiWalletBalances.js +122 -0
  138. package/_esm/src/hooks/useMultiWalletBalances.js.map +1 -0
  139. package/_esm/src/index.js.map +1 -1
  140. package/_esm/src/styles.css +251 -88
  141. package/_esm/src/utils/numbers.js +44 -1
  142. package/_esm/src/utils/numbers.js.map +1 -1
  143. package/_esm/src/utils/tokenSelector.js +4 -1
  144. package/_esm/src/utils/tokenSelector.js.map +1 -1
  145. package/_esm/src/utils/tokens.js +25 -0
  146. package/_esm/src/utils/tokens.js.map +1 -1
  147. package/_esm/src/version.js +1 -1
  148. package/_esm/tsconfig.build.tsbuildinfo +1 -1
  149. package/_types/src/components/common/BalanceDisplay.d.ts +2 -0
  150. package/_types/src/components/common/BalanceDisplay.d.ts.map +1 -1
  151. package/_types/src/components/common/MultiWalletDropdown.d.ts +2 -1
  152. package/_types/src/components/common/MultiWalletDropdown.d.ts.map +1 -1
  153. package/_types/src/components/common/PercentageButtons.d.ts +3 -1
  154. package/_types/src/components/common/PercentageButtons.d.ts.map +1 -1
  155. package/_types/src/components/common/SlippageToleranceConfig.d.ts +7 -0
  156. package/_types/src/components/common/SlippageToleranceConfig.d.ts.map +1 -1
  157. package/_types/src/components/common/TokenSelector/ChainFilter.d.ts.map +1 -1
  158. package/_types/src/components/common/TokenSelector/ChainFilterRow.d.ts +19 -0
  159. package/_types/src/components/common/TokenSelector/ChainFilterRow.d.ts.map +1 -0
  160. package/_types/src/components/common/TokenSelector/ChainFilterSidebar.d.ts.map +1 -1
  161. package/_types/src/components/common/TokenSelector/CompactChainFilter.d.ts +14 -0
  162. package/_types/src/components/common/TokenSelector/CompactChainFilter.d.ts.map +1 -0
  163. package/_types/src/components/common/TokenSelector/PaymentMethod.d.ts +24 -0
  164. package/_types/src/components/common/TokenSelector/PaymentMethod.d.ts.map +1 -0
  165. package/_types/src/components/common/TokenSelector/PaymentTokenList.d.ts +15 -0
  166. package/_types/src/components/common/TokenSelector/PaymentTokenList.d.ts.map +1 -0
  167. package/_types/src/components/common/TokenSelector/triggers/PaymentMethodTrigger.d.ts +13 -0
  168. package/_types/src/components/common/TokenSelector/triggers/PaymentMethodTrigger.d.ts.map +1 -0
  169. package/_types/src/components/primitives/ChainTokenIcon.d.ts +1 -0
  170. package/_types/src/components/primitives/ChainTokenIcon.d.ts.map +1 -1
  171. package/_types/src/components/primitives/SlippageButton.d.ts +8 -0
  172. package/_types/src/components/primitives/SlippageButton.d.ts.map +1 -0
  173. package/_types/src/components/primitives/Tabs.d.ts.map +1 -1
  174. package/_types/src/components/widgets/SwapButton.d.ts +5 -2
  175. package/_types/src/components/widgets/SwapButton.d.ts.map +1 -1
  176. package/_types/src/components/widgets/TokenWidget/AmountModeToggle.d.ts +12 -0
  177. package/_types/src/components/widgets/TokenWidget/AmountModeToggle.d.ts.map +1 -0
  178. package/_types/src/components/widgets/TokenWidget/AmountSectionHeader.d.ts +11 -0
  179. package/_types/src/components/widgets/TokenWidget/AmountSectionHeader.d.ts.map +1 -0
  180. package/_types/src/components/widgets/TokenWidget/BuyTabContent.d.ts +52 -0
  181. package/_types/src/components/widgets/TokenWidget/BuyTabContent.d.ts.map +1 -0
  182. package/_types/src/components/widgets/TokenWidget/DestinationWalletSelector.d.ts +17 -0
  183. package/_types/src/components/widgets/TokenWidget/DestinationWalletSelector.d.ts.map +1 -0
  184. package/_types/src/components/widgets/TokenWidget/FeeBreakdownInfo.d.ts +16 -0
  185. package/_types/src/components/widgets/TokenWidget/FeeBreakdownInfo.d.ts.map +1 -0
  186. package/_types/src/components/widgets/TokenWidget/FeeBreakdownTooltip.d.ts +15 -0
  187. package/_types/src/components/widgets/TokenWidget/FeeBreakdownTooltip.d.ts.map +1 -0
  188. package/_types/src/components/widgets/TokenWidget/SectionContainer.d.ts +8 -0
  189. package/_types/src/components/widgets/TokenWidget/SectionContainer.d.ts.map +1 -0
  190. package/_types/src/components/widgets/TokenWidget/SellTabContent.d.ts +61 -0
  191. package/_types/src/components/widgets/TokenWidget/SellTabContent.d.ts.map +1 -0
  192. package/_types/src/components/widgets/TokenWidget/TransactionDetailsFooter.d.ts +14 -0
  193. package/_types/src/components/widgets/TokenWidget/TransactionDetailsFooter.d.ts.map +1 -0
  194. package/_types/src/components/widgets/TokenWidget/hooks/useWalletGuards.d.ts +28 -0
  195. package/_types/src/components/widgets/TokenWidget/hooks/useWalletGuards.d.ts.map +1 -0
  196. package/_types/src/components/widgets/TokenWidget/index.d.ts +3 -0
  197. package/_types/src/components/widgets/TokenWidget/index.d.ts.map +1 -0
  198. package/_types/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.d.ts +125 -0
  199. package/_types/src/components/widgets/TokenWidget/widget/TokenWidgetRenderer.d.ts.map +1 -0
  200. package/_types/src/components/widgets/TokenWidget/widget/index.d.ts +57 -0
  201. package/_types/src/components/widgets/TokenWidget/widget/index.d.ts.map +1 -0
  202. package/_types/src/hooks/index.d.ts +2 -1
  203. package/_types/src/hooks/index.d.ts.map +1 -1
  204. package/_types/src/hooks/useDuneBalances.d.ts.map +1 -1
  205. package/_types/src/hooks/useEOADetection.d.ts.map +1 -1
  206. package/_types/src/hooks/useMultiWalletBalances.d.ts +26 -0
  207. package/_types/src/hooks/useMultiWalletBalances.d.ts.map +1 -0
  208. package/_types/src/index.d.ts +1 -0
  209. package/_types/src/index.d.ts.map +1 -1
  210. package/_types/src/utils/numbers.d.ts +8 -1
  211. package/_types/src/utils/numbers.d.ts.map +1 -1
  212. package/_types/src/utils/tokenSelector.d.ts +1 -1
  213. package/_types/src/utils/tokenSelector.d.ts.map +1 -1
  214. package/_types/src/utils/tokens.d.ts +17 -0
  215. package/_types/src/utils/tokens.d.ts.map +1 -1
  216. package/_types/src/version.d.ts +1 -1
  217. package/_types/tsconfig.build.tsbuildinfo +1 -1
  218. package/dist/panda.buildinfo.json +74 -33
  219. package/dist/styles.css +251 -88
  220. package/package.json +8 -3
@@ -0,0 +1,456 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const index_js_1 = require("../../primitives/index.js");
7
+ const Modal_js_1 = require("../Modal.js");
8
+ const react_fontawesome_1 = require("@fortawesome/react-fontawesome");
9
+ const free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
10
+ const useRelayClient_js_1 = tslib_1.__importDefault(require("../../../hooks/useRelayClient.js"));
11
+ const index_js_2 = require("../../../hooks/index.js");
12
+ const useMultiWalletBalances_js_1 = require("../../../hooks/useMultiWalletBalances.js");
13
+ const usehooks_ts_1 = require("usehooks-ts");
14
+ const relay_kit_hooks_1 = require("@relayprotocol/relay-kit-hooks");
15
+ const events_js_1 = require("../../../constants/events.js");
16
+ const UnverifiedTokenModal_js_1 = require("../UnverifiedTokenModal.js");
17
+ const useEnhancedTokensList_js_1 = require("../../../hooks/useEnhancedTokensList.js");
18
+ const TokenList_js_1 = require("./TokenList.js");
19
+ const depositAddresses_js_1 = require("../../../constants/depositAddresses.js");
20
+ const localStorage_js_1 = require("../../../utils/localStorage.js");
21
+ const address_js_1 = require("../../../utils/address.js");
22
+ const AccessibleList_js_1 = require("../../primitives/AccessibleList.js");
23
+ const solana_js_1 = require("../../../utils/solana.js");
24
+ const bitcoin_js_1 = require("../../../utils/bitcoin.js");
25
+ const SuggestedTokens_js_1 = require("./SuggestedTokens.js");
26
+ const tokens_js_1 = require("../../../utils/tokens.js");
27
+ const tokenSelector_js_1 = require("../../../utils/tokenSelector.js");
28
+ const index_js_3 = require("../../../hooks/index.js");
29
+ const relay_kit_hooks_2 = require("@relayprotocol/relay-kit-hooks");
30
+ const localStorage_js_2 = require("../../../utils/localStorage.js");
31
+ const PaymentTokenList_js_1 = require("./PaymentTokenList.js");
32
+ const CompactChainFilter_js_1 = require("./CompactChainFilter.js");
33
+ const PaymentMethod = ({ token, trigger, chainIdsFilter, lockedChainIds, context, address, isValidAddress, multiWalletSupportEnabled = false, fromChainWalletVMSupported, supportedWalletVMs, popularChainIds, setToken, onAnalyticEvent, autoSelectToken = false }) => {
34
+ const relayClient = (0, useRelayClient_js_1.default)();
35
+ const { chains: allRelayChains } = (0, index_js_3.useInternalRelayChains)();
36
+ const isDesktop = (0, usehooks_ts_1.useMediaQuery)('(min-width: 660px)');
37
+ const [open, setOpen] = (0, react_1.useState)(false);
38
+ const [unverifiedTokenModalOpen, setUnverifiedTokenModalOpen] = (0, react_1.useState)(false);
39
+ const [unverifiedToken, setUnverifiedToken] = (0, react_1.useState)();
40
+ const [chainFilter, setChainFilter] = (0, react_1.useState)({
41
+ id: undefined,
42
+ name: 'All Chains'
43
+ });
44
+ const [starredChainIds, setStarredChainIds] = (0, react_1.useState)(() => (0, localStorage_js_2.getStarredChainIds)());
45
+ const { value: tokenSearchInput, debouncedValue: debouncedTokenSearchValue, setValue: setTokenSearchInput } = (0, index_js_2.useDebounceState)('', 500);
46
+ const depositAddressOnly = context === 'from'
47
+ ? chainFilter?.vmType
48
+ ? !supportedWalletVMs?.includes(chainFilter.vmType)
49
+ : !chainFilter.id
50
+ ? false
51
+ : !fromChainWalletVMSupported && chainFilter.id === token?.chainId
52
+ : !fromChainWalletVMSupported;
53
+ const isReceivingDepositAddress = depositAddressOnly && context === 'to';
54
+ const configuredChains = (0, react_1.useMemo)(() => {
55
+ let chains = allRelayChains?.filter((chain) => relayClient?.chains?.find((relayChain) => relayChain.id === chain.id)) ?? [];
56
+ if (!multiWalletSupportEnabled && context === 'from') {
57
+ chains = chains.filter((chain) => chain.vmType === 'evm');
58
+ }
59
+ if (isReceivingDepositAddress) {
60
+ chains = chains.filter(({ id }) => !depositAddresses_js_1.UnsupportedDepositAddressChainIds.includes(id));
61
+ }
62
+ return (0, tokenSelector_js_1.sortChains)(chains);
63
+ }, [
64
+ allRelayChains,
65
+ relayClient?.chains,
66
+ multiWalletSupportEnabled,
67
+ context,
68
+ depositAddressOnly
69
+ ]);
70
+ const configuredChainIds = (0, react_1.useMemo)(() => {
71
+ if (lockedChainIds) {
72
+ return lockedChainIds;
73
+ }
74
+ let _chainIds = configuredChains.map((chain) => chain.id);
75
+ if (chainIdsFilter) {
76
+ _chainIds = _chainIds.filter((id) => !chainIdsFilter.includes(id));
77
+ }
78
+ return _chainIds;
79
+ }, [configuredChains, lockedChainIds, chainIdsFilter, depositAddressOnly]);
80
+ const hasMultipleConfiguredChainIds = configuredChainIds.length > 1;
81
+ const chainFilterOptions = context === 'from'
82
+ ? configuredChains?.filter((chain) => (chain.vmType === 'evm' ||
83
+ chain.vmType === 'suivm' ||
84
+ chain.vmType === 'tvm' ||
85
+ chain.vmType === 'hypevm' ||
86
+ chain.id === solana_js_1.solana.id ||
87
+ chain.id === solana_js_1.eclipse.id ||
88
+ chain.id === bitcoin_js_1.bitcoin.id) &&
89
+ configuredChainIds.includes(chain.id))
90
+ : configuredChains?.filter((chain) => configuredChainIds.includes(chain.id));
91
+ const allChains = (0, react_1.useMemo)(() => [
92
+ ...(isReceivingDepositAddress
93
+ ? []
94
+ : [{ id: undefined, name: 'All Chains' }]),
95
+ ...chainFilterOptions
96
+ ], [isReceivingDepositAddress, chainFilterOptions]);
97
+ const useDefaultTokenList = debouncedTokenSearchValue === '';
98
+ const { balanceMap: tokenBalances, data: duneTokens, isLoading: isLoadingBalances } = (0, useMultiWalletBalances_js_1.useMultiWalletBalances)(undefined, address, isValidAddress, relayClient?.baseApiUrl?.includes('testnet') ? 'testnet' : 'mainnet');
99
+ const filteredDuneTokenBalances = (0, react_1.useMemo)(() => {
100
+ return duneTokens?.balances?.filter((balance) => configuredChainIds.includes(balance.chain_id));
101
+ }, [duneTokens?.balances, configuredChainIds]);
102
+ const userTokensQuery = (0, react_1.useMemo)(() => {
103
+ if (filteredDuneTokenBalances && filteredDuneTokenBalances.length > 0) {
104
+ return filteredDuneTokenBalances.map((balance) => `${balance.chain_id}:${balance.address}`);
105
+ }
106
+ return undefined;
107
+ }, [filteredDuneTokenBalances]);
108
+ const { data: userTokens, isLoading: isLoadingUserTokens } = (0, relay_kit_hooks_1.useTokenList)(relayClient?.baseApiUrl, userTokensQuery
109
+ ? {
110
+ tokens: userTokensQuery,
111
+ limit: 100,
112
+ depositAddressOnly,
113
+ referrer: relayClient?.source
114
+ }
115
+ : undefined, {
116
+ enabled: !!filteredDuneTokenBalances
117
+ });
118
+ const isSearchTermValidAddress = (0, address_js_1.isValidAddress)(chainFilter.vmType, debouncedTokenSearchValue, chainFilter.id);
119
+ const { data: trendingTokens, isLoading: isLoadingTrendingTokens } = (0, relay_kit_hooks_2.useTrendingCurrencies)(relayClient?.baseApiUrl, {
120
+ referrer: relayClient?.source
121
+ }, {
122
+ enabled: context === 'to'
123
+ });
124
+ const { data: tokenList, isLoading: isLoadingTokenList } = (0, relay_kit_hooks_1.useTokenList)(relayClient?.baseApiUrl, {
125
+ chainIds: chainFilter.id
126
+ ? [chainFilter.id]
127
+ : configuredChains.map((c) => c.id),
128
+ address: isSearchTermValidAddress ? debouncedTokenSearchValue : undefined,
129
+ term: !isSearchTermValidAddress ? debouncedTokenSearchValue : undefined,
130
+ defaultList: useDefaultTokenList && !depositAddressOnly,
131
+ limit: 12,
132
+ depositAddressOnly,
133
+ referrer: relayClient?.source
134
+ });
135
+ const { data: externalTokenList, isLoading: isLoadingExternalList } = (0, relay_kit_hooks_1.useTokenList)(relayClient?.baseApiUrl, {
136
+ chainIds: chainFilter.id
137
+ ? [chainFilter.id]
138
+ : configuredChains.map((c) => c.id),
139
+ address: isSearchTermValidAddress
140
+ ? debouncedTokenSearchValue
141
+ : undefined,
142
+ term: !isSearchTermValidAddress ? debouncedTokenSearchValue : undefined,
143
+ defaultList: false,
144
+ limit: 12,
145
+ useExternalSearch: true,
146
+ referrer: relayClient?.source
147
+ }, {
148
+ enabled: !!debouncedTokenSearchValue && !depositAddressOnly
149
+ });
150
+ const combinedTokenList = (0, react_1.useMemo)(() => {
151
+ if (!debouncedTokenSearchValue)
152
+ return tokenList;
153
+ return (0, tokens_js_1.mergeTokenLists)([tokenList, externalTokenList]);
154
+ }, [tokenList, externalTokenList, debouncedTokenSearchValue]);
155
+ const sortedUserTokens = (0, useEnhancedTokensList_js_1.useEnhancedTokensList)(userTokens, tokenBalances, context, multiWalletSupportEnabled, chainFilter.id, true);
156
+ const sortedTrendingTokens = (0, useEnhancedTokensList_js_1.useEnhancedTokensList)(trendingTokens, tokenBalances, 'to', multiWalletSupportEnabled, undefined, false);
157
+ const sortedCombinedTokens = (0, useEnhancedTokensList_js_1.useEnhancedTokensList)(combinedTokenList, tokenBalances, context, multiWalletSupportEnabled, chainFilter.id, false);
158
+ const [chainSearchInputElement, setChainSearchInputElement] = (0, react_1.useState)(null);
159
+ const [tokenSearchInputElement, setTokenSearchInputElement] = (0, react_1.useState)(null);
160
+ const inputElement = hasMultipleConfiguredChainIds
161
+ ? chainSearchInputElement
162
+ : tokenSearchInputElement;
163
+ const handleChainStarToggle = (0, react_1.useCallback)(() => {
164
+ setStarredChainIds((0, localStorage_js_2.getStarredChainIds)());
165
+ }, []);
166
+ (0, react_1.useEffect)(() => {
167
+ if (!autoSelectToken) {
168
+ return;
169
+ }
170
+ if (address &&
171
+ isValidAddress &&
172
+ !token &&
173
+ sortedUserTokens &&
174
+ sortedUserTokens.length > 0) {
175
+ const topToken = sortedUserTokens[0];
176
+ setToken(topToken);
177
+ }
178
+ }, [
179
+ address,
180
+ isValidAddress,
181
+ token,
182
+ sortedUserTokens,
183
+ setToken,
184
+ autoSelectToken
185
+ ]);
186
+ (0, react_1.useEffect)(() => {
187
+ if (open) {
188
+ setStarredChainIds((0, localStorage_js_2.getStarredChainIds)());
189
+ }
190
+ }, [open]);
191
+ const resetState = (0, react_1.useCallback)(() => {
192
+ setTokenSearchInput('');
193
+ setChainSearchInputElement(null);
194
+ setTokenSearchInputElement(null);
195
+ }, []);
196
+ const onOpenChange = (0, react_1.useCallback)((openChange) => {
197
+ let tokenCount = undefined;
198
+ let usdcCount = 0;
199
+ let usdtCount = 0;
200
+ let ethCount = 0;
201
+ try {
202
+ if (!isLoadingBalances && tokenBalances) {
203
+ tokenCount = Object.keys(tokenBalances).length;
204
+ Object.values(tokenBalances).forEach((token) => {
205
+ const tokenSymbol = token.symbol
206
+ ? token.symbol.toLowerCase()
207
+ : token.symbol;
208
+ if (tokenSymbol === 'usdc') {
209
+ usdcCount += 1;
210
+ }
211
+ else if (tokenSymbol === 'usdt') {
212
+ usdtCount += 1;
213
+ }
214
+ else if (tokenSymbol === 'eth') {
215
+ ethCount += 1;
216
+ }
217
+ });
218
+ }
219
+ onAnalyticEvent?.(openChange
220
+ ? events_js_1.EventNames.SWAP_START_TOKEN_SELECT
221
+ : events_js_1.EventNames.SWAP_EXIT_TOKEN_SELECT, {
222
+ direction: context === 'from' ? 'input' : 'output',
223
+ ...(!openChange && {
224
+ balanceData: {
225
+ tokenCount,
226
+ usdcCount,
227
+ usdtCount,
228
+ ethCount,
229
+ balanceAddress: address
230
+ }
231
+ })
232
+ });
233
+ }
234
+ catch (error) {
235
+ console.error(error);
236
+ }
237
+ if (openChange) {
238
+ const chainFilter = (0, tokenSelector_js_1.getInitialChainFilter)(chainFilterOptions, context, depositAddressOnly, token, true);
239
+ setChainFilter(chainFilter);
240
+ }
241
+ setOpen(openChange);
242
+ }, [
243
+ tokenBalances,
244
+ isLoadingBalances,
245
+ context,
246
+ address,
247
+ onAnalyticEvent,
248
+ setOpen,
249
+ chainFilterOptions,
250
+ depositAddressOnly,
251
+ token
252
+ ]);
253
+ const handleTokenSelection = (0, react_1.useCallback)((selectedToken) => {
254
+ const isVerified = selectedToken.verified;
255
+ const direction = context === 'from' ? 'input' : 'output';
256
+ let position = undefined;
257
+ if (debouncedTokenSearchValue.length > 0) {
258
+ position = sortedCombinedTokens.findIndex((token) => token.chainId === selectedToken.chainId &&
259
+ token.address?.toLowerCase() ===
260
+ selectedToken.address?.toLowerCase());
261
+ }
262
+ if (!isVerified) {
263
+ const relayUiKitData = (0, localStorage_js_1.getRelayUiKitData)();
264
+ const tokenKey = `${selectedToken.chainId}:${selectedToken.address}`;
265
+ const isAlreadyAccepted = relayUiKitData.acceptedUnverifiedTokens.includes(tokenKey);
266
+ if (isAlreadyAccepted) {
267
+ onAnalyticEvent?.(events_js_1.EventNames.SWAP_TOKEN_SELECT, {
268
+ direction,
269
+ token_symbol: selectedToken.symbol,
270
+ chain_id: selectedToken.chainId,
271
+ token_address: selectedToken.address,
272
+ search_term: debouncedTokenSearchValue,
273
+ position
274
+ });
275
+ setToken(selectedToken);
276
+ }
277
+ else {
278
+ setUnverifiedToken(selectedToken);
279
+ setUnverifiedTokenModalOpen(true);
280
+ return;
281
+ }
282
+ }
283
+ else {
284
+ onAnalyticEvent?.(events_js_1.EventNames.SWAP_TOKEN_SELECT, {
285
+ direction,
286
+ token_symbol: selectedToken.symbol,
287
+ chain_id: selectedToken.chainId,
288
+ token_address: selectedToken.address,
289
+ search_term: debouncedTokenSearchValue,
290
+ position
291
+ });
292
+ setToken(selectedToken);
293
+ }
294
+ onOpenChange(false);
295
+ }, [
296
+ setToken,
297
+ onOpenChange,
298
+ resetState,
299
+ context,
300
+ onAnalyticEvent,
301
+ debouncedTokenSearchValue,
302
+ sortedCombinedTokens
303
+ ]);
304
+ (0, react_1.useEffect)(() => {
305
+ if (!open) {
306
+ resetState();
307
+ }
308
+ }, [open]);
309
+ (0, react_1.useEffect)(() => {
310
+ if (open && inputElement && isDesktop) {
311
+ inputElement.focus();
312
+ }
313
+ }, [open, inputElement]);
314
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: { position: 'relative' }, children: (0, jsx_runtime_1.jsx)(Modal_js_1.Modal, { open: open, onOpenChange: onOpenChange, showCloseButton: false, trigger: trigger, css: {
315
+ p: '4',
316
+ display: 'flex',
317
+ flexDirection: 'column',
318
+ height: 'min(85vh, 540px)',
319
+ width: 'min(400px, 100vw)',
320
+ maxWidth: 'min(400px, 100vw)',
321
+ minWidth: 0,
322
+ boxSizing: 'border-box'
323
+ }, children: (0, jsx_runtime_1.jsxs)(index_js_1.Flex, { direction: "column", css: {
324
+ width: '100%',
325
+ height: '100%',
326
+ gap: '3',
327
+ overflowY: 'hidden',
328
+ minWidth: 0,
329
+ maxWidth: '100%'
330
+ }, children: [(0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: { gap: '1' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Button, { color: "ghost", size: "none", onClick: () => onOpenChange(false), css: {
331
+ p: '1',
332
+ minWidth: 'auto',
333
+ color: 'gray9',
334
+ cursor: 'pointer',
335
+ borderRadius: 8,
336
+ '--focusColor': 'colors.focus-color',
337
+ _focusVisible: {
338
+ boxShadow: 'inset 0 0 0 2px var(--focusColor)'
339
+ }
340
+ }, children: (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faChevronLeft, width: 20, height: 20 }) }), (0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", children: context === 'from' ? 'Pay with' : 'Sell to' })] }), (0, jsx_runtime_1.jsx)(index_js_1.Flex, { css: {
341
+ flex: 1,
342
+ gap: '3',
343
+ overflow: 'hidden',
344
+ minWidth: 0,
345
+ maxWidth: '100%'
346
+ }, children: (0, jsx_runtime_1.jsxs)(AccessibleList_js_1.AccessibleList, { onSelect: (value) => {
347
+ if (value === 'input')
348
+ return;
349
+ const [chainId, ...addressParts] = value.split(':');
350
+ const address = addressParts.join(':');
351
+ const allTokens = [
352
+ ...sortedUserTokens,
353
+ ...sortedCombinedTokens,
354
+ ...sortedTrendingTokens
355
+ ];
356
+ const selectedToken = allTokens.find((token) => token.chainId === Number(chainId) &&
357
+ token.address?.toLowerCase() === address?.toLowerCase());
358
+ if (selectedToken) {
359
+ handleTokenSelection(selectedToken);
360
+ }
361
+ }, css: {
362
+ display: 'flex',
363
+ flexDirection: 'column',
364
+ width: '100%',
365
+ minWidth: 0,
366
+ maxWidth: '100%',
367
+ height: '100%'
368
+ }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Flex, { direction: "column", align: "start", css: {
369
+ width: '100%',
370
+ gap: '2',
371
+ background: 'modal-background',
372
+ minWidth: 0,
373
+ maxWidth: '100%'
374
+ }, children: (0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: {
375
+ width: '100%',
376
+ gap: '2',
377
+ minWidth: 0,
378
+ alignItems: 'center',
379
+ height: 40
380
+ }, children: [(0, jsx_runtime_1.jsx)(AccessibleList_js_1.AccessibleListItem, { value: "input", asChild: true, css: {
381
+ flex: 1,
382
+ minWidth: 0,
383
+ display: 'flex',
384
+ alignItems: 'center'
385
+ }, children: (0, jsx_runtime_1.jsx)(index_js_1.Input, { ref: setTokenSearchInputElement, placeholder: "Search for a token", icon: (0, jsx_runtime_1.jsx)(index_js_1.Box, { css: { color: 'gray9' }, children: (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faMagnifyingGlass, width: 16, height: 16 }) }), containerCss: {
386
+ width: '100%',
387
+ height: 40
388
+ }, css: {
389
+ width: '100%',
390
+ _placeholder_parent: {
391
+ textOverflow: 'ellipsis'
392
+ }
393
+ }, onChange: (e) => {
394
+ const value = e.target.value;
395
+ setTokenSearchInput(value);
396
+ if ((0, address_js_1.isValidAddress)(chainFilter.vmType, value)) {
397
+ onAnalyticEvent?.(events_js_1.EventNames.TOKEN_SELECTOR_CONTRACT_SEARCH, {
398
+ search_term: value,
399
+ chain_filter: chainFilter.id
400
+ });
401
+ }
402
+ } }) }), (!configuredChainIds || hasMultipleConfiguredChainIds) && ((0, jsx_runtime_1.jsx)(CompactChainFilter_js_1.CompactChainFilter, { options: allChains, value: chainFilter, onSelect: setChainFilter, popularChainIds: popularChainIds, onChainStarToggle: handleChainStarToggle, starredChainIds: starredChainIds, onAnalyticEvent: onAnalyticEvent }))] }) }), (0, jsx_runtime_1.jsxs)(index_js_1.Flex, { direction: "column", css: {
403
+ flex: 1,
404
+ overflowY: 'auto',
405
+ gap: '3',
406
+ pt: '2',
407
+ scrollbarColor: 'var(--relay-colors-gray5) transparent',
408
+ minWidth: 0,
409
+ maxWidth: '100%'
410
+ }, children: [chainFilter.id &&
411
+ tokenSearchInput.length === 0 &&
412
+ !depositAddressOnly ? ((0, jsx_runtime_1.jsx)(SuggestedTokens_js_1.SuggestedTokens, { chainId: chainFilter.id, depositAddressOnly: depositAddressOnly, onSelect: (token) => {
413
+ handleTokenSelection(token);
414
+ } })) : null, tokenSearchInput.length > 0 ? ((0, jsx_runtime_1.jsx)(TokenList_js_1.TokenList, { title: "Results", tokens: sortedCombinedTokens, isLoading: isLoadingTokenList ||
415
+ tokenSearchInput !== debouncedTokenSearchValue, isLoadingBalances: isLoadingBalances, chainFilterId: chainFilter.id })) : chainFilter.id ? ((0, jsx_runtime_1.jsx)(TokenList_js_1.TokenList, { title: "Tokens", tokens: sortedCombinedTokens, isLoading: isLoadingTokenList, isLoadingBalances: isLoadingBalances, chainFilterId: chainFilter.id })) : ((0, jsx_runtime_1.jsx)(index_js_1.Flex, { direction: "column", css: { gap: '3' }, children: (() => {
416
+ const hasValidAddress = Boolean(address && isValidAddress);
417
+ const hasLoadedBalanceData = Boolean(duneTokens);
418
+ const userTokensReady = !isLoadingUserTokens;
419
+ const isWaitingForBalanceData = hasValidAddress &&
420
+ (isLoadingBalances || isLoadingUserTokens) &&
421
+ (!hasLoadedBalanceData || !userTokensReady);
422
+ if (isWaitingForBalanceData) {
423
+ return ((0, jsx_runtime_1.jsx)(PaymentTokenList_js_1.PaymentTokenList, { title: "Recommended", tokens: [], isLoading: true, isLoadingBalances: false, chainFilterId: chainFilter.id, limit: 10 }));
424
+ }
425
+ if (hasValidAddress &&
426
+ hasLoadedBalanceData &&
427
+ userTokensReady) {
428
+ const tokensWithValue = sortedUserTokens.filter((token) => token.balance?.value_usd &&
429
+ token.balance.value_usd > 0);
430
+ if (tokensWithValue.length > 0) {
431
+ const shouldShowBalanceLoading = isLoadingBalances && hasValidAddress;
432
+ return ((0, jsx_runtime_1.jsx)(PaymentTokenList_js_1.PaymentTokenList, { title: "Recommended", tokens: tokensWithValue, isLoading: false, isLoadingBalances: shouldShowBalanceLoading, chainFilterId: chainFilter.id, limit: tokensWithValue.length }));
433
+ }
434
+ }
435
+ const fallbackTokens = context === 'to' && sortedTrendingTokens.length > 0
436
+ ? sortedTrendingTokens
437
+ : sortedCombinedTokens;
438
+ const isTrendingTokens = context === 'to' && sortedTrendingTokens.length > 0;
439
+ const shouldShowBalanceLoading = isLoadingBalances && hasValidAddress;
440
+ return ((0, jsx_runtime_1.jsx)(PaymentTokenList_js_1.PaymentTokenList, { title: isTrendingTokens ? 'Global 24h' : 'Tokens', tokens: fallbackTokens.slice(0, 10), isLoading: context === 'to'
441
+ ? isLoadingTrendingTokens
442
+ : isLoadingTokenList, isLoadingBalances: shouldShowBalanceLoading, chainFilterId: chainFilter.id, limit: 10 }));
443
+ })() })), !isLoadingTokenList &&
444
+ !isLoadingExternalList &&
445
+ tokenList?.length === 0 &&
446
+ externalTokenList?.length === 0 ? ((0, jsx_runtime_1.jsxs)(index_js_1.Flex, { direction: "column", align: "center", css: { py: '5', maxWidth: 312, alignSelf: 'center' }, children: [!chainFilter?.id && isSearchTermValidAddress && ((0, jsx_runtime_1.jsx)(index_js_1.Box, { css: { color: 'gray8', mb: '2' }, children: (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faFolderOpen, size: "xl", width: 27, height: 24 }) })), (0, jsx_runtime_1.jsx)(index_js_1.Text, { color: "subtle", style: "body2", css: { textAlign: 'center' }, children: !chainFilter?.id && isSearchTermValidAddress
447
+ ? 'No results. Switch to the desired chain to search by contract.'
448
+ : 'No results.' })] })) : null] }, chainFilter.id ?? 'all')] }) })] }) }) }), unverifiedTokenModalOpen && ((0, jsx_runtime_1.jsx)(UnverifiedTokenModal_js_1.UnverifiedTokenModal, { open: unverifiedTokenModalOpen, onOpenChange: setUnverifiedTokenModalOpen, data: unverifiedToken ? { token: unverifiedToken } : undefined, onAcceptToken: (token) => {
449
+ if (token) {
450
+ handleTokenSelection(token);
451
+ }
452
+ setUnverifiedTokenModalOpen(false);
453
+ } }))] }));
454
+ };
455
+ exports.default = PaymentMethod;
456
+ //# sourceMappingURL=PaymentMethod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentMethod.js","sourceRoot":"","sources":["../../../../../src/components/common/TokenSelector/PaymentMethod.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PaymentTokenList = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const index_js_1 = require("../../primitives/index.js");
7
+ const react_fontawesome_1 = require("@fortawesome/react-fontawesome");
8
+ const free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
9
+ const numbers_js_1 = require("../../../utils/numbers.js");
10
+ const PaymentTokenList = ({ title, tokens: rawTokens, isLoading, isLoadingBalances, chainFilterId, showMoreButton, limit = 5, opacity = 1 }) => {
11
+ const [tokensExpanded, setTokensExpanded] = (0, react_1.useState)(false);
12
+ const tokens = showMoreButton && rawTokens && rawTokens.length > limit && !tokensExpanded
13
+ ? rawTokens.slice(0, limit)
14
+ : rawTokens.slice(0, limit);
15
+ if (isLoading) {
16
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: Array.from({ length: 10 }).map((_, index) => ((0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: { gap: '2', p: '2', width: '100%' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Skeleton, { css: {
17
+ width: 40,
18
+ height: 40,
19
+ borderRadius: '50%',
20
+ flexShrink: 0
21
+ } }), (0, jsx_runtime_1.jsxs)(index_js_1.Flex, { direction: "column", css: { gap: '2px', flexGrow: 1 }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Skeleton, { css: { width: '60%', height: 16 } }), (0, jsx_runtime_1.jsx)(index_js_1.Skeleton, { css: { width: '40%', height: 16 } })] })] }, index))) }));
22
+ }
23
+ if (tokens.length > 0)
24
+ return ((0, jsx_runtime_1.jsxs)(index_js_1.Flex, { direction: "column", css: { gap: '1', width: '100%' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", color: "subtle", children: title }), tokens.map((token) => {
25
+ const value = `${token.chainId}:${token.address}`;
26
+ const compactBalance = Boolean(token.balance &&
27
+ token.decimals &&
28
+ token.balance.toString().length - token.decimals > 4);
29
+ return ((0, jsx_runtime_1.jsx)(index_js_1.AccessibleListItem, { value: value, asChild: true, children: (0, jsx_runtime_1.jsxs)(index_js_1.Button, { color: "ghost", css: {
30
+ gap: '2',
31
+ cursor: 'pointer',
32
+ px: '2',
33
+ py: '2',
34
+ transition: 'backdrop-filter 250ms linear',
35
+ _hover: {
36
+ backgroundColor: 'gray/10'
37
+ },
38
+ flexShrink: 0,
39
+ alignContent: 'center',
40
+ display: 'flex',
41
+ width: '100%',
42
+ '--focusColor': 'colors.focus-color',
43
+ _focusVisible: {
44
+ boxShadow: 'inset 0 0 0 2px var(--focusColor)'
45
+ },
46
+ '&[data-state="on"]': {
47
+ boxShadow: 'inset 0 0 0 2px var(--focusColor)'
48
+ },
49
+ _active: {
50
+ boxShadow: 'inset 0 0 0 2px var(--focusColor)'
51
+ },
52
+ _focusWithin: {
53
+ boxShadow: 'inset 0 0 0 2px var(--focusColor)'
54
+ },
55
+ scrollSnapAlign: 'start',
56
+ opacity
57
+ }, children: [(0, jsx_runtime_1.jsx)(index_js_1.ChainTokenIcon, { chainId: token.chainId, tokenlogoURI: token.logoURI, tokenSymbol: token.symbol, size: "lg" }), (0, jsx_runtime_1.jsxs)(index_js_1.Flex, { direction: "column", align: "start", css: { gap: '2px', maxWidth: '100%', minWidth: 0 }, children: [(0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: { gap: '1', maxWidth: '100%' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "h6", ellipsify: true, css: {
58
+ gap: '1',
59
+ alignItems: 'center'
60
+ }, children: token.symbol }), token.isGasCurrency && chainFilterId && ((0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle3", css: {
61
+ px: '6px',
62
+ py: '4px',
63
+ borderRadius: '100px',
64
+ backgroundColor: 'gray3',
65
+ whiteSpace: 'nowrap',
66
+ flexShrink: 0,
67
+ lineHeight: '12px',
68
+ 'button:hover &': {
69
+ backgroundColor: 'gray5'
70
+ }
71
+ }, children: "Gas Token" }))] }), (0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: { gap: '1', maxWidth: '100%' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle3", color: "subtle", ellipsify: true, children: token.chain?.displayName ||
72
+ token.chain?.name ||
73
+ 'Unknown Chain' }), !token.verified ? ((0, jsx_runtime_1.jsx)(index_js_1.Box, { css: { color: 'gray8' }, children: (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faExclamationTriangle, width: 14, height: 14 }) })) : null] })] }), (token.balance || isLoadingBalances) && ((0, jsx_runtime_1.jsx)(index_js_1.Flex, { direction: "column", align: "end", css: { gap: '2px', ml: 'auto', flexShrink: 0 }, children: isLoadingBalances ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(index_js_1.Skeleton, { css: { ml: 'auto', width: 60 } }), (0, jsx_runtime_1.jsx)(index_js_1.Skeleton, { css: { ml: 'auto', width: 60 } })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [token.balance?.value_usd &&
74
+ token.balance.value_usd > 0 && ((0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "h6", children: (0, numbers_js_1.formatDollar)(token.balance?.value_usd) })), (0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle3", color: "subtle", children: (0, numbers_js_1.formatBN)(token.balance.amount, 4, token.decimals, compactBalance) })] })) }))] }) }, value));
75
+ }), showMoreButton && ((0, jsx_runtime_1.jsxs)(index_js_1.Button, { color: "grey", size: "small", corners: "pill", css: { ml: 'auto', minHeight: 24, px: '2', py: '1' }, onClick: () => setTokensExpanded(!tokensExpanded), children: [(0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle3", color: "subtle", children: tokensExpanded ? 'Less' : 'More' }), (0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "body1", css: {
76
+ color: 'gray9',
77
+ marginLeft: 'auto',
78
+ transform: tokensExpanded ? 'rotate(180deg)' : 'rotate(0)',
79
+ width: 12
80
+ }, children: (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faChevronDown }) })] }))] }));
81
+ };
82
+ exports.PaymentTokenList = PaymentTokenList;
83
+ //# sourceMappingURL=PaymentTokenList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentTokenList.js","sourceRoot":"","sources":["../../../../../src/components/common/TokenSelector/PaymentTokenList.tsx"],"names":[],"mappings":"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"}