@golemui/gui-lit 1.4.0 → 1.5.0-rc.1

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/CHANGELOG.md CHANGED
@@ -1,3 +1,36 @@
1
+ ## 1.5.0-rc.0 (2026-09-04)
2
+
3
+ ### 🚀 Features
4
+
5
+ - **vue:** nuxt support ([#335](https://github.com/golemui/golemui/pull/335))
6
+ - **gui-components:** add file upload widgets ([#332](https://github.com/golemui/golemui/pull/332))
7
+ - **lit,gui-lit,gui-components:** support server-side rendering of forms ([#334](https://github.com/golemui/golemui/pull/334))
8
+
9
+ ### ❤️ Thank You
10
+
11
+ - Mud Scientist @mudscientist
12
+ - Raúl Jiménez @Elecash
13
+
14
+ ## 1.4.0 (2026-08-26)
15
+
16
+ ### 🚀 Features
17
+
18
+ - **lit:** read the store through one widgetViewModel$ subscription per widget ([#302](https://github.com/golemui/golemui/pull/302))
19
+ - **gui-components:** in-place pill editing for range inputs ([#291](https://github.com/golemui/golemui/pull/291))
20
+ - **gui-components:** add MultiList and MultiDropdown ([#284](https://github.com/golemui/golemui/pull/284))
21
+
22
+ ### 🩹 Fixes
23
+
24
+ - **gui-lit,gui-react,gui-vue:** Clear select errors on pick a valid option ([#326](https://github.com/golemui/golemui/pull/326))
25
+ - read calculated props in the Angular and Lit tabs and accordion ([#325](https://github.com/golemui/golemui/pull/325))
26
+ - make tabs and accordion DOM ids unique and keep their aria pairs correct ([#310](https://github.com/golemui/golemui/pull/310))
27
+ - recreate the widget tree when the form reinitializes ([#307](https://github.com/golemui/golemui/pull/307))
28
+
29
+ ### ❤️ Thank You
30
+
31
+ - Mud Scientist @mudscientist
32
+ - Raúl Jiménez @Elecash
33
+
1
34
  ## 1.4.0-rc.0 (2026-08-26)
2
35
 
3
36
  ### 🚀 Features
@@ -37,7 +37,7 @@ class a extends L {
37
37
  t ? this.style.flex = String(t) : this.style.removeProperty("flex");
38
38
  }
39
39
  connectedCallback() {
40
- super.connectedCallback(), document.addEventListener("click", this.onDocumentClick), this.classList.add("gui-dropdown", "gui-field"), this.adapter.context = this.formContext, this.adapter.init(this.widget), this._filteredItems = this.adapter.templateData.items, this.subscriptions.push(
40
+ super.connectedCallback(), typeof document < "u" && document.addEventListener("click", this.onDocumentClick), this.classList.add("gui-dropdown", "gui-field"), this.adapter.context = this.formContext, this.adapter.init(this.widget), this._filteredItems = this.adapter.templateData.items, this.subscriptions.push(
41
41
  this.adapter.templateDataChanged$.subscribe(() => {
42
42
  const e = this.adapter.templateData;
43
43
  e.items && this._listItems?.length === 0 && this._filteredItems?.length === 0 && (this._filteredItems = e.items, this._listItems = e.items), this.requestUpdate();
@@ -0,0 +1,90 @@
1
+ import { InputWidgetAdapter as l, formContext as d, inputContext as p } from "@golemui/lit";
2
+ import "@golemui/gui-components/file-upload";
3
+ import { consume as u, provide as c } from "@lit/context";
4
+ import { LitElement as m, html as h } from "lit";
5
+ import { property as g } from "lit/decorators.js";
6
+ import { unsubscribeAll as $, safeDefine as b } from "@golemui/lit/internals";
7
+ import "rxjs";
8
+ var f = Object.defineProperty, n = (r, e, t, v) => {
9
+ for (var a = void 0, s = r.length - 1, o; s >= 0; s--)
10
+ (o = r[s]) && (a = o(e, t, a) || a);
11
+ return a && f(e, t, a), a;
12
+ };
13
+ class i extends m {
14
+ constructor() {
15
+ super(...arguments), this.adapter = new l(), this.subscriptions = [];
16
+ }
17
+ createRenderRoot() {
18
+ return this;
19
+ }
20
+ updated(e) {
21
+ super.updated(e);
22
+ const t = this.adapter.templateData.size;
23
+ t ? this.style.flex = String(t) : this.style.removeProperty("flex");
24
+ }
25
+ connectedCallback() {
26
+ super.connectedCallback(), this.classList.add("gui-file-upload", "gui-field"), this.adapter.context = this.formContext, this.adapter.init(this.widget), this.subscriptions.push(
27
+ this.adapter.templateDataChanged$.subscribe(() => this.requestUpdate())
28
+ );
29
+ }
30
+ render() {
31
+ super.render();
32
+ const e = this.adapter.templateData;
33
+ return h`
34
+ <gui-file-upload
35
+ .uid=${this.widget.uid}
36
+ .path=${this.widget.path}
37
+ .label=${e.label}
38
+ .hint=${e.hint}
39
+ .errors=${e.errors}
40
+ ?touched=${e.touched}
41
+ ?required=${e.validator?.required}
42
+ ?disabled=${e.disabled}
43
+ ?readonly=${e.readonly}
44
+ .value=${e.value ?? null}
45
+ .dependencies=${e.deps}
46
+ .icon=${e.icon}
47
+ .accept=${e.accept}
48
+ .maxSize=${e.maxSize}
49
+ .buttonLabel=${e.buttonLabel}
50
+ .removeAriaLabel=${e.removeAriaLabel}
51
+ .cancelAriaLabel=${e.cancelAriaLabel}
52
+ .retryAriaLabel=${e.retryAriaLabel}
53
+ .removeIcon=${e.removeIcon}
54
+ .retryIcon=${e.retryIcon}
55
+ .maxSizeMessage=${e.maxSizeMessage}
56
+ .acceptMessage=${e.acceptMessage}
57
+ .interruptedMessage=${e.interruptedMessage}
58
+ .missingServiceMessage=${e.missingServiceMessage}
59
+ .uploadedMessage=${e.uploadedMessage}
60
+ .removedMessage=${e.removedMessage}
61
+ .failedMessage=${e.failedMessage}
62
+ @change=${this.valueChanged}
63
+ @blur=${() => this.adapter.onBlur()}
64
+ @inputError=${this.onInputError}
65
+ ></gui-file-upload>
66
+ `;
67
+ }
68
+ valueChanged(e) {
69
+ const t = e.detail.value;
70
+ this.adapter.valueChanged(t);
71
+ }
72
+ onInputError(e) {
73
+ const t = e.detail.message;
74
+ this.adapter.injectValidationIssues(t ? [t] : null);
75
+ }
76
+ disconnectedCallback() {
77
+ super.disconnectedCallback(), this.adapter.destroy(), $(this.subscriptions);
78
+ }
79
+ }
80
+ n([
81
+ u({ context: d }),
82
+ g({ attribute: !1 })
83
+ ], i.prototype, "formContext");
84
+ n([
85
+ c({ context: p })
86
+ ], i.prototype, "adapter");
87
+ b("gui-file-upload-input", i);
88
+ export {
89
+ i as FileUploadElement
90
+ };