@mattilsynet/design 1.1.7 → 1.2.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 (43) hide show
  1. package/mtds/app/app-observer.js +1 -1
  2. package/mtds/app/app-toggle.js +26 -11
  3. package/mtds/app/app-toggle.js.map +1 -1
  4. package/mtds/app/app-toggle2.js +14 -27
  5. package/mtds/app/app-toggle2.js.map +1 -1
  6. package/mtds/app/app.js +1 -1
  7. package/mtds/badge/badge.stories.d.ts +1 -0
  8. package/mtds/external/@u-elements/u-combobox/dist/u-combobox.js +233 -0
  9. package/mtds/external/@u-elements/u-combobox/dist/u-combobox.js.map +1 -0
  10. package/mtds/external/@u-elements/u-datalist/dist/u-datalist.js +128 -155
  11. package/mtds/external/@u-elements/u-datalist/dist/u-datalist.js.map +1 -1
  12. package/mtds/field/field-observer.js +42 -34
  13. package/mtds/field/field-observer.js.map +1 -1
  14. package/mtds/field/field.d.ts +9 -5
  15. package/mtds/field/field.js +48 -48
  16. package/mtds/field/field.js.map +1 -1
  17. package/mtds/field/field.stories.d.ts +5 -3
  18. package/mtds/illustrations/illustrations.json +103 -58
  19. package/mtds/index.d.ts +1 -1
  20. package/mtds/index.iife.js +13 -6
  21. package/mtds/index.js +9 -9
  22. package/mtds/input/input.d.ts +2 -0
  23. package/mtds/input/input.js +15 -10
  24. package/mtds/input/input.js.map +1 -1
  25. package/mtds/logo-english.svg +1 -1
  26. package/mtds/logo-samisk.svg +1 -1
  27. package/mtds/logo.svg +1 -1
  28. package/mtds/matomo.d.ts +6 -0
  29. package/mtds/package.json.js +1 -1
  30. package/mtds/react.js +35 -34
  31. package/mtds/styles.css +1 -1
  32. package/mtds/styles.json +39 -39
  33. package/mtds/styles.module.css.js +76 -74
  34. package/mtds/styles.module.css.js.map +1 -1
  35. package/mtds/table/table.d.ts +2 -2
  36. package/mtds/table/table.js.map +1 -1
  37. package/mtds/utils.d.ts +1 -1
  38. package/mtds/utils.js +62 -61
  39. package/mtds/utils.js.map +1 -1
  40. package/package.json +22 -20
  41. package/mtds/external/@u-elements/u-tags/dist/u-tags.js +0 -365
  42. package/mtds/external/@u-elements/u-tags/dist/u-tags.js.map +0 -1
  43. package/mtds/field/field-helper.d.ts +0 -1
