@mattilsynet/design 2.1.6 → 2.1.7

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 (35) hide show
  1. package/mtds/alert/alert.js.map +1 -1
  2. package/mtds/button/button.d.ts +0 -1
  3. package/mtds/button/button.js.map +1 -1
  4. package/mtds/external/@floating-ui/dom/dist/floating-ui.dom.js +169 -167
  5. package/mtds/external/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -1
  6. package/mtds/external/@u-elements/u-combobox/dist/u-combobox.js +159 -146
  7. package/mtds/external/@u-elements/u-combobox/dist/u-combobox.js.map +1 -1
  8. package/mtds/external/@u-elements/u-datalist/dist/u-datalist.js +43 -45
  9. package/mtds/external/@u-elements/u-datalist/dist/u-datalist.js.map +1 -1
  10. package/mtds/external/@u-elements/u-details/dist/u-details.js +27 -29
  11. package/mtds/external/@u-elements/u-details/dist/u-details.js.map +1 -1
  12. package/mtds/external/@u-elements/u-progress/dist/u-progress.js +42 -45
  13. package/mtds/external/@u-elements/u-progress/dist/u-progress.js.map +1 -1
  14. package/mtds/external/@u-elements/u-tabs/dist/u-tabs.js +57 -56
  15. package/mtds/external/@u-elements/u-tabs/dist/u-tabs.js.map +1 -1
  16. package/mtds/field/field.js +13 -11
  17. package/mtds/field/field.js.map +1 -1
  18. package/mtds/index.iife.js +30 -30
  19. package/mtds/input/input.d.ts +2 -0
  20. package/mtds/input/input.js +14 -9
  21. package/mtds/input/input.js.map +1 -1
  22. package/mtds/layout/layout.d.ts +1 -0
  23. package/mtds/layout/layout.js.map +1 -1
  24. package/mtds/package.json.js +1 -1
  25. package/mtds/react.js +37 -36
  26. package/mtds/styles.css +1 -1
  27. package/mtds/styles.json +20 -20
  28. package/mtds/styles.module.css.js +47 -47
  29. package/mtds/table/table-observer.js +13 -17
  30. package/mtds/table/table-observer.js.map +1 -1
  31. package/mtds/tag/tag.d.ts +3 -1
  32. package/mtds/tag/tag.js.map +1 -1
  33. package/mtds/typography/typography.d.ts +3 -1
  34. package/mtds/typography/typography.js.map +1 -1
  35. package/package.json +16 -16
@@ -5,55 +5,55 @@ var q = Object.defineProperty, k = Object.getOwnPropertySymbols, z = Object.prot
5
5
  for (var i of k(e))
6
6
  G.call(e, i) && $(t, i, e[i]);
7
7
  return t;
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;
8
+ }, b = typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", y = b && /android/i.test(navigator.userAgent), D = b && /iPad|iPhone|iPod/.test(navigator.userAgent), M;
9
9
  b && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474
10
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 {
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", U = 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 R = (t, e, i) => {
16
+ var B = (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
- }, 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"),
19
+ }, f = (t, ...e) => B("add", t, e), w = (t, ...e) => B("remove", t, e), et = (t, e) => t.shadowRoot || t.attachShadow({ mode: "open" }).append(
20
+ C("slot"),
21
21
  // Unnamed slot does automatically render all top element nodes
22
- L("style", e)
23
- ), E = /* @__PURE__ */ new WeakMap(), S = (t, e) => {
24
- if (e === void 0) return E.get(t);
22
+ C("style", e)
23
+ ), g = /* @__PURE__ */ new WeakMap(), S = (t, e) => {
24
+ if (e === void 0) return g.get(t);
25
25
  try {
26
- E.get(t).disconnect(), E.delete(t);
26
+ g.get(t).disconnect(), g.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), E.set(t, i);
33
+ i.observe(t, e), g.set(t, i);
34
34
  }
