@multiversx/sdk-dapp-liquidity 1.0.12 → 1.0.14

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 (302) hide show
  1. package/ConstantsUtil-BinYIDR2.mjs +8 -0
  2. package/ConstantsUtil-CbnVdQ5P.js +8 -0
  3. package/add-D-ECcdUh.mjs +19 -0
  4. package/add-Diz8heiY.js +20 -0
  5. package/all-wallets-_iOQf3bl.js +11 -0
  6. package/all-wallets-puIIQy3Y.mjs +10 -0
  7. package/app-store-BGTKFL27.js +22 -0
  8. package/app-store-Bsf7w3pv.mjs +21 -0
  9. package/apple-Cw8e8IGH.mjs +22 -0
  10. package/apple-DF7n_Yzl.js +23 -0
  11. package/arrow-bottom-Cp2C4fQv.mjs +12 -0
  12. package/arrow-bottom-DTvIR3s3.js +13 -0
  13. package/arrow-bottom-circle-CN6i5mHz.mjs +15 -0
  14. package/arrow-bottom-circle-CzPwiwWH.js +16 -0
  15. package/arrow-left-9VFYHQSW.js +13 -0
  16. package/arrow-left-BDQHoEvX.mjs +12 -0
  17. package/arrow-right-BxkuSpWU.mjs +12 -0
  18. package/arrow-right-DBLQ6w92.js +13 -0
  19. package/arrow-top-BiQd5Aey.js +13 -0
  20. package/arrow-top-BrLVX4Rj.mjs +12 -0
  21. package/bank-B7EC6Kdz.mjs +18 -0
  22. package/bank-CvPn9sfV.js +19 -0
  23. package/{bignumber-CKZkoo0g.mjs → bignumber-2Z7uapuD.mjs} +6 -6
  24. package/{bignumber-B8vjg9qn.js → bignumber-D1Wl54dL.js} +6 -6
  25. package/bin-BXO1kNZh.js +9 -0
  26. package/bin-CwiYVJ1L.mjs +8 -0
  27. package/bitcoin-C3kBVar_.mjs +17 -0
  28. package/bitcoin-DAvQGpeP.js +3251 -0
  29. package/bitcoin-dNBGbS2B.mjs +3251 -0
  30. package/bitcoin-k6bvmzMA.js +18 -0
  31. package/browser-ShRLuKKz.mjs +18 -0
  32. package/browser-t7nfT7HL.js +19 -0
  33. package/card-BJg5bdoM.mjs +18 -0
  34. package/card-hxUDXttT.js +19 -0
  35. package/checkmark-BpR0Yy93.mjs +15 -0
  36. package/checkmark-D9AVWgl5.js +16 -0
  37. package/checkmark-bold-D3Xcby1U.mjs +12 -0
  38. package/checkmark-bold-De02hde8.js +13 -0
  39. package/chevron-bottom-DcBf7T5F.js +13 -0
  40. package/chevron-bottom-DfGpWIz7.mjs +12 -0
  41. package/chevron-left-BKvYVnUo.js +13 -0
  42. package/chevron-left-DGSG9WJQ.mjs +12 -0
  43. package/chevron-right-BLgYIEeO.js +13 -0
  44. package/chevron-right-C2nsTx_Y.mjs +12 -0
  45. package/chevron-top-CwFOEFy8.js +13 -0
  46. package/chevron-top-vk-9DvUU.mjs +12 -0
  47. package/chrome-store-4H_ie3vA.mjs +65 -0
  48. package/chrome-store-BWarxVMl.js +66 -0
  49. package/circle-BtqWJU0_.mjs +8 -0
  50. package/circle-DYjG6o7-.js +9 -0
  51. package/clock-Ba5SM-pl.mjs +12 -0
  52. package/clock-DPzNREdU.js +13 -0
  53. package/close-CJHKFOyp.mjs +12 -0
  54. package/close-DDWnJdJe.js +13 -0
  55. package/coinPlaceholder-Cbba3D1H.mjs +12 -0
  56. package/coinPlaceholder-DdxQIc2D.js +13 -0
  57. package/compass-CugCxeSC.js +13 -0
  58. package/compass-DbN5DkTl.mjs +12 -0
  59. package/copy-CHSZprYJ.mjs +19 -0
  60. package/copy-En5h5Uhu.js +20 -0
  61. package/cursor-DCRkvEhr.mjs +7 -0
  62. package/cursor-DnEQtrUK.js +8 -0
  63. package/cursor-transparent-CU8lk-xg.js +17 -0
  64. package/cursor-transparent-CliETg4d.mjs +16 -0
  65. package/desktop-BgD7aypB.js +14 -0
  66. package/desktop-Cg5I32-p.mjs +13 -0
  67. package/disconnect-CCyMbAdw.js +13 -0
  68. package/disconnect-Cp2vRWB2.mjs +12 -0
  69. package/discord-B1d-qeSk.mjs +21 -0
  70. package/discord-BEB5klec.js +22 -0
  71. package/email-CorlePKz.js +873 -0
  72. package/email-Znno7H8_.mjs +878 -0
  73. package/embedded-wallet-B9ro9Tel.js +549 -0
  74. package/embedded-wallet-CnTWeseG.mjs +552 -0
  75. package/ethereum-BRcsRjUU.mjs +14 -0
  76. package/ethereum-CZ_xe09e.js +15 -0
  77. package/etherscan-BZKGpKp8.mjs +10 -0
  78. package/etherscan-DtLi-C3z.js +11 -0
  79. package/exclamation-triangle-BLNnBLEc.js +9 -0
  80. package/exclamation-triangle-CFThXxRT.mjs +8 -0
  81. package/extension-CwUepr-W.mjs +12 -0
  82. package/extension-DOD67G1k.js +13 -0
  83. package/external-link-CZkQS5XK.js +13 -0
  84. package/external-link-ClYNKSPt.mjs +12 -0
  85. package/facebook-CFjrd4my.mjs +30 -0
  86. package/facebook-CbE6K6AK.js +31 -0
  87. package/farcaster-Ba7_C-Vm.js +17 -0
  88. package/farcaster-DyVJtVS9.mjs +16 -0
  89. package/filters-CpHaFNjT.mjs +12 -0
  90. package/filters-w5LC-r6e.js +13 -0
  91. package/github-CeO70C3E.mjs +22 -0
  92. package/github-uLFBWAa5.js +23 -0
  93. package/google-CyOdUlbw.mjs +22 -0
  94. package/google-ILGK-opP.js +23 -0
  95. package/help-circle-Dh3dRNoB.mjs +16 -0
  96. package/help-circle-HUMbz_KN.js +17 -0
  97. package/id-Cy3Qkrvb.js +17 -0
  98. package/id-D-Q0uPFM.mjs +16 -0
  99. package/if-defined-CJ5EZLw2.js +815 -0
  100. package/if-defined-DjC5UMfF.mjs +815 -0
  101. package/image-BTGOf8bb.mjs +8 -0
  102. package/image-WFQO5bWa.js +9 -0
  103. package/index--O5ypTeK.mjs +70 -0
  104. package/index--Vg7VI9t.js +173 -0
  105. package/index-2iRSO1sa.mjs +9964 -0
  106. package/index-42Rpweo5.mjs +95 -0
  107. package/index-70kjE43k.mjs +90 -0
  108. package/index-8VyNYS01.js +273 -0
  109. package/index-B-dx8l0g.mjs +82 -0
  110. package/index-BB0nW9RB.mjs +198 -0
  111. package/index-BBwuv2SS.js +97 -0
  112. package/index-BIe-kofv.mjs +273 -0
  113. package/index-BQf6VHil.js +278 -0
  114. package/index-BWIZXhFv.mjs +630 -0
  115. package/index-BXkamf-I.js +337 -0
  116. package/index-BYTxCmKH.js +64 -0
  117. package/index-BYoOxo0S.js +218 -0
  118. package/index-Ba0tVdql.js +200 -0
  119. package/index-BdOAPWyt.mjs +210 -0
  120. package/index-BirWzf8c.mjs +71 -0
  121. package/index-BnCJUHtW.mjs +346 -0
  122. package/index-BuL2FC61.mjs +216 -0
  123. package/index-BxSUTfaY.js +88 -0
  124. package/index-C49C5Rxf.js +743 -0
  125. package/index-CNMDBpW7.js +346 -0
  126. package/index-CP0CGjqQ.mjs +263 -0
  127. package/index-CQaHcTZM.mjs +86 -0
  128. package/index-CRGXQei1.js +178 -0
  129. package/index-CSykUIfV.mjs +176 -0
  130. package/index-CWIHaLkQ.mjs +101 -0
  131. package/index-CZSDJd0P.mjs +1070 -0
  132. package/index-CZaV8JgR.mjs +49 -0
  133. package/index-CZjdy6QP.js +101 -0
  134. package/index-C_lIGGlC.js +632 -0
  135. package/index-CcgeRPs2.mjs +57 -0
  136. package/index-CeY_DRuc.js +566 -0
  137. package/index-ChFNkSxT.js +92 -0
  138. package/index-CkjZc20w.js +677 -0
  139. package/index-CtFcWwAd.js +72 -0
  140. package/index-D0mOfznC.mjs +362 -0
  141. package/index-DAtWLY21.js +84 -0
  142. package/index-DEs8H3w2.js +262 -0
  143. package/index-DLnxotbC.mjs +566 -0
  144. package/index-DN4fGDgg.mjs +743 -0
  145. package/index-DT_mc1hV.mjs +335 -0
  146. package/index-DZEwxUMS.js +59 -0
  147. package/index-DaRH_4bD.js +9939 -0
  148. package/index-Daok2ZKn.js +73 -0
  149. package/index-DomzHmwk.js +210 -0
  150. package/index-Dx7NyDyv.mjs +101 -0
  151. package/index-DyGir6_2.mjs +675 -0
  152. package/index-GglJmM2C.js +2237 -0
  153. package/index-H5b7UTeJ.mjs +173 -0
  154. package/index-NNZ1lNuc.mjs +168 -0
  155. package/index-RJd-gQcv.mjs +2235 -0
  156. package/index-dnFzVpGy.js +103 -0
  157. package/index-kwVLu8EV.js +168 -0
  158. package/index-miQwZPmn.js +51 -0
  159. package/index-oCj_SpOa.mjs +62 -0
  160. package/index-pNK-h_x9.js +1069 -0
  161. package/index-r6Kre1rx.js +362 -0
  162. package/index-xBD0nXoB.mjs +276 -0
  163. package/index.js +3 -3
  164. package/index.mjs +3 -3
  165. package/info-BKNAiN0k.js +8 -0
  166. package/info-DQE0s-A4.mjs +7 -0
  167. package/info-circle-C3uTocjH.js +17 -0
  168. package/info-circle-CIn6yeQo.mjs +16 -0
  169. package/lightbulb-CB-BmIop.js +8 -0
  170. package/lightbulb-Gv7IbnzO.mjs +7 -0
  171. package/mail-CFYm95wn.mjs +12 -0
  172. package/mail-GEwk-Fzr.js +13 -0
  173. package/mobile-CZ7ZBfa5.js +14 -0
  174. package/mobile-OIbnpFsU.mjs +13 -0
  175. package/more-C8N_RV55.mjs +15 -0
  176. package/more-CiQpPZwq.js +16 -0
  177. package/network-placeholder-CxEcczEx.mjs +18 -0
  178. package/network-placeholder-DwR8E8hP.js +19 -0
  179. package/nftPlaceholder-BFexVcGX.js +13 -0
  180. package/nftPlaceholder-MiYL110I.mjs +12 -0
  181. package/off-BNiMlpUU.mjs +8 -0
  182. package/off-iJHSK3Z7.js +9 -0
  183. package/onramp-Bs8HHFFY.js +1474 -0
  184. package/onramp-C6fuQfX7.mjs +1480 -0
  185. package/package.json +11 -11
  186. package/play-store-B4ssIYUA.js +37 -0
  187. package/play-store-D6nmQXhX.mjs +36 -0
  188. package/plus-Bh7z7Oc0.js +18 -0
  189. package/plus-C8ioZuCD.mjs +17 -0
  190. package/qr-code-CSVwaBLf.mjs +10 -0
  191. package/qr-code-YgtXPokK.js +11 -0
  192. package/react-BWxe90Ar.mjs +6342 -0
  193. package/react-BzZcQig5.js +6342 -0
  194. package/react-C_wTMVq_.js +23003 -0
  195. package/react-M-DnxvZl.mjs +23003 -0
  196. package/reactjs/components/BridgeForm/BridgeForm.js +2 -1
  197. package/reactjs/components/BridgeForm/BridgeForm.mjs +2 -1
  198. package/reactjs/components/Connect/BridgeAccountDisplay.js +3 -2
  199. package/reactjs/components/Connect/BridgeAccountDisplay.mjs +3 -2
  200. package/reactjs/components/Connect/CustomConnectButton.js +3 -2
  201. package/reactjs/components/Connect/CustomConnectButton.mjs +3 -2
  202. package/reactjs/components/Connect/SwitchChainButton.js +4 -3
  203. package/reactjs/components/Connect/SwitchChainButton.mjs +4 -3
  204. package/reactjs/components/DisplayAmount/DisplayAmount.js +1 -1
  205. package/reactjs/components/DisplayAmount/DisplayAmount.mjs +1 -1
  206. package/reactjs/components/TokenSelector/components/TokenItem.js +1 -1
  207. package/reactjs/components/TokenSelector/components/TokenItem.mjs +1 -1
  208. package/reactjs/hooks/useAccount.d.ts +4 -4
  209. package/reactjs/hooks/useAccount.js +3 -2
  210. package/reactjs/hooks/useAccount.mjs +3 -2
  211. package/reactjs/hooks/useGetChainId.js +1 -1
  212. package/reactjs/hooks/useGetChainId.mjs +1 -1
  213. package/reactjs/index.js +3 -3
  214. package/reactjs/index.mjs +3 -3
  215. package/reactjs/init/init.js +4 -3
  216. package/reactjs/init/init.mjs +4 -3
  217. package/reactjs/init/tests/init.spec.js +2 -2
  218. package/reactjs/init/tests/init.spec.mjs +2 -2
  219. package/reactjs/queries/useGetEvmTokensBalances.query.js +3 -2
  220. package/reactjs/queries/useGetEvmTokensBalances.query.mjs +3 -2
  221. package/reactjs/reexports.js +3 -3
  222. package/reactjs/reexports.mjs +3 -3
  223. package/reactjs/utils/getCleanStringAmount.js +1 -1
  224. package/reactjs/utils/getCleanStringAmount.mjs +1 -1
  225. package/reactjs/utils/hasEnoughFunds.js +1 -1
  226. package/reactjs/utils/hasEnoughFunds.mjs +1 -1
  227. package/reactjs/utils/isStringFloat.js +1 -1
  228. package/reactjs/utils/isStringFloat.mjs +1 -1
  229. package/reactjs/utils/roundAmount.js +1 -1
  230. package/reactjs/utils/roundAmount.mjs +1 -1
  231. package/receive-CK0hRQPr.js +212 -0
  232. package/receive-CQcD6bZf.mjs +212 -0
  233. package/recycle-horizontal--x5cMoTE.js +14 -0
  234. package/recycle-horizontal-QI0xtDHK.mjs +13 -0
  235. package/ref-CqxfRkBm.mjs +41 -0
  236. package/ref-FGI2cUQB.js +41 -0
  237. package/refresh-CFNHjhDi.js +13 -0
  238. package/refresh-CSOC1NUY.mjs +12 -0
  239. package/reown-logo-BfU5xFX5.js +17 -0
  240. package/reown-logo-CZAEp1jU.mjs +16 -0
  241. package/search-Do_rb-9-.mjs +12 -0
  242. package/search-V9CGMHkm.js +13 -0
  243. package/send-D-5G7tDL.mjs +1204 -0
  244. package/send-D4yYsIHV.mjs +19 -0
  245. package/send-DoiSHLsX.js +1202 -0
  246. package/send-_jfNFrys.js +20 -0
  247. package/socials-BL7-97fT.mjs +758 -0
  248. package/socials-DF0CK9cN.js +756 -0
  249. package/solana-BQ0Jh8lh.js +18 -0
  250. package/solana-YAkDp6j_.mjs +17 -0
  251. package/swapHorizontal-DOIo-Ccx.mjs +12 -0
  252. package/swapHorizontal-OHKtz4Gu.js +13 -0
  253. package/swapHorizontalBold-D7QmFj-c.js +13 -0
  254. package/swapHorizontalBold-DDroA0Af.mjs +12 -0
  255. package/swapHorizontalMedium-CU_v0kFz.mjs +20 -0
  256. package/swapHorizontalMedium-D-yMmtml.js +21 -0
  257. package/swapHorizontalRoundedBold-CHvbmnjw.js +13 -0
  258. package/swapHorizontalRoundedBold-DXMH0sgK.mjs +12 -0
  259. package/swapVertical-CH7fTK6w.js +13 -0
  260. package/swapVertical-HJZ6rFcr.mjs +12 -0
  261. package/swaps-CETflhdU.js +1952 -0
  262. package/swaps-DRUV6d3p.mjs +1954 -0
  263. package/telegram-CsCauOwj.mjs +20 -0
  264. package/telegram-DKEcF_Tq.js +21 -0
  265. package/three-dots-B-7hr8Nl.js +10 -0
  266. package/three-dots-LNZ_fjP7.mjs +9 -0
  267. package/transactions-BTTsGV2W.mjs +37 -0
  268. package/transactions-mpNNlClw.js +37 -0
  269. package/twitch-CCWVT2ij.js +23 -0
  270. package/twitch-Dg1CCQvd.mjs +22 -0
  271. package/twitterIcon-BjR09Cj9.mjs +10 -0
  272. package/twitterIcon-CeEs0iDJ.js +11 -0
  273. package/verify-B8WZq7kt.mjs +12 -0
  274. package/verify-filled-BeqC1imk.mjs +12 -0
  275. package/verify-filled-C-mv3ApD.js +13 -0
  276. package/verify-yATdPqt-.js +13 -0
  277. package/w3m-modal-3GziKj7h.js +1254 -0
  278. package/w3m-modal-81Z5PngE.mjs +1255 -0
  279. package/wallet-BMXEH23x.js +13 -0
  280. package/wallet-CNAVQCfm.mjs +12 -0
  281. package/wallet-placeholder-CQ-7CmVN.mjs +18 -0
  282. package/wallet-placeholder-CdoQy2e6.js +19 -0
  283. package/walletconnect-ACr-R1QZ.mjs +38 -0
  284. package/walletconnect-BWSkiS2F.js +39 -0
  285. package/warning-circle-CYnuYwpt.js +17 -0
  286. package/warning-circle-HV2lOiCj.mjs +16 -0
  287. package/x-CW5dozRj.js +17 -0
  288. package/x-Cgm2OFpL.mjs +16 -0
  289. package/x-mark-CR8SpZvu.js +8 -0
  290. package/x-mark-u0KJjUJ1.mjs +7 -0
  291. package/index-B4Eq5P3w.mjs +0 -91
  292. package/index-C4WV9nam.js +0 -329
  293. package/index-CWMcKi_X.js +0 -107
  294. package/index-D8E0O3qL.mjs +0 -68744
  295. package/index-DJ8CdHSw.mjs +0 -107
  296. package/index-nigVQYBu.js +0 -68665
  297. package/react-C43nEIqn.js +0 -3133
  298. package/react-DKUsVej7.js +0 -50
  299. package/react-Dp0H8q2z.mjs +0 -50
  300. package/react-wMhOUFOm.mjs +0 -3133
  301. package/w3m-modal-DLyg7Voy.js +0 -356
  302. package/w3m-modal-hC-B8qZP.mjs +0 -356
