@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,873 @@
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-DZEwxUMS.js");
7
+ require("./index-dnFzVpGy.js");
8
+ const react = require("./react-C_wTMVq_.js");
9
+ const react$1 = require("./react-BzZcQig5.js");
10
+ require("./index-BBwuv2SS.js");
11
+ const ref = require("./ref-FGI2cUQB.js");
12
+ require("./index-BXkamf-I.js");
13
+ require("./index-BYTxCmKH.js");
14
+ const styles$4 = bitcoin.i`
15
+ :host {
16
+ position: relative;
17
+ display: inline-block;
18
+ }
19
+
20
+ input {
21
+ width: 50px;
22
+ height: 50px;
23
+ background: var(--wui-color-gray-glass-010);
24
+ border-radius: var(--wui-border-radius-xs);
25
+ border: 1px solid var(--wui-color-gray-glass-005);
26
+ font-family: var(--wui-font-family);
27
+ font-size: var(--wui-font-size-large);
28
+ font-weight: var(--wui-font-weight-regular);
29
+ letter-spacing: var(--wui-letter-spacing-large);
30
+ text-align: center;
31
+ color: var(--wui-color-fg-100);
32
+ caret-color: var(--wui-color-accent-100);
33
+ transition:
34
+ background-color var(--wui-ease-inout-power-1) var(--wui-duration-md),
35
+ border-color var(--wui-ease-inout-power-1) var(--wui-duration-md),
36
+ box-shadow var(--wui-ease-inout-power-1) var(--wui-duration-md);
37
+ will-change: background-color, border-color, box-shadow;
38
+ box-sizing: border-box;
39
+ -webkit-appearance: none;
40
+ -moz-appearance: textfield;
41
+ padding: 0px;
42
+ }
43
+
44
+ input::-webkit-outer-spin-button,
45
+ input::-webkit-inner-spin-button {
46
+ -webkit-appearance: none;
47
+ margin: 0;
48
+ }
49
+
50
+ input[type='number'] {
51
+ -moz-appearance: textfield;
52
+ }
53
+
54
+ input:disabled {
55
+ cursor: not-allowed;
56
+ border: 1px solid var(--wui-color-gray-glass-010);
57
+ background: var(--wui-color-gray-glass-005);
58
+ }
59
+
60
+ input:focus:enabled {
61
+ background-color: var(--wui-color-gray-glass-015);
62
+ border: 1px solid var(--wui-color-accent-100);
63
+ -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);
64
+ -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);
65
+ box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);
66
+ }
67
+
68
+ @media (hover: hover) and (pointer: fine) {
69
+ input:hover:enabled {
70
+ background-color: var(--wui-color-gray-glass-015);
71
+ }
72
+ }
73
+ `;
74
+ var __decorate$8 = function(decorators, target, key, desc) {
75
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
76
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
77
+ 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;
78
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
79
+ };
80
+ let WuiInputNumeric = class WuiInputNumeric2 extends bitcoin.i$1 {
81
+ constructor() {
82
+ super(...arguments);
83
+ this.disabled = false;
84
+ this.value = "";
85
+ }
86
+ render() {
87
+ return bitcoin.x`<input
88
+ type="number"
89
+ maxlength="1"
90
+ inputmode="numeric"
91
+ autofocus
92
+ ?disabled=${this.disabled}
93
+ value=${this.value}
94
+ /> `;
95
+ }
96
+ };
97
+ WuiInputNumeric.styles = [bitcoin.resetStyles, bitcoin.elementStyles, styles$4];
98
+ __decorate$8([
99
+ ifDefined.n({ type: Boolean })
100
+ ], WuiInputNumeric.prototype, "disabled", void 0);
101
+ __decorate$8([
102
+ ifDefined.n({ type: String })
103
+ ], WuiInputNumeric.prototype, "value", void 0);
104
+ WuiInputNumeric = __decorate$8([
105
+ ifDefined.customElement("wui-input-numeric")
106
+ ], WuiInputNumeric);
107
+ const styles$3 = bitcoin.i`
108
+ :host {
109
+ position: relative;
110
+ display: block;
111
+ }
112
+ `;
113
+ var __decorate$7 = function(decorators, target, key, desc) {
114
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
115
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
116
+ 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;
117
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
118
+ };
119
+ let WuiOtp = class WuiOtp2 extends bitcoin.i$1 {
120
+ constructor() {
121
+ super(...arguments);
122
+ this.length = 6;
123
+ this.otp = "";
124
+ this.values = Array.from({ length: this.length }).map(() => "");
125
+ this.numerics = [];
126
+ this.shouldInputBeEnabled = (index) => {
127
+ const previousInputs = this.values.slice(0, index);
128
+ return previousInputs.every((input) => input !== "");
129
+ };
130
+ this.handleKeyDown = (e, index) => {
131
+ const inputElement = e.target;
132
+ const input = this.getInputElement(inputElement);
133
+ const keyArr = ["ArrowLeft", "ArrowRight", "Shift", "Delete"];
134
+ if (!input) {
135
+ return;
136
+ }
137
+ if (keyArr.includes(e.key)) {
138
+ e.preventDefault();
139
+ }
140
+ const currentCaretPos = input.selectionStart;
141
+ switch (e.key) {
142
+ case "ArrowLeft":
143
+ if (currentCaretPos) {
144
+ input.setSelectionRange(currentCaretPos + 1, currentCaretPos + 1);
145
+ }
146
+ this.focusInputField("prev", index);
147
+ break;
148
+ case "ArrowRight":
149
+ this.focusInputField("next", index);
150
+ break;
151
+ case "Shift":
152
+ this.focusInputField("next", index);
153
+ break;
154
+ case "Delete":
155
+ if (input.value === "") {
156
+ this.focusInputField("prev", index);
157
+ } else {
158
+ this.updateInput(input, index, "");
159
+ }
160
+ break;
161
+ case "Backspace":
162
+ if (input.value === "") {
163
+ this.focusInputField("prev", index);
164
+ } else {
165
+ this.updateInput(input, index, "");
166
+ }
167
+ break;
168
+ }
169
+ };
170
+ this.focusInputField = (dir, index) => {
171
+ if (dir === "next") {
172
+ const nextIndex = index + 1;
173
+ if (!this.shouldInputBeEnabled(nextIndex)) {
174
+ return;
175
+ }
176
+ const numeric = this.numerics[nextIndex < this.length ? nextIndex : index];
177
+ const input = numeric ? this.getInputElement(numeric) : void 0;
178
+ if (input) {
179
+ input.disabled = false;
180
+ input.focus();
181
+ }
182
+ }
183
+ if (dir === "prev") {
184
+ const nextIndex = index - 1;
185
+ const numeric = this.numerics[nextIndex > -1 ? nextIndex : index];
186
+ const input = numeric ? this.getInputElement(numeric) : void 0;
187
+ if (input) {
188
+ input.focus();
189
+ }
190
+ }
191
+ };
192
+ }
193
+ firstUpdated() {
194
+ var _a, _b;
195
+ if (this.otp) {
196
+ this.values = this.otp.split("");
197
+ }
198
+ const numericElements = (_a = this.shadowRoot) == null ? void 0 : _a.querySelectorAll("wui-input-numeric");
199
+ if (numericElements) {
200
+ this.numerics = Array.from(numericElements);
201
+ }
202
+ (_b = this.numerics[0]) == null ? void 0 : _b.focus();
203
+ }
204
+ render() {
205
+ return bitcoin.x`
206
+ <wui-flex gap="xxs" data-testid="wui-otp-input">
207
+ ${Array.from({ length: this.length }).map((_, index) => bitcoin.x`
208
+ <wui-input-numeric
209
+ @input=${(e) => this.handleInput(e, index)}
210
+ @click=${(e) => this.selectInput(e)}
211
+ @keydown=${(e) => this.handleKeyDown(e, index)}
212
+ .disabled=${!this.shouldInputBeEnabled(index)}
213
+ .value=${this.values[index] || ""}
214
+ >
215
+ </wui-input-numeric>
216
+ `)}
217
+ </wui-flex>
218
+ `;
219
+ }
220
+ updateInput(element, index, value) {
221
+ const numeric = this.numerics[index];
222
+ const input = element || (numeric ? this.getInputElement(numeric) : void 0);
223
+ if (input) {
224
+ input.value = value;
225
+ this.values = this.values.map((val, i) => i === index ? value : val);
226
+ }
227
+ }
228
+ selectInput(e) {
229
+ const targetElement = e.target;
230
+ if (targetElement) {
231
+ const inputElement = this.getInputElement(targetElement);
232
+ inputElement == null ? void 0 : inputElement.select();
233
+ }
234
+ }
235
+ handleInput(e, index) {
236
+ const inputElement = e.target;
237
+ const input = this.getInputElement(inputElement);
238
+ if (input) {
239
+ const inputValue = input.value;
240
+ if (e.inputType === "insertFromPaste") {
241
+ this.handlePaste(input, inputValue, index);
242
+ } else {
243
+ const isValid = ifDefined.UiHelperUtil.isNumber(inputValue);
244
+ if (isValid && e.data) {
245
+ this.updateInput(input, index, e.data);
246
+ this.focusInputField("next", index);
247
+ } else {
248
+ this.updateInput(input, index, "");
249
+ }
250
+ }
251
+ }
252
+ this.dispatchInputChangeEvent();
253
+ }
254
+ handlePaste(input, inputValue, index) {
255
+ const value = inputValue[0];
256
+ const isValid = value && ifDefined.UiHelperUtil.isNumber(value);
257
+ if (isValid) {
258
+ this.updateInput(input, index, value);
259
+ const inputString = inputValue.substring(1);
260
+ if (index + 1 < this.length && inputString.length) {
261
+ const nextNumeric = this.numerics[index + 1];
262
+ const nextInput = nextNumeric ? this.getInputElement(nextNumeric) : void 0;
263
+ if (nextInput) {
264
+ this.handlePaste(nextInput, inputString, index + 1);
265
+ }
266
+ } else {
267
+ this.focusInputField("next", index);
268
+ }
269
+ } else {
270
+ this.updateInput(input, index, "");
271
+ }
272
+ }
273
+ getInputElement(el) {
274
+ var _a;
275
+ if ((_a = el.shadowRoot) == null ? void 0 : _a.querySelector("input")) {
276
+ return el.shadowRoot.querySelector("input");
277
+ }
278
+ return null;
279
+ }
280
+ dispatchInputChangeEvent() {
281
+ const value = this.values.join("");
282
+ this.dispatchEvent(new CustomEvent("inputChange", {
283
+ detail: value,
284
+ bubbles: true,
285
+ composed: true
286
+ }));
287
+ }
288
+ };
289
+ WuiOtp.styles = [bitcoin.resetStyles, styles$3];
290
+ __decorate$7([
291
+ ifDefined.n({ type: Number })
292
+ ], WuiOtp.prototype, "length", void 0);
293
+ __decorate$7([
294
+ ifDefined.n({ type: String })
295
+ ], WuiOtp.prototype, "otp", void 0);
296
+ __decorate$7([
297
+ ifDefined.r()
298
+ ], WuiOtp.prototype, "values", void 0);
299
+ WuiOtp = __decorate$7([
300
+ ifDefined.customElement("wui-otp")
301
+ ], WuiOtp);
302
+ const styles$2 = bitcoin.i`
303
+ wui-loading-spinner {
304
+ margin: 9px auto;
305
+ }
306
+
307
+ .email-display,
308
+ .email-display wui-text {
309
+ max-width: 100%;
310
+ }
311
+ `;
312
+ var __decorate$6 = function(decorators, target, key, desc) {
313
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
314
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
315
+ 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;
316
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
317
+ };
318
+ const OTP_LENGTH = 6;
319
+ let W3mEmailOtpWidget = class W3mEmailOtpWidget2 extends bitcoin.i$1 {
320
+ firstUpdated() {
321
+ this.startOTPTimeout();
322
+ }
323
+ disconnectedCallback() {
324
+ clearTimeout(this.OTPTimeout);
325
+ }
326
+ constructor() {
327
+ var _a;
328
+ super();
329
+ this.loading = false;
330
+ this.timeoutTimeLeft = react.W3mFrameHelpers.getTimeToNextEmailLogin();
331
+ this.error = "";
332
+ this.otp = "";
333
+ this.email = (_a = react$1.RouterController.state.data) == null ? void 0 : _a.email;
334
+ this.authConnector = react$1.ConnectorController.getAuthConnector();
335
+ }
336
+ render() {
337
+ if (!this.email) {
338
+ throw new Error("w3m-email-otp-widget: No email provided");
339
+ }
340
+ const isResendDisabled = Boolean(this.timeoutTimeLeft);
341
+ const footerLabels = this.getFooterLabels(isResendDisabled);
342
+ return bitcoin.x`
343
+ <wui-flex
344
+ flexDirection="column"
345
+ alignItems="center"
346
+ .padding=${["l", "0", "l", "0"]}
347
+ gap="l"
348
+ >
349
+ <wui-flex
350
+ class="email-display"
351
+ flexDirection="column"
352
+ alignItems="center"
353
+ .padding=${["0", "xl", "0", "xl"]}
354
+ >
355
+ <wui-text variant="paragraph-400" color="fg-100" align="center">
356
+ Enter the code we sent to
357
+ </wui-text>
358
+ <wui-text variant="paragraph-500" color="fg-100" lineClamp="1" align="center">
359
+ ${this.email}
360
+ </wui-text>
361
+ </wui-flex>
362
+
363
+ <wui-text variant="small-400" color="fg-200">The code expires in 20 minutes</wui-text>
364
+
365
+ ${this.loading ? bitcoin.x`<wui-loading-spinner size="xl" color="accent-100"></wui-loading-spinner>` : bitcoin.x` <wui-flex flexDirection="column" alignItems="center" gap="xs">
366
+ <wui-otp
367
+ dissabled
368
+ length="6"
369
+ @inputChange=${this.onOtpInputChange.bind(this)}
370
+ .otp=${this.otp}
371
+ ></wui-otp>
372
+ ${this.error ? bitcoin.x`
373
+ <wui-text variant="small-400" align="center" color="error-100">
374
+ ${this.error}. Try Again
375
+ </wui-text>
376
+ ` : null}
377
+ </wui-flex>`}
378
+
379
+ <wui-flex alignItems="center" gap="xs">
380
+ <wui-text variant="small-400" color="fg-200">${footerLabels.title}</wui-text>
381
+ <wui-link @click=${this.onResendCode.bind(this)} .disabled=${isResendDisabled}>
382
+ ${footerLabels.action}
383
+ </wui-link>
384
+ </wui-flex>
385
+ </wui-flex>
386
+ `;
387
+ }
388
+ startOTPTimeout() {
389
+ this.timeoutTimeLeft = react.W3mFrameHelpers.getTimeToNextEmailLogin();
390
+ this.OTPTimeout = setInterval(() => {
391
+ if (this.timeoutTimeLeft > 0) {
392
+ this.timeoutTimeLeft = react.W3mFrameHelpers.getTimeToNextEmailLogin();
393
+ } else {
394
+ clearInterval(this.OTPTimeout);
395
+ }
396
+ }, 1e3);
397
+ }
398
+ async onOtpInputChange(event) {
399
+ var _a;
400
+ try {
401
+ if (!this.loading) {
402
+ this.otp = event.detail;
403
+ if (this.authConnector && this.otp.length === OTP_LENGTH) {
404
+ this.loading = true;
405
+ await ((_a = this.onOtpSubmit) == null ? void 0 : _a.call(this, this.otp));
406
+ }
407
+ }
408
+ } catch (error) {
409
+ this.error = react$1.CoreHelperUtil.parseError(error);
410
+ this.loading = false;
411
+ }
412
+ }
413
+ async onResendCode() {
414
+ try {
415
+ if (this.onOtpResend) {
416
+ if (!this.loading && !this.timeoutTimeLeft) {
417
+ this.error = "";
418
+ this.otp = "";
419
+ const authConnector = react$1.ConnectorController.getAuthConnector();
420
+ if (!authConnector || !this.email) {
421
+ throw new Error("w3m-email-otp-widget: Unable to resend email");
422
+ }
423
+ this.loading = true;
424
+ await this.onOtpResend(this.email);
425
+ this.startOTPTimeout();
426
+ react$1.SnackController.showSuccess("Code email resent");
427
+ }
428
+ } else if (this.onStartOver) {
429
+ this.onStartOver();
430
+ }
431
+ } catch (error) {
432
+ react$1.SnackController.showError(error);
433
+ } finally {
434
+ this.loading = false;
435
+ }
436
+ }
437
+ getFooterLabels(isResendDisabled) {
438
+ if (this.onStartOver) {
439
+ return {
440
+ title: "Something wrong?",
441
+ action: `Try again ${isResendDisabled ? `in ${this.timeoutTimeLeft}s` : ""}`
442
+ };
443
+ }
444
+ return {
445
+ title: `Didn't receive it?`,
446
+ action: `Resend ${isResendDisabled ? `in ${this.timeoutTimeLeft}s` : "Code"}`
447
+ };
448
+ }
449
+ };
450
+ W3mEmailOtpWidget.styles = styles$2;
451
+ __decorate$6([
452
+ ifDefined.r()
453
+ ], W3mEmailOtpWidget.prototype, "loading", void 0);
454
+ __decorate$6([
455
+ ifDefined.r()
456
+ ], W3mEmailOtpWidget.prototype, "timeoutTimeLeft", void 0);
457
+ __decorate$6([
458
+ ifDefined.r()
459
+ ], W3mEmailOtpWidget.prototype, "error", void 0);
460
+ W3mEmailOtpWidget = __decorate$6([
461
+ ifDefined.customElement("w3m-email-otp-widget")
462
+ ], W3mEmailOtpWidget);
463
+ var __decorate$5 = function(decorators, target, key, desc) {
464
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
465
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
466
+ 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;
467
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
468
+ };
469
+ exports.W3mEmailVerifyOtpView = class W3mEmailVerifyOtpView extends W3mEmailOtpWidget {
470
+ constructor() {
471
+ super(...arguments);
472
+ this.onOtpSubmit = async (otp) => {
473
+ var _a;
474
+ try {
475
+ if (this.authConnector) {
476
+ await this.authConnector.provider.connectOtp({ otp });
477
+ react$1.EventsController.sendEvent({ type: "track", event: "EMAIL_VERIFICATION_CODE_PASS" });
478
+ const connectionsByNamespace = react$1.ConnectionController.getConnections(react$1.ChainController.state.activeChain);
479
+ const hasConnections = connectionsByNamespace.length > 0;
480
+ if (react$1.ChainController.state.activeChain) {
481
+ await react$1.ConnectionController.connectExternal(this.authConnector, react$1.ChainController.state.activeChain);
482
+ } else {
483
+ throw new Error("Active chain is not set on ChainControll");
484
+ }
485
+ react$1.EventsController.sendEvent({
486
+ type: "track",
487
+ event: "CONNECT_SUCCESS",
488
+ properties: { method: "email", name: this.authConnector.name || "Unknown" }
489
+ });
490
+ const isMultiWalletEnabled = (_a = react$1.OptionsController.state.remoteFeatures) == null ? void 0 : _a.multiWallet;
491
+ if (react$1.OptionsController.state.siwx) {
492
+ react$1.ModalController.close();
493
+ } else if (hasConnections && isMultiWalletEnabled) {
494
+ react$1.RouterController.replace("ProfileWallets");
495
+ react$1.SnackController.showSuccess("New Wallet Added");
496
+ } else {
497
+ react$1.ModalController.close();
498
+ }
499
+ }
500
+ } catch (error) {
501
+ react$1.EventsController.sendEvent({
502
+ type: "track",
503
+ event: "EMAIL_VERIFICATION_CODE_FAIL",
504
+ properties: { message: react$1.CoreHelperUtil.parseError(error) }
505
+ });
506
+ throw error;
507
+ }
508
+ };
509
+ this.onOtpResend = async (email) => {
510
+ if (this.authConnector) {
511
+ await this.authConnector.provider.connectEmail({ email });
512
+ react$1.EventsController.sendEvent({ type: "track", event: "EMAIL_VERIFICATION_CODE_SENT" });
513
+ }
514
+ };
515
+ }
516
+ };
517
+ exports.W3mEmailVerifyOtpView = __decorate$5([
518
+ ifDefined.customElement("w3m-email-verify-otp-view")
519
+ ], exports.W3mEmailVerifyOtpView);
520
+ const styles$1 = bitcoin.i`
521
+ wui-icon-box {
522
+ height: var(--wui-icon-box-size-xl);
523
+ width: var(--wui-icon-box-size-xl);
524
+ }
525
+ `;
526
+ var __decorate$4 = function(decorators, target, key, desc) {
527
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
528
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
529
+ 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;
530
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
531
+ };
532
+ exports.W3mEmailVerifyDeviceView = class W3mEmailVerifyDeviceView extends bitcoin.i$1 {
533
+ constructor() {
534
+ var _a;
535
+ super();
536
+ this.email = (_a = react$1.RouterController.state.data) == null ? void 0 : _a.email;
537
+ this.authConnector = react$1.ConnectorController.getAuthConnector();
538
+ this.loading = false;
539
+ this.listenForDeviceApproval();
540
+ }
541
+ render() {
542
+ if (!this.email) {
543
+ throw new Error("w3m-email-verify-device-view: No email provided");
544
+ }
545
+ if (!this.authConnector) {
546
+ throw new Error("w3m-email-verify-device-view: No auth connector provided");
547
+ }
548
+ return bitcoin.x`
549
+ <wui-flex
550
+ flexDirection="column"
551
+ alignItems="center"
552
+ .padding=${["xxl", "s", "xxl", "s"]}
553
+ gap="l"
554
+ >
555
+ <wui-icon-box
556
+ size="xl"
557
+ iconcolor="accent-100"
558
+ backgroundcolor="accent-100"
559
+ icon="verify"
560
+ background="opaque"
561
+ ></wui-icon-box>
562
+
563
+ <wui-flex flexDirection="column" alignItems="center" gap="s">
564
+ <wui-flex flexDirection="column" alignItems="center">
565
+ <wui-text variant="paragraph-400" color="fg-100">
566
+ Approve the login link we sent to
567
+ </wui-text>
568
+ <wui-text variant="paragraph-400" color="fg-100"><b>${this.email}</b></wui-text>
569
+ </wui-flex>
570
+
571
+ <wui-text variant="small-400" color="fg-200" align="center">
572
+ The code expires in 20 minutes
573
+ </wui-text>
574
+
575
+ <wui-flex alignItems="center" id="w3m-resend-section" gap="xs">
576
+ <wui-text variant="small-400" color="fg-100" align="center">
577
+ Didn't receive it?
578
+ </wui-text>
579
+ <wui-link @click=${this.onResendCode.bind(this)} .disabled=${this.loading}>
580
+ Resend email
581
+ </wui-link>
582
+ </wui-flex>
583
+ </wui-flex>
584
+ </wui-flex>
585
+ `;
586
+ }
587
+ async listenForDeviceApproval() {
588
+ if (this.authConnector) {
589
+ try {
590
+ await this.authConnector.provider.connectDevice();
591
+ react$1.EventsController.sendEvent({ type: "track", event: "DEVICE_REGISTERED_FOR_EMAIL" });
592
+ react$1.EventsController.sendEvent({ type: "track", event: "EMAIL_VERIFICATION_CODE_SENT" });
593
+ react$1.RouterController.replace("EmailVerifyOtp", { email: this.email });
594
+ } catch (error) {
595
+ react$1.RouterController.goBack();
596
+ }
597
+ }
598
+ }
599
+ async onResendCode() {
600
+ try {
601
+ if (!this.loading) {
602
+ if (!this.authConnector || !this.email) {
603
+ throw new Error("w3m-email-login-widget: Unable to resend email");
604
+ }
605
+ this.loading = true;
606
+ await this.authConnector.provider.connectEmail({ email: this.email });
607
+ this.listenForDeviceApproval();
608
+ react$1.SnackController.showSuccess("Code email resent");
609
+ }
610
+ } catch (error) {
611
+ react$1.SnackController.showError(error);
612
+ } finally {
613
+ this.loading = false;
614
+ }
615
+ }
616
+ };
617
+ exports.W3mEmailVerifyDeviceView.styles = styles$1;
618
+ __decorate$4([
619
+ ifDefined.r()
620
+ ], exports.W3mEmailVerifyDeviceView.prototype, "loading", void 0);
621
+ exports.W3mEmailVerifyDeviceView = __decorate$4([
622
+ ifDefined.customElement("w3m-email-verify-device-view")
623
+ ], exports.W3mEmailVerifyDeviceView);
624
+ const styles = bitcoin.i`
625
+ wui-email-input {
626
+ width: 100%;
627
+ }
628
+
629
+ form {
630
+ width: 100%;
631
+ display: block;
632
+ position: relative;
633
+ }
634
+ `;
635
+ var __decorate$3 = function(decorators, target, key, desc) {
636
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
637
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
638
+ 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;
639
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
640
+ };
641
+ exports.W3mUpdateEmailWalletView = class W3mUpdateEmailWalletView extends bitcoin.i$1 {
642
+ constructor() {
643
+ var _a, _b;
644
+ super(...arguments);
645
+ this.formRef = ref.e();
646
+ this.initialEmail = ((_a = react$1.RouterController.state.data) == null ? void 0 : _a.email) ?? "";
647
+ this.redirectView = (_b = react$1.RouterController.state.data) == null ? void 0 : _b.redirectView;
648
+ this.email = "";
649
+ this.loading = false;
650
+ }
651
+ firstUpdated() {
652
+ var _a;
653
+ (_a = this.formRef.value) == null ? void 0 : _a.addEventListener("keydown", (event) => {
654
+ if (event.key === "Enter") {
655
+ this.onSubmitEmail(event);
656
+ }
657
+ });
658
+ }
659
+ render() {
660
+ return bitcoin.x`
661
+ <wui-flex flexDirection="column" padding="m" gap="m">
662
+ <form ${ref.n(this.formRef)} @submit=${this.onSubmitEmail.bind(this)}>
663
+ <wui-email-input
664
+ value=${this.initialEmail}
665
+ .disabled=${this.loading}
666
+ @inputChange=${this.onEmailInputChange.bind(this)}
667
+ >
668
+ </wui-email-input>
669
+ <input type="submit" hidden />
670
+ </form>
671
+ ${this.buttonsTemplate()}
672
+ </wui-flex>
673
+ `;
674
+ }
675
+ onEmailInputChange(event) {
676
+ this.email = event.detail;
677
+ }
678
+ async onSubmitEmail(event) {
679
+ try {
680
+ if (this.loading) {
681
+ return;
682
+ }
683
+ this.loading = true;
684
+ event.preventDefault();
685
+ const authConnector = react$1.ConnectorController.getAuthConnector();
686
+ if (!authConnector) {
687
+ throw new Error("w3m-update-email-wallet: Auth connector not found");
688
+ }
689
+ const response = await authConnector.provider.updateEmail({ email: this.email });
690
+ react$1.EventsController.sendEvent({ type: "track", event: "EMAIL_EDIT" });
691
+ if (response.action === "VERIFY_SECONDARY_OTP") {
692
+ react$1.RouterController.push("UpdateEmailSecondaryOtp", {
693
+ email: this.initialEmail,
694
+ newEmail: this.email,
695
+ redirectView: this.redirectView
696
+ });
697
+ } else {
698
+ react$1.RouterController.push("UpdateEmailPrimaryOtp", {
699
+ email: this.initialEmail,
700
+ newEmail: this.email,
701
+ redirectView: this.redirectView
702
+ });
703
+ }
704
+ } catch (error) {
705
+ react$1.SnackController.showError(error);
706
+ this.loading = false;
707
+ }
708
+ }
709
+ buttonsTemplate() {
710
+ const showSubmit = !this.loading && this.email.length > 3 && this.email !== this.initialEmail;
711
+ if (!this.redirectView) {
712
+ return bitcoin.x`
713
+ <wui-button
714
+ size="md"
715
+ variant="main"
716
+ fullWidth
717
+ @click=${this.onSubmitEmail.bind(this)}
718
+ .disabled=${!showSubmit}
719
+ .loading=${this.loading}
720
+ >
721
+ Save
722
+ </wui-button>
723
+ `;
724
+ }
725
+ return bitcoin.x`
726
+ <wui-flex gap="s">
727
+ <wui-button size="md" variant="neutral" fullWidth @click=${react$1.RouterController.goBack}>
728
+ Cancel
729
+ </wui-button>
730
+
731
+ <wui-button
732
+ size="md"
733
+ variant="main"
734
+ fullWidth
735
+ @click=${this.onSubmitEmail.bind(this)}
736
+ .disabled=${!showSubmit}
737
+ .loading=${this.loading}
738
+ >
739
+ Save
740
+ </wui-button>
741
+ </wui-flex>
742
+ `;
743
+ }
744
+ };
745
+ exports.W3mUpdateEmailWalletView.styles = styles;
746
+ __decorate$3([
747
+ ifDefined.r()
748
+ ], exports.W3mUpdateEmailWalletView.prototype, "email", void 0);
749
+ __decorate$3([
750
+ ifDefined.r()
751
+ ], exports.W3mUpdateEmailWalletView.prototype, "loading", void 0);
752
+ exports.W3mUpdateEmailWalletView = __decorate$3([
753
+ ifDefined.customElement("w3m-update-email-wallet-view")
754
+ ], exports.W3mUpdateEmailWalletView);
755
+ var __decorate$2 = function(decorators, target, key, desc) {
756
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
757
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
758
+ 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;
759
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
760
+ };
761
+ exports.W3mUpdateEmailPrimaryOtpView = class W3mUpdateEmailPrimaryOtpView extends W3mEmailOtpWidget {
762
+ constructor() {
763
+ var _a;
764
+ super();
765
+ this.email = (_a = react$1.RouterController.state.data) == null ? void 0 : _a.email;
766
+ this.onOtpSubmit = async (otp) => {
767
+ try {
768
+ if (this.authConnector) {
769
+ await this.authConnector.provider.updateEmailPrimaryOtp({ otp });
770
+ react$1.EventsController.sendEvent({ type: "track", event: "EMAIL_VERIFICATION_CODE_PASS" });
771
+ react$1.RouterController.replace("UpdateEmailSecondaryOtp", react$1.RouterController.state.data);
772
+ }
773
+ } catch (error) {
774
+ react$1.EventsController.sendEvent({
775
+ type: "track",
776
+ event: "EMAIL_VERIFICATION_CODE_FAIL",
777
+ properties: { message: react$1.CoreHelperUtil.parseError(error) }
778
+ });
779
+ throw error;
780
+ }
781
+ };
782
+ this.onStartOver = () => {
783
+ react$1.RouterController.replace("UpdateEmailWallet", react$1.RouterController.state.data);
784
+ };
785
+ }
786
+ };
787
+ exports.W3mUpdateEmailPrimaryOtpView = __decorate$2([
788
+ ifDefined.customElement("w3m-update-email-primary-otp-view")
789
+ ], exports.W3mUpdateEmailPrimaryOtpView);
790
+ var __decorate$1 = function(decorators, target, key, desc) {
791
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
792
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
793
+ 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;
794
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
795
+ };
796
+ exports.W3mUpdateEmailSecondaryOtpView = class W3mUpdateEmailSecondaryOtpView extends W3mEmailOtpWidget {
797
+ constructor() {
798
+ var _a, _b;
799
+ super();
800
+ this.email = (_a = react$1.RouterController.state.data) == null ? void 0 : _a.newEmail;
801
+ this.redirectView = (_b = react$1.RouterController.state.data) == null ? void 0 : _b.redirectView;
802
+ this.onOtpSubmit = async (otp) => {
803
+ try {
804
+ if (this.authConnector) {
805
+ await this.authConnector.provider.updateEmailSecondaryOtp({ otp });
806
+ react$1.EventsController.sendEvent({ type: "track", event: "EMAIL_VERIFICATION_CODE_PASS" });
807
+ if (this.redirectView) {
808
+ react$1.RouterController.reset(this.redirectView);
809
+ }
810
+ }
811
+ } catch (error) {
812
+ react$1.EventsController.sendEvent({
813
+ type: "track",
814
+ event: "EMAIL_VERIFICATION_CODE_FAIL",
815
+ properties: { message: react$1.CoreHelperUtil.parseError(error) }
816
+ });
817
+ throw error;
818
+ }
819
+ };
820
+ this.onStartOver = () => {
821
+ react$1.RouterController.replace("UpdateEmailWallet", react$1.RouterController.state.data);
822
+ };
823
+ }
824
+ };
825
+ exports.W3mUpdateEmailSecondaryOtpView = __decorate$1([
826
+ ifDefined.customElement("w3m-update-email-secondary-otp-view")
827
+ ], exports.W3mUpdateEmailSecondaryOtpView);
828
+ var __decorate = function(decorators, target, key, desc) {
829
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
830
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
831
+ 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;
832
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
833
+ };
834
+ exports.W3mEmailLoginView = class W3mEmailLoginView extends bitcoin.i$1 {
835
+ constructor() {
836
+ var _a;
837
+ super();
838
+ this.authConnector = react$1.ConnectorController.getAuthConnector();
839
+ this.isEmailEnabled = (_a = react$1.OptionsController.state.remoteFeatures) == null ? void 0 : _a.email;
840
+ this.isAuthEnabled = this.checkIfAuthEnabled(react$1.ConnectorController.state.connectors);
841
+ this.connectors = react$1.ConnectorController.state.connectors;
842
+ react$1.ConnectorController.subscribeKey("connectors", (val) => {
843
+ this.connectors = val;
844
+ this.isAuthEnabled = this.checkIfAuthEnabled(this.connectors);
845
+ });
846
+ }
847
+ render() {
848
+ if (!this.isEmailEnabled) {
849
+ throw new Error("w3m-email-login-view: Email is not enabled");
850
+ }
851
+ if (!this.isAuthEnabled) {
852
+ throw new Error("w3m-email-login-view: No auth connector provided");
853
+ }
854
+ return bitcoin.x`<wui-flex
855
+ flexDirection="column"
856
+ .padding=${["3xs", "m", "m", "m"]}
857
+ gap="l"
858
+ >
859
+ <w3m-email-login-widget></w3m-email-login-widget>
860
+ </wui-flex> `;
861
+ }
862
+ checkIfAuthEnabled(connectors) {
863
+ const namespacesWithAuthConnector = connectors.filter((c) => c.type === react.ConstantsUtil.CONNECTOR_TYPE_AUTH).map((i) => i.chain);
864
+ const authSupportedNamespaces = react$1.ConstantsUtil$1.AUTH_CONNECTOR_SUPPORTED_CHAINS;
865
+ return authSupportedNamespaces.some((ns) => namespacesWithAuthConnector.includes(ns));
866
+ }
867
+ };
868
+ __decorate([
869
+ ifDefined.r()
870
+ ], exports.W3mEmailLoginView.prototype, "connectors", void 0);
871
+ exports.W3mEmailLoginView = __decorate([
872
+ ifDefined.customElement("w3m-email-login-view")
873
+ ], exports.W3mEmailLoginView);