@skip-go/widget 3.16.0-alpha.1 → 3.16.0-alpha.3

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 (82) hide show
  1. package/build/add-BCP65x8R.js +19 -0
  2. package/build/all-wallets-zN-kyCaZ.js +10 -0
  3. package/build/app-store-D93DjO22.js +21 -0
  4. package/build/apple-BgtjQUu8.js +22 -0
  5. package/build/arrow-bottom-C6r8RkCK.js +12 -0
  6. package/build/arrow-bottom-circle-DuZJIZEv.js +15 -0
  7. package/build/arrow-left-CMdqBBnS.js +12 -0
  8. package/build/arrow-right-DaXfWbLF.js +12 -0
  9. package/build/arrow-top-CrmMLKAz.js +12 -0
  10. package/build/bank-DLCdVsG0.js +18 -0
  11. package/build/basic-B7pbBYW2.js +6930 -0
  12. package/build/browser-ej9K4KQc.js +18 -0
  13. package/build/card-CcCPM2iV.js +18 -0
  14. package/build/checkmark-DLyFLOuv.js +15 -0
  15. package/build/checkmark-bold-C2W4WfKg.js +12 -0
  16. package/build/chevron-bottom-CsBgAuOz.js +12 -0
  17. package/build/chevron-left-DZMPWQaL.js +12 -0
  18. package/build/chevron-right-EHzZ4xti.js +12 -0
  19. package/build/chevron-top-CmwxyjZt.js +12 -0
  20. package/build/chrome-store-DLDkp97I.js +65 -0
  21. package/build/clock-VbZ14eP6.js +12 -0
  22. package/build/close-COLdsI6O.js +12 -0
  23. package/build/coinPlaceholder-D9kJ-4AX.js +12 -0
  24. package/build/compass-Dq6bUYRk.js +12 -0
  25. package/build/copy-BdNMRVUW.js +19 -0
  26. package/build/core-CPkA7ewX.js +13138 -0
  27. package/build/cursor-6cbAjqTz.js +7 -0
  28. package/build/cursor-transparent-Ch2H8s1X.js +16 -0
  29. package/build/desktop-Xv3P9aYp.js +13 -0
  30. package/build/disconnect-DD_Vwhbz.js +12 -0
  31. package/build/discord-VH-ulhwa.js +21 -0
  32. package/build/etherscan-BKBoddEh.js +10 -0
  33. package/build/exclamation-triangle-Ct8zSHwR.js +8 -0
  34. package/build/extension-CcYhI1WE.js +12 -0
  35. package/build/external-link-Bm1pQCkf.js +12 -0
  36. package/build/facebook-DnFuibtS.js +30 -0
  37. package/build/farcaster-jTknq8Cz.js +16 -0
  38. package/build/filters-ByzmgTCo.js +12 -0
  39. package/build/github-37cV2cI9.js +22 -0
  40. package/build/google-CKs7ZY-O.js +22 -0
  41. package/build/help-circle-7-QXpPMi.js +16 -0
  42. package/build/id-deWbHnbR.js +16 -0
  43. package/build/image-BBneeLFA.js +8 -0
  44. package/build/index-BgdV4O3v.js +1132 -0
  45. package/build/index-C0MMNFNJ.js +56805 -0
  46. package/build/index.es-nedjv377.js +6945 -0
  47. package/build/index.js +1 -1
  48. package/build/info-Qcj4mCwU.js +7 -0
  49. package/build/info-circle-Didu_B4i.js +16 -0
  50. package/build/lightbulb-B4Z2EHfW.js +7 -0
  51. package/build/mail-2MCegwuU.js +12 -0
  52. package/build/mobile-Dxl1_AJd.js +13 -0
  53. package/build/more-CAwCS8vY.js +15 -0
  54. package/build/network-placeholder-DN4m5Tqp.js +18 -0
  55. package/build/nftPlaceholder-OTvfe_fO.js +12 -0
  56. package/build/off-BoEZlLFD.js +12 -0
  57. package/build/play-store-CRGLGRbo.js +36 -0
  58. package/build/plus-BGHN--Oe.js +17 -0
  59. package/build/qr-code-BcLC7VS1.js +10 -0
  60. package/build/recycle-horizontal-BExzy-Z3.js +13 -0
  61. package/build/refresh-XTFGRBHr.js +12 -0
  62. package/build/reown-logo-CfPRi_IH.js +16 -0
  63. package/build/search-DANgYPUS.js +12 -0
  64. package/build/send-BSImwycZ.js +19 -0
  65. package/build/swapHorizontal-DJnLa3fv.js +12 -0
  66. package/build/swapHorizontalBold-CwT_78Oj.js +12 -0
  67. package/build/swapHorizontalMedium-3w2N1u-o.js +20 -0
  68. package/build/swapHorizontalRoundedBold-ByUy_8_c.js +12 -0
  69. package/build/swapVertical-CDcur1ao.js +12 -0
  70. package/build/telegram-B6Zgoa8x.js +20 -0
  71. package/build/three-dots-BYCO-gp8.js +9 -0
  72. package/build/twitch-CLwRoZqe.js +22 -0
  73. package/build/twitterIcon-DiswB5Vw.js +10 -0
  74. package/build/verify-3I5nONpH.js +12 -0
  75. package/build/verify-filled-Bxzt8L9R.js +12 -0
  76. package/build/w3m-modal-Gn4mVuNz.js +1721 -0
  77. package/build/wallet-E-t4Vm4t.js +12 -0
  78. package/build/wallet-placeholder-B0XXNDeP.js +18 -0
  79. package/build/walletconnect-BfBEhUYA.js +38 -0
  80. package/build/warning-circle-B-7tRT6_.js +16 -0
  81. package/build/x-K6Tm_q4q.js +16 -0
  82. package/package.json +2 -2
