@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 @@
1
+ {"version":3,"file":"DestinationWalletSelector.js","sourceRoot":"","sources":["../../../../../src/components/widgets/TokenWidget/DestinationWalletSelector.tsx"],"names":[],"mappings":";;;;AACA,wDAAmE;AACnE,gFAG4C;AAC5C,sEAAgE;AAChE,4EAA+D;AAexD,MAAM,yBAAyB,GAAuC,CAAC,EAC5E,KAAK,EACL,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,QAAQ,EACT,EAAE,EAAE;IACH,OAAO,CACL,wBAAC,eAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,aACnD,uBAAC,eAAI,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAC,QAAQ,YACnC,KAAK,GACD,EACN,oBAAoB,IAAI,eAAe,CAAC,CAAC,CAAC,CACzC,uBAAC,4CAAmB,IAAC,OAAO,EAAC,aAAa,KAAK,aAAa,GAAI,CACjE,CAAC,CAAC,CAAC,CACF,wBAAC,iBAAM,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,uBAAC,cAAG,IAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,YAC5B,uBAAC,mCAAe,IAAC,IAAI,EAAE,kCAAW,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,GAAI,GACzD,CACP,CAAC,CAAC,CAAC,IAAI,EACR,uBAAC,eAAI,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;AA5CY,QAAA,yBAAyB,6BA4CrC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FeeBreakdownInfo = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const index_js_1 = require("../../primitives/index.js");
7
+ const Skeleton_js_1 = tslib_1.__importDefault(require("../../primitives/Skeleton.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 numbers_js_1 = require("../../../utils/numbers.js");
11
+ const FeeBreakdownTooltip_js_1 = require("./FeeBreakdownTooltip.js");
12
+ const FeeBreakdownInfo = ({ isLoading, amountUsd, tokenAmountFormatted, fallbackTokenAmount, quote, feeBreakdown, token }) => {
13
+ return ((0, jsx_runtime_1.jsxs)(index_js_1.Flex, { direction: "column", align: "end", css: {
14
+ gap: '1',
15
+ minHeight: 42
16
+ }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Flex, { align: "center", css: { gap: '1' }, children: isLoading ? ((0, jsx_runtime_1.jsx)(Skeleton_js_1.default, { css: { width: 90, height: 20 } })) : amountUsd && Number(amountUsd) > 0 ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(index_js_1.Text, { style: "h6", children: [(0, numbers_js_1.formatDollarCompact)(Number(amountUsd)), " total"] }), (0, jsx_runtime_1.jsx)(FeeBreakdownTooltip_js_1.FeeBreakdownTooltip, { quote: quote, feeBreakdown: feeBreakdown, fromToken: token, tooltipProps: { side: 'top', align: 'end' }, children: (0, jsx_runtime_1.jsx)(index_js_1.Box, { css: {
17
+ color: 'gray8',
18
+ width: 16,
19
+ display: 'flex',
20
+ alignItems: 'center',
21
+ justifyContent: 'center',
22
+ cursor: 'pointer'
23
+ }, children: (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faInfoCircle }) }) })] })) : ((0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "h6", children: "$0 total" })) }), isLoading ? ((0, jsx_runtime_1.jsx)(Skeleton_js_1.default, { css: { width: 70, height: 14 } })) : amountUsd && Number(amountUsd) > 0 ? (token && tokenAmountFormatted && Number(tokenAmountFormatted) > 0 ? ((0, jsx_runtime_1.jsxs)(index_js_1.Text, { style: "subtitle3", color: "subtleSecondary", children: [(0, numbers_js_1.formatNumber)(tokenAmountFormatted, 4, true), " ", token.symbol] })) : token && fallbackTokenAmount && Number(fallbackTokenAmount) > 0 ? ((0, jsx_runtime_1.jsxs)(index_js_1.Text, { style: "subtitle3", color: "subtleSecondary", children: [(0, numbers_js_1.formatNumber)(fallbackTokenAmount, 4, true), " ", token.symbol] })) : null) : token ? ((0, jsx_runtime_1.jsxs)(index_js_1.Text, { style: "subtitle3", color: "subtleSecondary", children: ["0.00 ", token.symbol] })) : null] }));
24
+ };
25
+ exports.FeeBreakdownInfo = FeeBreakdownInfo;
26
+ //# sourceMappingURL=FeeBreakdownInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeeBreakdownInfo.js","sourceRoot":"","sources":["../../../../../src/components/widgets/TokenWidget/FeeBreakdownInfo.tsx"],"names":[],"mappings":";;;;;AACA,wDAA2D;AAC3D,uFAAmD;AACnD,sEAAgE;AAChE,4EAAgE;AAChE,0DAA6E;AAC7E,qEAA8D;AAevD,MAAM,gBAAgB,GAA8B,CAAC,EAC1D,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,EACL,YAAY,EACZ,KAAK,EACN,EAAE,EAAE;IACH,OAAO,CACL,wBAAC,eAAI,IACH,SAAS,EAAC,QAAQ,EAClB,KAAK,EAAC,KAAK,EACX,GAAG,EAAE;YACH,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,EAAE;SACd,aAED,uBAAC,eAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,YACnC,SAAS,CAAC,CAAC,CAAC,CACX,uBAAC,qBAAQ,IAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAI,CAC7C,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACvC,6DACE,wBAAC,eAAI,IAAC,KAAK,EAAC,IAAI,aACb,IAAA,gCAAmB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,cAClC,EACP,uBAAC,4CAAmB,IAClB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAE3C,uBAAC,cAAG,IACF,GAAG,EAAE;oCACH,KAAK,EAAE,OAAO;oCACd,KAAK,EAAE,EAAE;oCACT,OAAO,EAAE,MAAM;oCACf,UAAU,EAAE,QAAQ;oCACpB,cAAc,EAAE,QAAQ;oCACxB,MAAM,EAAE,SAAS;iCAClB,YAED,uBAAC,mCAAe,IAAC,IAAI,EAAE,mCAAY,GAAI,GACnC,GACc,IACrB,CACJ,CAAC,CAAC,CAAC,CACF,uBAAC,eAAI,IAAC,KAAK,EAAC,IAAI,yBAAgB,CACjC,GACI,EACN,SAAS,CAAC,CAAC,CAAC,CACX,uBAAC,qBAAQ,IAAC,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAI,CAC7C,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACvC,KAAK,IAAI,oBAAoB,IAAI,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAClE,wBAAC,eAAI,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAC,iBAAiB,aAC5C,IAAA,yBAAY,EAAC,oBAAoB,EAAE,CAAC,EAAE,IAAI,CAAC,OAAG,KAAK,CAAC,MAAM,IACtD,CACR,CAAC,CAAC,CAAC,KAAK,IAAI,mBAAmB,IAAI,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACpE,wBAAC,eAAI,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAC,iBAAiB,aAC5C,IAAA,yBAAY,EAAC,mBAAmB,EAAE,CAAC,EAAE,IAAI,CAAC,OAAG,KAAK,CAAC,MAAM,IACrD,CACR,CAAC,CAAC,CAAC,IAAI,CACT,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,wBAAC,eAAI,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAC,iBAAiB,sBACvC,KAAK,CAAC,MAAM,IACb,CACR,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAA;AACH,CAAC,CAAA;AArEY,QAAA,gBAAgB,oBAqE5B"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FeeBreakdownTooltip = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const index_js_1 = require("../../primitives/index.js");
7
+ const Tooltip_js_1 = tslib_1.__importDefault(require("../../primitives/Tooltip.js"));
8
+ const numbers_js_1 = require("../../../utils/numbers.js");
9
+ const FeeBreakdownTooltip = ({ quote, feeBreakdown, fromToken, children, tooltipProps }) => {
10
+ const currencyInAmount = quote?.details?.currencyIn?.amountUsd;
11
+ const relayFee = feeBreakdown?.breakdown?.find((fee) => fee.id === 'relayer-fee');
12
+ const relayFeeUsd = relayFee?.usd.value ??
13
+ (quote?.fees?.relayerService?.amountUsd !== undefined
14
+ ? -Number(quote.fees.relayerService.amountUsd)
15
+ : undefined);
16
+ const swapImpactUsd = feeBreakdown?.totalFees?.swapImpact?.value ??
17
+ (quote?.details?.swapImpact?.usd !== undefined
18
+ ? Number(quote.details.swapImpact.usd)
19
+ : undefined);
20
+ const destinationGas = feeBreakdown?.breakdown?.find((fee) => fee.id === 'destination-gas');
21
+ const fillGasUsd = destinationGas?.usd.value ??
22
+ (quote?.fees?.relayerGas?.amountUsd !== undefined
23
+ ? -Number(quote.fees.relayerGas.amountUsd)
24
+ : undefined);
25
+ const fillGasLabel = destinationGas?.name ?? 'Fill Gas';
26
+ const appFee = feeBreakdown?.breakdown?.find((fee) => fee.id === 'app-fee');
27
+ const appFeeUsd = appFee?.usd.value ??
28
+ (quote?.fees?.app?.amountUsd !== undefined
29
+ ? Number(quote.fees.app.amountUsd)
30
+ : undefined);
31
+ const tokenAmountFormatted = (0, numbers_js_1.formatDollar)(currencyInAmount !== undefined ? Number(currencyInAmount) : undefined);
32
+ const relayFeeFormatted = (0, numbers_js_1.formatDollar)(relayFeeUsd !== undefined ? Math.abs(relayFeeUsd) : undefined);
33
+ const swapImpactFormatted = (0, numbers_js_1.formatDollar)(swapImpactUsd !== undefined ? Math.abs(swapImpactUsd) : undefined);
34
+ const fillGasFormatted = (0, numbers_js_1.formatDollar)(fillGasUsd !== undefined ? Math.abs(fillGasUsd) : undefined);
35
+ const appFeeFormatted = appFee?.usd.formatted ??
36
+ (0, numbers_js_1.formatDollar)(appFeeUsd !== undefined ? Math.abs(appFeeUsd) : undefined);
37
+ return ((0, jsx_runtime_1.jsx)(Tooltip_js_1.default, { content: (0, jsx_runtime_1.jsxs)(index_js_1.Flex, { css: { minWidth: 240 }, direction: "column", children: [fromToken && currencyInAmount && tokenAmountFormatted !== '-' && ((0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: { width: '100%', mb: '2' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", color: "subtle", css: { mr: 'auto' }, children: fromToken.symbol }), (0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", children: tokenAmountFormatted })] })), relayFeeUsd !== undefined && relayFeeFormatted !== '-' && ((0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: { width: '100%', mb: '2' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", color: "subtle", css: { mr: 'auto' }, children: relayFee?.name ?? 'Relay Fee' }), feeBreakdown?.isGasSponsored && relayFeeUsd === 0 ? ((0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", color: "success", children: "Free" })) : ((0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", children: relayFeeFormatted }))] })), swapImpactUsd !== undefined && swapImpactFormatted !== '-' && ((0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: { width: '100%', mb: '2' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", color: "subtle", css: { mr: 'auto' }, children: "Swap Impact" }), (0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", children: swapImpactFormatted })] })), fillGasUsd !== undefined && fillGasFormatted !== '-' && ((0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: { width: '100%', mb: '2' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", color: "subtle", css: { mr: 'auto' }, children: fillGasLabel }), feeBreakdown?.isGasSponsored && fillGasUsd === 0 ? ((0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", color: "success", children: "Free" })) : ((0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", children: fillGasFormatted }))] })), appFee && appFeeUsd !== undefined && appFeeFormatted !== '-' && ((0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: { width: '100%' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", color: "subtle", css: { mr: 'auto' }, children: appFee.name }), feeBreakdown?.isGasSponsored && appFeeUsd === 0 ? ((0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", color: "success", children: "Free" })) : ((0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", children: appFeeFormatted }))] }))] }), ...tooltipProps, children: children }));
38
+ };
39
+ exports.FeeBreakdownTooltip = FeeBreakdownTooltip;
40
+ //# sourceMappingURL=FeeBreakdownTooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FeeBreakdownTooltip.js","sourceRoot":"","sources":["../../../../../src/components/widgets/TokenWidget/FeeBreakdownTooltip.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const index_js_1 = require("../../primitives/index.js");
5
+ const SectionContainer = ({ children, css, id }) => {
6
+ return ((0, jsx_runtime_1.jsx)(index_js_1.Flex, { align: "center", justify: "between", id: id, css: {
7
+ width: '100%',
8
+ minWidth: '400px',
9
+ maxWidth: '400px',
10
+ display: 'flex',
11
+ flexDirection: 'column',
12
+ alignItems: 'start',
13
+ backgroundColor: 'widget-card-background',
14
+ border: 'widget-card-border',
15
+ gap: '4',
16
+ p: '16px',
17
+ borderRadius: 'widget-card-border-radius',
18
+ ...css
19
+ }, children: children }));
20
+ };
21
+ exports.default = SectionContainer;
22
+ //# sourceMappingURL=SectionContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SectionContainer.js","sourceRoot":"","sources":["../../../../../src/components/widgets/TokenWidget/SectionContainer.tsx"],"names":[],"mappings":";;;AACA,wDAAgD;AAGhD,MAAM,gBAAgB,GAElB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE;IAC5B,OAAO,CACL,uBAAC,eAAI,IACH,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,SAAS,EACjB,EAAE,EAAE,EAAE,EACN,GAAG,EAAE;YACH,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,UAAU,EAAE,OAAO;YACnB,eAAe,EAAE,wBAAwB;YACzC,MAAM,EAAE,oBAAoB;YAC5B,GAAG,EAAE,GAAG;YACR,CAAC,EAAE,MAAM;YACT,YAAY,EAAE,2BAA2B;YACzC,GAAG,GAAG;SACP,YAEA,QAAQ,GACJ,CACR,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,gBAAgB,CAAA"}
@@ -0,0 +1,280 @@
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 Tabs_js_1 = require("../../primitives/Tabs.js");
6
+ const index_js_1 = require("../../primitives/index.js");
7
+ const AmountInput_js_1 = tslib_1.__importDefault(require("../../common/AmountInput.js"));
8
+ const numbers_js_1 = require("../../../utils/numbers.js");
9
+ const events_js_1 = require("../../../constants/events.js");
10
+ const jsx_1 = require("@relayprotocol/relay-design-system/jsx");
11
+ const MultiWalletDropdown_js_1 = require("../../common/MultiWalletDropdown.js");
12
+ const PaymentMethod_js_1 = tslib_1.__importDefault(require("../../common/TokenSelector/PaymentMethod.js"));
13
+ const PaymentMethodTrigger_js_1 = require("../../common/TokenSelector/triggers/PaymentMethodTrigger.js");
14
+ const react_1 = require("react");
15
+ const relay_sdk_1 = require("@relayprotocol/relay-sdk");
16
+ const SwapButton_js_1 = tslib_1.__importDefault(require("../SwapButton.js"));
17
+ const BalanceDisplay_js_1 = require("../../common/BalanceDisplay.js");
18
+ const AmountSectionHeader_js_1 = tslib_1.__importDefault(require("./AmountSectionHeader.js"));
19
+ const AmountModeToggle_js_1 = tslib_1.__importDefault(require("./AmountModeToggle.js"));
20
+ const TransactionDetailsFooter_js_1 = tslib_1.__importDefault(require("./TransactionDetailsFooter.js"));
21
+ const SectionContainer_js_1 = tslib_1.__importDefault(require("./SectionContainer.js"));
22
+ const tokenSelector_js_1 = require("../../../utils/tokenSelector.js");
23
+ const WidgetErrorWell_js_1 = require("../WidgetErrorWell.js");
24
+ const FeeBreakdownInfo_js_1 = require("./FeeBreakdownInfo.js");
25
+ const DestinationWalletSelector_js_1 = require("./DestinationWalletSelector.js");
26
+ const PercentageButtons_js_1 = require("../../common/PercentageButtons.js");
27
+ const SellTabContent = ({ slippageTolerance, onOpenSlippageConfig, onSlippageToleranceChange, disableInputAutoFocus, isUsdInputMode, usdInputValue, tradeType, amountInputValue, amountOutputValue, conversionRate, fromToken, toToken, quote, isFetchingQuote, inputAmountUsd, fromTokenPriceData, isLoadingFromTokenPrice, toggleInputMode, setUsdInputValue, setTradeType, setTokenInputCache, setAmountInputValue, setAmountOutputValue, setUsdOutputValue, debouncedAmountInputControls, onAnalyticEvent, feeBreakdown, fromBalance, isLoadingFromBalance, toBalance, isLoadingToBalance, toBalancePending, hasInsufficientBalance, address, timeEstimate, fromBalancePending, multiWalletSupportEnabled, fromChainWalletVMSupported, disablePasteWalletAddressOption, onSetPrimaryWallet, setOriginAddressOverride, fromChain, toChain, onConnectWallet, onLinkNewWallet, linkedWallets, setAddressModalOpen, transactionModalOpen, depositAddressModalOpen, isValidFromAddress, isValidToAddress, toChainWalletVMSupported, isInsufficientLiquidityError, recipientWalletSupportsChain, recipient, setCustomToAddress, setDestinationAddressOverride, isRecipientLinked, isSameCurrencySameRecipientSwap, debouncedInputAmountValue, debouncedOutputAmountValue, showHighPriceImpactWarning, disableSwapButton, percentOptions, onMaxAmountClicked, publicClient, isFromNative, getFeeBufferAmount, onPrimaryAction, toDisplayName, error, relayerFeeProportion, highRelayerServiceFee, isCapacityExceededError, isCouldNotExecuteError, supportsExternalLiquidity, recipientLinkedWallet, toChainVmType, supportedWalletVMs, lockToToken, lockFromToken, isSingleChainLocked, lockChainId, popularChainIds, handleSetFromToken, handleSetToToken, ctaCopy }) => {
28
+ const selectedPaymentVmType = (0, react_1.useMemo)(() => toChain?.vmType ?? toChainVmType, [toChain, toChainVmType]);
29
+ const recipientVmType = recipientLinkedWallet?.vmType;
30
+ const toTokenRef = (0, react_1.useRef)(toToken);
31
+ toTokenRef.current = toToken;
32
+ const hasAutoSelectedDestination = (0, react_1.useRef)(false);
33
+ (0, react_1.useEffect)(() => {
34
+ if (!hasAutoSelectedDestination.current &&
35
+ multiWalletSupportEnabled &&
36
+ address &&
37
+ isValidFromAddress &&
38
+ !recipient) {
39
+ setDestinationAddressOverride(address);
40
+ hasAutoSelectedDestination.current = true;
41
+ }
42
+ }, [
43
+ multiWalletSupportEnabled,
44
+ address,
45
+ isValidFromAddress,
46
+ recipient,
47
+ setDestinationAddressOverride
48
+ ]);
49
+ (0, react_1.useEffect)(() => {
50
+ if (recipient === address &&
51
+ fromToken &&
52
+ !toToken &&
53
+ isValidToAddress &&
54
+ multiWalletSupportEnabled) {
55
+ }
56
+ }, [
57
+ recipient,
58
+ address,
59
+ fromToken,
60
+ toToken,
61
+ isValidToAddress,
62
+ multiWalletSupportEnabled
63
+ ]);
64
+ const displayCta = [
65
+ 'Swap',
66
+ 'Confirm',
67
+ 'Bridge',
68
+ 'Send',
69
+ 'Wrap',
70
+ 'Unwrap'
71
+ ].includes(ctaCopy)
72
+ ? 'Sell'
73
+ : ctaCopy;
74
+ const hasSelectedTokens = Boolean(fromToken);
75
+ const invalidAmount = !quote ||
76
+ Number(debouncedInputAmountValue) === 0 ||
77
+ Number(debouncedOutputAmountValue) === 0 ||
78
+ !hasSelectedTokens;
79
+ const toChainId = toToken?.chainId;
80
+ const lockedToChainIds = isSingleChainLocked
81
+ ? lockChainId !== undefined
82
+ ? [lockChainId]
83
+ : undefined
84
+ : (0, tokenSelector_js_1.isChainLocked)(toChainId, lockChainId, fromToken?.chainId, lockToToken) &&
85
+ toChainId !== undefined
86
+ ? [toChainId]
87
+ : undefined;
88
+ const chainIdsFilterForDestination = !toChainWalletVMSupported && fromToken ? [fromToken.chainId] : undefined;
89
+ const hasValidInputAmount = fromToken && amountInputValue && Number(amountInputValue) > 0;
90
+ const currencyOutAmountUsd = quote?.details?.currencyOut?.amountUsd;
91
+ const currencyOutAmountFormatted = quote?.details?.currencyOut?.amountFormatted;
92
+ const isLoadingOutput = hasValidInputAmount && isFetchingQuote && toToken && !currencyOutAmountUsd;
93
+ return ((0, jsx_runtime_1.jsx)(Tabs_js_1.TabsContent, { value: "sell", children: (0, jsx_runtime_1.jsxs)(SectionContainer_js_1.default, { css: {
94
+ backgroundColor: 'widget-background',
95
+ border: '1px solid',
96
+ borderColor: 'slate.4'
97
+ }, id: 'sell-token-section', children: [(0, jsx_runtime_1.jsx)(AmountSectionHeader_js_1.default, { label: "Amount", slippageTolerance: slippageTolerance, onOpenSlippageConfig: onOpenSlippageConfig, onSlippageToleranceChange: onSlippageToleranceChange, onAnalyticEvent: onAnalyticEvent }), (0, jsx_runtime_1.jsx)(index_js_1.Flex, { align: "center", justify: "between", css: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(AmountInput_js_1.default, { autoFocus: !disableInputAutoFocus, prefixSymbol: isUsdInputMode ? '$' : undefined, value: isUsdInputMode
98
+ ? usdInputValue
99
+ : tradeType === 'EXACT_INPUT'
100
+ ? amountInputValue
101
+ : amountInputValue
102
+ ? (0, numbers_js_1.formatFixedLength)(amountInputValue, 8)
103
+ : amountInputValue, setValue: (value) => {
104
+ if (isUsdInputMode) {
105
+ setUsdInputValue(value);
106
+ setTradeType('EXACT_INPUT');
107
+ setTokenInputCache('');
108
+ if (Number(value) === 0) {
109
+ setAmountOutputValue('');
110
+ setUsdOutputValue('');
111
+ debouncedAmountInputControls.flush();
112
+ }
113
+ }
114
+ else {
115
+ setAmountInputValue(value);
116
+ setTradeType('EXACT_INPUT');
117
+ if (Number(value) === 0) {
118
+ setAmountOutputValue('');
119
+ debouncedAmountInputControls.flush();
120
+ }
121
+ }
122
+ }, onClick: () => {
123
+ onAnalyticEvent?.(events_js_1.EventNames.SWAP_INPUT_FOCUSED);
124
+ }, css: {
125
+ fontWeight: '700',
126
+ fontSize: 32,
127
+ lineHeight: '32px',
128
+ py: 0,
129
+ color: isFetchingQuote && tradeType === 'EXPECTED_OUTPUT'
130
+ ? 'text-subtle'
131
+ : 'input-color',
132
+ _placeholder: {
133
+ color: isFetchingQuote && tradeType === 'EXPECTED_OUTPUT'
134
+ ? 'text-subtle'
135
+ : 'input-color'
136
+ }
137
+ } }) }), (0, jsx_runtime_1.jsxs)(index_js_1.Flex, { direction: "column", css: { gap: '3', width: '100%' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Flex, { align: "center", justify: "between", css: { gap: '3', width: '100%' }, children: (0, jsx_runtime_1.jsx)(AmountModeToggle_js_1.default, { onToggle: toggleInputMode, textProps: {
138
+ css: {
139
+ minHeight: 18,
140
+ display: 'flex',
141
+ alignItems: 'center'
142
+ }
143
+ }, children: isUsdInputMode
144
+ ? fromToken
145
+ ? usdInputValue && Number(usdInputValue) > 0
146
+ ? amountInputValue &&
147
+ conversionRate &&
148
+ !isLoadingFromTokenPrice
149
+ ? `${(0, numbers_js_1.formatNumber)(amountInputValue, 4, false)} ${fromToken.symbol}`
150
+ : '...'
151
+ : `0 ${fromToken.symbol}`
152
+ : null
153
+ : quote?.details?.currencyIn?.amountUsd && !isFetchingQuote
154
+ ? (0, numbers_js_1.formatDollar)(Number(quote.details.currencyIn.amountUsd))
155
+ : isLoadingFromTokenPrice &&
156
+ amountInputValue &&
157
+ Number(amountInputValue) > 0
158
+ ? '...'
159
+ : inputAmountUsd &&
160
+ inputAmountUsd > 0 &&
161
+ fromTokenPriceData?.price &&
162
+ fromTokenPriceData.price > 0
163
+ ? (0, numbers_js_1.formatDollar)(inputAmountUsd)
164
+ : '$0.00' }) }), (0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: { width: '100%', gap: '3' }, children: [multiWalletSupportEnabled === true ? ((0, jsx_runtime_1.jsx)(MultiWalletDropdown_js_1.MultiWalletDropdown, { context: "origin", selectedWalletAddress: address, disablePasteWalletAddressOption: disablePasteWalletAddressOption, onSelect: (wallet) => {
165
+ setOriginAddressOverride(wallet.address);
166
+ onSetPrimaryWallet?.(wallet.address);
167
+ }, chain: fromChain, disableWalletFiltering: false, onLinkNewWallet: () => {
168
+ if (!address && fromChainWalletVMSupported) {
169
+ onConnectWallet?.();
170
+ }
171
+ else {
172
+ onLinkNewWallet?.({
173
+ chain: fromChain,
174
+ direction: 'from'
175
+ })?.then((wallet) => {
176
+ if (wallet) {
177
+ setOriginAddressOverride(wallet.address);
178
+ onSetPrimaryWallet?.(wallet.address);
179
+ }
180
+ });
181
+ }
182
+ }, setAddressModalOpen: setAddressModalOpen, wallets: linkedWallets ?? [], onAnalyticEvent: onAnalyticEvent, testId: "origin-wallet-select-button" })) : ((0, jsx_runtime_1.jsx)(index_js_1.Box, {})), (0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: {
183
+ gap: '8px',
184
+ marginLeft: 'auto',
185
+ flexShrink: 0
186
+ }, children: [(() => {
187
+ const displayToken = fromToken || toToken;
188
+ const displayBalance = fromToken
189
+ ? fromBalance
190
+ : toToken && recipient !== address
191
+ ? fromBalance
192
+ : toBalance;
193
+ const displayBalancePending = fromToken
194
+ ? fromBalancePending
195
+ : toToken && recipient !== address
196
+ ? fromBalancePending
197
+ : toBalancePending;
198
+ const isLoadingDisplayBalance = fromToken
199
+ ? isLoadingFromBalance
200
+ : toToken && recipient !== address
201
+ ? isLoadingFromBalance
202
+ : isLoadingToBalance;
203
+ return displayToken ? ((0, jsx_runtime_1.jsx)(BalanceDisplay_js_1.BalanceDisplay, { hideBalanceLabel: true, displaySymbol: true, isLoading: isLoadingDisplayBalance, balance: displayBalance, decimals: displayToken?.decimals, symbol: displayToken?.symbol, hasInsufficientBalance: hasInsufficientBalance, isConnected: !(0, relay_sdk_1.isDeadAddress)(address) &&
204
+ address !== relay_sdk_1.tronDeadAddress &&
205
+ address !== undefined, pending: displayBalancePending, size: "md" })) : ((0, jsx_runtime_1.jsx)(index_js_1.Flex, { css: { height: 18 } }));
206
+ })(), fromBalance && fromBalance > 0n && onMaxAmountClicked ? ((0, jsx_runtime_1.jsx)(PercentageButtons_js_1.PercentageButtons, { balance: fromBalance, onPercentageClick: onMaxAmountClicked, getFeeBufferAmount: getFeeBufferAmount, fromChain: fromChain, publicClient: publicClient, isFromNative: isFromNative, percentages: percentOptions, buttonStyles: {
207
+ fontSize: 12,
208
+ fontWeight: '500',
209
+ px: '1',
210
+ py: '1',
211
+ minHeight: '23px',
212
+ lineHeight: '100%',
213
+ backgroundColor: 'widget-selector-background',
214
+ border: 'none',
215
+ _hover: {
216
+ backgroundColor: 'widget-selector-hover-background'
217
+ }
218
+ } })) : null] })] })] }), (0, jsx_runtime_1.jsx)(jsx_1.Divider, { color: "gray4" }), (0, jsx_runtime_1.jsx)(DestinationWalletSelector_js_1.DestinationWalletSelector, { label: "Sell to", isMultiWalletEnabled: multiWalletSupportEnabled, walletSupported: toChainWalletVMSupported, dropdownProps: {
219
+ selectedWalletAddress: recipient,
220
+ disablePasteWalletAddressOption,
221
+ onSelect: (wallet) => {
222
+ setDestinationAddressOverride(wallet.address);
223
+ setCustomToAddress(undefined);
224
+ handleSetToToken(undefined);
225
+ },
226
+ chain: toChain,
227
+ disableWalletFiltering: true,
228
+ onLinkNewWallet: () => {
229
+ if (!address && toChainWalletVMSupported) {
230
+ onConnectWallet?.();
231
+ }
232
+ else {
233
+ onLinkNewWallet?.({
234
+ chain: toChain,
235
+ direction: 'to'
236
+ })?.then((wallet) => {
237
+ if (!wallet)
238
+ return;
239
+ setDestinationAddressOverride(wallet.address);
240
+ setCustomToAddress(undefined);
241
+ handleSetToToken(undefined);
242
+ });
243
+ }
244
+ },
245
+ setAddressModalOpen,
246
+ wallets: linkedWallets ?? [],
247
+ onAnalyticEvent,
248
+ testId: 'destination-wallet-select-button'
249
+ }, fallback: {
250
+ highlighted: Boolean(isValidToAddress &&
251
+ multiWalletSupportEnabled &&
252
+ !isRecipientLinked),
253
+ text: !isValidToAddress
254
+ ? 'Enter Address'
255
+ : (toDisplayName ?? recipient ?? 'Select wallet'),
256
+ onClick: () => {
257
+ setDestinationAddressOverride(undefined);
258
+ setAddressModalOpen(true);
259
+ onAnalyticEvent?.(events_js_1.EventNames.SWAP_ADDRESS_MODAL_CLICKED);
260
+ },
261
+ showClipboard: Boolean(isValidToAddress &&
262
+ multiWalletSupportEnabled &&
263
+ !isRecipientLinked)
264
+ } }), (0, jsx_runtime_1.jsxs)(index_js_1.Flex, { direction: "column", css: { gap: '2', width: '100%' }, children: [(0, jsx_runtime_1.jsxs)(index_js_1.Flex, { justify: "between", css: { width: '100%' }, children: [(0, jsx_runtime_1.jsx)(PaymentMethod_js_1.default, { address: recipient, isValidAddress: isValidToAddress, token: toToken, onAnalyticEvent: onAnalyticEvent, multiWalletSupportEnabled: multiWalletSupportEnabled, fromChainWalletVMSupported: toChainWalletVMSupported, supportedWalletVMs: supportedWalletVMs, popularChainIds: popularChainIds, lockedChainIds: lockedToChainIds, chainIdsFilter: chainIdsFilterForDestination, linkedWallets: linkedWallets, context: "to", autoSelectToken: true, setToken: (token) => {
265
+ if (token?.address === fromToken?.address &&
266
+ token?.chainId === fromToken?.chainId &&
267
+ recipient === address) {
268
+ return;
269
+ }
270
+ handleSetToToken(token);
271
+ }, trigger: (0, jsx_runtime_1.jsx)("div", { style: { width: 'max-content' }, children: (0, jsx_runtime_1.jsx)(PaymentMethodTrigger_js_1.PaymentMethodTrigger, { token: toToken, locked: lockToToken, address: recipient, testId: "payment-method-select-button", balanceLabel: "available" }) }) }), (0, jsx_runtime_1.jsx)(FeeBreakdownInfo_js_1.FeeBreakdownInfo, { isLoading: Boolean(isLoadingOutput), amountUsd: currencyOutAmountUsd, tokenAmountFormatted: currencyOutAmountFormatted, fallbackTokenAmount: amountOutputValue, quote: quote, feeBreakdown: feeBreakdown, token: toToken })] }), (0, jsx_runtime_1.jsx)(WidgetErrorWell_js_1.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%' } })] }), (0, jsx_runtime_1.jsx)(index_js_1.Flex, { css: { width: '100%' }, children: (0, jsx_runtime_1.jsx)(SwapButton_js_1.default, { context: "Sell", 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: () => {
272
+ onAnalyticEvent?.('TOKEN_SELL_CLICKED', {
273
+ token: fromToken,
274
+ amount: amountInputValue
275
+ });
276
+ onPrimaryAction();
277
+ }, onConnectWallet: onConnectWallet, onAnalyticEvent: onAnalyticEvent }) }), (0, jsx_runtime_1.jsx)(TransactionDetailsFooter_js_1.default, { timeEstimate: timeEstimate, feeBreakdown: feeBreakdown, quote: quote })] }) }));
278
+ };
279
+ exports.default = SellTabContent;
280
+ //# sourceMappingURL=SellTabContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SellTabContent.js","sourceRoot":"","sources":["../../../../../src/components/widgets/TokenWidget/SellTabContent.tsx"],"names":[],"mappings":";;;;AAAA,sDAAsD;AACtD,wDAAqD;AACrD,yFAAqD;AACrD,0DAIkC;AAClC,4DAAyD;AACzD,gEAAgE;AAChE,gFAAyE;AACzE,2GAAuE;AACvE,yGAAkG;AAClG,iCAAkD;AAIlD,wDAKiC;AACjC,6EAAyC;AACzC,sEAA+D;AAC/D,8FAA0D;AAC1D,wFAAoD;AACpD,wGAAoE;AACpE,wFAAoD;AACpD,sEAA+D;AAC/D,8DAAuD;AACvD,+DAAwD;AACxD,iFAA0E;AAC1E,4EAAqE;AAgIrE,MAAM,cAAc,GAA4B,CAAC,EAC/C,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,OAAO,EACP,KAAK,EACL,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,4BAA4B,EAC5B,eAAe,EACf,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,OAAO,EACP,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,+BAA+B,EAC/B,kBAAkB,EAClB,wBAAwB,EACxB,SAAS,EACT,OAAO,EACP,eAAe,EACf,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,SAAS,EACT,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,EACjB,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,KAAK,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACR,EAAE,EAAE;IACH,MAAM,qBAAqB,GAAG,IAAA,eAAO,EACnC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,aAAa,EACtC,CAAC,OAAO,EAAE,aAAa,CAAC,CACzB,CAAA;IACD,MAAM,eAAe,GAAG,qBAAqB,EAAE,MAAM,CAAA;IAGrD,MAAM,UAAU,GAAG,IAAA,cAAM,EAAC,OAAO,CAAC,CAAA;IAClC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAA;IAE5B,MAAM,0BAA0B,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAA;IAGhD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IACE,CAAC,0BAA0B,CAAC,OAAO;YACnC,yBAAyB;YACzB,OAAO;YACP,kBAAkB;YAClB,CAAC,SAAS,EACV,CAAC;YACD,6BAA6B,CAAC,OAAO,CAAC,CAAA;YACtC,0BAA0B,CAAC,OAAO,GAAG,IAAI,CAAA;QAC3C,CAAC;IACH,CAAC,EAAE;QACD,yBAAyB;QACzB,OAAO;QACP,kBAAkB;QAClB,SAAS;QACT,6BAA6B;KAC9B,CAAC,CAAA;IAGF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IACE,SAAS,KAAK,OAAO;YACrB,SAAS;YACT,CAAC,OAAO;YACR,gBAAgB;YAChB,yBAAyB,EACzB,CAAC;QAEH,CAAC;IACH,CAAC,EAAE;QACD,SAAS;QACT,OAAO;QACP,SAAS;QACT,OAAO;QACP,gBAAgB;QAChB,yBAAyB;KAC1B,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG;QACjB,MAAM;QACN,SAAS;QACT,QAAQ;QACR,MAAM;QACN,MAAM;QACN,QAAQ;KACT,CAAC,QAAQ,CAAC,OAAO,CAAC;QACjB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,OAAO,CAAA;IAEX,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5C,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,SAAS,GAAG,OAAO,EAAE,OAAO,CAAA;IAClC,MAAM,gBAAgB,GAAG,mBAAmB;QAC1C,CAAC,CAAC,WAAW,KAAK,SAAS;YACzB,CAAC,CAAC,CAAC,WAAW,CAAC;YACf,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,IAAA,gCAAa,EAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;YACpE,SAAS,KAAK,SAAS;YACzB,CAAC,CAAC,CAAC,SAAS,CAAC;YACb,CAAC,CAAC,SAAS,CAAA;IAEf,MAAM,4BAA4B,GAChC,CAAC,wBAAwB,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAE1E,MAAM,mBAAmB,GACvB,SAAS,IAAI,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;IAE/D,MAAM,oBAAoB,GAAG,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAA;IACnE,MAAM,0BAA0B,GAC9B,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,CAAA;IAG9C,MAAM,eAAe,GACnB,mBAAmB,IAAI,eAAe,IAAI,OAAO,IAAI,CAAC,oBAAoB,CAAA;IAE5E,OAAO,CACL,uBAAC,qBAAW,IAAC,KAAK,EAAC,MAAM,YACvB,wBAAC,6BAAgB,IACf,GAAG,EAAE;gBACH,eAAe,EAAE,mBAAmB;gBACpC,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,SAAS;aACvB,EACD,EAAE,EAAE,oBAAoB,aAExB,uBAAC,gCAAmB,IAClB,KAAK,EAAC,QAAQ,EACd,iBAAiB,EAAE,iBAAiB,EACpC,oBAAoB,EAAE,oBAAoB,EAC1C,yBAAyB,EAAE,yBAAyB,EACpD,eAAe,EAAE,eAAe,GAChC,EACF,uBAAC,eAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAC,SAAS,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAC3D,uBAAC,wBAAW,IACV,SAAS,EAAE,CAAC,qBAAqB,EACjC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAC9C,KAAK,EACH,cAAc;4BACZ,CAAC,CAAC,aAAa;4BACf,CAAC,CAAC,SAAS,KAAK,aAAa;gCAC3B,CAAC,CAAC,gBAAgB;gCAClB,CAAC,CAAC,gBAAgB;oCAChB,CAAC,CAAC,IAAA,8BAAiB,EAAC,gBAAgB,EAAE,CAAC,CAAC;oCACxC,CAAC,CAAC,gBAAgB,EAE1B,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAClB,IAAI,cAAc,EAAE,CAAC;gCACnB,gBAAgB,CAAC,KAAK,CAAC,CAAA;gCACvB,YAAY,CAAC,aAAa,CAAC,CAAA;gCAC3B,kBAAkB,CAAC,EAAE,CAAC,CAAA;gCACtB,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oCACxB,oBAAoB,CAAC,EAAE,CAAC,CAAA;oCACxB,iBAAiB,CAAC,EAAE,CAAC,CAAA;oCACrB,4BAA4B,CAAC,KAAK,EAAE,CAAA;gCACtC,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,mBAAmB,CAAC,KAAK,CAAC,CAAA;gCAC1B,YAAY,CAAC,aAAa,CAAC,CAAA;gCAC3B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oCACxB,oBAAoB,CAAC,EAAE,CAAC,CAAA;oCACxB,4BAA4B,CAAC,KAAK,EAAE,CAAA;gCACtC,CAAC;4BACH,CAAC;wBACH,CAAC,EACD,OAAO,EAAE,GAAG,EAAE;4BACZ,eAAe,EAAE,CAAC,sBAAU,CAAC,kBAAkB,CAAC,CAAA;wBAClD,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,iBAAiB;gCAChD,CAAC,CAAC,aAAa;gCACf,CAAC,CAAC,aAAa;4BACnB,YAAY,EAAE;gCACZ,KAAK,EACH,eAAe,IAAI,SAAS,KAAK,iBAAiB;oCAChD,CAAC,CAAC,aAAa;oCACf,CAAC,CAAC,aAAa;6BACpB;yBACF,GACD,GACG,EACP,wBAAC,eAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,aACvD,uBAAC,eAAI,IACH,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,SAAS,EACjB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,YAEhC,uBAAC,6BAAgB,IACf,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE;oCACT,GAAG,EAAE;wCACH,SAAS,EAAE,EAAE;wCACb,OAAO,EAAE,MAAM;wCACf,UAAU,EAAE,QAAQ;qCACrB;iCACF,YAEA,cAAc;oCACb,CAAC,CAAC,SAAS;wCACT,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;4CAC1C,CAAC,CAAC,gBAAgB;gDAChB,cAAc;gDACd,CAAC,uBAAuB;gDACxB,CAAC,CAAC,GAAG,IAAA,yBAAY,EAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE;gDACnE,CAAC,CAAC,KAAK;4CACT,CAAC,CAAC,KAAK,SAAS,CAAC,MAAM,EAAE;wCAC3B,CAAC,CAAC,IAAI;oCACR,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,IAAI,CAAC,eAAe;wCACzD,CAAC,CAAC,IAAA,yBAAY,EAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;wCAC1D,CAAC,CAAC,uBAAuB;4CACrB,gBAAgB;4CAChB,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC;4CAC9B,CAAC,CAAC,KAAK;4CACP,CAAC,CAAC,cAAc;gDACZ,cAAc,GAAG,CAAC;gDAClB,kBAAkB,EAAE,KAAK;gDACzB,kBAAkB,CAAC,KAAK,GAAG,CAAC;gDAC9B,CAAC,CAAC,IAAA,yBAAY,EAAC,cAAc,CAAC;gDAC9B,CAAC,CAAC,OAAO,GACA,GACd,EAEP,wBAAC,eAAI,IAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,aAClD,yBAAyB,KAAK,IAAI,CAAC,CAAC,CAAC,CACpC,uBAAC,4CAAmB,IAClB,OAAO,EAAC,QAAQ,EAChB,qBAAqB,EAAE,OAAO,EAC9B,+BAA+B,EAC7B,+BAA+B,EAEjC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;wCACnB,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;wCACxC,kBAAkB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oCACtC,CAAC,EACD,KAAK,EAAE,SAAS,EAChB,sBAAsB,EAAE,KAAK,EAC7B,eAAe,EAAE,GAAG,EAAE;wCACpB,IAAI,CAAC,OAAO,IAAI,0BAA0B,EAAE,CAAC;4CAC3C,eAAe,EAAE,EAAE,CAAA;wCACrB,CAAC;6CAAM,CAAC;4CACN,eAAe,EAAE,CAAC;gDAChB,KAAK,EAAE,SAAS;gDAChB,SAAS,EAAE,MAAM;6CAClB,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;gDAClB,IAAI,MAAM,EAAE,CAAC;oDACX,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oDACxC,kBAAkB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gDACtC,CAAC;4CACH,CAAC,CAAC,CAAA;wCACJ,CAAC;oCACH,CAAC,EACD,mBAAmB,EAAE,mBAAmB,EACxC,OAAO,EAAE,aAAa,IAAI,EAAE,EAC5B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAC,6BAA6B,GACpC,CACH,CAAC,CAAC,CAAC,CACF,uBAAC,cAAG,KAAG,CACR,EAED,wBAAC,eAAI,IACH,KAAK,EAAC,QAAQ,EACd,GAAG,EAAE;wCACH,GAAG,EAAE,KAAK;wCACV,UAAU,EAAE,MAAM;wCAClB,UAAU,EAAE,CAAC;qCACd,aAEA,CAAC,GAAG,EAAE;4CACL,MAAM,YAAY,GAAG,SAAS,IAAI,OAAO,CAAA;4CACzC,MAAM,cAAc,GAAG,SAAS;gDAC9B,CAAC,CAAC,WAAW;gDACb,CAAC,CAAC,OAAO,IAAI,SAAS,KAAK,OAAO;oDAChC,CAAC,CAAC,WAAW;oDACb,CAAC,CAAC,SAAS,CAAA;4CACf,MAAM,qBAAqB,GAAG,SAAS;gDACrC,CAAC,CAAC,kBAAkB;gDACpB,CAAC,CAAC,OAAO,IAAI,SAAS,KAAK,OAAO;oDAChC,CAAC,CAAC,kBAAkB;oDACpB,CAAC,CAAC,gBAAgB,CAAA;4CACtB,MAAM,uBAAuB,GAAG,SAAS;gDACvC,CAAC,CAAC,oBAAoB;gDACtB,CAAC,CAAC,OAAO,IAAI,SAAS,KAAK,OAAO;oDAChC,CAAC,CAAC,oBAAoB;oDACtB,CAAC,CAAC,kBAAkB,CAAA;4CAExB,OAAO,YAAY,CAAC,CAAC,CAAC,CACpB,uBAAC,kCAAc,IACb,gBAAgB,EAAE,IAAI,EACtB,aAAa,EAAE,IAAI,EACnB,SAAS,EAAE,uBAAuB,EAClC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAChC,MAAM,EAAE,YAAY,EAAE,MAAM,EAC5B,sBAAsB,EAAE,sBAAsB,EAC9C,WAAW,EACT,CAAC,IAAA,yBAAa,EAAC,OAAO,CAAC;oDACvB,OAAO,KAAK,2BAAe;oDAC3B,OAAO,KAAK,SAAS,EAEvB,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAC,IAAI,GACT,CACH,CAAC,CAAC,CAAC,CACF,uBAAC,eAAI,IAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAI,CAC9B,CAAA;wCACH,CAAC,CAAC,EAAE,EACH,WAAW,IAAI,WAAW,GAAG,EAAE,IAAI,kBAAkB,CAAC,CAAC,CAAC,CACvD,uBAAC,wCAAiB,IAChB,OAAO,EAAE,WAAW,EACpB,iBAAiB,EAAE,kBAAkB,EACrC,kBAAkB,EAAE,kBAAkB,EACtC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,cAAc,EAC3B,YAAY,EAAE;gDACZ,QAAQ,EAAE,EAAE;gDACZ,UAAU,EAAE,KAAK;gDACjB,EAAE,EAAE,GAAG;gDACP,EAAE,EAAE,GAAG;gDACP,SAAS,EAAE,MAAM;gDACjB,UAAU,EAAE,MAAM;gDAClB,eAAe,EAAE,4BAA4B;gDAC7C,MAAM,EAAE,MAAM;gDACd,MAAM,EAAE;oDACN,eAAe,EAAE,kCAAkC;iDACpD;6CACF,GACD,CACH,CAAC,CAAC,CAAC,IAAI,IACH,IACF,IACF,EAEP,uBAAC,aAAO,IAAC,KAAK,EAAC,OAAO,GAAG,EAEzB,uBAAC,wDAAyB,IACxB,KAAK,EAAC,SAAS,EACf,oBAAoB,EAAE,yBAAyB,EAC/C,eAAe,EAAE,wBAAwB,EACzC,aAAa,EAAE;wBACb,qBAAqB,EAAE,SAAS;wBAChC,+BAA+B;wBAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;4BACnB,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;4BAC7C,kBAAkB,CAAC,SAAS,CAAC,CAAA;4BAC7B,gBAAgB,CAAC,SAAS,CAAC,CAAA;wBAC7B,CAAC;wBACD,KAAK,EAAE,OAAO;wBACd,sBAAsB,EAAE,IAAI;wBAC5B,eAAe,EAAE,GAAG,EAAE;4BACpB,IAAI,CAAC,OAAO,IAAI,wBAAwB,EAAE,CAAC;gCACzC,eAAe,EAAE,EAAE,CAAA;4BACrB,CAAC;iCAAM,CAAC;gCACN,eAAe,EAAE,CAAC;oCAChB,KAAK,EAAE,OAAO;oCACd,SAAS,EAAE,IAAI;iCAChB,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oCAClB,IAAI,CAAC,MAAM;wCAAE,OAAM;oCACnB,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oCAC7C,kBAAkB,CAAC,SAAS,CAAC,CAAA;oCAE7B,gBAAgB,CAAC,SAAS,CAAC,CAAA;gCAC7B,CAAC,CAAC,CAAA;4BACJ,CAAC;wBACH,CAAC;wBACD,mBAAmB;wBACnB,OAAO,EAAE,aAAa,IAAI,EAAE;wBAC5B,eAAe;wBACf,MAAM,EAAE,kCAAkC;qBAC3C,EACD,QAAQ,EAAE;wBACR,WAAW,EAAE,OAAO,CAClB,gBAAgB;4BACd,yBAAyB;4BACzB,CAAC,iBAAiB,CACrB;wBACD,IAAI,EAAE,CAAC,gBAAgB;4BACrB,CAAC,CAAC,eAAe;4BACjB,CAAC,CAAC,CAAC,aAAa,IAAI,SAAS,IAAI,eAAe,CAAC;wBACnD,OAAO,EAAE,GAAG,EAAE;4BACZ,6BAA6B,CAAC,SAAS,CAAC,CAAA;4BACxC,mBAAmB,CAAC,IAAI,CAAC,CAAA;4BACzB,eAAe,EAAE,CAAC,sBAAU,CAAC,0BAA0B,CAAC,CAAA;wBAC1D,CAAC;wBACD,aAAa,EAAE,OAAO,CACpB,gBAAgB;4BACd,yBAAyB;4BACzB,CAAC,iBAAiB,CACrB;qBACF,GACD,EAEF,wBAAC,eAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,aACvD,wBAAC,eAAI,IAAC,OAAO,EAAC,SAAS,EAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAC5C,uBAAC,0BAAa,IACZ,OAAO,EAAE,SAAS,EAClB,cAAc,EAAE,gBAAgB,EAChC,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,eAAe,EAChC,yBAAyB,EAAE,yBAAyB,EACpD,0BAA0B,EAAE,wBAAwB,EACpD,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,gBAAgB,EAChC,cAAc,EAAE,4BAA4B,EAC5C,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAC,IAAI,EACZ,eAAe,EAAE,IAAI,EACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wCAClB,IACE,KAAK,EAAE,OAAO,KAAK,SAAS,EAAE,OAAO;4CACrC,KAAK,EAAE,OAAO,KAAK,SAAS,EAAE,OAAO;4CACrC,SAAS,KAAK,OAAO,EACrB,CAAC;4CACD,OAAM;wCACR,CAAC;wCACD,gBAAgB,CAAC,KAAK,CAAC,CAAA;oCACzB,CAAC,EACD,OAAO,EACL,gCAAK,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,YAClC,uBAAC,8CAAoB,IACnB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,SAAS,EAClB,MAAM,EAAC,8BAA8B,EACrC,YAAY,EAAC,WAAW,GACxB,GACE,GAER,EACF,uBAAC,sCAAgB,IACf,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,EACnC,SAAS,EAAE,oBAAoB,EAC/B,oBAAoB,EAAE,0BAA0B,EAChD,mBAAmB,EAAE,iBAAiB,EACtC,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,OAAO,GACd,IACG,EACP,uBAAC,oCAAe,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,uBAAC,eAAI,IAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAC1B,uBAAC,uBAAU,IACT,OAAO,EAAC,MAAM,EACd,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,oBAAoB,EAAE;gCACtC,KAAK,EAAE,SAAS;gCAChB,MAAM,EAAE,gBAAgB;6BACzB,CAAC,CAAA;4BACF,eAAe,EAAE,CAAA;wBACnB,CAAC,EACD,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,eAAe,GAChC,GACG,EAEP,uBAAC,qCAAwB,IACvB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,GACZ,IACe,GACP,CACf,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,cAAc,CAAA"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ const index_js_1 = require("../../primitives/index.js");
5
+ const react_fontawesome_1 = require("@fortawesome/react-fontawesome");
6
+ const free_solid_svg_icons_1 = require("@fortawesome/free-solid-svg-icons");
7
+ const numbers_js_1 = require("../../../utils/numbers.js");
8
+ const TransactionDetailsFooter = ({ timeEstimate, feeBreakdown, quote }) => {
9
+ const hasEstimate = timeEstimate !== undefined && (timeEstimate.time ?? 0) > 0;
10
+ const isLongEstimate = hasEstimate && (timeEstimate?.time ?? 0) >= 600;
11
+ const clockColor = hasEstimate
12
+ ? isLongEstimate
13
+ ? 'amber9'
14
+ : 'green9'
15
+ : 'gray9';
16
+ const timeLabel = hasEstimate ? `~${timeEstimate?.formattedTime}` : '—';
17
+ const originGas = feeBreakdown?.breakdown?.find((fee) => fee.id === 'origin-gas');
18
+ const networkCostUsd = originGas?.usd.value ??
19
+ (quote?.fees?.gas?.amountUsd !== undefined
20
+ ? -Number(quote.fees.gas.amountUsd)
21
+ : undefined);
22
+ const networkCostLabel = (0, numbers_js_1.formatDollar)(networkCostUsd !== undefined ? Math.abs(networkCostUsd) : undefined);
23
+ const hasNetworkCost = networkCostUsd !== undefined && networkCostLabel !== '-';
24
+ const showDivider = timeEstimate && timeEstimate.time !== 0 && hasNetworkCost;
25
+ return ((0, jsx_runtime_1.jsxs)(index_js_1.Flex, { justify: "center", align: "center", css: { gap: '6px', width: '100%' }, children: [timeEstimate && timeEstimate.time !== 0 ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: { gap: '2' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Box, { css: { color: clockColor, width: 14, height: 14 }, children: (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faClock }) }), (0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", children: timeLabel })] }), showDivider ? ((0, jsx_runtime_1.jsx)(index_js_1.Flex, { justify: "center", align: "center", css: { color: 'gray6', height: 4 }, children: "\u2022" })) : null] })) : null, hasNetworkCost ? ((0, jsx_runtime_1.jsxs)(index_js_1.Flex, { align: "center", css: { gap: '2' }, children: [(0, jsx_runtime_1.jsx)(index_js_1.Box, { css: { color: 'gray9', width: 14, height: 14 }, children: (0, jsx_runtime_1.jsx)(react_fontawesome_1.FontAwesomeIcon, { icon: free_solid_svg_icons_1.faGasPump }) }), (0, jsx_runtime_1.jsx)(index_js_1.Text, { style: "subtitle2", children: networkCostLabel })] })) : null] }));
26
+ };
27
+ exports.default = TransactionDetailsFooter;
28
+ //# sourceMappingURL=TransactionDetailsFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransactionDetailsFooter.js","sourceRoot":"","sources":["../../../../../src/components/widgets/TokenWidget/TransactionDetailsFooter.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useWalletGuards = void 0;
4
+ const react_1 = require("react");
5
+ const address_js_1 = require("../../../../utils/address.js");
6
+ const useWalletGuards = ({ multiWalletSupportEnabled, allowUnsupportedOrigin, allowUnsupportedRecipient, fromChain, toChain, address, recipient, linkedWallets, connectorKeyOverrides, onSetPrimaryWallet, isValidFromAddress, isValidToAddress, setOriginAddressOverride, setCustomToAddress, disablePasteWalletAddressOption, customToAddress, originAddressOverride, destinationAddressOverride, setDestinationAddressOverride }) => {
7
+ (0, react_1.useEffect)(() => {
8
+ if (!allowUnsupportedOrigin &&
9
+ multiWalletSupportEnabled &&
10
+ fromChain &&
11
+ address &&
12
+ linkedWallets &&
13
+ !isValidFromAddress) {
14
+ const supportedAddress = (0, address_js_1.findSupportedWallet)(fromChain, address, linkedWallets, connectorKeyOverrides);
15
+ if (supportedAddress) {
16
+ setOriginAddressOverride(undefined);
17
+ onSetPrimaryWallet?.(supportedAddress);
18
+ }
19
+ }
20
+ if (!allowUnsupportedRecipient &&
21
+ multiWalletSupportEnabled &&
22
+ toChain &&
23
+ recipient &&
24
+ linkedWallets &&
25
+ !isValidToAddress) {
26
+ const supportedAddress = (0, address_js_1.findSupportedWallet)(toChain, recipient, linkedWallets, connectorKeyOverrides);
27
+ if (supportedAddress) {
28
+ setCustomToAddress(supportedAddress);
29
+ }
30
+ else {
31
+ setCustomToAddress(undefined);
32
+ }
33
+ }
34
+ }, [
35
+ allowUnsupportedOrigin,
36
+ allowUnsupportedRecipient,
37
+ multiWalletSupportEnabled,
38
+ fromChain?.id,
39
+ toChain?.id,
40
+ address,
41
+ recipient,
42
+ linkedWallets,
43
+ onSetPrimaryWallet,
44
+ isValidFromAddress,
45
+ isValidToAddress,
46
+ connectorKeyOverrides,
47
+ setOriginAddressOverride,
48
+ setCustomToAddress
49
+ ]);
50
+ (0, react_1.useEffect)(() => {
51
+ if (!disablePasteWalletAddressOption || !customToAddress) {
52
+ return;
53
+ }
54
+ const isLinkedWallet = linkedWallets?.some((wallet) => (0, address_js_1.addressesEqual)(wallet.vmType, wallet.address, customToAddress));
55
+ if (!isLinkedWallet) {
56
+ setCustomToAddress(undefined);
57
+ }
58
+ }, [
59
+ disablePasteWalletAddressOption,
60
+ customToAddress,
61
+ linkedWallets,
62
+ setCustomToAddress
63
+ ]);
64
+ (0, react_1.useEffect)(() => {
65
+ if (destinationAddressOverride &&
66
+ customToAddress &&
67
+ destinationAddressOverride !== customToAddress) {
68
+ setDestinationAddressOverride(undefined);
69
+ }
70
+ }, [
71
+ destinationAddressOverride,
72
+ customToAddress,
73
+ setDestinationAddressOverride
74
+ ]);
75
+ (0, react_1.useEffect)(() => {
76
+ if (!multiWalletSupportEnabled) {
77
+ if (originAddressOverride !== undefined) {
78
+ setOriginAddressOverride(undefined);
79
+ }
80
+ if (destinationAddressOverride !== undefined) {
81
+ setDestinationAddressOverride(undefined);
82
+ }
83
+ return;
84
+ }
85
+ if (originAddressOverride) {
86
+ const originExists = linkedWallets?.some((wallet) => (0, address_js_1.addressesEqual)(wallet.vmType, wallet.address, originAddressOverride));
87
+ if (!originExists) {
88
+ setOriginAddressOverride(undefined);
89
+ }
90
+ }
91
+ if (destinationAddressOverride) {
92
+ const destinationMatches = linkedWallets?.some((wallet) => (0, address_js_1.addressesEqual)(wallet.vmType, wallet.address, destinationAddressOverride));
93
+ if (!destinationMatches) {
94
+ setDestinationAddressOverride(undefined);
95
+ }
96
+ }
97
+ }, [
98
+ multiWalletSupportEnabled,
99
+ linkedWallets,
100
+ originAddressOverride,
101
+ destinationAddressOverride,
102
+ setOriginAddressOverride,
103
+ setDestinationAddressOverride,
104
+ allowUnsupportedOrigin
105
+ ]);
106
+ };
107
+ exports.useWalletGuards = useWalletGuards;
108
+ //# sourceMappingURL=useWalletGuards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWalletGuards.js","sourceRoot":"","sources":["../../../../../../src/components/widgets/TokenWidget/hooks/useWalletGuards.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAKjC,6DAGqC;AAwB9B,MAAM,eAAe,GAAG,CAAC,EAC9B,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,SAAS,EACT,OAAO,EACP,OAAO,EACP,SAAS,EACT,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,+BAA+B,EAC/B,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,6BAA6B,EACtB,EAAE,EAAE;IACX,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IACE,CAAC,sBAAsB;YACvB,yBAAyB;YACzB,SAAS;YACT,OAAO;YACP,aAAa;YACb,CAAC,kBAAkB,EACnB,CAAC;YACD,MAAM,gBAAgB,GAAG,IAAA,gCAAmB,EAC1C,SAAS,EACT,OAAO,EACP,aAAa,EACb,qBAAqB,CACtB,CAAA;YACD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,wBAAwB,CAAC,SAAS,CAAC,CAAA;gBACnC,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;QAED,IACE,CAAC,yBAAyB;YAC1B,yBAAyB;YACzB,OAAO;YACP,SAAS;YACT,aAAa;YACb,CAAC,gBAAgB,EACjB,CAAC;YACD,MAAM,gBAAgB,GAAG,IAAA,gCAAmB,EAC1C,OAAO,EACP,SAAS,EACT,aAAa,EACb,qBAAqB,CACtB,CAAA;YACD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;YACtC,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,SAAS,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;IACH,CAAC,EAAE;QACD,sBAAsB;QACtB,yBAAyB;QACzB,yBAAyB;QACzB,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,OAAO;QACP,SAAS;QACT,aAAa;QACb,kBAAkB;QAClB,kBAAkB;QAClB,gBAAgB;QAChB,qBAAqB;QACrB,wBAAwB;QACxB,kBAAkB;KACnB,CAAC,CAAA;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,+BAA+B,IAAI,CAAC,eAAe,EAAE,CAAC;YACzD,OAAM;QACR,CAAC;QAED,MAAM,cAAc,GAAG,aAAa,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACpD,IAAA,2BAAc,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAC/D,CAAA;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,kBAAkB,CAAC,SAAS,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC,EAAE;QACD,+BAA+B;QAC/B,eAAe;QACf,aAAa;QACb,kBAAkB;KACnB,CAAC,CAAA;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IACE,0BAA0B;YAC1B,eAAe;YACf,0BAA0B,KAAK,eAAe,EAC9C,CAAC;YACD,6BAA6B,CAAC,SAAS,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC,EAAE;QACD,0BAA0B;QAC1B,eAAe;QACf,6BAA6B;KAC9B,CAAC,CAAA;IAEF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC/B,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;gBACxC,wBAAwB,CAAC,SAAS,CAAC,CAAA;YACrC,CAAC;YACD,IAAI,0BAA0B,KAAK,SAAS,EAAE,CAAC;gBAC7C,6BAA6B,CAAC,SAAS,CAAC,CAAA;YAC1C,CAAC;YACD,OAAM;QACR,CAAC;QAED,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,aAAa,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAClD,IAAA,2BAAc,EAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC,CACrE,CAAA;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,wBAAwB,CAAC,SAAS,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;QAED,IAAI,0BAA0B,EAAE,CAAC;YAC/B,MAAM,kBAAkB,GAAG,aAAa,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACxD,IAAA,2BAAc,EACZ,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,OAAO,EACd,0BAA0B,CAC3B,CACF,CAAA;YAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,6BAA6B,CAAC,SAAS,CAAC,CAAA;YAC1C,CAAC;QACH,CAAC;IACH,CAAC,EAAE;QACD,yBAAyB;QACzB,aAAa;QACb,qBAAqB;QACrB,0BAA0B;QAC1B,wBAAwB;QACxB,6BAA6B;QAC7B,sBAAsB;KACvB,CAAC,CAAA;AACJ,CAAC,CAAA;AA3JY,QAAA,eAAe,mBA2J3B"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TokenWidget = void 0;
7
+ var index_js_1 = require("./widget/index.js");
8
+ Object.defineProperty(exports, "TokenWidget", { enumerable: true, get: function () { return __importDefault(index_js_1).default; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/widgets/TokenWidget/index.ts"],"names":[],"mappings":";;;;;;AAAA,8CAA0D;AAAjD,wHAAA,OAAO,OAAe"}