@@ -0,0 +1,1202 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const bitcoin = require("./bitcoin-DAvQGpeP.js");
5
+ const ifDefined = require("./if-defined-CJ5EZLw2.js");
6
+ require("./index-BXkamf-I.js");
7
+ require("./index-BBwuv2SS.js");
8
+ const ref = require("./ref-FGI2cUQB.js");
9
+ const react = require("./react-BzZcQig5.js");
10
+ const ConstantsUtil = require("./ConstantsUtil-CbnVdQ5P.js");
11
+ require("./index-DZEwxUMS.js");
12
+ const index = require("./index-C49C5Rxf.js");
13
+ require("./index-BQf6VHil.js");
14
+ require("./index-BYoOxo0S.js");
15
+ require("./index-miQwZPmn.js");
16
+ require("./index-CtFcWwAd.js");
17
+ const styles$8 = bitcoin.i`
18
+ :host {
19
+ width: 100%;
20
+ height: 100px;
21
+ border-radius: var(--wui-border-radius-s);
22
+ border: 1px solid var(--wui-color-gray-glass-002);
23
+ background-color: var(--wui-color-gray-glass-002);
24
+ transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-lg);
25
+ will-change: background-color;
26
+ position: relative;
27
+ }
28
+
29
+ :host(:hover) {
30
+ background-color: var(--wui-color-gray-glass-005);
31
+ }
32
+
33
+ wui-flex {
34
+ width: 100%;
35
+ height: fit-content;
36
+ }
37
+
38
+ wui-button {
39
+ display: ruby;
40
+ color: var(--wui-color-fg-100);
41
+ margin: 0 var(--wui-spacing-xs);
42
+ }
43
+
44
+ .instruction {
45
+ position: absolute;
46
+ top: 50%;
47
+ transform: translateY(-50%);
48
+ z-index: 2;
49
+ }
50
+
51
+ .paste {
52
+ display: inline-flex;
53
+ }
54
+
55
+ textarea {
56
+ background: transparent;
57
+ width: 100%;
58
+ font-family: var(--w3m-font-family);
59
+ font-size: var(--wui-font-size-medium);
60
+ font-style: normal;
61
+ font-weight: var(--wui-font-weight-light);
62
+ line-height: 130%;
63
+ letter-spacing: var(--wui-letter-spacing-medium);
64
+ color: var(--wui-color-fg-100);
65
+ caret-color: var(--wui-color-accent-100);
66
+ box-sizing: border-box;
67
+ -webkit-appearance: none;
68
+ -moz-appearance: textfield;
69
+ padding: 0px;
70
+ border: none;
71
+ outline: none;
72
+ appearance: none;
73
+ resize: none;
74
+ overflow: hidden;
75
+ }
76
+ `;
77
+ var __decorate$8 = function(decorators, target, key, desc) {
78
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
79
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
80
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
81
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
82
+ };
83
+ let W3mInputAddress = class W3mInputAddress2 extends bitcoin.i$1 {
84
+ constructor() {
85
+ super(...arguments);
86
+ this.inputElementRef = ref.e();
87
+ this.instructionElementRef = ref.e();
88
+ this.instructionHidden = Boolean(this.value);
89
+ this.pasting = false;
90
+ this.onDebouncedSearch = react.CoreHelperUtil.debounce(async (value) => {
91
+ if (!value.length) {
92
+ this.setReceiverAddress("");
93
+ return;
94
+ }
95
+ const activeChain = react.ChainController.state.activeChain;
96
+ const isValidAddress = react.CoreHelperUtil.isAddress(value, activeChain);
97
+ if (isValidAddress) {
98
+ this.setReceiverAddress(value);
99
+ return;
100
+ }
101
+ try {
102
+ const resolvedAddress = await react.ConnectionController.getEnsAddress(value);
103
+ if (resolvedAddress) {
104
+ react.SendController.setReceiverProfileName(value);
105
+ react.SendController.setReceiverAddress(resolvedAddress);
106
+ const avatar = await react.ConnectionController.getEnsAvatar(value);
107
+ react.SendController.setReceiverProfileImageUrl(avatar || void 0);
108
+ }
109
+ } catch (error) {
110
+ this.setReceiverAddress(value);
111
+ } finally {
112
+ react.SendController.setLoading(false);
113
+ }
114
+ });
115
+ }
116
+ firstUpdated() {
117
+ if (this.value) {
118
+ this.instructionHidden = true;
119
+ }
120
+ this.checkHidden();
121
+ }
122
+ render() {
123
+ return bitcoin.x` <wui-flex
124
+ @click=${this.onBoxClick.bind(this)}
125
+ flexDirection="column"
126
+ justifyContent="center"
127
+ gap="4xs"
128
+ .padding=${["2xl", "l", "xl", "l"]}
129
+ >
130
+ <wui-text
131
+ ${ref.n(this.instructionElementRef)}
132
+ class="instruction"
133
+ color="fg-300"
134
+ variant="medium-400"
135
+ >
136
+ Type or
137
+ <wui-button
138
+ class="paste"
139
+ size="md"
140
+ variant="neutral"
141
+ iconLeft="copy"
142
+ @click=${this.onPasteClick.bind(this)}
143
+ >
144
+ <wui-icon size="sm" color="inherit" slot="iconLeft" name="copy"></wui-icon>
145
+ Paste
146
+ </wui-button>
147
+ address
148
+ </wui-text>
149
+ <textarea
150
+ spellcheck="false"
151
+ ?disabled=${!this.instructionHidden}
152
+ ${ref.n(this.inputElementRef)}
153
+ @input=${this.onInputChange.bind(this)}
154
+ @blur=${this.onBlur.bind(this)}
155
+ .value=${this.value ?? ""}
156
+ autocomplete="off"
157
+ >
158
+ ${this.value ?? ""}</textarea
159
+ >
160
+ </wui-flex>`;
161
+ }
162
+ async focusInput() {
163
+ var _a;
164
+ if (this.instructionElementRef.value) {
165
+ this.instructionHidden = true;
166
+ await this.toggleInstructionFocus(false);
167
+ this.instructionElementRef.value.style.pointerEvents = "none";
168
+ (_a = this.inputElementRef.value) == null ? void 0 : _a.focus();
169
+ if (this.inputElementRef.value) {
170
+ this.inputElementRef.value.selectionStart = this.inputElementRef.value.selectionEnd = this.inputElementRef.value.value.length;
171
+ }
172
+ }
173
+ }
174
+ async focusInstruction() {
175
+ var _a;
176
+ if (this.instructionElementRef.value) {
177
+ this.instructionHidden = false;
178
+ await this.toggleInstructionFocus(true);
179
+ this.instructionElementRef.value.style.pointerEvents = "auto";
180
+ (_a = this.inputElementRef.value) == null ? void 0 : _a.blur();
181
+ }
182
+ }
183
+ async toggleInstructionFocus(focus) {
184
+ if (this.instructionElementRef.value) {
185
+ await this.instructionElementRef.value.animate([{ opacity: focus ? 0 : 1 }, { opacity: focus ? 1 : 0 }], {
186
+ duration: 100,
187
+ easing: "ease",
188
+ fill: "forwards"
189
+ }).finished;
190
+ }
191
+ }
192
+ onBoxClick() {
193
+ if (!this.value && !this.instructionHidden) {
194
+ this.focusInput();
195
+ }
196
+ }
197
+ onBlur() {
198
+ if (!this.value && this.instructionHidden && !this.pasting) {
199
+ this.focusInstruction();
200
+ }
201
+ }
202
+ checkHidden() {
203
+ if (this.instructionHidden) {
204
+ this.focusInput();
205
+ }
206
+ }
207
+ async onPasteClick() {
208
+ this.pasting = true;
209
+ const text = await navigator.clipboard.readText();
210
+ react.SendController.setReceiverAddress(text);
211
+ this.focusInput();
212
+ }
213
+ onInputChange(e) {
214
+ var _a;
215
+ const element = e.target;
216
+ this.pasting = false;
217
+ this.value = (_a = e.target) == null ? void 0 : _a.value;
218
+ if (element.value && !this.instructionHidden) {
219
+ this.focusInput();
220
+ }
221
+ react.SendController.setLoading(true);
222
+ this.onDebouncedSearch(element.value);
223
+ }
224
+ setReceiverAddress(address) {
225
+ react.SendController.setReceiverAddress(address);
226
+ react.SendController.setReceiverProfileName(void 0);
227
+ react.SendController.setReceiverProfileImageUrl(void 0);
228
+ react.SendController.setLoading(false);
229
+ }
230
+ };
231
+ W3mInputAddress.styles = styles$8;
232
+ __decorate$8([
233
+ ifDefined.n()
234
+ ], W3mInputAddress.prototype, "value", void 0);
235
+ __decorate$8([
236
+ ifDefined.r()
237
+ ], W3mInputAddress.prototype, "instructionHidden", void 0);
238
+ __decorate$8([
239
+ ifDefined.r()
240
+ ], W3mInputAddress.prototype, "pasting", void 0);
241
+ W3mInputAddress = __decorate$8([
242
+ ifDefined.customElement("w3m-input-address")
243
+ ], W3mInputAddress);
244
+ const styles$7 = bitcoin.i`
245
+ :host {
246
+ position: relative;
247
+ display: inline-block;
248
+ }
249
+
250
+ input {
251
+ background: transparent;
252
+ width: 100%;
253
+ height: auto;
254
+ font-family: var(--wui-font-family);
255
+ color: var(--wui-color-fg-100);
256
+
257
+ font-feature-settings: 'case' on;
258
+ font-size: 32px;
259
+ font-weight: var(--wui-font-weight-light);
260
+ caret-color: var(--wui-color-accent-100);
261
+ line-height: 130%;
262
+ letter-spacing: -1.28px;
263
+ box-sizing: border-box;
264
+ -webkit-appearance: none;
265
+ -moz-appearance: textfield;
266
+ padding: 0px;
267
+ }
268
+
269
+ input::-webkit-outer-spin-button,
270
+ input::-webkit-inner-spin-button {
271
+ -webkit-appearance: none;
272
+ margin: 0;
273
+ }
274
+
275
+ input::placeholder {
276
+ color: var(--wui-color-fg-275);
277
+ }
278
+ `;
279
+ var __decorate$7 = function(decorators, target, key, desc) {
280
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
281
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
282
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
283
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
284
+ };
285
+ let WuiInputAmount = class WuiInputAmount2 extends bitcoin.i$1 {
286
+ constructor() {
287
+ super(...arguments);
288
+ this.inputElementRef = ref.e();
289
+ this.disabled = false;
290
+ this.value = "";
291
+ this.placeholder = "0";
292
+ }
293
+ render() {
294
+ var _a;
295
+ if (((_a = this.inputElementRef) == null ? void 0 : _a.value) && this.value) {
296
+ this.inputElementRef.value.value = this.value;
297
+ }
298
+ return bitcoin.x`<input
299
+ ${ref.n(this.inputElementRef)}
300
+ type="text"
301
+ inputmode="decimal"
302
+ pattern="[0-9,.]*"
303
+ placeholder=${this.placeholder}
304
+ ?disabled=${this.disabled}
305
+ autofocus
306
+ value=${this.value ?? ""}
307
+ @input=${this.dispatchInputChangeEvent.bind(this)}
308
+ /> `;
309
+ }
310
+ dispatchInputChangeEvent(e) {
311
+ var _a, _b;
312
+ const inputChar = e.data;
313
+ if (inputChar && ((_a = this.inputElementRef) == null ? void 0 : _a.value)) {
314
+ if (inputChar === ",") {
315
+ const inputValue = this.inputElementRef.value.value.replace(",", ".");
316
+ this.inputElementRef.value.value = inputValue;
317
+ this.value = `${this.value}${inputValue}`;
318
+ } else if (!ConstantsUtil.numbersRegex.test(inputChar)) {
319
+ this.inputElementRef.value.value = this.value.replace(new RegExp(inputChar.replace(ConstantsUtil.specialCharactersRegex, "\\$&"), "gu"), "");
320
+ }
321
+ }
322
+ this.dispatchEvent(new CustomEvent("inputChange", {
323
+ detail: (_b = this.inputElementRef.value) == null ? void 0 : _b.value,
324
+ bubbles: true,
325
+ composed: true
326
+ }));
327
+ }
328
+ };
329
+ WuiInputAmount.styles = [bitcoin.resetStyles, bitcoin.elementStyles, styles$7];
330
+ __decorate$7([
331
+ ifDefined.n({ type: Boolean })
332
+ ], WuiInputAmount.prototype, "disabled", void 0);
333
+ __decorate$7([
334
+ ifDefined.n({ type: String })
335
+ ], WuiInputAmount.prototype, "value", void 0);
336
+ __decorate$7([
337
+ ifDefined.n({ type: String })
338
+ ], WuiInputAmount.prototype, "placeholder", void 0);
339
+ WuiInputAmount = __decorate$7([
340
+ ifDefined.customElement("wui-input-amount")
341
+ ], WuiInputAmount);
342
+ const styles$6 = bitcoin.i`
343
+ :host {
344
+ width: 100%;
345
+ height: 100px;
346
+ border-radius: var(--wui-border-radius-s);
347
+ border: 1px solid var(--wui-color-gray-glass-002);
348
+ background-color: var(--wui-color-gray-glass-002);
349
+ transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-lg);
350
+ will-change: background-color;
351
+ }
352
+
353
+ :host(:hover) {
354
+ background-color: var(--wui-color-gray-glass-005);
355
+ }
356
+
357
+ wui-flex {
358
+ width: 100%;
359
+ height: fit-content;
360
+ }
361
+
362
+ wui-button {
363
+ width: 100%;
364
+ display: flex;
365
+ justify-content: flex-end;
366
+ }
367
+
368
+ wui-input-amount {
369
+ mask-image: linear-gradient(
370
+ 270deg,
371
+ transparent 0px,
372
+ transparent 8px,
373
+ black 24px,
374
+ black 25px,
375
+ black 32px,
376
+ black 100%
377
+ );
378
+ }
379
+
380
+ .totalValue {
381
+ width: 100%;
382
+ }
383
+ `;
384
+ var __decorate$6 = function(decorators, target, key, desc) {
385
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
386
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
387
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
388
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
389
+ };
390
+ let W3mInputToken = class W3mInputToken2 extends bitcoin.i$1 {
391
+ render() {
392
+ return bitcoin.x` <wui-flex
393
+ flexDirection="column"
394
+ gap="4xs"
395
+ .padding=${["xl", "s", "l", "l"]}
396
+ >
397
+ <wui-flex alignItems="center">
398
+ <wui-input-amount
399
+ @inputChange=${this.onInputChange.bind(this)}
400
+ ?disabled=${!this.token && true}
401
+ .value=${this.sendTokenAmount ? String(this.sendTokenAmount) : ""}
402
+ ></wui-input-amount>
403
+ ${this.buttonTemplate()}
404
+ </wui-flex>
405
+ <wui-flex alignItems="center" justifyContent="space-between">
406
+ ${this.sendValueTemplate()}
407
+ <wui-flex alignItems="center" gap="4xs" justifyContent="flex-end">
408
+ ${this.maxAmountTemplate()} ${this.actionTemplate()}
409
+ </wui-flex>
410
+ </wui-flex>
411
+ </wui-flex>`;
412
+ }
413
+ buttonTemplate() {
414
+ if (this.token) {
415
+ return bitcoin.x`<wui-token-button
416
+ text=${this.token.symbol}
417
+ imageSrc=${this.token.iconUrl}
418
+ @click=${this.handleSelectButtonClick.bind(this)}
419
+ >
420
+ </wui-token-button>`;
421
+ }
422
+ return bitcoin.x`<wui-button
423
+ size="md"
424
+ variant="accent"
425
+ @click=${this.handleSelectButtonClick.bind(this)}
426
+ >Select token</wui-button
427
+ >`;
428
+ }
429
+ handleSelectButtonClick() {
430
+ react.RouterController.push("WalletSendSelectToken");
431
+ }
432
+ sendValueTemplate() {
433
+ if (this.token && this.sendTokenAmount) {
434
+ const price = this.token.price;
435
+ const totalValue = price * this.sendTokenAmount;
436
+ return bitcoin.x`<wui-text class="totalValue" variant="small-400" color="fg-200"
437
+ >${totalValue ? `$${ifDefined.UiHelperUtil.formatNumberToLocalString(totalValue, 2)}` : "Incorrect value"}</wui-text
438
+ >`;
439
+ }
440
+ return null;
441
+ }
442
+ maxAmountTemplate() {
443
+ if (this.token) {
444
+ if (this.sendTokenAmount && this.sendTokenAmount > Number(this.token.quantity.numeric)) {
445
+ return bitcoin.x` <wui-text variant="small-400" color="error-100">
446
+ ${ifDefined.UiHelperUtil.roundNumber(Number(this.token.quantity.numeric), 6, 5)}
447
+ </wui-text>`;
448
+ }
449
+ return bitcoin.x` <wui-text variant="small-400" color="fg-200">
450
+ ${ifDefined.UiHelperUtil.roundNumber(Number(this.token.quantity.numeric), 6, 5)}
451
+ </wui-text>`;
452
+ }
453
+ return null;
454
+ }
455
+ actionTemplate() {
456
+ if (this.token) {
457
+ if (this.sendTokenAmount && this.sendTokenAmount > Number(this.token.quantity.numeric)) {
458
+ return bitcoin.x`<wui-link @click=${this.onBuyClick.bind(this)}>Buy</wui-link>`;
459
+ }
460
+ return bitcoin.x`<wui-link @click=${this.onMaxClick.bind(this)}>Max</wui-link>`;
461
+ }
462
+ return null;
463
+ }
464
+ onInputChange(event) {
465
+ react.SendController.setTokenAmount(event.detail);
466
+ }
467
+ onMaxClick() {
468
+ if (this.token) {
469
+ const maxValue = react.NumberUtil.bigNumber(this.token.quantity.numeric);
470
+ react.SendController.setTokenAmount(Number(maxValue.toFixed(20)));
471
+ }
472
+ }
473
+ onBuyClick() {
474
+ react.RouterController.push("OnRampProviders");
475
+ }
476
+ };
477
+ W3mInputToken.styles = styles$6;
478
+ __decorate$6([
479
+ ifDefined.n({ type: Object })
480
+ ], W3mInputToken.prototype, "token", void 0);
481
+ __decorate$6([
482
+ ifDefined.n({ type: Number })
483
+ ], W3mInputToken.prototype, "sendTokenAmount", void 0);
484
+ W3mInputToken = __decorate$6([
485
+ ifDefined.customElement("w3m-input-token")
486
+ ], W3mInputToken);
487
+ const styles$5 = bitcoin.i`
488
+ :host {
489
+ display: block;
490
+ }
491
+
492
+ wui-flex {
493
+ position: relative;
494
+ }
495
+
496
+ wui-icon-box {
497
+ width: 40px;
498
+ height: 40px;
499
+ border-radius: var(--wui-border-radius-xs) !important;
500
+ border: 5px solid var(--wui-color-bg-125);
501
+ background: var(--wui-color-bg-175);
502
+ position: absolute;
503
+ top: 50%;
504
+ left: 50%;
505
+ transform: translate(-50%, -50%);
506
+ z-index: 3;
507
+ }
508
+
509
+ wui-button {
510
+ --local-border-radius: var(--wui-border-radius-xs) !important;
511
+ }
512
+
513
+ .inputContainer {
514
+ height: fit-content;
515
+ }
516
+ `;
517
+ var __decorate$5 = function(decorators, target, key, desc) {
518
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
519
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
520
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
521
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
522
+ };
523
+ exports.W3mWalletSendView = class W3mWalletSendView extends bitcoin.i$1 {
524
+ constructor() {
525
+ super();
526
+ this.unsubscribe = [];
527
+ this.token = react.SendController.state.token;
528
+ this.sendTokenAmount = react.SendController.state.sendTokenAmount;
529
+ this.receiverAddress = react.SendController.state.receiverAddress;
530
+ this.receiverProfileName = react.SendController.state.receiverProfileName;
531
+ this.loading = react.SendController.state.loading;
532
+ this.message = "Preview Send";
533
+ this.fetchNetworkPrice();
534
+ this.fetchBalances();
535
+ this.unsubscribe.push(...[
536
+ react.SendController.subscribe((val) => {
537
+ this.token = val.token;
538
+ this.sendTokenAmount = val.sendTokenAmount;
539
+ this.receiverAddress = val.receiverAddress;
540
+ this.receiverProfileName = val.receiverProfileName;
541
+ this.loading = val.loading;
542
+ })
543
+ ]);
544
+ }
545
+ disconnectedCallback() {
546
+ this.unsubscribe.forEach((unsubscribe) => unsubscribe());
547
+ }
548
+ render() {
549
+ this.getMessage();
550
+ return bitcoin.x` <wui-flex flexDirection="column" .padding=${["0", "l", "l", "l"]}>
551
+ <wui-flex class="inputContainer" gap="xs" flexDirection="column">
552
+ <w3m-input-token
553
+ .token=${this.token}
554
+ .sendTokenAmount=${this.sendTokenAmount}
555
+ ></w3m-input-token>
556
+ <wui-icon-box
557
+ size="inherit"
558
+ backgroundColor="fg-300"
559
+ iconSize="lg"
560
+ iconColor="fg-250"
561
+ background="opaque"
562
+ icon="arrowBottom"
563
+ ></wui-icon-box>
564
+ <w3m-input-address
565
+ .value=${this.receiverProfileName ? this.receiverProfileName : this.receiverAddress}
566
+ ></w3m-input-address>
567
+ </wui-flex>
568
+ <wui-flex .margin=${["l", "0", "0", "0"]}>
569
+ <wui-button
570
+ @click=${this.onButtonClick.bind(this)}
571
+ ?disabled=${!this.message.startsWith("Preview Send")}
572
+ size="lg"
573
+ variant="main"
574
+ ?loading=${this.loading}
575
+ fullWidth
576
+ >
577
+ ${this.message}
578
+ </wui-button>
579
+ </wui-flex>
580
+ </wui-flex>`;
581
+ }
582
+ async fetchBalances() {
583
+ await react.SendController.fetchTokenBalance();
584
+ react.SendController.fetchNetworkBalance();
585
+ }
586
+ async fetchNetworkPrice() {
587
+ await index.SwapController.getNetworkTokenPrice();
588
+ }
589
+ onButtonClick() {
590
+ react.RouterController.push("WalletSendPreview");
591
+ }
592
+ getMessage() {
593
+ var _a;
594
+ this.message = "Preview Send";
595
+ if (this.receiverAddress && !react.CoreHelperUtil.isAddress(this.receiverAddress, react.ChainController.state.activeChain)) {
596
+ this.message = "Invalid Address";
597
+ }
598
+ if (!this.receiverAddress) {
599
+ this.message = "Add Address";
600
+ }
601
+ if (this.sendTokenAmount && this.token && this.sendTokenAmount > Number(this.token.quantity.numeric)) {
602
+ this.message = "Insufficient Funds";
603
+ }
604
+ if (!this.sendTokenAmount) {
605
+ this.message = "Add Amount";
606
+ }
607
+ if (this.sendTokenAmount && ((_a = this.token) == null ? void 0 : _a.price)) {
608
+ const value = this.sendTokenAmount * this.token.price;
609
+ if (!value) {
610
+ this.message = "Incorrect Value";
611
+ }
612
+ }
613
+ if (!this.token) {
614
+ this.message = "Select Token";
615
+ }
616
+ }
617
+ };
618
+ exports.W3mWalletSendView.styles = styles$5;
619
+ __decorate$5([
620
+ ifDefined.r()
621
+ ], exports.W3mWalletSendView.prototype, "token", void 0);
622
+ __decorate$5([
623
+ ifDefined.r()
624
+ ], exports.W3mWalletSendView.prototype, "sendTokenAmount", void 0);
625
+ __decorate$5([
626
+ ifDefined.r()
627
+ ], exports.W3mWalletSendView.prototype, "receiverAddress", void 0);
628
+ __decorate$5([
629
+ ifDefined.r()
630
+ ], exports.W3mWalletSendView.prototype, "receiverProfileName", void 0);
631
+ __decorate$5([
632
+ ifDefined.r()
633
+ ], exports.W3mWalletSendView.prototype, "loading", void 0);
634
+ __decorate$5([
635
+ ifDefined.r()
636
+ ], exports.W3mWalletSendView.prototype, "message", void 0);
637
+ exports.W3mWalletSendView = __decorate$5([
638
+ ifDefined.customElement("w3m-wallet-send-view")
639
+ ], exports.W3mWalletSendView);
640
+ const styles$4 = bitcoin.i`
641
+ .contentContainer {
642
+ height: 440px;
643
+ overflow: scroll;
644
+ scrollbar-width: none;
645
+ }
646
+
647
+ .contentContainer::-webkit-scrollbar {
648
+ display: none;
649
+ }
650
+
651
+ wui-icon-box {
652
+ width: 40px;
653
+ height: 40px;
654
+ border-radius: var(--wui-border-radius-xxs);
655
+ }
656
+ `;
657
+ var __decorate$4 = function(decorators, target, key, desc) {
658
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
659
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
660
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
661
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
662
+ };
663
+ exports.W3mSendSelectTokenView = class W3mSendSelectTokenView extends bitcoin.i$1 {
664
+ constructor() {
665
+ super();
666
+ this.unsubscribe = [];
667
+ this.tokenBalances = react.SendController.state.tokenBalances;
668
+ this.search = "";
669
+ this.onDebouncedSearch = react.CoreHelperUtil.debounce((value) => {
670
+ this.search = value;
671
+ });
672
+ this.unsubscribe.push(...[
673
+ react.SendController.subscribe((val) => {
674
+ this.tokenBalances = val.tokenBalances;
675
+ })
676
+ ]);
677
+ }
678
+ disconnectedCallback() {
679
+ this.unsubscribe.forEach((unsubscribe) => unsubscribe());
680
+ }
681
+ render() {
682
+ return bitcoin.x`
683
+ <wui-flex flexDirection="column">
684
+ ${this.templateSearchInput()} <wui-separator></wui-separator> ${this.templateTokens()}
685
+ </wui-flex>
686
+ `;
687
+ }
688
+ templateSearchInput() {
689
+ return bitcoin.x`
690
+ <wui-flex gap="xs" padding="s">
691
+ <wui-input-text
692
+ @inputChange=${this.onInputChange.bind(this)}
693
+ class="network-search-input"
694
+ size="sm"
695
+ placeholder="Search token"
696
+ icon="search"
697
+ ></wui-input-text>
698
+ </wui-flex>
699
+ `;
700
+ }
701
+ templateTokens() {
702
+ var _a, _b;
703
+ this.tokens = (_a = this.tokenBalances) == null ? void 0 : _a.filter((token) => {
704
+ var _a2;
705
+ return token.chainId === ((_a2 = react.ChainController.state.activeCaipNetwork) == null ? void 0 : _a2.caipNetworkId);
706
+ });
707
+ if (this.search) {
708
+ this.filteredTokens = (_b = this.tokenBalances) == null ? void 0 : _b.filter((token) => token.name.toLowerCase().includes(this.search.toLowerCase()));
709
+ } else {
710
+ this.filteredTokens = this.tokens;
711
+ }
712
+ return bitcoin.x`
713
+ <wui-flex
714
+ class="contentContainer"
715
+ flexDirection="column"
716
+ .padding=${["0", "s", "0", "s"]}
717
+ >
718
+ <wui-flex justifyContent="flex-start" .padding=${["m", "s", "s", "s"]}>
719
+ <wui-text variant="paragraph-500" color="fg-200">Your tokens</wui-text>
720
+ </wui-flex>
721
+ <wui-flex flexDirection="column" gap="xs">
722
+ ${this.filteredTokens && this.filteredTokens.length > 0 ? this.filteredTokens.map((token) => bitcoin.x`<wui-list-token
723
+ @click=${this.handleTokenClick.bind(this, token)}
724
+ ?clickable=${true}
725
+ tokenName=${token.name}
726
+ tokenImageUrl=${token.iconUrl}
727
+ tokenAmount=${token.quantity.numeric}
728
+ tokenValue=${token.value}
729
+ tokenCurrency=${token.symbol}
730
+ ></wui-list-token>`) : bitcoin.x`<wui-flex
731
+ .padding=${["4xl", "0", "0", "0"]}
732
+ alignItems="center"
733
+ flexDirection="column"
734
+ gap="l"
735
+ >
736
+ <wui-icon-box
737
+ icon="coinPlaceholder"
738
+ size="inherit"
739
+ iconColor="fg-200"
740
+ backgroundColor="fg-200"
741
+ iconSize="lg"
742
+ ></wui-icon-box>
743
+ <wui-flex
744
+ class="textContent"
745
+ gap="xs"
746
+ flexDirection="column"
747
+ justifyContent="center"
748
+ flexDirection="column"
749
+ >
750
+ <wui-text variant="paragraph-500" align="center" color="fg-100"
751
+ >No tokens found</wui-text
752
+ >
753
+ <wui-text variant="small-400" align="center" color="fg-200"
754
+ >Your tokens will appear here</wui-text
755
+ >
756
+ </wui-flex>
757
+ <wui-link @click=${this.onBuyClick.bind(this)}>Buy</wui-link>
758
+ </wui-flex>`}
759
+ </wui-flex>
760
+ </wui-flex>
761
+ `;
762
+ }
763
+ onBuyClick() {
764
+ react.RouterController.push("OnRampProviders");
765
+ }
766
+ onInputChange(event) {
767
+ this.onDebouncedSearch(event.detail);
768
+ }
769
+ handleTokenClick(token) {
770
+ react.SendController.setToken(token);
771
+ react.SendController.setTokenAmount(void 0);
772
+ react.RouterController.goBack();
773
+ }
774
+ };
775
+ exports.W3mSendSelectTokenView.styles = styles$4;
776
+ __decorate$4([
777
+ ifDefined.r()
778
+ ], exports.W3mSendSelectTokenView.prototype, "tokenBalances", void 0);
779
+ __decorate$4([
780
+ ifDefined.r()
781
+ ], exports.W3mSendSelectTokenView.prototype, "tokens", void 0);
782
+ __decorate$4([
783
+ ifDefined.r()
784
+ ], exports.W3mSendSelectTokenView.prototype, "filteredTokens", void 0);
785
+ __decorate$4([
786
+ ifDefined.r()
787
+ ], exports.W3mSendSelectTokenView.prototype, "search", void 0);
788
+ exports.W3mSendSelectTokenView = __decorate$4([
789
+ ifDefined.customElement("w3m-wallet-send-select-token-view")
790
+ ], exports.W3mSendSelectTokenView);
791
+ const styles$3 = bitcoin.i`
792
+ :host {
793
+ display: flex;
794
+ gap: var(--wui-spacing-xs);
795
+ border-radius: var(--wui-border-radius-3xl);
796
+ border: 1px solid var(--wui-color-gray-glass-002);
797
+ background: var(--wui-color-gray-glass-002);
798
+ padding: var(--wui-spacing-2xs) var(--wui-spacing-xs) var(--wui-spacing-2xs)
799
+ var(--wui-spacing-s);
800
+ align-items: center;
801
+ }
802
+
803
+ wui-avatar,
804
+ wui-icon,
805
+ wui-image {
806
+ width: 32px;
807
+ height: 32px;
808
+ border: 1px solid var(--wui-color-gray-glass-002);
809
+ border-radius: var(--wui-border-radius-3xl);
810
+ box-shadow: 0 0 0 2px var(--wui-color-gray-glass-002);
811
+ }
812
+ `;
813
+ var __decorate$3 = function(decorators, target, key, desc) {
814
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
815
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
816
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
817
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
818
+ };
819
+ let WuiPreviewItem = class WuiPreviewItem2 extends bitcoin.i$1 {
820
+ constructor() {
821
+ super(...arguments);
822
+ this.text = "";
823
+ this.address = "";
824
+ this.isAddress = false;
825
+ }
826
+ render() {
827
+ return bitcoin.x`<wui-text variant="large-500" color="fg-100">${this.text}</wui-text>
828
+ ${this.imageTemplate()}`;
829
+ }
830
+ imageTemplate() {
831
+ if (this.isAddress) {
832
+ return bitcoin.x`<wui-avatar address=${this.address} .imageSrc=${this.imageSrc}></wui-avatar>`;
833
+ } else if (this.imageSrc) {
834
+ return bitcoin.x`<wui-image src=${this.imageSrc}></wui-image>`;
835
+ }
836
+ return bitcoin.x`<wui-icon size="inherit" color="fg-200" name="networkPlaceholder"></wui-icon>`;
837
+ }
838
+ };
839
+ WuiPreviewItem.styles = [bitcoin.resetStyles, bitcoin.elementStyles, styles$3];
840
+ __decorate$3([
841
+ ifDefined.n()
842
+ ], WuiPreviewItem.prototype, "text", void 0);
843
+ __decorate$3([
844
+ ifDefined.n()
845
+ ], WuiPreviewItem.prototype, "address", void 0);
846
+ __decorate$3([
847
+ ifDefined.n()
848
+ ], WuiPreviewItem.prototype, "imageSrc", void 0);
849
+ __decorate$3([
850
+ ifDefined.n({ type: Boolean })
851
+ ], WuiPreviewItem.prototype, "isAddress", void 0);
852
+ WuiPreviewItem = __decorate$3([
853
+ ifDefined.customElement("wui-preview-item")
854
+ ], WuiPreviewItem);
855
+ const styles$2 = bitcoin.i`
856
+ :host {
857
+ display: flex;
858
+ column-gap: var(--wui-spacing-s);
859
+ padding: 17px 18px 17px var(--wui-spacing-m);
860
+ width: 100%;
861
+ background-color: var(--wui-color-gray-glass-002);
862
+ border-radius: var(--wui-border-radius-xs);
863
+ color: var(--wui-color-fg-250);
864
+ }
865
+
866
+ wui-image {
867
+ width: var(--wui-icon-size-lg);
868
+ height: var(--wui-icon-size-lg);
869
+ border-radius: var(--wui-border-radius-3xl);
870
+ }
871
+
872
+ wui-icon {
873
+ width: var(--wui-icon-size-lg);
874
+ height: var(--wui-icon-size-lg);
875
+ }
876
+ `;
877
+ var __decorate$2 = function(decorators, target, key, desc) {
878
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
879
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
880
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
881
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
882
+ };
883
+ let WuiListContent = class WuiListContent2 extends bitcoin.i$1 {
884
+ constructor() {
885
+ super(...arguments);
886
+ this.imageSrc = void 0;
887
+ this.textTitle = "";
888
+ this.textValue = void 0;
889
+ }
890
+ render() {
891
+ return bitcoin.x`
892
+ <wui-flex justifyContent="space-between" alignItems="center">
893
+ <wui-text variant="paragraph-500" color=${this.textValue ? "fg-200" : "fg-100"}>
894
+ ${this.textTitle}
895
+ </wui-text>
896
+ ${this.templateContent()}
897
+ </wui-flex>
898
+ `;
899
+ }
900
+ templateContent() {
901
+ if (this.imageSrc) {
902
+ return bitcoin.x`<wui-image src=${this.imageSrc} alt=${this.textTitle}></wui-image>`;
903
+ } else if (this.textValue) {
904
+ return bitcoin.x` <wui-text variant="paragraph-400" color="fg-100"> ${this.textValue} </wui-text>`;
905
+ }
906
+ return bitcoin.x`<wui-icon size="inherit" color="fg-200" name="networkPlaceholder"></wui-icon>`;
907
+ }
908
+ };
909
+ WuiListContent.styles = [bitcoin.resetStyles, bitcoin.elementStyles, styles$2];
910
+ __decorate$2([
911
+ ifDefined.n()
912
+ ], WuiListContent.prototype, "imageSrc", void 0);
913
+ __decorate$2([
914
+ ifDefined.n()
915
+ ], WuiListContent.prototype, "textTitle", void 0);
916
+ __decorate$2([
917
+ ifDefined.n()
918
+ ], WuiListContent.prototype, "textValue", void 0);
919
+ WuiListContent = __decorate$2([
920
+ ifDefined.customElement("wui-list-content")
921
+ ], WuiListContent);
922
+ const styles$1 = bitcoin.i`
923
+ :host {
924
+ display: flex;
925
+ width: auto;
926
+ flex-direction: column;
927
+ gap: var(--wui-border-radius-1xs);
928
+ border-radius: var(--wui-border-radius-s);
929
+ background: var(--wui-color-gray-glass-002);
930
+ padding: var(--wui-spacing-s) var(--wui-spacing-1xs) var(--wui-spacing-1xs)
931
+ var(--wui-spacing-1xs);
932
+ }
933
+
934
+ wui-text {
935
+ padding: 0 var(--wui-spacing-1xs);
936
+ }
937
+
938
+ wui-flex {
939
+ margin-top: var(--wui-spacing-1xs);
940
+ }
941
+
942
+ .network {
943
+ cursor: pointer;
944
+ transition: background-color var(--wui-ease-out-power-1) var(--wui-duration-lg);
945
+ will-change: background-color;
946
+ }
947
+
948
+ .network:focus-visible {
949
+ border: 1px solid var(--wui-color-accent-100);
950
+ background-color: var(--wui-color-gray-glass-005);
951
+ -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);
952
+ -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);
953
+ box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);
954
+ }
955
+
956
+ .network:hover {
957
+ background-color: var(--wui-color-gray-glass-005);
958
+ }
959
+
960
+ .network:active {
961
+ background-color: var(--wui-color-gray-glass-010);
962
+ }
963
+ `;
964
+ var __decorate$1 = function(decorators, target, key, desc) {
965
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
966
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
967
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
968
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
969
+ };
970
+ let W3mWalletSendDetails = class W3mWalletSendDetails2 extends bitcoin.i$1 {
971
+ render() {
972
+ return bitcoin.x` <wui-text variant="small-400" color="fg-200">Details</wui-text>
973
+ <wui-flex flexDirection="column" gap="xxs">
974
+ <wui-list-content
975
+ textTitle="Address"
976
+ textValue=${ifDefined.UiHelperUtil.getTruncateString({
977
+ string: this.receiverAddress ?? "",
978
+ charsStart: 4,
979
+ charsEnd: 4,
980
+ truncate: "middle"
981
+ })}
982
+ >
983
+ </wui-list-content>
984
+ ${this.networkTemplate()}
985
+ </wui-flex>`;
986
+ }
987
+ networkTemplate() {
988
+ var _a;
989
+ if ((_a = this.caipNetwork) == null ? void 0 : _a.name) {
990
+ return bitcoin.x` <wui-list-content
991
+ @click=${() => this.onNetworkClick(this.caipNetwork)}
992
+ class="network"
993
+ textTitle="Network"
994
+ imageSrc=${ifDefined.o(react.AssetUtil.getNetworkImage(this.caipNetwork))}
995
+ ></wui-list-content>`;
996
+ }
997
+ return null;
998
+ }
999
+ onNetworkClick(network) {
1000
+ if (network) {
1001
+ react.RouterController.push("Networks", { network });
1002
+ }
1003
+ }
1004
+ };
1005
+ W3mWalletSendDetails.styles = styles$1;
1006
+ __decorate$1([
1007
+ ifDefined.n()
1008
+ ], W3mWalletSendDetails.prototype, "receiverAddress", void 0);
1009
+ __decorate$1([
1010
+ ifDefined.n({ type: Object })
1011
+ ], W3mWalletSendDetails.prototype, "caipNetwork", void 0);
1012
+ W3mWalletSendDetails = __decorate$1([
1013
+ ifDefined.customElement("w3m-wallet-send-details")
1014
+ ], W3mWalletSendDetails);
1015
+ const styles = bitcoin.i`
1016
+ wui-avatar,
1017
+ wui-image {
1018
+ display: ruby;
1019
+ width: 32px;
1020
+ height: 32px;
1021
+ border-radius: var(--wui-border-radius-3xl);
1022
+ }
1023
+
1024
+ .sendButton {
1025
+ width: 70%;
1026
+ --local-width: 100% !important;
1027
+ --local-border-radius: var(--wui-border-radius-xs) !important;
1028
+ }
1029
+
1030
+ .cancelButton {
1031
+ width: 30%;
1032
+ --local-width: 100% !important;
1033
+ --local-border-radius: var(--wui-border-radius-xs) !important;
1034
+ }
1035
+ `;
1036
+ var __decorate = function(decorators, target, key, desc) {
1037
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1038
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1039
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1040
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1041
+ };
1042
+ exports.W3mWalletSendPreviewView = class W3mWalletSendPreviewView extends bitcoin.i$1 {
1043
+ constructor() {
1044
+ super();
1045
+ this.unsubscribe = [];
1046
+ this.token = react.SendController.state.token;
1047
+ this.sendTokenAmount = react.SendController.state.sendTokenAmount;
1048
+ this.receiverAddress = react.SendController.state.receiverAddress;
1049
+ this.receiverProfileName = react.SendController.state.receiverProfileName;
1050
+ this.receiverProfileImageUrl = react.SendController.state.receiverProfileImageUrl;
1051
+ this.caipNetwork = react.ChainController.state.activeCaipNetwork;
1052
+ this.loading = react.SendController.state.loading;
1053
+ this.unsubscribe.push(...[
1054
+ react.SendController.subscribe((val) => {
1055
+ this.token = val.token;
1056
+ this.sendTokenAmount = val.sendTokenAmount;
1057
+ this.receiverAddress = val.receiverAddress;
1058
+ this.receiverProfileName = val.receiverProfileName;
1059
+ this.receiverProfileImageUrl = val.receiverProfileImageUrl;
1060
+ this.loading = val.loading;
1061
+ }),
1062
+ react.ChainController.subscribeKey("activeCaipNetwork", (val) => this.caipNetwork = val)
1063
+ ]);
1064
+ }
1065
+ disconnectedCallback() {
1066
+ this.unsubscribe.forEach((unsubscribe) => unsubscribe());
1067
+ }
1068
+ render() {
1069
+ var _a, _b;
1070
+ return bitcoin.x` <wui-flex flexDirection="column" .padding=${["0", "l", "l", "l"]}>
1071
+ <wui-flex gap="xs" flexDirection="column" .padding=${["0", "xs", "0", "xs"]}>
1072
+ <wui-flex alignItems="center" justifyContent="space-between">
1073
+ <wui-flex flexDirection="column" gap="4xs">
1074
+ <wui-text variant="small-400" color="fg-150">Send</wui-text>
1075
+ ${this.sendValueTemplate()}
1076
+ </wui-flex>
1077
+ <wui-preview-item
1078
+ text="${this.sendTokenAmount ? ifDefined.UiHelperUtil.roundNumber(this.sendTokenAmount, 6, 5) : "unknown"} ${(_a = this.token) == null ? void 0 : _a.symbol}"
1079
+ .imageSrc=${(_b = this.token) == null ? void 0 : _b.iconUrl}
1080
+ ></wui-preview-item>
1081
+ </wui-flex>
1082
+ <wui-flex>
1083
+ <wui-icon color="fg-200" size="md" name="arrowBottom"></wui-icon>
1084
+ </wui-flex>
1085
+ <wui-flex alignItems="center" justifyContent="space-between">
1086
+ <wui-text variant="small-400" color="fg-150">To</wui-text>
1087
+ <wui-preview-item
1088
+ text="${this.receiverProfileName ? ifDefined.UiHelperUtil.getTruncateString({
1089
+ string: this.receiverProfileName,
1090
+ charsStart: 20,
1091
+ charsEnd: 0,
1092
+ truncate: "end"
1093
+ }) : ifDefined.UiHelperUtil.getTruncateString({
1094
+ string: this.receiverAddress ? this.receiverAddress : "",
1095
+ charsStart: 4,
1096
+ charsEnd: 4,
1097
+ truncate: "middle"
1098
+ })}"
1099
+ address=${this.receiverAddress ?? ""}
1100
+ .imageSrc=${this.receiverProfileImageUrl ?? void 0}
1101
+ .isAddress=${true}
1102
+ ></wui-preview-item>
1103
+ </wui-flex>
1104
+ </wui-flex>
1105
+ <wui-flex flexDirection="column" .padding=${["xxl", "0", "0", "0"]}>
1106
+ <w3m-wallet-send-details
1107
+ .caipNetwork=${this.caipNetwork}
1108
+ .receiverAddress=${this.receiverAddress}
1109
+ ></w3m-wallet-send-details>
1110
+ <wui-flex justifyContent="center" gap="xxs" .padding=${["s", "0", "0", "0"]}>
1111
+ <wui-icon size="sm" color="fg-200" name="warningCircle"></wui-icon>
1112
+ <wui-text variant="small-400" color="fg-200">Review transaction carefully</wui-text>
1113
+ </wui-flex>
1114
+ <wui-flex justifyContent="center" gap="s" .padding=${["l", "0", "0", "0"]}>
1115
+ <wui-button
1116
+ class="cancelButton"
1117
+ @click=${this.onCancelClick.bind(this)}
1118
+ size="lg"
1119
+ variant="neutral"
1120
+ >
1121
+ Cancel
1122
+ </wui-button>
1123
+ <wui-button
1124
+ class="sendButton"
1125
+ @click=${this.onSendClick.bind(this)}
1126
+ size="lg"
1127
+ variant="main"
1128
+ .loading=${this.loading}
1129
+ >
1130
+ Send
1131
+ </wui-button>
1132
+ </wui-flex>
1133
+ </wui-flex></wui-flex
1134
+ >`;
1135
+ }
1136
+ sendValueTemplate() {
1137
+ if (this.token && this.sendTokenAmount) {
1138
+ const price = this.token.price;
1139
+ const totalValue = price * this.sendTokenAmount;
1140
+ return bitcoin.x`<wui-text variant="paragraph-400" color="fg-100"
1141
+ >$${totalValue.toFixed(2)}</wui-text
1142
+ >`;
1143
+ }
1144
+ return null;
1145
+ }
1146
+ async onSendClick() {
1147
+ var _a, _b;
1148
+ if (!this.sendTokenAmount || !this.receiverAddress) {
1149
+ react.SnackController.showError("Please enter a valid amount and receiver address");
1150
+ return;
1151
+ }
1152
+ try {
1153
+ await react.SendController.sendToken();
1154
+ react.SnackController.showSuccess("Transaction started");
1155
+ react.RouterController.replace("Account");
1156
+ } catch (error) {
1157
+ react.SnackController.showError("Failed to send transaction. Please try again.");
1158
+ console.error("SendController:sendToken - failed to send transaction", error);
1159
+ const activeChainNamespace = react.ChainController.state.activeChain;
1160
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
1161
+ react.EventsController.sendEvent({
1162
+ type: "track",
1163
+ event: "SEND_ERROR",
1164
+ properties: {
1165
+ message: errorMessage,
1166
+ isSmartAccount: react.getPreferredAccountType(activeChainNamespace) === react.W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT,
1167
+ token: ((_a = this.token) == null ? void 0 : _a.symbol) || "",
1168
+ amount: this.sendTokenAmount,
1169
+ network: ((_b = react.ChainController.state.activeCaipNetwork) == null ? void 0 : _b.caipNetworkId) || ""
1170
+ }
1171
+ });
1172
+ }
1173
+ }
1174
+ onCancelClick() {
1175
+ react.RouterController.goBack();
1176
+ }
1177
+ };
1178
+ exports.W3mWalletSendPreviewView.styles = styles;
1179
+ __decorate([
1180
+ ifDefined.r()
1181
+ ], exports.W3mWalletSendPreviewView.prototype, "token", void 0);
1182
+ __decorate([
1183
+ ifDefined.r()
1184
+ ], exports.W3mWalletSendPreviewView.prototype, "sendTokenAmount", void 0);
1185
+ __decorate([
1186
+ ifDefined.r()
1187
+ ], exports.W3mWalletSendPreviewView.prototype, "receiverAddress", void 0);
1188
+ __decorate([
1189
+ ifDefined.r()
1190
+ ], exports.W3mWalletSendPreviewView.prototype, "receiverProfileName", void 0);
1191
+ __decorate([
1192
+ ifDefined.r()
1193
+ ], exports.W3mWalletSendPreviewView.prototype, "receiverProfileImageUrl", void 0);
1194
+ __decorate([
1195
+ ifDefined.r()
1196
+ ], exports.W3mWalletSendPreviewView.prototype, "caipNetwork", void 0);
1197
+ __decorate([
1198
+ ifDefined.r()
1199
+ ], exports.W3mWalletSendPreviewView.prototype, "loading", void 0);
1200
+ exports.W3mWalletSendPreviewView = __decorate([
1201
+ ifDefined.customElement("w3m-wallet-send-preview-view")
1202
+ ], exports.W3mWalletSendPreviewView);