easy-component-ui 3.0.11 → 3.0.13

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 (78) hide show
  1. package/README.md +162 -162
  2. package/dist/assets/icon.css +1 -1
  3. package/dist/components/Base.js +190 -188
  4. package/dist/components/ea-alert.js +71 -54
  5. package/dist/components/ea-avatar.js +42 -37
  6. package/dist/components/ea-breadcrumb.js +33 -33
  7. package/dist/components/ea-button.js +53 -52
  8. package/dist/components/ea-card.js +63 -27
  9. package/dist/components/ea-carousel.js +2 -2
  10. package/dist/components/ea-collapse.js +93 -73
  11. package/dist/components/ea-color-picker.js +221 -221
  12. package/dist/components/ea-container.js +90 -61
  13. package/dist/components/ea-countdown.js +77 -56
  14. package/dist/components/ea-date-picker.js +1 -1
  15. package/dist/components/ea-descriptions.js +133 -70
  16. package/dist/components/ea-dialog.js +4 -4
  17. package/dist/components/ea-drawer.js +93 -71
  18. package/dist/components/ea-empty.js +31 -23
  19. package/dist/components/ea-icon.js +122 -32
  20. package/dist/components/ea-image-preview.js +237 -193
  21. package/dist/components/ea-image.js +69 -44
  22. package/dist/components/ea-input-number.js +9 -9
  23. package/dist/components/ea-input.js +15 -15
  24. package/dist/components/ea-layout.js +10 -3
  25. package/dist/components/ea-link.js +1 -1
  26. package/dist/components/ea-menu.js +69 -53
  27. package/dist/components/ea-message-box.js +73 -73
  28. package/dist/components/ea-message.js +184 -121
  29. package/dist/components/ea-notification.js +80 -80
  30. package/dist/components/ea-overlay.js +41 -34
  31. package/dist/components/ea-page-header.js +5 -5
  32. package/dist/components/ea-pagination.js +6 -5
  33. package/dist/components/ea-popconfirm.js +133 -78
  34. package/dist/components/ea-popover.js +35 -11
  35. package/dist/components/ea-popper.js +9 -9
  36. package/dist/components/ea-progress.js +88 -71
  37. package/dist/components/ea-rate.js +1 -1
  38. package/dist/components/ea-result.js +20 -20
  39. package/dist/components/ea-select.js +119 -108
  40. package/dist/components/ea-skeleton.js +99 -82
  41. package/dist/components/ea-slider.js +88 -79
  42. package/dist/components/ea-splitter.js +34 -18
  43. package/dist/components/ea-statistic.js +72 -4
  44. package/dist/components/ea-steps.js +108 -74
  45. package/dist/components/ea-table.js +562 -434
  46. package/dist/components/ea-tabs.js +28 -28
  47. package/dist/components/ea-tag.js +37 -43
  48. package/dist/components/ea-time-picker.js +2 -6
  49. package/dist/components/ea-timeline.js +11 -12
  50. package/dist/components/ea-tooltip.js +63 -23
  51. package/dist/components/ea-tour.js +21 -21
  52. package/dist/components/ea-transfer.js +2 -2
  53. package/dist/components/ea-tree.js +1 -1
  54. package/dist/components/index.js +1 -2
  55. package/dist/css/ea-card.style.js +2 -2
  56. package/dist/css/ea-collapse-item.style.js +1 -1
  57. package/dist/css/ea-color-picker-panel.style.js +1 -1
  58. package/dist/css/ea-container.style.js +1 -1
  59. package/dist/css/ea-descriptions-item.style.js +2 -2
  60. package/dist/css/ea-descriptions.style.js +1 -1
  61. package/dist/css/ea-empty.style.js +1 -1
  62. package/dist/css/ea-footer.style.js +1 -1
  63. package/dist/css/ea-progress.style.js +1 -1
  64. package/dist/css/ea-skeleton.style.js +1 -1
  65. package/dist/css/ea-step.style.js +1 -1
  66. package/dist/css/ea-switch.style.js +1 -1
  67. package/dist/css/ea-tab.style.js +1 -1
  68. package/dist/css/ea-table-column.style.js +4 -0
  69. package/dist/css/ea-table.style.js +1 -1
  70. package/dist/css/ea-tabs.style.js +1 -1
  71. package/dist/css/ea-tag.style.js +1 -1
  72. package/dist/css/ea-time-picker.style.js +1 -1
  73. package/dist/css/ea-timeline-item.style.js +1 -1
  74. package/dist/utils/Variables.js +10 -17
  75. package/dist/utils/parseTime.js +73 -0
  76. package/package.json +302 -304
  77. package/dist/components/ea-loading.js +0 -151
  78. package/dist/components/ea-statistic2.js +0 -83
