@golemui/gui-lit 1.3.0-rc.0 → 1.4.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/accordion.element-BEenQrCh.js +102 -0
  3. package/{alert.element-CHn49Yaf.js → alert.element-Dzv49O-1.js} +19 -19
  4. package/{button.element-C9fHivSw.js → button.element-CKYv0Glr.js} +14 -14
  5. package/{calendar.element-XkojKTJk.js → calendar.element-DkHZFBNr.js} +16 -16
  6. package/{checkbox.element-DU_tVMXu.js → checkbox.element-MukoziRw.js} +16 -16
  7. package/{currency.element-BmAH5KS_.js → currency.element-DNumeSKA.js} +13 -13
  8. package/{date-picker.element-Bg3rF95F.js → date-picker.element-DpQmremq.js} +5 -5
  9. package/{date-time-calendar.element-sywQCeQQ.js → date-time-calendar.element-GAr8VMGa.js} +5 -5
  10. package/{date-time-picker.element-HHpwjWTQ.js → date-time-picker.element-Bt0GYSpS.js} +5 -5
  11. package/{date-time.element-ucETvSTC.js → date-time.element-WfLnY_Cb.js} +14 -14
  12. package/{date.element-BEHGxRFF.js → date.element-ChpTi2AQ.js} +15 -15
  13. package/default-multi-list-item-renderer-Cv-guvEX.js +31 -0
  14. package/{dropdown.element-Dg80G2PL.js → dropdown.element-D9wMyqWQ.js} +76 -55
  15. package/{flex.element-pwba7621.js → flex.element-DiZWJBwt.js} +14 -14
  16. package/{grid.element-C8K7_Qi3.js → grid.element-DJ9ACsqZ.js} +22 -22
  17. package/index.js +79 -77
  18. package/index.umd.cjs +374 -117
  19. package/lib/components/accordion.element.d.ts +3 -2
  20. package/lib/components/default-multi-list-item-renderer.d.ts +2 -0
  21. package/lib/components/dropdown.element.d.ts +3 -2
  22. package/lib/components/multi-dropdown.element.d.ts +48 -0
  23. package/lib/components/multi-list.element.d.ts +27 -0
  24. package/lib/components/tabs.element.d.ts +3 -0
  25. package/{list.element-ZtEMKE2x.js → list.element-DD5IL4QB.js} +7 -7
  26. package/{markdown-text.element-DDm36qD0.js → markdown-text.element-DflCQwAo.js} +16 -16
  27. package/{markdown.element-DWz3U9rG.js → markdown.element-DUHHoi2Y.js} +13 -13
  28. package/multi-dropdown.element-iEOlPvux.js +312 -0
  29. package/multi-list.element-CCX3i3k6.js +162 -0
  30. package/{number.element-VkG5wScD.js → number.element-mQSFQsYC.js} +16 -16
  31. package/package.json +6 -6
  32. package/{password.element-C5vQHq5P.js → password.element-xw5gugEg.js} +13 -13
  33. package/{radiogroup.element-CKdO9HwO.js → radiogroup.element-TqfrxVyI.js} +15 -15
  34. package/{range-calendar.element-BznGrej5.js → range-calendar.element-BJr97SVA.js} +13 -5
  35. package/{range-date-input.element-BloTHRDl.js → range-date-input.element-DDRYvP9h.js} +23 -15
  36. package/{range-date-picker.element-DKhwFasW.js → range-date-picker.element-rdEr0_wu.js} +25 -17
  37. package/{range-date-time-calendar.element-CZCET-sb.js → range-date-time-calendar.element-UlL1BBRJ.js} +25 -17
  38. package/{range-date-time-input.element-Dr2VrYhG.js → range-date-time-input.element-Cq4IdW7N.js} +17 -9
  39. package/{range-date-time-picker.element-CYeIMWLp.js → range-date-time-picker.element-CnJcIN9C.js} +27 -19
  40. package/{range-time-input.element-7OZhPQqx.js → range-time-input.element-Cq0TrGe9.js} +17 -9
  41. package/{range-time-picker.element-D0mRFZkK.js → range-time-picker.element-BzlIuZ6m.js} +24 -16
  42. package/{renderer.element-DbsFoBba.js → renderer.element-BVwerbtL.js} +15 -15
  43. package/repeater.element-DQNI4b7I.js +133 -0
  44. package/{select.element-Bb_9jAVB.js → select.element-RBtbAvLx.js} +12 -11
  45. package/tabs.element-BiVaQlvt.js +171 -0
  46. package/{tags.element-BSN3i9Gx.js → tags.element-CGvxhMmX.js} +18 -19
  47. package/{textarea.element-Dl1ZEOqO.js → textarea.element-E2ntRBtE.js} +13 -13
  48. package/{textinput.element-C5Vbbkxq.js → textinput.element-0q5F5ol3.js} +16 -16
  49. package/{time-picker.element-Crmj9YDy.js → time-picker.element-BiLaLr_c.js} +5 -5
  50. package/{time.element-DfSeAZp4.js → time.element-92goKRwJ.js} +15 -15
  51. package/{toggle.element-ORsprZ2M.js → toggle.element-zDUc9Vja.js} +16 -16
  52. package/accordion.element-C9GzfKrY.js +0 -103
  53. package/repeater.element-DGEbwvhY.js +0 -138
  54. package/tabs.element-BYDNF_pm.js +0 -161
