@directcryptopay/sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/README.md +357 -0
  2. package/dist/ConstantsUtil-B-_-u8aQ.js +6 -0
  3. package/dist/add-KF4m4jFK.js +19 -0
  4. package/dist/all-wallets-D6NAjQgX.js +10 -0
  5. package/dist/app-store-D7TTn-EO.js +21 -0
  6. package/dist/apple-DjX2E2hE.js +22 -0
  7. package/dist/arrow-bottom-C0YrNJYB.js +12 -0
  8. package/dist/arrow-bottom-circle-Dlxvx_XG.js +15 -0
  9. package/dist/arrow-left-x8_-lUyK.js +12 -0
  10. package/dist/arrow-right-BTZybj80.js +12 -0
  11. package/dist/arrow-top-LzH7iLCp.js +12 -0
  12. package/dist/bank-23jp-IV_.js +18 -0
  13. package/dist/browser-EjoorDid.js +18 -0
  14. package/dist/card-DGgWwtwC.js +18 -0
  15. package/dist/ccip-BMANewTU.js +150 -0
  16. package/dist/checkmark-B1qcQhBo.js +15 -0
  17. package/dist/checkmark-bold-Cyc4IEEJ.js +12 -0
  18. package/dist/chevron-bottom-ClHs08rB.js +12 -0
  19. package/dist/chevron-left-O8h_551_.js +12 -0
  20. package/dist/chevron-right-DP3xpyIA.js +12 -0
  21. package/dist/chevron-top-CuwkBUs9.js +12 -0
  22. package/dist/chrome-store-zfT_aJ3R.js +65 -0
  23. package/dist/clock-DHZqivIS.js +12 -0
  24. package/dist/close-Cp9rNAw4.js +12 -0
  25. package/dist/coinPlaceholder-U7-T1KKQ.js +12 -0
  26. package/dist/compass-Ds5-PRSR.js +12 -0
  27. package/dist/copy-Jg4HdIMf.js +19 -0
  28. package/dist/core/api.d.ts +30 -0
  29. package/dist/core/config.d.ts +59 -0
  30. package/dist/core/logic.d.ts +2 -0
  31. package/dist/core/wallet.d.ts +34 -0
  32. package/dist/cursor-DmMevduB.js +7 -0
  33. package/dist/cursor-transparent-Dn9-1SV8.js +16 -0
  34. package/dist/dcp-sdk.umd.js +12000 -0
  35. package/dist/dcp.d.ts +10 -0
  36. package/dist/desktop-C4udXXlZ.js +13 -0
  37. package/dist/disconnect-wd1BYLxt.js +12 -0
  38. package/dist/discord-DthxuCAP.js +21 -0
  39. package/dist/email-B3jSnUFE.js +696 -0
  40. package/dist/embedded-wallet-CJHmoBI2.js +468 -0
  41. package/dist/etherscan-Cjp4xfMW.js +10 -0
  42. package/dist/exclamation-triangle-CRNR5WOy.js +8 -0
  43. package/dist/extension-Cydk0mZt.js +12 -0
  44. package/dist/external-link-CuPTAoq9.js +12 -0
  45. package/dist/facebook-CghqXmdf.js +30 -0
  46. package/dist/farcaster-BREqMX4y.js +16 -0
  47. package/dist/filters-Dn_Ys7ew.js +12 -0
  48. package/dist/github-C-A7JmIY.js +22 -0
  49. package/dist/google-CCdM_naE.js +22 -0
  50. package/dist/hashTypedData-D2Qmzscs.js +197 -0
  51. package/dist/help-circle-DIH4vyj3.js +16 -0
  52. package/dist/id-DkJ0gBuy.js +16 -0
  53. package/dist/if-defined-BciplFKz.js +744 -0
  54. package/dist/image-qMjyiXM0.js +8 -0
  55. package/dist/index--3Zp0jAb.js +45 -0
  56. package/dist/index-1adX-Fit.js +65 -0
  57. package/dist/index-AvC0IGDl.js +7864 -0
  58. package/dist/index-B2-vKLd8.js +276 -0
  59. package/dist/index-B2iDt0TJ.js +146 -0
  60. package/dist/index-B5zkXsLJ.js +320 -0
  61. package/dist/index-B7K86vWu.js +1742 -0
  62. package/dist/index-BBkcvSiY.js +511 -0
  63. package/dist/index-BdjxQs66.js +181 -0
  64. package/dist/index-Bijd4_Ns.js +294 -0
  65. package/dist/index-BpXOsxzU.js +387 -0
  66. package/dist/index-C1QEJL-2.js +572 -0
  67. package/dist/index-C27dwOyE.js +243 -0
  68. package/dist/index-C4BX3QW8.js +58 -0
  69. package/dist/index-CMPIqsB1.js +170 -0
  70. package/dist/index-CTYngdl0.js +21991 -0
  71. package/dist/index-CUdQyyFn.js +51 -0
  72. package/dist/index-CX60z_g2.js +573 -0
  73. package/dist/index-CppCc1n8.js +65 -0
  74. package/dist/index-CqVegmN4.js +559 -0
  75. package/dist/index-CuiyMA8F.js +78 -0
  76. package/dist/index-CwB_qRfM.js +305 -0
  77. package/dist/index-CxOF7GqE.js +265 -0
  78. package/dist/index-D-IzHD_8.js +54 -0
  79. package/dist/index-DRNiFv9I.js +218 -0
  80. package/dist/index-Da8oZh8H.js +838 -0
  81. package/dist/index-DiHImG4L.js +44236 -0
  82. package/dist/index-DmOMXRG1.js +181 -0
  83. package/dist/index-DoSYqTQg.js +199 -0
  84. package/dist/index-DpHXq5_E.js +603 -0
  85. package/dist/index-DtCsAVBg.js +78 -0
  86. package/dist/index-Ij6XA6_4.js +77 -0
  87. package/dist/index-SzyBYfzA.js +8490 -0
  88. package/dist/index-eW8y-mXH.js +257 -0
  89. package/dist/index-fxzIDZsb.js +75 -0
  90. package/dist/index-lbhz9evJ.js +97 -0
  91. package/dist/index.d.ts +3 -0
  92. package/dist/index.js +4 -0
  93. package/dist/info-DMIGgjkL.js +7 -0
  94. package/dist/info-circle-CJuIKZSx.js +16 -0
  95. package/dist/lightbulb-qFT6WEWV.js +7 -0
  96. package/dist/localBatchGatewayRequest-CsMVMFBc.js +91 -0
  97. package/dist/mail-DoYgQvOt.js +12 -0
  98. package/dist/mobile-URtsh7o-.js +13 -0
  99. package/dist/more-DoQd10TF.js +15 -0
  100. package/dist/network-placeholder-BBA2Ue6C.js +18 -0
  101. package/dist/nftPlaceholder-C9RXWz9k.js +12 -0
  102. package/dist/off-YcuDQczT.js +12 -0
  103. package/dist/onramp-BfqDIx4o.js +1279 -0
  104. package/dist/parseSignature-280HB24T.js +3560 -0
  105. package/dist/play-store-sFaloG_r.js +36 -0
  106. package/dist/plus-l0wekSht.js +17 -0
  107. package/dist/qr-code-CihrUU4G.js +10 -0
  108. package/dist/receive-dfY1Cu-g.js +186 -0
  109. package/dist/recycle-horizontal-nXu6YaPw.js +13 -0
  110. package/dist/ref-huAzXCX0.js +41 -0
  111. package/dist/refresh-D2ZbVeNC.js +12 -0
  112. package/dist/reown-logo-BMaTMJmc.js +16 -0
  113. package/dist/search-YVM9q3J-.js +12 -0
  114. package/dist/secp256k1-BrysY3Sv.js +1302 -0
  115. package/dist/secp256k1-DPQgTBwQ.js +1510 -0
  116. package/dist/send-BwQZPKxI.js +19 -0
  117. package/dist/send-GyetMVu1.js +1038 -0
  118. package/dist/socials-B0W91J9k.js +574 -0
  119. package/dist/swapHorizontal-Dy_oQEkp.js +12 -0
  120. package/dist/swapHorizontalBold-C4JpaMpc.js +12 -0
  121. package/dist/swapHorizontalMedium-D5NuVZFh.js +20 -0
  122. package/dist/swapHorizontalRoundedBold-Bq4P2MCj.js +12 -0
  123. package/dist/swapVertical-CVQ8Mg03.js +12 -0
  124. package/dist/swaps-CA04SSdK.js +1637 -0
  125. package/dist/telegram-BP4SgW_L.js +20 -0
  126. package/dist/three-dots-BJYGJ-dQ.js +9 -0
  127. package/dist/transactions-Bq-98Tsg.js +37 -0
  128. package/dist/twitch-DTATWo9M.js +22 -0
  129. package/dist/twitterIcon-D5UWPInb.js +10 -0
  130. package/dist/types.d.ts +128 -0
  131. package/dist/ui/Modal.d.ts +9 -0
  132. package/dist/ui/index.d.ts +6 -0
  133. package/dist/verify-Byvj8Wi1.js +12 -0
  134. package/dist/verify-filled-B40taNm0.js +12 -0
  135. package/dist/w3m-modal-HV6SE74G.js +1037 -0
  136. package/dist/wallet-Cp-6Kk88.js +12 -0
  137. package/dist/wallet-placeholder-C3juwA9o.js +18 -0
  138. package/dist/walletconnect-CRkIiLCx.js +36 -0
  139. package/dist/warning-circle-DtvCLwG4.js +16 -0
  140. package/dist/x-Cqyx5eCt.js +16 -0
  141. package/package.json +70 -0