@@ -0,0 +1,1721 @@
1
+ import { w as withErrorBoundary, p as proxy, s as subscribeKey, q as subscribe, M as ModalController, t as SIWXUtil, R as RouterController, i, r as resetStyles, a as i$1, x, u as AlertController, e as elementStyles, o as colorStyles, h as ChainController, d as AssetUtil, j as AssetController, v as ConstantsUtil, E as EventsController, O as OptionsController, C as ConnectorController, y as AccountController, k as SnackController, A as ApiController, T as ThemeController, z as initializeTheming, b as CoreHelperUtil, g as ConstantsUtil$1 } from "./core-CPkA7ewX.js";
2
+ import { c as customElement, n, r, o, U as UiHelperUtil } from "./index-BgdV4O3v.js";
3
+ const state = proxy({
4
+ message: "",
5
+ open: false,
6
+ triggerRect: {
7
+ width: 0,
8
+ height: 0,
9
+ top: 0,
10
+ left: 0
11
+ },
12
+ variant: "shade"
13
+ });
14
+ const controller = {
15
+ state,
16
+ subscribe(callback) {
17
+ return subscribe(state, () => callback(state));
18
+ },
19
+ subscribeKey(key, callback) {
20
+ return subscribeKey(state, key, callback);
21
+ },
22
+ showTooltip({ message, triggerRect, variant }) {
23
+ state.open = true;
24
+ state.message = message;
25
+ state.triggerRect = triggerRect;
26
+ state.variant = variant;
27
+ },
28
+ hide() {
29
+ state.open = false;
30
+ state.message = "";
31
+ state.triggerRect = {
32
+ width: 0,
33
+ height: 0,
34
+ top: 0,
35
+ left: 0
36
+ };
37
+ }
38
+ };
39
+ const TooltipController = withErrorBoundary(controller);
40
+ const ModalUtil = {
41
+ isUnsupportedChainView() {
42
+ return RouterController.state.view === "UnsupportedChain" || RouterController.state.view === "SwitchNetwork" && RouterController.state.history.includes("UnsupportedChain");
43
+ },
44
+ async safeClose() {
45
+ if (this.isUnsupportedChainView()) {
46
+ ModalController.shake();
47
+ return;
48
+ }
49
+ const isSIWXCloseDisabled = await SIWXUtil.isSIWXCloseDisabled();
50
+ if (isSIWXCloseDisabled) {
51
+ ModalController.shake();
52
+ return;
53
+ }
54
+ ModalController.close();
55
+ }
56
+ };
57
+ const styles$a = i`
58
+ :host {
59
+ display: block;
60
+ border-radius: clamp(0px, var(--wui-border-radius-l), 44px);
61
+ box-shadow: 0 0 0 1px var(--wui-color-gray-glass-005);
62
+ background-color: var(--wui-color-modal-bg);
63
+ overflow: hidden;
64
+ }
65
+
66
+ :host([data-embedded='true']) {
67
+ box-shadow:
68
+ 0 0 0 1px var(--wui-color-gray-glass-005),
69
+ 0px 4px 12px 4px var(--w3m-card-embedded-shadow-color);
70
+ }
71
+ `;
72
+ var __decorate$a = function(decorators, target, key, desc) {
73
+ var c = arguments.length, r2 = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
74
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r2 = Reflect.decorate(decorators, target, key, desc);
75
+ else for (var i2 = decorators.length - 1; i2 >= 0; i2--) if (d = decorators[i2]) r2 = (c < 3 ? d(r2) : c > 3 ? d(target, key, r2) : d(target, key)) || r2;
76
+ return c > 3 && r2 && Object.defineProperty(target, key, r2), r2;
77
+ };
78
+ let WuiCard = class WuiCard2 extends i$1 {
79
+ render() {
80
+ return x`<slot></slot>`;
81
+ }
82
+ };
83
+ WuiCard.styles = [resetStyles, styles$a];
84
+ WuiCard = __decorate$a([
85
+ customElement("wui-card")
86
+ ], WuiCard);
87
+ const styles$9 = i`
88
+ :host {
89
+ display: flex;
90
+ align-items: center;
91
+ justify-content: center;
92
+ padding: var(--wui-spacing-s);
93
+ border-radius: var(--wui-border-radius-s);
94
+ border: 1px solid var(--wui-color-dark-glass-100);
95
+ box-sizing: border-box;
96
+ background-color: var(--wui-color-bg-325);
97
+ box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.25);
98
+ }
99
+
100
+ wui-flex {
101
+ width: 100%;
102
+ }
103
+
104
+ wui-text {
105
+ word-break: break-word;
106
+ flex: 1;
107
+ }
108
+
109
+ .close {
110
+ cursor: pointer;
111
+ }
112
+
113
+ .icon-box {
114
+ height: 40px;
115
+ width: 40px;
116
+ border-radius: var(--wui-border-radius-3xs);
117
+ background-color: var(--local-icon-bg-value);
118
+ }
119
+ `;
120
+ var __decorate$9 = function(decorators, target, key, desc) {
121
+ var c = arguments.length, r2 = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
122
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r2 = Reflect.decorate(decorators, target, key, desc);
123
+ else for (var i2 = decorators.length - 1; i2 >= 0; i2--) if (d = decorators[i2]) r2 = (c < 3 ? d(r2) : c > 3 ? d(target, key, r2) : d(target, key)) || r2;
124
+ return c > 3 && r2 && Object.defineProperty(target, key, r2), r2;
125
+ };
126
+ let WuiAlertBar = class WuiAlertBar2 extends i$1 {
127
+ constructor() {
128
+ super(...arguments);
129
+ this.message = "";
130
+ this.backgroundColor = "accent-100";
131
+ this.iconColor = "accent-100";
132
+ this.icon = "info";
133
+ }
134
+ render() {
135
+ this.style.cssText = `
136
+ --local-icon-bg-value: var(--wui-color-${this.backgroundColor});
137
+ `;
138
+ return x`
139
+ <wui-flex flexDirection="row" justifyContent="space-between" alignItems="center">
140
+ <wui-flex columnGap="xs" flexDirection="row" alignItems="center">
141
+ <wui-flex
142
+ flexDirection="row"
143
+ alignItems="center"
144
+ justifyContent="center"
145
+ class="icon-box"
146
+ >
147
+ <wui-icon color=${this.iconColor} size="md" name=${this.icon}></wui-icon>
148
+ </wui-flex>
149
+ <wui-text variant="small-500" color="bg-350" data-testid="wui-alertbar-text"
150
+ >${this.message}</wui-text
151
+ >
152
+ </wui-flex>
153
+ <wui-icon
154
+ class="close"
155
+ color="bg-350"
156
+ size="sm"
157
+ name="close"
158
+ @click=${this.onClose}
159
+ ></wui-icon>
160
+ </wui-flex>
161
+ `;
162
+ }
163
+ onClose() {
164
+ AlertController.close();
165
+ }
166
+ };
167
+ WuiAlertBar.styles = [resetStyles, styles$9];
168
+ __decorate$9([
169
+ n()
170
+ ], WuiAlertBar.prototype, "message", void 0);
171
+ __decorate$9([
172
+ n()
173
+ ], WuiAlertBar.prototype, "backgroundColor", void 0);
174
+ __decorate$9([
175
+ n()
176
+ ], WuiAlertBar.prototype, "iconColor", void 0);
177
+ __decorate$9([
178
+ n()
179
+ ], WuiAlertBar.prototype, "icon", void 0);
180
+ WuiAlertBar = __decorate$9([
181
+ customElement("wui-alertbar")
182
+ ], WuiAlertBar);
183
+ const styles$8 = i`
184
+ :host {
185
+ display: block;
186
+ position: absolute;
187
+ top: var(--wui-spacing-s);
188
+ left: var(--wui-spacing-l);
189
+ right: var(--wui-spacing-l);
190
+ opacity: 0;
191
+ pointer-events: none;
192
+ }
193
+ `;
194
+ var __decorate$8 = function(decorators, target, key, desc) {
195
+ var c = arguments.length, r2 = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
196
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r2 = Reflect.decorate(decorators, target, key, desc);
197
+ else for (var i2 = decorators.length - 1; i2 >= 0; i2--) if (d = decorators[i2]) r2 = (c < 3 ? d(r2) : c > 3 ? d(target, key, r2) : d(target, key)) || r2;
198
+ return c > 3 && r2 && Object.defineProperty(target, key, r2), r2;
199
+ };
200
+ const presets$1 = {
201
+ info: {
202
+ backgroundColor: "fg-350",
203
+ iconColor: "fg-325",
204
+ icon: "info"
205
+ },
206
+ success: {
207
+ backgroundColor: "success-glass-reown-020",
208
+ iconColor: "success-125",
209
+ icon: "checkmark"
210
+ },
211
+ warning: {
212
+ backgroundColor: "warning-glass-reown-020",
213
+ iconColor: "warning-100",
214
+ icon: "warningCircle"
215
+ },
216
+ error: {
217
+ backgroundColor: "error-glass-reown-020",
218
+ iconColor: "error-125",
219
+ icon: "exclamationTriangle"
220
+ }
221
+ };
222
+ let W3mAlertBar = class W3mAlertBar2 extends i$1 {
223
+ constructor() {
224
+ super();
225
+ this.unsubscribe = [];
226
+ this.open = AlertController.state.open;
227
+ this.onOpen(true);
228
+ this.unsubscribe.push(AlertController.subscribeKey("open", (val) => {
229
+ this.open = val;
230
+ this.onOpen(false);
231
+ }));
232
+ }
233
+ disconnectedCallback() {
234
+ this.unsubscribe.forEach((unsubscribe) => unsubscribe());
235
+ }
236
+ render() {
237
+ const { message, variant } = AlertController.state;
238
+ const preset = presets$1[variant];
239
+ return x`
240
+ <wui-alertbar
241
+ message=${message}
242
+ backgroundColor=${preset == null ? void 0 : preset.backgroundColor}
243
+ iconColor=${preset == null ? void 0 : preset.iconColor}
244
+ icon=${preset == null ? void 0 : preset.icon}
245
+ ></wui-alertbar>
246
+ `;
247
+ }
248
+ onOpen(isMounted) {
249
+ if (this.open) {
250
+ this.animate([
251
+ { opacity: 0, transform: "scale(0.85)" },
252
+ { opacity: 1, transform: "scale(1)" }
253
+ ], {
254
+ duration: 150,
255
+ fill: "forwards",
256
+ easing: "ease"
257
+ });
258
+ this.style.cssText = `pointer-events: auto`;
259
+ } else if (!isMounted) {
260
+ this.animate([
261
+ { opacity: 1, transform: "scale(1)" },
262
+ { opacity: 0, transform: "scale(0.85)" }
263
+ ], {
264
+ duration: 150,
265
+ fill: "forwards",
266
+ easing: "ease"
267
+ });
268
+ this.style.cssText = `pointer-events: none`;
269
+ }
270
+ }
271
+ };
272
+ W3mAlertBar.styles = styles$8;
273
+ __decorate$8([
274
+ r()
275
+ ], W3mAlertBar.prototype, "open", void 0);
276
+ W3mAlertBar = __decorate$8([
277
+ customElement("w3m-alertbar")
278
+ ], W3mAlertBar);
279
+ const styles$7 = i`
280
+ button {
281
+ border-radius: var(--local-border-radius);
282
+ color: var(--wui-color-fg-100);
283
+ padding: var(--local-padding);
284
+ }
285
+
286
+ @media (max-width: 700px) {
287
+ button {
288
+ padding: var(--wui-spacing-s);
289
+ }
290
+ }
291
+
292
+ button > wui-icon {
293
+ pointer-events: none;
294
+ }
295
+
296
+ button:disabled > wui-icon {
297
+ color: var(--wui-color-bg-300) !important;
298
+ }
299
+
300
+ button:disabled {
301
+ background-color: transparent;
302
+ }
303
+ `;
304
+ var __decorate$7 = function(decorators, target, key, desc) {
305
+ var c = arguments.length, r2 = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
306
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r2 = Reflect.decorate(decorators, target, key, desc);
307
+ else for (var i2 = decorators.length - 1; i2 >= 0; i2--) if (d = decorators[i2]) r2 = (c < 3 ? d(r2) : c > 3 ? d(target, key, r2) : d(target, key)) || r2;
308
+ return c > 3 && r2 && Object.defineProperty(target, key, r2), r2;
309
+ };
310
+ let WuiIconLink = class WuiIconLink2 extends i$1 {
311
+ constructor() {
312
+ super(...arguments);
313
+ this.size = "md";
314
+ this.disabled = false;
315
+ this.icon = "copy";
316
+ this.iconColor = "inherit";
317
+ }
318
+ render() {
319
+ const borderRadius = this.size === "lg" ? "--wui-border-radius-xs" : "--wui-border-radius-xxs";
320
+ const padding = this.size === "lg" ? "--wui-spacing-1xs" : "--wui-spacing-2xs";
321
+ this.style.cssText = `
322
+ --local-border-radius: var(${borderRadius});
323
+ --local-padding: var(${padding});
324
+ `;
325
+ return x`
326
+ <button ?disabled=${this.disabled}>
327
+ <wui-icon color=${this.iconColor} size=${this.size} name=${this.icon}></wui-icon>
328
+ </button>
329
+ `;
330
+ }
331
+ };
332
+ WuiIconLink.styles = [resetStyles, elementStyles, colorStyles, styles$7];
333
+ __decorate$7([
334
+ n()
335
+ ], WuiIconLink.prototype, "size", void 0);
336
+ __decorate$7([
337
+ n({ type: Boolean })
338
+ ], WuiIconLink.prototype, "disabled", void 0);
339
+ __decorate$7([
340
+ n()
341
+ ], WuiIconLink.prototype, "icon", void 0);
342
+ __decorate$7([
343
+ n()
344
+ ], WuiIconLink.prototype, "iconColor", void 0);
345
+ WuiIconLink = __decorate$7([
346
+ customElement("wui-icon-link")
347
+ ], WuiIconLink);
348
+ const styles$6 = i`
349
+ button {
350
+ display: block;
351
+ display: flex;
352
+ align-items: center;
353
+ padding: var(--wui-spacing-xxs);
354
+ gap: var(--wui-spacing-xxs);
355
+ transition: all var(--wui-ease-out-power-1) var(--wui-duration-md);
356
+ border-radius: var(--wui-border-radius-xxs);
357
+ }
358
+
359
+ wui-image {
360
+ border-radius: 100%;
361
+ width: var(--wui-spacing-xl);
362
+ height: var(--wui-spacing-xl);
363
+ }
364
+
365
+ wui-icon-box {
366
+ width: var(--wui-spacing-xl);
367
+ height: var(--wui-spacing-xl);
368
+ }
369
+
370
+ button:hover {
371
+ background-color: var(--wui-color-gray-glass-002);
372
+ }
373
+
374
+ button:active {
375
+ background-color: var(--wui-color-gray-glass-005);
376
+ }
377
+ `;
378
+ var __decorate$6 = function(decorators, target, key, desc) {
379
+ var c = arguments.length, r2 = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
380
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r2 = Reflect.decorate(decorators, target, key, desc);
381
+ else for (var i2 = decorators.length - 1; i2 >= 0; i2--) if (d = decorators[i2]) r2 = (c < 3 ? d(r2) : c > 3 ? d(target, key, r2) : d(target, key)) || r2;
382
+ return c > 3 && r2 && Object.defineProperty(target, key, r2), r2;
383
+ };
384
+ let WuiSelect = class WuiSelect2 extends i$1 {
385
+ constructor() {
386
+ super(...arguments);
387
+ this.imageSrc = "";
388
+ }
389
+ render() {
390
+ return x`<button>
391
+ ${this.imageTemplate()}
392
+ <wui-icon size="xs" color="fg-200" name="chevronBottom"></wui-icon>
393
+ </button>`;
394
+ }
395
+ imageTemplate() {
396
+ if (this.imageSrc) {
397
+ return x`<wui-image src=${this.imageSrc} alt="select visual"></wui-image>`;
398
+ }
399
+ return x`<wui-icon-box
400
+ size="xxs"
401
+ iconColor="fg-200"
402
+ backgroundColor="fg-100"
403
+ background="opaque"
404
+ icon="networkPlaceholder"
405
+ ></wui-icon-box>`;
406
+ }
407
+ };
408
+ WuiSelect.styles = [resetStyles, elementStyles, colorStyles, styles$6];
409
+ __decorate$6([
410
+ n()
411
+ ], WuiSelect.prototype, "imageSrc", void 0);
412
+ WuiSelect = __decorate$6([
413
+ customElement("wui-select")
414
+ ], WuiSelect);
415
+ const styles$5 = i`
416
+ :host {
417
+ height: 64px;
418
+ }
419
+
420
+ wui-text {
421
+ text-transform: capitalize;
422
+ }
423
+
424
+ wui-flex.w3m-header-title {
425
+ transform: translateY(0);
426
+ opacity: 1;
427
+ }
428
+
429
+ wui-flex.w3m-header-title[view-direction='prev'] {
430
+ animation:
431
+ slide-down-out 120ms forwards var(--wui-ease-out-power-2),
432
+ slide-down-in 120ms forwards var(--wui-ease-out-power-2);
433
+ animation-delay: 0ms, 200ms;
434
+ }
435
+
436
+ wui-flex.w3m-header-title[view-direction='next'] {
437
+ animation:
438
+ slide-up-out 120ms forwards var(--wui-ease-out-power-2),
439
+ slide-up-in 120ms forwards var(--wui-ease-out-power-2);
440
+ animation-delay: 0ms, 200ms;
441
+ }
442
+
443
+ wui-icon-link[data-hidden='true'] {
444
+ opacity: 0 !important;
445
+ pointer-events: none;
446
+ }
447
+
448
+ @keyframes slide-up-out {
449
+ from {
450
+ transform: translateY(0px);
451
+ opacity: 1;
452
+ }
453
+ to {
454
+ transform: translateY(3px);
455
+ opacity: 0;
456
+ }
457
+ }
458
+
459
+ @keyframes slide-up-in {
460
+ from {
461
+ transform: translateY(-3px);
462
+ opacity: 0;
463
+ }
464
+ to {
465
+ transform: translateY(0);
466
+ opacity: 1;
467
+ }
468
+ }
469
+
470
+ @keyframes slide-down-out {
471
+ from {
472
+ transform: translateY(0px);
473
+ opacity: 1;
474
+ }
475
+ to {
476
+ transform: translateY(-3px);
477
+ opacity: 0;
478
+ }
479
+ }
480
+
481
+ @keyframes slide-down-in {
482
+ from {
483
+ transform: translateY(3px);
484
+ opacity: 0;
485
+ }
486
+ to {
487
+ transform: translateY(0);
488
+ opacity: 1;
489
+ }
490
+ }
491
+ `;
492
+ var __decorate$5 = function(decorators, target, key, desc) {
493
+ var c = arguments.length, r2 = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
494
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r2 = Reflect.decorate(decorators, target, key, desc);
495
+ else for (var i2 = decorators.length - 1; i2 >= 0; i2--) if (d = decorators[i2]) r2 = (c < 3 ? d(r2) : c > 3 ? d(target, key, r2) : d(target, key)) || r2;
496
+ return c > 3 && r2 && Object.defineProperty(target, key, r2), r2;
497
+ };
498
+ const BETA_SCREENS = ["SmartSessionList"];
499
+ function headings() {
500
+ var _a, _b, _c, _d, _e, _f, _g;
501
+ const connectorName = (_b = (_a = RouterController.state.data) == null ? void 0 : _a.connector) == null ? void 0 : _b.name;
502
+ const walletName = (_d = (_c = RouterController.state.data) == null ? void 0 : _c.wallet) == null ? void 0 : _d.name;
503
+ const networkName = (_f = (_e = RouterController.state.data) == null ? void 0 : _e.network) == null ? void 0 : _f.name;
504
+ const name = walletName ?? connectorName;
505
+ const connectors = ConnectorController.getConnectors();
506
+ const isEmail = connectors.length === 1 && ((_g = connectors[0]) == null ? void 0 : _g.id) === "w3m-email";
507
+ return {
508
+ Connect: `Connect ${isEmail ? "Email" : ""} Wallet`,
509
+ Create: "Create Wallet",
510
+ ChooseAccountName: void 0,
511
+ Account: void 0,
512
+ AccountSettings: void 0,
513
+ AllWallets: "All Wallets",
514
+ ApproveTransaction: "Approve Transaction",
515
+ BuyInProgress: "Buy",
516
+ ConnectingExternal: name ?? "Connect Wallet",
517
+ ConnectingWalletConnect: name ?? "WalletConnect",
518
+ ConnectingWalletConnectBasic: "WalletConnect",
519
+ ConnectingSiwe: "Sign In",
520
+ Convert: "Convert",
521
+ ConvertSelectToken: "Select token",
522
+ ConvertPreview: "Preview convert",
523
+ Downloads: name ? `Get ${name}` : "Downloads",
524
+ EmailLogin: "Email Login",
525
+ EmailVerifyOtp: "Confirm Email",
526
+ EmailVerifyDevice: "Register Device",
527
+ GetWallet: "Get a wallet",
528
+ Networks: "Choose Network",
529
+ OnRampProviders: "Choose Provider",
530
+ OnRampActivity: "Activity",
531
+ OnRampTokenSelect: "Select Token",
532
+ OnRampFiatSelect: "Select Currency",
533
+ Pay: "How you pay",
534
+ Profile: void 0,
535
+ SwitchNetwork: networkName ?? "Switch Network",
536
+ SwitchAddress: "Switch Address",
537
+ Transactions: "Activity",
538
+ UnsupportedChain: "Switch Network",
539
+ UpgradeEmailWallet: "Upgrade your Wallet",
540
+ UpdateEmailWallet: "Edit Email",
541
+ UpdateEmailPrimaryOtp: "Confirm Current Email",
542
+ UpdateEmailSecondaryOtp: "Confirm New Email",
543
+ WhatIsABuy: "What is Buy?",
544
+ RegisterAccountName: "Choose name",
545
+ RegisterAccountNameSuccess: "",
546
+ WalletReceive: "Receive",
547
+ WalletCompatibleNetworks: "Compatible Networks",
548
+ Swap: "Swap",
549
+ SwapSelectToken: "Select token",
550
+ SwapPreview: "Preview swap",
551
+ WalletSend: "Send",
552
+ WalletSendPreview: "Review send",
553
+ WalletSendSelectToken: "Select Token",
554
+ WhatIsANetwork: "What is a network?",
555
+ WhatIsAWallet: "What is a wallet?",
556
+ ConnectWallets: "Connect wallet",
557
+ ConnectSocials: "All socials",
558
+ ConnectingSocial: AccountController.state.socialProvider ? AccountController.state.socialProvider : "Connect Social",
559
+ ConnectingMultiChain: "Select chain",
560
+ ConnectingFarcaster: "Farcaster",
561
+ SwitchActiveChain: "Switch chain",
562
+ SmartSessionCreated: void 0,
563
+ SmartSessionList: "Smart Sessions",
564
+ SIWXSignMessage: "Sign In",
565
+ PayLoading: "Payment in progress"
566
+ };
567
+ }
568
+ let W3mHeader = class W3mHeader2 extends i$1 {
569
+ constructor() {
570
+ super();
571
+ this.unsubscribe = [];
572
+ this.heading = headings()[RouterController.state.view];
573
+ this.network = ChainController.state.activeCaipNetwork;
574
+ this.networkImage = AssetUtil.getNetworkImage(this.network);
575
+ this.showBack = false;
576
+ this.prevHistoryLength = 1;
577
+ this.view = RouterController.state.view;
578
+ this.viewDirection = "";
579
+ this.headerText = headings()[RouterController.state.view];
580
+ this.unsubscribe.push(AssetController.subscribeNetworkImages(() => {
581
+ this.networkImage = AssetUtil.getNetworkImage(this.network);
582
+ }), RouterController.subscribeKey("view", (val) => {
583
+ setTimeout(() => {
584
+ this.view = val;
585
+ this.headerText = headings()[val];
586
+ }, ConstantsUtil.ANIMATION_DURATIONS.HeaderText);
587
+ this.onViewChange();
588
+ this.onHistoryChange();
589
+ }), ChainController.subscribeKey("activeCaipNetwork", (val) => {
590
+ this.network = val;
591
+ this.networkImage = AssetUtil.getNetworkImage(this.network);
592
+ }));
593
+ }
594
+ disconnectCallback() {
595
+ this.unsubscribe.forEach((unsubscribe) => unsubscribe());
596
+ }
597
+ render() {
598
+ return x`
599
+ <wui-flex .padding=${this.getPadding()} justifyContent="space-between" alignItems="center">
600
+ ${this.leftHeaderTemplate()} ${this.titleTemplate()} ${this.rightHeaderTemplate()}
601
+ </wui-flex>
602
+ `;
603
+ }
604
+ onWalletHelp() {
605
+ EventsController.sendEvent({ type: "track", event: "CLICK_WALLET_HELP" });
606
+ RouterController.push("WhatIsAWallet");
607
+ }
608
+ async onClose() {
609
+ await ModalUtil.safeClose();
610
+ }
611
+ rightHeaderTemplate() {
612
+ var _a, _b, _c;
613
+ const isSmartSessionsEnabled = (_c = (_b = (_a = OptionsController) == null ? void 0 : _a.state) == null ? void 0 : _b.features) == null ? void 0 : _c.smartSessions;
614
+ if (RouterController.state.view !== "Account" || !isSmartSessionsEnabled) {
615
+ return this.closeButtonTemplate();
616
+ }
617
+ return x`<wui-flex>
618
+ <wui-icon-link
619
+ icon="clock"
620
+ @click=${() => RouterController.push("SmartSessionList")}
621
+ data-testid="w3m-header-smart-sessions"
622
+ ></wui-icon-link>
623
+ ${this.closeButtonTemplate()}
624
+ </wui-flex> `;
625
+ }
626
+ closeButtonTemplate() {
627
+ return x`
628
+ <wui-icon-link
629
+ icon="close"
630
+ @click=${this.onClose.bind(this)}
631
+ data-testid="w3m-header-close"
632
+ ></wui-icon-link>
633
+ `;
634
+ }
635
+ titleTemplate() {
636
+ const isBeta = BETA_SCREENS.includes(this.view);
637
+ return x`
638
+ <wui-flex
639
+ view-direction="${this.viewDirection}"
640
+ class="w3m-header-title"
641
+ alignItems="center"
642
+ gap="xs"
643
+ >
644
+ <wui-text variant="paragraph-700" color="fg-100" data-testid="w3m-header-text"
645
+ >${this.headerText}</wui-text
646
+ >
647
+ ${isBeta ? x`<wui-tag variant="main">Beta</wui-tag>` : null}
648
+ </wui-flex>
649
+ `;
650
+ }
651
+ leftHeaderTemplate() {
652
+ var _a;
653
+ const { view } = RouterController.state;
654
+ const isConnectHelp = view === "Connect";
655
+ const isEmbeddedEnable = OptionsController.state.enableEmbedded;
656
+ const isApproveTransaction = view === "ApproveTransaction";
657
+ const isConnectingSIWEView = view === "ConnectingSiwe";
658
+ const isAccountView = view === "Account";
659
+ const enableNetworkSwitch = OptionsController.state.enableNetworkSwitch;
660
+ const shouldHideBack = isApproveTransaction || isConnectingSIWEView || isConnectHelp && isEmbeddedEnable;
661
+ if (isAccountView && enableNetworkSwitch) {
662
+ return x`<wui-select
663
+ id="dynamic"
664
+ data-testid="w3m-account-select-network"
665
+ active-network=${o((_a = this.network) == null ? void 0 : _a.name)}
666
+ @click=${this.onNetworks.bind(this)}
667
+ imageSrc=${o(this.networkImage)}
668
+ ></wui-select>`;
669
+ }
670
+ if (this.showBack && !shouldHideBack) {
671
+ return x`<wui-icon-link
672
+ data-testid="header-back"
673
+ id="dynamic"
674
+ icon="chevronLeft"
675
+ @click=${this.onGoBack.bind(this)}
676
+ ></wui-icon-link>`;
677
+ }
678
+ return x`<wui-icon-link
679
+ data-hidden=${!isConnectHelp}
680
+ id="dynamic"
681
+ icon="helpCircle"
682
+ @click=${this.onWalletHelp.bind(this)}
683
+ ></wui-icon-link>`;
684
+ }
685
+ onNetworks() {
686
+ if (this.isAllowedNetworkSwitch()) {
687
+ EventsController.sendEvent({ type: "track", event: "CLICK_NETWORKS" });
688
+ RouterController.push("Networks");
689
+ }
690
+ }
691
+ isAllowedNetworkSwitch() {
692
+ const requestedCaipNetworks = ChainController.getAllRequestedCaipNetworks();
693
+ const isMultiNetwork = requestedCaipNetworks ? requestedCaipNetworks.length > 1 : false;
694
+ const isValidNetwork = requestedCaipNetworks == null ? void 0 : requestedCaipNetworks.find(({ id }) => {
695
+ var _a;
696
+ return id === ((_a = this.network) == null ? void 0 : _a.id);
697
+ });
698
+ return isMultiNetwork || !isValidNetwork;
699
+ }
700
+ getPadding() {
701
+ if (this.heading) {
702
+ return ["l", "2l", "l", "2l"];
703
+ }
704
+ return ["0", "2l", "0", "2l"];
705
+ }
706
+ onViewChange() {
707
+ const { history } = RouterController.state;
708
+ let direction = ConstantsUtil.VIEW_DIRECTION.Next;
709
+ if (history.length < this.prevHistoryLength) {
710
+ direction = ConstantsUtil.VIEW_DIRECTION.Prev;
711
+ }
712
+ this.prevHistoryLength = history.length;
713
+ this.viewDirection = direction;
714
+ }
715
+ async onHistoryChange() {
716
+ var _a;
717
+ const { history } = RouterController.state;
718
+ const buttonEl = (_a = this.shadowRoot) == null ? void 0 : _a.querySelector("#dynamic");
719
+ if (history.length > 1 && !this.showBack && buttonEl) {
720
+ await buttonEl.animate([{ opacity: 1 }, { opacity: 0 }], {
721
+ duration: 200,
722
+ fill: "forwards",
723
+ easing: "ease"
724
+ }).finished;
725
+ this.showBack = true;
726
+ buttonEl.animate([{ opacity: 0 }, { opacity: 1 }], {
727
+ duration: 200,
728
+ fill: "forwards",
729
+ easing: "ease"
730
+ });
731
+ } else if (history.length <= 1 && this.showBack && buttonEl) {
732
+ await buttonEl.animate([{ opacity: 1 }, { opacity: 0 }], {
733
+ duration: 200,
734
+ fill: "forwards",
735
+ easing: "ease"
736
+ }).finished;
737
+ this.showBack = false;
738
+ buttonEl.animate([{ opacity: 0 }, { opacity: 1 }], {
739
+ duration: 200,
740
+ fill: "forwards",
741
+ easing: "ease"
742
+ });
743
+ }
744
+ }
745
+ onGoBack() {
746
+ RouterController.goBack();
747
+ }
748
+ };
749
+ W3mHeader.styles = styles$5;
750
+ __decorate$5([
751
+ r()
752
+ ], W3mHeader.prototype, "heading", void 0);
753
+ __decorate$5([
754
+ r()
755
+ ], W3mHeader.prototype, "network", void 0);
756
+ __decorate$5([
757
+ r()
758
+ ], W3mHeader.prototype, "networkImage", void 0);
759
+ __decorate$5([
760
+ r()
761
+ ], W3mHeader.prototype, "showBack", void 0);
762
+ __decorate$5([
763
+ r()
764
+ ], W3mHeader.prototype, "prevHistoryLength", void 0);
765
+ __decorate$5([
766
+ r()
767
+ ], W3mHeader.prototype, "view", void 0);
768
+ __decorate$5([
769
+ r()
770
+ ], W3mHeader.prototype, "viewDirection", void 0);
771
+ __decorate$5([
772
+ r()
773
+ ], W3mHeader.prototype, "headerText", void 0);
774
+ W3mHeader = __decorate$5([
775
+ customElement("w3m-header")
776
+ ], W3mHeader);
777
+ const styles$4 = i`
778
+ :host {
779
+ display: flex;
780
+ column-gap: var(--wui-spacing-s);
781
+ align-items: center;
782
+ padding: var(--wui-spacing-xs) var(--wui-spacing-m) var(--wui-spacing-xs) var(--wui-spacing-xs);
783
+ border-radius: var(--wui-border-radius-s);
784
+ border: 1px solid var(--wui-color-gray-glass-005);
785
+ box-sizing: border-box;
786
+ background-color: var(--wui-color-bg-175);
787
+ box-shadow:
788
+ 0px 14px 64px -4px rgba(0, 0, 0, 0.15),
789
+ 0px 8px 22px -6px rgba(0, 0, 0, 0.15);
790
+
791
+ max-width: 300px;
792
+ }
793
+
794
+ :host wui-loading-spinner {
795
+ margin-left: var(--wui-spacing-3xs);
796
+ }
797
+ `;
798
+ var __decorate$4 = function(decorators, target, key, desc) {
799
+ var c = arguments.length, r2 = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
800
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r2 = Reflect.decorate(decorators, target, key, desc);
801
+ else for (var i2 = decorators.length - 1; i2 >= 0; i2--) if (d = decorators[i2]) r2 = (c < 3 ? d(r2) : c > 3 ? d(target, key, r2) : d(target, key)) || r2;
802
+ return c > 3 && r2 && Object.defineProperty(target, key, r2), r2;
803
+ };
804
+ let WuiSnackbar = class WuiSnackbar2 extends i$1 {
805
+ constructor() {
806
+ super(...arguments);
807
+ this.backgroundColor = "accent-100";
808
+ this.iconColor = "accent-100";
809
+ this.icon = "checkmark";
810
+ this.message = "";
811
+ this.loading = false;
812
+ this.iconType = "default";
813
+ }
814
+ render() {
815
+ return x`
816
+ ${this.templateIcon()}
817
+ <wui-text variant="paragraph-500" color="fg-100" data-testid="wui-snackbar-message"
818
+ >${this.message}</wui-text
819
+ >
820
+ `;
821
+ }
822
+ templateIcon() {
823
+ if (this.loading) {
824
+ return x`<wui-loading-spinner size="md" color="accent-100"></wui-loading-spinner>`;
825
+ }
826
+ if (this.iconType === "default") {
827
+ return x`<wui-icon size="xl" color=${this.iconColor} name=${this.icon}></wui-icon>`;
828
+ }
829
+ return x`<wui-icon-box
830
+ size="sm"
831
+ iconSize="xs"
832
+ iconColor=${this.iconColor}
833
+ backgroundColor=${this.backgroundColor}
834
+ icon=${this.icon}
835
+ background="opaque"
836
+ ></wui-icon-box>`;
837
+ }
838
+ };
839
+ WuiSnackbar.styles = [resetStyles, styles$4];
840
+ __decorate$4([
841
+ n()
842
+ ], WuiSnackbar.prototype, "backgroundColor", void 0);
843
+ __decorate$4([
844
+ n()
845
+ ], WuiSnackbar.prototype, "iconColor", void 0);
846
+ __decorate$4([
847
+ n()
848
+ ], WuiSnackbar.prototype, "icon", void 0);
849
+ __decorate$4([
850
+ n()
851
+ ], WuiSnackbar.prototype, "message", void 0);
852
+ __decorate$4([
853
+ n()
854
+ ], WuiSnackbar.prototype, "loading", void 0);
855
+ __decorate$4([
856
+ n()
857
+ ], WuiSnackbar.prototype, "iconType", void 0);
858
+ WuiSnackbar = __decorate$4([
859
+ customElement("wui-snackbar")
860
+ ], WuiSnackbar);
861
+ const styles$3 = i`
862
+ :host {
863
+ display: block;
864
+ position: absolute;
865
+ opacity: 0;
866
+ pointer-events: none;
867
+ top: 11px;
868
+ left: 50%;
869
+ width: max-content;
870
+ }
871
+ `;
872
+ var __decorate$3 = function(decorators, target, key, desc) {
873
+ var c = arguments.length, r2 = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
874
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r2 = Reflect.decorate(decorators, target, key, desc);
875
+ else for (var i2 = decorators.length - 1; i2 >= 0; i2--) if (d = decorators[i2]) r2 = (c < 3 ? d(r2) : c > 3 ? d(target, key, r2) : d(target, key)) || r2;
876
+ return c > 3 && r2 && Object.defineProperty(target, key, r2), r2;
877
+ };
878
+ const presets = {
879
+ loading: void 0,
880
+ success: {
881
+ backgroundColor: "success-100",
882
+ iconColor: "success-100",
883
+ icon: "checkmark"
884
+ },
885
+ error: {
886
+ backgroundColor: "error-100",
887
+ iconColor: "error-100",
888
+ icon: "close"
889
+ }
890
+ };
891
+ let W3mSnackBar = class W3mSnackBar2 extends i$1 {
892
+ constructor() {
893
+ super();
894
+ this.unsubscribe = [];
895
+ this.timeout = void 0;
896
+ this.open = SnackController.state.open;
897
+ this.unsubscribe.push(SnackController.subscribeKey("open", (val) => {
898
+ this.open = val;
899
+ this.onOpen();
900
+ }));
901
+ }
902
+ disconnectedCallback() {
903
+ clearTimeout(this.timeout);
904
+ this.unsubscribe.forEach((unsubscribe) => unsubscribe());
905
+ }
906
+ render() {
907
+ const { message, variant, svg } = SnackController.state;
908
+ const preset = presets[variant];
909
+ const { icon, iconColor } = svg ?? preset ?? {};
910
+ return x`
911
+ <wui-snackbar
912
+ message=${message}
913
+ backgroundColor=${preset == null ? void 0 : preset.backgroundColor}
914
+ iconColor=${iconColor}
915
+ icon=${icon}
916
+ .loading=${variant === "loading"}
917
+ ></wui-snackbar>
918
+ `;
919
+ }
920
+ onOpen() {
921
+ clearTimeout(this.timeout);
922
+ if (this.open) {
923
+ this.animate([
924
+ { opacity: 0, transform: "translateX(-50%) scale(0.85)" },
925
+ { opacity: 1, transform: "translateX(-50%) scale(1)" }
926
+ ], {
927
+ duration: 150,
928
+ fill: "forwards",
929
+ easing: "ease"
930
+ });
931
+ if (this.timeout) {
932
+ clearTimeout(this.timeout);
933
+ }
934
+ if (SnackController.state.autoClose) {
935
+ this.timeout = setTimeout(() => SnackController.hide(), 2500);
936
+ }
937
+ } else {
938
+ this.animate([
939
+ { opacity: 1, transform: "translateX(-50%) scale(1)" },
940
+ { opacity: 0, transform: "translateX(-50%) scale(0.85)" }
941
+ ], {
942
+ duration: 150,
943
+ fill: "forwards",
944
+ easing: "ease"
945
+ });
946
+ }
947
+ }
948
+ };
949
+ W3mSnackBar.styles = styles$3;
950
+ __decorate$3([
951
+ r()
952
+ ], W3mSnackBar.prototype, "open", void 0);
953
+ W3mSnackBar = __decorate$3([
954
+ customElement("w3m-snackbar")
955
+ ], W3mSnackBar);
956
+ const styles$2 = i`
957
+ :host {
958
+ pointer-events: none;
959
+ }
960
+
961
+ :host > wui-flex {
962
+ display: var(--w3m-tooltip-display);
963
+ opacity: var(--w3m-tooltip-opacity);
964
+ padding: 9px var(--wui-spacing-s) 10px var(--wui-spacing-s);
965
+ border-radius: var(--wui-border-radius-xxs);
966
+ color: var(--wui-color-bg-100);
967
+ position: fixed;
968
+ top: var(--w3m-tooltip-top);
969
+ left: var(--w3m-tooltip-left);
970
+ transform: translate(calc(-50% + var(--w3m-tooltip-parent-width)), calc(-100% - 8px));
971
+ max-width: calc(var(--w3m-modal-width) - var(--wui-spacing-xl));
972
+ transition: opacity 0.2s var(--wui-ease-out-power-2);
973
+ will-change: opacity;
974
+ }
975
+
976
+ :host([data-variant='shade']) > wui-flex {
977
+ background-color: var(--wui-color-bg-150);
978
+ border: 1px solid var(--wui-color-gray-glass-005);
979
+ }
980
+
981
+ :host([data-variant='shade']) > wui-flex > wui-text {
982
+ color: var(--wui-color-fg-150);
983
+ }
984
+
985
+ :host([data-variant='fill']) > wui-flex {
986
+ background-color: var(--wui-color-fg-100);
987
+ border: none;
988
+ }
989
+
990
+ wui-icon {
991
+ position: absolute;
992
+ width: 12px !important;
993
+ height: 4px !important;
994
+ color: var(--wui-color-bg-150);
995
+ }
996
+
997
+ wui-icon[data-placement='top'] {
998
+ bottom: 0px;
999
+ left: 50%;
1000
+ transform: translate(-50%, 95%);
1001
+ }
1002
+
1003
+ wui-icon[data-placement='bottom'] {
1004
+ top: 0;
1005
+ left: 50%;
1006
+ transform: translate(-50%, -95%) rotate(180deg);
1007
+ }
1008
+
1009
+ wui-icon[data-placement='right'] {
1010
+ top: 50%;
1011
+ left: 0;
1012
+ transform: translate(-65%, -50%) rotate(90deg);
1013
+ }
1014
+
1015
+ wui-icon[data-placement='left'] {
1016
+ top: 50%;
1017
+ right: 0%;
1018
+ transform: translate(65%, -50%) rotate(270deg);
1019
+ }
1020
+ `;
1021
+ var __decorate$2 = function(decorators, target, key, desc) {
1022
+ var c = arguments.length, r2 = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1023
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r2 = Reflect.decorate(decorators, target, key, desc);
1024
+ else for (var i2 = decorators.length - 1; i2 >= 0; i2--) if (d = decorators[i2]) r2 = (c < 3 ? d(r2) : c > 3 ? d(target, key, r2) : d(target, key)) || r2;
1025
+ return c > 3 && r2 && Object.defineProperty(target, key, r2), r2;
1026
+ };
1027
+ let W3mTooltip = class W3mTooltip2 extends i$1 {
1028
+ constructor() {
1029
+ super();
1030
+ this.unsubscribe = [];
1031
+ this.open = TooltipController.state.open;
1032
+ this.message = TooltipController.state.message;
1033
+ this.triggerRect = TooltipController.state.triggerRect;
1034
+ this.variant = TooltipController.state.variant;
1035
+ this.unsubscribe.push(...[
1036
+ TooltipController.subscribe((newState) => {
1037
+ this.open = newState.open;
1038
+ this.message = newState.message;
1039
+ this.triggerRect = newState.triggerRect;
1040
+ this.variant = newState.variant;
1041
+ })
1042
+ ]);
1043
+ }
1044
+ disconnectedCallback() {
1045
+ this.unsubscribe.forEach((unsubscribe) => unsubscribe());
1046
+ }
1047
+ render() {
1048
+ this.dataset["variant"] = this.variant;
1049
+ const topValue = this.triggerRect.top;
1050
+ const leftValue = this.triggerRect.left;
1051
+ this.style.cssText = `
1052
+ --w3m-tooltip-top: ${topValue}px;
1053
+ --w3m-tooltip-left: ${leftValue}px;
1054
+ --w3m-tooltip-parent-width: ${this.triggerRect.width / 2}px;
1055
+ --w3m-tooltip-display: ${this.open ? "flex" : "none"};
1056
+ --w3m-tooltip-opacity: ${this.open ? 1 : 0};
1057
+ `;
1058
+ return x`<wui-flex>
1059
+ <wui-icon data-placement="top" color="fg-100" size="inherit" name="cursor"></wui-icon>
1060
+ <wui-text color="inherit" variant="small-500">${this.message}</wui-text>
1061
+ </wui-flex>`;
1062
+ }
1063
+ };
1064
+ W3mTooltip.styles = [styles$2];
1065
+ __decorate$2([
1066
+ r()
1067
+ ], W3mTooltip.prototype, "open", void 0);
1068
+ __decorate$2([
1069
+ r()
1070
+ ], W3mTooltip.prototype, "message", void 0);
1071
+ __decorate$2([
1072
+ r()
1073
+ ], W3mTooltip.prototype, "triggerRect", void 0);
1074
+ __decorate$2([
1075
+ r()
1076
+ ], W3mTooltip.prototype, "variant", void 0);
1077
+ W3mTooltip = __decorate$2([
1078
+ customElement("w3m-tooltip"),
1079
+ customElement("w3m-tooltip")
1080
+ ], W3mTooltip);
1081
+ const styles$1 = i`
1082
+ :host {
1083
+ --prev-height: 0px;
1084
+ --new-height: 0px;
1085
+ display: block;
1086
+ }
1087
+
1088
+ div.w3m-router-container {
1089
+ transform: translateY(0);
1090
+ opacity: 1;
1091
+ }
1092
+
1093
+ div.w3m-router-container[view-direction='prev'] {
1094
+ animation:
1095
+ slide-left-out 150ms forwards ease,
1096
+ slide-left-in 150ms forwards ease;
1097
+ animation-delay: 0ms, 200ms;
1098
+ }
1099
+
1100
+ div.w3m-router-container[view-direction='next'] {
1101
+ animation:
1102
+ slide-right-out 150ms forwards ease,
1103
+ slide-right-in 150ms forwards ease;
1104
+ animation-delay: 0ms, 200ms;
1105
+ }
1106
+
1107
+ @keyframes slide-left-out {
1108
+ from {
1109
+ transform: translateX(0px);
1110
+ opacity: 1;
1111
+ }
1112
+ to {
1113
+ transform: translateX(10px);
1114
+ opacity: 0;
1115
+ }
1116
+ }
1117
+
1118
+ @keyframes slide-left-in {
1119
+ from {
1120
+ transform: translateX(-10px);
1121
+ opacity: 0;
1122
+ }
1123
+ to {
1124
+ transform: translateX(0);
1125
+ opacity: 1;
1126
+ }
1127
+ }
1128
+
1129
+ @keyframes slide-right-out {
1130
+ from {
1131
+ transform: translateX(0px);
1132
+ opacity: 1;
1133
+ }
1134
+ to {
1135
+ transform: translateX(-10px);
1136
+ opacity: 0;
1137
+ }
1138
+ }
1139
+
1140
+ @keyframes slide-right-in {
1141
+ from {
1142
+ transform: translateX(10px);
1143
+ opacity: 0;
1144
+ }
1145
+ to {
1146
+ transform: translateX(0);
1147
+ opacity: 1;
1148
+ }
1149
+ }
1150
+ `;
1151
+ var __decorate$1 = function(decorators, target, key, desc) {
1152
+ var c = arguments.length, r2 = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1153
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r2 = Reflect.decorate(decorators, target, key, desc);
1154
+ else for (var i2 = decorators.length - 1; i2 >= 0; i2--) if (d = decorators[i2]) r2 = (c < 3 ? d(r2) : c > 3 ? d(target, key, r2) : d(target, key)) || r2;
1155
+ return c > 3 && r2 && Object.defineProperty(target, key, r2), r2;
1156
+ };
1157
+ let W3mRouter = class W3mRouter2 extends i$1 {
1158
+ constructor() {
1159
+ super();
1160
+ this.resizeObserver = void 0;
1161
+ this.prevHeight = "0px";
1162
+ this.prevHistoryLength = 1;
1163
+ this.unsubscribe = [];
1164
+ this.view = RouterController.state.view;
1165
+ this.viewDirection = "";
1166
+ this.unsubscribe.push(RouterController.subscribeKey("view", (val) => this.onViewChange(val)));
1167
+ }
1168
+ firstUpdated() {
1169
+ var _a;
1170
+ this.resizeObserver = new ResizeObserver(([content]) => {
1171
+ const height = `${content == null ? void 0 : content.contentRect.height}px`;
1172
+ if (this.prevHeight !== "0px") {
1173
+ this.style.setProperty("--prev-height", this.prevHeight);
1174
+ this.style.setProperty("--new-height", height);
1175
+ this.style.animation = "w3m-view-height 150ms forwards ease";
1176
+ this.style.height = "auto";
1177
+ }
1178
+ setTimeout(() => {
1179
+ this.prevHeight = height;
1180
+ this.style.animation = "unset";
1181
+ }, ConstantsUtil.ANIMATION_DURATIONS.ModalHeight);
1182
+ });
1183
+ (_a = this.resizeObserver) == null ? void 0 : _a.observe(this.getWrapper());
1184
+ }
1185
+ disconnectedCallback() {
1186
+ var _a;
1187
+ (_a = this.resizeObserver) == null ? void 0 : _a.unobserve(this.getWrapper());
1188
+ this.unsubscribe.forEach((unsubscribe) => unsubscribe());
1189
+ }
1190
+ render() {
1191
+ return x`<div class="w3m-router-container" view-direction="${this.viewDirection}">
1192
+ ${this.viewTemplate()}
1193
+ </div>`;
1194
+ }
1195
+ viewTemplate() {
1196
+ switch (this.view) {
1197
+ case "AccountSettings":
1198
+ return x`<w3m-account-settings-view></w3m-account-settings-view>`;
1199
+ case "Account":
1200
+ return x`<w3m-account-view></w3m-account-view>`;
1201
+ case "AllWallets":
1202
+ return x`<w3m-all-wallets-view></w3m-all-wallets-view>`;
1203
+ case "ApproveTransaction":
1204
+ return x`<w3m-approve-transaction-view></w3m-approve-transaction-view>`;
1205
+ case "BuyInProgress":
1206
+ return x`<w3m-buy-in-progress-view></w3m-buy-in-progress-view>`;
1207
+ case "ChooseAccountName":
1208
+ return x`<w3m-choose-account-name-view></w3m-choose-account-name-view>`;
1209
+ case "Connect":
1210
+ return x`<w3m-connect-view></w3m-connect-view>`;
1211
+ case "Create":
1212
+ return x`<w3m-connect-view walletGuide="explore"></w3m-connect-view>`;
1213
+ case "ConnectingWalletConnect":
1214
+ return x`<w3m-connecting-wc-view></w3m-connecting-wc-view>`;
1215
+ case "ConnectingWalletConnectBasic":
1216
+ return x`<w3m-connecting-wc-basic-view></w3m-connecting-wc-basic-view>`;
1217
+ case "ConnectingExternal":
1218
+ return x`<w3m-connecting-external-view></w3m-connecting-external-view>`;
1219
+ case "ConnectingSiwe":
1220
+ return x`<w3m-connecting-siwe-view></w3m-connecting-siwe-view>`;
1221
+ case "ConnectWallets":
1222
+ return x`<w3m-connect-wallets-view></w3m-connect-wallets-view>`;
1223
+ case "ConnectSocials":
1224
+ return x`<w3m-connect-socials-view></w3m-connect-socials-view>`;
1225
+ case "ConnectingSocial":
1226
+ return x`<w3m-connecting-social-view></w3m-connecting-social-view>`;
1227
+ case "Downloads":
1228
+ return x`<w3m-downloads-view></w3m-downloads-view>`;
1229
+ case "EmailLogin":
1230
+ return x`<w3m-email-login-view></w3m-email-login-view>`;
1231
+ case "EmailVerifyOtp":
1232
+ return x`<w3m-email-verify-otp-view></w3m-email-verify-otp-view>`;
1233
+ case "EmailVerifyDevice":
1234
+ return x`<w3m-email-verify-device-view></w3m-email-verify-device-view>`;
1235
+ case "GetWallet":
1236
+ return x`<w3m-get-wallet-view></w3m-get-wallet-view>`;
1237
+ case "Networks":
1238
+ return x`<w3m-networks-view></w3m-networks-view>`;
1239
+ case "SwitchNetwork":
1240
+ return x`<w3m-network-switch-view></w3m-network-switch-view>`;
1241
+ case "Profile":
1242
+ return x`<w3m-profile-view></w3m-profile-view>`;
1243
+ case "SwitchAddress":
1244
+ return x`<w3m-switch-address-view></w3m-switch-address-view>`;
1245
+ case "Transactions":
1246
+ return x`<w3m-transactions-view></w3m-transactions-view>`;
1247
+ case "OnRampProviders":
1248
+ return x`<w3m-onramp-providers-view></w3m-onramp-providers-view>`;
1249
+ case "OnRampActivity":
1250
+ return x`<w3m-onramp-activity-view></w3m-onramp-activity-view>`;
1251
+ case "OnRampTokenSelect":
1252
+ return x`<w3m-onramp-token-select-view></w3m-onramp-token-select-view>`;
1253
+ case "OnRampFiatSelect":
1254
+ return x`<w3m-onramp-fiat-select-view></w3m-onramp-fiat-select-view>`;
1255
+ case "UpgradeEmailWallet":
1256
+ return x`<w3m-upgrade-wallet-view></w3m-upgrade-wallet-view>`;
1257
+ case "UpdateEmailWallet":
1258
+ return x`<w3m-update-email-wallet-view></w3m-update-email-wallet-view>`;
1259
+ case "UpdateEmailPrimaryOtp":
1260
+ return x`<w3m-update-email-primary-otp-view></w3m-update-email-primary-otp-view>`;
1261
+ case "UpdateEmailSecondaryOtp":
1262
+ return x`<w3m-update-email-secondary-otp-view></w3m-update-email-secondary-otp-view>`;
1263
+ case "UnsupportedChain":
1264
+ return x`<w3m-unsupported-chain-view></w3m-unsupported-chain-view>`;
1265
+ case "Swap":
1266
+ return x`<w3m-swap-view></w3m-swap-view>`;
1267
+ case "SwapSelectToken":
1268
+ return x`<w3m-swap-select-token-view></w3m-swap-select-token-view>`;
1269
+ case "SwapPreview":
1270
+ return x`<w3m-swap-preview-view></w3m-swap-preview-view>`;
1271
+ case "WalletSend":
1272
+ return x`<w3m-wallet-send-view></w3m-wallet-send-view>`;
1273
+ case "WalletSendSelectToken":
1274
+ return x`<w3m-wallet-send-select-token-view></w3m-wallet-send-select-token-view>`;
1275
+ case "WalletSendPreview":
1276
+ return x`<w3m-wallet-send-preview-view></w3m-wallet-send-preview-view>`;
1277
+ case "WhatIsABuy":
1278
+ return x`<w3m-what-is-a-buy-view></w3m-what-is-a-buy-view>`;
1279
+ case "WalletReceive":
1280
+ return x`<w3m-wallet-receive-view></w3m-wallet-receive-view>`;
1281
+ case "WalletCompatibleNetworks":
1282
+ return x`<w3m-wallet-compatible-networks-view></w3m-wallet-compatible-networks-view>`;
1283
+ case "WhatIsAWallet":
1284
+ return x`<w3m-what-is-a-wallet-view></w3m-what-is-a-wallet-view>`;
1285
+ case "ConnectingMultiChain":
1286
+ return x`<w3m-connecting-multi-chain-view></w3m-connecting-multi-chain-view>`;
1287
+ case "WhatIsANetwork":
1288
+ return x`<w3m-what-is-a-network-view></w3m-what-is-a-network-view>`;
1289
+ case "ConnectingFarcaster":
1290
+ return x`<w3m-connecting-farcaster-view></w3m-connecting-farcaster-view>`;
1291
+ case "SwitchActiveChain":
1292
+ return x`<w3m-switch-active-chain-view></w3m-switch-active-chain-view>`;
1293
+ case "RegisterAccountName":
1294
+ return x`<w3m-register-account-name-view></w3m-register-account-name-view>`;
1295
+ case "RegisterAccountNameSuccess":
1296
+ return x`<w3m-register-account-name-success-view></w3m-register-account-name-success-view>`;
1297
+ case "SmartSessionCreated":
1298
+ return x`<w3m-smart-session-created-view></w3m-smart-session-created-view>`;
1299
+ case "SmartSessionList":
1300
+ return x`<w3m-smart-session-list-view></w3m-smart-session-list-view>`;
1301
+ case "SIWXSignMessage":
1302
+ return x`<w3m-siwx-sign-message-view></w3m-siwx-sign-message-view>`;
1303
+ case "Pay":
1304
+ return x`<w3m-pay-view></w3m-pay-view>`;
1305
+ case "PayLoading":
1306
+ return x`<w3m-pay-loading-view></w3m-pay-loading-view>`;
1307
+ default:
1308
+ return x`<w3m-connect-view></w3m-connect-view>`;
1309
+ }
1310
+ }
1311
+ onViewChange(newView) {
1312
+ TooltipController.hide();
1313
+ let direction = ConstantsUtil.VIEW_DIRECTION.Next;
1314
+ const { history } = RouterController.state;
1315
+ if (history.length < this.prevHistoryLength) {
1316
+ direction = ConstantsUtil.VIEW_DIRECTION.Prev;
1317
+ }
1318
+ this.prevHistoryLength = history.length;
1319
+ this.viewDirection = direction;
1320
+ setTimeout(() => {
1321
+ this.view = newView;
1322
+ }, ConstantsUtil.ANIMATION_DURATIONS.ViewTransition);
1323
+ }
1324
+ getWrapper() {
1325
+ var _a;
1326
+ return (_a = this.shadowRoot) == null ? void 0 : _a.querySelector("div");
1327
+ }
1328
+ };
1329
+ W3mRouter.styles = styles$1;
1330
+ __decorate$1([
1331
+ r()
1332
+ ], W3mRouter.prototype, "view", void 0);
1333
+ __decorate$1([
1334
+ r()
1335
+ ], W3mRouter.prototype, "viewDirection", void 0);
1336
+ W3mRouter = __decorate$1([
1337
+ customElement("w3m-router")
1338
+ ], W3mRouter);
1339
+ const styles = i`
1340
+ :host {
1341
+ z-index: var(--w3m-z-index);
1342
+ display: block;
1343
+ backface-visibility: hidden;
1344
+ will-change: opacity;
1345
+ position: fixed;
1346
+ top: 0;
1347
+ left: 0;
1348
+ right: 0;
1349
+ bottom: 0;
1350
+ pointer-events: none;
1351
+ opacity: 0;
1352
+ background-color: var(--wui-cover);
1353
+ transition: opacity 0.2s var(--wui-ease-out-power-2);
1354
+ will-change: opacity;
1355
+ }
1356
+
1357
+ :host(.open) {
1358
+ opacity: 1;
1359
+ }
1360
+
1361
+ :host(.appkit-modal) {
1362
+ position: relative;
1363
+ pointer-events: unset;
1364
+ background: none;
1365
+ width: 100%;
1366
+ opacity: 1;
1367
+ }
1368
+
1369
+ wui-card {
1370
+ max-width: var(--w3m-modal-width);
1371
+ width: 100%;
1372
+ position: relative;
1373
+ animation: zoom-in 0.2s var(--wui-ease-out-power-2);
1374
+ animation-fill-mode: backwards;
1375
+ outline: none;
1376
+ transition:
1377
+ border-radius var(--wui-duration-lg) var(--wui-ease-out-power-1),
1378
+ background-color var(--wui-duration-lg) var(--wui-ease-out-power-1);
1379
+ will-change: border-radius, background-color;
1380
+ }
1381
+
1382
+ :host(.appkit-modal) wui-card {
1383
+ max-width: 400px;
1384
+ }
1385
+
1386
+ wui-card[shake='true'] {
1387
+ animation:
1388
+ zoom-in 0.2s var(--wui-ease-out-power-2),
1389
+ w3m-shake 0.5s var(--wui-ease-out-power-2);
1390
+ }
1391
+
1392
+ wui-flex {
1393
+ overflow-x: hidden;
1394
+ overflow-y: auto;
1395
+ display: flex;
1396
+ align-items: center;
1397
+ justify-content: center;
1398
+ width: 100%;
1399
+ height: 100%;
1400
+ }
1401
+
1402
+ @media (max-height: 700px) and (min-width: 431px) {
1403
+ wui-flex {
1404
+ align-items: flex-start;
1405
+ }
1406
+
1407
+ wui-card {
1408
+ margin: var(--wui-spacing-xxl) 0px;
1409
+ }
1410
+ }
1411
+
1412
+ @media (max-width: 430px) {
1413
+ wui-flex {
1414
+ align-items: flex-end;
1415
+ }
1416
+
1417
+ wui-card {
1418
+ max-width: 100%;
1419
+ border-bottom-left-radius: var(--local-border-bottom-mobile-radius);
1420
+ border-bottom-right-radius: var(--local-border-bottom-mobile-radius);
1421
+ border-bottom: none;
1422
+ animation: slide-in 0.2s var(--wui-ease-out-power-2);
1423
+ }
1424
+
1425
+ wui-card[shake='true'] {
1426
+ animation:
1427
+ slide-in 0.2s var(--wui-ease-out-power-2),
1428
+ w3m-shake 0.5s var(--wui-ease-out-power-2);
1429
+ }
1430
+ }
1431
+
1432
+ @keyframes zoom-in {
1433
+ 0% {
1434
+ transform: scale(0.95) translateY(0);
1435
+ }
1436
+ 100% {
1437
+ transform: scale(1) translateY(0);
1438
+ }
1439
+ }
1440
+
1441
+ @keyframes slide-in {
1442
+ 0% {
1443
+ transform: scale(1) translateY(50px);
1444
+ }
1445
+ 100% {
1446
+ transform: scale(1) translateY(0);
1447
+ }
1448
+ }
1449
+
1450
+ @keyframes w3m-shake {
1451
+ 0% {
1452
+ transform: scale(1) rotate(0deg);
1453
+ }
1454
+ 20% {
1455
+ transform: scale(1) rotate(-1deg);
1456
+ }
1457
+ 40% {
1458
+ transform: scale(1) rotate(1.5deg);
1459
+ }
1460
+ 60% {
1461
+ transform: scale(1) rotate(-1.5deg);
1462
+ }
1463
+ 80% {
1464
+ transform: scale(1) rotate(1deg);
1465
+ }
1466
+ 100% {
1467
+ transform: scale(1) rotate(0deg);
1468
+ }
1469
+ }
1470
+
1471
+ @keyframes w3m-view-height {
1472
+ from {
1473
+ height: var(--prev-height);
1474
+ }
1475
+ to {
1476
+ height: var(--new-height);
1477
+ }
1478
+ }
1479
+ `;
1480
+ var __decorate = function(decorators, target, key, desc) {
1481
+ var c = arguments.length, r2 = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1482
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r2 = Reflect.decorate(decorators, target, key, desc);
1483
+ else for (var i2 = decorators.length - 1; i2 >= 0; i2--) if (d = decorators[i2]) r2 = (c < 3 ? d(r2) : c > 3 ? d(target, key, r2) : d(target, key)) || r2;
1484
+ return c > 3 && r2 && Object.defineProperty(target, key, r2), r2;
1485
+ };
1486
+ const SCROLL_LOCK = "scroll-lock";
1487
+ class W3mModalBase extends i$1 {
1488
+ constructor() {
1489
+ super();
1490
+ this.unsubscribe = [];
1491
+ this.abortController = void 0;
1492
+ this.hasPrefetched = false;
1493
+ this.enableEmbedded = OptionsController.state.enableEmbedded;
1494
+ this.open = ModalController.state.open;
1495
+ this.caipAddress = ChainController.state.activeCaipAddress;
1496
+ this.caipNetwork = ChainController.state.activeCaipNetwork;
1497
+ this.shake = ModalController.state.shake;
1498
+ this.filterByNamespace = ConnectorController.state.filterByNamespace;
1499
+ this.initializeTheming();
1500
+ ApiController.prefetchAnalyticsConfig();
1501
+ this.unsubscribe.push(...[
1502
+ ModalController.subscribeKey("open", (val) => val ? this.onOpen() : this.onClose()),
1503
+ ModalController.subscribeKey("shake", (val) => this.shake = val),
1504
+ ChainController.subscribeKey("activeCaipNetwork", (val) => this.onNewNetwork(val)),
1505
+ ChainController.subscribeKey("activeCaipAddress", (val) => this.onNewAddress(val)),
1506
+ OptionsController.subscribeKey("enableEmbedded", (val) => this.enableEmbedded = val),
1507
+ ConnectorController.subscribeKey("filterByNamespace", (val) => {
1508
+ var _a;
1509
+ if (this.filterByNamespace !== val && !((_a = ChainController.getAccountData(val)) == null ? void 0 : _a.caipAddress)) {
1510
+ ApiController.fetchRecommendedWallets();
1511
+ this.filterByNamespace = val;
1512
+ }
1513
+ })
1514
+ ]);
1515
+ }
1516
+ firstUpdated() {
1517
+ if (this.caipAddress) {
1518
+ if (this.enableEmbedded) {
1519
+ ModalController.close();
1520
+ this.prefetch();
1521
+ return;
1522
+ }
1523
+ this.onNewAddress(this.caipAddress);
1524
+ }
1525
+ if (this.open) {
1526
+ this.onOpen();
1527
+ }
1528
+ if (this.enableEmbedded) {
1529
+ this.prefetch();
1530
+ }
1531
+ }
1532
+ disconnectedCallback() {
1533
+ this.unsubscribe.forEach((unsubscribe) => unsubscribe());
1534
+ this.onRemoveKeyboardListener();
1535
+ }
1536
+ render() {
1537
+ this.style.cssText = `
1538
+ --local-border-bottom-mobile-radius: ${this.enableEmbedded ? "clamp(0px, var(--wui-border-radius-l), 44px)" : "0px"};
1539
+ `;
1540
+ if (this.enableEmbedded) {
1541
+ return x`${this.contentTemplate()}
1542
+ <w3m-tooltip></w3m-tooltip> `;
1543
+ }
1544
+ return this.open ? x`
1545
+ <wui-flex @click=${this.onOverlayClick.bind(this)} data-testid="w3m-modal-overlay">
1546
+ ${this.contentTemplate()}
1547
+ </wui-flex>
1548
+ <w3m-tooltip></w3m-tooltip>
1549
+ ` : null;
1550
+ }
1551
+ contentTemplate() {
1552
+ return x` <wui-card
1553
+ shake="${this.shake}"
1554
+ data-embedded="${o(this.enableEmbedded)}"
1555
+ role="alertdialog"
1556
+ aria-modal="true"
1557
+ tabindex="0"
1558
+ data-testid="w3m-modal-card"
1559
+ >
1560
+ <w3m-header></w3m-header>
1561
+ <w3m-router></w3m-router>
1562
+ <w3m-snackbar></w3m-snackbar>
1563
+ <w3m-alertbar></w3m-alertbar>
1564
+ </wui-card>`;
1565
+ }
1566
+ async onOverlayClick(event) {
1567
+ if (event.target === event.currentTarget) {
1568
+ await this.handleClose();
1569
+ }
1570
+ }
1571
+ async handleClose() {
1572
+ await ModalUtil.safeClose();
1573
+ }
1574
+ initializeTheming() {
1575
+ const { themeVariables, themeMode } = ThemeController.state;
1576
+ const defaultThemeMode = UiHelperUtil.getColorTheme(themeMode);
1577
+ initializeTheming(themeVariables, defaultThemeMode);
1578
+ }
1579
+ onClose() {
1580
+ this.open = false;
1581
+ this.classList.remove("open");
1582
+ this.onScrollUnlock();
1583
+ SnackController.hide();
1584
+ this.onRemoveKeyboardListener();
1585
+ }
1586
+ onOpen() {
1587
+ this.open = true;
1588
+ this.classList.add("open");
1589
+ this.onScrollLock();
1590
+ this.onAddKeyboardListener();
1591
+ }
1592
+ onScrollLock() {
1593
+ const styleTag = document.createElement("style");
1594
+ styleTag.dataset["w3m"] = SCROLL_LOCK;
1595
+ styleTag.textContent = `
1596
+ body {
1597
+ touch-action: none;
1598
+ overflow: hidden;
1599
+ overscroll-behavior: contain;
1600
+ }
1601
+ w3m-modal {
1602
+ pointer-events: auto;
1603
+ }
1604
+ `;
1605
+ document.head.appendChild(styleTag);
1606
+ }
1607
+ onScrollUnlock() {
1608
+ const styleTag = document.head.querySelector(`style[data-w3m="${SCROLL_LOCK}"]`);
1609
+ if (styleTag) {
1610
+ styleTag.remove();
1611
+ }
1612
+ }
1613
+ onAddKeyboardListener() {
1614
+ var _a;
1615
+ this.abortController = new AbortController();
1616
+ const card = (_a = this.shadowRoot) == null ? void 0 : _a.querySelector("wui-card");
1617
+ card == null ? void 0 : card.focus();
1618
+ window.addEventListener("keydown", (event) => {
1619
+ if (event.key === "Escape") {
1620
+ this.handleClose();
1621
+ } else if (event.key === "Tab") {
1622
+ const { tagName } = event.target;
1623
+ if (tagName && !tagName.includes("W3M-") && !tagName.includes("WUI-")) {
1624
+ card == null ? void 0 : card.focus();
1625
+ }
1626
+ }
1627
+ }, this.abortController);
1628
+ }
1629
+ onRemoveKeyboardListener() {
1630
+ var _a;
1631
+ (_a = this.abortController) == null ? void 0 : _a.abort();
1632
+ this.abortController = void 0;
1633
+ }
1634
+ async onNewAddress(caipAddress) {
1635
+ const isSwitchingNamespace = ChainController.state.isSwitchingNamespace;
1636
+ const nextConnected = CoreHelperUtil.getPlainAddress(caipAddress);
1637
+ const isDisconnectedInSameNamespace = !nextConnected && !isSwitchingNamespace;
1638
+ const isSwitchingNamespaceAndConnected = isSwitchingNamespace && nextConnected;
1639
+ if (isDisconnectedInSameNamespace) {
1640
+ ModalController.close();
1641
+ } else if (isSwitchingNamespaceAndConnected) {
1642
+ RouterController.goBack();
1643
+ }
1644
+ await SIWXUtil.initializeIfEnabled();
1645
+ this.caipAddress = caipAddress;
1646
+ ChainController.setIsSwitchingNamespace(false);
1647
+ }
1648
+ onNewNetwork(nextCaipNetwork) {
1649
+ var _a, _b, _c;
1650
+ const prevCaipNetwork = this.caipNetwork;
1651
+ const prevCaipNetworkId = (_a = prevCaipNetwork == null ? void 0 : prevCaipNetwork.caipNetworkId) == null ? void 0 : _a.toString();
1652
+ const prevChainNamespace = prevCaipNetwork == null ? void 0 : prevCaipNetwork.chainNamespace;
1653
+ const nextNetworkId = (_b = nextCaipNetwork == null ? void 0 : nextCaipNetwork.caipNetworkId) == null ? void 0 : _b.toString();
1654
+ const nextChainNamespace = nextCaipNetwork == null ? void 0 : nextCaipNetwork.chainNamespace;
1655
+ const networkIdChanged = prevCaipNetworkId !== nextNetworkId;
1656
+ const namespaceChanged = prevChainNamespace !== nextChainNamespace;
1657
+ const isNetworkChangedInSameNamespace = networkIdChanged && !namespaceChanged;
1658
+ const wasUnsupportedNetwork = (prevCaipNetwork == null ? void 0 : prevCaipNetwork.name) === ConstantsUtil$1.UNSUPPORTED_NETWORK_NAME;
1659
+ const isConnectingExternal = RouterController.state.view === "ConnectingExternal";
1660
+ const isNotConnected = !((_c = ChainController.getAccountData(nextCaipNetwork == null ? void 0 : nextCaipNetwork.chainNamespace)) == null ? void 0 : _c.caipAddress);
1661
+ const isUnsupportedNetworkScreen = RouterController.state.view === "UnsupportedChain";
1662
+ const isModalOpen = ModalController.state.open;
1663
+ let shouldGoBack = false;
1664
+ if (isModalOpen && !isConnectingExternal) {
1665
+ if (isNotConnected) {
1666
+ if (networkIdChanged) {
1667
+ shouldGoBack = true;
1668
+ }
1669
+ } else if (isUnsupportedNetworkScreen) {
1670
+ shouldGoBack = true;
1671
+ } else if (isNetworkChangedInSameNamespace && !wasUnsupportedNetwork) {
1672
+ shouldGoBack = true;
1673
+ }
1674
+ }
1675
+ if (shouldGoBack && RouterController.state.view !== "SIWXSignMessage") {
1676
+ RouterController.goBack();
1677
+ }
1678
+ this.caipNetwork = nextCaipNetwork;
1679
+ }
1680
+ prefetch() {
1681
+ if (!this.hasPrefetched) {
1682
+ ApiController.prefetch();
1683
+ ApiController.fetchWalletsByPage({ page: 1 });
1684
+ this.hasPrefetched = true;
1685
+ }
1686
+ }
1687
+ }
1688
+ W3mModalBase.styles = styles;
1689
+ __decorate([
1690
+ n({ type: Boolean })
1691
+ ], W3mModalBase.prototype, "enableEmbedded", void 0);
1692
+ __decorate([
1693
+ r()
1694
+ ], W3mModalBase.prototype, "open", void 0);
1695
+ __decorate([
1696
+ r()
1697
+ ], W3mModalBase.prototype, "caipAddress", void 0);
1698
+ __decorate([
1699
+ r()
1700
+ ], W3mModalBase.prototype, "caipNetwork", void 0);
1701
+ __decorate([
1702
+ r()
1703
+ ], W3mModalBase.prototype, "shake", void 0);
1704
+ __decorate([
1705
+ r()
1706
+ ], W3mModalBase.prototype, "filterByNamespace", void 0);
1707
+ let W3mModal = class W3mModal2 extends W3mModalBase {
1708
+ };
1709
+ W3mModal = __decorate([
1710
+ customElement("w3m-modal")
1711
+ ], W3mModal);
1712
+ let AppKitModal = class AppKitModal2 extends W3mModalBase {
1713
+ };
1714
+ AppKitModal = __decorate([
1715
+ customElement("appkit-modal")
1716
+ ], AppKitModal);
1717
+ export {
1718
+ AppKitModal,
1719
+ W3mModal,
1720
+ W3mModalBase
1721
+ };