@@ -1,21 +1,21 @@
1
- var _ = Object.defineProperty;
2
- var x = (t) => {
1
+ var S = Object.defineProperty;
2
+ var k = (t) => {
3
3
  throw TypeError(t);
4
4
  };
5
- var k = (t, s, e) => s in t ? _(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e;
6
- var f = (t, s, e) => k(t, typeof s != "symbol" ? s + "" : s, e), m = (t, s, e) => s.has(t) || x("Cannot " + e);
7
- var r = (t, s, e) => (m(t, s, "read from private field"), e ? e.call(t) : s.get(t)), c = (t, s, e) => s.has(t) ? x("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(t) : s.set(t, e), h = (t, s, e, i) => (m(t, s, "write to private field"), i ? i.call(t, e) : s.set(t, e), e);
8
- import { B as v } from "./Base.js";
9
- import { s as w } from "../css/ea-progress.style.js";
10
- const P = `
5
+ var P = (t, s, e) => s in t ? S(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e;
6
+ var _ = (t, s, e) => P(t, typeof s != "symbol" ? s + "" : s, e), C = (t, s, e) => s.has(t) || k("Cannot " + e);
7
+ var r = (t, s, e) => (C(t, s, "read from private field"), e ? e.call(t) : s.get(t)), p = (t, s, e) => s.has(t) ? k("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(t) : s.set(t, e), h = (t, s, e, a) => (C(t, s, "write to private field"), a ? a.call(t, e) : s.set(t, e), e), d = (t, s, e) => (C(t, s, "access private method"), e);
8
+ import { B } from "./Base.js";
9
+ import { s as A } from "../css/ea-progress.style.js";
10
+ const $ = `
11
11
  <svg viewBox="0 0 100 100">
12
12
  <circle class="ea-progress__track" part="track" cx="50" cy="50" fill="none" stroke-dasharray="302px" stroke-dashoffset="0" />
13
13
  <circle class="ea-progress__path" part="path" cx="50" cy="50" fill="none" stroke-dasharray="302px" stroke-dashoffset="0" />
14
14
  </svg>
15
- <section class="ea-progress__percentage" part="percentage">
16
- <slot></slot>
15
+ <section class="ea-progress__percentage-wrapper" part="percentage">
16
+ <slot class="ea-progress__percentage"></slot>
17
17
  </section>
18
- `, S = `
18
+ `, q = `
19
19
  <svg viewBox="0 0 100 100">
20
20
  <mask id="myMask">
21
21
  <rect class="mask" width="100%" height="20%" fill="white" />
@@ -26,29 +26,32 @@ const P = `
26
26
  <circle class="ea-progress__track" part="track" cx="50" cy="50" fill="none" clip-path="url(#myClip)" />
27
27
  <circle class="ea-progress__path" part="path" cx="50" cy="50" fill="none" clip-path="url(#myClip)" />
28
28
  </svg>
29
- <section class="ea-progress__percentage" part="percentage">
30
- <slot></slot>
29
+ <section class="ea-progress__percentage-wrapper" part="percentage">
30
+ <slot class="ea-progress__percentage"></slot>
31
31
  </section>
32
32
  `;
33
- var a, d, o, p, u;
34
- class B extends v {
33
+ var i, g, o, u, n, y, c, w, b;
34
+ class R extends B {
35
35
  constructor() {
36
36
  super();
37
+ p(this, c);
37
38
  /** @type {HTMLElement} */
38
- c(this, a);
39
+ p(this, i);
39
40
  /** @type {HTMLElement} */
40
- c(this, d);
41
+ p(this, g);
41
42
  /** @type {HTMLElement} */
42
- c(this, o);
43
+ p(this, o);
43
44
  /** @type {HTMLElement} */
44
- c(this, p);
45
- f(this, "propState", this.properties({
45
+ p(this, u);
46
+ /** @type {HTMLElement} */
47
+ p(this, n);
48
+ _(this, "propState", this.properties({
46
49
  color: {
47
50
  props: !0,
48
51
  type: {
49
52
  Array: () => {
50
- var e, i;
51
- return ((i = (e = this.props) == null ? void 0 : e.color) == null ? void 0 : i.length) > 0;
53
+ var e, a;
54
+ return ((a = (e = this.props) == null ? void 0 : e.color) == null ? void 0 : a.length) > 0;
52
55
  },
53
56
  Function: () => {
54
57
  var e;
@@ -61,51 +64,30 @@ class B extends v {
61
64
  },
62
65
  default: () => this.getAttribute("color") || "",
63
66
  observer: (e) => {
64
- r(this, u).call(this, e, e);
67
+ r(this, y).call(this, e, e);
65
68
  }
66
69
  }
67
70
  }));
68
- f(this, "state", this.properties({
71
+ _(this, "state", this.properties({
69
72
  percentage: {
70
73
  type: Number,
71
74
  default: 0,
72
75
  observer: (e) => {
73
- if (e < 0) return this.percentage = 0;
74
- if (e > 100) return this.percentage = 100;
75
- const i = this.querySelector("[data-percentage]"), n = {
76
- success: "icon-ok-circled",
77
- warning: "icon-attention-circled",
78
- exception: "icon-cancel-circled"
79
- }, l = {
80
- line: () => e + "%",
81
- circle: () => 302 * ((100 - e) / 100) + "px",
82
- dashboard: () => {
83
- const C = 49 - Number(this["stroke-width"].replace("px", "")) / 2, y = 2 * Math.PI * C, b = (100 - e) / 100;
84
- return r(this, o).style.strokeDasharray = y * (270 / 360) + "px", r(this, d).style.strokeDasharray = y * (270 / 360) + "px", y * (270 / 360) * b + "px";
85
- }
86
- };
87
- r(this, a).style.setProperty(
88
- "--ea-progress-percentage",
89
- l[this.type]()
90
- ), ["success", "exception", "warning"].includes(this.status) && !this["text-inside"] ? r(this, p).innerHTML = `<ea-icon class="ea-progress__status" icon="${n[this.status]}" part="status-icon"></ea-icon>` : r(this, p).textContent = e + "%", i && (i.textContent = this.percentage), r(this, u).call(this, this.color, e), this.emit("change", {
91
- detail: {
92
- percentage: e
93
- }
94
- });
76
+ d(this, c, b).call(this, e);
95
77
  }
96
78
  },
97
79
  type: {
98
80
  type: ["line", "circle", "dashboard"],
99
81
  default: "line",
100
82
  observer: () => {
101
- this.$render(), this.updateContainerClasslist();
83
+ this.$render(), this.updateContainerClasslist(), d(this, c, b).call(this);
102
84
  }
103
85
  },
104
86
  status: {
105
87
  type: ["success", "exception", "warning"],
106
88
  default: "",
107
89
  observer: () => {
108
- this.updateContainerClasslist();
90
+ this.updateContainerClasslist(), d(this, c, w).call(this);
109
91
  }
110
92
  },
111
93
  "stroke-width": {
@@ -116,7 +98,7 @@ class B extends v {
116
98
  return console.warn(
117
99
  `[EaProgress] The width value ${e} is not supported.`
118
100
  );
119
- r(this, a).style.setProperty("--ea-progress-stroke-width", e);
101
+ r(this, i).style.setProperty("--ea-progress-stroke-width", e);
120
102
  }
121
103
  },
122
104
  "text-inside": {
@@ -124,7 +106,7 @@ class B extends v {
124
106
  default: !1,
125
107
  observer: (e) => {
126
108
  try {
127
- e && r(this, o).appendChild(r(this, p));
109
+ e ? r(this, o).appendChild(r(this, n)) : r(this, u).appendChild(r(this, n));
128
110
  } catch {
129
111
  }
130
112
  this.updateContainerClasslist();
@@ -141,7 +123,7 @@ class B extends v {
141
123
  type: Number,
142
124
  default: 3,
143
125
  observer: (e) => {
144
- r(this, a).style.setProperty(
126
+ r(this, i).style.setProperty(
145
127
  "--ea-progress-animation-duration",
146
128
  `${e}s`
147
129
  );
@@ -165,7 +147,7 @@ class B extends v {
165
147
  type: String,
166
148
  default: "126px",
167
149
  observer: (e) => {
168
- this.type !== "line" && r(this, a).style.setProperty("--ea-progress-size", e);
150
+ this.type !== "line" && r(this, i).style.setProperty("--ea-progress-size", e);
169
151
  }
170
152
  },
171
153
  "show-text": {
@@ -181,24 +163,24 @@ class B extends v {
181
163
  * @param {string | string[] | function} color 颜色值或函数
182
164
  * @param {number} [percentage] 百分比
183
165
  */
184
- c(this, u, (e, i = this.percentage) => {
166
+ p(this, y, (e, a = this.percentage) => {
185
167
  if (!(!e || typeof e > "u"))
186
168
  if (Array.isArray(e)) {
187
- let n = e[0];
188
- for (let l = 0; l < e.length; l++) {
189
- const g = e[l];
190
- if (i <= g.percentage) {
191
- n = g;
169
+ let l = e[0];
170
+ for (let f = 0; f < e.length; f++) {
171
+ const x = e[f];
172
+ if (a <= x.percentage) {
173
+ l = x;
192
174
  break;
193
175
  }
194
176
  }
195
- r(this, o).style.setProperty("--ea-progress-path-color", n == null ? void 0 : n.color);
177
+ r(this, o).style.setProperty("--ea-progress-path-color", l == null ? void 0 : l.color);
196
178
  } else typeof e == "string" ? r(this, o).style.setProperty("--ea-progress-path-color", e) : typeof e == "function" && r(this, o).style.setProperty(
197
179
  "--ea-progress-path-color",
198
- e(i)
180
+ e(a)
199
181
  );
200
182
  });
201
- this.stylesheet = w, this.$render();
183
+ this.stylesheet = A, this.$render();
202
184
  }
203
185
  static get observedAttributes() {
204
186
  return [
@@ -230,40 +212,75 @@ class B extends v {
230
212
  },
231
213
  {
232
214
  [this.type]: this.type,
233
- indeterminate: this.indeterminate && this.type === "line" && !this["striped-flow"],
215
+ indeterminate: this.indeterminate && this.type === "line",
234
216
  "striped-flow": this["striped-flow"],
235
217
  "show-text": this["show-text"]
236
218
  }
237
219
  );
238
- return r(this, a).className = e, e;
220
+ return r(this, i).className = e, e;
239
221
  }
240
222
  $render() {
241
223
  const e = {
242
224
  line: `
243
225
  <div class='ea-progress' part='container'>
244
226
  <section class="ea-progress__track" part="track">
245
- <section class="ea-progress__path" part="path"></section>
227
+ <section class="ea-progress__path" part="path"></section>
246
228
  </section>
247
- <section class="ea-progress__percentage" part="percentage">
229
+ <section class="ea-progress__percentage-wrapper" part="percentage">
248
230
  <slot class="ea-progress__percentage"></slot>
249
231
  </section>
250
232
  </div>
251
233
  `,
252
- circle: P,
253
- dashboard: S
234
+ circle: $,
235
+ dashboard: q
254
236
  };
255
237
  this.shadowRoot.innerHTML = `
256
238
  <div class='ea-progress' part='container'>
257
239
  ${e[this.type]}
258
240
  </div>
259
- `, h(this, a, this.shadowRoot.querySelector(".ea-progress")), h(this, d, this.shadowRoot.querySelector(".ea-progress__track")), h(this, o, this.shadowRoot.querySelector(".ea-progress__path")), h(this, p, this.shadowRoot.querySelector(".ea-progress__percentage slot")), this.updateContainerClasslist();
241
+ `, h(this, i, this.shadowRoot.querySelector(".ea-progress")), h(this, g, this.shadowRoot.querySelector(".ea-progress__track")), h(this, o, this.shadowRoot.querySelector(".ea-progress__path")), h(this, u, this.shadowRoot.querySelector(
242
+ ".ea-progress__percentage-wrapper"
243
+ )), h(this, n, this.shadowRoot.querySelector(".ea-progress__percentage")), this.updateContainerClasslist();
260
244
  }
261
245
  connectedCallback() {
262
246
  super.connectedCallback();
263
247
  }
264
248
  }
265
- a = new WeakMap(), d = new WeakMap(), o = new WeakMap(), p = new WeakMap(), u = new WeakMap();
266
- window.customElements.get("ea-progress") || window.customElements.define("ea-progress", B);
249
+ i = new WeakMap(), g = new WeakMap(), o = new WeakMap(), u = new WeakMap(), n = new WeakMap(), y = new WeakMap(), c = new WeakSet(), /**
250
+ * 更新状态文本/图标
251
+ */
252
+ w = function() {
253
+ const e = {
254
+ success: "circle-check",
255
+ warning: "triangle-exclamation",
256
+ exception: "circle-xmark"
257
+ };
258
+ ["success", "exception", "warning"].includes(this.status) && !this["text-inside"] ? r(this, n).innerHTML = `<ea-icon class="ea-progress__status" name="${e[this.status]}" part="status-icon"></ea-icon>` : r(this, n).textContent = this.percentage + "%";
259
+ }, /**
260
+ * 更新进度条百分比
261
+ * @param {number} [newVal] 新的百分比值
262
+ */
263
+ b = function(e = this.percentage) {
264
+ if (e < 0) return this.percentage = 0;
265
+ if (e > 100) return this.percentage = 100;
266
+ const a = this.querySelector("[data-percentage]"), l = {
267
+ line: () => e + "%",
268
+ circle: () => 302 * ((100 - e) / 100) + "px",
269
+ dashboard: () => {
270
+ const x = 49 - Number(this["stroke-width"].replace("px", "")) / 2, m = 2 * Math.PI * x, v = (100 - e) / 100;
271
+ return r(this, o).style.strokeDasharray = m * (270 / 360) + "px", r(this, g).style.strokeDasharray = m * (270 / 360) + "px", m * (270 / 360) * v + "px";
272
+ }
273
+ };
274
+ r(this, i).style.setProperty(
275
+ "--ea-progress-percentage",
276
+ l[this.type]()
277
+ ), d(this, c, w).call(this), a && (a.textContent = this.percentage), r(this, y).call(this, this.color, e), this.emit("change", {
278
+ detail: {
279
+ percentage: e
280
+ }
281
+ });
282
+ };
283
+ window.customElements.get("ea-progress") || window.customElements.define("ea-progress", R);
267
284
  export {
268
- B as EaProgress
285
+ R as EaProgress
269
286
  };
@@ -73,7 +73,7 @@ class R extends V {
73
73
  * @param {boolean} [isSelected]
74
74
  * @returns {string}
75
75
  */
76
- default: () => () => '<ea-icon icon="icon-star" part="icon"></ea-icon>',
76
+ default: () => () => '<ea-icon name="star" part="icon"></ea-icon>',
77
77
  /** @param {Function} cb */
78
78
  observer: (t) => {
79
79
  !t || typeof t != "function" || (e(this, r).innerHTML = e(this, v).call(this, t), e(this, c).call(this, this.value - 1));
@@ -2,32 +2,32 @@ var b = Object.defineProperty;
2
2
  var h = (e) => {
3
3
  throw TypeError(e);
4
4
  };
5
- var m = (e, s, t) => s in e ? b(e, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[s] = t;
6
- var p = (e, s, t) => m(e, typeof s != "symbol" ? s + "" : s, t), _ = (e, s, t) => s.has(e) || h("Cannot " + t);
7
- var i = (e, s, t) => (_(e, s, "read from private field"), t ? t.call(e) : s.get(e)), r = (e, s, t) => s.has(e) ? h("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(e) : s.set(e, t), o = (e, s, t, d) => (_(e, s, "write to private field"), d ? d.call(e, t) : s.set(e, t), t);
8
- import { B as y } from "./Base.js";
9
- import { s as v } from "../css/ea-result.style.js";
10
- import { t as w } from "../utils/Variables.js";
11
- var l, a, n, u, c;
12
- class f extends y {
5
+ var y = (e, s, t) => s in e ? b(e, s, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[s] = t;
6
+ var p = (e, s, t) => y(e, typeof s != "symbol" ? s + "" : s, t), _ = (e, s, t) => s.has(e) || h("Cannot " + t);
7
+ var i = (e, s, t) => (_(e, s, "read from private field"), t ? t.call(e) : s.get(e)), a = (e, s, t) => s.has(e) ? h("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(e) : s.set(e, t), o = (e, s, t, d) => (_(e, s, "write to private field"), d ? d.call(e, t) : s.set(e, t), t);
8
+ import { B as v } from "./Base.js";
9
+ import { s as f } from "../css/ea-result.style.js";
10
+ import { t as m } from "../utils/Variables.js";
11
+ var l, r, n, u, c;
12
+ class w extends v {
13
13
  constructor() {
14
14
  super();
15
15
  /** @type {HTMLElement} */
16
- r(this, l);
16
+ a(this, l);
17
17
  /** @type {HTMLElement} */
18
- r(this, a);
18
+ a(this, r);
19
19
  /** @type {HTMLElement} */
20
- r(this, n);
20
+ a(this, n);
21
21
  /** @type {HTMLElement} */
22
- r(this, u);
22
+ a(this, u);
23
23
  /** @type {HTMLElement} */
24
- r(this, c);
24
+ a(this, c);
25
25
  p(this, "state", this.properties({
26
26
  type: {
27
27
  type: ["primary", "success", "warning", "info", "error"],
28
28
  default: "",
29
29
  observer: (t) => {
30
- i(this, a).setAttribute("icon", `icon-${w[t]}`), this.updateContainerClasslist();
30
+ i(this, r).setAttribute("name", m[t]), this.updateContainerClasslist();
31
31
  }
32
32
  },
33
33
  title: {
@@ -48,11 +48,11 @@ class f extends y {
48
48
  type: String,
49
49
  default: "",
50
50
  observer: (t) => {
51
- i(this, a).setAttribute("icon", t);
51
+ t ? i(this, r).setAttribute("name", t) : i(this, r).setAttribute("name", m[this.type]);
52
52
  }
53
53
  }
54
54
  }));
55
- this.stylesheet = v, this.$render();
55
+ this.stylesheet = f, this.$render();
56
56
  }
57
57
  static get observedAttributes() {
58
58
  return [...super.observedAttributes, "type", "title", "sub-title", "icon"];
@@ -85,7 +85,7 @@ class f extends y {
85
85
  <slot name="extra"></slot>
86
86
  </div>
87
87
  </div>
88
- `, o(this, l, this.shadowRoot.querySelector(".ea-result")), o(this, a, this.shadowRoot.querySelector(".ea-result__default-icon")), o(this, n, this.shadowRoot.querySelector(".ea-result__title slot")), o(this, u, this.shadowRoot.querySelector(
88
+ `, o(this, l, this.shadowRoot.querySelector(".ea-result")), o(this, r, this.shadowRoot.querySelector(".ea-result__default-icon")), o(this, n, this.shadowRoot.querySelector(".ea-result__title slot")), o(this, u, this.shadowRoot.querySelector(
89
89
  ".ea-result__sub-title slot"
90
90
  )), o(this, c, this.shadowRoot.querySelector(".ea-result__extra slot"));
91
91
  }
@@ -93,8 +93,8 @@ class f extends y {
93
93
  super.connectedCallback();
94
94
  }
95
95
  }
96
- l = new WeakMap(), a = new WeakMap(), n = new WeakMap(), u = new WeakMap(), c = new WeakMap();
97
- window.customElements.get("ea-result") || window.customElements.define("ea-result", f);
96
+ l = new WeakMap(), r = new WeakMap(), n = new WeakMap(), u = new WeakMap(), c = new WeakMap();
97
+ window.customElements.get("ea-result") || window.customElements.define("ea-result", w);
98
98
  export {
99
- f as EaResult
99
+ w as EaResult
100
100
  };