@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,72 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, Flex, Text, Box, ChainTokenIcon, Skeleton } from '../../../primitives/index.js';
3
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
+ import { faChevronRight } from '@fortawesome/free-solid-svg-icons';
5
+ import useRelayClient from '../../../../hooks/useRelayClient.js';
6
+ import { useCurrencyBalance } from '../../../../hooks/index.js';
7
+ import { formatBN } from '../../../../utils/numbers.js';
8
+ import { evmDeadAddress, solDeadAddress, bitcoinDeadAddress } from '@relayprotocol/relay-sdk';
9
+ const normalizeAddress = (address) => {
10
+ if (!address ||
11
+ address === evmDeadAddress ||
12
+ address === solDeadAddress ||
13
+ address === bitcoinDeadAddress) {
14
+ return undefined;
15
+ }
16
+ return address.startsWith('0x') ? address.toLowerCase() : address;
17
+ };
18
+ export const PaymentMethodTrigger = ({ token, locked, address, testId, balanceLabel = 'available', placeholderText = 'Select Token' }) => {
19
+ const relayClient = useRelayClient();
20
+ const normalizedAddress = normalizeAddress(address);
21
+ const chain = relayClient?.chains?.find((c) => c.id === token?.chainId);
22
+ const { value: currencyBalanceValue, isLoading: isLoadingCurrencyBalance } = useCurrencyBalance({
23
+ chain,
24
+ address: normalizedAddress,
25
+ currency: token?.address,
26
+ enabled: Boolean(token && chain && normalizedAddress)
27
+ });
28
+ const showSkeleton = normalizedAddress && isLoadingCurrencyBalance && !currencyBalanceValue;
29
+ let balanceText = '';
30
+ if (currencyBalanceValue && token) {
31
+ const formattedBalance = formatBN(currencyBalanceValue, 4, token.decimals, false);
32
+ balanceText = `${formattedBalance} ${token.symbol} ${balanceLabel}`;
33
+ }
34
+ return token ? (_jsx(Button, { color: "white", corners: "pill", disabled: locked, css: {
35
+ height: 50,
36
+ minHeight: 50,
37
+ width: '248px',
38
+ flexShrink: 0,
39
+ overflow: 'hidden',
40
+ borderRadius: '12px',
41
+ padding: '12px',
42
+ backgroundColor: 'widget-selector-background',
43
+ border: 'none',
44
+ _hover: {
45
+ backgroundColor: 'widget-selector-hover-background'
46
+ },
47
+ _disabled: {
48
+ backgroundColor: 'widget-selector-background'
49
+ }
50
+ }, "data-testid": testId, children: _jsxs(Flex, { align: "center", justify: "between", css: { width: '100%' }, children: [_jsxs(Flex, { align: "center", css: { gap: '2' }, children: [_jsx(ChainTokenIcon, { chainId: token.chainId, tokenlogoURI: token.logoURI, tokenSymbol: token.symbol, chainIconSize: 14, css: { width: 32, height: 32 } }), _jsxs(Flex, { direction: "column", align: "start", css: { maxWidth: 150, minWidth: 60, flex: 1 }, children: [_jsx(Text, { style: "h6", ellipsify: true, css: { maxWidth: '100%' }, children: token.symbol }), showSkeleton ? (_jsx(Skeleton, { css: {
51
+ width: 70,
52
+ height: 12,
53
+ borderRadius: 4
54
+ } })) : (_jsx(Text, { style: "subtitle3", color: "subtle", css: {
55
+ lineHeight: '15px',
56
+ maxWidth: '100%',
57
+ whiteSpace: 'nowrap',
58
+ overflow: 'hidden',
59
+ textOverflow: 'ellipsis'
60
+ }, children: balanceText }))] })] }), locked ? null : (_jsx(Box, { css: { color: 'gray9', width: 14, flexShrink: 0 }, children: _jsx(FontAwesomeIcon, { icon: faChevronRight, width: 14 }) }))] }) })) : (_jsxs(Button, { color: address ? 'primary' : 'secondary', corners: "pill", cta: true, css: {
61
+ height: 50,
62
+ minHeight: 50,
63
+ width: 'max-content',
64
+ flexShrink: 0,
65
+ overflow: 'hidden',
66
+ px: '3',
67
+ py: '2',
68
+ fontWeight: 700,
69
+ fontSize: '16px'
70
+ }, children: [placeholderText, _jsx(Box, { css: { width: 14 }, children: _jsx(FontAwesomeIcon, { icon: faChevronRight, width: 14 }) })] }));
71
+ };
72
+ //# sourceMappingURL=PaymentMethodTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentMethodTrigger.js","sourceRoot":"","sources":["../../../../../../src/components/common/TokenSelector/triggers/PaymentMethodTrigger.tsx"],"names":[],"mappings":"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"}
@@ -22,9 +22,10 @@ const SIZES = {
22
22
  chain: 18
23
23
  }
24
24
  };
