@iyulab/u-widgets 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/u-widgets.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { g as ve } from "./formdown-BWJ6QGJs.js";
2
- import { p as jt, r as Ct } from "./formdown-BWJ6QGJs.js";
2
+ import { p as Ct, r as Ot } from "./formdown-BWJ6QGJs.js";
3
3
  import { i as be } from "./infer-CNOiD2dS.js";
4
- import { t as b, f as he, n as we } from "./tokens-SjA7YdRs.js";
5
- import { css as w, LitElement as y, nothing as l, html as o } from "lit";
6
- import { property as h, customElement as x, state as S } from "lit/decorators.js";
4
+ import { f as he, n as we } from "./format-DiXp3HTj.js";
5
+ import { css as b, LitElement as w, nothing as l, html as o } from "lit";
6
+ import { property as h, customElement as y, state as S } from "lit/decorators.js";
7
+ import { t as x } from "./tokens-byMop3gk.js";
7
8
  const ye = /* @__PURE__ */ new Set([
8
9
  "text",
9
10
  "email",
@@ -38,7 +39,7 @@ const ye = /* @__PURE__ */ new Set([
38
39
  "chart.funnel",
39
40
  "chart.waterfall",
40
41
  "chart.treemap"
41
- ]), $e = /* @__PURE__ */ new Set(["metric", "gauge", "progress", "header", "code", "rating", "video"]);
42
+ ]), $e = /* @__PURE__ */ new Set(["metric", "gauge", "progress", "header", "code", "rating", "video", "math"]);
42
43
  function Z(e, t = 0) {
43
44
  const i = [], r = [];
44
45
  if (t > le)
@@ -101,7 +102,7 @@ function _e(e) {
101
102
  if (e && typeof e == "object" && !Array.isArray(e))
102
103
  return new Set(Object.keys(e));
103
104
  }
104
- function xt(e) {
105
+ function $t(e) {
105
106
  return Z(e).valid;
106
107
  }
107
108
  const ke = [
@@ -196,7 +197,7 @@ const K = {
196
197
  invalidUrl: "{label} must be a valid URL",
197
198
  invalidPattern: "{label} format is invalid"
198
199
  }, L = /* @__PURE__ */ new Map();
199
- function $t(e, t) {
200
+ function _t(e, t) {
200
201
  L.set(e.toLowerCase(), { ...K, ...t });
201
202
  }
202
203
  function fe(e) {
@@ -212,14 +213,14 @@ function A(e, t) {
212
213
  (i, r) => t[r] != null ? String(t[r]) : `{${r}}`
213
214
  );
214
215
  }
215
- function _t() {
216
+ function kt() {
216
217
  return { ...K };
217
218
  }
218
219
  let V;
219
- function kt(e) {
220
+ function zt(e) {
220
221
  V = e;
221
222
  }
222
- function zt() {
223
+ function St() {
223
224
  return V;
224
225
  }
225
226
  function Ae(e) {
@@ -249,7 +250,7 @@ function ce(e, t) {
249
250
  variant: e.variant
250
251
  };
251
252
  }
252
- let I = class extends y {
253
+ let I = class extends w {
253
254
  constructor() {
254
255
  super(...arguments), this.spec = null, this.theme = null;
255
256
  }
@@ -283,7 +284,7 @@ let I = class extends y {
283
284
  `;
284
285
  }
285
286
  };
286
- I.styles = [b, w`
287
+ I.styles = [x, b`
287
288
  :host {
288
289
  display: block;
289
290
  font-family: system-ui, -apple-system, sans-serif;
@@ -397,7 +398,7 @@ X([
397
398
  h({ type: String, reflect: !0 })
398
399
  ], I.prototype, "theme", 2);
399
400
  I = X([
400
- x("uw-metric")
401
+ y("uw-metric")
401
402
  ], I);
402
403
  var Oe = Object.defineProperty, De = Object.getOwnPropertyDescriptor, Y = (e, t, i, r) => {
403
404
  for (var a = r > 1 ? void 0 : r ? De(t, i) : t, s = e.length - 1, n; s >= 0; s--)
@@ -425,7 +426,7 @@ function pe(e, t, i, r, a) {
425
426
  const s = (r - 90) * Math.PI / 180, n = (a - 90) * Math.PI / 180, d = e + i * Math.cos(s), c = t + i * Math.sin(s), p = e + i * Math.cos(n), g = t + i * Math.sin(n), m = a - r > 180 ? 1 : 0;
426
427
  return `M ${d} ${c} A ${i} ${i} 0 ${m} 1 ${p} ${g}`;
427
428
  }
428
- let M = class extends y {
429
+ let M = class extends w {
429
430
  constructor() {
430
431
  super(...arguments), this.spec = null, this.theme = null;
431
432
  }
@@ -509,7 +510,7 @@ let M = class extends y {
509
510
  return de(i[i.length - 1].color);
510
511
  }
511
512
  };
512
- M.styles = [b, w`
513
+ M.styles = [x, b`
513
514
  :host {
514
515
  display: block;
515
516
  font-family: system-ui, -apple-system, sans-serif;
@@ -629,14 +630,14 @@ Y([
629
630
  h({ type: String, reflect: !0 })
630
631
  ], M.prototype, "theme", 2);
631
632
  M = Y([
632
- x("uw-gauge")
633
+ y("uw-gauge")
633
634
  ], M);
634
635
  var Le = Object.defineProperty, Ie = Object.getOwnPropertyDescriptor, j = (e, t, i, r) => {
635
636
  for (var a = r > 1 ? void 0 : r ? Ie(t, i) : t, s = e.length - 1, n; s >= 0; s--)
636
637
  (n = e[s]) && (a = (r ? n(t, i, a) : n(a)) || a);
637
638
  return r && a && Le(t, i, a), a;
638
639
  };
639
- let _ = class extends y {
640
+ let _ = class extends w {
640
641
  constructor() {
641
642
  super(...arguments), this.spec = null, this.theme = null, this._sortField = null, this._sortDir = null, this._page = 0, this._searchQuery = "", this._focusedIdx = 0, this._onTableKeydown = (e) => {
642
643
  const i = e.target.closest("tr");
@@ -857,7 +858,7 @@ let _ = class extends y {
857
858
  return String(e ?? "").charAt(0).toUpperCase();
858
859
  }
859
860
  };
860
- _.styles = [b, w`
861
+ _.styles = [x, b`
861
862
  :host {
862
863
  display: block;
863
864
  font-family: system-ui, -apple-system, sans-serif;
@@ -1188,14 +1189,14 @@ j([
1188
1189
  S()
1189
1190
  ], _.prototype, "_focusedIdx", 2);
1190
1191
  _ = j([
1191
- x("uw-table")
1192
+ y("uw-table")
1192
1193
  ], _);
1193
1194
  var Me = Object.defineProperty, Te = Object.getOwnPropertyDescriptor, H = (e, t, i, r) => {
1194
1195
  for (var a = r > 1 ? void 0 : r ? Te(t, i) : t, s = e.length - 1, n; s >= 0; s--)
1195
1196
  (n = e[s]) && (a = (r ? n(t, i, a) : n(a)) || a);
1196
1197
  return r && a && Me(t, i, a), a;
1197
1198
  };
1198
- let C = class extends y {
1199
+ let C = class extends w {
1199
1200
  constructor() {
1200
1201
  super(...arguments), this.spec = null, this.theme = null, this._formData = {}, this._errors = {}, this._onFormSubmit = (e) => {
1201
1202
  e.preventDefault();
@@ -1487,7 +1488,7 @@ let C = class extends y {
1487
1488
  );
1488
1489
  }
1489
1490
  };
1490
- C.styles = [b, w`
1491
+ C.styles = [x, b`
1491
1492
  :host {
1492
1493
  display: block;
1493
1494
  font-family: system-ui, -apple-system, sans-serif;
@@ -1718,14 +1719,14 @@ H([
1718
1719
  S()
1719
1720
  ], C.prototype, "_errors", 2);
1720
1721
  C = H([
1721
- x("uw-form")
1722
+ y("uw-form")
1722
1723
  ], C);
1723
1724
  var Ne = Object.defineProperty, Fe = Object.getOwnPropertyDescriptor, ee = (e, t, i, r) => {
1724
1725
  for (var a = r > 1 ? void 0 : r ? Fe(t, i) : t, s = e.length - 1, n; s >= 0; s--)
1725
1726
  (n = e[s]) && (a = (r ? n(t, i, a) : n(a)) || a);
1726
1727
  return r && a && Ne(t, i, a), a;
1727
1728
  };
1728
- let T = class extends y {
1729
+ let T = class extends w {
1729
1730
  constructor() {
1730
1731
  super(...arguments), this.spec = null, this.theme = null;
1731
1732
  }
@@ -1765,7 +1766,7 @@ let T = class extends y {
1765
1766
  return r ? o`<div class=${d} style=${r} part="child">${n}</div>` : o`<div class=${d} part="child">${n}</div>`;
1766
1767
  }
1767
1768
  };
1768
- T.styles = [b, w`
1769
+ T.styles = [x, b`
1769
1770
  :host {
1770
1771
  display: block;
1771
1772
  container: uw-compose / inline-size;
@@ -1873,14 +1874,14 @@ ee([
1873
1874
  h({ type: String, reflect: !0 })
1874
1875
  ], T.prototype, "theme", 2);
1875
1876
  T = ee([
1876
- x("uw-compose")
1877
+ y("uw-compose")
1877
1878
  ], T);
1878
1879
  var Ue = Object.defineProperty, Re = Object.getOwnPropertyDescriptor, te = (e, t, i, r) => {
1879
1880
  for (var a = r > 1 ? void 0 : r ? Re(t, i) : t, s = e.length - 1, n; s >= 0; s--)
1880
1881
  (n = e[s]) && (a = (r ? n(t, i, a) : n(a)) || a);
1881
1882
  return r && a && Ue(t, i, a), a;
1882
1883
  };
1883
- let N = class extends y {
1884
+ let N = class extends w {
1884
1885
  constructor() {
1885
1886
  super(...arguments), this.spec = null, this.theme = null;
1886
1887
  }
@@ -1948,7 +1949,7 @@ let N = class extends y {
1948
1949
  return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1949
1950
  }
1950
1951
  };
1951
- N.styles = [b, w`
1952
+ N.styles = [x, b`
1952
1953
  :host {
1953
1954
  display: block;
1954
1955
  font-family: system-ui, -apple-system, sans-serif;
@@ -2132,14 +2133,14 @@ te([
2132
2133
  h({ type: String, reflect: !0 })
2133
2134
  ], N.prototype, "theme", 2);
2134
2135
  N = te([
2135
- x("uw-content")
2136
+ y("uw-content")
2136
2137
  ], N);
2137
2138
  var qe = Object.defineProperty, We = Object.getOwnPropertyDescriptor, re = (e, t, i, r) => {
2138
2139
  for (var a = r > 1 ? void 0 : r ? We(t, i) : t, s = e.length - 1, n; s >= 0; s--)
2139
2140
  (n = e[s]) && (a = (r ? n(t, i, a) : n(a)) || a);
2140
2141
  return r && a && qe(t, i, a), a;
2141
2142
  };
2142
- let F = class extends y {
2143
+ let F = class extends w {
2143
2144
  constructor() {
2144
2145
  super(...arguments), this.spec = null, this.theme = null;
2145
2146
  }
@@ -2170,7 +2171,7 @@ let F = class extends y {
2170
2171
  return e ? Array.isArray(e) ? e.filter((t) => t != null && typeof t == "object" && "key" in t && "value" in t).map((t) => [String(t.key), t.value]) : typeof e == "object" ? Object.entries(e) : [] : [];
2171
2172
  }
2172
2173
  };
2173
- F.styles = [b, w`
2174
+ F.styles = [x, b`
2174
2175
  :host {
2175
2176
  display: block;
2176
2177
  font-family: system-ui, -apple-system, sans-serif;
@@ -2271,7 +2272,7 @@ re([
2271
2272
  h({ type: String, reflect: !0 })
2272
2273
  ], F.prototype, "theme", 2);
2273
2274
  F = re([
2274
- x("uw-kv")
2275
+ y("uw-kv")
2275
2276
  ], F);
2276
2277
  var Be = Object.defineProperty, He = Object.getOwnPropertyDescriptor, G = (e, t, i, r) => {
2277
2278
  for (var a = r > 1 ? void 0 : r ? He(t, i) : t, s = e.length - 1, n; s >= 0; s--)
@@ -2434,7 +2435,7 @@ function Ze(e) {
2434
2435
  }
2435
2436
  return t;
2436
2437
  }
2437
- let D = class extends y {
2438
+ let D = class extends w {
2438
2439
  constructor() {
2439
2440
  super(...arguments), this.spec = null, this.theme = null, this._copied = !1;
2440
2441
  }
@@ -2481,7 +2482,7 @@ let D = class extends y {
2481
2482
  }
2482
2483
  }
2483
2484
  };
2484
- D.styles = [b, w`
2485
+ D.styles = [x, b`
2485
2486
  :host {
2486
2487
  display: block;
2487
2488
  font-family: system-ui, -apple-system, sans-serif;
@@ -2594,14 +2595,14 @@ G([
2594
2595
  S()
2595
2596
  ], D.prototype, "_copied", 2);
2596
2597
  D = G([
2597
- x("uw-code")
2598
+ y("uw-code")
2598
2599
  ], D);
2599
2600
  var Xe = Object.defineProperty, Ye = Object.getOwnPropertyDescriptor, ae = (e, t, i, r) => {
2600
2601
  for (var a = r > 1 ? void 0 : r ? Ye(t, i) : t, s = e.length - 1, n; s >= 0; s--)
2601
2602
  (n = e[s]) && (a = (r ? n(t, i, a) : n(a)) || a);
2602
2603
  return r && a && Xe(t, i, a), a;
2603
2604
  };
2604
- let U = class extends y {
2605
+ let U = class extends w {
2605
2606
  constructor() {
2606
2607
  super(...arguments), this.spec = null, this.theme = null;
2607
2608
  }
@@ -2688,7 +2689,7 @@ let U = class extends y {
2688
2689
  return [];
2689
2690
  }
2690
2691
  };
2691
- U.styles = [b, w`
2692
+ U.styles = [x, b`
2692
2693
  :host {
2693
2694
  display: block;
2694
2695
  font-family: system-ui, -apple-system, sans-serif;
@@ -2792,7 +2793,7 @@ ae([
2792
2793
  h({ type: String, reflect: !0 })
2793
2794
  ], U.prototype, "theme", 2);
2794
2795
  U = ae([
2795
- x("uw-citation")
2796
+ y("uw-citation")
2796
2797
  ], U);
2797
2798
  var et = Object.defineProperty, tt = Object.getOwnPropertyDescriptor, ie = (e, t, i, r) => {
2798
2799
  for (var a = r > 1 ? void 0 : r ? tt(t, i) : t, s = e.length - 1, n; s >= 0; s--)
@@ -2811,7 +2812,7 @@ const rt = /* @__PURE__ */ new Set(["info", "success", "warning", "error", "neut
2811
2812
  neutral: "○"
2812
2813
  // ○
2813
2814
  };
2814
- let R = class extends y {
2815
+ let R = class extends w {
2815
2816
  constructor() {
2816
2817
  super(...arguments), this.spec = null, this.theme = null;
2817
2818
  }
@@ -2856,7 +2857,7 @@ let R = class extends y {
2856
2857
  return rt.has(t) ? t : "info";
2857
2858
  }
2858
2859
  };
2859
- R.styles = [b, w`
2860
+ R.styles = [x, b`
2860
2861
  :host {
2861
2862
  display: block;
2862
2863
  font-family: system-ui, -apple-system, sans-serif;
@@ -2928,7 +2929,7 @@ ie([
2928
2929
  h({ type: String, reflect: !0 })
2929
2930
  ], R.prototype, "theme", 2);
2930
2931
  R = ie([
2931
- x("uw-status")
2932
+ y("uw-status")
2932
2933
  ], R);
2933
2934
  var it = Object.defineProperty, st = Object.getOwnPropertyDescriptor, se = (e, t, i, r) => {
2934
2935
  for (var a = r > 1 ? void 0 : r ? st(t, i) : t, s = e.length - 1, n; s >= 0; s--)
@@ -2949,7 +2950,7 @@ function ge(e, t) {
2949
2950
  return o`<svg class="step-svg" viewBox="0 0 16 16" fill="currentColor"><path d="M4.47 4.47a.75.75 0 0 1 1.06 0L8 6.94l2.47-2.47a.75.75 0 1 1 1.06 1.06L9.06 8l2.47 2.47a.75.75 0 1 1-1.06 1.06L8 9.06l-2.47 2.47a.75.75 0 0 1-1.06-1.06L6.94 8 4.47 5.53a.75.75 0 0 1 0-1.06Z"/></svg>`;
2950
2951
  }
2951
2952
  }
2952
- let q = class extends y {
2953
+ let q = class extends w {
2953
2954
  constructor() {
2954
2955
  super(...arguments), this.spec = null, this.theme = null;
2955
2956
  }
@@ -3015,7 +3016,7 @@ let q = class extends y {
3015
3016
  return nt.has(t) ? t : "pending";
3016
3017
  }
3017
3018
  };
3018
- q.styles = [b, w`
3019
+ q.styles = [x, b`
3019
3020
  :host {
3020
3021
  display: block;
3021
3022
  font-family: system-ui, -apple-system, sans-serif;
@@ -3254,7 +3255,7 @@ se([
3254
3255
  h({ type: String, reflect: !0 })
3255
3256
  ], q.prototype, "theme", 2);
3256
3257
  q = se([
3257
- x("uw-steps")
3258
+ y("uw-steps")
3258
3259
  ], q);
3259
3260
  var ot = Object.defineProperty, lt = Object.getOwnPropertyDescriptor, J = (e, t, i, r) => {
3260
3261
  for (var a = r > 1 ? void 0 : r ? lt(t, i) : t, s = e.length - 1, n; s >= 0; s--)
@@ -3269,7 +3270,7 @@ const ct = {
3269
3270
  thumb: ["👍", "👍", "👍"]
3270
3271
  // 👍
3271
3272
  };
3272
- let E = class extends y {
3273
+ let E = class extends w {
3273
3274
  constructor() {
3274
3275
  super(...arguments), this.spec = null, this.theme = null, this._hoverIdx = -1;
3275
3276
  }
@@ -3347,7 +3348,7 @@ let E = class extends y {
3347
3348
  return t === "heart" || t === "thumb" ? t : "star";
3348
3349
  }
3349
3350
  };
3350
- E.styles = [b, w`
3351
+ E.styles = [x, b`
3351
3352
  :host {
3352
3353
  display: block;
3353
3354
  font-family: system-ui, -apple-system, sans-serif;
@@ -3463,14 +3464,14 @@ J([
3463
3464
  S()
3464
3465
  ], E.prototype, "_hoverIdx", 2);
3465
3466
  E = J([
3466
- x("uw-rating")
3467
+ y("uw-rating")
3467
3468
  ], E);
3468
3469
  var dt = Object.defineProperty, pt = Object.getOwnPropertyDescriptor, ne = (e, t, i, r) => {
3469
3470
  for (var a = r > 1 ? void 0 : r ? pt(t, i) : t, s = e.length - 1, n; s >= 0; s--)
3470
3471
  (n = e[s]) && (a = (r ? n(t, i, a) : n(a)) || a);
3471
3472
  return r && a && dt(t, i, a), a;
3472
3473
  };
3473
- let W = class extends y {
3474
+ let W = class extends w {
3474
3475
  constructor() {
3475
3476
  super(...arguments), this.spec = null, this.theme = null;
3476
3477
  }
@@ -3504,7 +3505,7 @@ let W = class extends y {
3504
3505
  return /^(javascript|data|vbscript):/i.test(t) ? "" : e;
3505
3506
  }
3506
3507
  };
3507
- W.styles = [b, w`
3508
+ W.styles = [x, b`
3508
3509
  :host {
3509
3510
  display: block;
3510
3511
  font-family: system-ui, -apple-system, sans-serif;
@@ -3545,14 +3546,14 @@ ne([
3545
3546
  h({ type: String, reflect: !0 })
3546
3547
  ], W.prototype, "theme", 2);
3547
3548
  W = ne([
3548
- x("uw-video")
3549
+ y("uw-video")
3549
3550
  ], W);
3550
3551
  var ut = Object.defineProperty, gt = Object.getOwnPropertyDescriptor, oe = (e, t, i, r) => {
3551
3552
  for (var a = r > 1 ? void 0 : r ? gt(t, i) : t, s = e.length - 1, n; s >= 0; s--)
3552
3553
  (n = e[s]) && (a = (r ? n(t, i, a) : n(a)) || a);
3553
3554
  return r && a && ut(t, i, a), a;
3554
3555
  };
3555
- let B = class extends y {
3556
+ let B = class extends w {
3556
3557
  constructor() {
3557
3558
  super(...arguments), this.spec = null, this.theme = null;
3558
3559
  }
@@ -3593,7 +3594,7 @@ let B = class extends y {
3593
3594
  return /^(javascript|data|vbscript):/i.test(t) ? "" : e;
3594
3595
  }
3595
3596
  };
3596
- B.styles = [b, w`
3597
+ B.styles = [x, b`
3597
3598
  :host {
3598
3599
  display: block;
3599
3600
  font-family: system-ui, -apple-system, sans-serif;
@@ -3638,14 +3639,14 @@ oe([
3638
3639
  h({ type: String, reflect: !0 })
3639
3640
  ], B.prototype, "theme", 2);
3640
3641
  B = oe([
3641
- x("uw-gallery")
3642
+ y("uw-gallery")
3642
3643
  ], B);
3643
3644
  var ht = Object.defineProperty, ft = Object.getOwnPropertyDescriptor, Q = (e, t, i, r) => {
3644
3645
  for (var a = r > 1 ? void 0 : r ? ft(t, i) : t, s = e.length - 1, n; s >= 0; s--)
3645
3646
  (n = e[s]) && (a = (r ? n(t, i, a) : n(a)) || a);
3646
3647
  return r && a && ht(t, i, a), a;
3647
3648
  };
3648
- let P = class extends y {
3649
+ let P = class extends w {
3649
3650
  constructor() {
3650
3651
  super(...arguments), this.spec = null, this.theme = null, this.locale = null, this._handleInternalEvent = (e) => {
3651
3652
  e.stopPropagation(), this.dispatchEvent(
@@ -3745,6 +3746,10 @@ let P = class extends y {
3745
3746
  c = o`<uw-chart .spec=${r} theme=${s ?? l}></uw-chart>`;
3746
3747
  break;
3747
3748
  }
3749
+ if (t === "math" && customElements.get("uw-math")) {
3750
+ c = o`<uw-math .spec=${r} theme=${s ?? l}></uw-math>`;
3751
+ break;
3752
+ }
3748
3753
  return this.renderFallback(r);
3749
3754
  }
3750
3755
  const g = !(t === "header" || t === "actions" || t === "divider" || t === "compose") && r.title ? o`<div class="widget-title" part="title">${r.title}</div>` : l;
@@ -3842,8 +3847,8 @@ let P = class extends y {
3842
3847
  }
3843
3848
  };
3844
3849
  P.styles = [
3845
- b,
3846
- w`
3850
+ x,
3851
+ b`
3847
3852
  :host {
3848
3853
  display: block;
3849
3854
  container: u-widget / inline-size;
@@ -4042,24 +4047,24 @@ Q([
4042
4047
  h({ type: String, reflect: !0 })
4043
4048
  ], P.prototype, "locale", 2);
4044
4049
  P = Q([
4045
- x("u-widget")
4050
+ y("u-widget")
4046
4051
  ], P);
4047
4052
  export {
4048
4053
  P as UWidget,
4049
4054
  A as formatTemplate,
4050
4055
  he as formatValue,
4051
- _t as getDefaultLocale,
4052
- zt as getEffectiveLocale,
4056
+ kt as getDefaultLocale,
4057
+ St as getEffectiveLocale,
4053
4058
  ve as getFormdownParser,
4054
4059
  fe as getLocaleStrings,
4055
4060
  be as infer,
4056
- xt as isWidgetSpec,
4061
+ $t as isWidgetSpec,
4057
4062
  we as normalize,
4058
- jt as parseFormdown,
4059
- Ct as registerFormdownParser,
4060
- $t as registerLocale,
4063
+ Ct as parseFormdown,
4064
+ Ot as registerFormdownParser,
4065
+ _t as registerLocale,
4061
4066
  Ae as resolveLocale,
4062
- kt as setDefaultLocale,
4067
+ zt as setDefaultLocale,
4063
4068
  ze as suggestWidget,
4064
4069
  Z as validate
4065
4070
  };