@mattilsynet/design 3.3.9 → 3.4.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.
Files changed (192) hide show
  1. package/mtds/_virtual/_rolldown/runtime.js +17 -0
  2. package/mtds/ai/card.stories.tsx +54 -77
  3. package/mtds/ai/layout.mdx +37 -1
  4. package/mtds/ai/layout.stories.tsx +126 -1
  5. package/mtds/ai/print.mdx +1 -1
  6. package/mtds/ai/print.stories.tsx +1 -2
  7. package/mtds/alert/alert.js +16 -11
  8. package/mtds/alert/alert.js.map +1 -1
  9. package/mtds/analytics/analytics.js +118 -118
  10. package/mtds/analytics/analytics.js.map +1 -1
  11. package/mtds/app/app-observer.js +31 -36
  12. package/mtds/app/app-observer.js.map +1 -1
  13. package/mtds/app/app-toggle.js +12 -26
  14. package/mtds/app/app-toggle.js.map +1 -1
  15. package/mtds/app/app-toggle2.js +6 -11
  16. package/mtds/app/app-toggle2.js.map +1 -1
  17. package/mtds/app/app.js +66 -60
  18. package/mtds/app/app.js.map +1 -1
  19. package/mtds/atlas/atlas-element.js +83 -93
  20. package/mtds/atlas/atlas-element.js.map +1 -1
  21. package/mtds/atlas/atlas-marker.js +63 -52
  22. package/mtds/atlas/atlas-marker.js.map +1 -1
  23. package/mtds/atlas/atlas-matgeo.js +67 -61
  24. package/mtds/atlas/atlas-matgeo.js.map +1 -1
  25. package/mtds/atlas/atlas-wms.js +33 -28
  26. package/mtds/atlas/atlas-wms.js.map +1 -1
  27. package/mtds/atlas/atlas.js +6 -38
  28. package/mtds/atlas/atlas.js.map +1 -1
  29. package/mtds/atlas/atlas2.js +39 -0
  30. package/mtds/atlas/atlas2.js.map +1 -0
  31. package/mtds/atlas/cluster.js +759 -1149
  32. package/mtds/atlas/cluster.js.map +1 -1
  33. package/mtds/atlas.iife.js +3 -4
  34. package/mtds/atlas.js +6 -14
  35. package/mtds/avatar/avatar.js +14 -10
  36. package/mtds/avatar/avatar.js.map +1 -1
  37. package/mtds/badge/badge.js +15 -10
  38. package/mtds/badge/badge.js.map +1 -1
  39. package/mtds/breadcrumbs/breadcrumbs.js +15 -19
  40. package/mtds/breadcrumbs/breadcrumbs.js.map +1 -1
  41. package/mtds/button/button.js +18 -20
  42. package/mtds/button/button.js.map +1 -1
  43. package/mtds/card/card.js +22 -15
  44. package/mtds/card/card.js.map +1 -1
  45. package/mtds/chart/chart-axis.js +33 -21
  46. package/mtds/chart/chart-axis.js.map +1 -1
  47. package/mtds/chart/chart-bars.js +23 -21
  48. package/mtds/chart/chart-bars.js.map +1 -1
  49. package/mtds/chart/chart-element.js +94 -88
  50. package/mtds/chart/chart-element.js.map +1 -1
  51. package/mtds/chart/chart-lines.js +35 -37
  52. package/mtds/chart/chart-lines.js.map +1 -1
  53. package/mtds/chart/chart-pies.js +17 -17
  54. package/mtds/chart/chart-pies.js.map +1 -1
  55. package/mtds/chart/chart.js +6 -52
  56. package/mtds/chart/chart.js.map +1 -1
  57. package/mtds/chart/chart2.js +21 -0
  58. package/mtds/chart/chart2.js.map +1 -0
  59. package/mtds/chip/chip.js +15 -11
  60. package/mtds/chip/chip.js.map +1 -1
  61. package/mtds/deprecations.js +76 -158
  62. package/mtds/deprecations.js.map +1 -1
  63. package/mtds/details/details.js +21 -24
  64. package/mtds/details/details.js.map +1 -1
  65. package/mtds/dialog/dialog.js +17 -21
  66. package/mtds/dialog/dialog.js.map +1 -1
  67. package/mtds/divider/divider.js +15 -20
  68. package/mtds/divider/divider.js.map +1 -1
  69. package/mtds/errorsummary/errorsummary.js +14 -16
  70. package/mtds/errorsummary/errorsummary.js.map +1 -1
  71. package/mtds/external/@turf/boolean-point-in-polygon/dist/esm/index.js +22 -25
  72. package/mtds/external/@turf/boolean-point-in-polygon/dist/esm/index.js.map +1 -1
  73. package/mtds/external/@turf/helpers/dist/esm/index.js +21 -24
  74. package/mtds/external/@turf/helpers/dist/esm/index.js.map +1 -1
  75. package/mtds/external/@turf/invariant/dist/esm/index.js +15 -19
  76. package/mtds/external/@turf/invariant/dist/esm/index.js.map +1 -1
  77. package/mtds/external/@u-elements/u-combobox/dist/u-combobox.js +270 -297
  78. package/mtds/external/@u-elements/u-combobox/dist/u-combobox.js.map +1 -1
  79. package/mtds/external/@u-elements/u-details/dist/u-details.js +75 -101
  80. package/mtds/external/@u-elements/u-details/dist/u-details.js.map +1 -1
  81. package/mtds/external/leaflet/dist/leaflet-src.js +4257 -6151
  82. package/mtds/external/leaflet/dist/leaflet-src.js.map +1 -1
  83. package/mtds/external/leaflet/dist/leaflet.css.js +5 -606
  84. package/mtds/external/leaflet/dist/leaflet.css.js.map +1 -1
  85. package/mtds/external/point-in-polygon-hao/dist/esm/index.js +24 -25
  86. package/mtds/external/point-in-polygon-hao/dist/esm/index.js.map +1 -1
  87. package/mtds/external/robust-predicates/esm/incircle.js +5 -0
  88. package/mtds/external/robust-predicates/esm/incircle.js.map +1 -0
  89. package/mtds/external/robust-predicates/esm/insphere.js +5 -0
  90. package/mtds/external/robust-predicates/esm/insphere.js.map +1 -0
  91. package/mtds/external/robust-predicates/esm/orient2d.js +20 -22
  92. package/mtds/external/robust-predicates/esm/orient2d.js.map +1 -1
  93. package/mtds/external/robust-predicates/esm/orient3d.js +5 -0
  94. package/mtds/external/robust-predicates/esm/orient3d.js.map +1 -0
  95. package/mtds/external/robust-predicates/esm/util.js +20 -28
  96. package/mtds/external/robust-predicates/esm/util.js.map +1 -1
  97. package/mtds/external/robust-predicates/index.js +5 -0
  98. package/mtds/field/field.js +167 -214
  99. package/mtds/field/field.js.map +1 -1
  100. package/mtds/fieldset/fieldset.js +32 -30
  101. package/mtds/fieldset/fieldset.js.map +1 -1
  102. package/mtds/fileupload/fileupload.js +16 -13
  103. package/mtds/fileupload/fileupload.js.map +1 -1
  104. package/mtds/helptext/helptext.js +25 -27
  105. package/mtds/helptext/helptext.js.map +1 -1
  106. package/mtds/identitet/illustrasjons-generator/illustrasjons-generator.d.ts +1 -0
  107. package/mtds/identitet/illustrasjons-generator/index-old-1.d.ts +1 -0
  108. package/mtds/identitet/infografikk-generator/infografikk-generator.d.ts +1 -0
  109. package/mtds/illustrations/index.json +1 -1
  110. package/mtds/index.iife.js +21 -21
  111. package/mtds/index.js +38 -31
  112. package/mtds/index.js.map +1 -1
  113. package/mtds/input/input.js +33 -47
  114. package/mtds/input/input.js.map +1 -1
  115. package/mtds/law/law-helper.js +106 -95
  116. package/mtds/law/law-helper.js.map +1 -1
  117. package/mtds/law/law.js +15 -10
  118. package/mtds/law/law.js.map +1 -1
  119. package/mtds/layout/layout.js +21 -13
  120. package/mtds/layout/layout.js.map +1 -1
  121. package/mtds/layout/layout.stories.d.ts +1 -0
  122. package/mtds/link/link.js +15 -10
  123. package/mtds/link/link.js.map +1 -1
  124. package/mtds/logo/logo-observer.js +18 -18
  125. package/mtds/logo/logo-observer.js.map +1 -1
  126. package/mtds/logo/logo.js +18 -18
  127. package/mtds/logo/logo.js.map +1 -1
  128. package/mtds/package.js +6 -0
  129. package/mtds/package.js.map +1 -0
  130. package/mtds/package.json.d.ts +112 -0
  131. package/mtds/pagination/pagination.js +46 -60
  132. package/mtds/pagination/pagination.js.map +1 -1
  133. package/mtds/popover/popover-observer.js +15 -15
  134. package/mtds/popover/popover-observer.js.map +1 -1
  135. package/mtds/popover/popover.js +18 -20
  136. package/mtds/popover/popover.js.map +1 -1
  137. package/mtds/print/print.js +15 -10
  138. package/mtds/print/print.js.map +1 -1
  139. package/mtds/print/print.stories.d.ts +0 -1
  140. package/mtds/profilering/epost.d.ts +1 -0
  141. package/mtds/progress/progress.js +15 -13
  142. package/mtds/progress/progress.js.map +1 -1
  143. package/mtds/react-atlas.js +7 -16
  144. package/mtds/react.js +36 -84
  145. package/mtds/skeleton/skeleton.js +15 -11
  146. package/mtds/skeleton/skeleton.js.map +1 -1
  147. package/mtds/spinner/spinner.js +16 -13
  148. package/mtds/spinner/spinner.js.map +1 -1
  149. package/mtds/steps/steps.js +15 -10
  150. package/mtds/steps/steps.js.map +1 -1
  151. package/mtds/styles.css +2 -1
  152. package/mtds/styles.module.js +122 -0
  153. package/mtds/styles.module.js.map +1 -0
  154. package/mtds/table/table-observer.js +23 -28
  155. package/mtds/table/table-observer.js.map +1 -1
  156. package/mtds/table/table.js +88 -60
  157. package/mtds/table/table.js.map +1 -1
  158. package/mtds/tabs/tabs.js +32 -27
  159. package/mtds/tabs/tabs.js.map +1 -1
  160. package/mtds/tag/tag.js +16 -19
  161. package/mtds/tag/tag.js.map +1 -1
  162. package/mtds/tailwind.css +0 -4
  163. package/mtds/toast/toast-helper.js +45 -25
  164. package/mtds/toast/toast-helper.js.map +1 -1
  165. package/mtds/toast/toast-observer.js +18 -18
  166. package/mtds/toast/toast-observer.js.map +1 -1
  167. package/mtds/toast/toast.js +67 -54
  168. package/mtds/toast/toast.js.map +1 -1
  169. package/mtds/togglegroup/togglegroup.js +31 -40
  170. package/mtds/togglegroup/togglegroup.js.map +1 -1
  171. package/mtds/tooltip/tooltip-element.js +12 -25
  172. package/mtds/tooltip/tooltip-element.js.map +1 -1
  173. package/mtds/typography/typography.js +38 -21
  174. package/mtds/typography/typography.js.map +1 -1
  175. package/mtds/utils.js +53 -70
  176. package/mtds/utils.js.map +1 -1
  177. package/mtds/validation/validation-observer.js +40 -47
  178. package/mtds/validation/validation-observer.js.map +1 -1
  179. package/mtds/validation/validation.js +17 -21
  180. package/mtds/validation/validation.js.map +1 -1
  181. package/package.json +9 -9
  182. package/mtds/atlas/atlas.css.js +0 -138
  183. package/mtds/atlas/atlas.css.js.map +0 -1
  184. package/mtds/atlas.js.map +0 -1
  185. package/mtds/chart/chart.css.js +0 -187
  186. package/mtds/chart/chart.css.js.map +0 -1
  187. package/mtds/package.json.js +0 -5
  188. package/mtds/package.json.js.map +0 -1
  189. package/mtds/react-atlas.js.map +0 -1
  190. package/mtds/react.js.map +0 -1
  191. package/mtds/styles.module.css.js +0 -118
  192. package/mtds/styles.module.css.js.map +0 -1