35
- }, U = (t) => {
35
+ }, N = (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
- }, it = 0, C = (t) => t ? (t.id || (t.id = `:${t.nodeName.toLowerCase()}${(++it).toString(32)}`), t.id) : "", L = (t, e, i) => {
39
+ }, it = 0, L = (t) => t ? (t.id || (t.id = `:${t.nodeName.toLowerCase()}${(++it).toString(32)}`), t.id) : "", C = (t, e, i) => {
40
40
  const o = document.createElement(t);
41
41
  return e && (o.textContent = e), o;
42
42
  }, F = {
43
43
  define: (t, e) => !b || window.customElements.get(t) || window.customElements.define(t, e)
44
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 ? " " : ""}`);
45
+ v || (v = C("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
46
  }, rt = (t, e, i = "") => {
47
47
  var o, u;
48
48
  const s = { bubbles: !0, composed: !0, data: e, inputType: i }, l = HTMLInputElement.prototype;
49
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 {
50
+ }, T = !1, P = (t) => (t?.type === "mouseup" && (T = !1), t?.type === "mousedown" && (T = !0, f(document, "mouseup", P, { once: !0 })), T), x = "disabled", h = "selected", nt = class extends U {
51
51
  // Using ES2015 syntax for backwards compatibility
52
52
  static get observedAttributes() {
53
- return [T, h];
53
+ return [x, h];
54
54
  }
55
55
  connectedCallback() {
56
- P || (this.tabIndex = -1), this.hasAttribute("role") || r(this, "role", "option"), this.attributeChangedCallback();
56
+ D || (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}`);
@@ -66,10 +66,10 @@ var R = (t, e, i) => {
66
66
  this[h] = t;
67
67
  }
68
68
  get disabled() {
69
- return r(this, T) !== null;
69
+ return r(this, x) !== null;
70
70
  }
71
71
  set disabled(t) {
72
- r(this, T, t ? "" : null);
72
+ r(this, x, t ? "" : null);
73
73
  }
74
74
  /** Retrieves a reference to the form that the object is embedded in. */
75
75
  get form() {
@@ -114,28 +114,25 @@ var R = (t, e, i) => {
114
114
  }
115
115
  };
