@blockend/widget 1.0.31 → 1.0.33

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 (161) hide show
  1. package/dist/AllRoutes-B04uZfaa.js +2209 -0
  2. package/dist/Box-BWDJCGbI.js +55 -0
  3. package/dist/EstGas-QSPrdq3Y.js +12863 -0
  4. package/dist/Grow-37t11tle.js +1656 -0
  5. package/dist/InputComp-bKVjlcbT.js +106 -0
  6. package/dist/LoadRoute-C3vokLk0.js +126 -0
  7. package/dist/QuotesProgress-DlgLQ2zo.js +28 -0
  8. package/dist/SwapAsset-tD6wSJDD.js +64 -0
  9. package/dist/Tooltip-BqYgFn1F.js +572 -0
  10. package/dist/TxnButton-DefErcCE.js +207 -0
  11. package/dist/WidgetForm.module-QHJ0-m5f.js +9 -0
  12. package/dist/{add-B8AfyNIx.js → add-D32G_xKI.js} +3 -3
  13. package/dist/{all-wallets-BaLLU39i.js → all-wallets-LjjqiTnJ.js} +3 -3
  14. package/dist/{app-store-DNpoABj1.js → app-store-S7C23kTz.js} +3 -3
  15. package/dist/{apple-DzzHtaL4.js → apple-DMd4RArz.js} +3 -3
  16. package/dist/{arrow-bottom-D2c13c51.js → arrow-bottom-C0cVMl2n.js} +3 -3
  17. package/dist/{arrow-bottom-circle-ls9OCLx1.js → arrow-bottom-circle-veMvHYVR.js} +3 -3
  18. package/dist/{arrow-left-BI3rQkNI.js → arrow-left-B6VdOxSY.js} +3 -3
  19. package/dist/{arrow-right-rnMzhVod.js → arrow-right-CyrokJyU.js} +3 -3
  20. package/dist/{arrow-top-CfA6PVMz.js → arrow-top-S8qh5z92.js} +3 -3
  21. package/dist/{bank-CmpAmHgg.js → bank-B9ySjxm-.js} +3 -3
  22. package/dist/basic-BXha5sM_.js +5783 -0
  23. package/dist/{browser-mEcjgS1H.js → browser-CWmyZDF1.js} +3 -3
  24. package/dist/{card-DkgIWcMc.js → card-TzoSVbiE.js} +3 -3
  25. package/dist/ccip-B97isPV8.js +228 -0
  26. package/dist/{checkmark-B_A013n2.js → checkmark-Be4tNZY8.js} +3 -3
  27. package/dist/{checkmark-bold-DestuG2T.js → checkmark-bold-sAoooMoy.js} +3 -3
  28. package/dist/{chevron-bottom-Di3S86dj.js → chevron-bottom-Cdd52Yir.js} +3 -3
  29. package/dist/{chevron-left-A9Wj-3tj.js → chevron-left-Dp8rM2qD.js} +3 -3
  30. package/dist/{chevron-right-UFxJogOZ.js → chevron-right-kH3Pgt8h.js} +3 -3
  31. package/dist/{chevron-top-BbZs3eaC.js → chevron-top-lx-9iWm1.js} +3 -3
  32. package/dist/{chrome-store-B4F6hJmy.js → chrome-store-BGxPgdkC.js} +3 -3
  33. package/dist/{clock-BbAQ09uV.js → clock-B3r9UiFY.js} +3 -3
  34. package/dist/clockIcon-C2W5xvyt.js +76 -0
  35. package/dist/{close-CY3oZP_D.js → close-Cc6SJ0A9.js} +3 -3
  36. package/dist/{coinPlaceholder-DpfsobZT.js → coinPlaceholder-DqH2n2v1.js} +3 -3
  37. package/dist/{compass-CHS7RZFk.js → compass-CiKYczAi.js} +3 -3
  38. package/dist/{copy-CEd4nGhs.js → copy-DR0dlbF5.js} +3 -3
  39. package/dist/core-D9oRINim.js +14967 -0
  40. package/dist/{cursor-transparent-Tm6k6Ws4.js → cursor-transparent-BABlb938.js} +3 -3
  41. package/dist/cursor-vv-pXAzC.js +7 -0
  42. package/dist/{desktop-CrSyXZkL.js → desktop-aFWdAU4O.js} +3 -3
  43. package/dist/{disconnect-BooT10E1.js → disconnect-Cz0MwjuJ.js} +3 -3
  44. package/dist/{discord-B982Qaml.js → discord-BkNiORDh.js} +3 -3
  45. package/dist/down-BAe_uoMx.js +606 -0
  46. package/dist/{etherscan-CFL0IcNl.js → etherscan-4wT3rhj5.js} +3 -3
  47. package/dist/ethertousd-CC_ezooz.js +6 -0
  48. package/dist/{exclamation-triangle-BBeGXYgt.js → exclamation-triangle-CSv7sjYs.js} +3 -3
  49. package/dist/{extension-C5WqJw73.js → extension-B4acJb16.js} +3 -3
  50. package/dist/{external-link-CcSxVDcd.js → external-link-zFdRyGh8.js} +3 -3
  51. package/dist/{facebook-DF0v9ED8.js → facebook-D2h4REjy.js} +3 -3
  52. package/dist/{farcaster-Boq7M4VK.js → farcaster-acRwWMSn.js} +3 -3
  53. package/dist/{filters-DfeymbPx.js → filters-DE1yHCJy.js} +3 -3
  54. package/dist/getChainIds-B4BLdhKd.js +1888 -0
  55. package/dist/getCosmosAddress-BfMdDDaH.js +9565 -0
  56. package/dist/{github-DQ8FV4bD.js → github-BrCBPjDS.js} +3 -3
  57. package/dist/{google-Dm8FDDZR.js → google-DYC6Um96.js} +3 -3
  58. package/dist/hamburger-sg42nvNd.js +3915 -0
  59. package/dist/{help-circle-CbgiAebR.js → help-circle-CKvIeM4J.js} +3 -3
  60. package/dist/{id-CzqxUksI.js → id-FXzF1V3L.js} +3 -3
  61. package/dist/{image-CsCGTIN-.js → image-rOZMtN9o.js} +3 -3
  62. package/dist/index-B0E-rGOh.js +159 -0
  63. package/dist/index-B5gV3APh.js +992 -0
  64. package/dist/index-CDq3vNnP.js +22 -0
  65. package/dist/index-CIjTGwYH.js +9 -0
  66. package/dist/index-Cmj3dp3U.js +473 -0
  67. package/dist/index-DEovHqJS.js +3010 -0
  68. package/dist/index-DOcwHfd3.js +13583 -0
  69. package/dist/index-DSlXIHtr.js +28701 -0
  70. package/dist/index-DTish3yr.js +1014 -0
  71. package/dist/index-PIAjHNgG.js +18613 -0
  72. package/dist/index-SiMIoFT9.js +331 -0
  73. package/dist/index-Y94UWILI.js +1460 -0
  74. package/dist/index-baetUfmH.js +252 -0
  75. package/dist/index.es-D6RvS0tB.js +366 -0
  76. package/dist/index.es-TLoHC_Sf.js +11678 -0
  77. package/dist/index.es.js +4 -4
  78. package/dist/{info-circle-Bt350Yzj.js → info-circle-BYfEprqC.js} +3 -3
  79. package/dist/{info-fKCfLW0k.js → info-dh7qmm_R.js} +3 -3
  80. package/dist/{lightbulb-BL9YBxiA.js → lightbulb-3S8w5B31.js} +3 -3
  81. package/dist/{mail-_g6CHQeQ.js → mail-DgcPoOPs.js} +3 -3
  82. package/dist/{mobile-B-EQ4IcH.js → mobile-C8egRR0V.js} +3 -3
  83. package/dist/{more-C3rpOdUy.js → more-CU_oPwwY.js} +3 -3
  84. package/dist/{network-placeholder-D9Ak7Xj_.js → network-placeholder-CqjaxlS7.js} +3 -3
  85. package/dist/{nftPlaceholder-CIIm2V_o.js → nftPlaceholder-D6mZlZmz.js} +3 -3
  86. package/dist/{off-DZjgI0eE.js → off-DHeUICx6.js} +3 -3
  87. package/dist/{play-store-DvRnagoF.js → play-store-DyGxjYv5.js} +3 -3
  88. package/dist/{plus-C2jN2huZ.js → plus-k4hEdLAH.js} +3 -3
  89. package/dist/{qr-code-B64HnZgi.js → qr-code-CkavLc0Z.js} +3 -3
  90. package/dist/{recycle-horizontal-CovcJGa_.js → recycle-horizontal-YzkyX2fY.js} +3 -3
  91. package/dist/{refresh-J1Vw6QMA.js → refresh-E1vpdqCO.js} +3 -3
  92. package/dist/{reown-logo-BsXoZ3KT.js → reown-logo-BZbc_-R6.js} +3 -3
  93. package/dist/{search-BC86wYXR.js → search-B9vQkIsQ.js} +3 -3
  94. package/dist/{send-BPA1bK5G.js → send-C9ROxhya.js} +3 -3
  95. package/dist/shareicon-CLveBf8l.js +262 -0
  96. package/dist/{sortDown-cDA6MpOw.js → sortDown-CjBaDQTU.js} +13 -13
  97. package/dist/{swapHorizontal-47_8ePle.js → swapHorizontal-BhLDDuiL.js} +3 -3
  98. package/dist/{swapHorizontalBold-CJ7TzeQP.js → swapHorizontalBold-B1IxJLem.js} +3 -3
  99. package/dist/{swapHorizontalMedium-CTACgUR9.js → swapHorizontalMedium--fvn_6KH.js} +3 -3
  100. package/dist/{swapHorizontalRoundedBold-Ht3_LABp.js → swapHorizontalRoundedBold-fZowAp5m.js} +3 -3
  101. package/dist/{swapVertical-DlS0V6DD.js → swapVertical-CDwndQ4s.js} +3 -3
  102. package/dist/{telegram-UZ00kvIE.js → telegram-BLbguJ3E.js} +3 -3
  103. package/dist/{three-dots-D9zVXr1j.js → three-dots-DyIG0Aiq.js} +3 -3
  104. package/dist/truncate-D9t92mVX.js +7 -0
  105. package/dist/{twitch-CP6rpz4m.js → twitch-054mPrps.js} +3 -3
  106. package/dist/{twitterIcon-Cm3I3FRU.js → twitterIcon-DrlgKmas.js} +3 -3
  107. package/dist/unsupportedProp-Dr6Tadlk.js +10 -0
  108. package/dist/useRegisterError-C52MuupC.js +9857 -0
  109. package/dist/validError-CDlJpg_f.js +6 -0
  110. package/dist/{verify-filled-CfgydKPa.js → verify-filled-Dw1_4VEj.js} +3 -3
  111. package/dist/{verify-DuUE85WT.js → verify-uz7q7EMX.js} +3 -3
  112. package/dist/w3m-modal-CJM8um8G.js +1471 -0
  113. package/dist/{wallet-BC2LSDlF.js → wallet-a9cCMI05.js} +3 -3
  114. package/dist/{wallet-placeholder-DugEJ7xM.js → wallet-placeholder-Cqiz2_rA.js} +3 -3
  115. package/dist/{walletconnect-wayCaYfk.js → walletconnect-96twp7MP.js} +7 -9
  116. package/dist/{warning-circle-Cy9YuvwU.js → warning-circle-C4mV6fIZ.js} +3 -3
  117. package/dist/{x-jggPFiy-.js → x-vRe7FHUS.js} +3 -3
  118. package/package.json +7 -19
  119. package/dist/AllRoutes-Bdi5ZW8W.js +0 -2604
  120. package/dist/Box-e4gA-y_H.js +0 -60
  121. package/dist/EstGas-C5ihS0Mw.js +0 -17108
  122. package/dist/Grow-B4K-I-E-.js +0 -2212
  123. package/dist/InputComp-C_UUZxNU.js +0 -114
  124. package/dist/LoadRoute-CnDhVKdh.js +0 -142
  125. package/dist/QuotesProgress-DxgPgPJE.js +0 -29
  126. package/dist/SwapAsset-CmmuxeQF.js +0 -65
  127. package/dist/Tooltip-D8YjOOKU.js +0 -718
  128. package/dist/TxnButton-CF-TLZrD.js +0 -302
  129. package/dist/WidgetForm.module-DhUUlwZP.js +0 -13
  130. package/dist/basic-Cx2xxgd9.js +0 -7109
  131. package/dist/ccip-BKpquA5i.js +0 -250
  132. package/dist/clockIcon-jSNFFrLy.js +0 -76
  133. package/dist/core-C-gr9X18.js +0 -17217
  134. package/dist/cursor-BTtIlTHP.js +0 -7
  135. package/dist/down-DDk8OoJG.js +0 -809
  136. package/dist/ethertousd-BOknTgU4.js +0 -7
  137. package/dist/getChainIds-6iugk2h0.js +0 -2431
  138. package/dist/getCosmosAddress-BgD5iV6f.js +0 -13998
  139. package/dist/hamburger-BYe_G11E.js +0 -4562
  140. package/dist/index-BAmjBHYR.js +0 -1087
  141. package/dist/index-BxHeZ9IF.js +0 -543
  142. package/dist/index-C7cb2O7r.js +0 -16078
  143. package/dist/index-CF9p4S_X.js +0 -11
  144. package/dist/index-C_vo1L7p.js +0 -24384
  145. package/dist/index-Ch7w83dW.js +0 -4217
  146. package/dist/index-Crhenmgw.js +0 -188
  147. package/dist/index-Cz5Dosd2.js +0 -412
  148. package/dist/index-D5OnT-__.js +0 -35858
  149. package/dist/index-DArR1lwi.js +0 -1759
  150. package/dist/index-hEJSpZe-.js +0 -308
  151. package/dist/index-m2O0cbD8.js +0 -1883
  152. package/dist/index-sLx4Edw4.js +0 -22
  153. package/dist/index.es-DIbGJsfa.js +0 -475
  154. package/dist/index.es-t6sHlseh.js +0 -12916
  155. package/dist/secp256k1-BkBK0mD5.js +0 -1681
  156. package/dist/shareicon-C88Wx-AM.js +0 -314
  157. package/dist/truncate-DSxFWEga.js +0 -7
  158. package/dist/unsupportedProp-DkeDzLfM.js +0 -14
  159. package/dist/useRegisterError-W_UfecIN.js +0 -19288
  160. package/dist/validError-rariWQ7G.js +0 -14
  161. package/dist/w3m-modal-Bl-DPlah.js +0 -1721
@@ -1,1721 +0,0 @@
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-C-gr9X18.js";
2
- import { c as customElement, n, r, o, U as UiHelperUtil } from "./index-BAmjBHYR.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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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
- };