@@ -1,79 +1,70 @@
1
- var Z = Object.defineProperty, N = Object.getOwnPropertySymbols, tt = Object.prototype.hasOwnProperty, et = Object.prototype.propertyIsEnumerable, P = (t, e, o) => e in t ? Z(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o, ot = (t, e) => {
2
- for (var o in e || (e = {}))
3
- tt.call(e, o) && P(t, o, e[o]);
4
- if (N)
5
- for (var o of N(e))
6
- et.call(e, o) && P(t, o, e[o]);
7
- return t;
8
- }, D = () => typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", C = D(), $ = C ? navigator.userAgent : "", L = /android/i.test($), nt = /firefox/i.test($), O = /iPad|iPhone|iPod/.test($), H, it = C && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474
9
- /^Mac/i.test(((H = navigator.userAgentData) == null ? void 0 : H.platform) || navigator.platform), rt = C && window.CSSStyleSheet && document.adoptedStyleSheets, U = { once: !0, capture: !0, passive: !0 }, at = ":host(:not([hidden])) { display: block }", lt = "outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color", st = `${L ? "data" : "aria"}-multiselectable`, ut = typeof HTMLElement > "u" ? class {
10
- } : HTMLElement, a = (t, e, o) => o === void 0 ? t.getAttribute(e) : (o === null ? t.removeAttribute(e) : t.getAttribute(e) !== o && t.setAttribute(e, o), null), R = (t, ...e) => {
11
- const [o, ...n] = e;
12
- for (const i of o.split(" ")) t.addEventListener(i, ...n);
13
- return () => j(t, ...e);
14
- }, j = (t, ...e) => {
15
- const [o, ...n] = e;
16
- for (const i of o.split(" ")) t.removeEventListener(i, ...n);
17
- }, dt = (t, e) => {
18
- const o = t.shadowRoot || t.attachShadow({ mode: "open" });
19
- if (o.querySelector("slot") || o.append(g("slot")), !o.querySelector("style"))
20
- if (!rt) o.append(g("style", null, e));
21
- else {
22
- const n = new CSSStyleSheet();
23
- n.replaceSync(e), o.adoptedStyleSheets = [n];
24
- }
25
- return o;
26
- }, ct = (t, e, o) => {
27
- const n = new MutationObserver((r) => {
28
- if (!D() || !t.isConnected) return i();
29
- e(t, r);
30
- }), i = Object.assign(() => n.disconnect(), {
31
- takeRecords: () => n.takeRecords()
32
- // Expose takeRecords - useful if mutating a attribute that is observed
33
- });
34
- return e(t), n.observe(t, o), i;
35
- }, vt = (t) => {
36
- var e;
37
- const o = ((e = t.getRootNode) == null ? void 0 : e.call(t)) || t.ownerDocument;
38
- return o instanceof Document || o instanceof ShadowRoot ? o : document;
39
- }, B = (t) => vt(t).activeElement, pt = (t) => {
40
- var e;
41
- const o = a(t, "aria-label") || "";
42
- return [
43
- ...(((e = a(t, "aria-labelledby")) == null ? void 0 : e.split(" ")) || []).map((i) => document.getElementById(i.trim() || "-")),
44
- // Get all labelledby elements
45
- ...Array.from(t.labels || [])
46
- // Get all <label> elements
47
- ].reduce((i, r) => {
48
- var l;
49
- return i || ((l = r?.innerText) == null ? void 0 : l.trim()) || "";
50
- }, o).trim();
51
- }, mt = (t) => {
52
- if (!t || !C) return null;
53
- if (window.uElementsId || (window.uElementsId = {}), !t.id) {
54
- const e = t.nodeName.toLowerCase();
55
- window.uElementsId[e] || (window.uElementsId[e] = 1), t.id = `:${e}${window.uElementsId[e]++}`;
56
- }
57
- return t.id;
58
- }, g = (t, e, o) => {
59
- const n = document.createElement(t);
60
- if (o && (n.textContent = o), e) for (const [i, r] of Object.entries(e)) a(n, i, r);
61
- return n;
62
- }, ft = {
63
- define: (t, e) => !D() || window.customElements.get(t) || window.customElements.define(t, e)
64
- }, F = (t, e, o = "") => {
65
- var n, i;
66
- const r = { bubbles: !0, composed: !0, data: e, inputType: o }, l = HTMLInputElement.prototype;
67
- 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 }));
68
- }, k = /* @__PURE__ */ new WeakSet(), W = (t, e) => (e?.type === "pointerdown" && (k.add(t), R(document, "pointerup", () => k.delete(t), U)), k.has(t)), ht = (t, e = "<slot></slot>") => `<template shadowrootmode="open">${e}<style>${t}</style></template>`, _t = (t) => {
69
- const e = a(t, "form");
70
- a(t, "form", "#"), setTimeout(bt, 0, t, e);
71
- }, bt = (t, e) => a(t, "form", e), b = (t) => {
72
- var e;
73
- return ((e = t?.textContent) == null ? void 0 : e.trim()) || "";
74
- }, p, yt = 0, V = 0, I = (t) => {
75
- clearTimeout(V), p || (p = g("div", { "aria-live": "assertive" }), p.style.overflow = "hidden", p.style.position = "fixed", p.style.whiteSpace = "nowrap", p.style.width = "1px"), p.isConnected || document.body.append(p), t === "" && (p.textContent = ""), t && (p.textContent = `${t}${yt++ % 2 ? " " : ""}`, V = setTimeout(I, !it && nt ? 2e3 : 300, ""));
76
- }, X = `${at}
1
+ //#region node_modules/@u-elements/u-combobox/dist/u-combobox.js
2
+ var e = Object.defineProperty, t = Object.getOwnPropertySymbols, n = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable, i = (t, n, r) => n in t ? e(t, n, {
3
+ enumerable: !0,
4
+ configurable: !0,
5
+ writable: !0,
6
+ value: r
7
+ }) : t[n] = r, a = (e, a) => {
8
+ for (var o in a ||= {}) n.call(a, o) && i(e, o, a[o]);
9
+ if (t) for (var o of t(a)) r.call(a, o) && i(e, o, a[o]);
10
+ return e;
11
+ }, o = () => typeof window < "u" && window.document !== void 0 && window.navigator !== void 0, s = o(), c = s ? navigator.userAgent : "", l = /android/i.test(c), u = /firefox/i.test(c), d = /iPad|iPhone|iPod/.test(c), ee = s && /^Mac/i.test(navigator.userAgentData?.platform || navigator.platform), te = s && window.CSSStyleSheet && document.adoptedStyleSheets, f = {
12
+ once: !0,
13
+ capture: !0,
14
+ passive: !0
15
+ }, ne = ":host(:not([hidden])) { display: block }", re = "outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color", p = `${l ? "data" : "aria"}-multiselectable`, ie = typeof HTMLElement > "u" ? class {} : HTMLElement, m = (e, t, n) => n === void 0 ? e.getAttribute(t) : (n === null ? e.removeAttribute(t) : e.getAttribute(t) !== n && e.setAttribute(t, n), null), h = (e, ...t) => {
16
+ let [n, ...r] = t;
17
+ for (let t of n.split(" ")) e.addEventListener(t, ...r);
18
+ return () => g(e, ...t);
19
+ }, g = (e, ...t) => {
20
+ let [n, ...r] = t;
21
+ for (let t of n.split(" ")) e.removeEventListener(t, ...r);
22
+ }, _ = (e, t) => {
23
+ let n = e.shadowRoot || e.attachShadow({ mode: "open" });
24
+ if (n.querySelector("slot") || n.append(x("slot")), !n.querySelector("style")) if (!te) n.append(x("style", null, t));
25
+ else {
26
+ let e = new CSSStyleSheet();
27
+ e.replaceSync(t), n.adoptedStyleSheets = [e];
28
+ }
29
+ return n;
30
+ }, v = (e, t, n) => {
31
+ let r = new MutationObserver((n) => {
32
+ if (!o() || !e.isConnected) return i();
33
+ t(e, n);
34
+ }), i = Object.assign(() => r.disconnect(), { takeRecords: () => r.takeRecords() });
35
+ return t(e), r.observe(e, n), i;
36
+ }, y = (e) => {
37
+ let t = e.getRootNode?.call(e) || e.ownerDocument;
38
+ return t instanceof Document || t instanceof ShadowRoot ? t : document;
39
+ }, b = (e) => y(e).activeElement, ae = (e) => {
40
+ let t = m(e, "aria-label") || "";
41
+ return [...(m(e, "aria-labelledby")?.split(" ") || []).map((e) => document.getElementById(e.trim() || "-")), ...Array.from(e.labels || [])].reduce((e, t) => e || (t?.innerText)?.trim() || "", t).trim();
42
+ }, oe = (e) => {
43
+ if (!e || !s) return null;
44
+ if (window.uElementsId || (window.uElementsId = {}), !e.id) {
45
+ let t = e.nodeName.toLowerCase();
46
+ window.uElementsId[t] || (window.uElementsId[t] = 1), e.id = `:${t}${window.uElementsId[t]++}`;
47
+ }
48
+ return e.id;
49
+ }, x = (e, t, n) => {
50
+ let r = document.createElement(e);
51
+ if (n && (r.textContent = n), t) for (let [e, n] of Object.entries(t)) m(r, e, n);
52
+ return r;
53
+ }, S = { define: (e, t) => !o() || window.customElements.get(e) || window.customElements.define(e, t) }, C = (e, t, n = "") => {
54
+ var r;
55
+ let i = {
56
+ bubbles: !0,
57
+ composed: !0,
58
+ data: t,
59
+ inputType: n
60
+ }, a = HTMLInputElement.prototype;
61
+ e.dispatchEvent(new InputEvent("beforeinput", i)), (r = Object.getOwnPropertyDescriptor(a, "value")?.set) == null || r.call(e, t), e.dispatchEvent(new InputEvent("input", i)), e.dispatchEvent(new Event("change", { bubbles: !0 }));
62
+ }, w = /* @__PURE__ */ new WeakSet(), T = (e, t) => (t?.type === "pointerdown" && (w.add(e), h(document, "pointerup", () => w.delete(e), f)), w.has(e)), E = (e, t = "<slot></slot>") => `<template shadowrootmode="open">${t}<style>${e}</style></template>`, D = (e) => {
63
+ let t = m(e, "form");
64
+ m(e, "form", "#"), setTimeout(se, 0, e, t);
65
+ }, se = (e, t) => m(e, "form", t), O = (e) => (e?.textContent)?.trim() || "", k, ce = 0, A = 0, j = (e) => {
66
+ clearTimeout(A), k || (k = x("div", { "aria-live": "assertive" }), k.style.overflow = "hidden", k.style.position = "fixed", k.style.whiteSpace = "nowrap", k.style.width = "1px"), k.isConnected || document.body.append(k), e === "" && (k.textContent = ""), e && (k.textContent = `${e}${ce++ % 2 ? "\xA0" : ""}`, A = setTimeout(j, !ee && u ? 2e3 : 300, ""));
67
+ }, M = `${ne}
77
68
  :is(:host(:not([data-multiple])), :host([data-multiple="false"])) [part="items"] { display: none }