116
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 = {
117
+ var at = `${Z}
118
+ ::slotted(u-option) { display: block; cursor: pointer }
119
+ ::slotted(u-option:focus) { ${tt} }
120
+ ::slotted(u-option[aria-hidden="true"]),
121
+ ::slotted(u-option[disabled]),
122
+ ::slotted(u-option[hidden]) { display: none !important }`, H, R = 0, ut = D || y, K = "click,focusout,input,keydown,mousedown,mouseup", j = "focus,focusin,blur,focusout", E = {
118
123
  singular: "%d hit",
119
124
  plural: "%d hits"
120
- }, ut = class extends N {
125
+ }, st = class extends U {
121
126
  constructor() {
122
- super(), this._texts = J({}, g), this._value = "", et(
123
- this,
124
- `${Z}
125
- ::slotted(u-option) { display: block; cursor: pointer }
126
- ::slotted(u-option:focus) { ${tt} }
127
- ::slotted(u-option[aria-hidden="true"]),
128
- ::slotted(u-option[disabled]),
129
- ::slotted(u-option[hidden]) { display: none !important }`
130
- );
127
+ super(), this._texts = J({}, E), this._value = "", et(this, at);
131
128
  }
132
129
  // Used to prevent unnecessary announcements
133
130
  // Using ES2015 syntax for backwards compatibility
134
131
  static get observedAttributes() {
135
- return ["id", ...Object.keys(g).map((t) => `data-sr-${t}`)];
132
+ return ["id", ...Object.keys(E).map((t) => `data-sr-${t}`)];
136
133
  }
137
134
  connectedCallback() {
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, {
135
+ this.hidden = !0, this._root = N(this), r(this, "role", "listbox"), r(this, "tabindex", "-1"), f(this._root, "focusin", this), f(this._root, "focus", this, !0), S(this, {
139
136
  attributeFilter: ["disabled", "hidden", "label", "value"],
140
137
  attributes: !0,
141
138
  characterData: !0,
@@ -148,7 +145,7 @@ var B, H = 0, at = P || y, K = "click,focusout,input,keydown,mousedown,mouseup",
148
145
  }
149
146
  attributeChangedCallback(t, e, i) {
150
147
  const o = t?.split("data-sr-")[1], u = `input[list="${this.id}"]`;
151
- if (g[o]) this._texts[o] = i || g[o];
148
+ if (E[o]) this._texts[o] = i || E[o];
152
149
  else if (this._root) {
153
150
  this._input && O(this, this._input);
154
151
  for (const s of this._root.querySelectorAll(u))
@@ -157,7 +154,7 @@ var B, H = 0, at = P || y, K = "click,focusout,input,keydown,mousedown,mouseup",
157
154
  }
158
155
  handleEvent(t) {
159
156
  const { target: e, type: i } = 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)));
157
+ t.defaultPrevented || (i === "click" && ct(this, t), (i === "focus" || i === "focusin") && dt(this, t), (i === "blur" || i === "focusout") && lt(this, t), i === "keydown" && pt(this, t), i === "mousedown" && this.contains(e) && P(t), (i === "mutation" || i === "input") && (clearTimeout(R), R = setTimeout(Y, 0, this, t)));
161
158
  }
162
159
  get options() {
163
160
  return this.getElementsByTagName("u-option");
@@ -171,27 +168,27 @@ var B, H = 0, at = P || y, K = "click,focusout,input,keydown,mousedown,mouseup",
171
168
  }, A = (t) => {
172
169
  t._input && (w(t._input || t, j, t), w(t._root || t, K, t), _(t, !1), t._input = void 0);
173
170
  }, 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) => {
171
+ t.popover && r(e, "popovertarget", L(t)), f(e, j, t, !0), r(e, "aria-autocomplete", "list"), r(e, "aria-controls", L(t)), r(e, "aria-expanded", `${!ut || i}`), r(e, "autocomplete", "off"), r(e, "role", W(e) ? null : "combobox");
172
+ }, dt = (t, e) => {
176
173
  var i;
177
174
  const o = e.target instanceof HTMLInputElement;
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();
175
+ 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, L((i = t._input.labels) == null ? void 0 : i[0])), f(t._root || t, K, t), _(t, r(t._input, "inputmode") !== "none"), V());
176
+ }, lt = (t, e) => {
177
+ !y && !P() && t._input && setTimeout(X, 0, t), e.target === t._input && e.isTrusted && e.stopImmediatePropagation();
181
178
  }, X = (t) => {
182
179
  var e;
183
180
  const i = ((e = t._root) == null ? void 0 : e.activeElement) || null, o = t._input;
184
181
  o && o !== i && !t.contains(i) && (o.dispatchEvent(new FocusEvent("blur", { relatedTarget: i })), o.dispatchEvent(
185
182
  new FocusEvent("focusout", { bubbles: !0, relatedTarget: i })
186
183
  ), A(t));
187
- }, lt = (t, { target: e }) => {
184
+ }, ct = (t, { target: e }) => {
188
185
  var i;
189
186
  if (!t._input || t._input === e) return _(t, !0);
190
187
  for (const o of t.options)
191
188
  if (o.contains(e))
192
189
  return r(t, "aria-multiselectable") !== "true" && ((i = t._input) == null || i.focus(), _(t, !1)), rt(t._input, o.value);
193
190
  y && X(t);
194
- }, ct = (t, e) => {
191
+ }, pt = (t, e) => {
195
192
  var i;
196
193
  const { key: o, target: u, altKey: s, ctrlKey: l, shiftKey: I, metaKey: m } = e, c = o === "Escape" || o === "Esc";
197
194
  if (s || l || m || I || o === "Tab") return;
@@ -214,20 +211,21 @@ var B, H = 0, at = P || y, K = "click,focusout,input,keydown,mousedown,mouseup",
214
211
  for (const n of m) r(n, "aria-hidden", "true");
215
212
  for (const n of c) r(n, "aria-hidden", "false");
216
213
  const a = c.length;
217
- clearTimeout(B), e?.type === "input" && l !== t._value && (B = setTimeout(() => {
214
+ clearTimeout(H), e?.type === "input" && l !== t._value && (H = setTimeout(() => {
218
215
  const n = `${!a && t.innerText.trim() || `${i[a === 1 ? "singular" : "plural"]}`.replace("%d", `${a}`)}`;
219
216
  !t.hidden && o?.activeElement === u && V(n), t._value = l;
220
- }, 1e3)), P && c.forEach((n, d) => r(n, "title", `${d + 1}/${a}`));
217
+ }, 1e3)), D && c.map((n, d) => r(n, "title", `${d + 1}/${a}`));
221
218
  };