@@ -1,85 +1,76 @@
1
- var Y = Object.defineProperty, C = Object.getOwnPropertySymbols, q = Object.prototype.hasOwnProperty, z = Object.prototype.propertyIsEnumerable, L = (t, e, i) => e in t ? Y(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i, G = (t, e) => {
1
+ var U = Object.defineProperty, I = Object.getOwnPropertySymbols, F = Object.prototype.hasOwnProperty, R = Object.prototype.propertyIsEnumerable, T = (t, e, i) => e in t ? U(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i, V = (t, e) => {
2
2
  for (var i in e || (e = {}))
3
- q.call(e, i) && L(t, i, e[i]);
4
- if (C)
5
- for (var i of C(e))
6
- z.call(e, i) && L(t, i, e[i]);
3
+ F.call(e, i) && T(t, i, e[i]);
4
+ if (I)
5
+ for (var i of I(e))
6
+ R.call(e, i) && T(t, i, e[i]);
7
7
  return t;
8
- }, h = typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", J = h && /android/i.test(navigator.userAgent), x = h && /iPad|iPhone|iPod/.test(navigator.userAgent), D = h && /^((?!chrome|android).)*safari/i.test(navigator.userAgent), A;
9
- h && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474
10
- /^Mac/i.test(((A = navigator.userAgentData) == null ? void 0 : A.platform) || navigator.platform);
11
- var Q = `${J ? "data" : "aria"}-labelledby`, M = `${D ? "aria" : "data"}-multiselectable`, H = ":host(:not([hidden])) { display: block }", Z = "outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color", R = typeof HTMLElement > "u" ? class {
8
+ }, p = typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", P = p && /android/i.test(navigator.userAgent), w = p && /iPad|iPhone|iPod/.test(navigator.userAgent), L;
9
+ p && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474
10
+ /^Mac/i.test(((L = navigator.userAgentData) == null ? void 0 : L.platform) || navigator.platform);
11
+ var K = `${P ? "data" : "aria"}-labelledby`, j = ":host(:not([hidden])) { display: block }", W = "outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color", A = typeof HTMLElement > "u" ? class {
12
12
  } : HTMLElement;
13
- function o(t, e, i) {
14
- var n;
15
- return i === void 0 ? (n = t.getAttribute(e)) != null ? n : null : (i === null ? t.removeAttribute(e) : t.getAttribute(e) !== i && t.setAttribute(e, i), null);
13
+ function r(t, e, i) {
14
+ return i === void 0 ? t.getAttribute(e) : (i === null ? t.removeAttribute(e) : t.getAttribute(e) !== i && t.setAttribute(e, i), null);
16
15
  }
17
- var F = (t, e, i) => {
18
- for (const n of i[0].split(","))
19
- i[0] = n, Element.prototype[`${t}EventListener`].apply(e, i);
20
- }, E = (t, ...e) => F("add", t, e), y = (t, ...e) => F("remove", t, e), B = (t, e) => t.attachShadow({ mode: "open" }).append(
21
- w("slot"),
16
+ var k = (t, e, i) => {
17
+ for (const o of i[0].split(","))
18
+ i[0] = o, Element.prototype[`${t}EventListener`].apply(e, i);
19
+ }, b = (t, ...e) => k("add", t, e), f = (t, ...e) => k("remove", t, e), X = (t, e) => t.attachShadow({ mode: "open" }).append(
20
+ E("slot"),
22
21
  // Unnamed slot does automatically render all top element nodes
23
- w("style", e)
24
- ), b = /* @__PURE__ */ new WeakMap(), N = (t, e) => {
25
- if (e === void 0) return b.get(t);
22
+ E("style", e)
23
+ ), v = /* @__PURE__ */ new WeakMap(), S = (t, e) => {
24
+ if (e === void 0) return v.get(t);
26
25
  try {
27
- b.get(t).disconnect(), b.delete(t);
26
+ v.get(t).disconnect(), v.delete(t);
28
27
  } catch {
29
28
  }
30
29
  if (e) {
31
30
  const i = new MutationObserver(
32
- (n) => t.handleEvent({ type: "mutation", detail: n })
31
+ (o) => t.handleEvent({ type: "mutation", detail: o })
33
32
  );
34
- i.observe(t, e), b.set(t, i);
33
+ i.observe(t, e), v.set(t, i);
35
34
  }
36
- }, U = (t) => {
35
+ }, $ = (t) => {
37
36
  var e;
38
37
  const i = ((e = t.getRootNode) == null ? void 0 : e.call(t)) || t.ownerDocument;
39
38
  return i instanceof Document || i instanceof ShadowRoot ? i : document;
40
- }, tt = 0, I = (t) => t ? (t.id || (t.id = `:${t.nodeName.toLowerCase()}${(++tt).toString(32)}`), t.id) : "", w = (t, e, i) => {
41
- const n = document.createElement(t);
42
- return e && (n.textContent = e), n;
43
- }, K = {
44
- define: (t, e) => !h || window.customElements.get(t) || window.customElements.define(t, e)
45
- }, et = (t) => {
46
- const e = w("div");
47
- return e.style.cssText = "position:fixed;overflow:hidden;width:1px;white-space:nowrap", o(e, "aria-live", t), e;
48
- };
49
- function O(t, e, i) {
50
- if (!e) return Object.keys(t).map((a) => `data-sr-${a}`);
51
- const n = (e == null ? void 0 : e.startsWith("data-sr-")) && e.slice(8);
52
- return n && i && t[n] && (t[n] = i), [];
53
- }
54
- var g = "disabled", _ = "selected", it = class extends R {
39
+ }, Y = 0, y = (t) => t ? (t.id || (t.id = `:${t.nodeName.toLowerCase()}${(++Y).toString(32)}`), t.id) : "", E = (t, e, i) => {
40
+ const o = document.createElement(t);
41
+ return e && (o.textContent = e), o;
42
+ }, D = {
43
+ define: (t, e) => !p || window.customElements.get(t) || window.customElements.define(t, e)
44
+ }, q = (t) => {
45
+ const e = E("div");
46
+ return e.style.cssText = "position:fixed;overflow:hidden;width:1px;white-space:nowrap", r(e, "aria-live", t), e;
47
+ }, z = (t, e, i = "") => {
48
+ var o, u;
49
+ const n = { bubbles: !0, composed: !0, data: e, inputType: i }, a = HTMLInputElement.prototype;
50
+ t.dispatchEvent(new InputEvent("beforeinput", n)), (u = (o = Object.getOwnPropertyDescriptor(a, "value")) == null ? void 0 : o.set) == null || u.call(t, e), t.dispatchEvent(new InputEvent("input", n)), t.dispatchEvent(new Event("change", { bubbles: !0 }));
51
+ }, m = "disabled", l = "selected", G = class extends A {
55
52
  // Using ES2015 syntax for backwards compatibility
56
53
  static get observedAttributes() {
57
- return [g, _];
58
- }
59
- constructor() {
60
- super(), B(
61
- this,
62
- `${H}:host(:focus){${Z}}:host{ cursor: pointer }`
63
- );
54
+ return [m, l];
64
55
  }
65
56
  connectedCallback() {
66
- x || (this.tabIndex = -1), o(this, "role") || o(this, "role", "option"), this.attributeChangedCallback();
57
+ w || (this.tabIndex = -1), this.hasAttribute("role") || r(this, "role", "option"), this.attributeChangedCallback();
67
58
  }
68
59
  attributeChangedCallback() {
69
- o(this, "aria-disabled", `${this.disabled}`), o(this, "aria-selected", `${this.selected}`);
60
+ r(this, "aria-disabled", `${this.disabled}`), r(this, "aria-selected", `${this.selected}`);
70
61
  }
71
62
  /** Sets or retrieves whether the option in the list box is the default item. */
72
63
  get defaultSelected() {
73
- return this[_];
64
+ return this[l];
74
65
  }
75
66
  set defaultSelected(t) {
76
- this[_] = t;
67
+ this[l] = t;
77
68
  }
78
69
  get disabled() {
79
- return o(this, g) !== null;
70
+ return r(this, m) !== null;
80
71
  }
81
72
  set disabled(t) {
82
- o(this, g, t ? "" : null);
73
+ r(this, m, t ? "" : null);
83
74
  }
84
75
  /** Retrieves a reference to the form that the object is embedded in. */
85
76
  get form() {
@@ -88,21 +79,23 @@ var g = "disabled", _ = "selected", it = class extends R {
88
79
  /** Sets or retrieves the ordinal position of an option in a list box. */
89
80
  get index() {
90
81
  var t;
91
- const e = (t = this.closest("u-datalist")) == null ? void 0 : t.getElementsByTagName("u-option");
92
- return Array.from(e || [this]).indexOf(this);
82
+ return [
83
+ ...((t = this.parentElement) == null ? void 0 : t.options) || [this]
84
+ ].indexOf(this);
93
85
  }
94
86
  /** Sets or retrieves a value that you can use to implement your own label functionality for the object. */
95
87
  get label() {
96
- return o(this, "label") || this.text;
88
+ var t;
89
+ return (t = r(this, "label")) != null ? t : this.text;
97
90
  }
98
91
  set label(t) {
99
- o(this, "label", t);
92
+ r(this, "label", t);
100
93
  }
101
94
  get selected() {
102
- return o(this, _) !== null;
95
+ return r(this, l) !== null;
103
96
  }
104
97
  set selected(t) {
105
- o(this, _, t ? "" : null);
98
+ r(this, l, t ? "" : null);
106
99
  }
107
100
  /** Sets or retrieves the text string specified by the option tag. */
108
101
  get text() {
@@ -114,136 +107,116 @@ var g = "disabled", _ = "selected", it = class extends R {
114
107
  }
115
108
  /** Sets or retrieves the value which is returned to the server when the form control is submitted. */
116
109
  get value() {
117
- return o(this, "value") || this.text;
110
+ var t;
111
+ return (t = r(this, "value")) != null ? t : this.text;
118
112
  }
119
113
  set value(t) {
120
- o(this, "value", t);
114
+ r(this, "value", t);
121
115
  }
122
116
  };
123
- K.define("u-option", it);
124
- var T = !1, k, nt = 0, p, ot = D && !x, V = "click,focusout,input,keydown,mousedown,mouseup", P = {
117
+ D.define("u-option", G);
118
+ var C, J = 0, d, O = 0, g = !1, Q = w || P, M = "click,focusout,input,keydown,mousedown,mouseup", B = "focus,focusin,blur,focusout", h = {
125
119
  singular: "%d hit",
126
120
  plural: "%d hits"
127
- }, rt = class extends R {
121
+ }, Z = class extends A {
128
122
  constructor() {
129
- super(), this._blurTimer = 0, this._input = null, this._root = null, this._value = "", this._texts = G({}, P), B(
123
+ super(), this._texts = V({}, h), this._value = "", X(
130
124
  this,
131
- `${H}::slotted(u-option[disabled]) { display: none !important }`
132
- // Hide disabled options
125
+ `${j}
126
+ ::slotted(u-option) { display: block; cursor: pointer }
127
+ ::slotted(u-option:focus) { ${W} }
128
+ ::slotted(u-option[aria-hidden="true"]),
129
+ ::slotted(u-option[disabled]),
130
+ ::slotted(u-option[hidden]) { display: none !important }`
133
131
  );
134
132
  }
135
- // Speed up translated texts
136
133
  // Using ES2015 syntax for backwards compatibility
137
134
  static get observedAttributes() {
138
- return ["id", ...O(P)];
135
+ return ["id", ...Object.keys(h).map((t) => `data-sr-${t}`)];
139
136
  }
140
137
  connectedCallback() {
141
- this.hidden = !0, this._root = U(this), p || (p = et("assertive")), p.isConnected || document.body.appendChild(p), o(this, "role", "listbox"), o(this, "tabindex", "-1"), E(this._root, "focusin", this), E(this._root, "focus", this, !0), setTimeout(() => this.attributeChangedCallback());
138
+ this.hidden = !0, this._root = $(this), r(this, "role", "listbox"), r(this, "tabindex", "-1"), b(this._root, "focusin", this), b(this._root, "focus", this, !0), S(this, {
139
+ attributeFilter: ["disabled", "hidden", "label", "value"],
140
+ attributes: !0,
141
+ childList: !0,
142
+ subtree: !0
143
+ }), setTimeout(() => this.attributeChangedCallback());
142
144
  }
143
145
  disconnectedCallback() {
144
- y(this._root || this, "focus", this, !0), y(this._root || this, "focusin", this), S(this), this._root = null;
146
+ f(this._root || this, "focus", this, !0), f(this._root || this, "focusin", this), S(this, !1), x(this), this._root = void 0;
145
147
  }
146
148
  attributeChangedCallback(t, e, i) {
147
- var n;
148
- O(this._texts, t, i);
149
- const a = (n = this._root) == null ? void 0 : n.querySelectorAll(`input[list="${this.id}"]`);
150
- for (const l of a || []) W(this, l);
149
+ const o = t == null ? void 0 : t.split("data-sr-")[1], u = `input[list="${this.id}"]`;
150
+ if (h[o]) this._texts[o] = i || h[o];
151
+ else if (this._root)
152
+ for (const n of this._root.querySelectorAll(u))
153
+ N(this, n);
151
154
  }
152
155
  handleEvent(t) {
153
- const { type: e } = t;
154
- t.defaultPrevented || (e === "click" && ut(this, t), (e === "focus" || e === "focusin") && at(this, t), e === "focusout" && st(this), e === "keydown" && lt(this, t), (e === "mutation" || e === "input") && X(this, t), e === "mouseup" && (T = !1), e === "mousedown" && (T = this.contains(t.target)));
156
+ const { target: e, type: i } = t;
157
+ t.defaultPrevented || (i === "click" && ot(this, t), (i === "focus" || i === "focusin") && tt(this, t), (i === "blur" || i === "focusout") && et(this, t), i === "keydown" && nt(this, t), i === "mousedown" && (g = this.contains(e)), i === "mouseup" && (g = !1), (i === "mutation" || i === "input") && (clearTimeout(O), O = setTimeout(H, 0, this, t)));
155
158
  }
156
159
  get options() {
157
160
  return this.getElementsByTagName("u-option");
158
161
  }
159
- }, at = (t, { target: e }) => {
162
+ }, c = (t, e) => {
163
+ var i;
164
+ t.hidden === e && (t.hidden = !e, t._input && N(t, t._input, e), t.popover && ((i = t._input) != null && i.isConnected) && (r(t._input, "popovertarget", y(t)), r(t, "popover", "manual"), t.togglePopover(e)), e && H(t));
165
+ }, x = (t) => {
166
+ f(t._input || t, B, t), f(t._root || t, M, t), c(t, !1), t._input = void 0;
167
+ }, N = (t, e, i = !1) => {
168
+ b(e, B, t, !0), r(e, "aria-autocomplete", "list"), r(e, "aria-controls", y(t)), r(e, "aria-expanded", `${Q ? i : "true"}`), r(e, "autocomplete", "off"), r(e, "role", "combobox");
169
+ }, tt = (t, e) => {
170
+ var i;
171
+ const o = e.target instanceof HTMLInputElement;
172
+ o && e.isTrusted && e.stopImmediatePropagation(), d || (d = q("assertive")), d.isConnected || document.body.appendChild(d), t._input !== e.target && o && e.target.list === t && (t._input && x(t), t._input = e.target, t._input.dispatchEvent(new FocusEvent("focus", { view: window })), t._input.dispatchEvent(
173
+ new FocusEvent("focusin", { bubbles: !0, view: window })
174
+ ), r(t, K, y((i = t._input.labels) == null ? void 0 : i[0])), b(t._root || t, M, t), c(t, !0));
175
+ }, et = (t, e) => {
176
+ g || setTimeout(it, 0, t), e.target === t._input && e.isTrusted && e.stopImmediatePropagation();
177
+ }, it = (t) => {
178
+ var e;
179
+ const i = ((e = t._root) == null ? void 0 : e.activeElement) || null, o = t._input, u = window;
180
+ o && o !== i && !t.contains(i) && (o.dispatchEvent(new FocusEvent("blur", { relatedTarget: i, view: u })), o.dispatchEvent(
181
+ new FocusEvent("focusout", { bubbles: !0, relatedTarget: i, view: u })
182
+ ), x(t));
183
+ }, ot = (t, { target: e }) => {
184
+ if (!t._input || t._input === e) return c(t, !0);
185
+ [...t.options].includes(e) && (z(t._input, e.value), r(t, "aria-multiselectable") !== "true" && (t._input.focus(), c(t, !1)));
186
+ }, rt = (t) => r(t, "aria-hidden") !== "true", nt = (t, e) => {
160
187
  var i;
161
- const n = t._input === e;
162
- if (n || t.contains(e)) return clearTimeout(t._blurTimer);
163
- !n && e instanceof HTMLInputElement && o(e, "list") === t.id && (t._input && S(t), t._input = e, o(t, Q, I((i = t._input.labels) == null ? void 0 : i[0])), E(t._root || t, V, t), N(t, {
164
- attributeFilter: ["value"],
165
- // Listen for value changes to show u-options
166
- attributes: !0,
167
- childList: !0,
168
- subtree: !0
169
- }), v(t, !0));
170
- }, st = (t) => {
171
- T || (t._blurTimer = setTimeout(() => S(t)));
172
- }, ut = (t, { target: e }) => {
173
- var i, n, a, l, u;
174
- const d = o(t, M) !== "true", s = [...t.options].find((r) => r.contains(e));
175
- if (t._input === e)
176
- v(t, !0);
177
- else if (s && m(s)) {
178
- for (const r of t.options)
179
- r === s ? r.selected = !0 : d && (r.selected = !1);
180
- (n = (i = Object.getOwnPropertyDescriptor(
181
- HTMLInputElement.prototype,
182
- "value"
183
- )) == null ? void 0 : i.set) == null || n.call(t._input, s.value), d && ((a = t._input) == null || a.focus(), v(t, !1)), (l = t._input) == null || l.dispatchEvent(
184
- new Event("input", { bubbles: !0, composed: !0 })
185
- ), (u = t._input) == null || u.dispatchEvent(new Event("change", { bubbles: !0 }));
186
- }
187
- }, lt = (t, e) => {
188
- var i, n;
189
188
  if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) return;
190
- e.key !== "Escape" && v(t, !0);
191
- const { key: a } = e, l = (i = t._root) == null ? void 0 : i.activeElement, u = j(t), d = u.indexOf(l);
189
+ c(t, e.key !== "Escape" && e.key !== "Tab");
190
+ const { key: o, target: u } = e, n = [...t.options].filter(rt), a = n.indexOf(u);
192
191
  let s = -1;
193
- if (a === "ArrowDown" && (s = (d + 1) % u.length), a === "ArrowUp" && (s = (~d ? d : u.length) - 1), ~d && ((a === "Home" || a === "PageUp") && (s = 0), (a === "End" || a === "PageDown") && (s = u.length - 1), a === "Enter"))
194
- return u[d].click(), e.preventDefault();
195
- if (u[s]) for (const r of u) r.tabIndex = -1;
196
- u[s] && e.preventDefault(), (n = u[s] || t._input) == null || n.focus(), a === "Escape" && v(t, !1);
197
- }, v = (t, e) => {
198
- t.hidden = !e, t.popover && t.togglePopover(e), t._input && W(t, t._input, e), e && X(t);
199
- }, S = (t) => {
200
- y(t._root || t, V, t), N(t, !1), v(t, !1), t._input = null;
201
- }, j = (t) => [...t.options].filter(
202
- (e) => !e.disabled && e.offsetWidth && e.offsetHeight
203
- // Checks disabled or visibility (since hidden attribute can be overwritten by display: block)
204
- ), m = (t) => t instanceof HTMLOptionElement || t.getAttribute("role") === "option", W = (t, e, i = !1) => {
205
- o(e, "popovertarget", I(t)), o(e, "aria-autocomplete", "list"), o(e, "aria-controls", I(t)), o(e, "aria-expanded", `${ot || i}`), o(e, "autocomplete", "off"), o(e, "role", "combobox");
206
- }, $ = (t) => (t == null ? void 0 : t.toLowerCase().trim()) || "", X = (t, e) => {
207
- var i;
208
- const n = $((i = t._input) == null ? void 0 : i.value);
209
- if (!((e == null ? void 0 : e.type) === "mutation" || t._value !== n)) return;
210
- const l = t.hidden, u = o(t, M) !== "true", d = e instanceof InputEvent && !pt(e);
211
- t.hidden = !0, t._value = n;
212
- for (const r of t.options) {
213
- const c = [r.value, r.label, r.text].map($);
214
- r.hidden = !c.some((f) => f.includes(n)), u && d && m(r) && (r.selected = c.includes(n));
215
- }
216
- t.hidden = l;
217
- const s = j(t);
218
- clearTimeout(k), k = setTimeout(() => {
219
- const { length: r } = s.filter(m), c = ++nt % 2 ? " " : "", f = `${`${t._texts[r === 1 ? "singular" : "plural"]}`.replace("%d", `${r}`)}`;
220
- p && (p.textContent = `${!r && t.innerText.trim() || f}${c}`);
221
- }, 1e3), x && s.map((r, c, f) => {
222
- r.title = `${c + 1}/${f}`;
223
- });
192
+ if (o === "ArrowDown" && (s = (a + 1) % n.length), o === "ArrowUp" && (s = (~a ? a : n.length) - 1), ~a && ((o === "Home" || o === "PageUp") && (s = 0), (o === "End" || o === "PageDown") && (s = n.length - 1), o === "Enter"))
193
+ return n[a].click(), e.preventDefault();
194
+ if (n[s]) for (const _ of n) _.tabIndex = -1;
195
+ n[s] && e.preventDefault(), (i = n[s] || t._input) == null || i.focus();
196
+ }, H = (t) => {
197
+ var e;
198
+ const i = ((e = t._input) == null ? void 0 : e.value.toLowerCase().trim()) || "", o = !t.hasAttribute("data-nofilter"), u = [];
199
+ for (const a of t.options) {
200
+ const s = `${a.disabled || a.hidden || o && !a.label.toLowerCase().includes(i)}`;
201
+ r(a, "aria-hidden", s), s === "false" && r(a, "role") !== "none" && u.push(a);
202
+ }
203
+ const { length: n } = u;
204
+ clearTimeout(C), C = setTimeout(() => {
205
+ var a;
206
+ if (t.hidden || ((a = t._root) == null ? void 0 : a.activeElement) !== t._input) return;
207
+ const s = `${`${t._texts[n === 1 ? "singular" : "plural"]}`.replace("%d", `${n}`)}`, _ = `${!n && t.innerText.trim() || s}${++J % 2 ? " " : ""}`;
208
+ i !== t._value && d && (d.textContent = _), t._value = i;
209
+ }, 1e3), w && u.forEach((a, s) => r(a, "title", `${s + 1}/${n}`));
224
210
  };
225
- h && Object.defineProperty(HTMLInputElement.prototype, "list", {
211
+ p && Object.defineProperty(HTMLInputElement.prototype, "list", {
226
212
  configurable: !0,
227
213
  enumerable: !0,
228
214
  get() {
229
- return U(this).getElementById(o(this, "list") || "");
215
+ return $(this).getElementById(r(this, "list") || "");
230
216
  }
231
217
  });
232
- K.define("u-datalist", rt);
233
- var dt = " ".repeat(100), ct = "insertReplacementText";
234
- function pt(t) {
235
- var e;
236
- const i = t instanceof Event && t.type === "input" && t.target instanceof HTMLInputElement && (!t.inputType || t.inputType === ct);
237
- if (i) {
238
- const n = t.target.value, a = Array.from(((e = t.target.list) == null ? void 0 : e.options) || []).some(
239
- (l) => l.value === n && !m(l)
240
- );
241
- t.target.value = n.split(dt)[a ? 1 : 0];
242
- }
243
- return i;
244
- }
218
+ D.define("u-datalist", Z);
245
219
  export {
246
- rt as UHTMLDataListElement,
247
- pt as isDatalistClick
220
+ Z as UHTMLDataListElement
248
221
  };
249
222
  //# sourceMappingURL=u-datalist.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"u-datalist.js","sources":["../../../../../node_modules/@u-elements/u-datalist/dist/u-datalist.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// ../utils.ts\nvar IS_BROWSER = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.navigator !== \"undefined\";\nvar IS_ANDROID = IS_BROWSER && /android/i.test(navigator.userAgent);\nvar IS_FIREFOX = IS_BROWSER && /firefox/i.test(navigator.userAgent);\nvar IS_IOS = IS_BROWSER && /iPad|iPhone|iPod/.test(navigator.userAgent);\nvar IS_SAFARI = IS_BROWSER && /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\nvar _a;\nIS_BROWSER && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474\n/^Mac/i.test(((_a = navigator.userAgentData) == null ? void 0 : _a.platform) || navigator.platform);\nvar SAFE_LABELLEDBY = `${IS_ANDROID ? \"data\" : \"aria\"}-labelledby`;\nvar SAFE_MULTISELECTABLE = `${IS_SAFARI ? \"aria\" : \"data\"}-multiselectable`;\nvar DISPLAY_BLOCK = \":host(:not([hidden])) { display: block }\";\nvar FOCUS_OUTLINE = \"outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color\";\nvar UHTMLElement = typeof HTMLElement === \"undefined\" ? class {\n} : HTMLElement;\nfunction attr(el, name, value) {\n var _a2;\n if (value === void 0) return (_a2 = el.getAttribute(name)) != null ? _a2 : null;\n if (value === null) el.removeAttribute(name);\n else if (el.getAttribute(name) !== value) el.setAttribute(name, value);\n return null;\n}\nvar events = (action, element, rest) => {\n for (const type of rest[0].split(\",\")) {\n rest[0] = type;\n Element.prototype[`${action}EventListener`].apply(element, rest);\n }\n};\nvar on = (element, ...rest) => events(\"add\", element, rest);\nvar off = (element, ...rest) => events(\"remove\", element, rest);\nvar attachStyle = (element, css) => element.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\"),\n // Unnamed slot does automatically render all top element nodes\n createElement(\"style\", css)\n);\nvar observers = /* @__PURE__ */ new WeakMap();\nvar mutationObserver = (element, options) => {\n if (options === void 0) return observers.get(element);\n try {\n observers.get(element).disconnect();\n observers.delete(element);\n } catch (err) {\n }\n if (options) {\n const observer = new MutationObserver(\n (detail) => element.handleEvent({ type: \"mutation\", detail })\n );\n observer.observe(element, options);\n observers.set(element, observer);\n }\n};\nvar getRoot = (node) => {\n var _a2;\n const root = ((_a2 = node.getRootNode) == null ? void 0 : _a2.call(node)) || node.ownerDocument;\n return root instanceof Document || root instanceof ShadowRoot ? root : document;\n};\nvar id = 0;\nvar useId = (el) => {\n if (!el) return \"\";\n if (!el.id) el.id = `:${el.nodeName.toLowerCase()}${(++id).toString(32)}`;\n return el.id;\n};\nvar createElement = (tagName, text, attrs) => {\n const el = document.createElement(tagName);\n if (text) el.textContent = text;\n return el;\n};\nvar customElements = {\n define: (name, instance) => !IS_BROWSER || window.customElements.get(name) || window.customElements.define(name, instance)\n};\nvar createAriaLive = (mode) => {\n const live = createElement(\"div\");\n live.style.cssText = \"position:fixed;overflow:hidden;width:1px;white-space:nowrap\";\n attr(live, \"aria-live\", mode);\n return live;\n};\nfunction attributeTexts(texts, prop, value) {\n if (!prop) return Object.keys(texts).map((key2) => `data-sr-${key2}`);\n const key = (prop == null ? void 0 : prop.startsWith(\"data-sr-\")) && prop.slice(8);\n if (key && value && texts[key]) texts[key] = value;\n return [];\n}\n\n// u-option.ts\nvar DISABLED = \"disabled\";\nvar SELECTED = \"selected\";\nvar UHTMLOptionElement = class extends UHTMLElement {\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [DISABLED, SELECTED];\n }\n constructor() {\n super();\n attachStyle(\n this,\n `${DISPLAY_BLOCK}:host(:focus){${FOCUS_OUTLINE}}:host{ cursor: pointer }`\n );\n }\n connectedCallback() {\n if (!IS_IOS) this.tabIndex = -1;\n if (!attr(this, \"role\")) attr(this, \"role\", \"option\");\n this.attributeChangedCallback();\n }\n attributeChangedCallback() {\n attr(this, \"aria-disabled\", `${this.disabled}`);\n attr(this, \"aria-selected\", `${this.selected}`);\n }\n /** Sets or retrieves whether the option in the list box is the default item. */\n get defaultSelected() {\n return this[SELECTED];\n }\n set defaultSelected(value) {\n this[SELECTED] = value;\n }\n get disabled() {\n return attr(this, DISABLED) !== null;\n }\n set disabled(value) {\n attr(this, DISABLED, value ? \"\" : null);\n }\n /** Retrieves a reference to the form that the object is embedded in. */\n get form() {\n return this.closest(\"form\");\n }\n /** Sets or retrieves the ordinal position of an option in a list box. */\n get index() {\n var _a2;\n const options = (_a2 = this.closest(\"u-datalist\")) == null ? void 0 : _a2.getElementsByTagName(\"u-option\");\n return Array.from(options || [this]).indexOf(this);\n }\n /** Sets or retrieves a value that you can use to implement your own label functionality for the object. */\n get label() {\n return attr(this, \"label\") || this.text;\n }\n set label(value) {\n attr(this, \"label\", value);\n }\n get selected() {\n return attr(this, SELECTED) !== null;\n }\n set selected(value) {\n attr(this, SELECTED, value ? \"\" : null);\n }\n /** Sets or retrieves the text string specified by the option tag. */\n get text() {\n var _a2;\n return ((_a2 = this.textContent) == null ? void 0 : _a2.trim()) || \"\";\n }\n set text(text) {\n this.textContent = text;\n }\n /** Sets or retrieves the value which is returned to the server when the form control is submitted. */\n get value() {\n return attr(this, \"value\") || this.text;\n }\n set value(value) {\n attr(this, \"value\", value);\n }\n};\ncustomElements.define(\"u-option\", UHTMLOptionElement);\n\n// u-datalist.ts\nvar IS_PRESS = false;\nvar LIVE_TIMER;\nvar LIVE_SR_FIX = 0;\nvar LIVE;\nvar IS_SAFARI_MAC = IS_SAFARI && !IS_IOS;\nvar EVENTS = \"click,focusout,input,keydown,mousedown,mouseup\";\nvar TEXTS = {\n singular: \"%d hit\",\n plural: \"%d hits\"\n};\nvar UHTMLDataListElement = class extends UHTMLElement {\n constructor() {\n super();\n // Using underscore instead of private fields for backwards compatibility\n // _announceCount = 0;\n // _announceTimer: ReturnType<typeof setTimeout> | number = 0;\n this._blurTimer = 0;\n this._input = null;\n this._root = null;\n this._value = \"\";\n // Store sanitized value to speed up option filtering\n this._texts = __spreadValues({}, TEXTS);\n attachStyle(\n this,\n `${DISPLAY_BLOCK}::slotted(u-option[disabled]) { display: none !important }`\n // Hide disabled options\n );\n }\n // Speed up translated texts\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [\"id\", ...attributeTexts(TEXTS)];\n }\n connectedCallback() {\n this.hidden = true;\n this._root = getRoot(this);\n if (!LIVE) LIVE = createAriaLive(\"assertive\");\n if (!LIVE.isConnected) document.body.appendChild(LIVE);\n attr(this, \"role\", \"listbox\");\n attr(this, \"tabindex\", \"-1\");\n on(this._root, \"focusin\", this);\n on(this._root, \"focus\", this, true);\n setTimeout(() => this.attributeChangedCallback());\n }\n disconnectedCallback() {\n off(this._root || this, \"focus\", this, true);\n off(this._root || this, \"focusin\", this);\n disconnectInput(this);\n this._root = null;\n }\n attributeChangedCallback(prop, _prev, next) {\n var _a2;\n attributeTexts(this._texts, prop, next);\n const inputs = (_a2 = this._root) == null ? void 0 : _a2.querySelectorAll(`input[list=\"${this.id}\"]`);\n for (const input of inputs || []) setupInput(this, input);\n }\n handleEvent(event) {\n const { type } = event;\n if (event.defaultPrevented) return;\n if (type === \"click\") onClick(this, event);\n if (type === \"focus\" || type === \"focusin\") onFocusIn(this, event);\n if (type === \"focusout\") onFocusOut(this);\n if (type === \"keydown\") onKeyDown(this, event);\n if (type === \"mutation\" || type === \"input\") setupOptions(this, event);\n if (type === \"mouseup\") IS_PRESS = false;\n if (type === \"mousedown\") IS_PRESS = this.contains(event.target);\n }\n get options() {\n return this.getElementsByTagName(\"u-option\");\n }\n};\nvar onFocusIn = (self, { target }) => {\n var _a2;\n const isInput = self._input === target;\n const isInside = isInput || self.contains(target);\n if (isInside) return clearTimeout(self._blurTimer);\n if (!isInput && target instanceof HTMLInputElement && attr(target, \"list\") === self.id) {\n if (self._input) disconnectInput(self);\n self._input = target;\n attr(self, SAFE_LABELLEDBY, useId((_a2 = self._input.labels) == null ? void 0 : _a2[0]));\n on(self._root || self, EVENTS, self);\n mutationObserver(self, {\n attributeFilter: [\"value\"],\n // Listen for value changes to show u-options\n attributes: true,\n childList: true,\n subtree: true\n });\n setExpanded(self, true);\n }\n};\nvar onFocusOut = (self) => {\n if (!IS_PRESS) self._blurTimer = setTimeout(() => disconnectInput(self));\n};\nvar onClick = (self, { target }) => {\n var _a2, _b, _c, _d, _e;\n const isSingle = attr(self, SAFE_MULTISELECTABLE) !== \"true\";\n const option = [...self.options].find((opt) => opt.contains(target));\n if (self._input === target) {\n setExpanded(self, true);\n } else if (option && isInteractiveOption(option)) {\n for (const opt of self.options) {\n if (opt === option) opt.selected = true;\n else if (isSingle) opt.selected = false;\n }\n (_b = (_a2 = Object.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n \"value\"\n )) == null ? void 0 : _a2.set) == null ? void 0 : _b.call(self._input, option.value);\n if (isSingle) {\n (_c = self._input) == null ? void 0 : _c.focus();\n setExpanded(self, false);\n }\n (_d = self._input) == null ? void 0 : _d.dispatchEvent(\n new Event(\"input\", { bubbles: true, composed: true })\n );\n (_e = self._input) == null ? void 0 : _e.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n};\nvar onKeyDown = (self, event) => {\n var _a2, _b;\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) return;\n if (event.key !== \"Escape\") setExpanded(self, true);\n const { key } = event;\n const active = (_a2 = self._root) == null ? void 0 : _a2.activeElement;\n const options = getVisibleOptions(self);\n const index = options.indexOf(active);\n let next = -1;\n if (key === \"ArrowDown\") next = (index + 1) % options.length;\n if (key === \"ArrowUp\") next = (~index ? index : options.length) - 1;\n if (~index) {\n if (key === \"Home\" || key === \"PageUp\") next = 0;\n if (key === \"End\" || key === \"PageDown\") next = options.length - 1;\n if (key === \"Enter\") {\n options[index].click();\n return event.preventDefault();\n }\n }\n if (options[next]) for (const option of options) option.tabIndex = -1;\n if (options[next]) event.preventDefault();\n (_b = options[next] || self._input) == null ? void 0 : _b.focus();\n if (key === \"Escape\") setExpanded(self, false);\n};\nvar setExpanded = (self, open) => {\n self.hidden = !open;\n if (self.popover) self.togglePopover(open);\n if (self._input) setupInput(self, self._input, open);\n if (open) setupOptions(self);\n};\nvar disconnectInput = (self) => {\n off(self._root || self, EVENTS, self);\n mutationObserver(self, false);\n setExpanded(self, false);\n self._input = null;\n};\nvar getVisibleOptions = (self) => [...self.options].filter(\n (opt) => !opt.disabled && opt.offsetWidth && opt.offsetHeight\n // Checks disabled or visibility (since hidden attribute can be overwritten by display: block)\n);\nvar isInteractiveOption = (option) => option instanceof HTMLOptionElement || option.getAttribute(\"role\") === \"option\";\nvar setupInput = (self, input, open = false) => {\n attr(input, \"popovertarget\", useId(self));\n attr(input, \"aria-autocomplete\", \"list\");\n attr(input, \"aria-controls\", useId(self));\n attr(input, \"aria-expanded\", `${IS_SAFARI_MAC || open}`);\n attr(input, \"autocomplete\", \"off\");\n attr(input, \"role\", \"combobox\");\n};\nvar sanitize = (str) => (str == null ? void 0 : str.toLowerCase().trim()) || \"\";\nvar setupOptions = (self, event) => {\n var _a2;\n const value = sanitize((_a2 = self._input) == null ? void 0 : _a2.value);\n const hasChange = (event == null ? void 0 : event.type) === \"mutation\" || self._value !== value;\n if (!hasChange) return;\n const hidden = self.hidden;\n const isSingle = attr(self, SAFE_MULTISELECTABLE) !== \"true\";\n const isTyping = event instanceof InputEvent && !isDatalistClick(event);\n self.hidden = true;\n self._value = value;\n for (const opt of self.options) {\n const content = [opt.value, opt.label, opt.text].map(sanitize);\n opt.hidden = !content.some((str) => str.includes(value));\n if (isSingle && isTyping && isInteractiveOption(opt))\n opt.selected = content.includes(value);\n }\n self.hidden = hidden;\n const visible = getVisibleOptions(self);\n clearTimeout(LIVE_TIMER);\n LIVE_TIMER = setTimeout(() => {\n const { length } = visible.filter(isInteractiveOption);\n const liveSrFix = ++LIVE_SR_FIX % 2 ? \"\\xA0\" : \"\";\n const countText = `${`${self._texts[length === 1 ? \"singular\" : \"plural\"]}`.replace(\"%d\", `${length}`)}`;\n if (LIVE)\n LIVE.textContent = `${!length && self.innerText.trim() || countText}${liveSrFix}`;\n }, 1e3);\n if (IS_IOS)\n visible.map((opt, index, length) => {\n opt.title = `${index + 1}/${length}`;\n });\n};\nif (IS_BROWSER)\n Object.defineProperty(HTMLInputElement.prototype, \"list\", {\n configurable: true,\n enumerable: true,\n get() {\n return getRoot(this).getElementById(attr(this, \"list\") || \"\");\n }\n });\ncustomElements.define(\"u-datalist\", UHTMLDataListElement);\nvar SPLIT_CHAR = \"\\u2001\".repeat(100);\nvar SPLIT_ATTR = IS_FIREFOX ? \"label\" : \"value\";\nvar FIREFOX_OPTION_CLICK = \"insertReplacementText\";\nvar getDatalistValue = ({\n value\n}) => value.split(SPLIT_CHAR)[0];\nfunction isDatalistClick(event) {\n var _a2;\n const isClick = event instanceof Event && event.type === \"input\" && event.target instanceof HTMLInputElement && (!event.inputType || event.inputType === FIREFOX_OPTION_CLICK);\n if (isClick) {\n const value = event.target.value;\n const ignored = Array.from(((_a2 = event.target.list) == null ? void 0 : _a2.options) || []).some(\n (opt) => opt.value === value && !isInteractiveOption(opt)\n );\n event.target.value = value.split(SPLIT_CHAR)[ignored ? 1 : 0];\n }\n return isClick;\n}\nfunction syncDatalistState(input) {\n var _a2;\n for (const option of ((_a2 = input.list) == null ? void 0 : _a2.children) || [])\n if (option instanceof HTMLOptionElement || option instanceof UHTMLOptionElement) {\n option[SPLIT_ATTR] = `${getDatalistValue(option)}${SPLIT_CHAR}${input.value}`;\n }\n}\n\nexport { UHTMLDataListElement, getDatalistValue, isDatalistClick, syncDatalistState };\n"],"names":["__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","IS_BROWSER","IS_ANDROID","IS_IOS","IS_SAFARI","_a","SAFE_LABELLEDBY","SAFE_MULTISELECTABLE","DISPLAY_BLOCK","FOCUS_OUTLINE","UHTMLElement","attr","el","name","_a2","events","action","element","rest","type","on","off","attachStyle","css","createElement","observers","mutationObserver","options","observer","detail","getRoot","node","root","id","useId","tagName","text","attrs","customElements","instance","createAriaLive","mode","live","attributeTexts","texts","key2","DISABLED","SELECTED","UHTMLOptionElement","IS_PRESS","LIVE_TIMER","LIVE_SR_FIX","LIVE","IS_SAFARI_MAC","EVENTS","TEXTS","UHTMLDataListElement","disconnectInput","_prev","next","inputs","input","setupInput","event","onClick","onFocusIn","onFocusOut","onKeyDown","setupOptions","self","target","isInput","setExpanded","_b","_c","_d","_e","isSingle","option","opt","isInteractiveOption","active","getVisibleOptions","index","open","sanitize","str","hidden","isTyping","isDatalistClick","content","visible","length","liveSrFix","countText","SPLIT_CHAR","FIREFOX_OPTION_CLICK","isClick","ignored"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"u-datalist.js","sources":["../../../../../node_modules/@u-elements/u-datalist/dist/u-datalist.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// ../utils.ts\nvar IS_BROWSER = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.navigator !== \"undefined\";\nvar IS_ANDROID = IS_BROWSER && /android/i.test(navigator.userAgent);\nvar IS_IOS = IS_BROWSER && /iPad|iPhone|iPod/.test(navigator.userAgent);\nvar _a;\nIS_BROWSER && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474\n/^Mac/i.test(((_a = navigator.userAgentData) == null ? void 0 : _a.platform) || navigator.platform);\nvar SAFE_LABELLEDBY = `${IS_ANDROID ? \"data\" : \"aria\"}-labelledby`;\nvar DISPLAY_BLOCK = \":host(:not([hidden])) { display: block }\";\nvar FOCUS_OUTLINE = \"outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color\";\nvar UHTMLElement = typeof HTMLElement === \"undefined\" ? class {\n} : HTMLElement;\nfunction attr(el, name, value) {\n if (value === void 0) return el.getAttribute(name);\n if (value === null) el.removeAttribute(name);\n else if (el.getAttribute(name) !== value) el.setAttribute(name, value);\n return null;\n}\nvar events = (action, element, rest) => {\n for (const type of rest[0].split(\",\")) {\n rest[0] = type;\n Element.prototype[`${action}EventListener`].apply(element, rest);\n }\n};\nvar on = (element, ...rest) => events(\"add\", element, rest);\nvar off = (element, ...rest) => events(\"remove\", element, rest);\nvar attachStyle = (element, css) => element.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\"),\n // Unnamed slot does automatically render all top element nodes\n createElement(\"style\", css)\n);\nvar observers = /* @__PURE__ */ new WeakMap();\nvar mutationObserver = (element, options) => {\n if (options === void 0) return observers.get(element);\n try {\n observers.get(element).disconnect();\n observers.delete(element);\n } catch (err) {\n }\n if (options) {\n const observer = new MutationObserver(\n (detail) => element.handleEvent({ type: \"mutation\", detail })\n );\n observer.observe(element, options);\n observers.set(element, observer);\n }\n};\nvar getRoot = (node) => {\n var _a2;\n const root = ((_a2 = node.getRootNode) == null ? void 0 : _a2.call(node)) || node.ownerDocument;\n return root instanceof Document || root instanceof ShadowRoot ? root : document;\n};\nvar id = 0;\nvar useId = (el) => {\n if (!el) return \"\";\n if (!el.id) el.id = `:${el.nodeName.toLowerCase()}${(++id).toString(32)}`;\n return el.id;\n};\nvar createElement = (tagName, text, attrs) => {\n const el = document.createElement(tagName);\n if (text) el.textContent = text;\n return el;\n};\nvar customElements = {\n define: (name, instance) => !IS_BROWSER || window.customElements.get(name) || window.customElements.define(name, instance)\n};\nvar createAriaLive = (mode) => {\n const live = createElement(\"div\");\n live.style.cssText = \"position:fixed;overflow:hidden;width:1px;white-space:nowrap\";\n attr(live, \"aria-live\", mode);\n return live;\n};\nvar setValue = (input, data, type = \"\") => {\n var _a2, _b;\n const event = { bubbles: true, composed: true, data, inputType: type };\n const proto = HTMLInputElement.prototype;\n input.dispatchEvent(new InputEvent(\"beforeinput\", event));\n (_b = (_a2 = Object.getOwnPropertyDescriptor(proto, \"value\")) == null ? void 0 : _a2.set) == null ? void 0 : _b.call(input, data);\n input.dispatchEvent(new InputEvent(\"input\", event));\n input.dispatchEvent(new Event(\"change\", { bubbles: true }));\n};\n\n// u-option.ts\nvar DISABLED = \"disabled\";\nvar SELECTED = \"selected\";\nvar UHTMLOptionElement = class extends UHTMLElement {\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [DISABLED, SELECTED];\n }\n connectedCallback() {\n if (!IS_IOS) this.tabIndex = -1;\n if (!this.hasAttribute(\"role\")) attr(this, \"role\", \"option\");\n this.attributeChangedCallback();\n }\n attributeChangedCallback() {\n attr(this, \"aria-disabled\", `${this.disabled}`);\n attr(this, \"aria-selected\", `${this.selected}`);\n }\n /** Sets or retrieves whether the option in the list box is the default item. */\n get defaultSelected() {\n return this[SELECTED];\n }\n set defaultSelected(value) {\n this[SELECTED] = value;\n }\n get disabled() {\n return attr(this, DISABLED) !== null;\n }\n set disabled(value) {\n attr(this, DISABLED, value ? \"\" : null);\n }\n /** Retrieves a reference to the form that the object is embedded in. */\n get form() {\n return this.closest(\"form\");\n }\n /** Sets or retrieves the ordinal position of an option in a list box. */\n get index() {\n var _a2;\n return [\n ...((_a2 = this.parentElement) == null ? void 0 : _a2.options) || [this]\n ].indexOf(this);\n }\n /** Sets or retrieves a value that you can use to implement your own label functionality for the object. */\n get label() {\n var _a2;\n return (_a2 = attr(this, \"label\")) != null ? _a2 : this.text;\n }\n set label(value) {\n attr(this, \"label\", value);\n }\n get selected() {\n return attr(this, SELECTED) !== null;\n }\n set selected(value) {\n attr(this, SELECTED, value ? \"\" : null);\n }\n /** Sets or retrieves the text string specified by the option tag. */\n get text() {\n var _a2;\n return ((_a2 = this.textContent) == null ? void 0 : _a2.trim()) || \"\";\n }\n set text(text) {\n this.textContent = text;\n }\n /** Sets or retrieves the value which is returned to the server when the form control is submitted. */\n get value() {\n var _a2;\n return (_a2 = attr(this, \"value\")) != null ? _a2 : this.text;\n }\n set value(value) {\n attr(this, \"value\", value);\n }\n};\ncustomElements.define(\"u-option\", UHTMLOptionElement);\n\n// u-datalist.ts\nvar LIVE_TIMER;\nvar LIVE_SR_FIX = 0;\nvar LIVE;\nvar INPUT_DEBOUNCE = 0;\nvar IS_PRESS = false;\nvar IS_MOBILE = IS_IOS || IS_ANDROID;\nvar EVENTS = \"click,focusout,input,keydown,mousedown,mouseup\";\nvar EVENTS_INPUT = \"focus,focusin,blur,focusout\";\nvar TEXTS = {\n singular: \"%d hit\",\n plural: \"%d hits\"\n};\nvar UHTMLDataListElement = class extends UHTMLElement {\n constructor() {\n super();\n this._texts = __spreadValues({}, TEXTS);\n this._value = \"\";\n attachStyle(\n this,\n `${DISPLAY_BLOCK}\n\t\t\t::slotted(u-option) { display: block; cursor: pointer }\n\t\t\t::slotted(u-option:focus) { ${FOCUS_OUTLINE} }\n\t\t\t::slotted(u-option[aria-hidden=\"true\"]),\n\t\t\t::slotted(u-option[disabled]),\n\t\t\t::slotted(u-option[hidden]) { display: none !important }`\n );\n }\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [\"id\", ...Object.keys(TEXTS).map((key) => `data-sr-${key}`)];\n }\n connectedCallback() {\n this.hidden = true;\n this._root = getRoot(this);\n attr(this, \"role\", \"listbox\");\n attr(this, \"tabindex\", \"-1\");\n on(this._root, \"focusin\", this);\n on(this._root, \"focus\", this, true);\n mutationObserver(this, {\n attributeFilter: [\"disabled\", \"hidden\", \"label\", \"value\"],\n attributes: true,\n childList: true,\n subtree: true\n });\n setTimeout(() => this.attributeChangedCallback());\n }\n disconnectedCallback() {\n off(this._root || this, \"focus\", this, true);\n off(this._root || this, \"focusin\", this);\n mutationObserver(this, false);\n disconnectInput(this);\n this._root = void 0;\n }\n attributeChangedCallback(prop, _prev, next) {\n const text = prop == null ? void 0 : prop.split(\"data-sr-\")[1];\n const css = `input[list=\"${this.id}\"]`;\n if (TEXTS[text]) this._texts[text] = next || TEXTS[text];\n else if (this._root)\n for (const input of this._root.querySelectorAll(css))\n setupInput(this, input);\n }\n handleEvent(event) {\n const { target, type } = event;\n if (event.defaultPrevented) return;\n if (type === \"click\") onClick(this, event);\n if (type === \"focus\" || type === \"focusin\") onFocus(this, event);\n if (type === \"blur\" || type === \"focusout\") onBlur(this, event);\n if (type === \"keydown\") onKeyDown(this, event);\n if (type === \"mousedown\") IS_PRESS = this.contains(target);\n if (type === \"mouseup\") IS_PRESS = false;\n if (type === \"mutation\" || type === \"input\") {\n clearTimeout(INPUT_DEBOUNCE);\n INPUT_DEBOUNCE = setTimeout(onInput, 0, this, event);\n }\n }\n get options() {\n return this.getElementsByTagName(\"u-option\");\n }\n};\nvar setExpanded = (self, open) => {\n var _a2;\n if (self.hidden !== open) return;\n self.hidden = !open;\n if (self._input) setupInput(self, self._input, open);\n if (self.popover && ((_a2 = self._input) == null ? void 0 : _a2.isConnected)) {\n attr(self._input, \"popovertarget\", useId(self));\n attr(self, \"popover\", \"manual\");\n self.togglePopover(open);\n }\n if (open) onInput(self);\n};\nvar disconnectInput = (self) => {\n off(self._input || self, EVENTS_INPUT, self);\n off(self._root || self, EVENTS, self);\n setExpanded(self, false);\n self._input = void 0;\n};\nvar setupInput = (self, input, open = false) => {\n on(input, EVENTS_INPUT, self, true);\n attr(input, \"aria-autocomplete\", \"list\");\n attr(input, \"aria-controls\", useId(self));\n attr(input, \"aria-expanded\", `${IS_MOBILE ? open : \"true\"}`);\n attr(input, \"autocomplete\", \"off\");\n attr(input, \"role\", \"combobox\");\n};\nvar onFocus = (self, event) => {\n var _a2;\n const isInput = event.target instanceof HTMLInputElement;\n if (isInput && event.isTrusted) event.stopImmediatePropagation();\n if (!LIVE) LIVE = createAriaLive(\"assertive\");\n if (!LIVE.isConnected) document.body.appendChild(LIVE);\n if (self._input !== event.target && isInput && event.target.list === self) {\n if (self._input) disconnectInput(self);\n self._input = event.target;\n self._input.dispatchEvent(new FocusEvent(\"focus\", { view: window }));\n self._input.dispatchEvent(\n new FocusEvent(\"focusin\", { bubbles: true, view: window })\n );\n attr(self, SAFE_LABELLEDBY, useId((_a2 = self._input.labels) == null ? void 0 : _a2[0]));\n on(self._root || self, EVENTS, self);\n setExpanded(self, true);\n }\n};\nvar onBlur = (self, event) => {\n if (!IS_PRESS) setTimeout(onBlurred, 0, self);\n if (event.target === self._input && event.isTrusted)\n event.stopImmediatePropagation();\n};\nvar onBlurred = (self) => {\n var _a2;\n const relatedTarget = ((_a2 = self._root) == null ? void 0 : _a2.activeElement) || null;\n const input = self._input;\n const view = window;\n if (input && input !== relatedTarget && !self.contains(relatedTarget)) {\n input.dispatchEvent(new FocusEvent(\"blur\", { relatedTarget, view }));\n input.dispatchEvent(\n new FocusEvent(\"focusout\", { bubbles: true, relatedTarget, view })\n );\n disconnectInput(self);\n }\n};\nvar onClick = (self, { target }) => {\n if (!self._input || self._input === target) return setExpanded(self, true);\n if ([...self.options].includes(target)) {\n setValue(self._input, target.value);\n if (attr(self, \"aria-multiselectable\") !== \"true\") {\n self._input.focus();\n setExpanded(self, false);\n }\n }\n};\nvar isVisible = (el) => attr(el, \"aria-hidden\") !== \"true\";\nvar onKeyDown = (self, event) => {\n var _a2;\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) return;\n setExpanded(self, event.key !== \"Escape\" && event.key !== \"Tab\");\n const { key, target } = event;\n const options = [...self.options].filter(isVisible);\n const prev = options.indexOf(target);\n let next = -1;\n if (key === \"ArrowDown\") next = (prev + 1) % options.length;\n if (key === \"ArrowUp\") next = (~prev ? prev : options.length) - 1;\n if (~prev) {\n if (key === \"Home\" || key === \"PageUp\") next = 0;\n if (key === \"End\" || key === \"PageDown\") next = options.length - 1;\n if (key === \"Enter\") {\n options[prev].click();\n return event.preventDefault();\n }\n }\n if (options[next]) for (const option of options) option.tabIndex = -1;\n if (options[next]) event.preventDefault();\n (_a2 = options[next] || self._input) == null ? void 0 : _a2.focus();\n};\nvar onInput = (self) => {\n var _a2;\n const value = ((_a2 = self._input) == null ? void 0 : _a2.value.toLowerCase().trim()) || \"\";\n const filter = !self.hasAttribute(\"data-nofilter\");\n const visible = [];\n for (const opt of self.options) {\n const hidden = `${opt.disabled || opt.hidden || filter && !opt.label.toLowerCase().includes(value)}`;\n attr(opt, \"aria-hidden\", hidden);\n if (hidden === \"false\" && attr(opt, \"role\") !== \"none\") visible.push(opt);\n }\n const { length: total } = visible;\n clearTimeout(LIVE_TIMER);\n LIVE_TIMER = setTimeout(() => {\n var _a3;\n if (self.hidden || ((_a3 = self._root) == null ? void 0 : _a3.activeElement) !== self._input) return;\n const hitsText = `${`${self._texts[total === 1 ? \"singular\" : \"plural\"]}`.replace(\"%d\", `${total}`)}`;\n const liveText = `${!total && self.innerText.trim() || hitsText}${++LIVE_SR_FIX % 2 ? \"\\xA0\" : \"\"}`;\n if (value !== self._value && LIVE) LIVE.textContent = liveText;\n self._value = value;\n }, 1e3);\n if (IS_IOS)\n visible.forEach((opt, idx) => attr(opt, \"title\", `${idx + 1}/${total}`));\n};\nif (IS_BROWSER)\n Object.defineProperty(HTMLInputElement.prototype, \"list\", {\n configurable: true,\n enumerable: true,\n get() {\n return getRoot(this).getElementById(attr(this, \"list\") || \"\");\n }\n });\ncustomElements.define(\"u-datalist\", UHTMLDataListElement);\n\nexport { UHTMLDataListElement };\n"],"names":["__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","IS_BROWSER","IS_ANDROID","IS_IOS","_a","SAFE_LABELLEDBY","DISPLAY_BLOCK","FOCUS_OUTLINE","UHTMLElement","attr","el","name","events","action","element","rest","type","on","off","attachStyle","css","createElement","observers","mutationObserver","options","observer","detail","getRoot","node","_a2","root","id","useId","tagName","text","attrs","customElements","instance","createAriaLive","mode","live","setValue","input","data","_b","event","proto","DISABLED","SELECTED","UHTMLOptionElement","LIVE_TIMER","LIVE_SR_FIX","LIVE","INPUT_DEBOUNCE","IS_PRESS","IS_MOBILE","EVENTS","EVENTS_INPUT","TEXTS","UHTMLDataListElement","disconnectInput","_prev","next","setupInput","target","onClick","onFocus","onBlur","onKeyDown","onInput","setExpanded","self","open","isInput","onBlurred","relatedTarget","view","isVisible","prev","option","filter","visible","opt","hidden","total","_a3","hitsText","liveText","idx"],"mappings":"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","x_google_ignoreList":[0]}