78
69
  [role="listbox"] { display: inline-flex } /* Can not be "contents" as this confuses VoiceOver */
79
70
  ::slotted(button[type="reset"]),
@@ -86,224 +77,206 @@ var Z = Object.defineProperty, N = Object.getOwnPropertySymbols, tt = Object.pro
86
77
  ::slotted(button[type="reset"]:empty)::before { content: '\\00D7'; content: '\\00D7' / '' }
87
78
  ::slotted(button[aria-expanded="false"]:empty)::before { content: '\\25BC'; content: '\\25BC' / '' }
88
79
  ::slotted(button[aria-expanded="true"]:empty)::before { content: '\\25B2'; content: '\\25B2' / '' }
89
- ::slotted(data:focus),::slotted(del:focus),::slotted(button[type="reset"]:focus) { ${lt} }`, Mt = ht(X), A = !1, m = "aria-label", gt = 'button[type="reset"],del', St = "button[aria-expanded]", wt = 'datalist,u-datalist,[role="listbox"]', Et = 'option,u-option,[role="option"]', q = "blur focus click input keydown pointerdown", w = "false", E = {
90
- added: "Added",
91
- clear: "Clear input",
92
- empty: "No selected",
93
- found: "Navigate left to find %d selected",
94
- invalid: "Invalid value",
95
- items: "Selected",
96
- // Note: Not announced by NVDA
97
- of: "of",
98
- remove: "Press to remove",
99
- removed: "Removed",
100
- toggle: "Options"
101
- }, xt = class extends ut {
102
- constructor() {
103
- super(), this._focusMoved = !1, this._itemSingleVale = "", this._speak = "", this._texts = ot({}, E), this._value = "";
104
- const t = dt(this, X);
105
- this._listbox = t.querySelector('[role="listbox"]') || g("div"), this._listbox.innerHTML = '<slot name="items"></slot>', a(this._listbox, "aria-orientation", "horizontal"), a(this._listbox, "role", "listbox"), a(this._listbox, "part", "items"), a(this._listbox, "tabindex", "-1"), t.prepend(this._listbox);
106
- }
107
- // Locally store value to store value before input-click
108
- static get observedAttributes() {
109
- return Object.keys(E).map((t) => `data-sr-${t}`);
110
- }
111
- connectedCallback() {
112
- R(this, q, this, !0), this._umutate = ct(this, Dt, {
113
- attributeFilter: ["id", "value", "role", "aria-expanded"],
114
- // Respond to changes in <data> value or id or role of <datalist>
115
- attributes: !0,
116
- characterData: !0,
117
- // Respond to changes in <data> textContent
118
- childList: !0,
119
- subtree: !0
120
- }), x(this), M(this);
121
- }
122
- attributeChangedCallback(t, e, o) {
123
- const n = t.split("data-sr-")[1];
124
- E[n] && (this._texts[n] = o || E[n]), n === "clear" && this.clear && a(this.clear, m, this._texts.clear);
125
- }
126
- disconnectedCallback() {
127
- var t;
128
- j(this, q, this, !0), (t = this._umutate) == null || t.call(this), this._umutate = this._clear = this._toggle = void 0, this._control = this._match = this._select = void 0, this._options = this._items = this._list = void 0;
129
- }
130
- handleEvent(t) {
131
- var e, o, n;
132
- (e = this.control) != null && e.disabled || (o = this.control) != null && o.readOnly || (t.type === "blur" && Ct(this), t.type === "click" && Tt(this, t), t.type === "focus" && I(), t.type === "input" && kt(this, t), t.type === "keydown" && Lt(this, t), t.type === "pointerdown" && (A = !!((n = this.list) != null && n.hidden), W(this, t)));
133
- }
134
- get multiple() {
135
- var t;
136
- return ((t = a(this, "data-multiple")) != null ? t : w) !== w;
137
- }
138
- set multiple(t) {
139
- a(this, "data-multiple", t ? "" : null);
140
- }
141
- get creatable() {
142
- var t;
143
- return ((t = a(this, "data-creatable")) != null ? t : w) !== w;
144
- }
145
- set creatable(t) {
146
- a(this, "data-creatable", t ? "" : null);
147
- }
148
- get control() {
149
- var t;
150
- return (t = this._control) != null && t.isConnected || (this._control = this.querySelector("input")), this._control;
151
- }
152
- get list() {
153
- var t;
154
- return (t = this._list) != null && t.isConnected || (this._list = this.querySelector(wt), this._options = void 0), this._list;
155
- }
156
- get clear() {
157
- var t;
158
- return (t = this._clear) != null && t.isConnected || (this._clear = this.querySelector(gt)), this._clear;
159
- }
160
- get toggle() {
161
- var t;
162
- return (t = this._toggle) != null && t.isConnected || (this._toggle = this.querySelector(St)), this._toggle;
163
- }
164
- get items() {
165
- return this._items || (this._items = this.getElementsByTagName("data")), this._items;
166
- }
167
- get options() {
168
- var t, e, o;
169
- const n = !this._options && ((e = (t = this.list) == null ? void 0 : t.querySelector(Et)) == null ? void 0 : e.nodeName);
170
- return n && (this._options = (o = this.list) == null ? void 0 : o.getElementsByTagName(n)), this._options || this.getElementsByTagName("-");
171
- }
172
- get values() {
173
- return Array.from(this.items, ({ value: t }) => t);
174
- }
175
- }, G = (t) => {
176
- var e;
177
- const { creatable: o, control: n, options: i, multiple: r } = t, l = ((e = n?.value) == null ? void 0 : e.trim()) || "", u = l.toLowerCase() || null;
178
- let s = [...i].find(
179
- (c) => K(c).trim().toLowerCase() === u
180
- );
181
- const d = { bubbles: !0, cancelable: !0, detail: s };
182
- if (t.dispatchEvent(new CustomEvent("comboboxbeforematch", d)) || (s = [...i].find(Bt)), r) z(t);
183
- else for (const c of i) J(c, c === s);
184
- return !s && o && l ? { value: l, label: l } : s && { value: S(s), label: K(s) };
185
- }, y = (t, e, o = !0) => {
186
- const { _texts: n, control: i, items: r, multiple: l } = t;
187
- if (!e)
188
- return l ? I(n.invalid) : !i?.value && r[0] ? y(t, r[0]) : x(t);
189
- const u = [...r].findIndex((f) => f.value === e.value), s = r[u], d = s === B(t) && (l && (r[u - 1] || r[u + 1]) || i);
190
- if (s && !o) return x(t);
191
- d && d.focus(), t._focusMoved = !!d;
192
- const c = g("data", { value: e.value }, e.label || e.value), v = { bubbles: !0, cancelable: !0, detail: s || c };
193
- if (t.dispatchEvent(new CustomEvent("comboboxbeforeselect", v))) {
194
- if (!l) for (const f of [...r]) f.remove();
195
- s ? s.remove() : i?.insertAdjacentElement("beforebegin", c), t.dispatchEvent(new CustomEvent("comboboxafterselect", v));
196
- }
197
- }, Ct = (t) => W(t) || setTimeout(It, 0, t), It = (t) => t.multiple || t.contains(B(t)) || y(t, t._match, !1), Tt = (t, e) => {
198
- const { clientX: o, clientY: n, target: i } = e, { clear: r, control: l, items: u, toggle: s } = t;
199
- if (s?.contains(i) && (l?.focus(), A && l?.click()), l && r?.contains(i))
200
- return e.preventDefault(), F(l, "", "deleteContentBackward"), l.focus(), A || l.click();
201
- for (const d of u) {
202
- if (d.contains(i)) return y(t, d);
203
- const c = d.getBoundingClientRect(), { top: v, right: f, bottom: h, left: T, width: _, height: Q } = c;
204
- if (_ && Q && n >= v && n <= h && o >= T && o <= f) return d.focus();
205
- }
206
- i === t && l?.focus();
207
- }, kt = (t, e) => {
208
- var o;
209
- const { control: n, options: i, multiple: r } = t, l = n?.value || null, u = e instanceof InputEvent ? !e.inputType || e.inputType === "insertReplacementText" : !!n?.value;
210
- if (u || (t._value = n?.value || ""), u) {
211
- (o = e.stopImmediatePropagation) == null || o.call(e);
212
- const s = [...i].find((d) => S(d) === l);
213
- if (n && (n.value = t._value), s) return y(t, s, r);
214
- } else r || (t._match = G(t));
215
- M(t);
216
- }, Lt = (t, e) => {
217
- e.ctrlKey || e.metaKey || e.shiftKey || e.key === "Alt" || (t.control === e.target ? Ot(t, e) : At(t, e));
218
- }, Ot = (t, e) => {
219
- var o;
220
- const { _match: n, clear: i, control: r, items: l, multiple: u } = t;
221
- (e.key === "ArrowLeft" || e.key === "Backspace") && !r?.selectionEnd && ((o = l[l.length - 1]) == null || o.focus(), e.preventDefault()), e.key === "Enter" && r && (_t(r), y(t, u ? G(t) : n, u)), e.key === "Tab" && !e.shiftKey && i && !i.hidden && (e.preventDefault(), a(i, "aria-hidden", "false"), a(i, "tabindex", "0"), i.focus(), R(i, "blur", () => M(t), U));
222
- }, At = (t, e) => {
223
- var o, n, i;
224
- const { clear: r, control: l, items: u } = t, { key: s, repeat: d, target: c } = e, v = [...u].indexOf(c);
225
- if ((s === " " || s === "Enter") && (u[v] || c === r))
226
- return (o = u[v] || r) == null || o.click(), e.preventDefault();
227
- if (u[v]) {
228
- if (s.startsWith("Arrow") && e.preventDefault(), s === "ArrowLeft") return (n = u[v - 1]) == null ? void 0 : n.focus();
229
- if (s === "ArrowRight") return (i = u[v + 1] || l) == null ? void 0 : i.focus();
230
- if (s === "Backspace")
231
- return e.preventDefault(), d || y(t, u[v]);
232
- l?.focus();
233
- }
234
- }, Dt = (t, e) => {
235
- var o;
236
- if (!t.control) return;
237
- const { _texts: n, control: i, items: r, list: l, multiple: u, toggle: s } = t, d = [];
238
- for (const { addedNodes: h, removedNodes: T } of e || []) {
239
- for (const _ of h) _ instanceof HTMLDataElement && d.unshift(_);
240
- for (const _ of T) _ instanceof HTMLDataElement && d.push(_);
241
- }
242
- const c = B(t);
243
- if ((u ? d.length === 1 : d[0] === c) && t.contains(c)) {
244
- const h = i ? a(i, m) : null;
245
- t._speak = `${n[d[0].isConnected ? "added" : "removed"]} ${b(d[0])}, `, a(i, m, `${t._speak}${pt(i)}`), t._focusMoved || setTimeout(() => I(t._speak.slice(0, -2))), setTimeout($t, 300, t, h);
246
- }
247
- if (!u) {
248
- const h = b(r[0]);
249
- h !== t._itemSingleVale && x(t), t._itemSingleVale = h;
250
- }
251
- Y(t), z(t), Rt(t), s && a(s, "aria-expanded", `${!l?.hidden}`);
252
- const f = `${r.length ? n.found.replace("%d", `${r.length}`) : n.empty}`;
253
- a(i, "aria-description", u ? f : null), a(i, "list", mt(l)), a(t._listbox, m, n.items), (o = t._umutate) == null || o.takeRecords();
254
- }, $t = (t, e) => {
255
- t._speak = "", t.control && a(t.control, m, e), Y(t);
256
- }, Y = (t) => {
257
- const { _texts: e, _speak: o, items: n } = t;
258
- let i = 0;
259
- for (const r of n) {
260
- const l = `${o}${b(r)}, ${e.remove}${O ? `, ${++i} ${e.of} ${n.length}` : ""}`;
261
- a(r, m, l), a(r, "role", "option"), a(r, "slot", "items"), a(r, "tabindex", "-1"), a(r, "value", S(r));
262
- }
263
- }, Rt = (t) => {
264
- var e, o;
265
- if ((e = t._select) != null && e.isConnected || (t._select = t.querySelector("select")), !t._select) return;
266
- const { _select: n, items: i, multiple: r } = t, l = [];
267
- let u = 0;
268
- a(n, "multiple", r ? "" : null);
269
- for (const s of i) {
270
- const d = n?.options[u++], c = b(s), v = S(s);
271
- d ? Object.assign(d, {
272
- defaultSelected: !0,
273
- selected: !0,
274
- text: c,
275
- value: v
276
- }) : l.push(new Option(c, v, !0, !0));
277
- }
278
- if (l.length) n.append(...l);
279
- else for (const s of [...n.options].slice(u)) s.remove();
280
- (o = t._umutate) == null || o.takeRecords();
281
- }, M = (t) => {
282
- const { clear: e, control: o, toggle: n } = t, i = !o?.value || o?.disabled || o?.readOnly;
283
- e?.nodeName === "DEL" && a(e, "role", "button"), e && (a(e, m) || a(e, m, t._texts.clear), a(e, "aria-hidden", `${O || L}`), a(e, "hidden", i ? "" : null), a(e, "tabindex", "-1")), n && (a(n, m) || a(n, m, t._texts.toggle), a(n, "aria-hidden", `${O || L}`), a(n, "hidden", i ? null : ""), a(n, "tabindex", "-1"), a(n, "type", "button"));
284
- }, z = (t) => {
285
- if (!t.list) return;
286
- const { _texts: e, list: o, multiple: n, options: i, values: r } = t;
287
- a(o, "data-sr-of", e.of), a(o, st, `${n}`);
288
- for (const l of i) J(l, r.includes(S(l)));
289
- }, x = (t) => {
290
- if (!t.control || t.multiple) return;
291
- const { control: e, items: o } = t, n = b(o[0]), i = n ? "insertText" : "deleteContentBackward";
292
- n !== e.value && F(e, n, i);
293
- }, K = (t) => {
294
- var e;
295
- return (e = a(t, "label")) != null ? e : b(t);
296
- }, S = (t) => {
297
- var e;
298
- return (e = a(t, "value")) != null ? e : b(t);
299
- }, J = (t, e) => a(t, "selected", e ? "" : null), Bt = (t) => {
300
- var e;
301
- return (e = t.selected) != null ? e : t.hasAttribute("selected");
302
- };
303
- ft.define("u-combobox", xt);
304
- export {
305
- xt as UHTMLComboboxElement,
306
- Mt as UHTMLComboboxShadowRoot,
307
- X as UHTMLComboboxStyle
308
- };
309
- //# sourceMappingURL=u-combobox.js.map
80
+ ::slotted(data:focus),::slotted(del:focus),::slotted(button[type="reset"]:focus) { ${re} }`, N = E(M), P = !1, F = "aria-label", I = "button[type=\"reset\"],del", L = "button[aria-expanded]", R = "datalist,u-datalist,[role=\"listbox\"]", z = "option,u-option,[role=\"option\"]", B = "blur focus click input keydown pointerdown", V = "false", H = {
81
+ added: "Added",
82
+ clear: "Clear input",
83
+ empty: "No selected",
84
+ found: "Navigate left to find %d selected",
85
+ invalid: "Invalid value",
86
+ items: "Selected",
87
+ of: "of",
88
+ remove: "Press to remove",
89
+ removed: "Removed",
90
+ toggle: "Options"
91
+ }, U = class extends ie {
92
+ constructor() {
93
+ super(), this._focusMoved = !1, this._itemSingleVale = "", this._speak = "", this._texts = a({}, H), this._value = "";
94
+ let e = _(this, M);
95
+ this._listbox = e.querySelector("[role=\"listbox\"]") || x("div"), this._listbox.innerHTML = "<slot name=\"items\"></slot>", m(this._listbox, "aria-orientation", "horizontal"), m(this._listbox, "role", "listbox"), m(this._listbox, "part", "items"), m(this._listbox, "tabindex", "-1"), e.prepend(this._listbox);
96
+ }
97
+ static get observedAttributes() {
98
+ return Object.keys(H).map((e) => `data-sr-${e}`);
99
+ }
100
+ connectedCallback() {
101
+ h(this, B, this, !0), this._umutate = v(this, K, {
102
+ attributeFilter: [
103
+ "id",
104
+ "value",
105
+ "role",
106
+ "aria-expanded"
107
+ ],
108
+ attributes: !0,
109
+ characterData: !0,
110
+ childList: !0,
111
+ subtree: !0
112
+ }), X(this), J(this);
113
+ }
114
+ attributeChangedCallback(e, t, n) {
115
+ let r = e.split("data-sr-")[1];
116
+ H[r] && (this._texts[r] = n || H[r]), r === "clear" && this.clear && m(this.clear, F, this._texts.clear);
117
+ }
118
+ disconnectedCallback() {
119
+ var e;
120
+ g(this, B, this, !0), (e = this._umutate) == null || e.call(this), this._umutate = this._clear = this._toggle = void 0, this._control = this._match = this._select = void 0, this._options = this._items = this._list = void 0;
121
+ }
122
+ handleEvent(e) {
123
+ this.control?.disabled || this.control?.readOnly || (e.type === "blur" && le(this), e.type === "click" && de(this, e), e.type === "focus" && j(), e.type === "input" && fe(this, e), e.type === "keydown" && pe(this, e), e.type === "pointerdown" && (P = !!this.list?.hidden, T(this, e)));
124
+ }
125
+ get multiple() {
126
+ return (m(this, "data-multiple") ?? V) !== V;
127
+ }
128
+ set multiple(e) {
129
+ m(this, "data-multiple", e ? "" : null);
130
+ }
131
+ get creatable() {
132
+ return (m(this, "data-creatable") ?? V) !== V;
133
+ }
134
+ set creatable(e) {
135
+ m(this, "data-creatable", e ? "" : null);
136
+ }
137
+ get control() {
138
+ return this._control?.isConnected || (this._control = this.querySelector("input")), this._control;
139
+ }
140
+ get list() {
141
+ return this._list?.isConnected || (this._list = this.querySelector(R), this._options = void 0), this._list;
142
+ }
143
+ get clear() {
144
+ return this._clear?.isConnected || (this._clear = this.querySelector(I)), this._clear;
145
+ }
146
+ get toggle() {
147
+ return this._toggle?.isConnected || (this._toggle = this.querySelector(L)), this._toggle;
148
+ }
149
+ get items() {
150
+ return this._items ||= this.getElementsByTagName("data"), this._items;
151
+ }
152
+ get options() {
153
+ let e = !this._options && this.list?.querySelector(z)?.nodeName;
154
+ return e && (this._options = this.list?.getElementsByTagName(e)), this._options || this.getElementsByTagName("-");
155
+ }
156
+ get values() {
157
+ return Array.from(this.items, ({ value: e }) => e);
158
+ }
159
+ }, W = (e) => {
160
+ let { creatable: t, control: n, options: r, multiple: i } = e, a = (n?.value)?.trim() || "", o = a.toLowerCase() || null, s = [...r].find((e) => Z(e).trim().toLowerCase() === o), c = {
161
+ bubbles: !0,
162
+ cancelable: !0,
163
+ detail: s
164
+ };
165
+ if (e.dispatchEvent(new CustomEvent("comboboxbeforematch", c)) || (s = [...r].find(ve)), i) Y(e);
166
+ else for (let e of r) $(e, e === s);
167
+ return !s && t && a ? {
168
+ value: a,
169
+ label: a
170
+ } : s && {
171
+ value: Q(s),
172
+ label: Z(s)
173
+ };
174
+ }, G = (e, t, n = !0) => {
175
+ let { _texts: r, control: i, items: a, multiple: o } = e;
176
+ if (!t) return o ? j(r.invalid) : !i?.value && a[0] ? G(e, a[0]) : X(e);
177
+ let s = [...a].findIndex((e) => e.value === t.value), c = a[s], l = c === b(e) && (o && (a[s - 1] || a[s + 1]) || i);
178
+ if (c && !n) return X(e);
179
+ l && l.focus(), e._focusMoved = !!l;
180
+ let u = x("data", { value: t.value }, t.label || t.value), d = {
181
+ bubbles: !0,
182
+ cancelable: !0,
183
+ detail: c || u
184
+ };
185
+ if (e.dispatchEvent(new CustomEvent("comboboxbeforeselect", d))) {
186
+ if (!o) for (let e of [...a]) e.remove();
187
+ c ? c.remove() : i?.insertAdjacentElement("beforebegin", u), e.dispatchEvent(new CustomEvent("comboboxafterselect", d));
188
+ }
189
+ }, le = (e) => T(e) || setTimeout(ue, 0, e), ue = (e) => e.multiple || e.contains(b(e)) || G(e, e._match, !1), de = (e, t) => {
190
+ let { clientX: n, clientY: r, target: i } = t, { clear: a, control: o, items: s, toggle: c } = e;
191
+ if (c?.contains(i) && (o?.focus(), P && o?.click()), o && a?.contains(i)) return t.preventDefault(), C(o, "", "deleteContentBackward"), o.focus(), P || o.click();
192
+ for (let t of s) {
193
+ if (t.contains(i)) return G(e, t);
194
+ let { top: a, right: o, bottom: s, left: c, width: l, height: u } = t.getBoundingClientRect();
195
+ if (l && u && r >= a && r <= s && n >= c && n <= o) return t.focus();
196
+ }
197
+ i === e && o?.focus();
198
+ }, fe = (e, t) => {
199
+ var n;
200
+ let { control: r, options: i, multiple: a } = e, o = r?.value || null, s = t instanceof InputEvent ? !t.inputType || t.inputType === "insertReplacementText" : !!r?.value;
201
+ if (s || (e._value = r?.value || ""), s) {
202
+ (n = t.stopImmediatePropagation) == null || n.call(t);
203
+ let s = [...i].find((e) => Q(e) === o);
204
+ if (r && (r.value = e._value), s) return G(e, s, a);
205
+ } else a || (e._match = W(e));
206
+ J(e);
207
+ }, pe = (e, t) => {
208
+ t.ctrlKey || t.metaKey || t.shiftKey || t.key === "Alt" || (e.control === t.target ? me(e, t) : he(e, t));
209
+ }, me = (e, t) => {
210
+ var n;
211
+ let { _match: r, clear: i, control: a, items: o, multiple: s } = e;
212
+ (t.key === "ArrowLeft" || t.key === "Backspace") && !a?.selectionEnd && ((n = o[o.length - 1]) == null || n.focus(), t.preventDefault()), t.key === "Enter" && a && (D(a), G(e, s ? W(e) : r, s)), t.key === "Tab" && !t.shiftKey && i && !i.hidden && (t.preventDefault(), m(i, "aria-hidden", "false"), m(i, "tabindex", "0"), i.focus(), h(i, "blur", () => J(e), f));
213
+ }, he = (e, t) => {
214
+ var n;
215
+ let { clear: r, control: i, items: a } = e, { key: o, repeat: s, target: c } = t, l = [...a].indexOf(c);
216
+ if ((o === " " || o === "Enter") && (a[l] || c === r)) return (n = a[l] || r) == null || n.click(), t.preventDefault();
217
+ if (a[l]) {
218
+ if (o.startsWith("Arrow") && t.preventDefault(), o === "ArrowLeft") return a[l - 1]?.focus();
219
+ if (o === "ArrowRight") return (a[l + 1] || i)?.focus();
220
+ if (o === "Backspace") return t.preventDefault(), s || G(e, a[l]);
221
+ i?.focus();
222
+ }
223
+ }, K = (e, t) => {
224
+ var n;
225
+ if (!e.control) return;
226
+ let { _texts: r, control: i, items: a, list: o, multiple: s, toggle: c } = e, l = [];
227
+ for (let { addedNodes: e, removedNodes: n } of t || []) {
228
+ for (let t of e) t instanceof HTMLDataElement && l.unshift(t);
229
+ for (let e of n) e instanceof HTMLDataElement && l.push(e);
230
+ }
231
+ let u = b(e);
232
+ if ((s ? l.length === 1 : l[0] === u) && e.contains(u)) {
233
+ let t = i ? m(i, F) : null;
234
+ e._speak = `${r[l[0].isConnected ? "added" : "removed"]} ${O(l[0])}, `, m(i, F, `${e._speak}${ae(i)}`), e._focusMoved || setTimeout(() => j(e._speak.slice(0, -2))), setTimeout(ge, 300, e, t);
235
+ }
236
+ if (!s) {
237
+ let t = O(a[0]);
238
+ t !== e._itemSingleVale && X(e), e._itemSingleVale = t;
239
+ }
240
+ q(e), Y(e), _e(e), c && m(c, "aria-expanded", `${!o?.hidden}`);
241
+ let d = `${a.length ? r.found.replace("%d", `${a.length}`) : r.empty}`;
242
+ m(i, "aria-description", s ? d : null), m(i, "list", oe(o)), m(e._listbox, F, r.items), (n = e._umutate) == null || n.takeRecords();
243
+ }, ge = (e, t) => {
244
+ e._speak = "", e.control && m(e.control, F, t), q(e);
245
+ }, q = (e) => {
246
+ let { _texts: t, _speak: n, items: r } = e, i = 0;
247
+ for (let e of r) m(e, F, `${n}${O(e)}, ${t.remove}${d ? `, ${++i} ${t.of} ${r.length}` : ""}`), m(e, "role", "option"), m(e, "slot", "items"), m(e, "tabindex", "-1"), m(e, "value", Q(e));
248
+ }, _e = (e) => {
249
+ var t;
250
+ if (e._select?.isConnected || (e._select = e.querySelector("select")), !e._select) return;
251
+ let { _select: n, items: r, multiple: i } = e, a = [], o = 0;
252
+ m(n, "multiple", i ? "" : null);
253
+ for (let e of r) {
254
+ let t = n?.options[o++], r = O(e), i = Q(e);
255
+ t ? Object.assign(t, {
256
+ defaultSelected: !0,
257
+ selected: !0,
258
+ text: r,
259
+ value: i
260
+ }) : a.push(new Option(r, i, !0, !0));
261
+ }
262
+ if (a.length) n.append(...a);
263
+ else for (let e of [...n.options].slice(o)) e.remove();
264
+ (t = e._umutate) == null || t.takeRecords();
265
+ }, J = (e) => {
266
+ let { clear: t, control: n, toggle: r } = e, i = !n?.value || n?.disabled || n?.readOnly;
267
+ t?.nodeName === "DEL" && m(t, "role", "button"), t && (m(t, F) || m(t, F, e._texts.clear), m(t, "aria-hidden", `${d || l}`), m(t, "hidden", i ? "" : null), m(t, "tabindex", "-1")), r && (m(r, F) || m(r, F, e._texts.toggle), m(r, "aria-hidden", `${d || l}`), m(r, "hidden", i ? null : ""), m(r, "tabindex", "-1"), m(r, "type", "button"));
268
+ }, Y = (e) => {
269
+ if (!e.list) return;
270
+ let { _texts: t, list: n, multiple: r, options: i, values: a } = e;
271
+ m(n, "data-sr-of", t.of), m(n, p, `${r}`);
272
+ for (let e of i) $(e, a.includes(Q(e)));
273
+ }, X = (e) => {
274
+ if (!e.control || e.multiple) return;
275
+ let { control: t, items: n } = e, r = O(n[0]), i = r ? "insertText" : "deleteContentBackward";
276
+ r !== t.value && C(t, r, i);
277
+ }, Z = (e) => m(e, "label") ?? O(e), Q = (e) => m(e, "value") ?? O(e), $ = (e, t) => m(e, "selected", t ? "" : null), ve = (e) => e.selected ?? e.hasAttribute("selected");
278
+ S.define("u-combobox", U);
279
+ //#endregion
280
+ export { U as UHTMLComboboxElement, N as UHTMLComboboxShadowRoot, M as UHTMLComboboxStyle };
281
+
282
+ //# sourceMappingURL=u-combobox.js.map