@mattilsynet/design 1.3.12 → 2.0.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 (49) hide show
  1. package/mtds/alert/alert.js.map +1 -1
  2. package/mtds/analytics/analytics.js +7 -7
  3. package/mtds/analytics/analytics.js.map +1 -1
  4. package/mtds/app/app-observer.js +29 -27
  5. package/mtds/app/app-observer.js.map +1 -1
  6. package/mtds/app/app-toggle.js +26 -10
  7. package/mtds/app/app-toggle.js.map +1 -1
  8. package/mtds/app/app-toggle2.js +10 -26
  9. package/mtds/app/app-toggle2.js.map +1 -1
  10. package/mtds/app/app.js +1 -1
  11. package/mtds/app/app.js.map +1 -1
  12. package/mtds/avatar/avatar.js.map +1 -1
  13. package/mtds/breadcrumbs/breadcrumbs.js.map +1 -1
  14. package/mtds/button/button.js.map +1 -1
  15. package/mtds/card/card.js.map +1 -1
  16. package/mtds/chip/chip.js.map +1 -1
  17. package/mtds/dialog/dialog-observer.js +15 -11
  18. package/mtds/dialog/dialog-observer.js.map +1 -1
  19. package/mtds/external/@u-elements/u-combobox/dist/u-combobox.js +93 -93
  20. package/mtds/external/@u-elements/u-combobox/dist/u-combobox.js.map +1 -1
  21. package/mtds/external/@u-elements/u-datalist/dist/u-datalist.js +98 -92
  22. package/mtds/external/@u-elements/u-datalist/dist/u-datalist.js.map +1 -1
  23. package/mtds/field/field-observer.js +45 -37
  24. package/mtds/field/field-observer.js.map +1 -1
  25. package/mtds/field/field.d.ts +13 -40
  26. package/mtds/field/field.js +95 -81
  27. package/mtds/field/field.js.map +1 -1
  28. package/mtds/field/field.stories.d.ts +16 -61
  29. package/mtds/index.d.ts +2 -2
  30. package/mtds/index.iife.js +8 -8
  31. package/mtds/index.js +11 -11
  32. package/mtds/logo/logo.js.map +1 -1
  33. package/mtds/package.json.js +1 -1
  34. package/mtds/pagination/pagination.d.ts +18 -2
  35. package/mtds/pagination/pagination.js +68 -12
  36. package/mtds/pagination/pagination.js.map +1 -1
  37. package/mtds/pagination/pagination.stories.d.ts +38 -0
  38. package/mtds/popover/popover-observer.js.map +1 -1
  39. package/mtds/popover/popover.js.map +1 -1
  40. package/mtds/skeleton/skeleton.js.map +1 -1
  41. package/mtds/styles.css +1 -1
  42. package/mtds/tag/tag.js.map +1 -1
  43. package/mtds/tooltip/tooltip-observer.js +14 -14
  44. package/mtds/tooltip/tooltip-observer.js.map +1 -1
  45. package/mtds/typography/typography.js.map +1 -1
  46. package/mtds/utils.d.ts +0 -6
  47. package/mtds/utils.js +51 -51
  48. package/mtds/utils.js.map +1 -1
  49. package/package.json +15 -15