@@ -0,0 +1,696 @@
1
+ import { cz as E, cC as L, cD as U, cA as w, cB as u, dH as _, cE as l, d7 as h, cY as x, cU as v, d3 as c, cT as S, d1 as k, dd as F, cN as z, dI as M, d8 as B } from "./index-DiHImG4L.js";
2
+ import { n as I, c as d, r as m, U as D } from "./if-defined-BciplFKz.js";
3
+ import "./index-D-IzHD_8.js";
4
+ import "./index-lbhz9evJ.js";
5
+ import "./index-fxzIDZsb.js";
6
+ import { e as H, n as q } from "./ref-huAzXCX0.js";
7
+ import "./index-Bijd4_Ns.js";
8
+ import "./index-C4BX3QW8.js";
9
+ const Y = E`
10
+ :host {
11
+ position: relative;
12
+ display: inline-block;
13
+ }
14
+
15
+ input {
16
+ width: 50px;
17
+ height: 50px;
18
+ background: var(--wui-color-gray-glass-010);
19
+ border-radius: var(--wui-border-radius-xs);
20
+ border: 1px solid var(--wui-color-gray-glass-005);
21
+ font-family: var(--wui-font-family);
22
+ font-size: var(--wui-font-size-large);
23
+ font-weight: var(--wui-font-weight-regular);
24
+ letter-spacing: var(--wui-letter-spacing-large);
25
+ text-align: center;
26
+ color: var(--wui-color-fg-100);
27
+ caret-color: var(--wui-color-accent-100);
28
+ transition:
29
+ background-color var(--wui-ease-inout-power-1) var(--wui-duration-md),
30
+ border-color var(--wui-ease-inout-power-1) var(--wui-duration-md),
31
+ box-shadow var(--wui-ease-inout-power-1) var(--wui-duration-md);
32
+ will-change: background-color, border-color, box-shadow;
33
+ box-sizing: border-box;
34
+ -webkit-appearance: none;
35
+ -moz-appearance: textfield;
36
+ padding: 0px;
37
+ }
38
+
39
+ input::-webkit-outer-spin-button,
40
+ input::-webkit-inner-spin-button {
41
+ -webkit-appearance: none;
42
+ margin: 0;
43
+ }
44
+
45
+ input[type='number'] {
46
+ -moz-appearance: textfield;
47
+ }
48
+
49
+ input:disabled {
50
+ cursor: not-allowed;
51
+ border: 1px solid var(--wui-color-gray-glass-010);
52
+ background: var(--wui-color-gray-glass-005);
53
+ }
54
+
55
+ input:focus:enabled {
56
+ background-color: var(--wui-color-gray-glass-015);
57
+ border: 1px solid var(--wui-color-accent-100);
58
+ -webkit-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);
59
+ -moz-box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);
60
+ box-shadow: 0px 0px 0px 4px var(--wui-box-shadow-blue);
61
+ }
62
+
63
+ @media (hover: hover) and (pointer: fine) {
64
+ input:hover:enabled {
65
+ background-color: var(--wui-color-gray-glass-015);
66
+ }
67
+ }
68
+ `;
69
+ var T = function(a, e, t, n) {
70
+ var o = arguments.length, i = o < 3 ? e : n === null ? n = Object.getOwnPropertyDescriptor(e, t) : n, r;
71
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(a, e, t, n);
72
+ else for (var s = a.length - 1; s >= 0; s--) (r = a[s]) && (i = (o < 3 ? r(i) : o > 3 ? r(e, t, i) : r(e, t)) || i);
73
+ return o > 3 && i && Object.defineProperty(e, t, i), i;
74
+ };
75
+ let g = class extends w {
76
+ constructor() {
77
+ super(...arguments), this.disabled = !1, this.value = "";
78
+ }
79
+ render() {
80
+ return u`<input
81
+ type="number"
82
+ maxlength="1"
83
+ inputmode="numeric"
84
+ autofocus
85
+ ?disabled=${this.disabled}
86
+ value=${this.value}
87
+ /> `;
88
+ }
89
+ };
90
+ g.styles = [L, U, Y];
91
+ T([
92
+ I({ type: Boolean })
93
+ ], g.prototype, "disabled", void 0);
94
+ T([
95
+ I({ type: String })
96
+ ], g.prototype, "value", void 0);
97
+ g = T([
98
+ d("wui-input-numeric")
99
+ ], g);
100
+ const K = E`
101
+ :host {
102
+ position: relative;
103
+ display: block;
104
+ }
105
+ `;
106
+ var C = function(a, e, t, n) {
107
+ var o = arguments.length, i = o < 3 ? e : n === null ? n = Object.getOwnPropertyDescriptor(e, t) : n, r;
108
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(a, e, t, n);
109
+ else for (var s = a.length - 1; s >= 0; s--) (r = a[s]) && (i = (o < 3 ? r(i) : o > 3 ? r(e, t, i) : r(e, t)) || i);
110
+ return o > 3 && i && Object.defineProperty(e, t, i), i;
111
+ };
112
+ let f = class extends w {
113
+ constructor() {
114
+ super(...arguments), this.length = 6, this.otp = "", this.values = Array.from({ length: this.length }).map(() => ""), this.numerics = [], this.shouldInputBeEnabled = (e) => this.values.slice(0, e).every((n) => n !== ""), this.handleKeyDown = (e, t) => {
115
+ const n = e.target, o = this.getInputElement(n), i = ["ArrowLeft", "ArrowRight", "Shift", "Delete"];
116
+ if (!o)
117
+ return;
118
+ i.includes(e.key) && e.preventDefault();
119
+ const r = o.selectionStart;
120
+ switch (e.key) {
121
+ case "ArrowLeft":
122
+ r && o.setSelectionRange(r + 1, r + 1), this.focusInputField("prev", t);
123
+ break;
124
+ case "ArrowRight":
125
+ this.focusInputField("next", t);
126
+ break;
127
+ case "Shift":
128
+ this.focusInputField("next", t);
129
+ break;
130
+ case "Delete":
131
+ o.value === "" ? this.focusInputField("prev", t) : this.updateInput(o, t, "");
132
+ break;
133
+ case "Backspace":
134
+ o.value === "" ? this.focusInputField("prev", t) : this.updateInput(o, t, "");
135
+ break;
136
+ }
137
+ }, this.focusInputField = (e, t) => {
138
+ if (e === "next") {
139
+ const n = t + 1;
140
+ if (!this.shouldInputBeEnabled(n))
141
+ return;
142
+ const o = this.numerics[n < this.length ? n : t], i = o ? this.getInputElement(o) : void 0;
143
+ i && (i.disabled = !1, i.focus());
144
+ }
145
+ if (e === "prev") {
146
+ const n = t - 1, o = this.numerics[n > -1 ? n : t], i = o ? this.getInputElement(o) : void 0;
147
+ i && i.focus();
148
+ }
149
+ };
150
+ }
151
+ firstUpdated() {
152
+ var t, n;
153
+ this.otp && (this.values = this.otp.split(""));
154
+ const e = (t = this.shadowRoot) == null ? void 0 : t.querySelectorAll("wui-input-numeric");
155
+ e && (this.numerics = Array.from(e)), (n = this.numerics[0]) == null || n.focus();
156
+ }
157
+ render() {
158
+ return u`
159
+ <wui-flex gap="xxs" data-testid="wui-otp-input">
160
+ ${Array.from({ length: this.length }).map((e, t) => u`
161
+ <wui-input-numeric
162
+ @input=${(n) => this.handleInput(n, t)}
163
+ @click=${(n) => this.selectInput(n)}
164
+ @keydown=${(n) => this.handleKeyDown(n, t)}
165
+ .disabled=${!this.shouldInputBeEnabled(t)}
166
+ .value=${this.values[t] || ""}
167
+ >
168
+ </wui-input-numeric>
169
+ `)}
170
+ </wui-flex>
171
+ `;
172
+ }
173
+ updateInput(e, t, n) {
174
+ const o = this.numerics[t], i = e || (o ? this.getInputElement(o) : void 0);
175
+ i && (i.value = n, this.values = this.values.map((r, s) => s === t ? n : r));
176
+ }
177
+ selectInput(e) {
178
+ const t = e.target;
179
+ if (t) {
180
+ const n = this.getInputElement(t);
181
+ n == null || n.select();
182
+ }
183
+ }
184
+ handleInput(e, t) {
185
+ const n = e.target, o = this.getInputElement(n);
186
+ if (o) {
187
+ const i = o.value;
188
+ e.inputType === "insertFromPaste" ? this.handlePaste(o, i, t) : D.isNumber(i) && e.data ? (this.updateInput(o, t, e.data), this.focusInputField("next", t)) : this.updateInput(o, t, "");
189
+ }
190
+ this.dispatchInputChangeEvent();
191
+ }
192
+ handlePaste(e, t, n) {
193
+ const o = t[0];
194
+ if (o && D.isNumber(o)) {
195
+ this.updateInput(e, n, o);
196
+ const r = t.substring(1);
197
+ if (n + 1 < this.length && r.length) {
198
+ const s = this.numerics[n + 1], $ = s ? this.getInputElement(s) : void 0;
199
+ $ && this.handlePaste($, r, n + 1);
200
+ } else
201
+ this.focusInputField("next", n);
202
+ } else
203
+ this.updateInput(e, n, "");
204
+ }
205
+ getInputElement(e) {
206
+ var t;
207
+ return (t = e.shadowRoot) != null && t.querySelector("input") ? e.shadowRoot.querySelector("input") : null;
208
+ }
209
+ dispatchInputChangeEvent() {
210
+ const e = this.values.join("");
211
+ this.dispatchEvent(new CustomEvent("inputChange", {
212
+ detail: e,
213
+ bubbles: !0,
214
+ composed: !0
215
+ }));
216
+ }
217
+ };
218
+ f.styles = [L, K];
219
+ C([
220
+ I({ type: Number })
221
+ ], f.prototype, "length", void 0);
222
+ C([
223
+ I({ type: String })
224
+ ], f.prototype, "otp", void 0);
225
+ C([
226
+ m()
227
+ ], f.prototype, "values", void 0);
228
+ f = C([
229
+ d("wui-otp")
230
+ ], f);
231
+ const G = E`
232
+ wui-loading-spinner {
233
+ margin: 9px auto;
234
+ }
235
+
236
+ .email-display,
237
+ .email-display wui-text {
238
+ max-width: 100%;
239
+ }
240
+ `;
241
+ var O = function(a, e, t, n) {
242
+ var o = arguments.length, i = o < 3 ? e : n === null ? n = Object.getOwnPropertyDescriptor(e, t) : n, r;
243
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(a, e, t, n);
244
+ else for (var s = a.length - 1; s >= 0; s--) (r = a[s]) && (i = (o < 3 ? r(i) : o > 3 ? r(e, t, i) : r(e, t)) || i);
245
+ return o > 3 && i && Object.defineProperty(e, t, i), i;
246
+ };
247
+ const J = 6;
248
+ let p = class extends w {
249
+ firstUpdated() {
250
+ this.startOTPTimeout();
251
+ }
252
+ disconnectedCallback() {
253
+ clearTimeout(this.OTPTimeout);
254
+ }
255
+ constructor() {
256
+ var e;
257
+ super(), this.loading = !1, this.timeoutTimeLeft = _.getTimeToNextEmailLogin(), this.error = "", this.otp = "", this.email = (e = l.state.data) == null ? void 0 : e.email, this.authConnector = h.getAuthConnector();
258
+ }
259
+ render() {
260
+ if (!this.email)
261
+ throw new Error("w3m-email-otp-widget: No email provided");
262
+ const e = !!this.timeoutTimeLeft, t = this.getFooterLabels(e);
263
+ return u`
264
+ <wui-flex
265
+ flexDirection="column"
266
+ alignItems="center"
267
+ .padding=${["l", "0", "l", "0"]}
268
+ gap="l"
269
+ >
270
+ <wui-flex
271
+ class="email-display"
272
+ flexDirection="column"
273
+ alignItems="center"
274
+ .padding=${["0", "xl", "0", "xl"]}
275
+ >
276
+ <wui-text variant="paragraph-400" color="fg-100" align="center">
277
+ Enter the code we sent to
278
+ </wui-text>
279
+ <wui-text variant="paragraph-500" color="fg-100" lineClamp="1" align="center">
280
+ ${this.email}
281
+ </wui-text>
282
+ </wui-flex>
283
+
284
+ <wui-text variant="small-400" color="fg-200">The code expires in 20 minutes</wui-text>
285
+
286
+ ${this.loading ? u`<wui-loading-spinner size="xl" color="accent-100"></wui-loading-spinner>` : u` <wui-flex flexDirection="column" alignItems="center" gap="xs">
287
+ <wui-otp
288
+ dissabled
289
+ length="6"
290
+ @inputChange=${this.onOtpInputChange.bind(this)}
291
+ .otp=${this.otp}
292
+ ></wui-otp>
293
+ ${this.error ? u`
294
+ <wui-text variant="small-400" align="center" color="error-100">
295
+ ${this.error}. Try Again
296
+ </wui-text>
297
+ ` : null}
298
+ </wui-flex>`}
299
+
300
+ <wui-flex alignItems="center" gap="xs">
301
+ <wui-text variant="small-400" color="fg-200">${t.title}</wui-text>
302
+ <wui-link @click=${this.onResendCode.bind(this)} .disabled=${e}>
303
+ ${t.action}
304
+ </wui-link>
305
+ </wui-flex>
306
+ </wui-flex>
307
+ `;
308
+ }
309
+ startOTPTimeout() {
310
+ this.timeoutTimeLeft = _.getTimeToNextEmailLogin(), this.OTPTimeout = setInterval(() => {
311
+ this.timeoutTimeLeft > 0 ? this.timeoutTimeLeft = _.getTimeToNextEmailLogin() : clearInterval(this.OTPTimeout);
312
+ }, 1e3);
313
+ }
314
+ async onOtpInputChange(e) {
315
+ var t;
316
+ try {
317
+ this.loading || (this.otp = e.detail, this.authConnector && this.otp.length === J && (this.loading = !0, await ((t = this.onOtpSubmit) == null ? void 0 : t.call(this, this.otp))));
318
+ } catch (n) {
319
+ this.error = x.parseError(n), this.loading = !1;
320
+ }
321
+ }
322
+ async onResendCode() {
323
+ try {
324
+ if (this.onOtpResend) {
325
+ if (!this.loading && !this.timeoutTimeLeft) {
326
+ if (this.error = "", this.otp = "", !h.getAuthConnector() || !this.email)
327
+ throw new Error("w3m-email-otp-widget: Unable to resend email");
328
+ this.loading = !0, await this.onOtpResend(this.email), this.startOTPTimeout(), v.showSuccess("Code email resent");
329
+ }
330
+ } else this.onStartOver && this.onStartOver();
331
+ } catch (e) {
332
+ v.showError(e);
333
+ } finally {
334
+ this.loading = !1;
335
+ }
336
+ }
337
+ getFooterLabels(e) {
338
+ return this.onStartOver ? {
339
+ title: "Something wrong?",
340
+ action: `Try again ${e ? `in ${this.timeoutTimeLeft}s` : ""}`
341
+ } : {
342
+ title: "Didn't receive it?",
343
+ action: `Resend ${e ? `in ${this.timeoutTimeLeft}s` : "Code"}`
344
+ };
345
+ }
346
+ };
347
+ p.styles = G;
348
+ O([
349
+ m()
350
+ ], p.prototype, "loading", void 0);
351
+ O([
352
+ m()
353
+ ], p.prototype, "timeoutTimeLeft", void 0);
354
+ O([
355
+ m()
356
+ ], p.prototype, "error", void 0);
357
+ p = O([
358
+ d("w3m-email-otp-widget")
359
+ ], p);
360
+ var Q = function(a, e, t, n) {
361
+ var o = arguments.length, i = o < 3 ? e : n === null ? n = Object.getOwnPropertyDescriptor(e, t) : n, r;
362
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(a, e, t, n);
363
+ else for (var s = a.length - 1; s >= 0; s--) (r = a[s]) && (i = (o < 3 ? r(i) : o > 3 ? r(e, t, i) : r(e, t)) || i);
364
+ return o > 3 && i && Object.defineProperty(e, t, i), i;
365
+ };
366
+ let V = class extends p {
367
+ constructor() {
368
+ super(...arguments), this.onOtpSubmit = async (e) => {
369
+ try {
370
+ if (this.authConnector) {
371
+ if (await this.authConnector.provider.connectOtp({ otp: e }), c.sendEvent({ type: "track", event: "EMAIL_VERIFICATION_CODE_PASS" }), S.state.activeChain)
372
+ await k.connectExternal(this.authConnector, S.state.activeChain);
373
+ else
374
+ throw new Error("Active chain is not set on ChainControll");
375
+ c.sendEvent({
376
+ type: "track",
377
+ event: "CONNECT_SUCCESS",
378
+ properties: { method: "email", name: this.authConnector.name || "Unknown" }
379
+ }), F.state.siwx || z.close();
380
+ }
381
+ } catch (t) {
382
+ throw c.sendEvent({
383
+ type: "track",
384
+ event: "EMAIL_VERIFICATION_CODE_FAIL",
385
+ properties: { message: x.parseError(t) }
386
+ }), t;
387
+ }
388
+ }, this.onOtpResend = async (e) => {
389
+ this.authConnector && (await this.authConnector.provider.connectEmail({ email: e }), c.sendEvent({ type: "track", event: "EMAIL_VERIFICATION_CODE_SENT" }));
390
+ };
391
+ }
392
+ };
393
+ V = Q([
394
+ d("w3m-email-verify-otp-view")
395
+ ], V);
396
+ const X = E`
397
+ wui-icon-box {
398
+ height: var(--wui-icon-box-size-xl);
399
+ width: var(--wui-icon-box-size-xl);
400
+ }
401
+ `;
402
+ var W = function(a, e, t, n) {
403
+ var o = arguments.length, i = o < 3 ? e : n === null ? n = Object.getOwnPropertyDescriptor(e, t) : n, r;
404
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(a, e, t, n);
405
+ else for (var s = a.length - 1; s >= 0; s--) (r = a[s]) && (i = (o < 3 ? r(i) : o > 3 ? r(e, t, i) : r(e, t)) || i);
406
+ return o > 3 && i && Object.defineProperty(e, t, i), i;
407
+ };
408
+ let y = class extends w {
409
+ constructor() {
410
+ var e;
411
+ super(), this.email = (e = l.state.data) == null ? void 0 : e.email, this.authConnector = h.getAuthConnector(), this.loading = !1, this.listenForDeviceApproval();
412
+ }
413
+ render() {
414
+ if (!this.email)
415
+ throw new Error("w3m-email-verify-device-view: No email provided");
416
+ if (!this.authConnector)
417
+ throw new Error("w3m-email-verify-device-view: No auth connector provided");
418
+ return u`
419
+ <wui-flex
420
+ flexDirection="column"
421
+ alignItems="center"
422
+ .padding=${["xxl", "s", "xxl", "s"]}
423
+ gap="l"
424
+ >
425
+ <wui-icon-box
426
+ size="xl"
427
+ iconcolor="accent-100"
428
+ backgroundcolor="accent-100"
429
+ icon="verify"
430
+ background="opaque"
431
+ ></wui-icon-box>
432
+
433
+ <wui-flex flexDirection="column" alignItems="center" gap="s">
434
+ <wui-flex flexDirection="column" alignItems="center">
435
+ <wui-text variant="paragraph-400" color="fg-100">
436
+ Approve the login link we sent to
437
+ </wui-text>
438
+ <wui-text variant="paragraph-400" color="fg-100"><b>${this.email}</b></wui-text>
439
+ </wui-flex>
440
+
441
+ <wui-text variant="small-400" color="fg-200" align="center">
442
+ The code expires in 20 minutes
443
+ </wui-text>
444
+
445
+ <wui-flex alignItems="center" id="w3m-resend-section" gap="xs">
446
+ <wui-text variant="small-400" color="fg-100" align="center">
447
+ Didn't receive it?
448
+ </wui-text>
449
+ <wui-link @click=${this.onResendCode.bind(this)} .disabled=${this.loading}>
450
+ Resend email
451
+ </wui-link>
452
+ </wui-flex>
453
+ </wui-flex>
454
+ </wui-flex>
455
+ `;
456
+ }
457
+ async listenForDeviceApproval() {
458
+ if (this.authConnector)
459
+ try {
460
+ await this.authConnector.provider.connectDevice(), c.sendEvent({ type: "track", event: "DEVICE_REGISTERED_FOR_EMAIL" }), c.sendEvent({ type: "track", event: "EMAIL_VERIFICATION_CODE_SENT" }), l.replace("EmailVerifyOtp", { email: this.email });
461
+ } catch {
462
+ l.goBack();
463
+ }
464
+ }
465
+ async onResendCode() {
466
+ try {
467
+ if (!this.loading) {
468
+ if (!this.authConnector || !this.email)
469
+ throw new Error("w3m-email-login-widget: Unable to resend email");
470
+ this.loading = !0, await this.authConnector.provider.connectEmail({ email: this.email }), this.listenForDeviceApproval(), v.showSuccess("Code email resent");
471
+ }
472
+ } catch (e) {
473
+ v.showError(e);
474
+ } finally {
475
+ this.loading = !1;
476
+ }
477
+ }
478
+ };
479
+ y.styles = X;
480
+ W([
481
+ m()
482
+ ], y.prototype, "loading", void 0);
483
+ y = W([
484
+ d("w3m-email-verify-device-view")
485
+ ], y);
486
+ const Z = E`
487
+ wui-email-input {
488
+ width: 100%;
489
+ }
490
+
491
+ form {
492
+ width: 100%;
493
+ display: block;
494
+ position: relative;
495
+ }
496
+ `;
497
+ var A = function(a, e, t, n) {
498
+ var o = arguments.length, i = o < 3 ? e : n === null ? n = Object.getOwnPropertyDescriptor(e, t) : n, r;
499
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(a, e, t, n);
500
+ else for (var s = a.length - 1; s >= 0; s--) (r = a[s]) && (i = (o < 3 ? r(i) : o > 3 ? r(e, t, i) : r(e, t)) || i);
501
+ return o > 3 && i && Object.defineProperty(e, t, i), i;
502
+ };
503
+ let b = class extends w {
504
+ constructor() {
505
+ var e, t;
506
+ super(...arguments), this.formRef = H(), this.initialEmail = ((e = l.state.data) == null ? void 0 : e.email) ?? "", this.redirectView = (t = l.state.data) == null ? void 0 : t.redirectView, this.email = "", this.loading = !1;
507
+ }
508
+ firstUpdated() {
509
+ var e;
510
+ (e = this.formRef.value) == null || e.addEventListener("keydown", (t) => {
511
+ t.key === "Enter" && this.onSubmitEmail(t);
512
+ });
513
+ }
514
+ render() {
515
+ return u`
516
+ <wui-flex flexDirection="column" padding="m" gap="m">
517
+ <form ${q(this.formRef)} @submit=${this.onSubmitEmail.bind(this)}>
518
+ <wui-email-input
519
+ value=${this.initialEmail}
520
+ .disabled=${this.loading}
521
+ @inputChange=${this.onEmailInputChange.bind(this)}
522
+ >
523
+ </wui-email-input>
524
+ <input type="submit" hidden />
525
+ </form>
526
+ ${this.buttonsTemplate()}
527
+ </wui-flex>
528
+ `;
529
+ }
530
+ onEmailInputChange(e) {
531
+ this.email = e.detail;
532
+ }
533
+ async onSubmitEmail(e) {
534
+ try {
535
+ if (this.loading)
536
+ return;
537
+ this.loading = !0, e.preventDefault();
538
+ const t = h.getAuthConnector();
539
+ if (!t)
540
+ throw new Error("w3m-update-email-wallet: Auth connector not found");
541
+ const n = await t.provider.updateEmail({ email: this.email });
542
+ c.sendEvent({ type: "track", event: "EMAIL_EDIT" }), n.action === "VERIFY_SECONDARY_OTP" ? l.push("UpdateEmailSecondaryOtp", {
543
+ email: this.initialEmail,
544
+ newEmail: this.email,
545
+ redirectView: this.redirectView
546
+ }) : l.push("UpdateEmailPrimaryOtp", {
547
+ email: this.initialEmail,
548
+ newEmail: this.email,
549
+ redirectView: this.redirectView
550
+ });
551
+ } catch (t) {
552
+ v.showError(t), this.loading = !1;
553
+ }
554
+ }
555
+ buttonsTemplate() {
556
+ const e = !this.loading && this.email.length > 3 && this.email !== this.initialEmail;
557
+ return this.redirectView ? u`
558
+ <wui-flex gap="s">
559
+ <wui-button size="md" variant="neutral" fullWidth @click=${l.goBack}>
560
+ Cancel
561
+ </wui-button>
562
+
563
+ <wui-button
564
+ size="md"
565
+ variant="main"
566
+ fullWidth
567
+ @click=${this.onSubmitEmail.bind(this)}
568
+ .disabled=${!e}
569
+ .loading=${this.loading}
570
+ >
571
+ Save
572
+ </wui-button>
573
+ </wui-flex>
574
+ ` : u`
575
+ <wui-button
576
+ size="md"
577
+ variant="main"
578
+ fullWidth
579
+ @click=${this.onSubmitEmail.bind(this)}
580
+ .disabled=${!e}
581
+ .loading=${this.loading}
582
+ >
583
+ Save
584
+ </wui-button>
585
+ `;
586
+ }
587
+ };
588
+ b.styles = Z;
589
+ A([
590
+ m()
591
+ ], b.prototype, "email", void 0);
592
+ A([
593
+ m()
594
+ ], b.prototype, "loading", void 0);
595
+ b = A([
596
+ d("w3m-update-email-wallet-view")
597
+ ], b);
598
+ var ee = function(a, e, t, n) {
599
+ var o = arguments.length, i = o < 3 ? e : n === null ? n = Object.getOwnPropertyDescriptor(e, t) : n, r;
600
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(a, e, t, n);
601
+ else for (var s = a.length - 1; s >= 0; s--) (r = a[s]) && (i = (o < 3 ? r(i) : o > 3 ? r(e, t, i) : r(e, t)) || i);
602
+ return o > 3 && i && Object.defineProperty(e, t, i), i;
603
+ };
604
+ let P = class extends p {
605
+ constructor() {
606
+ var e;
607
+ super(), this.email = (e = l.state.data) == null ? void 0 : e.email, this.onOtpSubmit = async (t) => {
608
+ try {
609
+ this.authConnector && (await this.authConnector.provider.updateEmailPrimaryOtp({ otp: t }), c.sendEvent({ type: "track", event: "EMAIL_VERIFICATION_CODE_PASS" }), l.replace("UpdateEmailSecondaryOtp", l.state.data));
610
+ } catch (n) {
611
+ throw c.sendEvent({
612
+ type: "track",
613
+ event: "EMAIL_VERIFICATION_CODE_FAIL",
614
+ properties: { message: x.parseError(n) }
615
+ }), n;
616
+ }
617
+ }, this.onStartOver = () => {
618
+ l.replace("UpdateEmailWallet", l.state.data);
619
+ };
620
+ }
621
+ };
622
+ P = ee([
623
+ d("w3m-update-email-primary-otp-view")
624
+ ], P);
625
+ var te = function(a, e, t, n) {
626
+ var o = arguments.length, i = o < 3 ? e : n === null ? n = Object.getOwnPropertyDescriptor(e, t) : n, r;
627
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(a, e, t, n);
628
+ else for (var s = a.length - 1; s >= 0; s--) (r = a[s]) && (i = (o < 3 ? r(i) : o > 3 ? r(e, t, i) : r(e, t)) || i);
629
+ return o > 3 && i && Object.defineProperty(e, t, i), i;
630
+ };
631
+ let N = class extends p {
632
+ constructor() {
633
+ var e, t;
634
+ super(), this.email = (e = l.state.data) == null ? void 0 : e.newEmail, this.redirectView = (t = l.state.data) == null ? void 0 : t.redirectView, this.onOtpSubmit = async (n) => {
635
+ try {
636
+ this.authConnector && (await this.authConnector.provider.updateEmailSecondaryOtp({ otp: n }), c.sendEvent({ type: "track", event: "EMAIL_VERIFICATION_CODE_PASS" }), this.redirectView && l.reset(this.redirectView));
637
+ } catch (o) {
638
+ throw c.sendEvent({
639
+ type: "track",
640
+ event: "EMAIL_VERIFICATION_CODE_FAIL",
641
+ properties: { message: x.parseError(o) }
642
+ }), o;
643
+ }
644
+ }, this.onStartOver = () => {
645
+ l.replace("UpdateEmailWallet", l.state.data);
646
+ };
647
+ }
648
+ };
649
+ N = te([
650
+ d("w3m-update-email-secondary-otp-view")
651
+ ], N);
652
+ var j = function(a, e, t, n) {
653
+ var o = arguments.length, i = o < 3 ? e : n === null ? n = Object.getOwnPropertyDescriptor(e, t) : n, r;
654
+ if (typeof Reflect == "object" && typeof Reflect.decorate == "function") i = Reflect.decorate(a, e, t, n);
655
+ else for (var s = a.length - 1; s >= 0; s--) (r = a[s]) && (i = (o < 3 ? r(i) : o > 3 ? r(e, t, i) : r(e, t)) || i);
656
+ return o > 3 && i && Object.defineProperty(e, t, i), i;
657
+ };
658
+ let R = class extends w {
659
+ constructor() {
660
+ var e;
661
+ super(), this.authConnector = h.getAuthConnector(), this.isEmailEnabled = (e = F.state.remoteFeatures) == null ? void 0 : e.email, this.isAuthEnabled = this.checkIfAuthEnabled(h.state.connectors), this.connectors = h.state.connectors, h.subscribeKey("connectors", (t) => {
662
+ this.connectors = t, this.isAuthEnabled = this.checkIfAuthEnabled(this.connectors);
663
+ });
664
+ }
665
+ render() {
666
+ if (!this.isEmailEnabled)
667
+ throw new Error("w3m-email-login-view: Email is not enabled");
668
+ if (!this.isAuthEnabled)
669
+ throw new Error("w3m-email-login-view: No auth connector provided");
670
+ return u`<wui-flex
671
+ flexDirection="column"
672
+ .padding=${["3xs", "m", "m", "m"]}
673
+ gap="l"
674
+ >
675
+ <w3m-email-login-widget></w3m-email-login-widget>
676
+ </wui-flex> `;
677
+ }
678
+ checkIfAuthEnabled(e) {
679
+ const t = e.filter((o) => o.type === M.CONNECTOR_TYPE_AUTH).map((o) => o.chain);
680
+ return B.AUTH_CONNECTOR_SUPPORTED_CHAINS.some((o) => t.includes(o));
681
+ }
682
+ };
683
+ j([
684
+ m()
685
+ ], R.prototype, "connectors", void 0);
686
+ R = j([
687
+ d("w3m-email-login-view")
688
+ ], R);
689
+ export {
690
+ R as W3mEmailLoginView,
691
+ y as W3mEmailVerifyDeviceView,
692
+ V as W3mEmailVerifyOtpView,
693
+ P as W3mUpdateEmailPrimaryOtpView,
694
+ N as W3mUpdateEmailSecondaryOtpView,
695
+ b as W3mUpdateEmailWalletView
696
+ };