@@ -1,18 +1,18 @@
1
- import { InputWidgetAdapter as d, formContext as m, inputContext as n } from "@golemui/lit";
1
+ import { InputWidgetAdapter as p, formContext as m, inputContext as n } from "@golemui/lit";
2
2
  import "@golemui/gui-components/range-date-time-input";
3
3
  import { consume as o, provide as h } from "@lit/context";
4
4
  import { LitElement as u, html as D } from "lit";
5
5
  import { property as c } from "lit/decorators.js";
6
- import { safeDefine as b } from "@golemui/lit/internals";
6
+ import { unsubscribeAll as b, safeDefine as $ } from "@golemui/lit/internals";
7
7
  import "rxjs";
8
- var $ = Object.defineProperty, l = (i, e, t, g) => {
9
- for (var a = void 0, r = i.length - 1, p; r >= 0; r--)
10
- (p = i[r]) && (a = p(e, t, a) || a);
11
- return a && $(e, t, a), a;
8
+ var g = Object.defineProperty, l = (i, e, t, L) => {
9
+ for (var a = void 0, r = i.length - 1, d; r >= 0; r--)
10
+ (d = i[r]) && (a = d(e, t, a) || a);
11
+ return a && g(e, t, a), a;
12
12
  };
13
13
  class s extends u {
14
14
  constructor() {
15
- super(...arguments), this.adapter = new d(), this.subscriptions = [];
15
+ super(...arguments), this.adapter = new p(), this.subscriptions = [];
16
16
  }
17
17
  createRenderRoot() {
18
18
  return this;
@@ -59,6 +59,14 @@ class s extends u {
59
59
  .minDateTimeMessage=${this.adapter.templateData.minDateTimeMessage}
60
60
  .maxDateTimeMessage=${this.adapter.templateData.maxDateTimeMessage}
61
61
  .incompleteMessage=${this.adapter.templateData.incompleteMessage}
62
+ ?allow-edit=${this.adapter.templateData.allowEdit}
63
+ .editLabel=${this.adapter.templateData.editLabel}
64
+ .editAriaLabel=${this.adapter.templateData.editAriaLabel}
65
+ .confirmEditLabel=${this.adapter.templateData.confirmEditLabel}
66
+ .cancelEditLabel=${this.adapter.templateData.cancelEditLabel}
67
+ .editStartedMessage=${this.adapter.templateData.editStartedMessage}
68
+ .editCommittedMessage=${this.adapter.templateData.editCommittedMessage}
69
+ .editCancelledMessage=${this.adapter.templateData.editCancelledMessage}
62
70
  @change=${this.valueChanged}
63
71
  @inputError=${this.onInputError}
64
72
  ></gui-range-date-time>
@@ -71,7 +79,7 @@ class s extends u {
71
79
  this.adapter.injectValidationIssues([e.detail.message]);
72
80
  }
73
81
  disconnectedCallback() {
74
- super.disconnectedCallback(), this.adapter.destroy(), this.subscriptions.forEach((e) => e.unsubscribe());
82
+ super.disconnectedCallback(), this.adapter.destroy(), b(this.subscriptions);
75
83
  }
76
84
  }
77
85
  l([
@@ -81,7 +89,7 @@ l([
81
89
  l([
82
90
  h({ context: n })
83
91
  ], s.prototype, "adapter");
84
- b("gui-range-date-time-input", s);
92
+ $("gui-range-date-time-input", s);
85
93
  export {
86
94
  s as RangeDateTimeInputElement
87
95
  };
@@ -1,18 +1,18 @@
1
- import { InputWidgetAdapter as l, formContext as d, inputContext as m } from "@golemui/lit";
1
+ import { InputWidgetAdapter as o, formContext as d, inputContext as m } from "@golemui/lit";
2
2
  import "@golemui/gui-components/range-date-time-picker";
3
- import { consume as p, provide as u } from "@lit/context";
4
- import { LitElement as b, html as h } from "lit";
5
- import { property as $ } from "lit/decorators.js";
6
- import { safeDefine as c } from "@golemui/lit/internals";
3
+ import { consume as b, provide as p } from "@lit/context";
4
+ import { LitElement as u, html as $ } from "lit";
5
+ import { property as c } from "lit/decorators.js";
6
+ import { unsubscribeAll as h, safeDefine as g } from "@golemui/lit/internals";
7
7
  import "rxjs";
8
- var g = Object.defineProperty, o = (i, e, t, L) => {
9
- for (var a = void 0, r = i.length - 1, n; r >= 0; r--)
10
- (n = i[r]) && (a = n(e, t, a) || a);
11
- return a && g(e, t, a), a;
8
+ var L = Object.defineProperty, n = (i, e, t, A) => {
9
+ for (var a = void 0, r = i.length - 1, l; r >= 0; r--)
10
+ (l = i[r]) && (a = l(e, t, a) || a);
11
+ return a && L(e, t, a), a;
12
12
  };
13
- class s extends b {
13
+ class s extends u {
14
14
  constructor() {
15
- super(...arguments), this.adapter = new l(), this.subscriptions = [];
15
+ super(...arguments), this.adapter = new o(), this.subscriptions = [];
16
16
  }
17
17
  createRenderRoot() {
18
18
  return this;
@@ -30,7 +30,7 @@ class s extends b {
30
30
  render() {
31
31
  super.render();
32
32
  const e = this.adapter.templateData;
33
- return h`
33
+ return $`
34
34
  <gui-range-date-time-picker
35
35
  .uid=${this.widget.uid}
36
36
  .label=${e.label}
@@ -78,6 +78,14 @@ class s extends b {
78
78
  .disabledRangeMessage=${e.disabledRangeMessage}
79
79
  .noAvailableTimesMessage=${e.noAvailableTimesMessage}
80
80
  .incompleteMessage=${e.incompleteMessage}
81
+ ?allow-edit=${e.allowEdit}
82
+ .editLabel=${e.editLabel}
83
+ .editAriaLabel=${e.editAriaLabel}
84
+ .confirmEditLabel=${e.confirmEditLabel}
85
+ .cancelEditLabel=${e.cancelEditLabel}
86
+ .editStartedMessage=${e.editStartedMessage}
87
+ .editCommittedMessage=${e.editCommittedMessage}
88
+ .editCancelledMessage=${e.editCancelledMessage}
81
89
  .dayCountAriaLabel=${e.dayCountAriaLabel}
82
90
  .disabledDayCountAriaLabel=${e.disabledDayCountAriaLabel}
83
91
  @change=${this.valueChanged}
@@ -93,17 +101,17 @@ class s extends b {
93
101
  this.adapter.injectValidationIssues([e.detail.message]), this.adapter.onBlur();
94
102
  }
95
103
  disconnectedCallback() {
96
- super.disconnectedCallback(), this.adapter.destroy(), this.subscriptions.forEach((e) => e.unsubscribe());
104
+ super.disconnectedCallback(), this.adapter.destroy(), h(this.subscriptions);
97
105
  }
98
106
  }
99
- o([
100
- p({ context: d }),
101
- $({ attribute: !1 })
107
+ n([
108
+ b({ context: d }),
109
+ c({ attribute: !1 })
102
110
  ], s.prototype, "formContext");
103
- o([
104
- u({ context: m })
111
+ n([
112
+ p({ context: m })
105
113
  ], s.prototype, "adapter");
106
- c("gui-range-date-time-picker-input", s);
114
+ g("gui-range-date-time-picker-input", s);
107
115
  export {
108
116
  s as RangeDateTimePickerElement
109
117
  };
@@ -3,12 +3,12 @@ import "@golemui/gui-components/range-time-input";
3
3
  import { consume as o, provide as h } from "@lit/context";
4
4
  import { LitElement as u, html as c } from "lit";
5
5
  import { property as g } from "lit/decorators.js";
6
- import { safeDefine as b } from "@golemui/lit/internals";
6
+ import { unsubscribeAll as b, safeDefine as $ } from "@golemui/lit/internals";
7
7
  import "rxjs";
8
- var $ = Object.defineProperty, d = (r, e, a, D) => {
9
- for (var t = void 0, i = r.length - 1, p; i >= 0; i--)
10
- (p = r[i]) && (t = p(e, a, t) || t);
11
- return t && $(e, a, t), t;
8
+ var D = Object.defineProperty, p = (i, e, a, f) => {
9
+ for (var t = void 0, r = i.length - 1, d; r >= 0; r--)
10
+ (d = i[r]) && (t = d(e, a, t) || t);
11
+ return t && D(e, a, t), t;
12
12
  };
13
13
  class s extends u {
14
14
  constructor() {
@@ -56,6 +56,14 @@ class s extends u {
56
56
  .maxTimeMessage=${this.adapter.templateData.maxTimeMessage}
57
57
  .rangeOrderMessage=${this.adapter.templateData.rangeOrderMessage}
58
58
  .incompleteMessage=${this.adapter.templateData.incompleteMessage}
59
+ ?allow-edit=${this.adapter.templateData.allowEdit}
60
+ .editLabel=${this.adapter.templateData.editLabel}
61
+ .editAriaLabel=${this.adapter.templateData.editAriaLabel}
62
+ .confirmEditLabel=${this.adapter.templateData.confirmEditLabel}
63
+ .cancelEditLabel=${this.adapter.templateData.cancelEditLabel}
64
+ .editStartedMessage=${this.adapter.templateData.editStartedMessage}
65
+ .editCommittedMessage=${this.adapter.templateData.editCommittedMessage}
66
+ .editCancelledMessage=${this.adapter.templateData.editCancelledMessage}
59
67
  @change=${this.valueChanged}
60
68
  @inputError=${this.onInputError}
61
69
  ></gui-range-time>
@@ -68,17 +76,17 @@ class s extends u {
68
76
  this.adapter.injectValidationIssues([e.detail.message]);
69
77
  }
70
78
  disconnectedCallback() {
71
- super.disconnectedCallback(), this.adapter.destroy(), this.subscriptions.forEach((e) => e.unsubscribe());
79
+ super.disconnectedCallback(), this.adapter.destroy(), b(this.subscriptions);
72
80
  }
73
81
  }
74
- d([
82
+ p([
75
83
  o({ context: m }),
76
84
  g({ attribute: !1 })
77
85
  ], s.prototype, "formContext");
78
- d([
86
+ p([
79
87
  h({ context: n })
80
88
  ], s.prototype, "adapter");
81
- b("gui-range-time-input", s);
89
+ $("gui-range-time-input", s);
82
90
  export {
83
91
  s as RangeTimeInputElement
84
92
  };
@@ -1,18 +1,18 @@
1
- import { InputWidgetAdapter as o, formContext as d, inputContext as m } from "@golemui/lit";
1
+ import { InputWidgetAdapter as n, formContext as o, inputContext as m } from "@golemui/lit";
2
2
  import "@golemui/gui-components/range-time-picker";
3
3
  import { consume as p, provide as u } from "@lit/context";
4
- import { LitElement as g, html as h } from "lit";
5
- import { property as c } from "lit/decorators.js";
6
- import { safeDefine as b } from "@golemui/lit/internals";
4
+ import { LitElement as g, html as c } from "lit";
5
+ import { property as b } from "lit/decorators.js";
6
+ import { unsubscribeAll as $, safeDefine as h } from "@golemui/lit/internals";
7
7
  import "rxjs";
8
- var $ = Object.defineProperty, l = (i, e, t, f) => {
9
- for (var a = void 0, r = i.length - 1, n; r >= 0; r--)
10
- (n = i[r]) && (a = n(e, t, a) || a);
11
- return a && $(e, t, a), a;
8
+ var L = Object.defineProperty, d = (i, e, t, f) => {
9
+ for (var a = void 0, r = i.length - 1, l; r >= 0; r--)
10
+ (l = i[r]) && (a = l(e, t, a) || a);
11
+ return a && L(e, t, a), a;
12
12
  };
13
13
  class s extends g {
14
14
  constructor() {
15
- super(...arguments), this.adapter = new o(), this.subscriptions = [];
15
+ super(...arguments), this.adapter = new n(), this.subscriptions = [];
16
16
  }
17
17
  createRenderRoot() {
18
18
  return this;
@@ -30,7 +30,7 @@ class s extends g {
30
30
  render() {
31
31
  super.render();
32
32
  const e = this.adapter.templateData;
33
- return h`
33
+ return c`
34
34
  <gui-range-time-picker
35
35
  .uid=${this.widget.uid}
36
36
  .label=${e.label}
@@ -67,6 +67,14 @@ class s extends g {
67
67
  .disabledRangeMessage=${e.disabledRangeMessage}
68
68
  .noAvailableTimesMessage=${e.noAvailableTimesMessage}
69
69
  .incompleteMessage=${e.incompleteMessage}
70
+ ?allow-edit=${e.allowEdit}
71
+ .editLabel=${e.editLabel}
72
+ .editAriaLabel=${e.editAriaLabel}
73
+ .confirmEditLabel=${e.confirmEditLabel}
74
+ .cancelEditLabel=${e.cancelEditLabel}
75
+ .editStartedMessage=${e.editStartedMessage}
76
+ .editCommittedMessage=${e.editCommittedMessage}
77
+ .editCancelledMessage=${e.editCancelledMessage}
70
78
  @inputError=${this.onInputError}
71
79
  @blur=${() => this.adapter.onBlur()}
72
80
  @change=${this.valueChanged}
@@ -80,17 +88,17 @@ class s extends g {
80
88
  this.adapter.injectValidationIssues([e.detail.message]);
81
89
  }
82
90
  disconnectedCallback() {
83
- super.disconnectedCallback(), this.adapter.destroy(), this.subscriptions.forEach((e) => e.unsubscribe());
91
+ super.disconnectedCallback(), this.adapter.destroy(), $(this.subscriptions);
84
92
  }
85
93
  }
86
- l([
87
- p({ context: d }),
88
- c({ attribute: !1 })
94
+ d([
95
+ p({ context: o }),
96
+ b({ attribute: !1 })
89
97
  ], s.prototype, "formContext");
90
- l([
98
+ d([
91
99
  u({ context: m })
92
100
  ], s.prototype, "adapter");
93
- b("gui-range-time-picker-input", s);
101
+ h("gui-range-time-picker-input", s);
94
102
  export {
95
103
  s as RangeTimePickerElement
96
104
  };
@@ -1,13 +1,13 @@
1
- import { DisplayWidgetAdapter as n, formContext as p, displayWidgetContext as c } from "@golemui/lit";
2
- import { consume as l, provide as u } from "@lit/context";
1
+ import { DisplayWidgetAdapter as n, formContext as p, displayWidgetContext as l } from "@golemui/lit";
2
+ import { consume as c, provide as u } from "@lit/context";
3
3
  import { LitElement as m, html as h } from "lit";
4
4
  import { property as f } from "lit/decorators.js";
5
- import { safeDefine as b } from "@golemui/lit/internals";
5
+ import { unsubscribeAll as b, safeDefine as g } from "@golemui/lit/internals";
6
6
  import "rxjs";
7
- var g = Object.defineProperty, d = (i, e, r, x) => {
8
- for (var t = void 0, s = i.length - 1, o; s >= 0; s--)
9
- (o = i[s]) && (t = o(e, r, t) || t);
10
- return t && g(e, r, t), t;
7
+ var x = Object.defineProperty, d = (i, r, t, C) => {
8
+ for (var e = void 0, s = i.length - 1, o; s >= 0; s--)
9
+ (o = i[s]) && (e = o(r, t, e) || e);
10
+ return e && x(r, t, e), e;
11
11
  };
12
12
  class a extends m {
13
13
  constructor() {
@@ -16,10 +16,10 @@ class a extends m {
16
16
  createRenderRoot() {
17
17
  return this;
18
18
  }
19
- updated(e) {
20
- super.updated(e);
21
- const r = this.adapter.templateData.size;
22
- r ? this.style.flex = String(r) : this.style.removeProperty("flex");
19
+ updated(r) {
20
+ super.updated(r);
21
+ const t = this.adapter.templateData.size;
22
+ t ? this.style.flex = String(t) : this.style.removeProperty("flex");
23
23
  }
24
24
  connectedCallback() {
25
25
  super.connectedCallback(), this.classList.add("gui-renderer", "gui-field"), this.adapter.context = this.formContext, this.adapter.init(this.widget), this.subscriptions.push(
@@ -32,17 +32,17 @@ class a extends m {
32
32
  `;
33
33
  }
34
34
  disconnectedCallback() {
35
- super.disconnectedCallback(), this.adapter.destroy(), this.subscriptions.forEach((e) => e.unsubscribe());
35
+ super.disconnectedCallback(), this.adapter.destroy(), b(this.subscriptions);
36
36
  }
37
37
  }
38
38
  d([
39
- l({ context: p }),
39
+ c({ context: p }),
40
40
  f({ attribute: !1 })
41
41
  ], a.prototype, "formContext");
42
42
  d([
43
- u({ context: c })
43
+ u({ context: l })
44
44
  ], a.prototype, "adapter");
45
- b("gui-renderer-component", a);
45
+ g("gui-renderer-component", a);
46
46
  export {
47
47
  a as RendererElement
48
48
  };
@@ -0,0 +1,133 @@
1
+ import "@golemui/gui-shared/internals";
2
+ import { InputWidgetAdapter as c, formContext as l, inputContext as h } from "@golemui/lit";
3
+ import { consume as m, provide as g } from "@lit/context";
4
+ import { LitElement as b, nothing as o, html as i } from "lit";
5
+ import { repeat as $ } from "lit-html/directives/repeat.js";
6
+ import { property as f, state as v, query as _ } from "lit/decorators.js";
7
+ import { unsubscribeAll as w, safeDefine as C } from "@golemui/lit/internals";
8
+ import "rxjs";
9
+ import "@golemui/gui-components/label";
10
+ import "@golemui/gui-components/errors";
11
+ var y = Object.defineProperty, d = (n, t, r, a) => {
12
+ for (var e = void 0, u = n.length - 1, p; u >= 0; u--)
13
+ (p = n[u]) && (e = p(t, r, e) || e);
14
+ return e && y(t, r, e), e;
15
+ };
16
+ class s extends b {
17
+ constructor() {
18
+ super(...arguments), this.adapter = new c(), this.isFocused = !1, this.subscriptions = [];
19
+ }
20
+ createRenderRoot() {
21
+ return this;
22
+ }
23
+ updated(t) {
24
+ super.updated(t);
25
+ const r = this.adapter.templateData.size;
26
+ r ? this.style.flex = String(r) : this.style.removeProperty("flex");
27
+ }
28
+ connectedCallback() {
29
+ super.connectedCallback(), this.classList.add("gui-repeater", "gui-field"), this.adapter.context = this.formContext, this.adapter.init(this.widget), this.subscriptions.push(
30
+ this.adapter.templateDataChanged$.subscribe(() => this.requestUpdate())
31
+ );
32
+ }
33
+ onFocusIn(t) {
34
+ t.stopPropagation(), this.isFocused = !0;
35
+ }
36
+ onFocusOut(t) {
37
+ t.stopPropagation(), this.adapter.onBlur(), this.isFocused = !1;
38
+ }
39
+ render() {
40
+ const t = this.adapter.templateData, r = t.touched && t.errors && t.errors.length > 0;
41
+ return i`
42
+ <div
43
+ id=${this.widget.uid}
44
+ class=${`gui-repeater__main-card gui-repeater__card ${this.isFocused ? "gui-repeater__card--focused" : ""}`}
45
+ @focusin=${this.onFocusIn}
46
+ @focusout=${this.onFocusOut}
47
+ >
48
+ <gui-label
49
+ .targetElement=${[this._repeaterRef]}
50
+ .uid=${this.widget.uid}
51
+ .label=${t.label}
52
+ .errors=${t.errors}
53
+ .touched=${t.touched}
54
+ .required=${t.validator?.required}
55
+ .native=${!1}
56
+ ></gui-label>
57
+ ${$(
58
+ t.rows ?? [],
59
+ (a) => a.uid,
60
+ (a, e) => i`
61
+ <div class="gui-repeater__card">
62
+ <div class="gui-repeater__card-header">
63
+ ${t.title ? i`<span class="gui-repeater__card-title"
64
+ >${t.title} ${e + 1}</span
65
+ >` : o}
66
+ <button
67
+ type="button"
68
+ tabindex="0"
69
+ class="gui-button gui-button--sm gui-repeater__remove-btn"
70
+ @click=${() => this.removeItem(e)}
71
+ >
72
+ ${t.removeButtonIcon ? i`<span
73
+ class="gui-widget-icon gui-button-icon ${t.removeButtonIcon}"
74
+ data-icon=${t.removeButtonIcon}
75
+ ></span>` : o}
76
+ ${t.removeLabel ?? "Remove"}
77
+ </button>
78
+ </div>
79
+ <gui-widget .widget=${a}></gui-widget>
80
+ </div>
81
+ `
82
+ )}
83
+
84
+ <button
85
+ type="button"
86
+ tabindex="0"
87
+ class="gui-button gui-repeater__add-btn"
88
+ @click=${() => this.addItem()}
89
+ ?disabled=${!!(t.limit && t.limit === t.value?.length)}
90
+ >
91
+ ${t.addButtonIcon ? i`<span
92
+ class="gui-widget-icon gui-button-icon ${t.addButtonIcon}"
93
+ data-icon=${t.addButtonIcon}
94
+ ></span>` : o}
95
+ ${t.addLabel ?? "Add"}
96
+ </button>
97
+ </div>
98
+ ${r ? i`<gui-errors
99
+ .uid=${this.widget.uid}
100
+ .errors=${t.errors}
101
+ .touched=${t.touched}
102
+ ></gui-errors>` : o}
103
+ `;
104
+ }
105
+ disconnectedCallback() {
106
+ super.disconnectedCallback(), this.adapter.destroy(), w(this.subscriptions);
107
+ }
108
+ addItem() {
109
+ const t = [...this.adapter.templateData.value ?? [], {}];
110
+ this.adapter.valueChanged(t), this.requestUpdate();
111
+ }
112
+ removeItem(t) {
113
+ const r = (this.adapter.templateData.value ?? []).filter((a, e) => t !== e);
114
+ "structuredClone" in window ? this.adapter.valueChanged(structuredClone(r)) : this.adapter.valueChanged(JSON.parse(JSON.stringify(r))), this.requestUpdate();
115
+ }
116
+ }
117
+ d([
118
+ m({ context: l }),
119
+ f({ attribute: !1 })
120
+ ], s.prototype, "formContext");
121
+ d([
122
+ g({ context: h })
123
+ ], s.prototype, "adapter");
124
+ d([
125
+ v()
126
+ ], s.prototype, "isFocused");
127
+ d([
128
+ _(".gui-repeater__main-card")
129
+ ], s.prototype, "_repeaterRef");
130
+ C("gui-repeater-input", s);
131
+ export {
132
+ s as RepeaterElement
133
+ };
@@ -2,13 +2,13 @@ import { InputWidgetAdapter as d, formContext as o, inputContext as n } from "@g
2
2
  import "@golemui/gui-components/select";
3
3
  import { consume as u, provide as h } from "@lit/context";
4
4
  import { LitElement as c, html as m } from "lit";
5
- import { property as f } from "lit/decorators.js";
6
- import { safeDefine as b } from "@golemui/lit/internals";
5
+ import { property as b } from "lit/decorators.js";
6
+ import { unsubscribeAll as f, safeDefine as $ } from "@golemui/lit/internals";
7
7
  import "rxjs";
8
- var $ = Object.defineProperty, l = (r, t, e, v) => {
9
- for (var a = void 0, i = r.length - 1, p; i >= 0; i--)
10
- (p = r[i]) && (a = p(t, e, a) || a);
11
- return a && $(t, e, a), a;
8
+ var v = Object.defineProperty, p = (i, t, e, g) => {
9
+ for (var a = void 0, r = i.length - 1, l; r >= 0; r--)
10
+ (l = i[r]) && (a = l(t, e, a) || a);
11
+ return a && v(t, e, a), a;
12
12
  };
13
13
  class s extends c {
14
14
  constructor() {
@@ -53,6 +53,7 @@ class s extends c {
53
53
  `;
54
54
  }
55
55
  valueChanged(t) {
56
+ this.adapter.injectValidationIssues(null);
56
57
  const e = t.detail.value;
57
58
  this.adapter.valueChanged(e);
58
59
  }
@@ -60,17 +61,17 @@ class s extends c {
60
61
  this.adapter.injectValidationIssues([t.detail.message]);
61
62
  }
62
63
  disconnectedCallback() {
63
- super.disconnectedCallback(), this.adapter.destroy(), this.subscriptions.forEach((t) => t.unsubscribe());
64
+ super.disconnectedCallback(), this.adapter.destroy(), f(this.subscriptions);
64
65
  }
65
66
  }
66
- l([
67
+ p([
67
68
  u({ context: o }),
68
- f({ attribute: !1 })
69
+ b({ attribute: !1 })
69
70
  ], s.prototype, "formContext");
70
- l([
71
+ p([
71
72
  h({ context: n })
72
73
  ], s.prototype, "adapter");
73
- b("gui-select-input", s);
74
+ $("gui-select-input", s);
74
75
  export {
75
76
  s as SelectElement
76
77
  };