25
- export const ChainTokenIcon = ({ chainId, tokenlogoURI, tokenSymbol, css = {}, size = 'md', chainRadius = 4 }) => {
25
+ export const ChainTokenIcon = ({ chainId, tokenlogoURI, tokenSymbol, css = {}, size = 'md', chainRadius = 4, chainIconSize }) => {
26
26
  const isValidTokenLogo = tokenlogoURI && tokenlogoURI !== 'missing.png';
27
27
  const dimensions = SIZES[size];
28
+ const chainSize = chainIconSize ?? dimensions.chain;
28
29
  return chainId ? (_jsxs(Flex, { css: {
29
30
  position: 'relative',
30
31
  flexShrink: 0,
@@ -45,7 +46,7 @@ export const ChainTokenIcon = ({ chainId, tokenlogoURI, tokenSymbol, css = {}, s
45
46
  display: 'flex',
46
47
  alignItems: 'center',
47
48
  justifyContent: 'center'
48
- }, children: _jsx(Text, { style: "h6", children: tokenSymbol?.charAt(0).toUpperCase() }) })) : null, _jsx(ChainIcon, { chainId: chainId, width: dimensions.chain, height: dimensions.chain, borderRadius: chainRadius, css: {
49
+ }, children: _jsx(Text, { style: "h6", children: tokenSymbol?.charAt(0).toUpperCase() }) })) : null, _jsx(ChainIcon, { chainId: chainId, width: chainSize, height: chainSize, borderRadius: chainRadius, css: {
49
50
  position: 'absolute',
50
51
  right: 0,
51
52
  bottom: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"ChainTokenIcon.js","sourceRoot":"","sources":["../../../../src/components/primitives/ChainTokenIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,MAAM,OAAO,CAAA;AAC/B,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAA;AAc5B,MAAM,KAAK,GAAG;IACZ,EAAE,EAAE;QACF,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;KACV;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;KACV;IACD,EAAE,EAAE;QACF,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;KACV;IACD,EAAE,EAAE;QACF,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;KACV;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,cAAc,GAAwB,CAAC,EAClD,OAAO,EACP,YAAY,EACZ,WAAW,EACX,GAAG,GAAG,EAAE,EACR,IAAI,GAAG,IAAI,EACX,WAAW,GAAG,CAAC,EAChB,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAG,YAAY,IAAI,YAAY,KAAK,aAAa,CAAA;IACvE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IAE9B,OAAO,OAAO,CAAC,CAAC,CAAC,CACf,MAAC,IAAI,IACH,GAAG,EAAE;YACH,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,UAAU,CAAC,KAAK;YACxB,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,WAAW;YACzB,GAAG,GAAG;SACP,aAEA,gBAAgB,CAAC,CAAC,CAAC,CAClB,cACE,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,MAAM,EAAE,UAAU,CAAC,KAAK,EACxB,KAAK,EAAE;oBACL,YAAY,EAAE,IAAI;oBAClB,QAAQ,EAAE,QAAQ;iBACnB,GACD,CACH,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAChB,KAAC,GAAG,IACF,GAAG,EAAE;oBACH,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,MAAM,EAAE,UAAU,CAAC,KAAK;oBACxB,YAAY,EAAE,KAAK;oBACnB,eAAe,EAAE,UAAU;oBAC3B,KAAK,EAAE,UAAU;oBACjB,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;iBACzB,YAED,KAAC,IAAI,IAAC,KAAK,EAAC,IAAI,YAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAQ,GAC1D,CACP,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,SAAS,IACR,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,MAAM,EAAE,UAAU,CAAC,KAAK,EACxB,YAAY,EAAE,WAAW,EACzB,GAAG,EAAE;oBACH,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;oBACT,QAAQ,EAAE,QAAQ;oBAClB,eAAe,EAAE,yBAAyB;oBAC1C,MAAM,EAAE,8BAA8B;oBACtC,eAAe,EAAE,kBAAkB;iBACpC,GACD,IACG,CACR,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAA"}
1
+ {"version":3,"file":"ChainTokenIcon.js","sourceRoot":"","sources":["../../../../src/components/primitives/ChainTokenIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,MAAM,OAAO,CAAA;AAC/B,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAA;AAe5B,MAAM,KAAK,GAAG;IACZ,EAAE,EAAE;QACF,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;KACV;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;KACV;IACD,EAAE,EAAE;QACF,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;KACV;IACD,EAAE,EAAE;QACF,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;KACV;CACO,CAAA;AAEV,MAAM,CAAC,MAAM,cAAc,GAAwB,CAAC,EAClD,OAAO,EACP,YAAY,EACZ,WAAW,EACX,GAAG,GAAG,EAAE,EACR,IAAI,GAAG,IAAI,EACX,WAAW,GAAG,CAAC,EACf,aAAa,EACd,EAAE,EAAE;IACH,MAAM,gBAAgB,GAAG,YAAY,IAAI,YAAY,KAAK,aAAa,CAAA;IACvE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,SAAS,GAAG,aAAa,IAAI,UAAU,CAAC,KAAK,CAAA;IAEnD,OAAO,OAAO,CAAC,CAAC,CAAC,CACf,MAAC,IAAI,IACH,GAAG,EAAE;YACH,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,UAAU,CAAC,KAAK;YACxB,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,WAAW;YACzB,GAAG,GAAG;SACP,aAEA,gBAAgB,CAAC,CAAC,CAAC,CAClB,cACE,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,UAAU,CAAC,KAAK,EACvB,MAAM,EAAE,UAAU,CAAC,KAAK,EACxB,KAAK,EAAE;oBACL,YAAY,EAAE,IAAI;oBAClB,QAAQ,EAAE,QAAQ;iBACnB,GACD,CACH,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAChB,KAAC,GAAG,IACF,GAAG,EAAE;oBACH,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,MAAM,EAAE,UAAU,CAAC,KAAK;oBACxB,YAAY,EAAE,KAAK;oBACnB,eAAe,EAAE,UAAU;oBAC3B,KAAK,EAAE,UAAU;oBACjB,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;iBACzB,YAED,KAAC,IAAI,IAAC,KAAK,EAAC,IAAI,YAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAQ,GAC1D,CACP,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,SAAS,IACR,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,WAAW,EACzB,GAAG,EAAE;oBACH,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;oBACT,QAAQ,EAAE,QAAQ;oBAClB,eAAe,EAAE,yBAAyB;oBAC1C,MAAM,EAAE,8BAA8B;oBACtC,eAAe,EAAE,kBAAkB;iBACpC,GACD,IACG,CACR,CAAC,CAAC,CAAC,IAAI,CAAA;AACV,CAAC,CAAA"}
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import {} from 'react';
3
+ import Button from './Button.js';
4
+ import Text from './Text.js';
5
+ const convertBpsToPercent = (bps) => {
6
+ if (bps === undefined)
7
+ return undefined;
8
+ const numeric = Number(bps);
9
+ if (!Number.isFinite(numeric))
10
+ return undefined;
11
+ const percent = numeric / 100;
12
+ if (!Number.isFinite(percent))
13
+ return undefined;
14
+ const formatted = percent.toFixed(percent % 1 === 0 ? 0 : 2);
15
+ return formatted.replace(/\.0+$/, '').replace(/\.00$/, '');
16
+ };
17
+ export const SlippageButton = ({ slippageTolerance, onOpenSlippageConfig }) => {
18
+ const resolvedValue = convertBpsToPercent(slippageTolerance);
19
+ const displayValue = resolvedValue ? `${resolvedValue}%` : 'Auto';
20
+ return (_jsxs(Button, { "aria-label": "Slippage Settings", size: "none", color: "ghost", css: {
21
+ display: 'flex',
22
+ borderRadius: '8px',
23
+ alignItems: 'center',
24
+ gap: '4px',
25
+ justifyContent: 'center',
26
+ p: '1',
27
+ _hover: {
28
+ backgroundColor: 'gray2'
29
+ },
30
+ backgroundColor: 'gray3',
31
+ padding: '4px 6px'
32
+ }, onClick: () => {
33
+ onOpenSlippageConfig?.();
34
+ }, children: [_jsx(Text, { style: "subtitle3", color: "subtle", children: "Slippage" }), _jsx(Text, { style: "subtitle2", children: displayValue })] }));
35
+ };
36
+ //# sourceMappingURL=SlippageButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlippageButton.js","sourceRoot":"","sources":["../../../../src/components/primitives/SlippageButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,MAAM,OAAO,CAAA;AAC/B,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,IAAI,MAAM,WAAW,CAAA;AAO5B,MAAM,mBAAmB,GAAG,CAAC,GAAY,EAAE,EAAE;IAC3C,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAE/C,MAAM,OAAO,GAAG,OAAO,GAAG,GAAG,CAAA;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAE/C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5D,OAAO,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAA4B,CAAC,EACtD,iBAAiB,EACjB,oBAAoB,EACrB,EAAE,EAAE;IACH,MAAM,aAAa,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;IAC5D,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;IAEjE,OAAO,CACL,MAAC,MAAM,kBACM,mBAAmB,EAC9B,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,OAAO,EACb,GAAG,EAAE;YACH,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,KAAK;YACV,cAAc,EAAE,QAAQ;YACxB,CAAC,EAAE,GAAG;YACN,MAAM,EAAE;gBACN,eAAe,EAAE,OAAO;aACzB;YACD,eAAe,EAAE,OAAO;YACxB,OAAO,EAAE,SAAS;SACnB,EACD,OAAO,EAAE,GAAG,EAAE;YACZ,oBAAoB,EAAE,EAAE,CAAA;QAC1B,CAAC,aAED,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAC,QAAQ,yBAE/B,EAEP,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,YAAE,YAAY,GAAQ,IACtC,CACV,CAAA;AACH,CAAC,CAAA"}
@@ -22,11 +22,13 @@ const TabsTriggerCss = cva({
22
22
  color: 'gray12',
23
23
  borderRadius: 8,
24
24
  backgroundColor: 'transparent',
25
- border: 'none',
25
+ borderWidth: '1px',
26
+ borderStyle: 'solid',
27
+ borderColor: 'transparent',
26
28
  '&[data-state="active"]': {
27
29
  backgroundColor: 'subtle-background-color',
28
30
  '--borderColor': 'colors.gray.5',
29
- border: '1px solid var(--borderColor)'
31
+ borderColor: 'var(--borderColor)'
30
32
  }
31
33
  }
32
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../../src/components/primitives/Tabs.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAA;AACrD,OAAO,EACL,GAAG,EACH,GAAG,IAAI,SAAS,EAEjB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,UAAU,EAGX,MAAM,OAAO,CAAA;AAEd,MAAM,WAAW,GAAG,GAAG,CAAC;IACtB,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,CAAC;QACf,CAAC,EAAE,GAAG;QACN,eAAe,EAAE,OAAO;QACxB,MAAM,EAAE,MAAM;KACf;CACF,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,GAAG,CAAC;IACzB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,QAAQ;QACf,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,aAAa;QAC9B,MAAM,EAAE,MAAM;QACd,wBAAwB,EAAE;YACxB,eAAe,EAAE,yBAAyB;YAC1C,eAAe,EAAE,eAAe;YAChC,MAAM,EAAE,8BAA8B;SACvC;KACF;CACF,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,UAAU,CAKzB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAC9C,OAAO,CACL,KAAC,aAAa,CAAC,IAAI,OACb,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAE1D,QAAQ,GACU,CACtB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,UAAU,CAK5B,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAC9C,OAAO,CACL,KAAC,aAAa,CAAC,OAAO,OAChB,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAE7D,QAAQ,GACa,CACzB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,UAAU,CAK5B,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAC9C,OAAO,CACL,KAAC,aAAa,CAAC,OAAO,OAChB,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAEvC,QAAQ,GACa,CACzB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,UAAU,CAKzB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAC9C,OAAO,CACL,KAAC,aAAa,CAAC,IAAI,OACb,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAEvC,QAAQ,GACU,CACtB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../../src/components/primitives/Tabs.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAA;AACrD,OAAO,EACL,GAAG,EACH,GAAG,IAAI,SAAS,EAEjB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,UAAU,EAGX,MAAM,OAAO,CAAA;AAEd,MAAM,WAAW,GAAG,GAAG,CAAC;IACtB,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,CAAC;QACf,CAAC,EAAE,GAAG;QACN,eAAe,EAAE,OAAO;QACxB,MAAM,EAAE,MAAM;KACf;CACF,CAAC,CAAA;AAEF,MAAM,cAAc,GAAG,GAAG,CAAC;IACzB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,SAAS;QACjB,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,QAAQ;QACf,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,aAAa;QAC9B,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,aAAa;QAC1B,wBAAwB,EAAE;YACxB,eAAe,EAAE,yBAAyB;YAC1C,eAAe,EAAE,eAAe;YAChC,WAAW,EAAE,oBAAoB;SAClC;KACF;CACF,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,UAAU,CAKzB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAC9C,OAAO,CACL,KAAC,aAAa,CAAC,IAAI,OACb,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAE1D,QAAQ,GACU,CACtB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,UAAU,CAK5B,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAC9C,OAAO,CACL,KAAC,aAAa,CAAC,OAAO,OAChB,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAE7D,QAAQ,GACa,CACzB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,WAAW,GAAG,UAAU,CAK5B,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAC9C,OAAO,CACL,KAAC,aAAa,CAAC,OAAO,OAChB,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAEvC,QAAQ,GACa,CACzB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,UAAU,CAKzB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE;IAC9C,OAAO,CACL,KAAC,aAAa,CAAC,IAAI,OACb,KAAK,EACT,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAEvC,QAAQ,GACU,CACtB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA"}
@@ -3,13 +3,20 @@ import {} from 'react';
3
3
  import { Button } from '../primitives/index.js';
4
4
  import { useMounted } from '../../hooks/index.js';
5
5
  import { EventNames } from '../../constants/events.js';
6
- const SwapButton = ({ transactionModalOpen, depositAddressModalOpen, isValidFromAddress, isValidToAddress, context, showHighPriceImpactWarning, onConnectWallet, quote, address, hasInsufficientBalance, isInsufficientLiquidityError, debouncedInputAmountValue, debouncedOutputAmountValue, isSameCurrencySameRecipientSwap, fromChainWalletVMSupported, recipientWalletSupportsChain, onClick, ctaCopy, onAnalyticEvent, isFetchingQuote }) => {
6
+ const SwapButton = ({ transactionModalOpen, depositAddressModalOpen, isValidFromAddress, isValidToAddress, context, showHighPriceImpactWarning = false, disableSwapButton = false, tokenWidgetMode = false, hasValidAmount = true, onConnectWallet, quote, address, hasInsufficientBalance, isInsufficientLiquidityError, debouncedInputAmountValue, debouncedOutputAmountValue, isSameCurrencySameRecipientSwap, fromChainWalletVMSupported, recipientWalletSupportsChain, onClick, ctaCopy, onAnalyticEvent, isFetchingQuote }) => {
7
7
  const isMounted = useMounted();
8
8
  if (isMounted && (address || !fromChainWalletVMSupported)) {
9
9
  const invalidAmount = !quote ||
10
10
  Number(debouncedInputAmountValue) === 0 ||
11
11
  Number(debouncedOutputAmountValue) === 0;
12
- return (_jsx(Button, { css: { justifyContent: 'center' }, color: showHighPriceImpactWarning ? 'error' : 'primary', "aria-label": context, cta: true, disabled: isFetchingQuote ||
12
+ const isWalletSelectionPrompt = tokenWidgetMode && (ctaCopy.includes('Select') || ctaCopy.includes('Enter'));
13
+ const isSelectTokenPrompt = tokenWidgetMode && ctaCopy === 'Select a token';
14
+ const buttonDisabled = tokenWidgetMode
15
+ ? (disableSwapButton ||
16
+ isFetchingQuote ||
17
+ isSelectTokenPrompt ||
18
+ (!isWalletSelectionPrompt && !hasValidAmount))
19
+ : (isFetchingQuote ||
13
20
  (isValidToAddress &&
14
21
  (isValidFromAddress || !fromChainWalletVMSupported) &&
15
22
  (invalidAmount ||
@@ -18,11 +25,32 @@ const SwapButton = ({ transactionModalOpen, depositAddressModalOpen, isValidFrom
18
25
  transactionModalOpen ||
19
26
  depositAddressModalOpen ||
20
27
  isSameCurrencySameRecipientSwap ||
21
- !recipientWalletSupportsChain)), "data-testid": "swap-button", onClick: () => {
22
- onClick();
23
- }, children: ctaCopy }));
28
+ !recipientWalletSupportsChain ||
29
+ disableSwapButton)));
30
+ const buttonLabel = tokenWidgetMode && isFetchingQuote && hasValidAmount
31
+ ? 'Fetching quote'
32
+ : ctaCopy;
33
+ return (_jsx(Button, { css: {
34
+ justifyContent: 'center',
35
+ width: tokenWidgetMode ? '100%' : undefined,
36
+ textTransform: tokenWidgetMode ? 'uppercase' : undefined,
37
+ fontFamily: tokenWidgetMode ? 'heading' : undefined,
38
+ fontWeight: tokenWidgetMode ? 700 : undefined,
39
+ fontStyle: tokenWidgetMode ? 'var(--relay-fonts-button-cta-font-style, italic)' : undefined
40
+ }, color: showHighPriceImpactWarning ? 'error' : 'primary', "aria-label": context, cta: true, disabled: buttonDisabled, "data-testid": tokenWidgetMode ? "token-action-button" : "swap-button", onClick: () => {
41
+ if (!buttonDisabled) {
42
+ onClick();
43
+ }
44
+ }, children: buttonLabel }));
24
45
  }
25
- return (_jsx(Button, { cta: true, css: { justifyContent: 'center' }, "aria-label": "Connect wallet", onClick: () => {
46
+ return (_jsx(Button, { cta: true, css: {
47
+ justifyContent: 'center',
48
+ width: tokenWidgetMode ? '100%' : undefined,
49
+ textTransform: tokenWidgetMode ? 'uppercase' : undefined,
50
+ fontFamily: tokenWidgetMode ? 'heading' : undefined,
51
+ fontWeight: tokenWidgetMode ? 700 : undefined,
52
+ fontStyle: tokenWidgetMode ? 'var(--relay-fonts-button-cta-font-style, italic)' : undefined
53
+ }, "aria-label": "Connect wallet", onClick: () => {
26
54
  if (!onConnectWallet) {
27
55
  throw 'Missing onWalletConnect function';
28
56
  }
@@ -30,7 +58,7 @@ const SwapButton = ({ transactionModalOpen, depositAddressModalOpen, isValidFrom
30
58
  onAnalyticEvent?.(EventNames.CONNECT_WALLET_CLICKED, {
31
59
  context
32
60
  });
33
- }, "data-testid": "widget-connect-wallet-button", children: "Connect Wallet" }));
61
+ }, "data-testid": tokenWidgetMode ? "token-widget-connect-wallet-button" : "widget-connect-wallet-button", children: "Connect Wallet" }));
34
62
  };
35
63
  export default SwapButton;
36
64
  //# sourceMappingURL=SwapButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SwapButton.js","sourceRoot":"","sources":["../../../../src/components/widgets/SwapButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AA2BtD,MAAM,UAAU,GAAwB,CAAC,EACvC,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,0BAA0B,EAC1B,eAAe,EACf,KAAK,EACL,OAAO,EACP,sBAAsB,EACtB,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,EAC1B,4BAA4B,EAC5B,OAAO,EACP,OAAO,EACP,eAAe,EACf,eAAe,EAChB,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,UAAU,EAAE,CAAA;IAE9B,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC1D,MAAM,aAAa,GACjB,CAAC,KAAK;YACN,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC;YACvC,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAA;QAE1C,OAAO,CACL,KAAC,MAAM,IACL,GAAG,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,EACjC,KAAK,EAAE,0BAA0B,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,gBAC3C,OAAO,EACnB,GAAG,EAAE,IAAI,EACT,QAAQ,EACN,eAAe;gBACf,CAAC,gBAAgB;oBACf,CAAC,kBAAkB,IAAI,CAAC,0BAA0B,CAAC;oBACnD,CAAC,aAAa;wBACZ,sBAAsB;wBACtB,4BAA4B;wBAC5B,oBAAoB;wBACpB,uBAAuB;wBACvB,+BAA+B;wBAC/B,CAAC,4BAA4B,CAAC,CAAC,iBAEzB,aAAa,EACzB,OAAO,EAAE,GAAG,EAAE;gBACZ,OAAO,EAAE,CAAA;YACX,CAAC,YAEA,OAAO,GACD,CACV,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,MAAM,IACL,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,gBACtB,gBAAgB,EAC3B,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,kCAAkC,CAAA;YAC1C,CAAC;YAED,eAAe,EAAE,CAAA;YACjB,eAAe,EAAE,CAAC,UAAU,CAAC,sBAAsB,EAAE;gBACnD,OAAO;aACR,CAAC,CAAA;QACJ,CAAC,iBACW,8BAA8B,+BAGnC,CACV,CAAA;AACH,CAAC,CAAA;AAED,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"SwapButton.js","sourceRoot":"","sources":["../../../../src/components/widgets/SwapButton.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import {} from 'react';
3
+ import { Flex, Text, Button } from '../../primitives/index.js';
4
+ import { SwitchIcon } from '../../../icons/index.js';
5
+ const AmountModeToggle = ({ children, onToggle, textProps, buttonAriaLabel = 'Switch Input Mode' }) => {
6
+ const mergedTextProps = {
7
+ style: 'subtitle3',
8
+ color: 'subtleSecondary',
9
+ ...textProps
10
+ };
11
+ return (_jsxs(Flex, { align: "center", css: {
12
+ gap: '8px',
13
+ _hover: { cursor: 'pointer' }
14
+ }, onClick: () => {
15
+ onToggle();
16
+ }, children: [_jsx(Text, { ...mergedTextProps, children: children }), _jsx(Button, { "aria-label": buttonAriaLabel, size: "none", color: "ghost", css: {
17
+ color: 'gray11',
18
+ alignSelf: 'center',
19
+ justifyContent: 'center',
20
+ width: '20px',
21
+ height: '20px',
22
+ borderRadius: '100px',
23
+ padding: '4px',
24
+ backgroundColor: 'gray3'
25
+ }, onClick: () => {
26
+ onToggle();
27
+ }, children: _jsx(SwitchIcon, { width: 16, height: 10 }) })] }));
28
+ };
29
+ export default AmountModeToggle;
30
+ //# sourceMappingURL=AmountModeToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmountModeToggle.js","sourceRoot":"","sources":["../../../../../src/components/widgets/TokenWidget/AmountModeToggle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0D,MAAM,OAAO,CAAA;AAC9E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAWpD,MAAM,gBAAgB,GAA8B,CAAC,EACnD,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,eAAe,GAAG,mBAAmB,EACtC,EAAE,EAAE;IACH,MAAM,eAAe,GAAc;QACjC,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,iBAAiB;QACxB,GAAG,SAAS;KACb,CAAA;IAED,OAAO,CACL,MAAC,IAAI,IACH,KAAK,EAAC,QAAQ,EACd,GAAG,EAAE;YACH,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;SAC9B,EACD,OAAO,EAAE,GAAG,EAAE;YACZ,QAAQ,EAAE,CAAA;QACZ,CAAC,aAED,KAAC,IAAI,OAAK,eAAe,YAAG,QAAQ,GAAQ,EAC5C,KAAC,MAAM,kBACO,eAAe,EAC3B,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,OAAO,EACb,GAAG,EAAE;oBACH,KAAK,EAAE,QAAQ;oBACf,SAAS,EAAE,QAAQ;oBACnB,cAAc,EAAE,QAAQ;oBACxB,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,YAAY,EAAE,OAAO;oBACrB,OAAO,EAAE,KAAK;oBACd,eAAe,EAAE,OAAO;iBACzB,EACD,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,EAAE,CAAA;gBACZ,CAAC,YAED,KAAC,UAAU,IAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GAC9B,IACJ,CACR,CAAA;AACH,CAAC,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import {} from 'react';
3
+ import { Flex, Text } from '../../primitives/index.js';
4
+ import { SlippageToleranceConfig } from '../../common/SlippageToleranceConfig.js';
5
+ const AmountSectionHeader = ({ label, slippageTolerance, onSlippageToleranceChange, onAnalyticEvent, onOpenSlippageConfig }) => (_jsxs(Flex, { align: "center", justify: "between", css: { gap: '2', width: '100%' }, children: [_jsx(Text, { style: "subtitle2", children: label }), _jsx(SlippageToleranceConfig, { label: "Slippage", showGearIcon: false, showLabel: true, currentSlippageTolerance: slippageTolerance, setSlippageTolerance: onSlippageToleranceChange ?? (() => { }), onAnalyticEvent: onAnalyticEvent, onOpenSlippageConfig: onOpenSlippageConfig, widgetType: "token" })] }));
6
+ export default AmountSectionHeader;
7
+ //# sourceMappingURL=AmountSectionHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmountSectionHeader.js","sourceRoot":"","sources":["../../../../../src/components/widgets/TokenWidget/AmountSectionHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAW,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AAUjF,MAAM,mBAAmB,GAAiC,CAAC,EACzD,KAAK,EACL,iBAAiB,EACjB,yBAAyB,EACzB,eAAe,EACf,oBAAoB,EACrB,EAAE,EAAE,CAAC,CACJ,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,aACrE,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,YAAE,KAAK,GAAQ,EACtC,KAAC,uBAAuB,IACtB,KAAK,EAAC,UAAU,EAChB,YAAY,EAAE,KAAK,EACnB,SAAS,EAAE,IAAI,EACf,wBAAwB,EAAE,iBAAiB,EAC3C,oBAAoB,EAAE,yBAAyB,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAC7D,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,UAAU,EAAC,OAAO,GAClB,IACG,CACR,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -0,0 +1,215 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { TabsContent } from '../../primitives/Tabs.js';
3
+ import { Flex, Text } from '../../primitives/index.js';
4
+ import AmountInput from '../../common/AmountInput.js';
5
+ import { formatFixedLength, formatNumber, formatDollar } from '../../../utils/numbers.js';
6
+ import { PriceImpact } from '../SwapWidget/PriceImpact.js';
7
+ import { BalanceDisplay } from '../../common/BalanceDisplay.js';
8
+ import { Divider } from '@relayprotocol/relay-design-system/jsx';
9
+ import { MultiWalletDropdown } from '../../common/MultiWalletDropdown.js';
10
+ import PaymentMethod from '../../common/TokenSelector/PaymentMethod.js';
11
+ import { EventNames } from '../../../constants/events.js';
12
+ import { isChainLocked } from '../../../utils/tokenSelector.js';
13
+ import { isDeadAddress, tronDeadAddress } from '@relayprotocol/relay-sdk';
14
+ import SwapButton from '../SwapButton.js';
15
+ import { PaymentMethodTrigger } from '../../common/TokenSelector/triggers/PaymentMethodTrigger.js';
16
+ import AmountSectionHeader from './AmountSectionHeader.js';
17
+ import AmountModeToggle from './AmountModeToggle.js';
18
+ import TransactionDetailsFooter from './TransactionDetailsFooter.js';
19
+ import SectionContainer from './SectionContainer.js';
20
+ import { WidgetErrorWell } from '../WidgetErrorWell.js';
21
+ import { FeeBreakdownInfo } from './FeeBreakdownInfo.js';
22
+ import { DestinationWalletSelector } from './DestinationWalletSelector.js';
23
+ const BuyTabContent = ({ slippageTolerance, onOpenSlippageConfig, onSlippageToleranceChange, isUsdInputMode, usdOutputValue, tradeType, amountOutputValue, amountInputValue, toToken, fromToken, quote, isFetchingQuote, isLoadingToTokenPrice, outputAmountUsd, toTokenPriceData, setUsdOutputValue, setTradeType, setAmountOutputValue, setAmountInputValue, setUsdInputValue, debouncedAmountOutputControls, onAnalyticEvent, feeBreakdown, isLoadingFromBalance, fromBalance, fromBalancePending, toBalance, isLoadingToBalance, toBalancePending, address, timeEstimate, multiWalletSupportEnabled, toChainWalletVMSupported, fromChain, disablePasteWalletAddressOption, recipient, setCustomToAddress, setDestinationAddressOverride, onConnectWallet, onLinkNewWallet, linkedWallets, toChain, isValidToAddress, isRecipientLinked, setAddressModalOpen, toDisplayName, isValidFromAddress, fromChainWalletVMSupported, supportedWalletVMs, handleSetFromToken, handleSetToToken, onSetPrimaryWallet, setOriginAddressOverride, lockToToken, lockFromToken, isSingleChainLocked, lockChainId, popularChainIds, transactionModalOpen, depositAddressModalOpen, hasInsufficientBalance, isInsufficientLiquidityError, recipientWalletSupportsChain, isSameCurrencySameRecipientSwap, debouncedInputAmountValue, debouncedOutputAmountValue, showHighPriceImpactWarning, disableSwapButton, toggleInputMode, onPrimaryAction, error, relayerFeeProportion, highRelayerServiceFee, isCapacityExceededError, isCouldNotExecuteError, supportsExternalLiquidity, recipientLinkedWallet, toChainVmType, ctaCopy }) => {
24
+ const displayCta = [
25
+ 'Swap',
26
+ 'Confirm',
27
+ 'Bridge',
28
+ 'Send',
29
+ 'Wrap',
30
+ 'Unwrap'
31
+ ].includes(ctaCopy)
32
+ ? 'Buy'
33
+ : ctaCopy;
34
+ const fromChainId = fromToken?.chainId;
35
+ const lockedChainIds = isSingleChainLocked
36
+ ? lockChainId !== undefined
37
+ ? [lockChainId]
38
+ : undefined
39
+ : isChainLocked(fromChainId, lockChainId, toToken?.chainId, lockFromToken) && fromChainId !== undefined
40
+ ? [fromChainId]
41
+ : undefined;
42
+ const hasSelectedTokens = Boolean(fromToken && toToken);
43
+ const invalidAmount = !quote ||
44
+ Number(debouncedInputAmountValue) === 0 ||
45
+ Number(debouncedOutputAmountValue) === 0 ||
46
+ !hasSelectedTokens;
47
+ const hasValidOutputAmount = toToken && amountOutputValue && Number(amountOutputValue) > 0;
48
+ const currencyInAmountUsd = quote?.details?.currencyIn?.amountUsd;
49
+ const currencyInAmountFormatted = quote?.details?.currencyIn?.amountFormatted;
50
+ const isLoadingPayWith = hasValidOutputAmount && isFetchingQuote && fromToken && !currencyInAmountUsd;
51
+ return (_jsx(TabsContent, { value: "buy", children: _jsxs(SectionContainer, { css: {
52
+ backgroundColor: 'widget-background',
53
+ border: '1px solid',
54
+ borderColor: 'slate.4'
55
+ }, id: 'buy-token-section', children: [_jsx(AmountSectionHeader, { label: "Amount", slippageTolerance: slippageTolerance, onOpenSlippageConfig: onOpenSlippageConfig, onSlippageToleranceChange: onSlippageToleranceChange, onAnalyticEvent: onAnalyticEvent }), _jsx(Flex, { align: "center", justify: "between", css: { width: '100%' }, children: _jsx(AmountInput, { prefixSymbol: isUsdInputMode ? '$' : undefined, value: isUsdInputMode
56
+ ? usdOutputValue
57
+ : tradeType === 'EXPECTED_OUTPUT'
58
+ ? amountOutputValue
59
+ : amountOutputValue
60
+ ? formatFixedLength(amountOutputValue, 8)
61
+ : amountOutputValue, setValue: (value) => {
62
+ if (isUsdInputMode) {
63
+ setUsdOutputValue(value);
64
+ setTradeType('EXPECTED_OUTPUT');
65
+ if (Number(value) === 0) {
66
+ setAmountInputValue('');
67
+ setUsdInputValue('');
68
+ debouncedAmountOutputControls.flush();
69
+ }
70
+ }
71
+ else {
72
+ setAmountOutputValue(value);
73
+ setTradeType('EXPECTED_OUTPUT');
74
+ if (Number(value) === 0) {
75
+ setAmountInputValue('');
76
+ debouncedAmountOutputControls.flush();
77
+ }
78
+ }
79
+ }, disabled: !toToken || !fromChainWalletVMSupported, onClick: () => {
80
+ onAnalyticEvent?.(EventNames.SWAP_OUTPUT_FOCUSED);
81
+ }, css: {
82
+ fontWeight: '700',
83
+ fontSize: 32,
84
+ lineHeight: '32px',
85
+ py: 0,
86
+ color: isFetchingQuote && tradeType === 'EXACT_INPUT'
87
+ ? 'text-subtle'
88
+ : 'input-color',
89
+ _placeholder: {
90
+ color: isFetchingQuote && tradeType === 'EXACT_INPUT'
91
+ ? 'text-subtle'
92
+ : 'input-color'
93
+ },
94
+ _disabled: {
95
+ cursor: 'not-allowed',
96
+ _placeholder: {
97
+ color: 'gray10'
98
+ },
99
+ color: 'gray10'
100
+ }
101
+ } }) }), _jsxs(Flex, { align: "center", justify: "between", css: { gap: '3', width: '100%' }, children: [_jsxs(Flex, { align: "center", css: {
102
+ gap: '3',
103
+ minHeight: 18
104
+ }, children: [_jsx(AmountModeToggle, { onToggle: toggleInputMode, children: isUsdInputMode
105
+ ? toToken
106
+ ? usdOutputValue && Number(usdOutputValue) > 0
107
+ ? amountOutputValue && !isLoadingToTokenPrice
108
+ ? `${formatNumber(amountOutputValue, 4, false)} ${toToken.symbol}`
109
+ : '...'
110
+ : `0 ${toToken.symbol}`
111
+ : null
112
+ : toToken &&
113
+ quote?.details?.currencyOut?.amountUsd &&
114
+ !isFetchingQuote
115
+ ? formatDollar(Number(quote.details.currencyOut.amountUsd))
116
+ : toToken &&
117
+ isLoadingToTokenPrice &&
118
+ amountOutputValue &&
119
+ Number(amountOutputValue) > 0
120
+ ? '...'
121
+ : toToken &&
122
+ outputAmountUsd &&
123
+ outputAmountUsd > 0 &&
124
+ toTokenPriceData?.price &&
125
+ toTokenPriceData.price > 0
126
+ ? formatDollar(outputAmountUsd)
127
+ : '$0.00' }), _jsx(PriceImpact, { toToken: toToken, isFetchingQuote: isFetchingQuote, feeBreakdown: feeBreakdown, quote: quote })] }), _jsx(Flex, { css: { marginLeft: 'auto' }, children: toToken ? (_jsx(BalanceDisplay, { hideBalanceLabel: true, displaySymbol: true, isLoading: isLoadingToBalance, balance: toBalance, decimals: toToken?.decimals, symbol: toToken?.symbol, isConnected: !isDeadAddress(recipient) &&
128
+ recipient !== tronDeadAddress &&
129
+ recipient !== undefined, pending: toBalancePending, size: "md" })) : (_jsx(Flex, { css: { height: 18 } })) })] }), _jsx(Divider, { color: "gray4" }), _jsxs(Flex, { align: "center", css: { width: '100%', gap: '2' }, children: [_jsx(Text, { style: "subtitle2", color: "subtle", children: "Pay with" }), multiWalletSupportEnabled && fromChainWalletVMSupported ? (_jsx(MultiWalletDropdown, { context: "origin", disablePasteWalletAddressOption: disablePasteWalletAddressOption, selectedWalletAddress: address, onSelect: (wallet) => {
130
+ setOriginAddressOverride(wallet.address);
131
+ onSetPrimaryWallet?.(wallet.address);
132
+ if (wallet.address !== address) {
133
+ handleSetFromToken(undefined);
134
+ }
135
+ }, chain: fromChain, disableWalletFiltering: true, onLinkNewWallet: () => {
136
+ if (!address && fromChainWalletVMSupported) {
137
+ onConnectWallet?.();
138
+ }
139
+ else {
140
+ onLinkNewWallet?.({
141
+ chain: fromChain,
142
+ direction: 'from'
143
+ })?.then((wallet) => {
144
+ if (wallet) {
145
+ setOriginAddressOverride(wallet.address);
146
+ onSetPrimaryWallet?.(wallet.address);
147
+ }
148
+ });
149
+ }
150
+ }, setAddressModalOpen: setAddressModalOpen, wallets: linkedWallets ?? [], onAnalyticEvent: onAnalyticEvent, testId: "origin-wallet-select-button" })) : null] }), _jsxs(Flex, { justify: "between", css: { width: '100%' }, children: [_jsx(PaymentMethod, { address: address, isValidAddress: isValidFromAddress, token: fromToken, onAnalyticEvent: onAnalyticEvent, fromChainWalletVMSupported: fromChainWalletVMSupported, supportedWalletVMs: supportedWalletVMs, linkedWallets: linkedWallets, multiWalletSupportEnabled: multiWalletSupportEnabled, context: "from", autoSelectToken: false, setToken: (token) => {
151
+ if (token?.address === toToken?.address &&
152
+ token?.chainId === toToken?.chainId &&
153
+ address === recipient &&
154
+ (!lockToToken || !fromToken)) {
155
+ handleSetFromToken(toToken);
156
+ handleSetToToken(fromToken);
157
+ }
158
+ else {
159
+ handleSetFromToken(token);
160
+ }
161
+ }, lockedChainIds: lockedChainIds, chainIdsFilter: !fromChainWalletVMSupported && toToken
162
+ ? [toToken.chainId]
163
+ : undefined, popularChainIds: popularChainIds, trigger: _jsx("div", { style: { width: 'max-content' }, children: _jsx(PaymentMethodTrigger, { token: fromToken, locked: lockFromToken, address: address, testId: "origin-token-select-button", balanceLabel: "available" }) }) }), _jsx(FeeBreakdownInfo, { isLoading: Boolean(isLoadingPayWith), amountUsd: currencyInAmountUsd, tokenAmountFormatted: currencyInAmountFormatted, fallbackTokenAmount: amountInputValue, quote: quote, feeBreakdown: feeBreakdown, token: fromToken })] }), _jsx(Divider, { color: "gray4" }), _jsxs(Flex, { direction: "column", css: { gap: '2', width: '100%' }, children: [_jsx(DestinationWalletSelector, { label: "Send to", isMultiWalletEnabled: multiWalletSupportEnabled, walletSupported: toChainWalletVMSupported, dropdownProps: {
164
+ disablePasteWalletAddressOption,
165
+ selectedWalletAddress: recipient,
166
+ onSelect: (wallet) => {
167
+ setDestinationAddressOverride(wallet.address);
168
+ setCustomToAddress(undefined);
169
+ },
170
+ chain: toChain,
171
+ disableWalletFiltering: false,
172
+ onLinkNewWallet: () => {
173
+ if (!address && toChainWalletVMSupported) {
174
+ onConnectWallet?.();
175
+ }
176
+ else {
177
+ onLinkNewWallet?.({
178
+ chain: toChain,
179
+ direction: 'to'
180
+ })?.then((wallet) => {
181
+ if (!wallet) {
182
+ return;
183
+ }
184
+ setDestinationAddressOverride(wallet.address);
185
+ setCustomToAddress(undefined);
186
+ });
187
+ }
188
+ },
189
+ setAddressModalOpen,
190
+ wallets: linkedWallets ?? [],
191
+ onAnalyticEvent,
192
+ testId: 'destination-wallet-select-button'
193
+ }, fallback: {
194
+ highlighted: Boolean(isValidToAddress &&
195
+ multiWalletSupportEnabled &&
196
+ !isRecipientLinked),
197
+ text: !isValidToAddress ? 'Enter Address' : (toDisplayName ?? ''),
198
+ onClick: () => {
199
+ setDestinationAddressOverride(undefined);
200
+ setAddressModalOpen(true);
201
+ onAnalyticEvent?.(EventNames.SWAP_ADDRESS_MODAL_CLICKED);
202
+ },
203
+ showClipboard: Boolean(isValidToAddress &&
204
+ multiWalletSupportEnabled &&
205
+ !isRecipientLinked)
206
+ } }), _jsx(WidgetErrorWell, { hasInsufficientBalance: hasInsufficientBalance, error: error, quote: quote, currency: fromToken, relayerFeeProportion: relayerFeeProportion, isHighRelayerServiceFee: highRelayerServiceFee, isCapacityExceededError: isCapacityExceededError, isCouldNotExecuteError: isCouldNotExecuteError, supportsExternalLiquidity: supportsExternalLiquidity, recipientWalletSupportsChain: recipientWalletSupportsChain, recipient: recipient, toChainWalletVMSupported: toChainWalletVMSupported, recipientLinkedWallet: recipientLinkedWallet, toChainVmType: toChainVmType, containerCss: { width: '100%' } })] }), _jsx(Flex, { css: { width: '100%' }, children: _jsx(SwapButton, { context: "Buy", transactionModalOpen: transactionModalOpen, depositAddressModalOpen: depositAddressModalOpen, showHighPriceImpactWarning: showHighPriceImpactWarning, disableSwapButton: disableSwapButton, tokenWidgetMode: true, hasValidAmount: !invalidAmount, quote: quote, address: address, hasInsufficientBalance: hasInsufficientBalance, isInsufficientLiquidityError: isInsufficientLiquidityError, debouncedInputAmountValue: debouncedInputAmountValue, debouncedOutputAmountValue: debouncedOutputAmountValue, isSameCurrencySameRecipientSwap: isSameCurrencySameRecipientSwap, ctaCopy: displayCta, isValidFromAddress: isValidFromAddress, isValidToAddress: isValidToAddress, fromChainWalletVMSupported: fromChainWalletVMSupported, recipientWalletSupportsChain: recipientWalletSupportsChain, isFetchingQuote: isFetchingQuote, onClick: () => {
207
+ onAnalyticEvent?.('TOKEN_BUY_CLICKED', {
208
+ token: toToken,
209
+ amount: amountOutputValue
210
+ });
211
+ onPrimaryAction();
212
+ }, onConnectWallet: onConnectWallet, onAnalyticEvent: onAnalyticEvent }) }), _jsx(TransactionDetailsFooter, { timeEstimate: timeEstimate, feeBreakdown: feeBreakdown, quote: quote })] }) }));
213
+ };
214
+ export default BuyTabContent;
215
+ //# sourceMappingURL=BuyTabContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuyTabContent.js","sourceRoot":"","sources":["../../../../../src/components/widgets/TokenWidget/BuyTabContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,WAAW,MAAM,6BAA6B,CAAA;AACrD,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACb,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAA;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AACzE,OAAO,aAAa,MAAM,6CAA6C,CAAA;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAA;AAK/D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AACzE,OAAO,UAAU,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAA;AAClG,OAAO,mBAAmB,MAAM,0BAA0B,CAAA;AAC1D,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AACpD,OAAO,wBAAwB,MAAM,+BAA+B,CAAA;AACpE,OAAO,gBAAgB,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AA8G1E,MAAM,aAAa,GAA2B,CAAC,EAC7C,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,EACd,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,SAAS,EACT,KAAK,EACL,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,6BAA6B,EAC7B,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,yBAAyB,EACzB,wBAAwB,EACxB,SAAS,EACT,+BAA+B,EAC/B,SAAS,EACT,kBAAkB,EAClB,6BAA6B,EAC7B,eAAe,EACf,eAAe,EACf,aAAa,EACb,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,4BAA4B,EAC5B,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,KAAK,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,aAAa,EACb,OAAO,EACR,EAAE,EAAE;IACH,MAAM,UAAU,GAAG;QACjB,MAAM;QACN,SAAS;QACT,QAAQ;QACR,MAAM;QACN,MAAM;QACN,QAAQ;KACT,CAAC,QAAQ,CAAC,OAAO,CAAC;QACjB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,OAAO,CAAA;IAEX,MAAM,WAAW,GAAG,SAAS,EAAE,OAAO,CAAA;IACtC,MAAM,cAAc,GAAG,mBAAmB;QACxC,CAAC,CAAC,WAAW,KAAK,SAAS;YACzB,CAAC,CAAC,CAAC,WAAW,CAAC;YACf,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,aAAa,CACT,WAAW,EACX,WAAW,EACX,OAAO,EAAE,OAAO,EAChB,aAAa,CACd,IAAI,WAAW,KAAK,SAAS;YAChC,CAAC,CAAC,CAAC,WAAW,CAAC;YACf,CAAC,CAAC,SAAS,CAAA;IAEf,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,CAAA;IACvD,MAAM,aAAa,GACjB,CAAC,KAAK;QACN,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC;QACvC,MAAM,CAAC,0BAA0B,CAAC,KAAK,CAAC;QACxC,CAAC,iBAAiB,CAAA;IAEpB,MAAM,oBAAoB,GACxB,OAAO,IAAI,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAE/D,MAAM,mBAAmB,GAAG,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,CAAA;IACjE,MAAM,yBAAyB,GAAG,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,CAAA;IAE7E,MAAM,gBAAgB,GACpB,oBAAoB,IAAI,eAAe,IAAI,SAAS,IAAI,CAAC,mBAAmB,CAAA;IAE9E,OAAO,CACL,KAAC,WAAW,IAAC,KAAK,EAAC,KAAK,YACtB,MAAC,gBAAgB,IACf,GAAG,EAAE;gBACH,eAAe,EAAE,mBAAmB;gBACpC,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,SAAS;aACvB,EACD,EAAE,EAAE,mBAAmB,aAEvB,KAAC,mBAAmB,IAClB,KAAK,EAAC,QAAQ,EACd,iBAAiB,EAAE,iBAAiB,EACpC,oBAAoB,EAAE,oBAAoB,EAC1C,yBAAyB,EAAE,yBAAyB,EACpD,eAAe,EAAE,eAAe,GAChC,EACF,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAC3D,KAAC,WAAW,IACV,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAC9C,KAAK,EACH,cAAc;4BACZ,CAAC,CAAC,cAAc;4BAChB,CAAC,CAAC,SAAS,KAAK,iBAAiB;gCAC/B,CAAC,CAAC,iBAAiB;gCACnB,CAAC,CAAC,iBAAiB;oCACjB,CAAC,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,CAAC;oCACzC,CAAC,CAAC,iBAAiB,EAE3B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAClB,IAAI,cAAc,EAAE,CAAC;gCACnB,iBAAiB,CAAC,KAAK,CAAC,CAAA;gCACxB,YAAY,CAAC,iBAAiB,CAAC,CAAA;gCAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oCACxB,mBAAmB,CAAC,EAAE,CAAC,CAAA;oCACvB,gBAAgB,CAAC,EAAE,CAAC,CAAA;oCACpB,6BAA6B,CAAC,KAAK,EAAE,CAAA;gCACvC,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,oBAAoB,CAAC,KAAK,CAAC,CAAA;gCAC3B,YAAY,CAAC,iBAAiB,CAAC,CAAA;gCAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oCACxB,mBAAmB,CAAC,EAAE,CAAC,CAAA;oCACvB,6BAA6B,CAAC,KAAK,EAAE,CAAA;gCACvC,CAAC;4BACH,CAAC;wBACH,CAAC,EACD,QAAQ,EAAE,CAAC,OAAO,IAAI,CAAC,0BAA0B,EACjD,OAAO,EAAE,GAAG,EAAE;4BACZ,eAAe,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAA;wBACnD,CAAC,EACD,GAAG,EAAE;4BACH,UAAU,EAAE,KAAK;4BACjB,QAAQ,EAAE,EAAE;4BACZ,UAAU,EAAE,MAAM;4BAClB,EAAE,EAAE,CAAC;4BACL,KAAK,EACH,eAAe,IAAI,SAAS,KAAK,aAAa;gCAC5C,CAAC,CAAC,aAAa;gCACf,CAAC,CAAC,aAAa;4BACnB,YAAY,EAAE;gCACZ,KAAK,EACH,eAAe,IAAI,SAAS,KAAK,aAAa;oCAC5C,CAAC,CAAC,aAAa;oCACf,CAAC,CAAC,aAAa;6BACpB;4BACD,SAAS,EAAE;gCACT,MAAM,EAAE,aAAa;gCACrB,YAAY,EAAE;oCACZ,KAAK,EAAE,QAAQ;iCAChB;gCACD,KAAK,EAAE,QAAQ;6BAChB;yBACF,GACD,GACG,EACP,MAAC,IAAI,IACH,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,SAAS,EACjB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,aAEhC,MAAC,IAAI,IACH,KAAK,EAAC,QAAQ,EACd,GAAG,EAAE;gCACH,GAAG,EAAE,GAAG;gCACR,SAAS,EAAE,EAAE;6BACd,aAED,KAAC,gBAAgB,IAAC,QAAQ,EAAE,eAAe,YACxC,cAAc;wCACb,CAAC,CAAC,OAAO;4CACP,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC;gDAC5C,CAAC,CAAC,iBAAiB,IAAI,CAAC,qBAAqB;oDAC3C,CAAC,CAAC,GAAG,YAAY,CAAC,iBAAiB,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;oDAClE,CAAC,CAAC,KAAK;gDACT,CAAC,CAAC,KAAK,OAAO,CAAC,MAAM,EAAE;4CACzB,CAAC,CAAC,IAAI;wCACR,CAAC,CAAC,OAAO;4CACL,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS;4CACtC,CAAC,eAAe;4CAClB,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;4CAC3D,CAAC,CAAC,OAAO;gDACL,qBAAqB;gDACrB,iBAAiB;gDACjB,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC;gDAC/B,CAAC,CAAC,KAAK;gDACP,CAAC,CAAC,OAAO;oDACL,eAAe;oDACf,eAAe,GAAG,CAAC;oDACnB,gBAAgB,EAAE,KAAK;oDACvB,gBAAgB,CAAC,KAAK,GAAG,CAAC;oDAC5B,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC;oDAC/B,CAAC,CAAC,OAAO,GACA,EACnB,KAAC,WAAW,IACV,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,GACZ,IACG,EACP,KAAC,IAAI,IAAC,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,YAC9B,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,cAAc,IACb,gBAAgB,EAAE,IAAI,EACtB,aAAa,EAAE,IAAI,EACnB,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAC3B,MAAM,EAAE,OAAO,EAAE,MAAM,EACvB,WAAW,EACT,CAAC,aAAa,CAAC,SAAS,CAAC;oCACzB,SAAS,KAAK,eAAe;oCAC7B,SAAS,KAAK,SAAS,EAEzB,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAC,IAAI,GACT,CACH,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAI,CAC9B,GACI,IACF,EAEP,KAAC,OAAO,IAAC,KAAK,EAAC,OAAO,GAAG,EAEzB,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,aACnD,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAC,QAAQ,yBAE/B,EACN,yBAAyB,IAAI,0BAA0B,CAAC,CAAC,CAAC,CACzD,KAAC,mBAAmB,IAClB,OAAO,EAAC,QAAQ,EAChB,+BAA+B,EAAE,+BAA+B,EAChE,qBAAqB,EAAE,OAAO,EAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;gCACnB,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gCACxC,kBAAkB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gCAEpC,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oCAC/B,kBAAkB,CAAC,SAAS,CAAC,CAAA;gCAC/B,CAAC;4BACH,CAAC,EACD,KAAK,EAAE,SAAS,EAChB,sBAAsB,EAAE,IAAI,EAC5B,eAAe,EAAE,GAAG,EAAE;gCACpB,IAAI,CAAC,OAAO,IAAI,0BAA0B,EAAE,CAAC;oCAC3C,eAAe,EAAE,EAAE,CAAA;gCACrB,CAAC;qCAAM,CAAC;oCACN,eAAe,EAAE,CAAC;wCAChB,KAAK,EAAE,SAAS;wCAChB,SAAS,EAAE,MAAM;qCAClB,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;wCAClB,IAAI,MAAM,EAAE,CAAC;4CACX,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;4CACxC,kBAAkB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;wCACtC,CAAC;oCACH,CAAC,CAAC,CAAA;gCACJ,CAAC;4BACH,CAAC,EACD,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,EAAE,aAAa,IAAI,EAAE,EAC5B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAC,6BAA6B,GACpC,CACH,CAAC,CAAC,CAAC,IAAI,IACH,EAEP,MAAC,IAAI,IAAC,OAAO,EAAC,SAAS,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAC5C,KAAC,aAAa,IACZ,OAAO,EAAE,OAAO,EAChB,cAAc,EAAE,kBAAkB,EAClC,KAAK,EAAE,SAAS,EAChB,eAAe,EAAE,eAAe,EAChC,0BAA0B,EAAE,0BAA0B,EACtD,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,EAC5B,yBAAyB,EAAE,yBAAyB,EACpD,OAAO,EAAC,MAAM,EACd,eAAe,EAAE,KAAK,EACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gCAClB,IACE,KAAK,EAAE,OAAO,KAAK,OAAO,EAAE,OAAO;oCACnC,KAAK,EAAE,OAAO,KAAK,OAAO,EAAE,OAAO;oCACnC,OAAO,KAAK,SAAS;oCACrB,CAAC,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,EAC5B,CAAC;oCACD,kBAAkB,CAAC,OAAO,CAAC,CAAA;oCAC3B,gBAAgB,CAAC,SAAS,CAAC,CAAA;gCAC7B,CAAC;qCAAM,CAAC;oCACN,kBAAkB,CAAC,KAAK,CAAC,CAAA;gCAC3B,CAAC;4BACH,CAAC,EACD,cAAc,EAAE,cAAc,EAC9B,cAAc,EACZ,CAAC,0BAA0B,IAAI,OAAO;gCACpC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gCACnB,CAAC,CAAC,SAAS,EAEf,eAAe,EAAE,eAAe,EAChC,OAAO,EACL,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,YAClC,KAAC,oBAAoB,IACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAC,4BAA4B,EACnC,YAAY,EAAC,WAAW,GACxB,GACE,GAER,EACF,KAAC,gBAAgB,IACf,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACpC,SAAS,EAAE,mBAAmB,EAC9B,oBAAoB,EAAE,yBAAyB,EAC/C,mBAAmB,EAAE,gBAAgB,EACrC,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,SAAS,GAChB,IACG,EAEP,KAAC,OAAO,IAAC,KAAK,EAAC,OAAO,GAAG,EAEzB,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,aACvD,KAAC,yBAAyB,IACxB,KAAK,EAAC,SAAS,EACf,oBAAoB,EAAE,yBAAyB,EAC/C,eAAe,EAAE,wBAAwB,EACzC,aAAa,EAAE;gCACb,+BAA+B;gCAC/B,qBAAqB,EAAE,SAAS;gCAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;oCACnB,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oCAC7C,kBAAkB,CAAC,SAAS,CAAC,CAAA;gCAC/B,CAAC;gCACD,KAAK,EAAE,OAAO;gCACd,sBAAsB,EAAE,KAAK;gCAC7B,eAAe,EAAE,GAAG,EAAE;oCACpB,IAAI,CAAC,OAAO,IAAI,wBAAwB,EAAE,CAAC;wCACzC,eAAe,EAAE,EAAE,CAAA;oCACrB,CAAC;yCAAM,CAAC;wCACN,eAAe,EAAE,CAAC;4CAChB,KAAK,EAAE,OAAO;4CACd,SAAS,EAAE,IAAI;yCAChB,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;4CAClB,IAAI,CAAC,MAAM,EAAE,CAAC;gDACZ,OAAM;4CACR,CAAC;4CACD,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;4CAC7C,kBAAkB,CAAC,SAAS,CAAC,CAAA;wCAC/B,CAAC,CAAC,CAAA;oCACJ,CAAC;gCACH,CAAC;gCACD,mBAAmB;gCACnB,OAAO,EAAE,aAAa,IAAI,EAAE;gCAC5B,eAAe;gCACf,MAAM,EAAE,kCAAkC;6BAC3C,EACD,QAAQ,EAAE;gCACR,WAAW,EAAE,OAAO,CAClB,gBAAgB;oCACd,yBAAyB;oCACzB,CAAC,iBAAiB,CACrB;gCACD,IAAI,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC;gCACjE,OAAO,EAAE,GAAG,EAAE;oCACZ,6BAA6B,CAAC,SAAS,CAAC,CAAA;oCACxC,mBAAmB,CAAC,IAAI,CAAC,CAAA;oCACzB,eAAe,EAAE,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAA;gCAC1D,CAAC;gCACD,aAAa,EAAE,OAAO,CACpB,gBAAgB;oCACd,yBAAyB;oCACzB,CAAC,iBAAiB,CACrB;6BACF,GACD,EACF,KAAC,eAAe,IACd,sBAAsB,EAAE,sBAAsB,EAC9C,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,SAAS,EACnB,oBAAoB,EAAE,oBAAoB,EAC1C,uBAAuB,EAAE,qBAAqB,EAC9C,uBAAuB,EAAE,uBAAuB,EAChD,sBAAsB,EAAE,sBAAsB,EAC9C,yBAAyB,EAAE,yBAAyB,EACpD,4BAA4B,EAAE,4BAA4B,EAC1D,SAAS,EAAE,SAAS,EACpB,wBAAwB,EAAE,wBAAwB,EAClD,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAC/B,IACG,EAEP,KAAC,IAAI,IAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAC1B,KAAC,UAAU,IACT,OAAO,EAAC,KAAK,EACb,oBAAoB,EAAE,oBAAoB,EAC1C,uBAAuB,EAAE,uBAAuB,EAChD,0BAA0B,EAAE,0BAA0B,EACtD,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,IAAI,EACrB,cAAc,EAAE,CAAC,aAAa,EAC9B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,sBAAsB,EAAE,sBAAsB,EAC9C,4BAA4B,EAAE,4BAA4B,EAC1D,yBAAyB,EAAE,yBAAyB,EACpD,0BAA0B,EAAE,0BAA0B,EACtD,+BAA+B,EAAE,+BAA+B,EAChE,OAAO,EAAE,UAAU,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB,EAClC,0BAA0B,EAAE,0BAA0B,EACtD,4BAA4B,EAAE,4BAA4B,EAC1D,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,GAAG,EAAE;4BACZ,eAAe,EAAE,CAAC,mBAAmB,EAAE;gCACrC,KAAK,EAAE,OAAO;gCACd,MAAM,EAAE,iBAAiB;6BAC1B,CAAC,CAAA;4BACF,eAAe,EAAE,CAAA;wBACnB,CAAC,EACD,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,GAChC,GACG,EAEP,KAAC,wBAAwB,IACvB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,GACZ,IACe,GACP,CACf,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Flex, Text, Button, Box } from '../../primitives/index.js';
3
+ import { MultiWalletDropdown } from '../../common/MultiWalletDropdown.js';
4
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
5
+ import { faClipboard } from '@fortawesome/free-solid-svg-icons';
6
+ export const DestinationWalletSelector = ({ label, isMultiWalletEnabled, walletSupported, dropdownProps, fallback }) => {
7
+ return (_jsxs(Flex, { align: "center", css: { width: '100%', gap: '2' }, children: [_jsx(Text, { style: "subtitle2", color: "subtle", children: label }), isMultiWalletEnabled && walletSupported ? (_jsx(MultiWalletDropdown, { context: "destination", ...dropdownProps })) : (_jsxs(Button, { color: fallback.highlighted ? 'warning' : 'secondary', corners: "pill", size: "none", css: {
8
+ display: 'flex',
9
+ alignItems: 'center',
10
+ px: '2',
11
+ py: '1'
12
+ }, onClick: fallback.onClick, children: [fallback.showClipboard ? (_jsx(Box, { css: { color: 'amber11' }, children: _jsx(FontAwesomeIcon, { icon: faClipboard, width: 16, height: 16 }) })) : null, _jsx(Text, { style: "subtitle2", css: {
13
+ color: fallback.highlighted ? 'amber11' : 'anchor-color'
14
+ }, children: fallback.text })] }))] }));
15
+ };
16
+ //# sourceMappingURL=DestinationWalletSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DestinationWalletSelector.js","sourceRoot":"","sources":["../../../../../src/components/widgets/TokenWidget/DestinationWalletSelector.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EACL,mBAAmB,EAEpB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAe/D,MAAM,CAAC,MAAM,yBAAyB,GAAuC,CAAC,EAC5E,KAAK,EACL,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,QAAQ,EACT,EAAE,EAAE;IACH,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,aACnD,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAC,QAAQ,YACnC,KAAK,GACD,EACN,oBAAoB,IAAI,eAAe,CAAC,CAAC,CAAC,CACzC,KAAC,mBAAmB,IAAC,OAAO,EAAC,aAAa,KAAK,aAAa,GAAI,CACjE,CAAC,CAAC,CAAC,CACF,MAAC,MAAM,IACL,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EACrD,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,MAAM,EACX,GAAG,EAAE;oBACH,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,EAAE,EAAE,GAAG;oBACP,EAAE,EAAE,GAAG;iBACR,EACD,OAAO,EAAE,QAAQ,CAAC,OAAO,aAExB,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CACxB,KAAC,GAAG,IAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAC5B,KAAC,eAAe,IAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GACzD,CACP,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,IAAI,IACH,KAAK,EAAC,WAAW,EACjB,GAAG,EAAE;4BACH,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;yBACzD,YAEA,QAAQ,CAAC,IAAI,GACT,IACA,CACV,IACI,CACR,CAAA;AACH,CAAC,CAAA"}