@mattilsynet/design 1.1.8 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import m from "../styles.module.css.js";
2
2
  import { onLoaded as C, onMutation as T, on as r, QUICK_EVENT as p, debounce as P } from "../utils.js";
3
- import "./app-toggle.js";
3
+ import "./app-toggle2.js";
4
4
  const f = m.app.split(" ")[0], _ = m.sticky.split(" ")[0], h = '[data-command="toggle-app-expanded"]', g = `.${f} > dialog,.${f} dialog ~ main`, S = (t) => {
5
5
  document.startViewTransition ? document.startViewTransition(t) : t();
6
6
  }, E = (t) => (
@@ -1,12 +1,27 @@
1
- typeof window < "u" && window.CSSStyleSheet && document.adoptedStyleSheets && (() => {
2
- const e = "--mtds-app-expanded", t = new CSSStyleSheet();
3
- document.adoptedStyleSheets.push(t), window.mtdsToggleAppExpanded = (p) => {
4
- var d, o;
5
- try {
6
- const n = !((d = window.localStorage.getItem(e)) != null && d.includes("false")), a = p ?? !n;
7
- (o = t.replaceSync) == null || o.call(t, `:root { ${e}: var(${e}--${a})}`), window.localStorage.setItem(e, a);
8
- } catch {
9
- }
10
- }, window.mtdsToggleAppExpanded(!1);
11
- })();
1
+ const t = `if (
2
+ typeof window !== "undefined" &&
3
+ window.CSSStyleSheet &&
4
+ document.adoptedStyleSheets
5
+ )
6
+ (() => {
7
+ const key = "--mtds-app-expanded";
8
+ const sheet = new CSSStyleSheet();
9
+ const prev = () => !window.localStorage.getItem(key)?.includes("false");
10
+
11
+ document.adoptedStyleSheets.push(sheet);
12
+ window.mtdsToggleAppExpanded = (force) => {
13
+ try {
14
+ const next = force ?? !prev();
15
+ sheet.replaceSync?.(\`:root { \${key}: var(\${key}--\${next})}\`);
16
+ window.localStorage.setItem(key, next);
17
+ } catch (err) {} // localStorage is full or replaceSync is not supported
18
+ };
19
+
20
+ // Set and store initial state
21
+ window.mtdsToggleAppExpanded(prev());
22
+ })();
23
+ `;
24
+ export {
25
+ t as default
26
+ };
12
27
  //# sourceMappingURL=app-toggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-toggle.js","sources":["../../designsystem/app/app-toggle.js"],"sourcesContent":["if (\n\ttypeof window !== \"undefined\" &&\n\twindow.CSSStyleSheet &&\n\tdocument.adoptedStyleSheets\n)\n\t(() => {\n\t\tconst key = \"--mtds-app-expanded\";\n\t\tconst sheet = new CSSStyleSheet();\n\n\t\tdocument.adoptedStyleSheets.push(sheet);\n\t\twindow.mtdsToggleAppExpanded = (force) => {\n\t\t\ttry {\n\t\t\t\tconst prev = !window.localStorage.getItem(key)?.includes(\"false\");\n\t\t\t\tconst next = force ?? !prev;\n\n\t\t\t\tsheet.replaceSync?.(`:root { ${key}: var(${key}--${next})}`);\n\t\t\t\twindow.localStorage.setItem(key, next);\n\t\t\t} catch (err) {} // LocalStorage is full or replaceSync is not supported\n\t\t};\n\n\t\t// Set and store initial state - double to get initial value\n\t\twindow.mtdsToggleAppExpanded(false);\n\t})();\n"],"names":["key","sheet","force","_a","_b","prev","next"],"mappings":"AACC,OAAO,SAAW,OAClB,OAAO,iBACP,SAAS,uBAER,MAAM;AACN,QAAMA,IAAM,uBACNC,IAAQ,IAAI,cAAe;AAEjC,WAAS,mBAAmB,KAAKA,CAAK,GACtC,OAAO,wBAAwB,CAACC,MAAU;AAV5C,QAAAC,GAAAC;AAWG,QAAI;AACH,YAAMC,IAAO,GAACF,IAAA,OAAO,aAAa,QAAQH,CAAG,MAA/B,QAAAG,EAAkC,SAAS,WACnDG,IAAOJ,KAAS,CAACG;AAEvB,OAAAD,IAAAH,EAAM,gBAAN,QAAAG,EAAA,KAAAH,GAAoB,WAAWD,CAAG,SAASA,CAAG,KAAKM,CAAI,OACvD,OAAO,aAAa,QAAQN,GAAKM,CAAI;AAAA,IACzC,QAAiB;AAAA,IAAE;AAAA,EAChB,GAGD,OAAO,sBAAsB,EAAK;AACpC,GAAK;"}
1
+ {"version":3,"file":"app-toggle.js","sources":["../../designsystem/app/app-toggle.js?raw"],"sourcesContent":["export default \"if (\\n\\ttypeof window !== \\\"undefined\\\" &&\\n\\twindow.CSSStyleSheet &&\\n\\tdocument.adoptedStyleSheets\\n)\\n\\t(() => {\\n\\t\\tconst key = \\\"--mtds-app-expanded\\\";\\n\\t\\tconst sheet = new CSSStyleSheet();\\n\\t\\tconst prev = () => !window.localStorage.getItem(key)?.includes(\\\"false\\\");\\n\\n\\t\\tdocument.adoptedStyleSheets.push(sheet);\\n\\t\\twindow.mtdsToggleAppExpanded = (force) => {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tconst next = force ?? !prev();\\n\\t\\t\\t\\tsheet.replaceSync?.(`:root { ${key}: var(${key}--${next})}`);\\n\\t\\t\\t\\twindow.localStorage.setItem(key, next);\\n\\t\\t\\t} catch (err) {} // localStorage is full or replaceSync is not supported\\n\\t\\t};\\n\\n\\t\\t// Set and store initial state\\n\\t\\twindow.mtdsToggleAppExpanded(prev());\\n\\t})();\\n\""],"names":["script"],"mappings":"AAAA,MAAeA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,28 +1,15 @@
1
- const t = `if (
2
- typeof window !== "undefined" &&
3
- window.CSSStyleSheet &&
4
- document.adoptedStyleSheets
5
- )
6
- (() => {
7
- const key = "--mtds-app-expanded";
8
- const sheet = new CSSStyleSheet();
9
-
10
- document.adoptedStyleSheets.push(sheet);
11
- window.mtdsToggleAppExpanded = (force) => {
12
- try {
13
- const prev = !window.localStorage.getItem(key)?.includes("false");
14
- const next = force ?? !prev;
15
-
16
- sheet.replaceSync?.(\`:root { \${key}: var(\${key}--\${next})}\`);
17
- window.localStorage.setItem(key, next);
18
- } catch (err) {} // LocalStorage is full or replaceSync is not supported
19
- };
20
-
21
- // Set and store initial state - double to get initial value
22
- window.mtdsToggleAppExpanded(false);
23
- })();
24
- `;
25
- export {
26
- t as default
27
- };
1
+ typeof window < "u" && window.CSSStyleSheet && document.adoptedStyleSheets && (() => {
2
+ const e = "--mtds-app-expanded", t = new CSSStyleSheet(), n = () => {
3
+ var d;
4
+ return !((d = window.localStorage.getItem(e)) != null && d.includes("false"));
5
+ };
6
+ document.adoptedStyleSheets.push(t), window.mtdsToggleAppExpanded = (d) => {
7
+ var p;
8
+ try {
9
+ const o = d ?? !n();
10
+ (p = t.replaceSync) == null || p.call(t, `:root { ${e}: var(${e}--${o})}`), window.localStorage.setItem(e, o);
11
+ } catch {
12
+ }
13
+ }, window.mtdsToggleAppExpanded(n());
14
+ })();
28
15
  //# sourceMappingURL=app-toggle2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-toggle2.js","sources":["../../designsystem/app/app-toggle.js?raw"],"sourcesContent":["export default \"if (\\n\\ttypeof window !== \\\"undefined\\\" &&\\n\\twindow.CSSStyleSheet &&\\n\\tdocument.adoptedStyleSheets\\n)\\n\\t(() => {\\n\\t\\tconst key = \\\"--mtds-app-expanded\\\";\\n\\t\\tconst sheet = new CSSStyleSheet();\\n\\n\\t\\tdocument.adoptedStyleSheets.push(sheet);\\n\\t\\twindow.mtdsToggleAppExpanded = (force) => {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tconst prev = !window.localStorage.getItem(key)?.includes(\\\"false\\\");\\n\\t\\t\\t\\tconst next = force ?? !prev;\\n\\n\\t\\t\\t\\tsheet.replaceSync?.(`:root { ${key}: var(${key}--${next})}`);\\n\\t\\t\\t\\twindow.localStorage.setItem(key, next);\\n\\t\\t\\t} catch (err) {} // LocalStorage is full or replaceSync is not supported\\n\\t\\t};\\n\\n\\t\\t// Set and store initial state - double to get initial value\\n\\t\\twindow.mtdsToggleAppExpanded(false);\\n\\t})();\\n\""],"names":["script"],"mappings":"AAAA,MAAeA,IAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"app-toggle2.js","sources":["../../designsystem/app/app-toggle.js"],"sourcesContent":["if (\n\ttypeof window !== \"undefined\" &&\n\twindow.CSSStyleSheet &&\n\tdocument.adoptedStyleSheets\n)\n\t(() => {\n\t\tconst key = \"--mtds-app-expanded\";\n\t\tconst sheet = new CSSStyleSheet();\n\t\tconst prev = () => !window.localStorage.getItem(key)?.includes(\"false\");\n\n\t\tdocument.adoptedStyleSheets.push(sheet);\n\t\twindow.mtdsToggleAppExpanded = (force) => {\n\t\t\ttry {\n\t\t\t\tconst next = force ?? !prev();\n\t\t\t\tsheet.replaceSync?.(`:root { ${key}: var(${key}--${next})}`);\n\t\t\t\twindow.localStorage.setItem(key, next);\n\t\t\t} catch (err) {} // localStorage is full or replaceSync is not supported\n\t\t};\n\n\t\t// Set and store initial state\n\t\twindow.mtdsToggleAppExpanded(prev());\n\t})();\n"],"names":["key","sheet","prev","_a","force","next"],"mappings":"AACC,OAAO,SAAW,OAClB,OAAO,iBACP,SAAS,uBAER,MAAM;AACN,QAAMA,IAAM,uBACNC,IAAQ,IAAI,cAAe,GAC3BC,IAAO,MAAM;AARrB,QAAAC;AAQqB,cAACA,IAAA,OAAO,aAAa,QAAQH,CAAG,MAA/B,QAAAG,EAAkC,SAAS;AAAA;AAE/D,WAAS,mBAAmB,KAAKF,CAAK,GACtC,OAAO,wBAAwB,CAACG,MAAU;AAX5C,QAAAD;AAYG,QAAI;AACH,YAAME,IAAOD,KAAS,CAACF,EAAM;AAC7B,OAAAC,IAAAF,EAAM,gBAAN,QAAAE,EAAA,KAAAF,GAAoB,WAAWD,CAAG,SAASA,CAAG,KAAKK,CAAI,OACvD,OAAO,aAAa,QAAQL,GAAKK,CAAI;AAAA,IACzC,QAAiB;AAAA,IAAE;AAAA,EAChB,GAGD,OAAO,sBAAsBH,GAAM;AACrC,GAAK;"}
package/mtds/app/app.js CHANGED
@@ -2,7 +2,7 @@ import { jsx as o } from "react/jsx-runtime";
2
2
  import { clsx as a } from "../external/clsx/dist/clsx.js";
3
3
  import { forwardRef as p } from "react";
4
4
  import c from "../styles.module.css.js";
5
- import m from "./app-toggle2.js";
5
+ import m from "./app-toggle.js";
6
6
  const f = p(function({ as: r, className: t, ...n }, e) {
7
7
  return /* @__PURE__ */ o(r || "div", { className: a(c.app, t), ref: e, ...n });
8
8
  }), d = p(function({ as: r, className: t, ...n }, e) {
@@ -1,32 +1,32 @@
1
- var W = Object.defineProperty, D = Object.getOwnPropertySymbols, Y = Object.prototype.hasOwnProperty, z = Object.prototype.propertyIsEnumerable, N = (t, e, o) => e in t ? W(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o, G = (t, e) => {
1
+ var W = Object.defineProperty, N = Object.getOwnPropertySymbols, Y = Object.prototype.hasOwnProperty, z = Object.prototype.propertyIsEnumerable, R = (t, e, o) => e in t ? W(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o, G = (t, e) => {
2
2
  for (var o in e || (e = {}))
3
- Y.call(e, o) && N(t, o, e[o]);
4
- if (D)
5
- for (var o of D(e))
6
- z.call(e, o) && N(t, o, e[o]);
3
+ Y.call(e, o) && R(t, o, e[o]);
4
+ if (N)
5
+ for (var o of N(e))
6
+ z.call(e, o) && R(t, o, e[o]);
7
7
  return t;
8
- }, C = typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", H = C && /android/i.test(navigator.userAgent), J = C && /firefox/i.test(navigator.userAgent), Q = C && /iPad|iPhone|iPod/.test(navigator.userAgent), R;
8
+ }, C = typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", B = C && /android/i.test(navigator.userAgent), J = C && /firefox/i.test(navigator.userAgent), Q = C && /iPad|iPhone|iPod/.test(navigator.userAgent), P;
9
9
  C && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474
10
- /^Mac/i.test(((R = navigator.userAgentData) == null ? void 0 : R.platform) || navigator.platform);
10
+ /^Mac/i.test(((P = navigator.userAgentData) == null ? void 0 : P.platform) || navigator.platform);
11
11
  var Z = "outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color", tt = typeof HTMLElement > "u" ? class {
12
12
  } : HTMLElement;
13
13
  function u(t, e, o) {
14
14
  return o === void 0 ? t.getAttribute(e) : (o === null ? t.removeAttribute(e) : t.getAttribute(e) !== o && t.setAttribute(e, o), null);
15
15
  }
16
- var B = (t, e, o) => {
17
- for (const i of o[0].split(","))
18
- o[0] = i, Element.prototype[`${t}EventListener`].apply(e, o);
19
- }, F = (t, ...e) => B("add", t, e), et = (t, ...e) => B("remove", t, e), T = /* @__PURE__ */ new WeakMap(), O = (t, e) => {
20
- if (e === void 0) return T.get(t);
16
+ var F = (t, e, o) => {
17
+ for (const n of o[0].split(","))
18
+ o[0] = n, Element.prototype[`${t}EventListener`].apply(e, o);
19
+ }, V = (t, ...e) => F("add", t, e), et = (t, ...e) => F("remove", t, e), x = /* @__PURE__ */ new WeakMap(), $ = (t, e) => {
20
+ if (e === void 0) return x.get(t);
21
21
  try {
22
- T.get(t).disconnect(), T.delete(t);
22
+ x.get(t).disconnect(), x.delete(t);
23
23
  } catch {
24
24
  }
25
25
  if (e) {
26
26
  const o = new MutationObserver(
27
- (i) => t.handleEvent({ type: "mutation", detail: i })
27
+ (n) => t.handleEvent({ type: "mutation", detail: n })
28
28
  );
29
- o.observe(t, e), T.set(t, o);
29
+ o.observe(t, e), x.set(t, o);
30
30
  }
31
31
  }, ot = (t) => {
32
32
  const e = "key" in t && (t.key === " " || t.key === "Enter");
@@ -35,20 +35,20 @@ var B = (t, e, o) => {
35
35
  var e;
36
36
  const o = ((e = t.getRootNode) == null ? void 0 : e.call(t)) || t.ownerDocument;
37
37
  return o instanceof Document || o instanceof ShadowRoot ? o : document;
38
- }, nt = 0, rt = (t) => t ? (t.id || (t.id = `:${t.nodeName.toLowerCase()}${(++nt).toString(32)}`), t.id) : "", g = (t, e, o) => {
39
- const i = document.createElement(t);
40
- if (e && (i.textContent = e), o) for (const [n, r] of Object.entries(o)) u(i, n, r);
41
- return i;
38
+ }, nt = 0, rt = (t) => t ? (t.id || (t.id = `:${t.nodeName.toLowerCase()}${(++nt).toString(32)}`), t.id) : "", w = (t, e, o) => {
39
+ const n = document.createElement(t);
40
+ if (e && (n.textContent = e), o) for (const [i, r] of Object.entries(o)) u(n, i, r);
41
+ return n;
42
42
  }, at = {
43
43
  define: (t, e) => !C || window.customElements.get(t) || window.customElements.define(t, e)
44
44
  }, lt = (t) => {
45
- const e = g("div");
45
+ const e = w("div");
46
46
  return e.style.cssText = "position:fixed;overflow:hidden;width:1px;white-space:nowrap", u(e, "aria-live", t), e;
47
47
  }, st = (t, e, o = "") => {
48
- var i, n;
49
- const r = { bubbles: !0, composed: !0, data: e, inputType: o }, a = HTMLInputElement.prototype;
50
- t.dispatchEvent(new InputEvent("beforeinput", r)), (n = (i = Object.getOwnPropertyDescriptor(a, "value")) == null ? void 0 : i.set) == null || n.call(t, e), t.dispatchEvent(new InputEvent("input", r)), t.dispatchEvent(new Event("change", { bubbles: !0 }));
51
- }, _, ut = 0, $ = !1, P = "beforeinput,blur,focus,click,input,keydown,mousedown,mouseup", dt = { once: !0, passive: !0 }, ct = J && !H, vt = H || Q, x = "false", pt = "insertReplacementText", k = {
48
+ var n, i;
49
+ const r = { bubbles: !0, composed: !0, data: e, inputType: o }, l = HTMLInputElement.prototype;
50
+ t.dispatchEvent(new InputEvent("beforeinput", r)), (i = (n = Object.getOwnPropertyDescriptor(l, "value")) == null ? void 0 : n.set) == null || i.call(t, e), t.dispatchEvent(new InputEvent("input", r)), t.dispatchEvent(new Event("change", { bubbles: !0 }));
51
+ }, _, ut = 0, L = !1, H = "beforeinput,blur,focus,click,input,keydown,mousedown,mouseup", dt = { once: !0, passive: !0 }, ct = J && !B, vt = B || Q, I = "false", pt = "insertReplacementText", k = {
52
52
  added: "Added",
53
53
  empty: "No selected",
54
54
  found: "Navigate left to find %d selected",
@@ -59,9 +59,9 @@ var B = (t, e, o) => {
59
59
  }, ft = class extends tt {
60
60
  constructor() {
61
61
  super(), this._speak = "", this._texts = G({}, k), this._value = "", this.attachShadow({ mode: "open" }).append(
62
- g("slot"),
62
+ w("slot"),
63
63
  // Content slot
64
- g(
64
+ w(
65
65
  "style",
66
66
  `:host(:not([hidden])) { display: block; cursor: pointer } /* Must be display block in Safari to allow focus inside */
67
67
  :host(:not([data-multiple])) ::slotted(data),
@@ -79,29 +79,29 @@ var B = (t, e, o) => {
79
79
  return Object.keys(k).map((t) => `data-sr-${t}`);
80
80
  }
81
81
  connectedCallback() {
82
- this._root = it(this), F(this, P, this, !0), O(this, { childList: !0 }), setTimeout(E, 0, this), setTimeout(L, 0, this);
82
+ this._root = it(this), V(this, H, this, !0), $(this, { childList: !0 }), setTimeout(E, 0, this), setTimeout(S, 0, this);
83
83
  }
84
84
  attributeChangedCallback(t, e, o) {
85
- const i = t.split("data-sr-")[1];
86
- k[i] && (this._texts[i] = o || k[i]);
85
+ const n = t.split("data-sr-")[1];
86
+ k[n] && (this._texts[n] = o || k[n]);
87
87
  }
88
88
  disconnectedCallback() {
89
- j(this), O(this, !1), et(this, P, this, !0), this._root = void 0;
89
+ j(this), $(this, !1), et(this, H, this, !0), this._root = void 0;
90
90
  }
91
91
  handleEvent(t) {
92
92
  const e = t.target;
93
- t.type === "beforeinput" && (this._value = (e == null ? void 0 : e.value) || ""), t.type === "blur" && ht(this), t.type === "click" && _t(this, t), t.type === "focus" && mt(this, t), t.type === "input" && yt(this, t), t.type === "keydown" && gt(this, t), t.type === "mousedown" && ($ = this.contains(e)), t.type === "mouseup" && ($ = !1), t.type === "mutation" && E(this, t);
93
+ t.type === "beforeinput" && (this._value = (e == null ? void 0 : e.value) || ""), t.type === "blur" && ht(this), t.type === "click" && _t(this, t), t.type === "focus" && mt(this, t), t.type === "input" && yt(this, t), t.type === "keydown" && gt(this, t), t.type === "mousedown" && (L = this.contains(e)), t.type === "mouseup" && (L = !1), t.type === "mutation" && E(this, t);
94
94
  }
95
95
  get multiple() {
96
96
  var t;
97
- return ((t = u(this, "data-multiple")) != null ? t : x) !== x;
97
+ return ((t = u(this, "data-multiple")) != null ? t : I) !== I;
98
98
  }
99
99
  set multiple(t) {
100
100
  u(this, "data-multiple", t ? "" : null);
101
101
  }
102
102
  get creatable() {
103
103
  var t;
104
- return ((t = u(this, "data-creatable")) != null ? t : x) !== x;
104
+ return ((t = u(this, "data-creatable")) != null ? t : I) !== I;
105
105
  }
106
106
  set creatable(t) {
107
107
  u(this, "data-creatable", t ? "" : null);
@@ -125,98 +125,103 @@ var B = (t, e, o) => {
125
125
  }
126
126
  add(t) {
127
127
  var e;
128
- const o = V(t);
128
+ const o = M(t);
129
129
  this.values.includes(o.value) || // Prevent duplicates
130
130
  ((e = this.control) == null || e.insertAdjacentElement("beforebegin", o));
131
131
  }
132
132
  }, b = (t) => {
133
133
  var e;
134
134
  return ((e = t == null ? void 0 : t.textContent) == null ? void 0 : e.trim()) || "";
135
- }, V = (t) => typeof t == "string" ? g("data", t, { value: t }) : t instanceof HTMLDataElement ? t : g("data", t.label || t.value, {
135
+ }, M = (t) => typeof t == "string" ? w("data", t, { value: t }) : t instanceof HTMLDataElement ? t : w("data", t.label || t.value, {
136
136
  value: t.value || t.label || ""
137
137
  }), j = (t) => {
138
138
  t._focus = t._control = t._items = t._list = t._options = void 0;
139
139
  }, E = (t, e) => {
140
- var o, i, n;
141
- let { _focus: r, _speak: a, _texts: d, items: f, control: l, list: v, multiple: c } = t;
142
- const { addedNodes: p, removedNodes: I } = (e == null ? void 0 : e.detail[0]) || {}, m = (e == null ? void 0 : e.detail[1]) || (p == null ? void 0 : p[1]) || (p == null ? void 0 : p[1]) ? null : (p == null ? void 0 : p[0]) || (I == null ? void 0 : I[0]), S = c ? f.length : 1, A = [];
143
- (m == null ? void 0 : m.nodeName) === "DATA" && (c ? r : m === r) && (a = `${d[m.isConnected ? "added" : "removed"]} ${b(m)}, `, (vt || r === l) && (_.textContent = a), l == null || l.focus(), setTimeout(() => {
140
+ var o, n, i;
141
+ let { _focus: r, _speak: l, _texts: d, items: f, control: a, list: v, multiple: c } = t;
142
+ const { addedNodes: p, removedNodes: T } = (e == null ? void 0 : e.detail[0]) || {}, m = (e == null ? void 0 : e.detail[1]) || (p == null ? void 0 : p[1]) || (p == null ? void 0 : p[1]) ? null : (p == null ? void 0 : p[0]) || (T == null ? void 0 : T[0]), A = c ? f.length : 1, O = [];
143
+ (m == null ? void 0 : m.nodeName) === "DATA" && (c ? r : m === r) && (l = `${d[m.isConnected ? "added" : "removed"]} ${b(m)}, `, (vt || r === a) && (_.textContent = l), a == null || a.focus(), setTimeout(() => {
144
144
  var s, h;
145
- (h = (s = (r == null ? void 0 : r.nodeName) === "DATA" ? l : r) == null ? void 0 : s.focus) == null || h.call(s), t._speak = "", ct ? F(t, "blur", () => E(t), dt) : setTimeout(E, 100, t);
145
+ (h = (s = (r == null ? void 0 : r.nodeName) === "DATA" ? a : r) == null ? void 0 : s.focus) == null || h.call(s), t._speak = "", ct ? V(t, "blur", () => E(t), dt) : setTimeout(E, 100, t);
146
146
  }, 100));
147
147
  const q = m != null && m.isConnected ? m : f[0];
148
148
  for (const s of f)
149
149
  if (!c && s !== q) s.remove();
150
150
  else {
151
- const h = b(s), M = s.value || h, X = `${a}${h}, ${d.remove}, ${A.push(M)} ${d.of} ${S}`;
152
- u(s, "role", "button"), u(s, "value", M), u(s, "tabindex", "-1"), u(s, "aria-label", X);
151
+ const h = b(s), D = s.value || h, X = `${l}${h}, ${d.remove}, ${O.push(D)} ${d.of} ${A}`;
152
+ u(s, "role", "button"), u(s, "value", D), u(s, "tabindex", "-1"), u(s, "aria-label", X);
153
153
  }
154
154
  for (const s of t.options || []) {
155
155
  const h = (o = u(s, "value")) != null ? o : b(s);
156
- u(s, "aria-label", a ? `${a}${b(s)}` : null), u(s, "selected", A.includes(h) ? "" : null);
156
+ u(s, "aria-label", l ? `${l}${b(s)}` : null), u(s, "selected", O.includes(h) ? "" : null);
157
157
  }
158
- const U = `${a}${b((i = l == null ? void 0 : l.labels) == null ? void 0 : i[0])}, ${c ? S ? d.found.replace("%d", `${S}`) : d.empty : ""}`;
159
- v && u(v, "aria-multiselectable", `${c}`), l && u(l, "list", rt(v)), l && u(l, "aria-label", U);
158
+ const U = `${l}${b((n = a == null ? void 0 : a.labels) == null ? void 0 : n[0])}, ${c ? A ? d.found.replace("%d", `${A}`) : d.empty : ""}`;
159
+ v && u(v, "aria-multiselectable", `${c}`), a && u(a, "list", rt(v)), a && u(a, "aria-label", U), a && (t._value = a.value);
160
160
  const y = t.querySelector("select");
161
- y && (y.multiple = c);
162
- for (const s of (y == null ? void 0 : y.options) || []) s.remove();
163
- y == null || y.append(...A.map((s) => new Option("", s, !0, !0))), (n = O(t)) == null || n.takeRecords();
164
- }, L = (t, e) => {
165
- const { multiple: o, control: i, items: n } = t;
166
- if (!(o || !i || !n[0])) {
167
- if (e) return st(i, b(t.items[0]));
168
- i.value = b(t.items[0]);
161
+ y && (y.multiple = c), y && (y.textContent = ""), y == null || y.append(...O.map((s) => new Option("", s, !0, !0))), (i = $(t)) == null || i.takeRecords();
162
+ }, S = (t, e) => {
163
+ const { multiple: o, control: n, items: i } = t;
164
+ if (!(o || !n || !i[0])) {
165
+ if (e) return st(n, b(t.items[0]), "insertText");
166
+ n.value = b(t.items[0]);
169
167
  }
170
168
  }, K = (t) => {
171
169
  var e;
172
- const { options: o = [], creatable: i, control: n, items: r, multiple: a } = t, d = ((e = n == null ? void 0 : n.value) == null ? void 0 : e.trim()) || "", f = d.toLowerCase() || null;
173
- let l = [...o].find((c) => c.label.trim().toLowerCase() === f);
174
- const v = { bubbles: !0, cancelable: !0, detail: l };
170
+ const { options: o = [], creatable: n, control: i, items: r, multiple: l } = t, d = ((e = i == null ? void 0 : i.value) == null ? void 0 : e.trim()) || "", f = d.toLowerCase() || null;
171
+ let a = [...o].find((c) => c.label.trim().toLowerCase() === f);
172
+ const v = { bubbles: !0, cancelable: !0, detail: a };
175
173
  if (t.dispatchEvent(new CustomEvent("beforematch", v)))
176
- for (const c of o) c.selected = c === l;
177
- if (l = [...o].find((c) => c.selected), !l && i && d) return t.add(d);
178
- if (!l && !a && r[0]) return w(t, r[0]);
179
- if (!l || t.values.includes(l.value)) return E(t);
180
- w(t, l, !1);
181
- }, w = (t, e, o = !0) => {
182
- const i = V(e), n = [...t.items].find((a) => a.value === e.value), r = { bubbles: !0, cancelable: !0, detail: n || i };
183
- n && !o || t.dispatchEvent(new CustomEvent("beforechange", r)) && (n ? n.remove() : t.add(i), t.dispatchEvent(new CustomEvent("afterchange", r)));
174
+ for (const c of o) c.selected = c === a;
175
+ if (a = [...o].find((c) => c.selected), !a && n && d)
176
+ return g(t, M(d));
177
+ if (!a && !l && r[0]) return g(t, r[0]);
178
+ if (!a || t.values.includes(a.value)) return E(t);
179
+ g(t, a, !1);
180
+ }, g = (t, e, o = !0) => {
181
+ const n = M(e), i = [...t.items].find((l) => l.value === e.value), r = { bubbles: !0, cancelable: !0, detail: i || n };
182
+ if (!(i && !o)) {
183
+ if (!t.dispatchEvent(new CustomEvent("beforechange", r)))
184
+ return E(t);
185
+ i ? i.remove() : t.add(n), t.dispatchEvent(new CustomEvent("afterchange", r));
186
+ }
184
187
  }, mt = (t, { target: e }) => {
185
188
  _ || (_ = lt("assertive")), _.isConnected || document.body.appendChild(_), e instanceof HTMLElement && (t._focus = e), t._items || (t._control = t.control || void 0, t._items = t.items, t._list = t.list || void 0, t._options = t.options || void 0);
186
- }, ht = (t) => $ || setTimeout(bt, 0, t), bt = (t) => {
189
+ }, ht = (t) => L || setTimeout(bt, 0, t), bt = (t) => {
187
190
  var e;
188
- !t._focus || t.contains((e = t._root) == null ? void 0 : e.activeElement) || (L(t, !0), j(t));
191
+ !t._focus || t.contains((e = t._root) == null ? void 0 : e.activeElement) || (S(t, !0), j(t));
189
192
  }, _t = (t, e) => {
190
193
  var o;
191
- const { clientX: i, clientY: n, target: r } = e;
192
- for (const a of t.items) {
193
- const { top: d, right: f, bottom: l, left: v } = a.getBoundingClientRect();
194
- if (a.contains(r)) return w(t, a);
195
- if (n >= d && n <= l && i >= v && i <= f) return a.focus();
194
+ const { clientX: n, clientY: i, target: r } = e;
195
+ for (const l of t.items) {
196
+ const { top: d, right: f, bottom: a, left: v } = l.getBoundingClientRect();
197
+ if (l.contains(r)) return g(t, l);
198
+ if (i >= d && i <= a && n >= v && n <= f) return l.focus();
196
199
  }
197
200
  r === t && ((o = t.control) == null || o.focus());
198
201
  }, yt = (t, e) => {
199
- const { options: o = [], control: i, multiple: n } = t;
200
- if (!(e instanceof InputEvent ? !e.inputType || e.inputType === pt : i == null ? void 0 : i.value)) return n || K(t);
201
- for (const a of o)
202
- if (a.value && a.value === (i == null ? void 0 : i.value))
203
- return i.value = n ? t._value : a.label, n && e.stopImmediatePropagation(), w(t, a, n);
202
+ var o;
203
+ const { options: n = [], control: i, multiple: r } = t, l = ((o = i == null ? void 0 : i.value) == null ? void 0 : o.trim()) || "";
204
+ if (!(e instanceof InputEvent ? !e.inputType || e.inputType === pt : !!l)) return r || K(t);
205
+ e.stopImmediatePropagation(), i && (i.value = t._value);
206
+ for (const f of n)
207
+ if (f.value && f.value === l)
208
+ return g(t, f, r), setTimeout(S, 0, t, !0);
204
209
  }, gt = (t, e) => {
205
210
  var o;
206
211
  if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) return;
207
- const { _texts: i, control: n, items: r, multiple: a } = t, { key: d, repeat: f, target: l } = e, v = n && n === l, c = v && (n == null ? void 0 : n.selectionEnd);
208
- let p = v ? r.length : [...r].indexOf(l);
212
+ const { _texts: n, control: i, items: r, multiple: l } = t, { key: d, repeat: f, target: a } = e, v = i && i === a, c = v && (i == null ? void 0 : i.selectionEnd);
213
+ let p = v ? r.length : [...r].indexOf(a);
209
214
  if (!(p === -1 || !v && ot(e))) {
210
215
  if (d === "ArrowRight" && !v) p += 1;
211
216
  else if (d === "ArrowLeft" && !c) p -= 1;
212
217
  else if (d === "Enter" && v) {
213
- const I = u(n, "form");
214
- return u(n, "form", "#"), requestAnimationFrame(() => u(n, "form", I)), a ? K(t) : !t.items[0] && _ && (_.textContent = `${i.invalid}${++ut % 2 ? " " : ""}`), L(t, !0);
218
+ const T = u(i, "form");
219
+ return u(i, "form", "#"), requestAnimationFrame(() => u(i, "form", T)), l ? K(t) : !t.items[0] && _ && (_.textContent = `${n.invalid}${++ut % 2 ? " " : ""}`), S(t, !0);
215
220
  } else if ((d === "Backspace" || d === "Delete") && !c) {
216
- if (e.preventDefault(), !f && r[p]) return w(t, r[p]);
221
+ if (e.preventDefault(), !f && r[p]) return g(t, r[p]);
217
222
  v && (p -= 1);
218
- } else return v || (n == null ? void 0 : n.focus());
219
- e.preventDefault(), (o = r[Math.max(0, p)] || n) == null || o.focus();
223
+ } else return v || (i == null ? void 0 : i.focus());
224
+ e.preventDefault(), (o = r[Math.max(0, p)] || i) == null || o.focus();
220
225
  }
221
226
  };
222
227
  at.define("u-combobox", ft);
@@ -1 +1 @@
1
- {"version":3,"file":"u-combobox.js","sources":["../../../../../node_modules/@u-elements/u-combobox/dist/u-combobox.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// ../utils.ts\nvar IS_BROWSER = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.navigator !== \"undefined\";\nvar IS_ANDROID = IS_BROWSER && /android/i.test(navigator.userAgent);\nvar IS_FIREFOX = IS_BROWSER && /firefox/i.test(navigator.userAgent);\nvar IS_IOS = IS_BROWSER && /iPad|iPhone|iPod/.test(navigator.userAgent);\nvar _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 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 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 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, text2, attrs) => {\n const el = document.createElement(tagName);\n if (text2) el.textContent = text2;\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 createAriaLive = (mode) => {\n const live = createElement(\"div\");\n live.style.cssText = \"position:fixed;overflow:hidden;width:1px;white-space:nowrap\";\n attr(live, \"aria-live\", mode);\n return live;\n};\nvar setValue = (input, data, type = \"\") => {\n var _a2, _b;\n const event = { bubbles: true, composed: true, data, inputType: type };\n const proto = HTMLInputElement.prototype;\n input.dispatchEvent(new InputEvent(\"beforeinput\", event));\n (_b = (_a2 = Object.getOwnPropertyDescriptor(proto, \"value\")) == null ? void 0 : _a2.set) == null ? void 0 : _b.call(input, data);\n input.dispatchEvent(new InputEvent(\"input\", event));\n input.dispatchEvent(new Event(\"change\", { bubbles: true }));\n};\n\n// u-combobox.ts\nvar LIVE;\nvar LIVE_SR_FIX = 0;\nvar IS_PRESS = false;\nvar EVENTS = \"beforeinput,blur,focus,click,input,keydown,mousedown,mouseup\";\nvar EVENT_ONCE = { once: true, passive: true };\nvar IS_FIREFOX_MAC = IS_FIREFOX && !IS_ANDROID;\nvar IS_MOBILE = IS_ANDROID || IS_IOS;\nvar FALSE = \"false\";\nvar CLICK = \"insertReplacementText\";\nvar TEXTS = {\n added: \"Added\",\n empty: \"No selected\",\n found: \"Navigate left to find %d selected\",\n invalid: \"Invalid value\",\n of: \"of\",\n remove: \"Press to remove\",\n removed: \"Removed\"\n};\nvar UHTMLComboboxElement = class extends UHTMLElement {\n constructor() {\n super();\n this._speak = \"\";\n this._texts = __spreadValues({}, TEXTS);\n this._value = \"\";\n this.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\"),\n // Content slot\n createElement(\n \"style\",\n `:host(:not([hidden])) { display: block; cursor: pointer } /* Must be display block in Safari to allow focus inside */\n\t\t\t\t:host(:not([data-multiple])) ::slotted(data),\n\t\t\t\t:host([data-multiple=\"false\"]) ::slotted(data) { display: none } /* Hide data if not multiple */\n\t\t\t\t::slotted(data) { display: inline-block; pointer-events: none }\n ::slotted(data)::after { content: '\\\\00D7'; content: '\\\\00D7' / ''; padding-inline: .5ch; pointer-events: auto }\n ::slotted(data:focus) { ${FOCUS_OUTLINE} }`\n // Show focus outline around ::after only\n )\n );\n }\n // Locally store value to store value before input-click\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return Object.keys(TEXTS).map((key) => `data-sr-${key}`);\n }\n connectedCallback() {\n this._root = getRoot(this);\n on(this, EVENTS, this, true);\n mutationObserver(this, { childList: true });\n setTimeout(render, 0, this);\n setTimeout(syncInputValue, 0, this);\n }\n attributeChangedCallback(prop, _, val) {\n const text2 = prop.split(\"data-sr-\")[1];\n if (TEXTS[text2]) this._texts[text2] = val || TEXTS[text2];\n }\n disconnectedCallback() {\n disconnectCache(this);\n mutationObserver(this, false);\n off(this, EVENTS, this, true);\n this._root = void 0;\n }\n handleEvent(event) {\n const target = event.target;\n if (event.type === \"beforeinput\") this._value = (target == null ? void 0 : target.value) || \"\";\n if (event.type === \"blur\") onBlur(this);\n if (event.type === \"click\") onClick(this, event);\n if (event.type === \"focus\") onFocus(this, event);\n if (event.type === \"input\") onInput(this, event);\n if (event.type === \"keydown\") onKeyDown(this, event);\n if (event.type === \"mousedown\") IS_PRESS = this.contains(target);\n if (event.type === \"mouseup\") IS_PRESS = false;\n if (event.type === \"mutation\") render(this, event);\n }\n get multiple() {\n var _a2;\n return ((_a2 = attr(this, \"data-multiple\")) != null ? _a2 : FALSE) !== FALSE;\n }\n set multiple(value) {\n attr(this, \"data-multiple\", value ? \"\" : null);\n }\n get creatable() {\n var _a2;\n return ((_a2 = attr(this, \"data-creatable\")) != null ? _a2 : FALSE) !== FALSE;\n }\n set creatable(value) {\n attr(this, \"data-creatable\", value ? \"\" : null);\n }\n get control() {\n return this._control || this.querySelector(\"input\");\n }\n get list() {\n return this._list || this.querySelector(\"u-datalist,datalist\") || null;\n }\n get items() {\n return this._items || this.getElementsByTagName(\"data\");\n }\n get options() {\n var _a2, _b;\n const tag = `${((_a2 = this.list) == null ? void 0 : _a2.nodeName) === \"U-DATALIST\" ? \"u-\" : \"\"}option`;\n return this._options || ((_b = this.list) == null ? void 0 : _b.getElementsByTagName(tag));\n }\n get values() {\n return [...this.items].map(({ value }) => value);\n }\n add(value) {\n var _a2;\n const item = createItem(value);\n this.values.includes(item.value) || // Prevent duplicates\n ((_a2 = this.control) == null ? void 0 : _a2.insertAdjacentElement(\"beforebegin\", item));\n }\n};\nvar text = (el) => {\n var _a2;\n return ((_a2 = el == null ? void 0 : el.textContent) == null ? void 0 : _a2.trim()) || \"\";\n};\nvar createItem = (value) => {\n if (typeof value === \"string\") return createElement(\"data\", value, { value });\n if (value instanceof HTMLDataElement) return value;\n return createElement(\"data\", value.label || value.value, {\n value: value.value || value.label || \"\"\n });\n};\nvar disconnectCache = (el) => {\n el._focus = el._control = el._items = el._list = el._options = void 0;\n};\nvar render = (self, e) => {\n var _a2, _b, _c;\n let { _focus, _speak, _texts, items, control, list, multiple } = self;\n const { addedNodes, removedNodes } = (e == null ? void 0 : e.detail[0]) || {};\n const isMultiEdit = (e == null ? void 0 : e.detail[1]) || (addedNodes == null ? void 0 : addedNodes[1]) || (addedNodes == null ? void 0 : addedNodes[1]);\n const edit = isMultiEdit ? null : (addedNodes == null ? void 0 : addedNodes[0]) || (removedNodes == null ? void 0 : removedNodes[0]);\n const total = multiple ? items.length : 1;\n const values = [];\n if ((edit == null ? void 0 : edit.nodeName) === \"DATA\" && (multiple ? _focus : edit === _focus)) {\n _speak = `${_texts[edit.isConnected ? \"added\" : \"removed\"]} ${text(edit)}, `;\n if (IS_MOBILE || _focus === control) LIVE.textContent = _speak;\n control == null ? void 0 : control.focus();\n setTimeout(() => {\n var _a3, _b2;\n (_b2 = (_a3 = (_focus == null ? void 0 : _focus.nodeName) === \"DATA\" ? control : _focus) == null ? void 0 : _a3.focus) == null ? void 0 : _b2.call(_a3);\n self._speak = \"\";\n if (IS_FIREFOX_MAC) on(self, \"blur\", () => render(self), EVENT_ONCE);\n else setTimeout(render, 100, self);\n }, 100);\n }\n const keep = (edit == null ? void 0 : edit.isConnected) ? edit : items[0];\n for (const item of items) {\n if (!multiple && item !== keep) item.remove();\n else {\n const label2 = text(item);\n const value = item.value || label2;\n const aria = `${_speak}${label2}, ${_texts.remove}, ${values.push(value)} ${_texts.of} ${total}`;\n attr(item, \"role\", \"button\");\n attr(item, \"value\", value);\n attr(item, \"tabindex\", \"-1\");\n attr(item, \"aria-label\", aria);\n }\n }\n for (const opt of self.options || []) {\n const value = (_a2 = attr(opt, \"value\")) != null ? _a2 : text(opt);\n attr(opt, \"aria-label\", _speak ? `${_speak}${text(opt)}` : null);\n attr(opt, \"selected\", values.includes(value) ? \"\" : null);\n }\n const label = `${_speak}${text((_b = control == null ? void 0 : control.labels) == null ? void 0 : _b[0])}, ${multiple ? total ? _texts.found.replace(\"%d\", `${total}`) : _texts.empty : \"\"}`;\n if (list) attr(list, \"aria-multiselectable\", `${multiple}`);\n if (control) attr(control, \"list\", useId(list));\n if (control) attr(control, \"aria-label\", label);\n const select = self.querySelector(\"select\");\n if (select) select.multiple = multiple;\n for (const opt of (select == null ? void 0 : select.options) || []) opt.remove();\n select == null ? void 0 : select.append(...values.map((value) => new Option(\"\", value, true, true)));\n (_c = mutationObserver(self)) == null ? void 0 : _c.takeRecords();\n};\nvar syncInputValue = (self, withEvent) => {\n const { multiple, control, items } = self;\n if (multiple || !control || !items[0]) return;\n if (withEvent) return setValue(control, text(self.items[0]));\n control.value = text(self.items[0]);\n};\nvar dispatchMatch = (self) => {\n var _a2;\n const { options = [], creatable, control, items, multiple } = self;\n const value = ((_a2 = control == null ? void 0 : control.value) == null ? void 0 : _a2.trim()) || \"\";\n const query = value.toLowerCase() || null;\n let match = [...options].find((o) => o.label.trim().toLowerCase() === query);\n const event = { bubbles: true, cancelable: true, detail: match };\n if (self.dispatchEvent(new CustomEvent(\"beforematch\", event)))\n for (const opt of options) opt.selected = opt === match;\n match = [...options].find((o) => o.selected);\n if (!match && creatable && value) return self.add(value);\n if (!match && !multiple && items[0]) return dispatchChange(self, items[0]);\n if (!match || self.values.includes(match.value)) return render(self);\n dispatchChange(self, match, false);\n};\nvar dispatchChange = (self, item, removeable = true) => {\n const add = createItem(item);\n const remove = [...self.items].find((i) => i.value === item.value);\n const event = { bubbles: true, cancelable: true, detail: remove || add };\n if (remove && !removeable) return;\n if (!self.dispatchEvent(new CustomEvent(\"beforechange\", event))) return;\n remove ? remove.remove() : self.add(add);\n self.dispatchEvent(new CustomEvent(\"afterchange\", event));\n};\nvar onFocus = (self, { target }) => {\n if (!LIVE) LIVE = createAriaLive(\"assertive\");\n if (!LIVE.isConnected) document.body.appendChild(LIVE);\n if (target instanceof HTMLElement) self._focus = target;\n if (!self._items) {\n self._control = self.control || void 0;\n self._items = self.items;\n self._list = self.list || void 0;\n self._options = self.options || void 0;\n }\n};\nvar onBlur = (self) => IS_PRESS || setTimeout(onBlurred, 0, self);\nvar onBlurred = (self) => {\n var _a2;\n if (!self._focus || self.contains((_a2 = self._root) == null ? void 0 : _a2.activeElement)) return;\n syncInputValue(self, true);\n disconnectCache(self);\n};\nvar onClick = (self, event) => {\n var _a2;\n const { clientX: x, clientY: y, target } = event;\n for (const item of self.items) {\n const { top, right, bottom, left } = item.getBoundingClientRect();\n if (item.contains(target)) return dispatchChange(self, item);\n if (y >= top && y <= bottom && x >= left && x <= right) return item.focus();\n }\n if (target === self) (_a2 = self.control) == null ? void 0 : _a2.focus();\n};\nvar onInput = (self, event) => {\n const { options = [], control, multiple } = self;\n const isClick = event instanceof InputEvent ? !event.inputType || event.inputType === CLICK : control == null ? void 0 : control.value;\n if (!isClick) return multiple || dispatchMatch(self);\n for (const opt of options)\n if (opt.value && opt.value === (control == null ? void 0 : control.value)) {\n control.value = multiple ? self._value : opt.label;\n if (multiple) event.stopImmediatePropagation();\n return dispatchChange(self, opt, multiple);\n }\n};\nvar onKeyDown = (self, event) => {\n var _a2;\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) return;\n const { _texts, control, items, multiple } = self;\n const { key, repeat, target } = event;\n const isControl = control && control === target;\n const inText = isControl && (control == null ? void 0 : control.selectionEnd);\n let index = isControl ? items.length : [...items].indexOf(target);\n if (index === -1 || !isControl && asButton(event)) return;\n if (key === \"ArrowRight\" && !isControl) index += 1;\n else if (key === \"ArrowLeft\" && !inText) index -= 1;\n else if (key === \"Enter\" && isControl) {\n const form = attr(control, \"form\");\n attr(control, \"form\", \"#\");\n requestAnimationFrame(() => attr(control, \"form\", form));\n if (multiple) dispatchMatch(self);\n else if (!self.items[0] && LIVE)\n LIVE.textContent = `${_texts.invalid}${++LIVE_SR_FIX % 2 ? \"\\xA0\" : \"\"}`;\n return syncInputValue(self, true);\n } else if ((key === \"Backspace\" || key === \"Delete\") && !inText) {\n event.preventDefault();\n if (!repeat && items[index]) return dispatchChange(self, items[index]);\n if (isControl) index -= 1;\n } else return isControl || (control == null ? void 0 : control.focus());\n event.preventDefault();\n (_a2 = items[Math.max(0, index)] || control) == null ? void 0 : _a2.focus();\n};\ncustomElements.define(\"u-combobox\", UHTMLComboboxElement);\n\nexport { UHTMLComboboxElement };\n"],"names":["__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","IS_BROWSER","IS_ANDROID","IS_FIREFOX","IS_IOS","_a","FOCUS_OUTLINE","UHTMLElement","attr","el","name","events","action","element","rest","type","on","off","observers","mutationObserver","options","observer","detail","asButton","event","isClick","getRoot","node","_a2","root","id","useId","createElement","tagName","text2","attrs","val","customElements","instance","createAriaLive","mode","live","setValue","input","data","_b","proto","LIVE","LIVE_SR_FIX","IS_PRESS","EVENTS","EVENT_ONCE","IS_FIREFOX_MAC","IS_MOBILE","FALSE","CLICK","TEXTS","UHTMLComboboxElement","render","syncInputValue","_","disconnectCache","target","onBlur","onClick","onFocus","onInput","onKeyDown","tag","item","createItem","text","self","_c","_focus","_speak","_texts","items","control","list","multiple","addedNodes","removedNodes","edit","total","values","_a3","_b2","keep","label2","aria","opt","label","select","withEvent","dispatchMatch","creatable","query","match","o","dispatchChange","removeable","add","remove","i","onBlurred","x","y","top","right","bottom","left","repeat","isControl","inText","index","form"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"u-combobox.js","sources":["../../../../../node_modules/@u-elements/u-combobox/dist/u-combobox.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// ../utils.ts\nvar IS_BROWSER = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.navigator !== \"undefined\";\nvar IS_ANDROID = IS_BROWSER && /android/i.test(navigator.userAgent);\nvar IS_FIREFOX = IS_BROWSER && /firefox/i.test(navigator.userAgent);\nvar IS_IOS = IS_BROWSER && /iPad|iPhone|iPod/.test(navigator.userAgent);\nvar _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 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 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 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, text2, attrs) => {\n const el = document.createElement(tagName);\n if (text2) el.textContent = text2;\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 createAriaLive = (mode) => {\n const live = createElement(\"div\");\n live.style.cssText = \"position:fixed;overflow:hidden;width:1px;white-space:nowrap\";\n attr(live, \"aria-live\", mode);\n return live;\n};\nvar setValue = (input, data, type = \"\") => {\n var _a2, _b;\n const event = { bubbles: true, composed: true, data, inputType: type };\n const proto = HTMLInputElement.prototype;\n input.dispatchEvent(new InputEvent(\"beforeinput\", event));\n (_b = (_a2 = Object.getOwnPropertyDescriptor(proto, \"value\")) == null ? void 0 : _a2.set) == null ? void 0 : _b.call(input, data);\n input.dispatchEvent(new InputEvent(\"input\", event));\n input.dispatchEvent(new Event(\"change\", { bubbles: true }));\n};\n\n// u-combobox.ts\nvar LIVE;\nvar LIVE_SR_FIX = 0;\nvar IS_PRESS = false;\nvar EVENTS = \"beforeinput,blur,focus,click,input,keydown,mousedown,mouseup\";\nvar EVENT_ONCE = { once: true, passive: true };\nvar IS_FIREFOX_MAC = IS_FIREFOX && !IS_ANDROID;\nvar IS_MOBILE = IS_ANDROID || IS_IOS;\nvar FALSE = \"false\";\nvar CLICK = \"insertReplacementText\";\nvar TEXTS = {\n added: \"Added\",\n empty: \"No selected\",\n found: \"Navigate left to find %d selected\",\n invalid: \"Invalid value\",\n of: \"of\",\n remove: \"Press to remove\",\n removed: \"Removed\"\n};\nvar UHTMLComboboxElement = class extends UHTMLElement {\n constructor() {\n super();\n this._speak = \"\";\n this._texts = __spreadValues({}, TEXTS);\n this._value = \"\";\n this.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\"),\n // Content slot\n createElement(\n \"style\",\n `:host(:not([hidden])) { display: block; cursor: pointer } /* Must be display block in Safari to allow focus inside */\n\t\t\t\t:host(:not([data-multiple])) ::slotted(data),\n\t\t\t\t:host([data-multiple=\"false\"]) ::slotted(data) { display: none } /* Hide data if not multiple */\n\t\t\t\t::slotted(data) { display: inline-block; pointer-events: none }\n ::slotted(data)::after { content: '\\\\00D7'; content: '\\\\00D7' / ''; padding-inline: .5ch; pointer-events: auto }\n ::slotted(data:focus) { ${FOCUS_OUTLINE} }`\n // Show focus outline around ::after only\n )\n );\n }\n // Locally store value to store value before input-click\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return Object.keys(TEXTS).map((key) => `data-sr-${key}`);\n }\n connectedCallback() {\n this._root = getRoot(this);\n on(this, EVENTS, this, true);\n mutationObserver(this, { childList: true });\n setTimeout(render, 0, this);\n setTimeout(syncInputValue, 0, this);\n }\n attributeChangedCallback(prop, _, val) {\n const text2 = prop.split(\"data-sr-\")[1];\n if (TEXTS[text2]) this._texts[text2] = val || TEXTS[text2];\n }\n disconnectedCallback() {\n disconnectCache(this);\n mutationObserver(this, false);\n off(this, EVENTS, this, true);\n this._root = void 0;\n }\n handleEvent(event) {\n const target = event.target;\n if (event.type === \"beforeinput\") this._value = (target == null ? void 0 : target.value) || \"\";\n if (event.type === \"blur\") onBlur(this);\n if (event.type === \"click\") onClick(this, event);\n if (event.type === \"focus\") onFocus(this, event);\n if (event.type === \"input\") onInput(this, event);\n if (event.type === \"keydown\") onKeyDown(this, event);\n if (event.type === \"mousedown\") IS_PRESS = this.contains(target);\n if (event.type === \"mouseup\") IS_PRESS = false;\n if (event.type === \"mutation\") render(this, event);\n }\n get multiple() {\n var _a2;\n return ((_a2 = attr(this, \"data-multiple\")) != null ? _a2 : FALSE) !== FALSE;\n }\n set multiple(value) {\n attr(this, \"data-multiple\", value ? \"\" : null);\n }\n get creatable() {\n var _a2;\n return ((_a2 = attr(this, \"data-creatable\")) != null ? _a2 : FALSE) !== FALSE;\n }\n set creatable(value) {\n attr(this, \"data-creatable\", value ? \"\" : null);\n }\n get control() {\n return this._control || this.querySelector(\"input\");\n }\n get list() {\n return this._list || this.querySelector(\"u-datalist,datalist\") || null;\n }\n get items() {\n return this._items || this.getElementsByTagName(\"data\");\n }\n get options() {\n var _a2, _b;\n const tag = `${((_a2 = this.list) == null ? void 0 : _a2.nodeName) === \"U-DATALIST\" ? \"u-\" : \"\"}option`;\n return this._options || ((_b = this.list) == null ? void 0 : _b.getElementsByTagName(tag));\n }\n get values() {\n return [...this.items].map(({ value }) => value);\n }\n add(value) {\n var _a2;\n const item = createItem(value);\n this.values.includes(item.value) || // Prevent duplicates\n ((_a2 = this.control) == null ? void 0 : _a2.insertAdjacentElement(\"beforebegin\", item));\n }\n};\nvar text = (el) => {\n var _a2;\n return ((_a2 = el == null ? void 0 : el.textContent) == null ? void 0 : _a2.trim()) || \"\";\n};\nvar createItem = (value) => {\n if (typeof value === \"string\") return createElement(\"data\", value, { value });\n if (value instanceof HTMLDataElement) return value;\n return createElement(\"data\", value.label || value.value, {\n value: value.value || value.label || \"\"\n });\n};\nvar disconnectCache = (el) => {\n el._focus = el._control = el._items = el._list = el._options = void 0;\n};\nvar render = (self, e) => {\n var _a2, _b, _c;\n let { _focus, _speak, _texts, items, control, list, multiple } = self;\n const { addedNodes, removedNodes } = (e == null ? void 0 : e.detail[0]) || {};\n const isMultiEdit = (e == null ? void 0 : e.detail[1]) || (addedNodes == null ? void 0 : addedNodes[1]) || (addedNodes == null ? void 0 : addedNodes[1]);\n const edit = isMultiEdit ? null : (addedNodes == null ? void 0 : addedNodes[0]) || (removedNodes == null ? void 0 : removedNodes[0]);\n const total = multiple ? items.length : 1;\n const values = [];\n if ((edit == null ? void 0 : edit.nodeName) === \"DATA\" && (multiple ? _focus : edit === _focus)) {\n _speak = `${_texts[edit.isConnected ? \"added\" : \"removed\"]} ${text(edit)}, `;\n if (IS_MOBILE || _focus === control) LIVE.textContent = _speak;\n control == null ? void 0 : control.focus();\n setTimeout(() => {\n var _a3, _b2;\n (_b2 = (_a3 = (_focus == null ? void 0 : _focus.nodeName) === \"DATA\" ? control : _focus) == null ? void 0 : _a3.focus) == null ? void 0 : _b2.call(_a3);\n self._speak = \"\";\n if (IS_FIREFOX_MAC) on(self, \"blur\", () => render(self), EVENT_ONCE);\n else setTimeout(render, 100, self);\n }, 100);\n }\n const keep = (edit == null ? void 0 : edit.isConnected) ? edit : items[0];\n for (const item of items) {\n if (!multiple && item !== keep) item.remove();\n else {\n const label2 = text(item);\n const value = item.value || label2;\n const aria = `${_speak}${label2}, ${_texts.remove}, ${values.push(value)} ${_texts.of} ${total}`;\n attr(item, \"role\", \"button\");\n attr(item, \"value\", value);\n attr(item, \"tabindex\", \"-1\");\n attr(item, \"aria-label\", aria);\n }\n }\n for (const opt of self.options || []) {\n const value = (_a2 = attr(opt, \"value\")) != null ? _a2 : text(opt);\n attr(opt, \"aria-label\", _speak ? `${_speak}${text(opt)}` : null);\n attr(opt, \"selected\", values.includes(value) ? \"\" : null);\n }\n const label = `${_speak}${text((_b = control == null ? void 0 : control.labels) == null ? void 0 : _b[0])}, ${multiple ? total ? _texts.found.replace(\"%d\", `${total}`) : _texts.empty : \"\"}`;\n if (list) attr(list, \"aria-multiselectable\", `${multiple}`);\n if (control) attr(control, \"list\", useId(list));\n if (control) attr(control, \"aria-label\", label);\n if (control) self._value = control.value;\n const select = self.querySelector(\"select\");\n if (select) select.multiple = multiple;\n if (select) select.textContent = \"\";\n select == null ? void 0 : select.append(...values.map((value) => new Option(\"\", value, true, true)));\n (_c = mutationObserver(self)) == null ? void 0 : _c.takeRecords();\n};\nvar syncInputValue = (self, withEvent) => {\n const { multiple, control, items } = self;\n if (multiple || !control || !items[0]) return;\n if (withEvent) return setValue(control, text(self.items[0]), \"insertText\");\n control.value = text(self.items[0]);\n};\nvar dispatchMatch = (self) => {\n var _a2;\n const { options = [], creatable, control, items, multiple } = self;\n const value = ((_a2 = control == null ? void 0 : control.value) == null ? void 0 : _a2.trim()) || \"\";\n const query = value.toLowerCase() || null;\n let match = [...options].find((o) => o.label.trim().toLowerCase() === query);\n const event = { bubbles: true, cancelable: true, detail: match };\n if (self.dispatchEvent(new CustomEvent(\"beforematch\", event)))\n for (const opt of options) opt.selected = opt === match;\n match = [...options].find((o) => o.selected);\n if (!match && creatable && value)\n return dispatchChange(self, createItem(value));\n if (!match && !multiple && items[0]) return dispatchChange(self, items[0]);\n if (!match || self.values.includes(match.value)) return render(self);\n dispatchChange(self, match, false);\n};\nvar dispatchChange = (self, item, removeable = true) => {\n const add = createItem(item);\n const remove = [...self.items].find((i) => i.value === item.value);\n const event = { bubbles: true, cancelable: true, detail: remove || add };\n if (remove && !removeable) return;\n if (!self.dispatchEvent(new CustomEvent(\"beforechange\", event)))\n return render(self);\n remove ? remove.remove() : self.add(add);\n self.dispatchEvent(new CustomEvent(\"afterchange\", event));\n};\nvar onFocus = (self, { target }) => {\n if (!LIVE) LIVE = createAriaLive(\"assertive\");\n if (!LIVE.isConnected) document.body.appendChild(LIVE);\n if (target instanceof HTMLElement) self._focus = target;\n if (!self._items) {\n self._control = self.control || void 0;\n self._items = self.items;\n self._list = self.list || void 0;\n self._options = self.options || void 0;\n }\n};\nvar onBlur = (self) => IS_PRESS || setTimeout(onBlurred, 0, self);\nvar onBlurred = (self) => {\n var _a2;\n if (!self._focus || self.contains((_a2 = self._root) == null ? void 0 : _a2.activeElement)) return;\n syncInputValue(self, true);\n disconnectCache(self);\n};\nvar onClick = (self, event) => {\n var _a2;\n const { clientX: x, clientY: y, target } = event;\n for (const item of self.items) {\n const { top, right, bottom, left } = item.getBoundingClientRect();\n if (item.contains(target)) return dispatchChange(self, item);\n if (y >= top && y <= bottom && x >= left && x <= right) return item.focus();\n }\n if (target === self) (_a2 = self.control) == null ? void 0 : _a2.focus();\n};\nvar onInput = (self, event) => {\n var _a2;\n const { options = [], control, multiple } = self;\n const value = ((_a2 = control == null ? void 0 : control.value) == null ? void 0 : _a2.trim()) || \"\";\n const isClick = event instanceof InputEvent ? !event.inputType || event.inputType === CLICK : !!value;\n if (!isClick) return multiple || dispatchMatch(self);\n event.stopImmediatePropagation();\n if (control) control.value = self._value;\n for (const opt of options)\n if (opt.value && opt.value === value) {\n dispatchChange(self, opt, multiple);\n return setTimeout(syncInputValue, 0, self, true);\n }\n};\nvar onKeyDown = (self, event) => {\n var _a2;\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) return;\n const { _texts, control, items, multiple } = self;\n const { key, repeat, target } = event;\n const isControl = control && control === target;\n const inText = isControl && (control == null ? void 0 : control.selectionEnd);\n let index = isControl ? items.length : [...items].indexOf(target);\n if (index === -1 || !isControl && asButton(event)) return;\n if (key === \"ArrowRight\" && !isControl) index += 1;\n else if (key === \"ArrowLeft\" && !inText) index -= 1;\n else if (key === \"Enter\" && isControl) {\n const form = attr(control, \"form\");\n attr(control, \"form\", \"#\");\n requestAnimationFrame(() => attr(control, \"form\", form));\n if (multiple) dispatchMatch(self);\n else if (!self.items[0] && LIVE)\n LIVE.textContent = `${_texts.invalid}${++LIVE_SR_FIX % 2 ? \"\\xA0\" : \"\"}`;\n return syncInputValue(self, true);\n } else if ((key === \"Backspace\" || key === \"Delete\") && !inText) {\n event.preventDefault();\n if (!repeat && items[index]) return dispatchChange(self, items[index]);\n if (isControl) index -= 1;\n } else return isControl || (control == null ? void 0 : control.focus());\n event.preventDefault();\n (_a2 = items[Math.max(0, index)] || control) == null ? void 0 : _a2.focus();\n};\ncustomElements.define(\"u-combobox\", UHTMLComboboxElement);\n\nexport { UHTMLComboboxElement };\n"],"names":["__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","IS_BROWSER","IS_ANDROID","IS_FIREFOX","IS_IOS","_a","FOCUS_OUTLINE","UHTMLElement","attr","el","name","events","action","element","rest","type","on","off","observers","mutationObserver","options","observer","detail","asButton","event","isClick","getRoot","node","_a2","root","id","useId","createElement","tagName","text2","attrs","val","customElements","instance","createAriaLive","mode","live","setValue","input","data","_b","proto","LIVE","LIVE_SR_FIX","IS_PRESS","EVENTS","EVENT_ONCE","IS_FIREFOX_MAC","IS_MOBILE","FALSE","CLICK","TEXTS","UHTMLComboboxElement","render","syncInputValue","_","disconnectCache","target","onBlur","onClick","onFocus","onInput","onKeyDown","tag","item","createItem","text","self","_c","_focus","_speak","_texts","items","control","list","multiple","addedNodes","removedNodes","edit","total","values","_a3","_b2","keep","label2","aria","opt","label","select","withEvent","dispatchMatch","creatable","query","match","o","dispatchChange","removeable","add","remove","i","onBlurred","x","y","top","right","bottom","left","repeat","isControl","inText","index","form"],"mappings":"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","x_google_ignoreList":[0]}