222
219
  b && Object.defineProperty(HTMLInputElement.prototype, "list", {
223
220
  configurable: !0,
224
221
  enumerable: !0,
225
222
  get() {
226
- return U(this).getElementById(r(this, "list") || "");
223
+ return N(this).getElementById(r(this, "list") || "");
227
224
  }
228
225
  });
229
- F.define("u-datalist", ut);
226
+ F.define("u-datalist", st);
230
227
  export {
231
- ut as UHTMLDataListElement
228
+ st as UHTMLDataListElement,
229
+ at as UHTMLDataListStyle
232
230
  };
233
231
  //# 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 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
+ {"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.shadowRoot || 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};\nvar declarativeShadowRoot = (style, slot = \"<slot></slot>\") => `<template shadowrootmode=\"open\">${slot}<style>${style}</style></template>`;\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 UHTMLDataListStyle = `${DISPLAY_BLOCK}\n::slotted(u-option) { display: block; cursor: pointer }\n::slotted(u-option:focus) { ${FOCUS_OUTLINE} }\n::slotted(u-option[aria-hidden=\"true\"]),\n::slotted(u-option[disabled]),\n::slotted(u-option[hidden]) { display: none !important }`;\nvar UHTMLDataListShadowRoot = declarativeShadowRoot(UHTMLDataListStyle);\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(this, UHTMLDataListStyle);\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.map((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, UHTMLDataListShadowRoot, UHTMLDataListStyle };\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","UHTMLDataListStyle","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,7 +1,7 @@
1
- var h = typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", c;
2
- h && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474
1
+ var l = typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", y = l && /android/i.test(navigator.userAgent), c;
2
+ l && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474
3
3
  /^Mac/i.test(((c = navigator.userAgentData) == null ? void 0 : c.platform) || navigator.platform);
4
- var y = ":host(:not([hidden])) { display: block }", m = typeof HTMLElement > "u" ? class {
4
+ var b = `${y ? "data" : "aria"}-labelledby`, v = ":host(:not([hidden])) { display: block }", m = typeof HTMLElement > "u" ? class {
5
5
  } : HTMLElement;
6
6
  function o(t, e, n) {
7
7
  return n === void 0 ? t.getAttribute(e) : (n === null ? t.removeAttribute(e) : t.getAttribute(e) !== n && t.setAttribute(e, n), null);
@@ -9,32 +9,29 @@ function o(t, e, n) {
9
9
  var f = (t, e, n) => {
10
10
  for (const i of n[0].split(","))
11
11
  n[0] = i, Element.prototype[`${t}EventListener`].apply(e, n);
12
- }, d = (t, ...e) => f("add", t, e), u = (t, ...e) => f("remove", t, e), b = (t) => {
12
+ }, u = (t, ...e) => f("add", t, e), h = (t, ...e) => f("remove", t, e), g = (t) => {
13
13
  const e = "key" in t && (t.key === " " || t.key === "Enter");
14
14
  return e && t.preventDefault(), e && t.target instanceof HTMLElement && t.target.click(), e;
15
- }, g = (t) => {
15
+ }, k = (t) => {
16
16
  var e;
17
17
  const n = ((e = t.getRootNode) == null ? void 0 : e.call(t)) || t.ownerDocument;
18
18
  return n instanceof Document || n instanceof ShadowRoot ? n : document;
19
- }, r = (t, e, n) => {
19
+ }, E = 0, w = (t) => t ? (t.id || (t.id = `:${t.nodeName.toLowerCase()}${(++E).toString(32)}`), t.id) : "", r = (t, e, n) => {
20
20
  const i = document.createElement(t);
21
21
  if (e && (i.textContent = e), n) for (const [s, a] of Object.entries(n)) o(i, s, a);
22
22
  return i;
23
23
  }, p = {
24
- define: (t, e) => !h || window.customElements.get(t) || window.customElements.define(t, e)
25
- }, k = class extends m {
24
+ define: (t, e) => !l || window.customElements.get(t) || window.customElements.define(t, e)
25
+ }, _ = `${v}
26
+ ::slotted(u-summary) { cursor: pointer; display: block }
27
+ ::slotted(u-summary)::before { content: ''; display: inline-block; vertical-align: middle; margin-inline: .05em .3125em; border-block: .3125em solid transparent; border-inline-start: .5em solid }
28
+ ::slotted(u-summary[aria-expanded="true"])::before { rotate: 90deg }
29
+ :host > [part="details-content"]:not([hidden=""]) { display: block }`, L = class extends m {
26
30
  constructor() {
27
- super(), this._content = null, this.attachShadow({ mode: "open" }).append(
31
+ super(), this._content = null, this.shadowRoot || this.attachShadow({ mode: "open" }).append(
28
32
  r("slot", null, { name: "summary" }),
29
33
  r("slot", null, { part: "details-content" }),
30
- r(
31
- "style",
32
- `${y}
33
- ::slotted(u-summary) { cursor: pointer; display: block }
34
- ::slotted(u-summary)::before { content: ''; display: inline-block; vertical-align: middle; margin-inline: .05em .3125em; border-block: .3125em solid transparent; border-inline-start: .5em solid }
35
- ::slotted(u-summary[aria-expanded="true"])::before { rotate: 90deg }
36
- :host > [part="details-content"]:not([hidden=""]) { display: block }`
37
- )
34
+ r("style", _)
38
35
  );
39
36
  }
40
37
  // Using ES2015 syntax for backwards compatibility
@@ -43,27 +40,27 @@ var f = (t, e, n) => {
43
40
  }
44
41
  connectedCallback() {
45
42
  var t;
46
- this._content = (t = this.shadowRoot) == null ? void 0 : t.children[1], o(this, "role", "group"), d(this._content, "beforematch", this), d(this, "click,keydown", this), this.attributeChangedCallback();
43
+ this._content = (t = this.shadowRoot) == null ? void 0 : t.children[1], o(this, "role", "group"), u(this._content, "beforematch", this), u(this, "click,keydown", this), this.attributeChangedCallback();
47
44
  }
48
45
  disconnectedCallback() {
49
- this._content && u(this._content, "beforematch", this), u(this, "click,keydown", this), this._content = null;
46
+ this._content && h(this._content, "beforematch", this), h(this, "click,keydown", this), this._content = null;
50
47
  }
51
48
  attributeChangedCallback(t, e, n) {
52
49
  const i = "onbeforematch" in this ? "until-found" : !0, s = this.open;
53
50
  for (const a of this.children)
54
- a.nodeName === "U-SUMMARY" && o(a, "aria-expanded", `${s}`);
51
+ a.nodeName === "U-SUMMARY" && (o(this, b, w(a)), o(a, "aria-expanded", `${s}`));
55
52
  if (this._content && (o(this._content, "aria-hidden", `${!s}`), this._content.hidden = s ? !1 : i), s && this.name) {
56
- const a = g(this).querySelectorAll(
53
+ const a = k(this).querySelectorAll(
57
54
  `${this.nodeName}[name="${this.name}"]`
58
55
  );
59
- for (const l of a)
60
- l !== this && (l.open = !1);
56
+ for (const d of a)
57
+ d !== this && (d.open = !1);
61
58
  }
62
59
  t === "open" && e === null != (n === null) && this.dispatchEvent(new Event("toggle"));
63
60
  }
64
61
  handleEvent(t) {
65
62
  const e = this.querySelector(":scope > u-summary"), n = e?.contains(t.target);
66
- t.defaultPrevented || (t.type === "beforematch" && (this.open = !0), n && t.type === "keydown" && b(t), n && t.type === "click" && (this.open = !this.open));
63
+ t.defaultPrevented || (t.type === "beforematch" && (this.open = !0), n && t.type === "keydown" && g(t), n && t.type === "click" && (this.open = !this.open));
67
64
  }
68
65
  get open() {
69
66
  return this.hasAttribute("open");
@@ -77,15 +74,16 @@ var f = (t, e, n) => {
77
74
  set name(t) {
78
75
  o(this, "name", t);
79
76
  }
80
- }, v = class extends m {
77
+ }, A = class extends m {
81
78
  connectedCallback() {
82
79
  o(this, "role", "button"), this.slot = "summary", this.tabIndex = 0;
83
80
  }
84
81
  };
85
- p.define("u-details", k);
86
- p.define("u-summary", v);
82
+ p.define("u-details", L);
83
+ p.define("u-summary", A);
87
84
  export {
88
- k as UHTMLDetailsElement,
89
- v as UHTMLSummaryElement
85
+ L as UHTMLDetailsElement,
86
+ _ as UHTMLDetailsStyle,
87
+ A as UHTMLSummaryElement
90
88
  };
91
89
  //# sourceMappingURL=u-details.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"u-details.js","sources":["../../../../../node_modules/@u-elements/u-details/dist/u-details.js"],"sourcesContent":["// ../utils.ts\nvar IS_BROWSER = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.navigator !== \"undefined\";\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 DISPLAY_BLOCK = \":host(:not([hidden])) { display: block }\";\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 asButton = (event) => {\n const isClick = \"key\" in event && (event.key === \" \" || event.key === \"Enter\");\n if (isClick) event.preventDefault();\n if (isClick && event.target instanceof HTMLElement) event.target.click();\n return isClick;\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 createElement = (tagName, text, attrs) => {\n const el = document.createElement(tagName);\n if (text) el.textContent = text;\n if (attrs) for (const [key, val] of Object.entries(attrs)) attr(el, key, val);\n return el;\n};\nvar customElements = {\n define: (name, instance) => !IS_BROWSER || window.customElements.get(name) || window.customElements.define(name, instance)\n};\n\n// u-details.ts\nvar UHTMLDetailsElement = class extends UHTMLElement {\n constructor() {\n super();\n // Using underscore instead of private fields for backwards compatibility\n this._content = null;\n this.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\", null, { name: \"summary\" }),\n createElement(\"slot\", null, { part: \"details-content\" }),\n createElement(\n \"style\",\n `${DISPLAY_BLOCK}\n ::slotted(u-summary) { cursor: pointer; display: block }\n\t\t\t\t::slotted(u-summary)::before { content: ''; display: inline-block; vertical-align: middle; margin-inline: .05em .3125em; border-block: .3125em solid transparent; border-inline-start: .5em solid }\n\t\t\t\t::slotted(u-summary[aria-expanded=\"true\"])::before { rotate: 90deg }\n\t\t\t\t:host > [part=\"details-content\"]:not([hidden=\"\"]) { display: block }`\n )\n );\n }\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [\"open\"];\n }\n connectedCallback() {\n var _a2;\n this._content = (_a2 = this.shadowRoot) == null ? void 0 : _a2.children[1];\n attr(this, \"role\", \"group\");\n on(this._content, \"beforematch\", this);\n on(this, \"click,keydown\", this);\n this.attributeChangedCallback();\n }\n disconnectedCallback() {\n if (this._content) off(this._content, \"beforematch\", this);\n off(this, \"click,keydown\", this);\n this._content = null;\n }\n attributeChangedCallback(prop, prev, next) {\n const hide = \"onbeforematch\" in this ? \"until-found\" : true;\n const open = this.open;\n for (const el of this.children)\n if (el.nodeName === \"U-SUMMARY\") attr(el, \"aria-expanded\", `${open}`);\n if (this._content) {\n attr(this._content, \"aria-hidden\", `${!open}`);\n this._content.hidden = open ? false : hide;\n }\n if (open && this.name) {\n const uDetailsList = getRoot(this).querySelectorAll(\n `${this.nodeName}[name=\"${this.name}\"]`\n );\n for (const uDetails of uDetailsList)\n if (uDetails !== this) uDetails.open = false;\n }\n if (prop === \"open\" && prev === null !== (next === null))\n this.dispatchEvent(new Event(\"toggle\"));\n }\n handleEvent(event) {\n const summary = this.querySelector(\":scope > u-summary\");\n const isSummary = summary == null ? void 0 : summary.contains(event.target);\n if (event.defaultPrevented) return;\n if (event.type === \"beforematch\") this.open = true;\n if (isSummary && event.type === \"keydown\") asButton(event);\n if (isSummary && event.type === \"click\") this.open = !this.open;\n }\n get open() {\n return this.hasAttribute(\"open\");\n }\n set open(value) {\n attr(this, \"open\", value ? \"\" : null);\n }\n get name() {\n return attr(this, \"name\") || \"\";\n }\n set name(value) {\n attr(this, \"name\", value);\n }\n};\nvar UHTMLSummaryElement = class extends UHTMLElement {\n connectedCallback() {\n attr(this, \"role\", \"button\");\n this.slot = \"summary\";\n this.tabIndex = 0;\n }\n};\ncustomElements.define(\"u-details\", UHTMLDetailsElement);\ncustomElements.define(\"u-summary\", UHTMLSummaryElement);\n\nexport { UHTMLDetailsElement, UHTMLSummaryElement };\n"],"names":["IS_BROWSER","_a","DISPLAY_BLOCK","UHTMLElement","attr","el","name","value","events","action","element","rest","type","on","off","asButton","event","isClick","getRoot","node","_a2","root","createElement","tagName","text","attrs","key","val","customElements","instance","UHTMLDetailsElement","prop","prev","next","hide","open","uDetailsList","uDetails","summary","isSummary","UHTMLSummaryElement"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"u-details.js","sources":["../../../../../node_modules/@u-elements/u-details/dist/u-details.js"],"sourcesContent":["// ../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 _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 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 asButton = (event) => {\n const isClick = \"key\" in event && (event.key === \" \" || event.key === \"Enter\");\n if (isClick) event.preventDefault();\n if (isClick && event.target instanceof HTMLElement) event.target.click();\n return isClick;\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 if (attrs) for (const [key, val] of Object.entries(attrs)) attr(el, key, val);\n return el;\n};\nvar customElements = {\n define: (name, instance) => !IS_BROWSER || window.customElements.get(name) || window.customElements.define(name, instance)\n};\nvar declarativeShadowRoot = (style, slot = \"<slot></slot>\") => `<template shadowrootmode=\"open\">${slot}<style>${style}</style></template>`;\n\n// u-details.ts\nvar UHTMLDetailsStyle = `${DISPLAY_BLOCK}\n::slotted(u-summary) { cursor: pointer; display: block }\n::slotted(u-summary)::before { content: ''; display: inline-block; vertical-align: middle; margin-inline: .05em .3125em; border-block: .3125em solid transparent; border-inline-start: .5em solid }\n::slotted(u-summary[aria-expanded=\"true\"])::before { rotate: 90deg }\n:host > [part=\"details-content\"]:not([hidden=\"\"]) { display: block }`;\nvar UHTMLDetailsShadowRoot = declarativeShadowRoot(\n UHTMLDetailsStyle,\n '<slot name=\"summary\"></slot><slot part=\"details-content\" hidden=\"until-found\"></slot>'\n);\nvar UHTMLDetailsElement = class extends UHTMLElement {\n constructor() {\n super();\n // Using underscore instead of private fields for backwards compatibility\n this._content = null;\n if (!this.shadowRoot)\n this.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\", null, { name: \"summary\" }),\n createElement(\"slot\", null, { part: \"details-content\" }),\n createElement(\"style\", UHTMLDetailsStyle)\n );\n }\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [\"open\"];\n }\n connectedCallback() {\n var _a2;\n this._content = (_a2 = this.shadowRoot) == null ? void 0 : _a2.children[1];\n attr(this, \"role\", \"group\");\n on(this._content, \"beforematch\", this);\n on(this, \"click,keydown\", this);\n this.attributeChangedCallback();\n }\n disconnectedCallback() {\n if (this._content) off(this._content, \"beforematch\", this);\n off(this, \"click,keydown\", this);\n this._content = null;\n }\n attributeChangedCallback(prop, prev, next) {\n const hide = \"onbeforematch\" in this ? \"until-found\" : true;\n const open = this.open;\n for (const el of this.children)\n if (el.nodeName === \"U-SUMMARY\") {\n attr(this, SAFE_LABELLEDBY, useId(el));\n attr(el, \"aria-expanded\", `${open}`);\n }\n if (this._content) {\n attr(this._content, \"aria-hidden\", `${!open}`);\n this._content.hidden = open ? false : hide;\n }\n if (open && this.name) {\n const uDetailsList = getRoot(this).querySelectorAll(\n `${this.nodeName}[name=\"${this.name}\"]`\n );\n for (const uDetails of uDetailsList)\n if (uDetails !== this) uDetails.open = false;\n }\n if (prop === \"open\" && prev === null !== (next === null))\n this.dispatchEvent(new Event(\"toggle\"));\n }\n handleEvent(event) {\n const summary = this.querySelector(\":scope > u-summary\");\n const isSummary = summary == null ? void 0 : summary.contains(event.target);\n if (event.defaultPrevented) return;\n if (event.type === \"beforematch\") this.open = true;\n if (isSummary && event.type === \"keydown\") asButton(event);\n if (isSummary && event.type === \"click\") this.open = !this.open;\n }\n get open() {\n return this.hasAttribute(\"open\");\n }\n set open(value) {\n attr(this, \"open\", value ? \"\" : null);\n }\n get name() {\n return attr(this, \"name\") || \"\";\n }\n set name(value) {\n attr(this, \"name\", value);\n }\n};\nvar UHTMLSummaryElement = class extends UHTMLElement {\n connectedCallback() {\n attr(this, \"role\", \"button\");\n this.slot = \"summary\";\n this.tabIndex = 0;\n }\n};\ncustomElements.define(\"u-details\", UHTMLDetailsElement);\ncustomElements.define(\"u-summary\", UHTMLSummaryElement);\n\nexport { UHTMLDetailsElement, UHTMLDetailsShadowRoot, UHTMLDetailsStyle, UHTMLSummaryElement };\n"],"names":["IS_BROWSER","IS_ANDROID","_a","SAFE_LABELLEDBY","DISPLAY_BLOCK","UHTMLElement","attr","el","name","value","events","action","element","rest","type","on","off","asButton","event","isClick","getRoot","node","_a2","root","id","useId","createElement","tagName","text","attrs","key","val","customElements","instance","UHTMLDetailsStyle","UHTMLDetailsElement","prop","prev","next","hide","open","uDetailsList","uDetails","summary","isSummary","UHTMLSummaryElement"],"mappings":"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","x_google_ignoreList":[0]}