@@ -1,75 +1,75 @@
1
- var X = Object.defineProperty, A = Object.getOwnPropertySymbols, Y = Object.prototype.hasOwnProperty, q = Object.prototype.propertyIsEnumerable, D = (t, e, i) => e in t ? X(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i, z = (t, e) => {
1
+ var q = Object.defineProperty, k = Object.getOwnPropertySymbols, z = Object.prototype.hasOwnProperty, G = Object.prototype.propertyIsEnumerable, $ = (t, e, i) => e in t ? q(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i, J = (t, e) => {
2
2
  for (var i in e || (e = {}))
3
- Y.call(e, i) && D(t, i, e[i]);
4
- if (A)
5
- for (var i of A(e))
6
- q.call(e, i) && D(t, i, e[i]);
3
+ z.call(e, i) && $(t, i, e[i]);
4
+ if (k)
5
+ for (var i of k(e))
6
+ G.call(e, i) && $(t, i, e[i]);
7
7
  return t;
8
- }, f = typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", w = f && /android/i.test(navigator.userAgent), C = f && /iPad|iPhone|iPod/.test(navigator.userAgent), $;
9
- f && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474
10
- /^Mac/i.test((($ = navigator.userAgentData) == null ? void 0 : $.platform) || navigator.platform);
11
- var G = `${w ? "data" : "aria"}-labelledby`, J = ":host(:not([hidden])) { display: block }", Q = "outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color", H = typeof HTMLElement > "u" ? class {
8
+ }, b = typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", y = b && /android/i.test(navigator.userAgent), P = b && /iPad|iPhone|iPod/.test(navigator.userAgent), M;
9
+ b && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474
10
+ /^Mac/i.test(((M = navigator.userAgentData) == null ? void 0 : M.platform) || navigator.platform);
11
+ var Q = `${y ? "data" : "aria"}-labelledby`, Z = ":host(:not([hidden])) { display: block }", tt = "outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color", N = typeof HTMLElement > "u" ? class {
12
12
  } : HTMLElement;
13
13
  function r(t, e, i) {
14
14
  return i === void 0 ? t.getAttribute(e) : (i === null ? t.removeAttribute(e) : t.getAttribute(e) !== i && t.setAttribute(e, i), null);
15
15
  }
16
- var N = (t, e, i) => {
16
+ var R = (t, e, i) => {
17
17
  for (const o of i[0].split(","))
18
18
  i[0] = o, Element.prototype[`${t}EventListener`].apply(e, i);
19
- }, v = (t, ...e) => N("add", t, e), E = (t, ...e) => N("remove", t, e), Z = (t, e) => t.attachShadow({ mode: "open" }).append(
20
- S("slot"),
19
+ }, f = (t, ...e) => R("add", t, e), w = (t, ...e) => R("remove", t, e), et = (t, e) => t.attachShadow({ mode: "open" }).append(
20
+ L("slot"),
21
21
  // Unnamed slot does automatically render all top element nodes
22
- S("style", e)
23
- ), m = /* @__PURE__ */ new WeakMap(), x = (t, e) => {
24
- if (e === void 0) return m.get(t);
22
+ L("style", e)
23
+ ), E = /* @__PURE__ */ new WeakMap(), S = (t, e) => {
24
+ if (e === void 0) return E.get(t);
25
25
  try {
26
- m.get(t).disconnect(), m.delete(t);
26
+ E.get(t).disconnect(), E.delete(t);
27
27
  } catch {
28
28
  }
29
29
  if (e) {
30
30
  const i = new MutationObserver(
31
31
  (o) => t.handleEvent({ type: "mutation", detail: o })
32
32
  );
33
- i.observe(t, e), m.set(t, i);
33
+ i.observe(t, e), E.set(t, i);
34
34
  }
35
- }, R = (t) => {
35
+ }, U = (t) => {
36
36
  var e;
37
37
  const i = ((e = t.getRootNode) == null ? void 0 : e.call(t)) || t.ownerDocument;
38
38
  return i instanceof Document || i instanceof ShadowRoot ? i : document;
39
- }, tt = 0, T = (t) => t ? (t.id || (t.id = `:${t.nodeName.toLowerCase()}${(++tt).toString(32)}`), t.id) : "", S = (t, e, i) => {
39
+ }, it = 0, C = (t) => t ? (t.id || (t.id = `:${t.nodeName.toLowerCase()}${(++it).toString(32)}`), t.id) : "", L = (t, e, i) => {
40
40
  const o = document.createElement(t);
41
41
  return e && (o.textContent = e), o;
42
- }, U = {
43
- define: (t, e) => !f || window.customElements.get(t) || window.customElements.define(t, e)
44
- }, c, et = 0, F = (t) => {
45
- c || (c = S("div"), c.style.cssText = "position:fixed;overflow:hidden;width:1px;white-space:nowrap", r(c, "aria-live", "assertive")), c.isConnected || document.body.append(c), t && (c.textContent = `${t}${et++ % 2 ? " " : ""}`);
46
- }, it = (t, e, i = "") => {
47
- var o, s;
48
- const n = { bubbles: !0, composed: !0, data: e, inputType: i }, u = HTMLInputElement.prototype;
49
- t.dispatchEvent(new InputEvent("beforeinput", n)), (s = (o = Object.getOwnPropertyDescriptor(u, "value")) == null ? void 0 : o.set) == null || s.call(t, e), t.dispatchEvent(new InputEvent("input", n)), t.dispatchEvent(new Event("change", { bubbles: !0 }));
50
- }, y = !1, O = (t) => (t?.type === "mouseup" && (y = !1), t?.type === "mousedown" && (y = !0, v(document, "mouseup", O, { once: !0 })), y), I = "disabled", p = "selected", ot = class extends H {
42
+ }, F = {
43
+ define: (t, e) => !b || window.customElements.get(t) || window.customElements.define(t, e)
44
+ }, v, ot = 0, V = (t) => {
45
+ v || (v = L("div"), v.style.cssText = "position:fixed;overflow:hidden;width:1px;white-space:nowrap", r(v, "aria-live", "assertive")), v.isConnected || document.body.append(v), t && (v.textContent = `${t}${ot++ % 2 ? " " : ""}`);
46
+ }, rt = (t, e, i = "") => {
47
+ var o, u;
48
+ const s = { bubbles: !0, composed: !0, data: e, inputType: i }, l = HTMLInputElement.prototype;
49
+ t.dispatchEvent(new InputEvent("beforeinput", s)), (u = (o = Object.getOwnPropertyDescriptor(l, "value")) == null ? void 0 : o.set) == null || u.call(t, e), t.dispatchEvent(new InputEvent("input", s)), t.dispatchEvent(new Event("change", { bubbles: !0 }));
50
+ }, x = !1, D = (t) => (t?.type === "mouseup" && (x = !1), t?.type === "mousedown" && (x = !0, f(document, "mouseup", D, { once: !0 })), x), T = "disabled", h = "selected", nt = class extends N {
51
51
  // Using ES2015 syntax for backwards compatibility
52
52
  static get observedAttributes() {
53
- return [I, p];
53
+ return [T, h];
54
54
  }
55
55
  connectedCallback() {
56
- C || (this.tabIndex = -1), this.hasAttribute("role") || r(this, "role", "option"), this.attributeChangedCallback();
56
+ P || (this.tabIndex = -1), this.hasAttribute("role") || r(this, "role", "option"), this.attributeChangedCallback();
57
57
  }
58
58
  attributeChangedCallback() {
59
59
  r(this, "aria-disabled", `${this.disabled}`), r(this, "aria-selected", `${this.selected}`);
60
60
  }
61
61
  /** Sets or retrieves whether the option in the list box is the default item. */
62
62
  get defaultSelected() {
63
- return this[p];
63
+ return this[h];
64
64
  }
65
65
  set defaultSelected(t) {
66
- this[p] = t;
66
+ this[h] = t;
67
67
  }
68
68
  get disabled() {
69
- return r(this, I) !== null;
69
+ return r(this, T) !== null;
70
70
  }
71
71
  set disabled(t) {
72
- r(this, I, t ? "" : null);
72
+ r(this, T, t ? "" : null);
73
73
  }
74
74
  /** Retrieves a reference to the form that the object is embedded in. */
75
75
  get form() {
@@ -91,10 +91,10 @@ var N = (t, e, i) => {
91
91
  r(this, "label", t);
92
92
  }
93
93
  get selected() {
94
- return r(this, p) !== null;
94
+ return r(this, h) !== null;
95
95
  }
96
96
  set selected(t) {
97
- r(this, p, t ? "" : null);
97
+ r(this, h, t ? "" : null);
98
98
  }
99
99
  /** Sets or retrieves the text string specified by the option tag. */
100
100
  get text() {
@@ -113,17 +113,17 @@ var N = (t, e, i) => {
113
113
  r(this, "value", t);
114
114
  }
115
115
  };
116
- U.define("u-option", ot);
117
- var M, B = 0, rt = C || w, V = "click,focusout,input,keydown,mousedown,mouseup", K = "focus,focusin,blur,focusout", g = {
116
+ F.define("u-option", nt);
117
+ var B, H = 0, at = P || y, K = "click,focusout,input,keydown,mousedown,mouseup", j = "focus,focusin,blur,focusout", g = {
118
118
  singular: "%d hit",
119
119
  plural: "%d hits"
120
- }, nt = class extends H {
120
+ }, ut = class extends N {
121
121
  constructor() {
122
- super(), this._texts = z({}, g), this._value = "", Z(
122
+ super(), this._texts = J({}, g), this._value = "", et(
123
123
  this,
124
- `${J}
124
+ `${Z}
125
125
  ::slotted(u-option) { display: block; cursor: pointer }
126
- ::slotted(u-option:focus) { ${Q} }
126
+ ::slotted(u-option:focus) { ${tt} }
127
127
  ::slotted(u-option[aria-hidden="true"]),
128
128
  ::slotted(u-option[disabled]),
129
129
  ::slotted(u-option[hidden]) { display: none !important }`
@@ -135,7 +135,7 @@ var M, B = 0, rt = C || w, V = "click,focusout,input,keydown,mousedown,mouseup",
135
135
  return ["id", ...Object.keys(g).map((t) => `data-sr-${t}`)];
136
136
  }
137
137
  connectedCallback() {
138
- this.hidden = !0, this._root = R(this), r(this, "role", "listbox"), r(this, "tabindex", "-1"), v(this._root, "focusin", this), v(this._root, "focus", this, !0), x(this, {
138
+ this.hidden = !0, this._root = U(this), r(this, "role", "listbox"), r(this, "tabindex", "-1"), f(this._root, "focusin", this), f(this._root, "focus", this, !0), S(this, {
139
139
  attributeFilter: ["disabled", "hidden", "label", "value"],
140
140
  attributes: !0,
141
141
  characterData: !0,
@@ -144,84 +144,90 @@ var M, B = 0, rt = C || w, V = "click,focusout,input,keydown,mousedown,mouseup",
144
144
  }), setTimeout(() => this.attributeChangedCallback());
145
145
  }
146
146
  disconnectedCallback() {
147
- E(this._root || this, "focus", this, !0), E(this._root || this, "focusin", this), x(this, !1), P(this), this._root = void 0;
147
+ w(this._root || this, "focus", this, !0), w(this._root || this, "focusin", this), S(this, !1), A(this), this._root = void 0;
148
148
  }
149
149
  attributeChangedCallback(t, e, i) {
150
- const o = t?.split("data-sr-")[1], s = `input[list="${this.id}"]`;
150
+ const o = t?.split("data-sr-")[1], u = `input[list="${this.id}"]`;
151
151
  if (g[o]) this._texts[o] = i || g[o];
152
152
  else if (this._root) {
153
- this._input && L(this, this._input);
154
- for (const n of this._root.querySelectorAll(s))
155
- L(this, n);
153
+ this._input && O(this, this._input);
154
+ for (const s of this._root.querySelectorAll(u))
155
+ O(this, s);
156
156
  }
157
157
  }
158
158
  handleEvent(t) {
159
159
  const { target: e, type: i } = t;
160
- t.defaultPrevented || (i === "click" && st(this, t), (i === "focus" || i === "focusin") && at(this, t), (i === "blur" || i === "focusout") && ut(this, t), i === "keydown" && dt(this, t), i === "mousedown" && this.contains(e) && O(t), (i === "mutation" || i === "input") && (clearTimeout(B), B = setTimeout(W, 0, this, t)));
160
+ t.defaultPrevented || (i === "click" && lt(this, t), (i === "focus" || i === "focusin") && st(this, t), (i === "blur" || i === "focusout") && dt(this, t), i === "keydown" && ct(this, t), i === "mousedown" && this.contains(e) && D(t), (i === "mutation" || i === "input") && (clearTimeout(H), H = setTimeout(Y, 0, this, t)));
161
161
  }
162
162
  get options() {
163
163
  return this.getElementsByTagName("u-option");
164
164
  }
165
- }, h = (t, e) => {
166
- var i, o;
167
- t.hidden === e && (t.hidden = !e, (i = x(t)) == null || i.takeRecords(), t._input && L(t, t._input, e), t.popover && ((o = t._input) != null && o.isConnected) && (r(t, "popover", "manual"), t.togglePopover(e)), e && W(t));
168
- }, P = (t) => {
169
- t._input && (E(t._input || t, K, t), E(t._root || t, V, t), h(t, !1), t._input = void 0);
170
- }, L = (t, e, i = !1) => {
171
- t.popover && r(e, "popovertarget", T(t)), v(e, K, t, !0), r(e, "aria-autocomplete", "list"), r(e, "aria-controls", T(t)), r(e, "aria-expanded", `${rt ? i : "true"}`), r(e, "autocomplete", "off"), r(e, "role", "combobox");
172
- }, at = (t, e) => {
165
+ }, W = (t) => t?.disabled || t?.readOnly || !1, _ = (t, e) => {
166
+ var i, o, u;
167
+ if (t.hidden !== e) return;
168
+ t.hidden = W(t?._input) || !e, (i = S(t)) == null || i.takeRecords();
169
+ const s = t.isConnected && t.popover && ((o = t._input) == null ? void 0 : o.isConnected) && ((u = t._input) == null ? void 0 : u.popoverTargetElement) === t;
170
+ t._input && O(t, t._input, e), s && r(t, "popover", "manual"), s && t.togglePopover(e), e && Y(t);
171
+ }, A = (t) => {
172
+ t._input && (w(t._input || t, j, t), w(t._root || t, K, t), _(t, !1), t._input = void 0);
173
+ }, O = (t, e, i = !1) => {
174
+ t.popover && r(e, "popovertarget", C(t)), f(e, j, t, !0), r(e, "aria-autocomplete", "list"), r(e, "aria-controls", C(t)), r(e, "aria-expanded", `${!at || i}`), r(e, "autocomplete", "off"), r(e, "role", W(e) ? null : "combobox");
175
+ }, st = (t, e) => {
173
176
  var i;
174
177
  const o = e.target instanceof HTMLInputElement;
175
- o && e.isTrusted && e.stopImmediatePropagation(), t._input !== e.target && o && e.target.list === t && (t._input && P(t), t._input = e.target, t._input.dispatchEvent(new FocusEvent("focus")), t._input.dispatchEvent(new FocusEvent("focusin", { bubbles: !0 })), r(t, G, T((i = t._input.labels) == null ? void 0 : i[0])), v(t._root || t, V, t), h(t, !0), F());
176
- }, ut = (t, e) => {
177
- !w && !O() && t._input && setTimeout(j, 0, t), e.target === t._input && e.isTrusted && e.stopImmediatePropagation();
178
- }, j = (t) => {
178
+ o && e.isTrusted && e.stopImmediatePropagation(), t._input !== e.target && o && e.target.list === t && (t._input && A(t), t._input = e.target, t._input.dispatchEvent(new FocusEvent("focus")), t._input.dispatchEvent(new FocusEvent("focusin", { bubbles: !0 })), r(t, Q, C((i = t._input.labels) == null ? void 0 : i[0])), f(t._root || t, K, t), _(t, r(t._input, "inputmode") !== "none"), V());
179
+ }, dt = (t, e) => {
180
+ !y && !D() && t._input && setTimeout(X, 0, t), e.target === t._input && e.isTrusted && e.stopImmediatePropagation();
181
+ }, X = (t) => {
179
182
  var e;
180
183
  const i = ((e = t._root) == null ? void 0 : e.activeElement) || null, o = t._input;
181
184
  o && o !== i && !t.contains(i) && (o.dispatchEvent(new FocusEvent("blur", { relatedTarget: i })), o.dispatchEvent(
182
185
  new FocusEvent("focusout", { bubbles: !0, relatedTarget: i })
183
- ), P(t));
184
- }, st = (t, { target: e }) => {
186
+ ), A(t));
187
+ }, lt = (t, { target: e }) => {
185
188
  var i;
186
- if (!t._input || t._input === e) return h(t, !0);
189
+ if (!t._input || t._input === e) return _(t, !0);
187
190
  for (const o of t.options)
188
191
  if (o.contains(e))
189
- return r(t, "aria-multiselectable") !== "true" && ((i = t._input) == null || i.focus(), h(t, !1)), it(t._input, o.value);
190
- w && j(t);
191
- }, dt = (t, e) => {
192
+ return r(t, "aria-multiselectable") !== "true" && ((i = t._input) == null || i.focus(), _(t, !1)), rt(t._input, o.value);
193
+ y && X(t);
194
+ }, ct = (t, e) => {
192
195
  var i;
193
- if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.key === "Tab")
194
- return;
195
- h(t, e.key !== "Escape");
196
- const { key: o, target: s } = e, n = [...t.options].filter(
197
- (l) => r(l, "aria-hidden") !== "true" && l.offsetHeight
198
- ), u = n.indexOf(s);
196
+ const { key: o, target: u, altKey: s, ctrlKey: l, shiftKey: I, metaKey: m } = e, c = o === "Escape" || o === "Esc";
197
+ if (s || l || m || I || o === "Tab") return;
198
+ c && !t.hidden && e?.preventDefault(), _(t, !c);
199
+ const a = [...t.options].filter(
200
+ (p) => r(p, "aria-hidden") !== "true" && p.offsetHeight
201
+ ), n = a.indexOf(u);
199
202
  let d = -1;
200
- if (o === "ArrowDown" && (d = (u + 1) % n.length), o === "ArrowUp" && (d = (~u ? u : n.length) - 1), ~u && ((o === "Home" || o === "PageUp") && (d = 0), (o === "End" || o === "PageDown") && (d = n.length - 1), o === "Enter"))
201
- return n[u].click(), e.preventDefault();
202
- if (n[d]) for (const l of n) l.tabIndex = -1;
203
- n[d] && e.preventDefault(), (i = n[d] || t._input) == null || i.focus();
204
- }, W = (t, e) => {
205
- const { _texts: i, _root: o, _input: s, options: n } = t, u = s?.value.toLowerCase().trim() || "", d = !t.hasAttribute("data-nofilter"), l = [], b = [];
206
- for (const a of n)
207
- (a.disabled || a.hidden || d && !a.label.toLowerCase().includes(u) ? l : b).push(a);
208
- for (const a of l) r(a, "aria-hidden", "true");
209
- for (const a of b) r(a, "aria-hidden", "false");
210
- const _ = b.length;
211
- clearTimeout(M), e?.type === "input" && u !== t._value && (M = setTimeout(() => {
212
- const a = `${!_ && t.innerText.trim() || `${i[_ === 1 ? "singular" : "plural"]}`.replace("%d", `${_}`)}`;
213
- !t.hidden && o?.activeElement === s && F(a), t._value = u;
214
- }, 1e3)), C && b.forEach((a, k) => r(a, "title", `${k + 1}/${_}`));
203
+ if (o === "ArrowDown" && (d = (n + 1) % a.length), o === "ArrowUp" && (d = (~n ? n : a.length) - 1), ~n && ((o === "Home" || o === "PageUp") && (d = 0), (o === "End" || o === "PageDown") && (d = a.length - 1), o === "Enter"))
204
+ return a[n].click(), e.preventDefault();
205
+ if (a[d]) for (const p of a) p.tabIndex = -1;
206
+ a[d] && e.preventDefault(), (i = a[d] || t._input) == null || i.focus(), !a[d] && o === "ArrowUp" && setTimeout(() => {
207
+ var p;
208
+ return (p = t._input) == null ? void 0 : p.setSelectionRange(999, 999);
209
+ });
210
+ }, Y = (t, e) => {
211
+ const { _texts: i, _root: o, _input: u, options: s } = t, l = u?.value.toLowerCase().trim() || "", I = !t.hasAttribute("data-nofilter"), m = [], c = [];
212
+ for (const n of s)
213
+ (n.disabled || n.hidden || I && !n.label.toLowerCase().includes(l) ? m : c).push(n);
214
+ for (const n of m) r(n, "aria-hidden", "true");
215
+ for (const n of c) r(n, "aria-hidden", "false");
216
+ const a = c.length;
217
+ clearTimeout(B), e?.type === "input" && l !== t._value && (B = setTimeout(() => {
218
+ const n = `${!a && t.innerText.trim() || `${i[a === 1 ? "singular" : "plural"]}`.replace("%d", `${a}`)}`;
219
+ !t.hidden && o?.activeElement === u && V(n), t._value = l;
220
+ }, 1e3)), P && c.forEach((n, d) => r(n, "title", `${d + 1}/${a}`));
215
221
  };
216
- f && Object.defineProperty(HTMLInputElement.prototype, "list", {
222
+ b && Object.defineProperty(HTMLInputElement.prototype, "list", {
217
223
  configurable: !0,
218
224
  enumerable: !0,
219
225
  get() {
220
- return R(this).getElementById(r(this, "list") || "");
226
+ return U(this).getElementById(r(this, "list") || "");
221
227
  }
222
228
  });
223
- U.define("u-datalist", nt);
229
+ F.define("u-datalist", ut);
224
230
  export {
225
- nt as UHTMLDataListElement
231
+ ut as UHTMLDataListElement
226
232
  };
227
233
  //# 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_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 LIVE;\nvar LIVE_SR_FIX = 0;\nvar speak = (text) => {\n if (!LIVE) {\n LIVE = createElement(\"div\");\n LIVE.style.cssText = \"position:fixed;overflow:hidden;width:1px;white-space:nowrap\";\n attr(LIVE, \"aria-live\", \"assertive\");\n }\n if (!LIVE.isConnected) document.body.append(LIVE);\n if (text) LIVE.textContent = `${text}${LIVE_SR_FIX++ % 2 ? \"\\xA0\" : \"\"}`;\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};\nvar IS_PRESS = false;\nvar isMouseDown = (event) => {\n if ((event == null ? void 0 : event.type) === \"mouseup\") IS_PRESS = false;\n if ((event == null ? void 0 : event.type) === \"mousedown\") {\n IS_PRESS = true;\n on(document, \"mouseup\", isMouseDown, { once: true });\n }\n return IS_PRESS;\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 INPUT_DEBOUNCE = 0;\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 // Used to prevent unnecessary announcements\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 characterData: 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 if (this._input) setupInput(this, this._input);\n for (const input of this._root.querySelectorAll(css))\n setupInput(this, input);\n }\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\" && this.contains(target))\n isMouseDown(event);\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, _b;\n if (self.hidden !== open) return;\n self.hidden = !open;\n (_a2 = mutationObserver(self)) == null ? void 0 : _a2.takeRecords();\n if (self._input) setupInput(self, self._input, open);\n if (self.popover && ((_b = self._input) == null ? void 0 : _b.isConnected)) {\n attr(self, \"popover\", \"manual\");\n self.togglePopover(open);\n }\n if (open) onInput(self);\n};\nvar disconnectInput = (self) => {\n if (!self._input) return;\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 if (self.popover) attr(input, \"popovertarget\", useId(self));\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 (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\"));\n self._input.dispatchEvent(new FocusEvent(\"focusin\", { bubbles: true }));\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 speak();\n }\n};\nvar onBlur = (self, event) => {\n if (!IS_ANDROID && !isMouseDown() && self._input)\n 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 if (input && input !== relatedTarget && !self.contains(relatedTarget)) {\n input.dispatchEvent(new FocusEvent(\"blur\", { relatedTarget }));\n input.dispatchEvent(\n new FocusEvent(\"focusout\", { bubbles: true, relatedTarget })\n );\n disconnectInput(self);\n }\n};\nvar onClick = (self, { target }) => {\n var _a2;\n if (!self._input || self._input === target) return setExpanded(self, true);\n for (const opt of self.options)\n if (opt.contains(target)) {\n if (attr(self, \"aria-multiselectable\") !== \"true\") {\n (_a2 = self._input) == null ? void 0 : _a2.focus();\n setExpanded(self, false);\n }\n return setValue(self._input, opt.value);\n }\n if (IS_ANDROID) onBlurred(self);\n};\nvar onKeyDown = (self, e) => {\n var _a2;\n if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.key === \"Tab\")\n return;\n setExpanded(self, e.key !== \"Escape\");\n const { key, target } = e;\n const options = [...self.options].filter(\n (el) => attr(el, \"aria-hidden\") !== \"true\" && el.offsetHeight\n );\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 e.preventDefault();\n }\n }\n if (options[next]) for (const option of options) option.tabIndex = -1;\n if (options[next]) e.preventDefault();\n (_a2 = options[next] || self._input) == null ? void 0 : _a2.focus();\n};\nvar onInput = (self, e) => {\n const { _texts, _root, _input, options } = self;\n const value = (_input == null ? void 0 : _input.value.toLowerCase().trim()) || \"\";\n const filter = !self.hasAttribute(\"data-nofilter\");\n const hidden = [];\n const visible = [];\n for (const opt of options) {\n const hide = opt.disabled || opt.hidden || filter && !opt.label.toLowerCase().includes(value);\n (hide ? hidden : visible).push(opt);\n }\n for (const opt of hidden) attr(opt, \"aria-hidden\", \"true\");\n for (const opt of visible) attr(opt, \"aria-hidden\", \"false\");\n const total = visible.length;\n clearTimeout(LIVE_TIMER);\n if ((e == null ? void 0 : e.type) === \"input\" && value !== self._value)\n LIVE_TIMER = setTimeout(() => {\n const text = `${!total && self.innerText.trim() || `${_texts[total === 1 ? \"singular\" : \"plural\"]}`.replace(\"%d\", `${total}`)}`;\n if (!self.hidden && (_root == null ? void 0 : _root.activeElement) === _input) speak(text);\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","LIVE","LIVE_SR_FIX","speak","setValue","input","data","_b","event","proto","IS_PRESS","isMouseDown","DISABLED","SELECTED","UHTMLOptionElement","LIVE_TIMER","INPUT_DEBOUNCE","IS_MOBILE","EVENTS","EVENTS_INPUT","TEXTS","UHTMLDataListElement","disconnectInput","_prev","next","setupInput","target","onClick","onFocus","onBlur","onKeyDown","onInput","setExpanded","self","open","isInput","onBlurred","relatedTarget","opt","prev","option","_texts","_root","_input","filter","hidden","visible","total","idx"],"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 LIVE;\nvar LIVE_SR_FIX = 0;\nvar speak = (text) => {\n if (!LIVE) {\n LIVE = createElement(\"div\");\n LIVE.style.cssText = \"position:fixed;overflow:hidden;width:1px;white-space:nowrap\";\n attr(LIVE, \"aria-live\", \"assertive\");\n }\n if (!LIVE.isConnected) document.body.append(LIVE);\n if (text) LIVE.textContent = `${text}${LIVE_SR_FIX++ % 2 ? \"\\xA0\" : \"\"}`;\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};\nvar IS_PRESS = false;\nvar isMouseDown = (event) => {\n if ((event == null ? void 0 : event.type) === \"mouseup\") IS_PRESS = false;\n if ((event == null ? void 0 : event.type) === \"mousedown\") {\n IS_PRESS = true;\n on(document, \"mouseup\", isMouseDown, { once: true });\n }\n return IS_PRESS;\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 INPUT_DEBOUNCE = 0;\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 // Used to prevent unnecessary announcements\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 characterData: 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 if (this._input) setupInput(this, this._input);\n for (const input of this._root.querySelectorAll(css))\n setupInput(this, input);\n }\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\" && this.contains(target))\n isMouseDown(event);\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 isDisabled = (input) => (input == null ? void 0 : input.disabled) || (input == null ? void 0 : input.readOnly) || false;\nvar setExpanded = (self, open) => {\n var _a2, _b, _c;\n if (self.hidden !== open) return;\n self.hidden = isDisabled(self == null ? void 0 : self._input) || !open;\n (_a2 = mutationObserver(self)) == null ? void 0 : _a2.takeRecords();\n const isPopover = self.isConnected && self.popover && ((_b = self._input) == null ? void 0 : _b.isConnected) && ((_c = self._input) == null ? void 0 : _c.popoverTargetElement) === self;\n if (self._input) setupInput(self, self._input, open);\n if (isPopover) attr(self, \"popover\", \"manual\");\n if (isPopover) self.togglePopover(open);\n if (open) onInput(self);\n};\nvar disconnectInput = (self) => {\n if (!self._input) return;\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 if (self.popover) attr(input, \"popovertarget\", useId(self));\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}`);\n attr(input, \"autocomplete\", \"off\");\n attr(input, \"role\", isDisabled(input) ? null : \"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 (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\"));\n self._input.dispatchEvent(new FocusEvent(\"focusin\", { bubbles: true }));\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, attr(self._input, \"inputmode\") !== \"none\");\n speak();\n }\n};\nvar onBlur = (self, event) => {\n if (!IS_ANDROID && !isMouseDown() && self._input)\n 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 if (input && input !== relatedTarget && !self.contains(relatedTarget)) {\n input.dispatchEvent(new FocusEvent(\"blur\", { relatedTarget }));\n input.dispatchEvent(\n new FocusEvent(\"focusout\", { bubbles: true, relatedTarget })\n );\n disconnectInput(self);\n }\n};\nvar onClick = (self, { target }) => {\n var _a2;\n if (!self._input || self._input === target) return setExpanded(self, true);\n for (const opt of self.options)\n if (opt.contains(target)) {\n if (attr(self, \"aria-multiselectable\") !== \"true\") {\n (_a2 = self._input) == null ? void 0 : _a2.focus();\n setExpanded(self, false);\n }\n return setValue(self._input, opt.value);\n }\n if (IS_ANDROID) onBlurred(self);\n};\nvar onKeyDown = (self, e) => {\n var _a2;\n const { key, target, altKey, ctrlKey, shiftKey, metaKey } = e;\n const isEscape = key === \"Escape\" || key === \"Esc\";\n if (altKey || ctrlKey || metaKey || shiftKey || key === \"Tab\") return;\n if (isEscape && !self.hidden) e == null ? void 0 : e.preventDefault();\n setExpanded(self, !isEscape);\n const options = [...self.options].filter(\n (el) => attr(el, \"aria-hidden\") !== \"true\" && el.offsetHeight\n );\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 e.preventDefault();\n }\n }\n if (options[next]) for (const option of options) option.tabIndex = -1;\n if (options[next]) e.preventDefault();\n (_a2 = options[next] || self._input) == null ? void 0 : _a2.focus();\n if (!options[next] && key === \"ArrowUp\")\n setTimeout(() => {\n var _a3;\n return (_a3 = self._input) == null ? void 0 : _a3.setSelectionRange(999, 999);\n });\n};\nvar onInput = (self, e) => {\n const { _texts, _root, _input, options } = self;\n const value = (_input == null ? void 0 : _input.value.toLowerCase().trim()) || \"\";\n const filter = !self.hasAttribute(\"data-nofilter\");\n const hidden = [];\n const visible = [];\n for (const opt of options) {\n const hide = opt.disabled || opt.hidden || filter && !opt.label.toLowerCase().includes(value);\n (hide ? hidden : visible).push(opt);\n }\n for (const opt of hidden) attr(opt, \"aria-hidden\", \"true\");\n for (const opt of visible) attr(opt, \"aria-hidden\", \"false\");\n const total = visible.length;\n clearTimeout(LIVE_TIMER);\n if ((e == null ? void 0 : e.type) === \"input\" && value !== self._value)\n LIVE_TIMER = setTimeout(() => {\n const text = `${!total && self.innerText.trim() || `${_texts[total === 1 ? \"singular\" : \"plural\"]}`.replace(\"%d\", `${total}`)}`;\n if (!self.hidden && (_root == null ? void 0 : _root.activeElement) === _input) speak(text);\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","LIVE","LIVE_SR_FIX","speak","setValue","input","data","_b","event","proto","IS_PRESS","isMouseDown","DISABLED","SELECTED","UHTMLOptionElement","LIVE_TIMER","INPUT_DEBOUNCE","IS_MOBILE","EVENTS","EVENTS_INPUT","TEXTS","UHTMLDataListElement","disconnectInput","_prev","next","setupInput","target","onClick","onFocus","onBlur","onKeyDown","onInput","isDisabled","setExpanded","self","open","_c","isPopover","isInput","onBlurred","relatedTarget","opt","altKey","ctrlKey","shiftKey","metaKey","isEscape","prev","option","_a3","_texts","_root","_input","filter","hidden","visible","total","idx"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,70 +1,78 @@
1
1
  import { UHTMLComboboxElement as g } from "../external/@u-elements/u-combobox/dist/u-combobox.js";
2
- import { UHTMLDataListElement as S } from "../external/@u-elements/u-datalist/dist/u-datalist.js";
2
+ import { UHTMLDataListElement as E } from "../external/@u-elements/u-datalist/dist/u-datalist.js";
3
3
  import v from "../styles.module.css.js";
4
- import { onLoaded as I, onMutation as M, on as u, QUICK_EVENT as m, isInputLike as x, attr as n, useId as h, anchorPosition as p } from "../utils.js";
5
- const b = v.field.split(" ")[0], y = v.validation.split(" "), A = y[0], i = (t, o) => t.getPropertyValue(`--mtds-text-${o}`)?.slice(1, -1) || "";
6
- function L(t, o) {
7
- for (const r of t)
8
- if (r.isConnected) {
9
- const l = [], s = [], f = [];
10
- let c = null, a = null, d = !0;
11
- for (const e of r.getElementsByTagName("*"))
12
- e instanceof HTMLLabelElement ? l.push(e) : e instanceof g ? c = e : x(e) && !e.hidden ? a = e : e.hasAttribute("data-description") ? s.push(e) : e.classList.contains(A) ? (d = n(e, "data-color") === "success" || !e.clientHeight, f.push(e), s.unshift(e)) : e instanceof HTMLParagraphElement && (s.some((E) => E.contains(e)) || s.push(e));
13
- if (a) {
14
- for (const e of l) e.htmlFor = h(a);
15
- if (o && n(r, "data-validation") === "form") {
16
- d = a.matches(":valid");
17
- for (const e of f) n(e, "hidden", d ? "" : null);
4
+ import { onLoaded as I, onMutation as A, on as f, QUICK_EVENT as p, isInputLike as x, attr as n, useId as b, anchorPosition as m } from "../utils.js";
5
+ const h = v.field.split(" ")[0], y = v.validation.split(" "), M = y[0], a = (t, o) => t.getPropertyValue(`--mtds-text-${o}`)?.slice(1, -1) || "";
6
+ function T(t, o) {
7
+ for (const s of t)
8
+ if (s.isConnected) {
9
+ const i = [], r = [], u = [];
10
+ let c = null, d = null, l = !0;
11
+ for (const e of s.getElementsByTagName("*"))
12
+ e instanceof HTMLLabelElement ? i.push(e) : e instanceof g ? c = e : x(e) && !e.hidden ? d = e : e.hasAttribute("data-description") ? r.push(e) : e.classList.contains(M) ? (l = n(e, "data-color") === "success" || !e.clientHeight, u.push(e), r.unshift(e)) : e instanceof HTMLParagraphElement && (r.some((C) => C.contains(e)) || r.push(e));
13
+ if (d) {
14
+ for (const e of i) e.htmlFor = b(d);
15
+ if (o && n(s, "data-validation") === "form") {
16
+ l = d.matches(":valid");
17
+ for (const e of u) n(e, "hidden", l ? "" : null);
18
18
  }
19
- H(c), C(a), T(a), n(a, "aria-describedby", s.map(h).join(" ") || null), n(a, "aria-invalid", `${!d}`);
19
+ H(c), S(d), L(d), n(d, "aria-describedby", r.map(b).join(" ") || null), n(d, "aria-invalid", `${!l}`);
20
20
  }
21
21
  }
22
22
  }
23
- function T(t) {
23
+ function L(t) {
24
24
  t instanceof HTMLTextAreaElement && (t.style.setProperty("--mtds-textarea-height", "auto"), t.style.setProperty(
25
25
  "--mtds-textarea-height",
26
26
  `${t.scrollHeight}px`
27
27
  ));
28
28
  }
29
29
  function H(t) {
30
- if (!t?.list || t.list?.hasAttribute("popover")) return;
31
- const o = window.getComputedStyle(t);
32
- n(t, "data-sr-added", i(o, "combobox-added")), n(t, "data-sr-empty", i(o, "combobox-empty")), n(t, "data-sr-found", i(o, "combobox-found")), n(t, "data-sr-invalid", i(o, "combobox-invalid")), n(t, "data-sr-of", i(o, "combobox-of")), n(t, "data-sr-remove", i(o, "combobox-remove")), n(t, "data-sr-removed", i(o, "combobox-removed")), n(t.list, "data-sr-plural", i(o, "datalist-plural")), n(t.list, "data-sr-singular", i(o, "datalist-singular")), n(t.list, "popover", "manual");
30
+ const { control: o, list: s } = t || {};
31
+ if (t && s && o && !t.hasAttribute("data-sr-added")) {
32
+ const i = window.getComputedStyle(t);
33
+ n(t, "data-sr-added", a(i, "combobox-added")), n(t, "data-sr-empty", a(i, "combobox-empty")), n(t, "data-sr-found", a(i, "combobox-found")), n(t, "data-sr-invalid", a(i, "combobox-invalid")), n(t, "data-sr-of", a(i, "combobox-of")), n(t, "data-sr-remove", a(i, "combobox-remove")), n(t, "data-sr-removed", a(i, "combobox-removed")), n(s, "data-sr-plural", a(i, "datalist-plural")), n(s, "data-sr-singular", a(i, "datalist-singular")), n(s, "popover", "manual"), n(o, "popovertarget", b(s));
34
+ }
33
35
  }
34
- function C(t) {
35
- const o = t?.nextElementSibling, r = o && n(o, "data-count");
36
- if (o && r) {
37
- const l = Number(r) - t.value.length, s = l < 0, f = n(o, "aria-live") === "polite", c = window.getComputedStyle(o || t), a = i(c, "count-over"), d = i(c, "count-under");
38
- if (f !== s) {
39
- n(o, "aria-live", s ? "polite" : "off");
40
- for (const e of y) o.classList.toggle(e, s);
36
+ function S(t) {
37
+ const o = t?.nextElementSibling, s = o && n(o, "data-count");
38
+ if (o && s) {
39
+ const i = Number(s) - t.value.length, r = i < 0, u = n(o, "aria-live") === "polite", c = window.getComputedStyle(o || t), d = a(c, "count-over"), l = a(c, "count-under");
40
+ if (u !== r) {
41
+ n(o, "aria-live", r ? "polite" : "off");
42
+ for (const e of y) o.classList.toggle(e, r);
41
43
  }
42
- o.textContent = (s ? a : d).replace(
44
+ o.textContent = (r ? d : l).replace(
43
45
  "%d",
44
- `${Math.abs(l)}`
46
+ `${Math.abs(i)}`
45
47
  );
46
48
  }
47
49
  }
48
50
  function N({ target: t, newState: o }) {
49
- if (t instanceof S) {
50
- const l = t.getRootNode()?.querySelector(
51
+ if (t instanceof E) {
52
+ const i = t.getRootNode()?.querySelector(
51
53
  `[popovertarget="${t.id}"]`
52
54
  );
53
- o === "closed" ? p(t, !1) : l && (t.style.width = `${l.clientWidth}px`, p(t, l, n(t, "data-position") ?? "bottom", !0));
55
+ o === "closed" ? m(t, !1) : i && (t.style.width = `${i.clientWidth}px`, m(t, i, n(t, "data-position") ?? "bottom", !0));
54
56
  }
55
57
  }
56
58
  function $({ target: t }) {
57
- x(t) && (C(t), T(t));
59
+ if (x(t)) {
60
+ S(t), L(t);
61
+ const o = t.hasAttribute("list") && t.list;
62
+ o && setTimeout(() => {
63
+ m(o, t, n(o, "data-position") ?? "bottom", !0);
64
+ }, 10);
65
+ }
58
66
  }
59
67
  function w(t) {
60
- const o = t.target?.closest?.(`.${b}`);
61
- t.type === "invalid" && o && t.preventDefault(), L(document.getElementsByClassName(b), !0);
68
+ const o = t.target?.closest?.(`.${h}`);
69
+ t.type === "invalid" && o && t.preventDefault(), T(document.getElementsByClassName(h), !0);
62
70
  }
63
71
  function D({ target: t }) {
64
72
  const o = t instanceof g && t.list;
65
- o && !o?.hidden && setTimeout(() => p(o, t, 2, !0), 10);
73
+ o && !o?.hidden && setTimeout(() => m(o, t, 2, !0), 10);
66
74
  }
67
75
  I(() => {
68
- M(document.documentElement, b, L), u(document, "beforechange", D, m), u(document, "input", $, m), u(document, "invalid,submit", w, !0), u(document, "toggle", N, m);
76
+ A(document.documentElement, h, T), f(document, "comboboxbeforeselect", D, p), f(document, "input", $, p), f(document, "invalid,submit", w, !0), f(document, "toggle", N, p);
69
77
  });
70
78
  //# sourceMappingURL=field-observer.js.map